Zoals hierboven al aangegeven werkt de computer alleen met nullen en enen. Om te laten zien dat het geen principieel verschil oplevert met bovenstaande werkwijze en dat alleen de getallen anders zijn, proberen we een voorbeeld te volgen in het binaire systeem.
Laten we de tekst "morgen bij paal 22" vertalen in binaire code.
De volgende tabel toont de binaire code per letter, spatie en cijfer:
De binaire code zal dus worden:
01101101 01101111 01110010 01100111 01100101 01101110 00100000 01100010 01101001 01101010 00100000 01110000 01100001 01100001 01101100 00100000 00110010 00110010
We kiezen nu de sleutel: crypto (binair wordt dat:
01100011 01110010 01111001 01110000 01110100 01101111)
en tellen het codewoord er bij op, zoals we dat ook deden bij de Vigenère-code, maar nu met een binaire optelling.
De binaire optelling bepaalt dat 0+0=0; 0+1=1; 1+0=1 en 1+1=0
Dat geeft het volgende effect:
c | r | y | p | t | o | c | r |
01100011 | 01110010 | 01111001 | 01110000 | 01110100 | 01101111 | 01100011 | 01110010 |
m | o | r | g | e | n | b | |
01101101 | 01101111 | 01110010 | 01100111 | 01100101 | 01101110 | 00100000 | 01100010 |
y | p | t | o | c | r | y | p |
01111001 | 01110000 | 01110100 | 01101111 | 01100011 | 01110010 | 01111001 | 01110000 |
i | j | p | a | a | l | ||
01101001 | 01101010 | 00100000 | 01110000 | 01100001 | 01100001 | 01101100 | 00100000 |
t | o | ||||||
01110100 | 01101111 | ||||||
2 | 2 | ||||||
00110010 | 00110010 |
Vervolgens tellen we de getallen op:
01100011 | 01110010 | 01111001 | 01110000 | 01110100 | 01101111 | 01100011 | 01110010 |
01101101 | 01101111 | 01110010 | 01100111 | 01100101 | 01101110 | 00100000 | 01100010 |
00001110 | 00011101 | 00001011 | 00010111 | 00010001 | 00000001 | 01000011 | 00010000 |
01111001 | 01110000 | 01110100 | 01101111 | 01100011 | 01110010 | 01111001 | 01110000 |
01101001 | 01101010 | 00100000 | 01110000 | 01100001 | 01100001 | 01101100 | 00100000 |
00010000 | 00011010 | 01010100 | 00011111 | 00000010 | 00010011 | 00010101 | 01010000 |
01110100 | 01101111 | ||||||
00110010 | 00110010 | ||||||
01000110 | 01011101 |
Voor degene die het bericht ondervangt en vertaalt staat er nu onzin:
00001110 | 00011101 | 00001011 | 00010111 | 00010001 | 00000001 | 01000011 | 00010000 |
00010000 | 00011010 | 01010100 | 00011111 | 00000010 | 00010011 | 00010101 | 01010000 |
01000110 | 01011101 |
Terugvertaald in ASCII-code staat er 14 29 11 23 17 1 67 16 16 26 84 31 2 19 21 80 70 93
De ontvanger telt opnieuw de sleutel bij de binaire reeks:
01100011 | 01110010 | 01111001 | 01110000 | 01110100 | 01101111 | 01100011 | 01110010 |
00001110 | 00011101 | 00001011 | 00010111 | 00010001 | 00000001 | 01000011 | 00010000 |
01101101 | 01101111 | 01110010 | 01100111 | 01100101 | 01101110 | 00100000 | 01100010 |
01111001 | 01110000 | 01110100 | 01101111 | 01100011 | 01110010 | 01111001 | 01110000 |
00010000 | 00011010 | 01010100 | 00011111 | 00000010 | 00010011 | 00010101 | 01010000 |
01101001 | 01101010 | 00100000 | 01110000 | 01100001 | 01100001 | 01101100 | 00100000 |
01110100 | 01101111 | ||||||
01000110 | 01011101 | ||||||
00110010 | 00110010 |
en vindt de binaire code van de klare tekst:
01101101 01101111 01110010 01100111 01100101 01101110 00100000 01100010 01101001 01101010 00100000 01110000 01100001 01100001 01101100 00100000 00110010 00110010
En de inbreker dan?
Als inbreker op de code krijg je volgende rij letters te zien: 14 29 11 23 17 1 67 16 16 26 84 31 2 19 21 80 70 93
Als je hier iets mee zou willen ondernemen, welke aanpak zou je dan kiezen?
Opgave 6
Versleutel de klare tekst hallo met het sleutelwoord david. Welke cijferreeks vind je als je de versleutelde tekst probeert terug te vertalen naar ASCII-code?