Asymmetrische encryptie

Eén massieve sleutel en drie omlijnde kopieën van een andersgevormde sleutel, rond hetzelfde hangslot.

Stel je koopt duizend identieke hangsloten, doet ze allemaal open en deelt ze uit aan iedereen die je kent. De enige sleutel die erop past, houd jij. Wil iemand je iets geheims sturen, dan legt hij het in een doosje, klikt er één van jouw hangsloten op en post het. Vanaf dat moment krijgt hij het zelf ook niet meer open — alleen jij. Zo'n slot bestaat niet van metaal. Van wiskunde wel, en het is iets anders dan wat je vorig hoofdstuk deed: daar spraken twee mensen samen een sleutel af, hier stuurt iemand jou rechtstreeks iets geheims zonder dat jullie ooit iets afgesproken hebben.

Woorden die je zo nodig hebt

Sleutelpaar
Twee sleutels die wiskundig bij elkaar horen en samen gemaakt worden. Wat de ene sluit, opent alleen de andere.
Publieke sleutel
Zo'n open hangslot. Daar deel je er zoveel van uit als je wil, en je mag hem gerust op je profiel zetten. Wie jou iets geheims stuurt, doet het in een doosje en klikt jouw hangslot erop.
Private sleutel
De enige sleutel die op al die hangsloten past. Die blijft bij jou, altijd, en zonder die sleutel gaat er geen enkel doosje meer open — ook niet voor wie het zelf dichtgeklikt heeft.
Asymmetrisch
Twee verschillende sleutels voor sluiten en openen. Het tegendeel van symmetrisch, waar het dezelfde sleutel is.
RSA
Het eerste systeem dat dit kon, uit 1977, genoemd naar de drie bedenkers Rivest, Shamir en Adleman. Het werkt met priemgetallen die honderden cijfers lang zijn.

Niet te verwarren met het vorige hoofdstuk

Allebei lossen ze hetzelfde ongemak op — geheim doen met iemand die je niet vooraf een sleutel kon geven — maar ze doen het op een andere manier, en dat verschil raakt iedereen door elkaar. Ook mensen die het zouden moeten weten.

Sleutels afspreken (hoofdstuk 5)Asymmetrisch versleutelen (hier)
Wat er gebeurtjullie komen samen op één geheim uitiemand versleutelt iets voor jou
Wie doet meeallebei, tegelijkde zender alleen; jij hoeft er niet te zijn
Wat je krijgteen gedeelde sleutel, waar je dan AES mee doeteen cijfertekst, meteen
Het sleutelpaarhoort bij die ene uitwisselingis van jou, en blijft van jou

Hoe het de rollen omdraait

Symmetrisch (hoofdstuk 4)Asymmetrisch (dit hoofdstuk)
Sleutelséén, en die moet je delentwee, en één mag iedereen zien
Vooraf afsprekenja, via een veilig kanaalniets
Snelheidbliksemsneltraag
Hoe groot mag het bericht zijn?onbeperktheel klein — kleiner dan de sleutel

Twee toepassingen, en het zijn niet dezelfde bewerking

Een sleutelpaar wordt op twee manieren gebruikt, en het is de moeite ze uit elkaar te houden — ze worden voortdurend verward, ook in leerboeken.

VersleutelenOndertekenen
Wie begintiedereen die jou iets wil sturenalleen jij
Met welke sleuteljouw publiekejouw private
Wie kan de andere kantalleen jij, met je privateiedereen, met jouw publieke
Dat heetontsleutelenverifiëren, niet ontsleutelen
Waarvoorgeheimhoudingbewijzen dat jij het was

De regel die je vaak hoort — "wat je met de ene sleutel versleutelt, kan je alleen met de andere ontsleutelen" — klopt niet. Ze gaat op voor kale RSA en verder nergens. Bij de systemen op elliptische krommen béstaat "versleutelen met de private sleutel" niet eens: een handtekening is een paar getallen waar het bericht niet meer uit te halen valt. Verifiëren is geen ontsleutelen, het is een vergelijking die klopt of niet klopt.

De regel die wél overal opgaat, is deze: de private sleutel doet iets wat alleen de houder kan doen; de publieke sleutel laat iedereen dat richten of controleren. Over ondertekenen gaat hoofdstuk 7.1.

Twee families, en een handvol namen

Er bestaan verschillende manieren om een sleutelpaar te maken. Twee ervan dragen bijna alles wat je vandaag gebruikt, en die krijgen elk een eigen stuk hierna.

FamilieRust opSleutel afsprekenOndertekenenVersleutelen
RSApriemgetallen ontbindenRSA-PSSRSA-OAEP
Elliptische krommenterugtellen op een krommeECDHECDSA, EdDSAzelden
Priemgetallen mod pde discrete logaritmeDH (hoofdstuk 5)DSA — afgevoerd
Roostersde kortste vector zoekenML-KEMML-DSA

Twee dingen vallen op in die tabel. Er is geen enkele familie die alles kan — elke kolom vraagt zijn eigen algoritme. En DSA staat er als afgevoerd: de Amerikaanse standaardisatiedienst NIST haalde het in 2023 uit de norm voor nieuwe handtekeningen, en liet het alleen staan om oude te blijven controleren. De onderste rij is de nieuwste en gaat over de quantumcomputer; daarover later meer.