Om een goed beeld te krijgen van hoe een algoritme nu precies werkt, ging ik op zoek naar een gedetailleerde beschrijving van eentje. Ik koos hierbij voor een asymmetrische, aangezien deze het ingewikkeldste en daardoor ook het interessantste zijn.
De keuze is gevallen op de RSA-beveiliging. Hiervan vond ik de volgende informatie:
RSA privacy encryption: Suppose Alice wants to send a message m to Bob. Alice creates the ciphertext c by exponentiating: c=me mod n,
where e and n are Bob’s public key. She sends c to Bob. To decrypt, Bob also exponentiates: m=cd mod n; the relationship between e
and d ensures that Bob correctly recovers m. Since only Bob knows d, only Bob can decrypt.
Aangezien dit behoorlijk ingewikkeld lijkt heb ik zelf een iets duidelijkere beschrijving gemaakt. Overigens werkt het in het echt zelfs nog iets ingewikkelder, maar dit is te lastig om duidelijk uit te leggen. Hierom zal ik mij beperken tot de voor velen waarschijnlijk toch al behoorlijk lastige basis.
Om te beginnen is het belangrijk te snappen hoe de basisprincipes in elkaar zitten. De ontvanger van de boodschap heeft een tweetal sleutels (in dit geval e en n) die public zijn, wat wil zeggen dat iedereen deze codes mag weten. Deze keys worden door de zender gebruikt om het bericht te coderen. Verder heeft de ontvanger ook nog een private key (in dit geval d), waarmee de via de public keys versleutelde boodschap weer te ontcijferen is.