Basic Security
cryptografie
CERTIFICATEN

Berekeningen met asymmetrische cryptografie

Er bestaan meerdere asymmetrische cryptografische algoritmes, waarvan RSA een veelgebruikt en het eerste praktisch toepasbare algoritme is. De naam “RSA” is afgeleid van de achternamen van de heren Rivest (eerder genoemd in verband met RC4), Shamir en Adleman, de bedenkers van het algoritme. RSA maakt gebruik van factoren en priemgetallen om een publieke en privésleutel te genereren en om cryptografische berekeningen uit te voeren.

Het volledig uitleggen van het RSA-algoritme is te uitgebreid voor deze context, maar om te begrijpen dat met een publieke sleutel gegevens kunnen worden versleuteld en vervolgens vrijwel onmogelijk kunnen worden ontsleuteld, is het waardevol om het basisprincipe te begrijpen. RSA berust op het principe dat het vrij eenvoudig is om twee priemgetallen (getallen die alleen deelbaar zijn door 1 en zichzelf, zoals 3, 17 en 83) met elkaar te vermenigvuldigen. Echter, het is bijna onmogelijk om vanuit het resultaat te achterhalen welke twee priemgetallen er oorspronkelijk zijn gebruikt. 

Zelfs voor mensen is het een uitdaging om te achterhalen welke twee priemgetallen je moet vermenigvuldigen om het getal 1653 te verkrijgen. Computers maken gebruik van priemgetallen die honderden cijfers lang zijn, en zelfs de snelste computers zouden duizenden jaren nodig hebben om terug te rekenen naar twee priemgetallen van die omvang.

 

 

Het getal 1653 kan worden geschreven als het product van bepaalde priemgetallen door de ontbinding in priemfactoren. Om deze ontbinding te vinden, moeten we 1653 delen door opeenvolgende priemgetallen tot we de ontbinding hebben.

Stap 1: Begin met 1653.
Stap 2: Zoek het kleinste priemgetal, 2, en probeer te delen: 1653 gedeeld door 2 is 826 met een rest van 1. Onthoud dat 2 geen priemfactor is van 1653, omdat het geen geheel deelbaar is.
Stap 3: Ga door naar het volgende priemgetal, 3, en probeer te delen: 1653 gedeeld door 3 is 551 zonder rest.
Stap 4: Nu hebben we 551 over. Ga verder met delen door opeenvolgende priemgetallen om te zien of er nog meer priemfactoren zijn. Als je verder probeert te delen, zul je merken dat 551 ook een priemgetal is, en het heeft geen andere priemfactoren.
Dus, de ontbinding van 1653 in priemfactoren is als volgt: 1653 = 3 * 551
Dit betekent dat 1653 kan worden geschreven als het product van de priemgetallen 3 en 551.

Een voorbeeld van een priemgetal van 100 cijfers:
3797522793694367392280887275544562785456553663819968358783325885220924120066184867826762046606791541

Stel je voor dat je probeert om priemgetallen van dit formaat te vermenigvuldigen. Het wordt al snel duidelijk hoe complex de berekeningen kunnen worden. Het is belangrijk op te merken dat dit slechts een vereenvoudigde weergave is van het RSA-algoritme, dat veel meer omvat dan alleen het vermenigvuldigen van twee getallen. Het RSA-algoritme maakt gebruik van dergelijke grote priemgetallen voor veilige cryptografische toepassingen, en het vereist geavanceerde wiskundige operaties om de beveiliging te waarborgen.