Symmetrische sleutelversleuteling versus openbare sleutelversleuteling
Cryptografie is de studie van het verbergen van informatie en wordt gebruikt bij communicatie via een niet-vertrouwd medium zoals internet, waar informatie moet worden beschermd tegen andere derden. Moderne cryptografie richt zich op het ontwikkelen van cryptografische algoritmen die gegevens kunnen versleutelen, zodat het moeilijk te breken is door een tegenstander vanwege de rekenhardheid (en kan daarom niet op een praktische manier worden verbroken). Versleuteling gebruikt een algoritme dat een cijfer wordt genoemd om gegevens te versleutelen en het kan alleen worden ontsleuteld met een speciale sleutel. Versleutelde informatie staat bekend als cijfertekst en het proces van het verkrijgen van de originele informatie (leesbare tekst) uit de cijfertekst staat bekend als decodering. Twee van de meest gebruikte versleutelingsmethoden zijn symmetrische sleutelversleuteling en openbare sleutelversleuteling. Symmetrische sleutelcryptografie omvat versleutelingsmethoden,waarbij zowel de afzender als de ontvanger dezelfde sleutel delen die wordt gebruikt om de gegevens te versleutelen. Bij cryptografie met openbare sleutels worden twee verschillende, maar wiskundig verwante sleutels gebruikt.
Wat is symmetrische sleutelversleuteling?
Bij symmetrische sleutelversleuteling (ook bekend als geheime sleutel, enkele sleutel, gedeelde sleutel, één sleutel of privésleutelversleuteling) delen zowel de afzender als de ontvanger dezelfde sleutel die wordt gebruikt voor zowel versleuteling als ontsleuteling van de gegevens. In feite kunnen de twee sleutels identiek of triviaal gerelateerd zijn (dwz er is een zeer eenvoudige transformatie vereist om tussen de twee te gaan). In het echte gebruik wordt een geheim gedeeld door twee of meer partijen dat kan worden gebruikt voor het onderhouden van een privéverbinding voor communicatie. AES (Advanced Encryption Standard) is een zeer populair algoritme dat behoort tot de familie van symmetrische sleutelcoderingsalgoritmen.
Wat is codering met openbare sleutels?
Bij Public Key Encryption worden twee verschillende maar wiskundig verwante sleutels gebruikt. Versleuteling met openbare sleutel versleutelt gegevens met de openbare sleutel van de ontvanger en kan niet worden ontsleuteld zonder een overeenkomende privésleutel te gebruiken. Met andere woorden, je hebt één sleutel nodig om te vergrendelen (versleuteling van de platte tekst) en een andere sleutel om te ontgrendelen (ontsleutelen van de cypertext). Belangrijk is dat de ene sleutel niet in de plaats van de andere kan worden gebruikt. Afhankelijk van welke sleutel wordt gepubliceerd, kan codering met openbare sleutels voor twee doeleinden worden gebruikt. Als de vergrendelingssleutel openbaar wordt gemaakt, kan dit systeem door iedereen worden gebruikt om privécommunicatie naar de houder van de ontgrendelingssleutel te sturen. Als het andersom is, maakt het systeem het mogelijk om documenten te verifiëren die door de eigenaar zijn vergrendeld. Versleuteling met een openbare sleutel is een asymmetrisch sleutelalgoritme. Maar slechts enkele asymmetrische sleutelalgoritmen hebben de speciale eigenschap dat ze de ene sleutel niet kunnen onthullen met de kennis van de andere. De asymmetrische sleutelalgoritmen met deze speciale eigenschap worden dus coderingsalgoritmen met openbare sleutels genoemd.
Wat is het verschil tussen symmetrische sleutelversleuteling en openbare sleutelversleuteling?
Het belangrijkste verschil tussen symmetrische sleutelcodering en codering met openbare sleutel is het feit dat symmetrische sleutelcodering dezelfde (privé, geheime) sleutel gebruikt voor codering / decodering, terwijl codering met openbare sleutel zowel een openbare als een privésleutel gebruikt. Beide partijen moeten de sleutel kennen bij symmetrische sleutelversleuteling, terwijl er geen vereiste is voor de openbare sleutelversleuteling. Alleen een van de sleutels is bij de codering met openbare sleutels bekend bij de twee partijen. Omdat hierdoor de noodzaak om uw privésleutel te delen (zoals bij symmetrische sleutelversleuteling) en het risico dat deze in gevaar wordt gebracht, niet meer hoeft te worden gedeeld, kan versleuteling met openbare sleutels in dit opzicht als veiliger worden beschouwd.
Maar een groot nadeel van codering met openbare sleutels is dat deze vele malen langzamer is dan codering met symmetrische sleutels. Symmetrische sleutelversleuteling is dus wellicht beter voor het versleutelen van grote hoeveelheden gegevens. Bovendien moeten coderingsalgoritmen met openbare sleutels een relatief sterkere sleutel gebruiken dan symmetrische codering om dezelfde sterkte te bereiken (om de eenvoudige reden dat één sleutel openbaar wordt gemaakt in cryptografie met openbare sleutels).