Verschlüsselung
Einführung
In der heutigen Zeit wird eigentlich beinahe alles verschlüsselt, was übers Internet übertragen wird.
Man spricht von asymmetrischen und symmetrischen Verschlüsselungsverfahren.
Bei einem asymmetrischen System werden zwei Passwörter verwendet. Eines ist der "Public Key" und das andere der "Private Key". Was mit dem Public Key verschlüsselt wurde, ist nur mit dem Private Key zu entschlüsseln und umgekehrt gilt das gleiche.
Bei einem symmetrischen Verschlüsselungssystem kommt nur ein Schlüssel zum Einsatz, der dann zum Verschlüsseln und Entschlüsseln verwendet wird.
Da das asymmetrische Verfahren sehr viel Rechenintensiver ist als das symmetrische, und das wiederum alleine praktisch nicht anwendbar ist, werden häufig beide Systeme in Kombination verwendet.
In der Praxis läuft das jetzt folgendermassen ab:
1. Client sendet seinen Public Key an den Server.
2. Server verschlüsselt den symmetrischen Schlüssel mit dem Public Key vom Client und sendet ihn zurück.
3. Client entschlüsselt symmetrischen Schlüssel mit dem eigenen Private Key.
Verfahren
Hier eine kleine Auswahl der verschiedenen Verfahren (natürlich gibt es noch andere).
Asymmetrische:
-RSA
-Diffie-Hellman
-Elgamal
Symmetrische:
-Twofish
-Blowfish
-Rijndael (AES)
-RC6
-DES
-Triple-DES
.NET
In .NET ist sowohl eine RSA wie auch eine Rijndael Implementierung vorhanden. RSA und Rijndael in Kombination ist ein quasi Standard. Eine Twofish Implementierung ist in .NET leider (noch) nicht vorhanden.
Mit den Klassen RSACryptoServiceProvider und RijndaelManaged
ist ein Schlüsselaustausch und die Verschlüsselung mit wenigen Zeilen Code möglich.
In der heutigen Zeit wird eigentlich beinahe alles verschlüsselt, was übers Internet übertragen wird.
Man spricht von asymmetrischen und symmetrischen Verschlüsselungsverfahren.
Bei einem asymmetrischen System werden zwei Passwörter verwendet. Eines ist der "Public Key" und das andere der "Private Key". Was mit dem Public Key verschlüsselt wurde, ist nur mit dem Private Key zu entschlüsseln und umgekehrt gilt das gleiche.
Bei einem symmetrischen Verschlüsselungssystem kommt nur ein Schlüssel zum Einsatz, der dann zum Verschlüsseln und Entschlüsseln verwendet wird.
Da das asymmetrische Verfahren sehr viel Rechenintensiver ist als das symmetrische, und das wiederum alleine praktisch nicht anwendbar ist, werden häufig beide Systeme in Kombination verwendet.
In der Praxis läuft das jetzt folgendermassen ab:
1. Client sendet seinen Public Key an den Server.
2. Server verschlüsselt den symmetrischen Schlüssel mit dem Public Key vom Client und sendet ihn zurück.
3. Client entschlüsselt symmetrischen Schlüssel mit dem eigenen Private Key.
Verfahren
Hier eine kleine Auswahl der verschiedenen Verfahren (natürlich gibt es noch andere).
Asymmetrische:
-RSA
-Diffie-Hellman
-Elgamal
Symmetrische:
-Twofish
-Blowfish
-Rijndael (AES)
-RC6
-DES
-Triple-DES
.NET
In .NET ist sowohl eine RSA wie auch eine Rijndael Implementierung vorhanden. RSA und Rijndael in Kombination ist ein quasi Standard. Eine Twofish Implementierung ist in .NET leider (noch) nicht vorhanden.
Mit den Klassen RSACryptoServiceProvider und RijndaelManaged
ist ein Schlüsselaustausch und die Verschlüsselung mit wenigen Zeilen Code möglich.

<< Home