Verschlüsselung

Das Austauschen von Angeboten zwischen zwei Parteien erfolgt über ein asymmetrisches Verschlüsselungsverfahren (RSA Verschlüsselung mit 1024 Bit Schlüssellänge). Hierbei wird ein Angebot an einen Empfänger mit dessen öffentlichen Schlüssel verschlüsselt und in connect abgelegt. Beim Empfang durch das connect kit wird das Angebot mit dem privaten Schlüssel entschlüsselt.

Code

Die Verschlüsselung erfolgt mit .NETs Standardbibliothek System.Security.Cryptography. Der Programmcode hierfür findet sich im connect kit unter Crypt.cs. Aufgerufen wird er wie folgt:

Erzeugung des Public/Private Key-Pairs

Crypt.CreateKeypair(AppPathHandler.getCombinedPath(Path.Combine("keys", "connect")));

Verschlüsselung

fileStream = Crypt.EncryptStream(file, theAttributes["publicKey"]);

Entschlüsselung

Decrypted = Crypt.DecryptStream(encryptedStream, thePrivateKeyContent);