Voorbereiden toets deel 2: Cryptografie

Les 9: XOR

We hebben geleerd dat 0 \oplus 0=0 en 1\oplus 1=0, 1\oplus 0=1 en 0\oplus 1= 1. Voor de getallen één en nul geldt dus dat als je deze XOR’t er één uitkomt als ze verschillend zijn.

Als je grotere getallen XOR’t schrijf je ze eerst als binaire getallen en XOR je ze componentsgewijs (eerst de eenheden, dan de cijfers rechts ervan, etcetera). Als de getallen verschillende lengtes hebben, voeg je aan de linkerkant nullen toe totdat ze even lang zijn.

Opdrachten

Vraag 24:
Bereken 37\oplus 52. Geef je antwoord als decimaal getal.

Uitwerking:

37 is 32+4+1 en is in binair dus 100101. 52 is 32+16+4 en is in binair dus 110100. Voor XOR helpt het om de cijfers onder elkaar te zetten en dan XOR te doen. Dat geeft hier:

110100
100101
010001

Dit laatste getal staat voor 16+1=17. Dat is dus het antwoord.

Vraag 25:
Bereken 82\oplus 13. Geef je antwoord als decimaal getal.

Uitwerking:

82 is 64+16+2 en is in binair dus 1010010. 13 is 8+4+1 en is in binair dus 1101. Aangezien de getallen niet even lang zijn, moeten we nullen voor de 13 toevoegen totdat de getallen wel even lang zijn. Dat geeft 0001101. Nu kunnen we ze weer onder elkaar zetten en XOR’en:

1010010
0001101
1011111

Dit laatste getal staat voor 64+16+8+4+2+1=95. Dat is dus het antwoord.

Als we woorden van dezelfde lengte versleutelen, doen we dat ook componentsgewijs. De eerste letter met de eerste letter, de tweede letter met de tweede letter, etcetera.

Vraag 26:
Bij deze vraag gebruiken we weer de omzetting van letters naar getallen uit de onderstaande tabel. Onderzoek welk woord BAL \oplus SOE is.

Uitwerking:
  • De B staat voor 1 en de S staat voor 18. In binair wordt dit 1\oplus 10010=10011 wat 19 is en de T voorstelt. De eerste letter van het antwoord is daarom de T.
  • De A staat voor 0 en de O voor een 14. Voor de tweede letter krijgen we dus 1110\oplus 0=1110 wat natuurlijk weer een 14 en een O is (want ergens 0 bij optellen verandert ook bij XOR niets).
  • Tot slot staat de L voor 11 en de E voor 4. In binair geeft dat 1011\oplus 100=1111. Dat is 15 en dus een P. Het antwoord van de vraag is dus TOP!

Vraag 27:
Gia versleuteld twee keer één van de woorden BOOM, HOEK, KANS, NORM, PUNT, RAND, RANG, REST, RING, TERM, UNIE of VLAK. Ze gebruikt twee keer dezelfde vierletterige code om het bericht met XOR (zoals in vraag 26) te versleutelen. Ze krijgt als antwoorden SXVR en STKE. Welke twee woorden zijn dit? De volgorde van de woorden hoef (en kun) je niet achterhalen.

Uitwerking:

De eerste twee letters zijn hetzelfde en het moet dus wel met een R beginnen. De tweede letters X (23=16+4+2+1) en T (19=16+2+1) verschillen alleen in het 4-digit. Dat betekent dat de oorspronkelijke woorden ook op het 4-digit moeten verschillen. Dat doen de A en de E. Dit betekent dat een van de woorden REST is en de andere RAND of RANG. We kijken nu naar de laatste letters om te kijken welke van de twee het is.

Die laatste letters zijn R (17=16+1) en E (4=4). Die verschillen op het 16-digit, 4-digit en 1-digit. Dat moeten de oorspronkelijke letters dus ook doen. De T is 19 (16+2=1) en de letter die op de 16-digit, 4-digit en 1-digit verschilt, is de letter die hoort bij 4+2=6 en dat is de G. Het zijn dus de woorden REST en RANG.