Unter Kryptographie versteht man die Ver- und Entschlüsselung von Informationen, die vor dem Zugriff Unbefugter geschützt werden sollen. Kryptographie wurde erstmals um 1900 v. Chr. im alten Ägypten eingesetzt, um geheime Botschaften mit vertauschten Hieroglyphen zu übermitteln. Ein Kryptoalgorithmus ist eine mathematische Gleichung, die dazu dient, Klartext zu verschlüsseln und unlesbar zu machen. Solche Algorithmen werden zur Datenverschlüsselung, zur Authentifizierung und für digitale Signaturen verwendet. Es gibt drei Arten der Kryptografie: Symmetrische Kryptosysteme: Der Sender verschlüsselt den Klartext mit demselben Schlüssel, den der Empfänger zur Entschlüsselung verwendet. Der chiffrierte Text wird an den Empfänger übermittelt und kann mit dem gemeinsamen Schlüssel dechiffriert werden, um den Klartext zu erhalten. Asymmetrische Kryptosysteme mit öffentlichem Schlüssel: In der Public-Key-Infrastruktur (PKI), die auch als asymmetrische Verschlüsselung bezeichnet wird, gibt es einen öffentlichen und den dazugehörigen privaten Schlüssel. Der öffentliche Schlüssel ist frei zugänglich, wohingegen der private Schlüssel geheim gehalten wird. Der öffentliche Schlüssel dient der Verschlüsselung von Informationen und der private Schlüssel wird zum Entschlüsseln verwendet. Die gebräuchlichsten asymmetrischen Kryptoalgorithmen sind RSA (Rivest-Shamir-Adleman) und ECC (Elliptic Curve Cryptography). Für TLS/SSL-Zertifikate werden häufig RSA-Schlüssel verwendet. Die empfohlene Länge dieser Schlüssel steigt kontinuierlich (z. B. von 1024 Bit auf 2048 Bit). Damit soll eine ausreichende kryptografische Stärke gewährleistet werden. Eine Alternative zu RSA ist die Elliptische-Kurven-Kryptografie (ECC). Dieses Verfahren bietet die gleiche Stärke mit kürzeren Schlüsseln und somit mehr Sicherheit bei geringeren Rechen- und Speicheranforderungen. Hashfunktion: Bei diesem Algorithmus wird aus dem Klartext ohne Schlüssel ein Wert fester Länge berechnet, aus dem der Klartext nicht zurückgewonnen werden kann. Hashfunktionen werden häufig zur Verschlüsselung von Passwörtern verwendet. Ein gebräuchlicher Hash-Algorithmus ist SHA-256.