14.4 Een voorbeeld

We zullen nu eerst een voorbeeld bekijken van RSA-encryptie en daarna een aantal opgaven maken met deze techniek. Hiervoor gebruiken we kleine priemgetallen die dus niet echt de gewenste graad van beveiliging geven, maar die het wel mogelijk maken om berekeningen uit te voeren met een eenvoudig rekenblad en te zien wat er gebeurt.

Reflectie

De vraag waarom de eenwegfunctie goed werkt is niet zo eenvoudig te beantwoorden. We maken immers gebruik van de inversen d en e bij een berekening modulo n
Wat is hier vreemd aan?

klik hier

 

Bob heeft de publieke sleutel {23,7387} Hoe kwetsbaar is deze sleutel?
De opdracht die Eve heeft om de geheime sleutel te achterhalen is om 7387 te ontbinden in priemfactoren.
Ze neemt een rekenblad en deelt 7387 door alle oneven getallen kleiner dan 7387(1/2)  86 tot er een heel getal gevonden wordt: al snel komt ze er achter dat 7387=83*89.
Nu kan ze K=(p-1)(q-1) berekenen: K=82*88=7216
Met de tabel van Euclides berekent ze nu de geheime sleutel:1255

 

Reflectie

Ga na dat 1255*23=1 mod 7216

klik hier

 

Wanneer je een bericht met RSA wilt vercijferen, zet je het bericht eerst om naar een bericht dat bestaat uit getallen. Je kunt bijvoorbeeld de ASCII-codes van de tekens van het toetsenbord nemen. Als we deze codes achter elkaar zetten en vervolgens opsplitsen in blokken van een bepaalde lengte, kunnen we deze blokken vercijferen met het RSA-algoritme. De lengte van deze blokken wordt zo gekozen dat 10l< n, maar niet al te veel kleiner, waarbij l de lengte van de blokken en n de modus.

 

Invuloefening

In dit voorbeeld geven we de letters van het alfabet hun rangnummer als code. De letter a is dus 00, de letter b 01, enz. 
Alice wil Bob het bericht "rsa" sturen.
Alice splitst de code in blokken van lengte 3 en vercijfert de blokken met de publieke sleutel(5183,17) van Bob.