Wat zijn cryptografische algoritmen?
Cryptografische algoritmen zijn reeksen processen of regels die worden gebruikt om berichten in een cryptografisch systeem te coderen en te ontcijferen. In eenvoudige bewoordingen zijn dit processen die gegevens beschermen door ervoor te zorgen dat ongewenste mensen er geen toegang toe hebben. Deze algoritmen hebben een breed scala aan toepassingen, waaronder het verzekeren van veilige en geverifieerde financiële transacties.
De meeste cryptografie-algoritmen maken gebruik van codering, waardoor twee partijen kunnen communiceren en voorkomen dat onbevoegde derden deze communicatie begrijpen. Encryptie transformeert leesbare onbewerkte tekst in iets onleesbaars, ook bekend als cijfertekst . De gecodeerde gegevens worden vervolgens gedecodeerd om ze te herstellen, waardoor ze voor de beoogde partij begrijpelijk worden. Zowel codering als decodering werken op basis van algoritmen.
Er zijn veel verschillende soorten cryptografische algoritmen, hoewel de meeste in een van de twee classificaties passen - symmetrisch en asymmetrisch. Sommige systemen gebruiken echter een hybride van beide classificaties. Symmetrische algoritmen, ook bekend als symmetrische sleutel of gedeelde sleutel algoritmen, werken door het gebruik van een sleutel die alleen bekend is bij de twee geautoriseerde partijen. Hoewel deze kunnen worden geïmplementeerd in de vorm van blokcoders of stroomcoders, wordt dezelfde sleutel gebruikt voor zowel het coderen als het decoderen van het bericht. De Data Encryption Standard (DES) en Advanced Encryption Standard (AES) zijn de meest populaire voorbeelden van symmetrische cryptografie-algoritmen.
Asymmetrische cryptografie-algoritmen vertrouwen op een paar sleutels - een openbare sleutel en een privésleutel. De openbare sleutel kan worden onthuld, maar om de gegevens te beschermen, moet de privésleutel worden verborgen. Bovendien moeten de gegevens worden versleuteld en ontsleuteld met de bijbehorende persoonlijke en openbare sleutels. Gegevens die zijn gecodeerd met de persoonlijke sleutel, moeten bijvoorbeeld worden gedecodeerd met de openbare sleutel en vice versa. RSA is een van de meest voorkomende voorbeelden van dit algoritme.
Symmetrische algoritmen zijn meestal veel sneller dan asymmetrische algoritmen. Dit hangt grotendeels samen met het feit dat slechts één sleutel nodig is. Het nadeel van systemen met gedeelde sleutels is echter dat beide partijen de geheime sleutel kennen. Aangezien het gebruikte algoritme bovendien het publieke domein is, is het eigenlijk de sleutel die de toegang tot de gegevens regelt. Om deze redenen moeten de sleutels worden beveiligd en relatief vaak worden gewijzigd om de veiligheid te waarborgen.
Hoewel cryptografische algoritmen worden gebruikt om beveiliging te bieden, zijn ze niet 100% onfeilbaar. Suboptimaal systeem kan worden geïnfiltreerd en gevoelige informatie kan hierdoor worden aangetast. Het rigoureus testen van de algoritmen is daarom, met name aan de hand van vastgestelde normen en geïdentificeerde zwakke punten, van vitaal belang om de grootst mogelijke beveiliging te waarborgen.