Entwickler-Ecke

Algorithmen, Optimierung und Assembler - Verständnis Frage: AES Cipher Modes


IsNull - Sa 24.07.10 17:31
Titel: Verständnis Frage: AES Cipher Modes
Hallo,


Ich habe ein Verständnisporblem mit dem cipher-mode XTS, wie er hier[1] [http://en.wikipedia.org/wiki/Disk_encryption_theory] beschrieben ist. Mein Ziel ist es, einen Datenbuffer zu entschlüsseln, der eben mit AES-XTS verschlüsselt wurde.
.NET hat ja eine Crypto-Lib, die vorhandenen Methoden enthalten aber XTS nicht.[2] [http://msdn.microsoft.com/en-us/library/system.security.cryptography.ciphermode.aspx]

Frage 1: Entspricht der CTS-Mode dem XTS? Wenn nein, kennt jemand implementierungen in C# dessen?

Frage 2: XTS arbeitet mit 2 Keys, die AES-Modes die ich kenne jedoch nur mit einem, dafür aber mit einem IV. Kann mir das jemand erläutern?


Grüsse

[1]http://en.wikipedia.org/wiki/Disk_encryption_theory
[2]http://msdn.microsoft.com/en-us/library/system.security.cryptography.ciphermode.aspx


Gammatester - Sa 24.07.10 18:21

Zu 1: Nein XTS <> CTS, XTS benutzt allerdings CTS intern. Vielleicht hilft Dir meine XTS-Implementation (allerdings in Pascal) weiter: http://home.netsurf.de/wolfgang.ehrhardt/crypt_de.html

Zu 2: XTS hat einen Haupt- und einen sogenannten 'Tweak'-Kontext, beide brauchen separate Schlüssel.


IsNull - Sa 24.07.10 18:55

Danke für die Info, dann werde ich mich wohl selber daran machen, das in C# zu implementieren. C Code habe ich bereits gefunden, ich werde den allerdings praktisch "abschreiben" müssen, da mir die Hintergründe fehlen, um XTS mithilfe der bereits existierenden AES Modes zu erstellen.

Wenn mir das gelungen ist, werde ich den C# Code veröffentlichen - wurde laut Google schon mehrfach gesucht und nicht gefunden... :)