Crypto++ lib und AES-256-GCM Mode

Moin,
ich nutze die Version 7.0.0 der Crypo++ [1] und habe sie auf Ubuntu mit dem im "build_essential" paket enthaltenen gcc-Compiler und Makefile compiliert bekommen.

Nun möchte ich einen Test der AES-256-GCM Implementierung starten, dazu gibt es eine Testimplementierung [2], welche sich ebenfalls auf Ubuntu fehlerfrei übersetzen lässt.

Mein Problem:
Ich habe versucht den Testvektor 5 einzutragen, scheitere daran aber. Kann mir dabei jemand helfen? Mich interessiert auch nur der Entschlüsselungspart.

[Edit]
System: Ubuntu 16.0.4. LTS x86
[/Edit]

Mein Versuch: Das Problem entsteht dann irgendwo beim Übersetzen. "Can't truncate 16 Byte to 32 Byte"..
Code:
[COLOR=#6A737D][FONT=-apple-system]KEY: 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f[/FONT][/COLOR]
[COLOR=#6A737D][FONT=-apple-system]IV:     101112131415161718191a1b[/FONT][/COLOR]
[COLOR=#6A737D][FONT=-apple-system]HDR:  000102030405060708090a0b0c0d0e0f10111213[/FONT][/COLOR]
[COLOR=#6A737D][FONT=-apple-system]PTX:  202122232425262728292a2b2c2d2e2f3031323334353637[/FONT][/COLOR]
[COLOR=#6A737D][FONT=-apple-system]CTX:  591b1ff272b43204868ffc7bc7d521993526b6fa32247c3c[/FONT][/COLOR]
[COLOR=#6A737D][FONT=-apple-system]TAG:  7de12a5670e570d8cae624a16df09c08[/FONT][/COLOR]

Code:
[COLOR=#24292E][FONT=SFMono-Regular]byte key[ 32] = {[/FONT][/COLOR]    
    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 
    0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f
		};
byte iv[ 12] = {
    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b
		};
string adata = "000102030405060708090a0b0c0d0e0f10111213";
string enc = "591b1ff272b43204868ffc7bc7d521993526b6fa32247c3c";
[COLOR=#24292E][FONT=SFMono-Regular]string mac = "7de12a5670e570d8cae624a16df09c08"; // 32 Byte, instead of 16[/FONT][/COLOR]

[1] Crypto++ Library 7.0 | Free C++ Class Library of Cryptographic Schemes

[2] https://www.cryptopp.com/w/images/3/3a/GCM-AEAD-Test.zip
 
Zuletzt bearbeitet:
Ein sehr seltsames Konstrukt, deren Funktionen nicht alle sorgfältig funktionieren. Ein HexDecoder muss korrekt angewandt werden (auf AAD, Cipher, Tag) wobei Cipher | Tag (angehängt) sein sollte. Dann klappt es.
 
Zurück
Oben