AES decodierung in C# Probleme

OP #4615469
Lesenswert?

Ich habe verschlüsselte Binär-Dateien. Es sind dabei immer jeweils 16 
Byte verschlüsselt.

Verschlüsselter Block ist z.B.:
81 AE 5A 76 2B FB 3E 0C E2 AE 94 DE 54 A7 A9 43

Der Key ist:
6B 40 35 8F 7E 05 92 71 38 0D 94 B4 BC BE F4 36

Ergebnis muss sein:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Gebe ich das ganze auf dieser Web-Seite ein:
http://aes.online-domain-tools.com/
spuckt der mir einwandfrei das Ergebnis raus. Meine Implementierung in 
C# leider nicht :( Hab schon etliches probiert, leider immer 
irgendwelche Zahlen, aber nicht das Ergebnis.

Mein Code (C# Visual Studio 2010):
1
byte[] Key = new byte[16] { 0x6B, 0x40, 0x35, 0x8F, 0x7E, 0x05, 0x92, 0x71, 0x38, 0x0D, 0x94, 0xB4, 0xBC, 0xBE, 0xF4, 0x36 };
2
byte[] IV = new byte[16] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
3
byte[] TestBlockIn = new byte[16] { 0x81, 0xAE, 0x5A, 0x76, 0x2B, 0xFB, 0x3E, 0x0C, 0xE2, 0xAE, 0x94, 0xDE, 0x54, 0xA7, 0xA9, 0x43 };
4
            
5
byte[] TestBlockDec = new byte[16];
6

7

8
Aes AESCrypto = Aes.Create();
9
AESCrypto.Mode = CipherMode.ECB;
10
AESCrypto.Key = Key;
11
AESCrypto.IV = IV;
12
AESCrypto.KeySize = 128;
13
AESCrypto.BlockSize = 128;
14
AESCrypto.Padding = PaddingMode.None;
15

16

17
ICryptoTransform decryptor = AESCrypto.CreateDecryptor(AESCrypto.Key, AESCrypto.IV);
18
decryptor.TransformBlock(TestBlockIn, 0, TestBlockIn.Length, TestBlockDec, 0);

Mit oder ohne IV macht auch kein Unterschied (also kein richtiges 
Ergebnis).

Was mich etwas wundert ist das ohne PaddingMode.None das Ergebnis 32 
Byte lang ist.
OP #4678105
Lesenswert?

Was für eine schwere Geburt.. Aber jetzt hab ich es endlich. Man muss 
darauf achten das KeySize und BlockSize VOR dem setzen des Keys 
geschieht. Sonst wird der Key mit Zufallszahlen (?) beschrieben.

1
Aes AESCrypto = Aes.Create();
2
AESCrypto.KeySize = 128;
3
AESCrypto.BlockSize = 128;
4
AESCrypto.Mode = CipherMode.ECB;
5
AESCrypto.Padding = PaddingMode.None;
6
AESCrypto.Key = Key;
7
AESCrypto.IV = IV;
(Firma: Torrox.de) #4678111
Lesenswert?

Jörg S. schrieb:
> Was für eine schwere Geburt.. Aber jetzt hab ich es endlich. Man muss
> darauf achten das KeySize und BlockSize VOR dem setzen des Keys
> geschieht. Sonst wird der Key mit Zufallszahlen (?) beschrieben.

Ja, Properties sind eine total tolle Idee ;-) Muss einem schon klar 
sein, dass hinter jeder Zuweisung auch ein Funktionsaufruf mit 
entsprechenden Seiteneffekten stecken kann.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren