aboutsummaryrefslogtreecommitdiffstats
path: root/src/tests/data/aead
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/data/aead')
-rw-r--r--src/tests/data/aead/ccm.vec43
-rw-r--r--src/tests/data/aead/eax.vec1460
-rw-r--r--src/tests/data/aead/gcm.vec44
-rw-r--r--src/tests/data/aead/ocb.vec48
-rw-r--r--src/tests/data/aead/siv.vec12
5 files changed, 1607 insertions, 0 deletions
diff --git a/src/tests/data/aead/ccm.vec b/src/tests/data/aead/ccm.vec
new file mode 100644
index 000000000..fcea4ea26
--- /dev/null
+++ b/src/tests/data/aead/ccm.vec
@@ -0,0 +1,43 @@
+[AES-128/CCM(8,2)]
+# RFC 3610
+Key = C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF
+Nonce = 00000003020100A0A1A2A3A4A5
+In = 08090A0B0C0D0E0F101112131415161718191A1B1C1D1E
+AD = 0001020304050607
+Out = 588C979A61C663D2F066D0C2C0F989806D5F6B61DAC38417E8D12CFDF926E0
+
+Key = C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF
+Nonce = 00000004030201A0A1A2A3A4A5
+In = 08090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
+AD = 0001020304050607
+Out = 72C91A36E135F8CF291CA894085C87E3CC15C439C9E43A3BA091D56E10400916
+
+# Crypto++
+Key = 40CFB7A62E88013BD6D3AFFCC191041E
+Nonce = 00B6A88ADF36912FDCA0F3A5AE
+AD = 88C0D9577DF763C8B6A88ADF3691DC4A8BCA94DD00000000
+In = 2C1BD036831C95496C5F4DBF3D559E72DE802A18
+Out = 89D8580340B626A0B6D4D013BF18F291B89646C8FD1F1F61A9FB4BB3
+
+[AES-128/CCM(10,2)]
+# RFC 3610
+Key = C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF
+Nonce = 0000000E0D0C0BA0A1A2A3A4A5
+In = 0C0D0E0F101112131415161718191A1B1C1D1E1F20
+AD = 000102030405060708090A0B
+Out = C0FFA0D6F05BDB67F24D43A4338D2AA4BED7B20E43CD1AA31662E7AD65D6DB
+
+[AES-128/CCM(16,2)]
+# NIST
+Key = 2EBF60F0969013A54A3DEDB19D20F6C8
+Nonce = 1DE8C5E21F9DB33123FF870ADD
+In =
+AD = E1DE6C6119D7DB471136285D10B47A450221B16978569190EF6A22B055295603
+Out = 0EAD29EF205FBB86D11ABE5ED704B880
+
+Key = 43C1142877D9F450E12D7B6DB47A85BA
+Nonce = 76BECD9D27CA8A026215F32712
+In = B506A6BA900C1147C806775324B36EB376AA01D4C3EEF6F5
+AD = 6A59AACADD416E465264C15E1A1E9BFA084687492710F9BDA832E2571E468224
+Out = 14B14FE5B317411392861638EC383AE40BA95FEFE34255DC2EC067887114BC370281DE6F00836CE4
+
diff --git a/src/tests/data/aead/eax.vec b/src/tests/data/aead/eax.vec
new file mode 100644
index 000000000..90b7e2903
--- /dev/null
+++ b/src/tests/data/aead/eax.vec
@@ -0,0 +1,1460 @@
+[AES-128/EAX(8)]
+Key = C61A0851AB4E515D11525B92E2B9D850
+Nonce = C825FC7C4D539DC74887CECC70884F37
+In =
+Out = 32E55CE0C3FAEA48
+
+Key = F956B879EC7F807F1FCB482B53623671
+Nonce = E64F90B4619D93137E6237929EABF297
+In = 60
+Out = 710DABD24D400F3B6B
+
+[AES-128/EAX]
+Key = C61A0851AB4E515D11525B92E2B9D850
+Nonce = C825FC7C4D539DC74887CECC70884F37
+In =
+Out = 32E55CE0C3FAEA48164B122C1BE22D85
+
+Key = F956B879EC7F807F1FCB482B53623671
+Nonce = E64F90B4619D93137E6237929EABF297
+In = 60
+Out = 710DABD24D400F3B6B284EA47F81EBBD26
+
+Key = 8A554F339FC29E76EAC079676463722F
+Nonce = 86B95FEDD6827A6EF8B17E6C4B2498D5
+In = A62B
+Out = C91C09BDD89CFC81AA4427FE8CD841B5BCAC
+
+Key = A3EADDED8E4A7476DC783312CC70F878
+Nonce = 8559F44BACCAE49D39DB6A77C1DCB065
+In = E67238
+Out = B0DC7388ADF2785A4B898443655C356695BACE
+
+Key = C1F38AD3298EA3DE3204BEC244866534
+Nonce = 43D1D9EF0769CE901A7F0943556D1B16
+In = 29D564D8
+Out = A11BF86AB2881AFBAAD85D2B8313203262BB0ADB
+
+Key = E9C35F70B9D294E9D78D904AEC528E99
+Nonce = EE28B45B0F136E06B7CD3D3D0D002EF6
+In = 37863FC2F1
+Out = 89296DEB6C1C3CEFD643926F474568D71C4D52305C
+
+Key = 84298DDF4FAB1B8C2608453F0FEB0BAD
+Nonce = 3035DB091BE6C0C3E3563B87DD5F8761
+In = 9678A48724FF
+Out = 2013CC564BF1077B300341089DCC23F4B20CA9B1B24F
+
+Key = C3D1651AB7A5DDB1E815FA3B91A2EF14
+Nonce = C49440F324F5F31DBBC46ABC96624B5A
+In = C6D04D01D2F78F
+Out = 67BF2D417058C7A26F446E13BA65171CA34AFEC3F842B1
+
+Key = A342F5559FB3E861BBB3DAD8CBC14964
+Nonce = 489EB99930FF1057C54AF33CE7A7238A
+In = 26C63A9C769DB4E7
+Out = 7A1BC9EEC765B7525AF601B682DF05B681818F6637A64EAA
+
+Key = D88CD2104394ECBE9AAA9F101B578DC6
+Nonce = 0CB244FA0D43A0CD101D5266C98EAFA1
+In = A6C0CD7D8555AC3C49
+Out = 1A75242A16FE656C43CE8F737F60FA78F95AD18BDCDD2B0E9C
+
+Key = 773704610639CFEFA6E1B30F589D7F14
+Nonce = 92BCF960D83B76F958E2E5AA616ECFD9
+In = 4215211D6CEC517F8925
+Out = FB8E6E2DFB3C7FD71DA2CE7041FA36E4357D81471DFB8754FBED
+
+Key = 33C0B5F4D5355A351E0C3D835E468705
+Nonce = D481CAAE6DED8823021919E31463D848
+In = EC23DAB61590F6E1FB49F4
+Out = 80F5426BE96A6F7076BFB5A24F080D1FCD687FB4CE1E911A532DAE
+
+Key = D7DF4487FAA7AA9FD485E16F25AA27EE
+Nonce = 266C313CF766C74CB289EA78C735289E
+In = 168A348A554CC29EC53D4AB0
+Out = 65397D2E8EA7E82E954EB36E0E3495781189FF5D2567EC7D3CA57225
+
+Key = 5DE8E05E68E4C3E8DDAFB5A2E0A6A92F
+Nonce = 400DFEA369E0B09935355A4B6C1B32CA
+In = CF635CE20D305584C11537C1E7
+Out = 023D683A14128FD01704F6A97ABE231B77C30D1209EA139EC60F0FAC6E
+
+Key = 19B889E617FADA6EBB6E264FFD6AF0D1
+Nonce = 1B72FA92A94F2C6B3F5D6812DF3D04F9
+In = 82287737559AC1EF31FDD382D4F2
+Out = D0B1B5C3C2339BAB6C4FE1E899613C70460E825515A4C12259D9ACAFAD0C
+
+Key = 2B488ECF950B2A8716FED085EA768A22
+Nonce = 7F4A7C9CB42F32CE2A388B6DC99D18F4
+In = 09C05A1D6AB2961AFB06BD429012AB
+Out = 14FC9EA106FC2B59595D02C746B59819D3A914D532402389CC4FD9D0573926
+
+Key = B5A870393560724B10918A377F7C28A0
+Nonce = E5F26301C19BDE0C99BC8DA8A052DA56
+In = 2168CAC31CCF37DD4BFEDD800FE4C532
+Out = 4F5777260F776D716DDF5BD445BF330E55B840842EEE4838D7057EC3E95F59E4
+
+Key = 485BAFDED6CFE581B4BDEC8ECE072F74
+Nonce = 48FE4CDC23B58E19B0C472F2099EC251
+In = A1A540CED8942569B2F5FA365942442CCF
+Out = DB409FE74B6CB54A7FCB00ECC6926D3CF8599767451E634D425C9C7C253CBD8DEA
+
+Key = 38704FDF0CF20334F749860D1F07F13F
+Nonce = 3E2B4E746157040C97757425E15B5419
+In = 81E320373A0E35360990AB4070678E6CE72F
+Out = 97659AC60D8B8EE21B98F954E9C56B72C088AE5F4CA39721797D1C053E8D69E21C4F
+
+Key = 93C41CA3886983F5C6F8FDF18FD5C0B3
+Nonce = E248A9343658F34C84E3CF537F650012
+In = 97D8CF240D88F651EEAFBF162BF082CF9B96AD
+Out = 0EAC8A7289E6B9E5C345BCBFC5A3084D0AE6CF14C9D6B0760A1DFFF31F71AB6C3CC88C
+
+Key = 3779FE6CCC7B03D2F7FDE0A37E5DE146
+Nonce = BA9F029AA2D995ECA82F2DDC3CBC7A73
+In = AC817C3EC75DBDBCDF03D6FB4ACF9A40340D8F9E
+Out = E26112BE7A99FECC557C3D53674E6E670F824FE7784EFCCFA40BC88D4F88B5A29902171D
+
+Key = 05E2FE7CE92A97444451D3C101C1406E
+Nonce = D333040B9C4D5BBCB8B7A6FA0593020A
+In = 8F7DB0EE7F6D12F29637694950206B5CE9424EED07
+Out = 70EA3A6F5DFA46723E4ED47BA1EE5E784DA0971146F0B532D28630453AC7CA713F1BE92923
+
+Key = 30B6CF4FA2DDAE8CD2FC6ACAA5302B77
+Nonce = EEF619A392FEAC7DB491E4591088C041
+In = 4EDEF8A9C660D2BECBA2B49CE509EBB6E567A47FA367
+Out = FB18B846F801571026BD501FFFE67E8D51D6AE9B8379A8676F65E2C7EE0D02E9FF9BBB23482C
+
+Key = 6EF35F1EDB02E4C384314A481487C28E
+Nonce = 1A690BCB595164BFB80580C57D93FFEC
+In = 814C87C4E33C797A93A77DB1F045996667A1C10D78123A
+Out = F5526447A82E275E9CAC44EDB940171F9123C3FDA7F55D8586CB574A00AFC12381F40964D096CD
+
+Key = D89BD6AD540771D3DD537431D18A59C8
+Nonce = C13544BF30DEC01564A03F0E2FE2A208
+In = 7FD5E1A1547E1628F736DC7CFEFA9A00E586E02AA98FA394
+Out = 2EF4299CF27B80976CE57AE89DD2FE554EB7F00D38345C60DB67CB9C88E078D581FB5A9F66D30688
+
+Key = 960065D92C1A8B61DDCC51B2218127C2
+Nonce = 41F0DAF7338AEF1317188EA9D6BF946C
+In = B234C341F0D5552F75A1C0C917B642B0F8E08C297B92BD31EA
+Out = 26B7CA59E71E9B7F866C2F04A0A3829E879E59E9232073E3201C3BFAE519F23654B17F07EDC8A20344
+
+Key = F982385DE22ED1592B1B697E262E81D5
+Nonce = 807E739C22372D98220E2CD58175A07A
+In = F67477FC490F530BC502AF52FD9D1BA4C49176EBE194B37249CB
+Out = 36B043B8C7B08E5B16A73F60C09EF517C14373919C028FE3B430FB61CCCDE8CC4B3266FA1AAA00B25D19
+
+Key = FFE4B7162C45A6EE3E0B1DA0257FFB5C
+Nonce = AE6247CF1E1B65506D3A02C22C341E2B
+In = 488E90C2F8642F621A615B362F67EB21BCD4963151D4B255F2325B
+Out = 39157652A4D31EF499708E065889FD3FAF9BB5C1D8CE98CAA4F62905D7070962979F403E1514CCE6BA8FB2
+
+Key = 739B15D6279FC651A4BC344C108E21C7
+Nonce = 3D4E26F58C06A10C93928E9F1BE0D08E
+In = 638B8AF02A05F6E3A8535AD5B7AF2C5FB83EDFAC7F8DF0820C895131
+Out = ACBA840ABC4086D65C676AD70F19532035DD4A724454518391BAF2CD1330BF920BCD19D470C5578D5004F9D1
+
+Key = D3396BA942CCD4B481B6A5CF23DC4E67
+Nonce = 491D4BA46EAEECDC998080AE07617ADA
+In = 9ED609612B72B5E2F04E6D377F436DCFE45B5163486EEB94A31487E1CC
+Out = A0C71029D7DC4FDA90B823AB12085ECE8592CD27B61743D5C6AF02663DCB3CB27958E4819DE2BEF9893EC06B7F
+
+Key = 586DF8D45569F007AB52BB204F2C5051
+Nonce = 7DCBBB5D0C934C483C378613EFD31F47
+In = 20EC7BE8711CB24261B375FD713002517B6ADF41D8EF3BA8EA3ED7B84C0B
+Out = 8F969FA4F9FBF293A6FDD11906DC4296EFB87EAD619CE701CBF60487F2C66BA6C281D2A8598E3AB405D1C5D0D725
+
+Key = 28D38A778749BE8DC41996BB847DB497
+Nonce = 805F380C9AF0D12FB9D94F9C433FE56B
+In = BDE3424FB4BF46067A5B09F76BE6F91203ABA18B3BB8C595C9071FE36AF048
+Out = D9F1D76E17891B94CACADD217C9D37F58EDC782CC5FB539F59F965A5C443F3965DB7E399467CEB05FB59AB1AD01804
+
+Key = 30B4BA7DEE8315E5D258AAFC8533960F
+Nonce = 7C23EC1F738DC912BF682164336B8D63
+In = 836569924C3AC998F64F43C5292C899A8A498CDDA350A1AA9F329E0EA5CB4A28
+Out = 869B404A038ECF556D4251C871EDA3F157983BA4D40974921D44D58AF951F007A5119534C399DA8593FBEABE60BD074F
+
+Key = D375C2513D2F96C69B0101ED7991A336
+Nonce = 26EA74FC47F422F5BA765FE1283591FC
+In = 6C89219F127DC76D45896C6A3B527890B5BD95473ED55D8026ADC6546A26B2D6B0
+Out = 392E84D3857017287A0A62701D45C2FB9A9949A1292A9C159443297A562CB89A364F85F422EAA7BF0C046D60B5F02B675A
+
+Key = 04886B4DA138C35117EAE18F96A82CDF
+Nonce = F96E9898BCD745FE810EF44A1181BD15
+In = 3997AA01FBF84919CD76B0DF279077ACC79D495042B89F4E3FAD42AAC9F6C9028D73
+Out = 6621F16BA0DAA99B85C34080B73A09B81A64DBC6EB9E237FDC3C773D41BBD2514CADE62633D626881F8685331B5A0A656711
+
+Key = 5406C6AD9840420F75B75FE6FECBCAE3
+Nonce = D78C863B545A82AD6A01A50F4BDD6E9F
+In = 50B5DA3F355434BE51D36199C8834F4193CAAAED89103664ED20A9A4F481F24436CC836B20B829728B8A0B530E5A94A1243E8EAD4FC4123CE4BBE0D83CD21C729EA0DDBE580630E3913B379F95CB40BA0ACE67599279957735754F71476CE4E50CC1A364C8D447590F7EF8A54A385F
+Out = B08CEE141F8B1822F2C1EE4E0651F8CDBCFC095768EAF76A5EF2F7F012DAA30EF7176B74264A92FBDD0E4E9CB475DBA651E1B51992716F059005C3F75022DC92093ADE8A275A796D387C13C11328F1F0031A36757CF5986002F27E537367A290365C026D58CA21413390E58B312F264D25E87B6CD94D13E048B694A19F8416
+
+Key = 8935B9BC21A19E542C16B0D8F8AE2D7F
+Nonce = 78D5A132853E1C1175ECE02AFBD1D084
+In = AF47A39628206AA2A9A4CC539AEF077B31DC9AE5437D4021F279441333ECE8E2338B785BABE2FE5587CAA821B9AF9DEA8C37CFCFB40FF0A6
+Out = 5E967714597273C7A8AA4F69314D2A1F75054F1110847DD421674F07FEA712BBB67BB45DFF9EE7264354D750D73E3C6A773DC7AFC2B88737CE4C215EC87FD4AB064707DD9B624436
+
+Key = DB82D133768464CB2D873E54FA2C8EF8
+Nonce = BBE7581AE1BF49DC010FA69E0546EAE0
+In = 2ED861F5F11D7D517C138AA01F61D0A007D000DB97CF5B2FD6AFE5E18558F4B33155A922722673EE3AFE8E595F5FFA672FFA42C6CA9DF6A04C
+Out = 147FDA2A8847B0265EF27976DF944F11BD0272021BB0269B787B6C8BE6782B214DF59BD16F569142460EE80B9B6F38C980F81098D5A4C018EF6A5CD84E4DBF931E623D74D3DDD8737B
+
+Key = 87D663970DBFC792C78915C3C4757899
+Nonce = 66A7C881A043BE46D7DDDB421A2A2CA1
+In = AFE2204DAC92FEF378DDB89A917B5A2AC94C22AD19E1EFD71EB97E4A877910375C308408C283FC3B60B4D5F12F2F1BF87B3DA6941F956B3D4FE9
+Out = 7AB5CAEC2D40209B3E4302BEA036D8536DC8D7E9D8FD23607421D122914B4E13E1658B9924916C3D0C6B39F4B0822A98A7A7789A4E59CDDD350BFE3E3193EBAC56303350B1D061910A9B
+
+Key = 2805F50D0582B00A28BD99650A3804E2
+Nonce = A15DA66012662AC6E94BC0B93DFA8865
+In = 638BC9B9EB565BFD0BFFC256464CD23F0035CC25E5FF8DA305A60C8E3C4D9F9FD86959C3BFB4C0CAB48320FACFF239CF
+Out = 22EC2594915889C9910FF444008035D42E90F31624F6D6790B1399FCED092BCBA4C68CB9F648D816A9391D8A292E4AFE20096D856F36A23D9F18D732E1645BDC
+
+Key = 656AFF6B9A28680BEF2658F7A88BCB5F
+Nonce = 6A43B623FE368BA438AEFE376699D9CB
+In = E6CB34ACA3A0D94429AFEA82BAB4FD9541A2ADCF5D053029FD70C7BE4D088233D4B6DF7757B9BB8068A502225AFFB89BA2
+Out = 824E5010A54C9DD6E08E0DB38A1B1DE2DD2197A00D094A0AD1F49A8D9ED6A01FD1DEDC021D595FC87B54CC74665FE75A2D873241D81F1163E6EBB948DE7A18438E
+
+Key = E2C905428F0608F292C3FE4BED132B78
+Nonce = 4C02F8A1754CE2CC8865037ED8E264BB
+In = 273DD7B96BB7A1CC9552E0EFAC43E5E58707BDF5D3CA309F7B313132F838E91F75C0D8E17779AD0CCC8DFB78D1E15D58E81A4EBBE47E5B60AF8C92A8C47BC7393BA01AB219C7BEE555BA5E269BBB7E83D6CC3FBA4B9A1AFA26ACA2EA276A23620A3E142305D3095A8D67802822FFABF8CBEAB31684CD11AA7AB394A11DB80427F6184BFBEB545678BBD6A0DDD54CD6A13689B7BB56C865D07CFA7299B276C1A88E0CA37A60F9F21BD093F8A5DFCE461557FED0AEC6367E4230F0DCE2669D8AF5A92D6F09276124F7F41C9CD3EBE3E942E1B9F0A7EF6FEA1F5FC601C6638BBB0CB92A15E08B39D78055735340563C8337F673DFE5
+Out = 4A0F85EDD82B4E39F9185ED4E585187B51D3326DBA5FCB83CB3ACD36327109F8CCE17CF5CD152DB941E3480AA22AFDC51562246CD99DE0423F6E9505349D547BC39343B06025EF76F4C6C301FE1917F391433BC8A7F67A007BB7E8A238D59F5A29C6B5519165B2E05E3D04493F5342E9E917C65088EF56E7C0A0A0703E3AB949F86D3ACDFF9EE70815CBBFB1ADBED7F2A2C565DECA76D99FA3941719236D7B572248D8A4B2FE8DEA33C7E909C132E3D107A625FCB2E088201F3AD33A37FB44114316FD7FF1B161777FEA4391E51D102D1884671B0AB994B8BDFA91AEE09105FB6BFE881FC4A67B8CEFE2E7E4DBAF844E896DFD1C4164243CB888765C58C1961117A6F062
+
+Key = 87A268D1650E08650328692CBC9930E9
+Nonce = 61EFA5A996D93EA8F7C68AF6BA653841
+In = 956B7E15A1BF4DC6A9CE6DE460513D43F45191E0D1997ECA88327B01487291DDDE10F27FCF3F45780EB35C6E0499B1F9EA43D9BBDC5785648A0066D273F7B05107A2D0D6E2154EF0C8AA5ECD430FC62E529FE92EF76F93816FF953E2F00333F8A603CE88191D78E1C7D6AE0BE57439381422660B91F98C01F2DFE3E3E317DB891AA91133C689158E5FC3994438D27C4CF4E35786DCE387CFC26AB2A5818D2E9C363FCFFDC8E48B27A8246CE0F6E82CEACB8370A866F777286229CEE3B6FC7FEC3C4FE90433742CDB9898BB8E80E7794C6AE9F4D0E16BF94394C7264AC3A636FFF52004289430042DC8BFBB48A73494111E88E2FFF3DB42
+Out = 308B1A08871C3FF57397A79639FD87A99EC36711A83FD2B3250247FD3125C7FC1681F6AD15B0230ADB4ACB9B3C735C287A2C530532BA1BF62DCC369D110B31C2DB627A75B5419B5177956E64FFCAD6C83A391B0C2023F11FB13066E6D49BFFE2FF12EE0FC05706C001401204FE70C739F0836F0175DD77AA37BC308737F7FD3396FF25C6D5E6BBC9487D79D4C3F69817940A9EFC4FDB3FF3BA85BD36B4F5788818B29530D3F0BE533FBFB9F175DAFBC920D5B5EEB62BA02F339A7501404E52BC9DE4BBF27702189731CBBB49BE2FBAFA43F3A79BF2DE147AF3C12CCBF2FC15CFA135F5EB4603A9C8158B78E600658C102EE637F77471E0F621F2EF8BDE7BB1131164DBFACB1C23
+
+Key = DC851BF2DD4E3963CF3ED171404FBD08
+Nonce = E4CD8527D23393DAEAD16133854B1661
+In = 169C8E816CAB0C159AEBF19C954B87089D29C5386B761D27A028DBBC2518F33BB481BC202DC836C7B327634872EB500F1415477F8B64A72B8D82E8B29BDBED4F5CAA708972A65026CDB46E3F9FBF4FB3D4963360FBDA8B885C733AF74E2747ABD1B734445D856A2A39D869D897B88B6C4FBECC4A9857D2F5CB0CEC193333C405EAF949477EB371B78BDB8F23931A8FE2D95B2C71B2FE667D0A53973E865B4371548CB8D23F2A89CA0518ED98337C7B0CD7A77D8AA6E407B0379EEEBDFA312E4EBDE721FC11AAC716C3B4AEF631290208D17F9277639A279A38165832478681056DA2017E4CC8940F7D4305AE6C07B63D8749B4EAE3
+Out = 93550CACF92B81F03129D4DA45D0B6A217202517FF34CACFF291D9FA51793F06D020E63F9E54042D0E1180E131C805D3C392603316D8B990006379C54F51506F8238D4EBF4F78AE95753D852AB7F0D974A16F374E20424B4E79EF83D3BF78A83DE23F50078CCEEB7C8CFD887AA6EF3ED004C4F1048A608C0EDFB8FE56862E533FB0BC90BB19175BA99CD747050F6DCBB229C3B11F89054B9A78A80FAECFF68211F1BDE2EEFFB2D690602478184E5C51B902C246DE285E15FEBD6AC0B7ECADFA9153F982434397AD0FB4DBE4DD5A1803234F00B0894C8019741F89665D3D51587792F5BD7142C739221A1C2D4A2C86BB8782F1CF7912C32C8D3A10BECB4C7AAF01DF64C2F90
+
+Key = 251AD494D64DAB08B66A96CB8C7876A6
+Nonce = F87A825C39326949EB19EE5BD30CCBF9
+In = E4BF7D594228D3CB4D7E9EC6397DB3325B61D7C1437D0634C62FC33D9B932B7F52A8D894D0AB601E29FEE4637B9795D7F96D983CEA9E70B0CD33EE68C619E718C1C0AD916B0DAF950B93F8872B8D5E24FAF660E494D095610483CACA9CB1E35D7190EEDD9D9E72A8316A2F5CF78D80F283E0D617B16B79B5EE437F8AF462E766F2D6438F74B538A51F670216F582087863DF90144A09C9394C48C340ABABA69D81E92DF59E659ABDCC9CD4C11FDC3A82BBCA9606D35F3F1FA7025F52AD06F02EEF1D238E82BE4B4E5A1F1079FC4AFBB71491BDE7F0FC0698FF65EAAC6BDADB5BF7FEE979BC34C81754D89050228C07361DC51D0EC123A6C088906DF46B484F624638DC036CA41AC07CAA109E3618D454DDF1629E14085F9C98CC900314DF665A17425D84E6774462225500586DD4AC4AC50EE8D9164775AF1306B227E51882FD5ADF814057C5A2791AA2D187767ED13B8CBA14A3018A521590043C751DBE72779EF3B8F5B95A6ED3FD3F5B73BD2CAF4AE6C3EDE84D3FFDDD43395360F8C5D896B9908B72EAF945E738A05BF6CD0A40B3CD2D9B1B6C98F8AFD24B10CA11E860CA78EB3C62E4814A1C22A512EFAF52A27C7F3E97EBD6909BA8DBAB72EC93D2B60BBDF26DA174B7BE965CD0850B232788A2651F8E3CAF29E48BD4577767292E72E720DF889497462AF317AFFF3AD787DC3CA66A7856935DE167B458CEDD8640C4A7204D3BB79366AAAA15A9E4EC30C129D72BA12DBFFE0E26B266F590ED35549455A1CF0C3535B7DF4B60C43791856068B002956F00A396B3098B43F6C0978A16395A226E8FD94DDA3A1112CB9672334774C8B6756B4C2874D76B6B9802F5AE3B4FD0A9DFAAF7B9E408CBAF9F3EE2E6B2AA9C2715E94F89C0BAF458BDEA06F839D7A2188199D265A19D1440DBF6268EA0C3B5B5AC053E6CBF33C57C1DCB7556A2176F23B0418851DE9C92BA92B848327BFDE727022694C259593E7624B3CCC7CA3BEA7A7C73CC5B0F5E15A2165DD4925ABCB95DE24D1F3BA65DB1CB117D92DBB97C5635EF2290FF80A5A1960275285D31E2BA132FD94ED636FFA1477D332336AF796B9F9BFC9E1BA13FB1A4B4DA01E6BCBBF9EB9448C1CA476212C49535FA45AE66E44962826403C115A775EFA85BAB635597F79D58C2E4BBD4A95009A395B70979006BFB646FBC79163269BF8D1422E2AB1A7F04DC64BFB00D0FB9B0A570BA1E70
+Out = C437723C80E3B32AEEBD6DDE08D614312CD3176E8BFA8650EAF3A34DAE3B72769F823BC48F88F42AFCBBBDDA0534E8D2C9BAB65A83939668C982A1CBC1B826B259D83FD6505381BA99B1C850D5EFB5D0DBB077F4AB021246366292971BE121C265BCAB722A6AB5B7CB7D55C91F9FD5B3BD59A8436250F17D110B5B2588F2DACC98EE60884436810570A61AF2D7A424D4D597004D175B650F9EDE8D254497490905E5AFFD31DBC4FAE7EEF180B07B7D9D2579C1A140F63F31B0A2847043FE6F98556A3F90DE4C28F858581F699ED3B6E3E554DD0FE91954FC067BABC6AC62E31457B299B9CF5E061A9B6ED628DFBDC164AFB6560847389EE0257A7CDE811292BC761E4D66D2CDEDD2C6DE0333CF8ED6682185AD5B6B1B05526338C6EF72D02A0346C4527CCB3B1E3484B83FC7AFC7BFA69B111980FDC53C70BE72F3BA7F8B51A363CD590A988AEECA67265C9BB813142F34D0B2FD20B06F39C4DE7A00D763E2B201D90A8FFCD199EDE60EFFFC0CABB648C1D7F15323F0E9BC13EABD1EBE99BCBF970D0AF2501826E37D222EF4D9AFAB22EE99972F2A97C84175AAA49ED2CEAF340213E29C7A88AF38F2CAD42C2AF49937262F3281B806E343AF3ED0C7535725A5AD0CACBEDF519F69CF820980169FD6DB67A165F3883216E227B07E3FACB1E27954FD1D08A2EC6472B0B1F7B0D6AFA2C616F6207E7A2C4444C6F952268BF73EDBEB4657AF472D08BAEAFB237F118EED6CACD80E24ABEAED97D1634367000778C0E095994798006D874999E542F5F479E08AD481D211A7A4D51D58CFDC374414F6810A5AE08573A34D914BE3176CE7C3699D83A06FB9D8585A03854CC38B8CFDF5CDD7C888790A04D2E7F2D22099A9120CE0C37390B9AD918AD0B41C4239D2BBBAB82B98E59920B173BCCDE0D48FF860F91216C4A7E68E05DAF7F53EB7641171D183C976C6B9CF1F57B2E48F88BD5E8F5558934245CBFBEE365A2D457B2EA5E6CD0F39AAA154692EB604B2A366B53C5893C04568BA98B4A0AFA8B6DB80C6D66E9C93DFFB1BE584ED1CC111D315823F25D6BFF9367EA584A3A0FC62788D7D385D0814E984E6EE556F83D01584C8DE0656DC2A89A08BBD268F0644C63B80A5BE57DEF71566B677596557D4C218DEC8A7D2611FE6FA07633C558FF372308F5D680C0F9858362C2B2B8C2989F19FD8411C10B6E37A647A07D0B1D5E681E25902C36231E9E5E812B623D9E72C23518F082EA48C
+
+# LTC tests follow
+
+Key = 000102030405060708090A0B0C0D0E0F
+Nonce =
+AD =
+In =
+Out = 9AD07E7DBFF301F505DE596B9615DFFF
+
+Key = 9AD07E7DBFF301F505DE596B9615DFFF
+Nonce = 00
+AD = 00
+In = 00
+Out = 4757C4AC75A42D05260AFA093ACD4499ED
+
+Key = 57C4AC75A42D05260AFA093ACD4499ED
+Nonce = 0001
+AD = 0001
+In = 0001
+Out = C4E226C5AB00325306772E6F6E4C8093F3D2
+
+Key = 26C5AB00325306772E6F6E4C8093F3D2
+Nonce = 000102
+AD = 000102
+In = 000102
+Out = 16177B852260F91F27898D4FC176E311F6E1D1
+
+Key = 852260F91F27898D4FC176E311F6E1D1
+Nonce = 00010203
+AD = 00010203
+In = 00010203
+Out = F09F68BE700766CA231643B5D60C3B91B1B700C1
+
+Key = 700766CA231643B5D60C3B91B1B700C1
+Nonce = 0001020304
+AD = 0001020304
+In = 0001020304
+Out = 8472705EDFAC4C3359326EEA4CF71FC03E0E0292F2
+
+Key = AC4C3359326EEA4CF71FC03E0E0292F2
+Nonce = 000102030405
+AD = 000102030405
+In = 000102030405
+Out = 14C25EB5FD0D8DBD749CA79CCF11C1B370F8C975858C
+
+Key = 8DBD749CA79CCF11C1B370F8C975858C
+Nonce = 00010203040506
+AD = 00010203040506
+In = 00010203040506
+Out = F6A37F60670A85AFBD1D5921557187504ADE61014C9622
+
+Key = AFBD1D5921557187504ADE61014C9622
+Nonce = 0001020304050607
+AD = 0001020304050607
+In = 0001020304050607
+Out = 1AACFEAE8FBAD83382F477325D6F76BB81940AE25F9801C2
+
+Key = 82F477325D6F76BB81940AE25F9801C2
+Nonce = 000102030405060708
+AD = 000102030405060708
+In = 000102030405060708
+Out = 069414324EC293697CB980E21C09CA129B69E9032D980A9DC5
+
+Key = B980E21C09CA129B69E9032D980A9DC5
+Nonce = 00010203040506070809
+AD = 00010203040506070809
+In = 00010203040506070809
+Out = D8174DE9A2FC92B7DA9C1E42CC58BA2C8BFD83806444EA29DB61
+
+Key = 1E42CC58BA2C8BFD83806444EA29DB61
+Nonce = 000102030405060708090A
+AD = 000102030405060708090A
+In = 000102030405060708090A
+Out = 2C087DEA30F8B7EE51099083DB400A080C4D43CAA6EC3F1085A923
+
+Key = 83DB400A080C4D43CAA6EC3F1085A923
+Nonce = 000102030405060708090A0B
+AD = 000102030405060708090A0B
+In = 000102030405060708090A0B
+Out = F36B93C272A703D3422C6A111370C3AF2F3392916364BBBCC2C62EC1
+
+Key = 1370C3AF2F3392916364BBBCC2C62EC1
+Nonce = 000102030405060708090A0B0C
+AD = 000102030405060708090A0B0C
+In = 000102030405060708090A0B0C
+Out = A0F33477BAE2E28E6747AA3193B626DC719528CAC65DB0EF94E35422CE
+
+Key = B626DC719528CAC65DB0EF94E35422CE
+Nonce = 000102030405060708090A0B0C0D
+AD = 000102030405060708090A0B0C0D
+In = 000102030405060708090A0B0C0D
+Out = FCF5193506052E8BFA095C1A5205F5BD02E0B3C91CC7D6FAAA8A9A76CE6A
+
+Key = F5BD02E0B3C91CC7D6FAAA8A9A76CE6A
+Nonce = 000102030405060708090A0B0C0D0E
+AD = 000102030405060708090A0B0C0D0E
+In = 000102030405060708090A0B0C0D0E
+Out = 3797D7F8599B8EEAB39C56241880DC0B70003E77146B903F06EF294FECD517
+
+Key = 0B70003E77146B903F06EF294FECD517
+Nonce = 000102030405060708090A0B0C0D0E0F
+AD = 000102030405060708090A0B0C0D0E0F
+In = 000102030405060708090A0B0C0D0E0F
+Out = C4BAD0E0356FFD369110C048D45D81BEDE7C2B1D83BE2CC8EA402ABE1038BB79
+
+Key = DE7C2B1D83BE2CC8EA402ABE1038BB79
+Nonce = 000102030405060708090A0B0C0D0E0F10
+AD = 000102030405060708090A0B0C0D0E0F10
+In = 000102030405060708090A0B0C0D0E0F10
+Out = AF5C358BD31CDCAC2F0EA5252F1C3BE1E42D700986F93B22DFE6695C2A243B4E42
+
+Key = 2D700986F93B22DFE6695C2A243B4E42
+Nonce = 000102030405060708090A0B0C0D0E0F1011
+AD = 000102030405060708090A0B0C0D0E0F1011
+In = 000102030405060708090A0B0C0D0E0F1011
+Out = 7DEF9056FBDAF491D7206B26B19DEF617AA1E71A7D00BE972D85C77931D7591B2151
+
+Key = E71A7D00BE972D85C77931D7591B2151
+Nonce = 000102030405060708090A0B0C0D0E0F101112
+AD = 000102030405060708090A0B0C0D0E0F101112
+In = 000102030405060708090A0B0C0D0E0F101112
+Out = 6E9B2C0A90BF9D38A6EA3B5D2B9B2D97F938EB5B483D7F15C39602C2918181E57DA341
+
+Key = 5B483D7F15C39602C2918181E57DA341
+Nonce = 000102030405060708090A0B0C0D0E0F10111213
+AD = 000102030405060708090A0B0C0D0E0F10111213
+In = 000102030405060708090A0B0C0D0E0F10111213
+Out = 7C5F68DEE9BBA3B04F11D5FC7C9C7FE6E8B5025C0AE6A12D37A9C10BB1A494E16705DC05
+
+Key = 0AE6A12D37A9C10BB1A494E16705DC05
+Nonce = 000102030405060708090A0B0C0D0E0F1011121314
+AD = 000102030405060708090A0B0C0D0E0F1011121314
+In = 000102030405060708090A0B0C0D0E0F1011121314
+Out = AF0A886BF673BC72045FC074F06A0176C96105E2E606B2DC9A2868C23F86D710E01E37E07B
+
+Key = 06B2DC9A2868C23F86D710E01E37E07B
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415
+AD = 000102030405060708090A0B0C0D0E0F101112131415
+In = 000102030405060708090A0B0C0D0E0F101112131415
+Out = 5F228A986DFE4301EDBAF07A02E114F1B30932995CD174EBF68627C78B1FD024A59B56B2A8FA
+
+Key = 74EBF68627C78B1FD024A59B56B2A8FA
+Nonce = 000102030405060708090A0B0C0D0E0F10111213141516
+AD = 000102030405060708090A0B0C0D0E0F10111213141516
+In = 000102030405060708090A0B0C0D0E0F10111213141516
+Out = 911322F60555118CBECD8DD82F186AC19514316E8D48BAB6A8BAF2F175CD0C71B63B1EF37E185E
+
+Key = B6A8BAF2F175CD0C71B63B1EF37E185E
+Nonce = 000102030405060708090A0B0C0D0E0F1011121314151617
+AD = 000102030405060708090A0B0C0D0E0F1011121314151617
+In = 000102030405060708090A0B0C0D0E0F1011121314151617
+Out = E7F52730CFB808EFDB376A5D5DF31A7EF8292DC5FC37E9BCBA2AD158A2D2E5CE01296402B592E1DB
+
+Key = BA2AD158A2D2E5CE01296402B592E1DB
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415161718
+AD = 000102030405060708090A0B0C0D0E0F101112131415161718
+In = 000102030405060708090A0B0C0D0E0F101112131415161718
+Out = B3F8D7CA47D8D86E94D670AFBAFA3B8D9E186C97DC029D4705709D2D2B9975D4729C19D4EAC430E65E
+
+Key = 709D2D2B9975D4729C19D4EAC430E65E
+Nonce = 000102030405060708090A0B0C0D0E0F10111213141516171819
+AD = 000102030405060708090A0B0C0D0E0F10111213141516171819
+In = 000102030405060708090A0B0C0D0E0F10111213141516171819
+Out = 7178FEC027AFADDC2C03518E75CF34D207CAC2EB1537A0DBA520A315F034CE5E66601444402520F55DE2
+
+Key = A315F034CE5E66601444402520F55DE2
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415161718191A
+AD = 000102030405060708090A0B0C0D0E0F101112131415161718191A
+In = 000102030405060708090A0B0C0D0E0F101112131415161718191A
+Out = FC230B2B8522F53459D0B968421469BBA7E683ACB0190393B2870F48679A78E470E175CF3D3E9B46CEDFCE
+
+Key = 48679A78E470E175CF3D3E9B46CEDFCE
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B
+AD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B
+In = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B
+Out = 35A641127C78C721ECDC50866C21637FDC9515E41CE60F09015EA7130062987222F6412B7AAF8A9ABF6FBF98
+
+Key = 0062987222F6412B7AAF8A9ABF6FBF98
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C
+AD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C
+In = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C
+Out = 3D42D6C113421743C08A6F682CFA0E517D5531BB66241C02EC4DCC26F7B1AAFE11FA2D6E0C870177DDD7F98FF0
+
+Key = B1AAFE11FA2D6E0C870177DDD7F98FF0
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D
+AD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D
+In = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D
+Out = DAD065B4669B7C59C8392D8E7BD7E64BC01CEFFF27E335B25A328D356F0E8973B9B9ECF26DAB58CCF0787EE928E5
+
+Key = 8973B9B9ECF26DAB58CCF0787EE928E5
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E
+AD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E
+In = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E
+Out = EBE626F9E241FD233D9781C359430C982667AA26921B62E98FAEC502C01B0B2AC0D7052A2CDCCE8E26FEA7595198AA
+
+Key = 2AC0D7052A2CDCCE8E26FEA7595198AA
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
+AD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
+In = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
+Out = 64D842B66796A797C2B4C6905742FDF2148FFC445E192F9E03B53810C082F7889778B345EC12D222DCC6DBABD2651750
+
+[Blowfish/EAX]
+
+Key = 0001020304050607
+Nonce =
+AD =
+In =
+Out = D8C4C23A6AC0B7B7
+
+Key = D8C4C23A6AC0B7B7
+Nonce = 00
+AD = 00
+In = 00
+Out = 2A5E0E4BDDB60772FB
+
+Key = 5E0E4BDDB60772FB
+Nonce = 0001
+AD = 0001
+In = 0001
+Out = 76957581B16CCC9C45F1
+
+Key = 7581B16CCC9C45F1
+Nonce = 000102
+AD = 000102
+In = 000102
+Out = EB14C86223A121CFA216C7
+
+Key = 6223A121CFA216C7
+Nonce = 00010203
+AD = 00010203
+In = 00010203
+Out = 5A5C809C4A47658796337D6A
+
+Key = 4A47658796337D6A
+Nonce = 0001020304
+AD = 0001020304
+In = 0001020304
+Out = 8BC2041181E1FBA8DBA00571FC
+
+Key = E1FBA8DBA00571FC
+Nonce = 000102030405
+AD = 000102030405
+In = 000102030405
+Out = 89C666F015FA2B4A76A0E699FCFE
+
+Key = 2B4A76A0E699FCFE
+Nonce = 00010203040506
+AD = 00010203040506
+In = 00010203040506
+Out = 86C1FA92484AF631B3B738A261D6F5
+
+Key = 31B3B738A261D6F5
+Nonce = 0001020304050607
+AD = 0001020304050607
+In = 0001020304050607
+Out = D1F401C145C9328B4C4A045EB489F59C
+
+Key = 4C4A045EB489F59C
+Nonce = 000102030405060708
+AD = 000102030405060708
+In = 000102030405060708
+Out = 70C9C7753698324A73AB298B5B20567EB4
+
+Key = AB298B5B20567EB4
+Nonce = 00010203040506070809
+AD = 00010203040506070809
+In = 00010203040506070809
+Out = A50D9D88DC101B6DC8D2529DFCBFD13B8E6C
+
+Key = 529DFCBFD13B8E6C
+Nonce = 000102030405060708090A
+AD = 000102030405060708090A
+In = 000102030405060708090A
+Out = 7CC2885C2BE79C44F28FF2566255022B40C81C
+
+Key = 566255022B40C81C
+Nonce = 000102030405060708090A0B
+AD = 000102030405060708090A0B
+In = 000102030405060708090A0B
+Out = 6902D58347C29250EE07981C34619AF18E14C690
+
+Key = 34619AF18E14C690
+Nonce = 000102030405060708090A0B0C
+AD = 000102030405060708090A0B0C
+In = 000102030405060708090A0B0C
+Out = AB6C3C4AD3EC45143392B642DAE6D2DD323DA175BB
+
+Key = E6D2DD323DA175BB
+Nonce = 000102030405060708090A0B0C0D
+AD = 000102030405060708090A0B0C0D
+In = 000102030405060708090A0B0C0D
+Out = 7065B28BA8AB67B2FB7B6D5E3FAFAEDCAA54F4B0772F
+
+Key = AEDCAA54F4B0772F
+Nonce = 000102030405060708090A0B0C0D0E
+AD = 000102030405060708090A0B0C0D0E
+In = 000102030405060708090A0B0C0D0E
+Out = CBBA14A74AD4ADC0EF036EDAE42D51F2BFFA4D81BAC034
+
+Key = F2BFFA4D81BAC034
+Nonce = 000102030405060708090A0B0C0D0E0F
+AD = 000102030405060708090A0B0C0D0E0F
+In = 000102030405060708090A0B0C0D0E0F
+Out = 60A315193F58144F5701D547C79FEEED912FDBDB05467DF5
+
+[RC5/EAX]
+
+Key = 0001020304050607
+Nonce =
+AD =
+In =
+Out = 169C7954341EF44D
+
+Key = 169C7954341EF44D
+Nonce = 00
+AD = 00
+In = 00
+Out = 22DABFDA9A0B0BA067
+
+Key = DABFDA9A0B0BA067
+Nonce = 0001
+AD = 0001
+In = 0001
+Out = 2E546A3D6D9AA5877C5A
+
+Key = 6A3D6D9AA5877C5A
+Nonce = 000102
+AD = 000102
+In = 000102
+Out = 2A6ECF2A34A3AF5DE8919E
+
+Key = 2A34A3AF5DE8919E
+Nonce = 00010203
+AD = 00010203
+In = 00010203
+Out = 9CC5F84FD3F673EDAF75E3B5
+
+Key = D3F673EDAF75E3B5
+Nonce = 0001020304
+AD = 0001020304
+In = 0001020304
+Out = FF5611756CCC647FAAC8D49BF1
+
+Key = CC647FAAC8D49BF1
+Nonce = 000102030405
+AD = 000102030405
+In = 000102030405
+Out = 74C939BEB31CC335999CCFE8F5FA
+
+Key = C335999CCFE8F5FA
+Nonce = 00010203040506
+AD = 00010203040506
+In = 00010203040506
+Out = 7976B6F7709B5F2A7969C5FD063A88
+
+Key = 2A7969C5FD063A88
+Nonce = 0001020304050607
+AD = 0001020304050607
+In = 0001020304050607
+Out = 421EEC50222761742C9BFB1EAC3C54A2
+
+Key = 2C9BFB1EAC3C54A2
+Nonce = 000102030405060708
+AD = 000102030405060708
+In = 000102030405060708
+Out = 6A4761CD266B1C0ECB3EA3CCEBC85FAC4E
+
+Key = 3EA3CCEBC85FAC4E
+Nonce = 00010203040506070809
+AD = 00010203040506070809
+In = 00010203040506070809
+Out = 7C09201098E764239A2E8043ABA9BF4D5AEE
+
+Key = 8043ABA9BF4D5AEE
+Nonce = 000102030405060708090A
+AD = 000102030405060708090A
+In = 000102030405060708090A
+Out = 8CE26277562F646DE33C88D72AED48895E3B40
+
+Key = D72AED48895E3B40
+Nonce = 000102030405060708090A0B
+AD = 000102030405060708090A0B
+In = 000102030405060708090A0B
+Out = 52150F44D37D121560DA87F658E865E22B485906
+
+Key = 58E865E22B485906
+Nonce = 000102030405060708090A0B0C
+AD = 000102030405060708090A0B0C
+In = 000102030405060708090A0B0C
+Out = BA0A73B45F93ECFBFC3AB3D8D0683D52FA47FB1A52
+
+Key = 683D52FA47FB1A52
+Nonce = 000102030405060708090A0B0C0D
+AD = 000102030405060708090A0B0C0D
+In = 000102030405060708090A0B0C0D
+Out = 96546CBE01054AD24CC95DB54724D80D0D530E5D1DDE
+
+Key = D80D0D530E5D1DDE
+Nonce = 000102030405060708090A0B0C0D0E
+AD = 000102030405060708090A0B0C0D0E
+In = 000102030405060708090A0B0C0D0E
+Out = 61E654BB18CD26FC36C09F874DC2C7C65884CB9D9FEC1E
+
+Key = C65884CB9D9FEC1E
+Nonce = 000102030405060708090A0B0C0D0E0F
+AD = 000102030405060708090A0B0C0D0E0F
+In = 000102030405060708090A0B0C0D0E0F
+Out = 1D77B8BF02CDEAB4A707C07628826D5BF18D1730C3D64701
+
+[RC6/EAX]
+
+Key = 000102030405060708090A0B0C0D0E0F
+Nonce =
+AD =
+In =
+Out = 1DF8B0B92A3F0C951C425AF4830E63FD
+
+Key = 1DF8B0B92A3F0C951C425AF4830E63FD
+Nonce = 00
+AD = 00
+In = 00
+Out = 1A8A2959EBBE90180999994DEB7036DB85
+
+Key = 8A2959EBBE90180999994DEB7036DB85
+Nonce = 0001
+AD = 0001
+In = 0001
+Out = 435D7EF00CB57DB7B4155DB530D75CE6B025
+
+Key = 7EF00CB57DB7B4155DB530D75CE6B025
+Nonce = 000102
+AD = 000102
+In = 000102
+Out = 08A6CF2ED6AF0F2D5BAB05F623D389480A01F2
+
+Key = 2ED6AF0F2D5BAB05F623D389480A01F2
+Nonce = 00010203
+AD = 00010203
+In = 00010203
+Out = A86E54D3FC69547C8BD922A5BF2F7B26C4D20F98
+
+Key = FC69547C8BD922A5BF2F7B26C4D20F98
+Nonce = 0001020304
+AD = 0001020304
+In = 0001020304
+Out = ED0822E4390007A3C6DEFC6C912C0E5B853B520368
+
+Key = 0007A3C6DEFC6C912C0E5B853B520368
+Nonce = 000102030405
+AD = 000102030405
+In = 000102030405
+Out = 7BEFC7FD4054D32C43A4D1086D57C5BCFAEE04EBC600
+
+Key = D32C43A4D1086D57C5BCFAEE04EBC600
+Nonce = 00010203040506
+AD = 00010203040506
+In = 00010203040506
+Out = 5235E58E79287CA27E9C781327C0FC7C55410EB0C828A9
+
+Key = A27E9C781327C0FC7C55410EB0C828A9
+Nonce = 0001020304050607
+AD = 0001020304050607
+In = 0001020304050607
+Out = CEB5EE99BE521F4D547F46383987F2A3582A81A3BCF9B280
+
+Key = 547F46383987F2A3582A81A3BCF9B280
+Nonce = 000102030405060708
+AD = 000102030405060708
+In = 000102030405060708
+Out = 0358B063D5F99C3770C0A73730512CDA6AD49599775D59EDA1
+
+Key = C0A73730512CDA6AD49599775D59EDA1
+Nonce = 00010203040506070809
+AD = 00010203040506070809
+In = 00010203040506070809
+Out = 434B9AEE07DFADD0A332499BD88881E558E09A8E822BE27D2496
+
+Key = 499BD88881E558E09A8E822BE27D2496
+Nonce = 000102030405060708090A
+AD = 000102030405060708090A
+In = 000102030405060708090A
+Out = D47849E650F350BB622D74638E37A84E7FAAF8F5D77F1B061773DC
+
+Key = 638E37A84E7FAAF8F5D77F1B061773DC
+Nonce = 000102030405060708090A0B
+AD = 000102030405060708090A0B
+In = 000102030405060708090A0B
+Out = 814592F568284085E79A024B9EB1405E8422FE50BC0D88D837A2C650
+
+Key = 9EB1405E8422FE50BC0D88D837A2C650
+Nonce = 000102030405060708090A0B0C
+AD = 000102030405060708090A0B0C
+In = 000102030405060708090A0B0C
+Out = 6F2B55EC91B591082053AF692EC48F91EF01AA43A1EE3B36D233DDD48B
+
+Key = C48F91EF01AA43A1EE3B36D233DDD48B
+Nonce = 000102030405060708090A0B0C0D
+AD = 000102030405060708090A0B0C0D
+In = 000102030405060708090A0B0C0D
+Out = 506CBDD2901838EE2F178B6953DA03778957F536509BFCA577B23A18F726
+
+Key = 03778957F536509BFCA577B23A18F726
+Nonce = 000102030405060708090A0B0C0D0E
+AD = 000102030405060708090A0B0C0D0E
+In = 000102030405060708090A0B0C0D0E
+Out = 446EE435D3D1848B51BB8C5F7BE4A11129EAEAADE534940546D43242A4C839
+
+Key = 1129EAEAADE534940546D43242A4C839
+Nonce = 000102030405060708090A0B0C0D0E0F
+AD = 000102030405060708090A0B0C0D0E0F
+In = 000102030405060708090A0B0C0D0E0F
+Out = FB9D2B150C42465B1685D8F069CC06DB41E2940F5DC63CB4E2FBEC25ED8A31E6
+
+Key = 41E2940F5DC63CB4E2FBEC25ED8A31E6
+Nonce = 000102030405060708090A0B0C0D0E0F10
+AD = 000102030405060708090A0B0C0D0E0F10
+In = 000102030405060708090A0B0C0D0E0F10
+Out = 9684F683260107BE8FEBBEE1D3EEDAA7BDBAE7C116F7FF96631F4ACEE95C65CEF3
+
+Key = BAE7C116F7FF96631F4ACEE95C65CEF3
+Nonce = 000102030405060708090A0B0C0D0E0F1011
+AD = 000102030405060708090A0B0C0D0E0F1011
+In = 000102030405060708090A0B0C0D0E0F1011
+Out = 5082B1FE48CD3AB58F63C2DCFDD4069AC73619AC7B8EE315CBB7131A283851B32266
+
+Key = 19AC7B8EE315CBB7131A283851B32266
+Nonce = 000102030405060708090A0B0C0D0E0F101112
+AD = 000102030405060708090A0B0C0D0E0F101112
+In = 000102030405060708090A0B0C0D0E0F101112
+Out = 8C72AE495B6F003A3C784D144E84E88885F78EFA4CEC023740A8D670E351FBCF62C1CB
+
+Key = FA4CEC023740A8D670E351FBCF62C1CB
+Nonce = 000102030405060708090A0B0C0D0E0F10111213
+AD = 000102030405060708090A0B0C0D0E0F10111213
+In = 000102030405060708090A0B0C0D0E0F10111213
+Out = 815D6361C7AE34C9D796ADF9C71ABC46AEF88BC99A1F7288C61A6623B9A82748137ED7CC
+
+Key = 9A1F7288C61A6623B9A82748137ED7CC
+Nonce = 000102030405060708090A0B0C0D0E0F1011121314
+AD = 000102030405060708090A0B0C0D0E0F1011121314
+In = 000102030405060708090A0B0C0D0E0F1011121314
+Out = 904A853E2E96BD2B85AAB3F5DFB900E9B3642EE6679AA90DBDD461CAD20495DCFBCB513DD2
+
+Key = 9AA90DBDD461CAD20495DCFBCB513DD2
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415
+AD = 000102030405060708090A0B0C0D0E0F101112131415
+In = 000102030405060708090A0B0C0D0E0F101112131415
+Out = 79D738A462F727B3D3C529ED999B6FDCCD991D1C5A4DBF0987BEDDE650D73CAE7D380FED3431
+
+Key = BF0987BEDDE650D73CAE7D380FED3431
+Nonce = 000102030405060708090A0B0C0D0E0F10111213141516
+AD = 000102030405060708090A0B0C0D0E0F10111213141516
+In = 000102030405060708090A0B0C0D0E0F10111213141516
+Out = B2DEFDB7D503A84E83155A04B8DE8C8DBB68C2FC475007B7CE900CF43CD518024123C76F6DA328
+
+Key = B7CE900CF43CD518024123C76F6DA328
+Nonce = 000102030405060708090A0B0C0D0E0F1011121314151617
+AD = 000102030405060708090A0B0C0D0E0F1011121314151617
+In = 000102030405060708090A0B0C0D0E0F1011121314151617
+Out = 9E723E15439E12F6C46DF8A309AE1E97B6FD18436259CFB0DF8B6E1E23512CC4CF5FF531A1908F69
+
+Key = DF8B6E1E23512CC4CF5FF531A1908F69
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415161718
+AD = 000102030405060708090A0B0C0D0E0F101112131415161718
+In = 000102030405060708090A0B0C0D0E0F101112131415161718
+Out = A7F0AD03CEBCC9202718AA164886E1026975306A664C5AC7A94A771BF8B9A4325705C85E5499FD98E9
+
+Key = 4A771BF8B9A4325705C85E5499FD98E9
+Nonce = 000102030405060708090A0B0C0D0E0F10111213141516171819
+AD = 000102030405060708090A0B0C0D0E0F10111213141516171819
+In = 000102030405060708090A0B0C0D0E0F10111213141516171819
+Out = A53A92AD1C6835F28E04EF591E783D36F3D76E489B31B87BEB7AAA263B52A6E6A043DE4D7029D4DC73F5
+
+Key = AA263B52A6E6A043DE4D7029D4DC73F5
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415161718191A
+AD = 000102030405060708090A0B0C0D0E0F101112131415161718191A
+In = 000102030405060708090A0B0C0D0E0F101112131415161718191A
+Out = 79BE3C38291A7F77E932C8A9DEAC08DE6442EA9B3895B101A14E7B33B84DE06342E675E019CD0237292ED0
+
+Key = 33B84DE06342E675E019CD0237292ED0
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B
+AD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B
+In = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B
+Out = FA108123C5A69571CFDFE8C3D00535121FDE3096DDC0D700F8F26A5A764025D7CA1A3F2C54D28956423B0C77
+
+Key = 764025D7CA1A3F2C54D28956423B0C77
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C
+AD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C
+In = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C
+Out = 36EC2D67FD977BD2B73DB6D8EB756B3EADA13690E1B6DFC12A4781B34B4BC6B38DE3B02283D92F4DF19A5C48C5
+
+Key = 4BC6B38DE3B02283D92F4DF19A5C48C5
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D
+AD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D
+In = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D
+Out = 96D3243C945905C9732B5927E46F00886D511463B38C86002FC26B65AB8C5B5511CDEC35687AB8425AB22D58B4F1
+
+Key = 5B5511CDEC35687AB8425AB22D58B4F1
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E
+AD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E
+In = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E
+Out = 9CF83B87BEA3374AF7722E999863E3DABB858B0383383EAC7757F5B80FD44B1E0CBC961940FDA93B73A92DACFD67F3
+
+Key = 1E0CBC961940FDA93B73A92DACFD67F3
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
+AD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
+In = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
+Out = CE3BC3C9FA5EF4AFE5272B3EDD24B1B003FED2C2E501528CFF44D3FABFF52CB4DC94FDDC78AAB2B7CAA1E1EF149AC355
+
+[Twofish/EAX]
+
+Key = 000102030405060708090A0B0C0D0E0F
+Nonce =
+AD =
+In =
+Out = DB0C02CB069E3773296D3BD4A87A381B
+
+Key = DB0C02CB069E3773296D3BD4A87A381B
+Nonce = 00
+AD = 00
+In = 00
+Out = 997D21D19E9C440F68E99F1F2EA2668694
+
+Key = 7D21D19E9C440F68E99F1F2EA2668694
+Nonce = 0001
+AD = 0001
+In = 0001
+Out = 0696EA590EC417C88E23FD23917F9ECFB0C6
+
+Key = EA590EC417C88E23FD23917F9ECFB0C6
+Nonce = 000102
+AD = 000102
+In = 000102
+Out = B9B08282D4C9B68DDB02C906496413E13A2D68
+
+Key = 82D4C9B68DDB02C906496413E13A2D68
+Nonce = 00010203
+AD = 00010203
+In = 00010203
+Out = D6B29D745BCE5CA4F662E883BF7FCAAE5FB2CE01
+
+Key = 5BCE5CA4F662E883BF7FCAAE5FB2CE01
+Nonce = 0001020304
+AD = 0001020304
+In = 0001020304
+Out = A59C9CB009CBFB04226D1029A7EC9D64A48A6729BE
+
+Key = CBFB04226D1029A7EC9D64A48A6729BE
+Nonce = 000102030405
+AD = 000102030405
+In = 000102030405
+Out = F4924FE3E3553D85B3900DECA0528C815F1447A1F209
+
+Key = 3D85B3900DECA0528C815F1447A1F209
+Nonce = 00010203040506
+AD = 00010203040506
+In = 00010203040506
+Out = 679C88D52FB519931C7A863C3701D8015FDBD8696C6C30
+
+Key = 931C7A863C3701D8015FDBD8696C6C30
+Nonce = 0001020304050607
+AD = 0001020304050607
+In = 0001020304050607
+Out = 26DA41C0D115375E7627E23E791A4DCB0FA5ED71B1ED2288
+
+Key = 7627E23E791A4DCB0FA5ED71B1ED2288
+Nonce = 000102030405060708
+AD = 000102030405060708
+In = 000102030405060708
+Out = 8FEC6EB7016AD2B178F65ED0286A724F0CB2EA317D5022B0D8
+
+Key = F65ED0286A724F0CB2EA317D5022B0D8
+Nonce = 00010203040506070809
+AD = 00010203040506070809
+In = 00010203040506070809
+Out = B5F22415B1334133C53187C4F3A8991BBB85984BC4D3305A5CF1
+
+Key = 87C4F3A8991BBB85984BC4D3305A5CF1
+Nonce = 000102030405060708090A
+AD = 000102030405060708090A
+In = 000102030405060708090A
+Out = 23E1D0ED2E820AFE7DA2FE100499F1093FAB2ECF73B643594E98E3
+
+Key = 100499F1093FAB2ECF73B643594E98E3
+Nonce = 000102030405060708090A0B
+AD = 000102030405060708090A0B
+In = 000102030405060708090A0B
+Out = 79519ABA91F46B8DAD6D5335FBDCD1FCDB20AB99135F28A714C6992F
+
+Key = FBDCD1FCDB20AB99135F28A714C6992F
+Nonce = 000102030405060708090A0B0C
+AD = 000102030405060708090A0B0C
+In = 000102030405060708090A0B0C
+Out = 5968D0B4198A0AAD3D0395018F781F22E2DA98F83398FCF911B2010057
+
+Key = 781F22E2DA98F83398FCF911B2010057
+Nonce = 000102030405060708090A0B0C0D
+AD = 000102030405060708090A0B0C0D
+In = 000102030405060708090A0B0C0D
+Out = 4E55B14432B601E3EF2EF567CB158BF6E53D7657E56EA3DA1BFD9C9EC06E
+
+Key = 8BF6E53D7657E56EA3DA1BFD9C9EC06E
+Nonce = 000102030405060708090A0B0C0D0E
+AD = 000102030405060708090A0B0C0D0E
+In = 000102030405060708090A0B0C0D0E
+Out = 6ED89651CE19B3DD1EE5C8780B5015131CFD657D32D4E1B35140ADDCA0E13A
+
+Key = 131CFD657D32D4E1B35140ADDCA0E13A
+Nonce = 000102030405060708090A0B0C0D0E0F
+AD = 000102030405060708090A0B0C0D0E0F
+In = 000102030405060708090A0B0C0D0E0F
+Out = 2295A968B4D072D12757756247554850F35FAC95C2AA4155450EAAA6E2E789B5
+
+Key = F35FAC95C2AA4155450EAAA6E2E789B5
+Nonce = 000102030405060708090A0B0C0D0E0F10
+AD = 000102030405060708090A0B0C0D0E0F10
+In = 000102030405060708090A0B0C0D0E0F10
+Out = F9B2AA2AA502EA79BBA0C5EAD932B8E1EE0ED81AA40B9BF39A9AAEDDDB7A04BEA6
+
+Key = 0ED81AA40B9BF39A9AAEDDDB7A04BEA6
+Nonce = 000102030405060708090A0B0C0D0E0F1011
+AD = 000102030405060708090A0B0C0D0E0F1011
+In = 000102030405060708090A0B0C0D0E0F1011
+Out = 385055F1C1C26C0472A504B4CD225DCA55FE24831680B56368231AC54227D737F582
+
+Key = 24831680B56368231AC54227D737F582
+Nonce = 000102030405060708090A0B0C0D0E0F101112
+AD = 000102030405060708090A0B0C0D0E0F101112
+In = 000102030405060708090A0B0C0D0E0F101112
+Out = 771529585C741A3F8B1C973709892F255A99EE2A132B4BF96FD5109DB04459103F5E84
+
+Key = 2A132B4BF96FD5109DB04459103F5E84
+Nonce = 000102030405060708090A0B0C0D0E0F10111213
+AD = 000102030405060708090A0B0C0D0E0F10111213
+In = 000102030405060708090A0B0C0D0E0F10111213
+Out = E7A2197D9FAA8AB8B303B5EC71AE34AD5EC5DD66CCAB6518371EC8E0A9E9EE4F7CA5878B
+
+Key = CCAB6518371EC8E0A9E9EE4F7CA5878B
+Nonce = 000102030405060708090A0B0C0D0E0F1011121314
+AD = 000102030405060708090A0B0C0D0E0F1011121314
+In = 000102030405060708090A0B0C0D0E0F1011121314
+Out = 279E54F755EAC6B57375B9EC4406E43DB3139D740C7B6F26F2C0ECC9F2DF4EDD7513E6E0B7
+
+Key = 7B6F26F2C0ECC9F2DF4EDD7513E6E0B7
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415
+AD = 000102030405060708090A0B0C0D0E0F101112131415
+In = 000102030405060708090A0B0C0D0E0F101112131415
+Out = 27816AA94CBA2BF98E49E595AF5B3FAD12BF1D6F1AC6D04876C5492D275F15C834E3CF794F0E
+
+Key = D04876C5492D275F15C834E3CF794F0E
+Nonce = 000102030405060708090A0B0C0D0E0F10111213141516
+AD = 000102030405060708090A0B0C0D0E0F10111213141516
+In = 000102030405060708090A0B0C0D0E0F10111213141516
+Out = B5658DC148855F68B282211D879F688F3C142FE555CF814539CDA8A65DB9047AAD76B421B81120
+
+Key = 4539CDA8A65DB9047AAD76B421B81120
+Nonce = 000102030405060708090A0B0C0D0E0F1011121314151617
+AD = 000102030405060708090A0B0C0D0E0F1011121314151617
+In = 000102030405060708090A0B0C0D0E0F1011121314151617
+Out = 72F0BD4F939C2C9B4FA734DCB0AE4FB9BD342BC8459ED2FECEA8469BC0457EBF3418C1114288C904
+
+Key = CEA8469BC0457EBF3418C1114288C904
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415161718
+AD = 000102030405060708090A0B0C0D0E0F101112131415161718
+In = 000102030405060708090A0B0C0D0E0F101112131415161718
+Out = 70568245E6E6BD5D11AD0C74030D7AE08BA05057DEA0FBF4AD71554FDE6B87477A51EE4499D78783D2
+
+Key = 71554FDE6B87477A51EE4499D78783D2
+Nonce = 000102030405060708090A0B0C0D0E0F10111213141516171819
+AD = 000102030405060708090A0B0C0D0E0F10111213141516171819
+In = 000102030405060708090A0B0C0D0E0F10111213141516171819
+Out = 8702D35BE07D7ADF70684046CC6C72FBBBF821E0BBCCBC97360133CC6FBFDA15E306919E0C3BB2E22BB6
+
+Key = 33CC6FBFDA15E306919E0C3BB2E22BB6
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415161718191A
+AD = 000102030405060708090A0B0C0D0E0F101112131415161718191A
+In = 000102030405060708090A0B0C0D0E0F101112131415161718191A
+Out = 0BA23F4A6174165D4A8BA80B7C875340B0F8B2A6967D34E106BC2200E6679496714236EECEC84B9AF3072E
+
+Key = 00E6679496714236EECEC84B9AF3072E
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B
+AD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B
+In = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B
+Out = B9E25ABA84C6BD95B5149E7616FE2E1D6FAACEAAD77A636C602791768D8AD0B9D4C709E1DA370EE01611482A
+
+Key = 8D8AD0B9D4C709E1DA370EE01611482A
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C
+AD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C
+In = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C
+Out = 74759711F6D542581F9F83498FB616638D092732BA07109BF4B5BE045C71A40DC777BD09F75362F7B20E0B7576
+
+Key = 71A40DC777BD09F75362F7B20E0B7576
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D
+AD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D
+In = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D
+Out = ADBF7E98926484BA2C7F6CD7CD9734FC19265F68AF3BFCAEB025F6296E378DF15B5F69B67F7DABE44E3666B55047
+
+Key = 8DF15B5F69B67F7DABE44E3666B55047
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E
+AD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E
+In = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E
+Out = 2DC26D449379997D110309B2A0DC2760FCE8CADB4B14ED580F86C70F69C9BAEFCB60EB2B25737E256BC76700B198EF
+
+Key = EFCB60EB2B25737E256BC76700B198EF
+Nonce = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
+AD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
+In = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
+Out = 2B1890EB9FC0B8293E45D42D2126F4072754AA54E220C853C5F20FBA86BE07951A1B15BBC287372FB9AF035FB124B6A1
+
+[SAFER-SK(10)/EAX]
+
+Key = 000102030405060708090A0B0C0D0E0F
+Nonce =
+AD =
+In =
+Out = 22D90A75BBA5F298
+
+Key = 22D90A75BBA5F29822D90A75BBA5F298
+Nonce = 00
+AD = 00
+In = 00
+Out = 3F98C31AB2DE61DE82
+
+Key = 98C31AB2DE61DE8298C31AB2DE61DE82
+Nonce = 0001
+AD = 0001
+In = 0001
+Out = 584DF4701D4A1A09928C
+
+Key = F4701D4A1A09928CF4701D4A1A09928C
+Nonce = 000102
+AD = 000102
+In = 000102
+Out = B9DEAD6E221A98505153DA
+
+Key = 6E221A98505153DA6E221A98505153DA
+Nonce = 00010203
+AD = 00010203
+In = 00010203
+Out = 06D4A6EB0E57C51B96BA13B6
+
+Key = 0E57C51B96BA13B60E57C51B96BA13B6
+Nonce = 0001020304
+AD = 0001020304
+In = 0001020304
+Out = 7B58B441CAE28CCF271F5D0A29
+
+Key = E28CCF271F5D0A29E28CCF271F5D0A29
+Nonce = 000102030405
+AD = 000102030405
+In = 000102030405
+Out = 7950E0D1EC242ACDDE6E38180C07
+
+Key = 2ACDDE6E38180C072ACDDE6E38180C07
+Nonce = 00010203040506
+AD = 00010203040506
+In = 00010203040506
+Out = 65A4F4E098D7C67DC1C9E9602BACF2
+
+Key = 7DC1C9E9602BACF27DC1C9E9602BACF2
+Nonce = 0001020304050607
+AD = 0001020304050607
+In = 0001020304050607
+Out = FEBE4E72BAA0848FC4607EA3F138BAD9
+
+Key = C4607EA3F138BAD9C4607EA3F138BAD9
+Nonce = 000102030405060708
+AD = 000102030405060708
+In = 000102030405060708
+Out = 9B7BD6D6D655985AA38B2C58A9530EA6AC
+
+Key = 8B2C58A9530EA6AC8B2C58A9530EA6AC
+Nonce = 00010203040506070809
+AD = 00010203040506070809
+In = 00010203040506070809
+Out = 60C92F925D147847020351E6F5F6DC996F84
+
+Key = 51E6F5F6DC996F8451E6F5F6DC996F84
+Nonce = 000102030405060708090A
+AD = 000102030405060708090A
+In = 000102030405060708090A
+Out = 7B40769370E651F64AA65474F1F8A8D3F4B9AF
+
+Key = 74F1F8A8D3F4B9AF74F1F8A8D3F4B9AF
+Nonce = 000102030405060708090A0B
+AD = 000102030405060708090A0B
+In = 000102030405060708090A0B
+Out = 7215832C2FB9C54DF7A9C6869BF9AEF14F9151D1
+
+Key = 9BF9AEF14F9151D19BF9AEF14F9151D1
+Nonce = 000102030405060708090A0B0C
+AD = 000102030405060708090A0B0C
+In = 000102030405060708090A0B0C
+Out = AD0F9C79008572AB8AE2466EFFF375D0583D921B69
+
+Key = F375D0583D921B69F375D0583D921B69
+Nonce = 000102030405060708090A0B0C0D
+AD = 000102030405060708090A0B0C0D
+In = 000102030405060708090A0B0C0D
+Out = C05076E2C330A0D25D7CEC80597F843C12F84B00A8E0
+
+Key = 843C12F84B00A8E0843C12F84B00A8E0
+Nonce = 000102030405060708090A0B0C0D0E
+AD = 000102030405060708090A0B0C0D0E
+In = 000102030405060708090A0B0C0D0E
+Out = D18F0563AB0278140B0CD9A9B07B34262B1688E16A171E
+
+Key = 262B1688E16A171E262B1688E16A171E
+Nonce = 000102030405060708090A0B0C0D0E0F
+AD = 000102030405060708090A0B0C0D0E0F
+In = 000102030405060708090A0B0C0D0E0F
+Out = 650747091F5C532EE37D2D78EE1EC6051BAC36144F9A0E8D
+
+[RC2/EAX]
+
+Key = 0001020304050607
+Nonce =
+AD =
+In =
+Out = D6CC8632EEE0F46B
+
+Key = D6CC8632EEE0F46B
+Nonce = 00
+AD = 00
+In = 00
+Out = 4CEA19572CB8970CB4
+
+Key = EA19572CB8970CB4
+Nonce = 0001
+AD = 0001
+In = 0001
+Out = 55373EDD3253F6D0C1A8
+
+Key = 3EDD3253F6D0C1A8
+Nonce = 000102
+AD = 000102
+In = 000102
+Out = 206FA620FA88F03F240D31
+
+Key = 20FA88F03F240D31
+Nonce = 00010203
+AD = 00010203
+In = 00010203
+Out = 17EE8B40702E8194F1FCBFDE
+
+Key = 702E8194F1FCBFDE
+Nonce = 0001020304
+AD = 0001020304
+In = 0001020304
+Out = 2A8928713631C5534786E15FB3
+
+Key = 31C5534786E15FB3
+Nonce = 000102030405
+AD = 000102030405
+In = 000102030405
+Out = 3A6AEDC7066B3C663A4081E1D243
+
+Key = 3C663A4081E1D243
+Nonce = 00010203040506
+AD = 00010203040506
+In = 00010203040506
+Out = 8BC5203947A6446AAC806C92BFBD6E
+
+Key = 6AAC806C92BFBD6E
+Nonce = 0001020304050607
+AD = 0001020304050607
+In = 0001020304050607
+Out = 2E0274BBE14D21A3CEB0E0CB73C3664C
+
+Key = CEB0E0CB73C3664C
+Nonce = 000102030405060708
+AD = 000102030405060708
+In = 000102030405060708
+Out = 9C4B292B0CF17E3A29F23CD535559023EC
+
+Key = F23CD535559023EC
+Nonce = 00010203040506070809
+AD = 00010203040506070809
+In = 00010203040506070809
+Out = 8E322734308F8566287746363D7EFC322821
+
+Key = 46363D7EFC322821
+Nonce = 000102030405060708090A
+AD = 000102030405060708090A
+In = 000102030405060708090A
+Out = C413C405767FF5F98E3667E7BA35D8F3678E7E
+
+Key = E7BA35D8F3678E7E
+Nonce = 000102030405060708090A0B
+AD = 000102030405060708090A0B
+In = 000102030405060708090A0B
+Out = D77806B7A218098B1569EADCBA67C306E5C0181B
+
+Key = BA67C306E5C0181B
+Nonce = 000102030405060708090A0B0C
+AD = 000102030405060708090A0B0C
+In = 000102030405060708090A0B0C
+Out = 4BE5EF74F9E9799A4D636FEA9F4C511C44ADBA4030
+
+Key = 4C511C44ADBA4030
+Nonce = 000102030405060708090A0B0C0D
+AD = 000102030405060708090A0B0C0D
+In = 000102030405060708090A0B0C0D
+Out = 7E19969170C2C8D8AEBA8C7FBC2C54CC6D466A2DF6DA
+
+Key = 54CC6D466A2DF6DA
+Nonce = 000102030405060708090A0B0C0D0E
+AD = 000102030405060708090A0B0C0D0E
+In = 000102030405060708090A0B0C0D0E
+Out = 2EF1CEDC1DD3403CF440FC5561BE3361C6FB277E93701F
+
+Key = 61C6FB277E93701F
+Nonce = 000102030405060708090A0B0C0D0E0F
+AD = 000102030405060708090A0B0C0D0E0F
+In = 000102030405060708090A0B0C0D0E0F
+Out = DE052719153EBACE9D7B19F52AC4282F4AC2A96F2FA8634C
+
+[DES/EAX]
+
+Key = 0001020304050607
+Nonce =
+AD =
+In =
+Out = 44048B7F240B6F5F
+
+Key = 44048B7F240B6F5F
+Nonce = 00
+AD = 00
+In = 00
+Out = 0A37009B7D4E09953A
+
+Key = 37009B7D4E09953A
+Nonce = 0001
+AD = 0001
+In = 0001
+Out = 03BABFD2FD7758961728
+
+Key = BFD2FD7758961728
+Nonce = 000102
+AD = 000102
+In = 000102
+Out = 37EE1016A6AF96DE888A19
+
+Key = 16A6AF96DE888A19
+Nonce = 00010203
+AD = 00010203
+In = 00010203
+Out = 07F44290100CA84AA0EDAA1D
+
+Key = 100CA84AA0EDAA1D
+Nonce = 0001020304
+AD = 0001020304
+In = 0001020304
+Out = 389EF0023B9614FB800A533268
+
+Key = 9614FB800A533268
+Nonce = 000102030405
+AD = 000102030405
+In = 000102030405
+Out = 3F4DBA8AA01CEFA6B55B7ED5E40F
+
+Key = EFA6B55B7ED5E40F
+Nonce = 00010203040506
+AD = 00010203040506
+In = 00010203040506
+Out = 8C7B837896EAE7C113CE8F664CE3D4
+
+Key = C113CE8F664CE3D4
+Nonce = 0001020304050607
+AD = 0001020304050607
+In = 0001020304050607
+Out = 7011D993D8EDB0C7B4C370A919F60497
+
+Key = B4C370A919F60497
+Nonce = 000102030405060708
+AD = 000102030405060708
+In = 000102030405060708
+Out = 0DEB30A31351B13D7B00ABC82DC5F3A1AF
+
+Key = 00ABC82DC5F3A1AF
+Nonce = 00010203040506070809
+AD = 00010203040506070809
+In = 00010203040506070809
+Out = 8D3897B2CBE323D6EE1C7A2D15627CA1441B
+
+Key = 7A2D15627CA1441B
+Nonce = 000102030405060708090A
+AD = 000102030405060708090A
+In = 000102030405060708090A
+Out = DBC002C817DEBFB419F94BD8EB87F86D6ACDEF
+
+Key = D8EB87F86D6ACDEF
+Nonce = 000102030405060708090A0B
+AD = 000102030405060708090A0B
+In = 000102030405060708090A0B
+Out = 17048E2976FA85AA849E9A80229FCD1C9D1E3B9C
+
+Key = 229FCD1C9D1E3B9C
+Nonce = 000102030405060708090A0B0C
+AD = 000102030405060708090A0B0C
+In = 000102030405060708090A0B0C
+Out = 30B989EF646544885A478AC198C1B7EB4F799105C8
+
+Key = C1B7EB4F799105C8
+Nonce = 000102030405060708090A0B0C0D
+AD = 000102030405060708090A0B0C0D
+In = 000102030405060708090A0B0C0D
+Out = 5C2E12A7F118A08D6FD585F9C839C358679FEE6FE7D7
+
+Key = C358679FEE6FE7D7
+Nonce = 000102030405060708090A0B0C0D0E
+AD = 000102030405060708090A0B0C0D0E
+In = 000102030405060708090A0B0C0D0E
+Out = 8D1A1E888BBB8648E638C4E74E11B8685E006C441448B8
+
+Key = 685E006C441448B8
+Nonce = 000102030405060708090A0B0C0D0E0F
+AD = 000102030405060708090A0B0C0D0E0F
+In = 000102030405060708090A0B0C0D0E0F
+Out = 93AE906B8BE4EAC8ED6D8F48F04A7AFF71DD7AF752FE28FB
+
+[TripleDES/EAX]
+
+Key = 000102030405060708090A0B0C0D0E0F1011121314151617
+Nonce =
+AD =
+In =
+Out = 8914311BB990B725
+
+Key = 8914311BB990B7258914311BB990B7258914311BB990B725
+Nonce = 00
+AD = 00
+In = 00
+Out = D82094EDC5D03E54B1
+
+Key = 2094EDC5D03E54B12094EDC5D03E54B12094EDC5D03E54B1
+Nonce = 0001
+AD = 0001
+In = 0001
+Out = FEE5781CFB0EBE3895CA
+
+Key = 781CFB0EBE3895CA781CFB0EBE3895CA781CFB0EBE3895CA
+Nonce = 000102
+AD = 000102
+In = 000102
+Out = DECF5E59918E8A5C4B459B
+
+Key = 59918E8A5C4B459B59918E8A5C4B459B59918E8A5C4B459B
+Nonce = 00010203
+AD = 00010203
+In = 00010203
+Out = BD583AAD2013BEEBEEA795A1
+
+Key = 2013BEEBEEA795A12013BEEBEEA795A12013BEEBEEA795A1
+Nonce = 0001020304
+AD = 0001020304
+In = 0001020304
+Out = 2BC01C6C780B1134DBBEAB5D3F
+
+Key = 0B1134DBBEAB5D3F0B1134DBBEAB5D3F0B1134DBBEAB5D3F
+Nonce = 000102030405
+AD = 000102030405
+In = 000102030405
+Out = 4D5EAF01A895AB4D17516ECBA50A
+
+Key = AB4D17516ECBA50AAB4D17516ECBA50AAB4D17516ECBA50A
+Nonce = 00010203040506
+AD = 00010203040506
+In = 00010203040506
+Out = AF229F90614480D3113C0A9D133CD4
+
+Key = D3113C0A9D133CD4D3113C0A9D133CD4D3113C0A9D133CD4
+Nonce = 0001020304050607
+AD = 0001020304050607
+In = 0001020304050607
+Out = BCA6F375DF4568E08E9EAEC8E77786BC
+
+Key = 8E9EAEC8E77786BC8E9EAEC8E77786BC8E9EAEC8E77786BC
+Nonce = 000102030405060708
+AD = 000102030405060708
+In = 000102030405060708
+Out = 575F34219E6DD8DB4CB40C75139E5D1860
+
+Key = B40C75139E5D1860B40C75139E5D1860B40C75139E5D1860
+Nonce = 00010203040506070809
+AD = 00010203040506070809
+In = 00010203040506070809
+Out = A199B8AC433B615EC96F774AF803698ADE3D
+
+Key = 774AF803698ADE3D774AF803698ADE3D774AF803698ADE3D
+Nonce = 000102030405060708090A
+AD = 000102030405060708090A
+In = 000102030405060708090A
+Out = 718A2975DD9A872A68AE103B9460F849CBA7FB
+
+Key = 3B9460F849CBA7FB3B9460F849CBA7FB3B9460F849CBA7FB
+Nonce = 000102030405060708090A0B
+AD = 000102030405060708090A0B
+In = 000102030405060708090A0B
+Out = AB38E148180F6E2FFBB96F91E3EE3B8FC50DADBC
+
+Key = E3EE3B8FC50DADBCE3EE3B8FC50DADBCE3EE3B8FC50DADBC
+Nonce = 000102030405060708090A0B0C
+AD = 000102030405060708090A0B0C
+In = 000102030405060708090A0B0C
+Out = EB10E0233507459D4A6C29EE808D90B46BB1EAB27E
+
+Key = 8D90B46BB1EAB27E8D90B46BB1EAB27E8D90B46BB1EAB27E
+Nonce = 000102030405060708090A0B0C0D
+AD = 000102030405060708090A0B0C0D
+In = 000102030405060708090A0B0C0D
+Out = EB48559C320DFB056C37458E19B59315F0C4AF8500EB
+
+Key = 9315F0C4AF8500EB9315F0C4AF8500EB9315F0C4AF8500EB
+Nonce = 000102030405060708090A0B0C0D0E
+AD = 000102030405060708090A0B0C0D0E
+In = 000102030405060708090A0B0C0D0E
+Out = 9E8C73EADA105749B5D8D97392EDC32E749EE66C1E6A16
+
+Key = 2E749EE66C1E6A162E749EE66C1E6A162E749EE66C1E6A16
+Nonce = 000102030405060708090A0B0C0D0E0F
+AD = 000102030405060708090A0B0C0D0E0F
+In = 000102030405060708090A0B0C0D0E0F
+Out = 600FA4149AF252C87B828C780AEFF8BC33D7D11DCDC19936
diff --git a/src/tests/data/aead/gcm.vec b/src/tests/data/aead/gcm.vec
new file mode 100644
index 000000000..572fa917f
--- /dev/null
+++ b/src/tests/data/aead/gcm.vec
@@ -0,0 +1,44 @@
+[AES-128/GCM]
+Key = 00000000000000000000000000000000
+Nonce = 000000000000000000000000
+In =
+Out = 58E2FCCEFA7E3061367F1D57A4E7455A
+
+Key = 00000000000000000000000000000000
+Nonce = 000000000000000000000000
+In = 00000000000000000000000000000000
+Out = 0388DACE60B6A392F328C2B971B2FE78AB6E47D42CEC13BDF53A67B21257BDDF
+
+Key = FEFFE9928665731C6D6A8F9467308308
+Nonce = 9313225DF88406E555909C5AFF5269AA6A7A9538534F7DA1E4C303D2A318A728C3C0C95156809539FCF0E2429A6B525416AEDBF5A0DE6A57A637B39B
+In = D9313225F88406E5A55909C5AFF5269A86A7A9531534F7DA2E4C303D8A318A721C3C0C95956809532FCF0E2449A6B525B16AEDF5AA0DE657BA637B39
+AD = FEEDFACEDEADBEEFFEEDFACEDEADBEEFABADDAD2
+Out = 8CE24998625615B603A033ACA13FB894BE9112A5C3A211A8BA262A3CCA7E2CA701E4A9A4FBA43C90CCDCB281D48C7C6FD62875D2ACA417034C34AEE5619CC5AEFFFE0BFA462AF43C1699D050
+
+Key = FEFFE9928665731C6D6A8F9467308308
+Nonce = CAFEBABEFACEDBADDECAF888
+In = D9313225F88406E5A55909C5AFF5269A86A7A9531534F7DA2E4C303D8A318A721C3C0C95956809532FCF0E2449A6B525B16AEDF5AA0DE657BA637B391AAFD255
+Out = 42831EC2217774244B7221B784D0D49CE3AA212F2C02A4E035C17E2329ACA12E21D514B25466931C7D8F6A5AAC84AA051BA30B396A0AAC973D58E091473F59854D5C2AF327CD64A62CF35ABD2BA6FAB4
+
+Key = FEFFE9928665731C6D6A8F9467308308
+Nonce = CAFEBABEFACEDBADDECAF888
+In = D9313225F88406E5A55909C5AFF5269A86A7A9531534F7DA2E4C303D8A318A721C3C0C95956809532FCF0E2449A6B525B16AEDF5AA0DE657BA637B39
+AD = FEEDFACEDEADBEEFFEEDFACEDEADBEEFABADDAD2
+Out = 42831EC2217774244B7221B784D0D49CE3AA212F2C02A4E035C17E2329ACA12E21D514B25466931C7D8F6A5AAC84AA051BA30B396A0AAC973D58E0915BC94FBC3221A5DB94FAE95AE7121A47
+
+Key = FEFFE9928665731C6D6A8F9467308308
+Nonce = CAFEBABEFACEDBAD
+In = D9313225F88406E5A55909C5AFF5269A86A7A9531534F7DA2E4C303D8A318A721C3C0C95956809532FCF0E2449A6B525B16AEDF5AA0DE657BA637B39
+AD = FEEDFACEDEADBEEFFEEDFACEDEADBEEFABADDAD2
+Out = 61353B4C2806934A777FF51FA22A4755699B2A714FCDC6F83766E5F97B6C742373806900E49F24B22B097544D4896B424989B5E1EBAC0F07C23F45983612D2E79E3B0785561BE14AACA2FCCB
+
+Key = 2B7E151628AED2A6ABF7158809CF4F3C
+Nonce = F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
+In = 006BC1BEE22E409F96E93D7E117393172AAE2D8A571E03AC9C9EB76FAC45AF8E5130C81C46A35CE411E5FBC1191A0A52EFF69F2445DF4F9B17AD2B417BE66C3710006BC1BEE22E409F96E93D7E117393172AAE2D8A571E03AC9C9EB76FAC45AF8E5130C81C46A35CE411E5FBC1191A0A52EFF69F2445DF4F9B17AD2B417BE66C3710006BC1BEE22E409F96E93D7E117393172AAE2D8A571E03AC9C9EB76FAC45AF8E5130C81C46A35CE411E5FBC1191A0A52EFF69F2445DF4F9B17AD2B417BE66C3710006BC1BEE22E409F96E93D7E117393172AAE2D8A571E03AC9C9EB76FAC45AF8E5130C81C46A35CE411E5FBC1191A0A52EFF69F2445DF4F9B17AD2B417BE66C3710006BC1BEE22E409F96E93D7E117393172AAE2D8A571E03AC9C9EB76FAC45AF8E5130C81C46A35CE411E5FBC1191A0A52EFF69F2445DF4F9B17AD2B417BE66C3710006BC1BEE22E409F96E93D7E117393172AAE2D8A571E03AC9C9EB76FAC45AF8E5130C81C46A35CE411E5FBC1191A0A52EFF69F2445DF4F9B17AD2B417BE66C3710006BC1BEE22E409F96E93D7E117393172AAE2D8A571E03AC9C9EB76FAC45AF8E5130C81C46A35CE411E5FBC1191A0A52EFF69F2445DF4F9B17AD2B417BE66C3710006BC1BEE22E409F96E93D7E117393172AAE2D8A571E03AC9C9EB76FAC45AF8E5130C81C46A35CE411E5FBC1191A0A52EFF69F2445DF4F9B17AD2B417BE66C3710006BC1BEE22E409F96E93D7E117393172AAE2D8A571E03AC9C9EB76FAC45AF8E5130C81C46A35CE411E5FBC1191A0A52EFF69F2445DF4F9B17AD2B417BE66C3710006BC1BEE22E409F96E93D7E117393172AAE2D8A571E03AC9C9EB76FAC45AF8E5130C81C46A35CE411E5FBC1191A0A52EFF69F2445DF4F9B17AD2B417BE66C3710006BC1BEE22E409F96E93D7E117393172AAE2D8A571E03AC9C9EB76FAC45AF8E5130C81C46A35CE411E5FBC1191A0A52EFF69F2445DF4F9B17AD2B417BE66C3710
+Out = BD70C168B0D4371B0A85B4B5D65D92569B17F9A3D0A25B9F608E2C34621CF4D37357845431E04E585CDAAD7527BF8A2426DEEF451320C78D5EF09F5B11A8B8C700CD329A3D4CDED92C20F6BF28CB3627681C5B0AF2B5692CC7EC9049008ACBBD127A9CD8DEF00425697E0BCF67E05AEE70EA1A5D7EE95E3B88FBAF3C196AAAECB73E09BDF057AF701A0242394BCC104FF4F75F15D287325FCFFDB7E7FF3A939A80A6A3A9D7570E6EF6AD0BBE6E291338938D2FEBBC7D5EE95CD73E752ACD48915DCAE0A0807E6F4B2ADADBD945667318264EF7D8C2ECC0B8FB67A43614C5F5EA51CADD4AEE91DC371A7FC5A3B4581D1D9DD99608CD2BB0338F82933C19F5B8EBAD6BBA583835FBD29136302BAC163F86CA9E3E6F3B5BFDEFAB3E4B019190AE2EBC0B71034EA9BF882879139FFE76DD997F6729425F3D5C5392762C245769D18CC963C92211B71F564203AFBF68626C0833031D449B02DFA5C0F09FAFCE951FE35F4AD8122AB682A4AF28931113F75615E12DB05DD9247973F1C6057666848C13EDE41192F38948366D468D84CAF896EFF724082D2BAB2376E2813B41A014999B0EE7377758715D9554926AB3514EEB96A0ABD501D94A05692D858190D5AD307CEB6E6C8A63841A8257BEC2527C4B937840AA51292E15834AB801F0275A6A4B1B6E969B7A7FCE217D6F823CDE1760F847E8F46CBDE152A24F2319EC2A7089D2954259D30332089FF928034391D1B0B8AFD7C8A5D4F8E0DAB5883CA7D581F78E4848DC3B01E5F2A5C01BA8910D0F144BC494E29450271174B866868EE8DC6B0DD396ED9D72F83DE3BB6DE6FEBC64178961E011D0D746C2CE3A0FBD05CDF8FA79AC03E94C88368BD903E1427FCFC30C9D100E220B4CB9B7BA242DA49D334E930B6C4EB877D1DF2C0F8CF4AF7813E2F29592970719846FC52A47FCE6E71DC5E58FC5F49C91BDE56B7A2A68CFA994D6BFA5357A8403A2B37C69A6A0A435E4AB4C9E450473AF0CDFDBCC238A2DD74FEA89D75727E82B3A9F9EEB5E217A3E
+
+[AES-128/GCM(8)]
+Key = 00000000000000000000000000000000
+Nonce = 000000000000000000000000
+In =
+Out = 58E2FCCEFA7E3061
diff --git a/src/tests/data/aead/ocb.vec b/src/tests/data/aead/ocb.vec
new file mode 100644
index 000000000..63f3143d2
--- /dev/null
+++ b/src/tests/data/aead/ocb.vec
@@ -0,0 +1,48 @@
+[AES-128/OCB]
+# From CFRG i-d 03
+Key = 000102030405060708090A0B0C0D0E0F
+Nonce = 000102030405060708090A0B
+In =
+Out = 197B9C3C441D3C83EAFB2BEF633B9182
+
+Key = 000102030405060708090A0B0C0D0E0F
+Nonce = 000102030405060708090A0B
+In = 0001020304050607
+Out = 92B657130A74B85A971EFFCAE19AD4716F88E87B871FBEED
+
+Key = 000102030405060708090A0B0C0D0E0F
+Nonce = 000102030405060708090A0B
+In = 000102030405060708090A0B0C0D0E0F
+Out = BEA5E8798DBE7110031C144DA0B2612213CC8B747807121A4CBB3E4BD6B456AF
+
+Key = 000102030405060708090A0B0C0D0E0F
+Nonce = 000102030405060708090A0B
+In = 000102030405060708090A0B0C0D0E0F1011121314151617
+Out = BEA5E8798DBE7110031C144DA0B26122FCFCEE7A2A8D4D486EF2F52587FDA0ED97DC7EEDE241DF68
+
+Key = 000102030405060708090A0B0C0D0E0F
+Nonce = 000102030405060708090A0B
+In = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
+Out = BEA5E8798DBE7110031C144DA0B26122CEAAB9B05DF771A657149D53773463CB4A3BAE824465CFDAF8C41FC50C7DF9D9
+
+Key = 000102030405060708090A0B0C0D0E0F
+Nonce = 000102030405060708090A0B
+In = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
+Out = BEA5E8798DBE7110031C144DA0B26122CEAAB9B05DF771A657149D53773463CB68C65778B058A635060C8467F4ABAB5E8B3C2067A2E115DC
+
+Key = 000102030405060708090A0B0C0D0E0F
+Nonce = 000102030405060708090A0B
+In = 7595C3E6114A09780C4AD452338E1FFD9A1BE9498F813D76533449B6778DCAD8C78A8D2BA9AC66085D0E53D59C26C2D1C490C1EBBE0CE66D1B6B1B13B6B919B847C25A91447A95E75E4EF16779CDE8BF0A95850E32AF9689444FD377108F98FDCBD4E726567500990BCC7E0CA3C4AAA304A387D20F3B8FBBCD42A1BD311D7A4303DDA5AB078896AE80C18B0AF66DFF319616EB784E495AD2CE90D7F772A81747B65F62093B1E0DB9E5BA532FAFEC47508323E671327DF9444432CB7367CEC82F5D44C0D00B67D650A075CD4B70DEDD77EB9B10231B6B5B741347396D62897421D43DF9B42E446E358E9C11A9B2184ECBEF0CD8E7A877EF968F1390EC9B3D35A5585CB009290E2FCDE7B5EC66D9084BE44055A619D9DD7FC3166F9487F7CB272912426445998514C15D53A18C864CE3A2B7555793988126520EACF2E3066E230C91BEE4DD5304F5FD0405B35BD99C73135D3D9BC335EE049EF69B3867BF2D7BD1EAA595D8BFC0066FF8D31509EB0C6CAA006C807A623EF84C3D33C195D23EE320C40DE0558157C822D4B8C569D849AED59D4E0FD7F379586B4B7FF684ED6A189F7486D49B9C4BAD9BA24B96ABF924372C8A8FFFB10D55354900A77A3DB5F205E1B99FCD8660863A159AD4ABE40FA48934163DDDE542A6585540FD683CBFD8C00F12129A284DEACC4CDEFE58BE7137541C047126C8D49E2755AB181A
+Out = C158F1AD36220722AA1D767801D21465135F6AFEDE74C837B53AE2EE0DD9A82340B199244ACB0DEC8B125ECFE3E0EBC172DCBD12193AEC9A914BCA7A3406CC95AC601E12388287EC5F350DD4D039AAA7826047F5D8B8A626DF3E5801050B18A8938FBD24D3E4E45E210C8CB54DEE88340937D16021D4B8565C9DA7F8FEACAF7B3DC8031D799687215B94E53B0DCA833813D987E29BB88AB58F5B1599B8CB043EC5FE5F572CA3B436AEA5E97D82CA6982204E64810699D736ECBF2775F7A132C231CA2DEE177AC7826B6DD1D122CE4C883730C1AC75C71F361A51BCCC1A9B543B05C6C2AE7A63253DAECB065A3E7268B6FF895CA4D5197E27D9720FF00E2FB14A5DB4FDC245BDF6EFEBB174801FFCC440BA92BBA0E0CE42C97C8B3CC5DB4309CE60C9482453701BD83CCACCD3FD89F0B755E0A47A2D145115F774172E9CAFC6E6AAF2DE5FEE9D934CC05B2E662E5D3C86A7AFEDF6768BDAAA4B29F7F98E5BB96BFC193D7BE412E8C62C69AC8F47A8CCAEBD18F1116A664C767765682AF9EF9B0515D76F06503DDA96488C1C2464D530EDA78B72A24A0A07CF2DD99CBF2836F77DAA19CE0F1590C0E5829A84D28210025A18C80925B15EA57ECA2836E84B22DA28946CEDFB72AC1BA004E2E752D67BF82667A2BAE60F70A4488D23EF356110E8864D4435871C084034CCA14F357EC3C7084B3F3FE8EB20F953D04ADDC6C398B972E584D3D8F203D9706A996B
+
+Key = 100102030405060708090A0B0C0D0E0F
+Nonce = 000102030405060708090A0C
+In = B581F5641873E3F04C13F2771860655E2901CE985553F90C2A08D509B3575556C5E95690CB6AA3C0FFC479B4D2975DC443D1FE947B88065AB29E2CFC4403B790A0C1BA6A33B8C7B29DE1124FC064D401FE8C7A66F7E65A91BBDE5686AB65213000846524A57D85B4E317ED3AB76FB40B0BAF15AE5A8FF20C2F27F409D8D296B771F2C5994D7E7F757789308B59DBA2B2A0F319392BC57E3F4FD9D356289744DCC08B7724D952E7C5AFF67D59B244051DB1B011A50FEC33E16D1B4E1FFF5791B45B9A96C553BCAE203CBB14E2E82233C15E769E4699F62A15C69702A06643D1A631A69FFBF4D369E5CD7695B87A827F2145FF3FCE55F6951008771043C6F309E568E73CAD0052450DFE2DC6C2948C121DE625AE98128E199C8168B111F669DAE36208187A254928ACBA71120BE4A2E5C75D8EEC494021BF5A98F3026855037F8AE5940C325C078263AF6F9140848E5225D0B0295305E2507A34EBC94620A83DDE7F165F36C52EDCD11547C750406D91C5E793951AD357BC5233EE1419225289A74A2556774BCACF0AE1F53585307E594ABD145BDFE346CBAC1F6C960EF481D199CA88633D02586BA9E59FB300B254C6741CBF46AB97CCF85404070852E6C0DA93747D93995D7868A62E6BD36A69CC126BD4C7A5C6E7F603045DCD615E1740DCD15CF508DF5C9085A4AFF678BB0DF1F4A45426729E61FA86CFE89EA1E0C74823AE5A90AE750A74188905B192B27FD01BA662072501C7C24FF9E8FE63958007B426CCD126B6C43F9ECB8E3B2E4416D3109A9508EBC8CBEBBF6F0BCD1FC8CA86AAEC33E669F44525863A22944F00236A44C2499733AB36140A7024C3BE043B79A0F9B8E776292283D7F294F44149BA5F7B07B5FBDB031A9FB64CC22E374049C33816E24F7782B0684C711D57619CD94E5499471328733CBB0090F34DC90EFDE7B171D31579BFCC262FBDAD6C50696C3E6D809AEA78AF19B20D4DAD0407AE22904A93320E369B1B46BA3BB4ACC6D1A231533B2A3D45FE036110851769A678CC6C874953F98010DE80A2416AC33202AD6D3C5600715106A7BDFBEF3CB59FFC487D537C66B04923C447100EE56C7413E6C53FAADEFF0744DD561BAD0977FB5B12B80D381737357B9BBCFED47E8BDA7E5B04A722A731A12086C71B99DBD189F494A353698DE7E874118D74D60737919FFD67503AC9E1F436D5A047D1F9E539A331AC073623F866181428340FB8D0E729B3044B550141B2758DCB96853AFBAB2B9EFA5820441FC014227561E8AA19CFF18256F4D7787B3D5FB39E0B8A5750DB1741654DA302C99C9C53FB39399B1D7224DAB739BE133BFA29DA9E54646EBAD8A1CBB336FACB4785E96138BCBEC500382A54F7C4B9B3D37BA0A0F8727F8C8E820EC61C759DCA8E6187DEAD80D2F5F980EF1575AFF580FBFF6D1E25B740616A395A6AB531AB978A19894440C0A6B44E30327B13E767A98B5704C201A6F42899AD2C76A378C24AE6CA5C506AC1B0624B108E7C1743B317661C3E8D69F05A71F597DCD145DD28F35DDF537B11E5BC4CDB1B516BE9FB3DC1C32CB971F5B6B21336798053E8D3A60AAFFD5697F7408E45CEF8B09E5C3382B04456FC0509E92AAC2680141DC83A354C8297FD76B7A90A3558798E0F66EAAF516C09A96E9BCB9A3147A02F7C71B44A11AA8C66C564E63A54DA246AC441654682A00A0F5FFB25D02C91A7EEC4810786755E336997E42CA89D9F0B6ABEAD98DA6D9441DA2C1E89C4C2AF1E00050B8360BD43EA15237FB9ACEE4F2CAF2AF3DFD0F31931BB4A74841752322C7D61E4CBEB80381552CB6FEAE5739CD92469C6953221C811E4DC36D7933866FBB27F3AB9AF31DD9375788A2C94871A58EC9E7D4DBAE1E54DFCBCA42A14EFCCA7ECAB430918D3AB68D107994447D683853B30EAA96B63EAC407FB432FA4AAB0AB0389CE3F8C027C8654BC88AF75D2DC6317D326F696A93CF1618C1118CCD6EA5BE2CDF0F1B2E535901F854C765B66CE44A4329FE67B716E9F5815677287648E3A4445D476FAC2F6EF8505187A9BBA4154ACF0FC59123FDFA0E58A65FD3A628D832C03BE05762E5349979433AE408115DB6EADAAF54BE39870DFE07CCDDB02D47D2FC1E6B4F3D70D7AD9239E872DCE87ADCC72050029DC737F64C1150EC2DFA75FEB41A1CDEF5C50792A5656718CACC0795069CA593265F254E4523876D15EDE269EFB752E11B510F41773F589C74F435C8E7CB90552244099FE9B850B6C223E8BAE86A1D27905686BABE34149ED15A18D402D61DF1A59C9268BEF304C884B10F88DA6929F4BF3C4530B895D2892CF78B2C05DED7EFCC012235F5A7886436E27F75AA76AED1904F0B312D1BD0E896EBC96A8D849399F7E67F02E3E01A9BAEC8B628ECB4A7043C7C2C4CA820373E911DFCF54EAC9B09551C0133D9205FAF4A934C8CE6C3D54CCC4AFF1DC114426A2AFF185757D0361684E78C6927D867D77DC7172DBC6AEA1CB709A0B19BE4A6C2AE2BA6C649A1328DF8575E643F68708686EBA6E799F04BC2350F6335C1F2425BE3347804556A3A7D77AB1340B903C9CAD445F9E0E9DD4BD935EFA3CE0B0D9EDF3D62EFF24D8716CEDAF55EB22AC936832055B47DDC64ACBC710E13C921AF323782BA1D280F412B1208FFF2635DDFBC74E78F12D501277A8607C0FF5162F63702AC096804E0AB493355D1D3F56F72FBB9011168FA2EC47BEAC56012656B18CB210F91ACAF5D1B7392063F169204F13121F5B65FC98F7C47ABEF7264D2B847B42ADD87A0AB4D874BFC1F06EB429A3BBCA4667706A2DCE0EA28AA987BF05C4C104A3ABD445438CB602B041C8FC443D59AA2E44212A8D889D57F4A00277B8A6A0E6755C82653E035C298F3855AB3326EF9F4352FD68AF36B4BB9A5809091BC36546461DA7941823502CCA2C551997019D933B6386F2036745D27228526CF4E31CB51113F1EB21C7D956822B8239BD6954ED62C3E2DE73D46A12AE13217F4B5BFCBFE82BBE56BA688B9AB16EFABF7E5A4BF1AC986585D19353D37B09DD4B106D84B01365BDCF5209C485E284741565B7F751AF55ADA4D122547094A01C9041FD99D75A31EFAA25D07F4FEA1D5542E549B0D046623643B282157550A472EB54271F8AE47DE966C5F153A4D10CEBB8F8BCD4E2E7E1F84BCBA9A1AF1583CB72D03379002D9FD7F12E1E10E445C0753A39EA68F75D1B738FE98E0F7247AE350A317A144D4A6F47F77E916E748B2647F9C3F9DE70F561ABA9279F82E49C89913F2E6AFDB549E9FD59143649406D32D88542F3A5DF0CA827D754E2632FF27E8B8BE7F19A953543DC3AE4B6F4D0DF9CCB94F321A07750E2C6C4C65F09645B9290D8E1D1ED4B42D737AF653D1139B6248A60AED61EBF0E0DD7DC960E65754E29069DA4513A10638F1707D58E3CF428005A5B0519D8C06CE515E49C9D719D5E94291AA780FA0E3303DDB73E9AA9261837A964084D945A88CA35CE8102E31F1B891A7785E3416D324219237DC873EE25850DF83125791B6F7925D2D8D423FDF782366A0C462215E9FF724191917D3AB7DD659970F68D84F867152011D6B2557BDB87EEEF55892A592B078F438A593C018B6554A166D538BDC630A9CC49B6A81BB8C00EE34528E2FF419F7E7CD1AE9E253F4C7C7CF4A8264D5CFD4B2718F9617648BA0C6BA94DFCF53B357E2F4AA9C29AAEAB860989C9C240392C81B3B81767C20D324A3A6781D71A3452C5DB0AF56339EA1FE17CA19EC135E3B1184567F9223895D9343486C6419415F95B41A6878BF8D5E11BE25BF38610FFE6AE6976BC0DB409900CA2650CAD74F5D7FFDAC1CE85BE00A7FF4D2F65D38C862D05E8ED3E6B8B0F3D838CF11D5B962EB19CC298E170B9BA5C8A43D634A72DC992AEF2A57B0549A7333486CAE49623765BF2C6F15128427BCC768FFAA2AD31D4D67A6D252554E43F5059E15C05B72748BF07EC1B13BE2BA1572BD5ABD7D04C1ECB719BC59085D3DE59EC71EB89BBD00950E1163FFD1C34C31CA110775398EFF2FDA50159C29B26C742D949DA582B6E9F5319767ED9C90E68C87F512242EF49A455B636AC09C73188154B2E8F3A08F7D8F7A8C5A933A645E4C49476F30D8F7EC8F6BC230AB64CD36ACD36C2905C5C3C657BC2D6CCE60D87732E7179160663280915D88938383DB5421C0824F72AD29DC8CAEFF927D80786F7430B55153F9F83EFDC499D2AC15462BD9B66559FB712F31B4D9D2A5CED87758726EC612CB40F89B0FB2E685D15C78D2EC0D9ECAF4FD22529E8D2262B67E9FC2BA86796121F5B96C61453AF44EAD6E29498E412934C92E018A58D2DE4713C474CF7E6479EC068DFD4F55A74B12B29031907AF90625C6898481611029DEEB49BE5427F08FD16320BD0B3FA2BB799F929CD20459FB31A5DA2AF4DE0BD420DBC74999C8E531AB43EBDA29A2DF7F8390F6763FC6BC0AFB34B4F55C4CFA7C804113E1432BB1B3877D67F544CDF75F3072D339BA820E17B12B5F3EF2FCE72E52460C130E2ABA18E1109A8213344FE7F35329339A7AD8B7906B2CB4EA95FC7BA7429EC93A04E5493C0BC5564F048E55799EE75D6790F66B7C65776F7B7F39CC560E87F8376D60EAAE690391DA6326A34E355F858A0587D33E02239446487865A2FA77E0F38EAB030CC61A56A32AE1EF7E9D0A90C324BB54928AB852F8E01363852D0BAD60278F80E3E9C8B6B45993F5CFE58F15C9404E1F5186D51B25D1820B6C29A421DB3AB3CB63A1303B246824FFC64BC4FCAFA9CC0D5A7BD11B7E45AF66F4D4D54EAA49866D4223BD38F3447D97CF4723B4D0277F6D6DD080A81E186893E56103CBAD7818C08BC8BE253ECA789EEC856B5362CB203BA99DD7C48A0B0BC9133E9A8CBCDCF595F1F15E256F54E013527457747C8BCCB7E39C19728D384FC2C3EC8AD9CF88A619C28AAC5992043859DA5E28BB8AEEBD0320D527809563FC7D87E26FC37FB6F04FCFA9210ACF83E21DC8C21167D676EF6CDDAB69823AB233CB210A0535A569FC5D0FFBBE4983C691EDB388F7E0FD29888818B4567EA33F1EBE997552ED9AAEB5AECDAE168A89D3C847C053D62878F032128950C8925224AB093A950A22F576E184219540C5567C61149F45CD2E93DDD8B48712100C39A6C857428834A1B3105E10692E7DA85737845207FAE137C330622F483F9353F6C71A84E48BE9BCE8ABADABE2808F7E2148C71EA72F933F2883FD7BB696C2919DC84CE1F124FC8AFA504BA5AABB0D9141F6C689839897AD9D82FDFA8474A25E2FB33F45978E16885CFFE5920D4051D8099AEBCCAAE0F2F6543348E7EACD3932FAC6D143D0207709DA4F31B5C36FC017334850C6CD6F1BD3FDFEEF5D9BA56EFF49B6BEE9F5A786D3219F4F7F84C690B4BBCBBB7F285AF7075246C54A70E4D1D01BF08ACCF7F2CE314895E705A9992CD0184C8D2ABE54F58E70F2F0EFF68EAFD15B317E6B0E785D8232E05C7C9C4461FE19E492023244D7E2965FFF4B6FD1A85C416ECFCEA7BD62C43F8B7BF79C085CDEFE198D3A5F7908CE97F806BD2AC4C30A7C6616CD2F92CFF30BC22817D9312E40ACDAFDDE8AB0A1E13A427C35FF74BBB37094B916F924FAF52EEDFEF096FF75C6E1217726357C7BA3B6B3832731B9C80C17AC6CFCD35C06B311A6BE9D82C293F96FBB6CD13913BC2D2A3318DA4CD57CD133D64FD06CEE6DC0C2443314057F17217E33A636D35CF5D974059DDF73C02F71C7E05BBA90D01B18EC030A95324C989846DAAD0CD91C24D91B089E2BF8344AA287223A0C2ADAD1CFC3F097A0BDCC51B8713C65B598DF2C8
+Out = 315ABEDF75BC4AC1F853304078E9A481AC5A1117F62C3C00B087D02DBE948EE28E7B84E94F966449732FA2239818552E9CE3D9D5118DF07E2733D673C7B6492F2D2B4DDA9DF3E42F8180F0674EEDB9C625D319E597906552B598D691F32B46412DDE010577F0E8F59B97BC9562BCC63F9FF1AE5FB05FE852B22BD074640EA536646D9B9D1AF80DFA1B892A3B1BBBE6AEC4E2EB2EC5A224086FB8F195D248DD65B9686F839AAE421EC62FCD947EA10177158700ED89D5DD5B3EAD915525AF4920B68D3C3775BF6AE7D9B77CF1D53DCA1769A5BBB975BEE2CAE2ABF960749138462A8EB232F338742BA69C2F0542A17168080402B7B6F371E8B5D564014C33A6A92D7636742DDD2391E3F8951D26FBF05B7236A177749DC4C2CCA4FB24BB6C7B2F9C4CEBCA01BF3511C1C557DC64167F53C3659A7D3BE38432F7391EE6DD37B1331E1CF5373CF138C8612A7FE432E8B0790774D6FE6ED6EE768B00C13204D84D7250409BA285F11E5FFA5E251CA2C79811F988215570E5D69708252FED38D150F160D696C69384B62B82A0353156701B570D47DAED2E79F531414A77F06D2F6205A2F0C05856A0E4193F4B17CD7FC07EDC496E802D95BBEA1E313176CF167187C77C9BEDDEF901A19A5580E5EE53B61B0C56617464AEDC89A1D078E5200DFECDEDD813AE7C08EA181AE07DE2215C2F739FD446C8EB02A3E0B636658B78AE76A31FD0D5D75F437061E550BA8CF9E9C39A33F172C3CF22C1C99FAB96F70F0D826237AC6A13C4512AD2F93DCCD23D1A86F70BC4B307534DDDCD176FA754F31B26546ABA8D1A13122ED6E8E36F4FDEC12FCE523C9ECE18964EB9831B877BAFC8C22D82CC3F428262F14E047E8BB0C2C5919A10FEB8E0D639F7B2F5A185E2E4498CBFEAFC5EE702FD2B17C7CABBC53BDE22F681C84893E2DAD462B4D91AD508041F34A7B53E2FEAB7316F3DA504756E4FCA583F37F12BC4919BB0FE2EB4D47147DF1FE3FABF7F4B732D231C217F68DFDB1637FFF437A93312FC3436B4D1A63F20E6B4B6B78BB7EE89CEB79CBD37F7FCE8055BC4999D22805AEF975D261B94230B6BA84C4BEBAC1E877219B90A4CAC9E7B469AEB08D05E32B463FFB049CD55590416FE90C3162FC5DD3EAF7ABA74332655A1445F866A603A527025546468E41A8FD84F68A713B463734633828441A64E6559B828F60425D9CF3D3D29CE99BA44AB429702B5B51777E99CA0ED52899D5CEB44223056F8CBCA85BAA8AAAC68A6C5BB01C94FB04D8CB8C16F44B85358C1A5227AD776ABEF78416EFF53F3D4FC2051F34E52F9CD345E4DAAAE45352B30547A0727D9690E8A1A9F27220C3D686F32325CD33CD478773F91B18E3E0570DD0F5BF45D56089468A6C6619B4400886A3B91C8EA708F9976DAFA9C0E26C5DC58B453B7A4075B9669CB213A8EFF525CCC05AD4BC829D42F9C66E0D638FA591921414FD6487ECD4FEED996E36E6097F1785960053FF2C90691A9B19DEA15340695405BB6B72B066428D8F5FFB731372B9BE295DE75C5B8CF0F2B63EB28AB77B0C5888898090879D4C0702CB158C4C5D84CA351CB3C4DD4F70C1AB3AAB470245EDB69B17BFCA1500E86B77D2F22E3C7EB08EEE7C97A9C8734FDCD8898FBD0864B04BF462335E783325D30999775D639240E98FE60C9C5284A64393B364B177CB131CA31F944D9CB3C5BE51B9358AFB5E52EE5890088FA832C8BD643D0871484BA0A39D9B447FC12A3B3A51860AD6E49AC21A6AE8E13C3AF94ED9A53AFB5A1A99FADD7498E15E45D4D34775B791A72D779A4B9F1FF141BB38C5A1CB2240350131D463CB79FE4D2D829F8727E079CD85AFBF67B9B1BF74A9386194E72131BCC6161F5E0867EE142C62571850B4BEE914D84343308E81BE96F78F1FEC0696680AD10D27718C34F255BCAF47CAB08951C1A351C100989DF3148B927D6FAFA07B0DB146B71283565333DACC8072DA949F368B28CC9398B05E71803DECD2351470E1018FA7D055E4021952970F94B720EACA4284E43B2DE78D7F0C568A8B8CBA13B9A27323F8D5A336E0581A5B3613591E65504A6F9DB5BFED691505762E2EA5FF75F651F4F5E53F63087A1E9C03EB662CFEB96C30BEB4F4C5EEB05A65A6C1CBD8C3316D832027A61F97B790DE7A53BB0BD13D12040BB5A3D39A9CD3085E9FAD213F30892BF53CD0F74E2D9E892995360653678CC83F96780986AC3C6A96339E69BFE59255EDC3E7F44E7A3223DB1EE45146F300F1146BFF32468401617691AD552343C07F28F266E4E7D44E42C3DB3D7D8738322D4D54536BAC3D3E0AA6FBA5267EC9DE09B2E618EBE125F5E121CE9490C9B8D09A07D200250ADD876A2683F3650D4B779ABFA07C14E4D789B60AEE4AD19111208414D494415A02D82709BFC4C2DDB0639B7910DF5F05705BCDEC7C9B14E181B6CE27326B2CD6D59B6F23F15E2C2B26664D6C3065225E797A82523AC18A2B19813B952218F16F3FB603CEEDCF7C79B3D5E7735D414A49AE3F53EB842D653D410E3CF407F014D983BDB27FE636CBE74F7A9522A15A24E52D2ACEAD070436D73A1025F01EC0153807D3E69DA4FBA4FBF63BA09F75B499354FB1FED70B942D25A061BEEEC4F6A75396282C334AF51656C1CBD729BA2894ECCEB73FF2CB301CDCE670BB2E621E534294881291D3856409E3D166ED70F395F3713A480FEAFC4BDEA63DAEB19707626FCFADF44A9576889767A8DF710A2A16D20B24D4AB9CB24B41AD789137C1E8D06FDC6804F12AE5011C399487014F43FA8A28B768D896EE12E68F934EA4B3D7EC553499E01FEFEBD70C3B1E28FF50F53C046A39BC4A14479A75184116F87AC46A6F4F29E6D438D99914CFDE57D8CB4D46623A2C2CA711415C1331FB11B841323679A4776F08F24EDEA03EE3C0279F1B28547A5039311F9F60D97202DBC511A6FF96ECD663436D8B4602901910FFFE9E48C4BCC92777C6BCFF42743F4AD108F10E71F00D31D1E1B76661FDA1A80B60E95C8C698CF1209C25191C73CBE8B4F06D0C66AC2AAC079EE14179DEFD81D2DA5B0465F02DAB7781135F7E1C313CAC78438164812103083F3142F5DB90218873F7CCBD0EAF2B1B231331D5966530D9B63F540A495397F51B35B1FAF5EB52E7E5714EDF4FBB36F911CF44BFC92DFD8A1C9F85443CEDAB507C88E1D7AB1622595BFBA1EDB622BD3B461033F36868B4074DB443D7E013A37A99E285C510759F0DD5F977D914B28FF47B6BFA196FB5A16D38BD5F115DC35F5006666BDE926E842EA2406D345B9F7DD10C441138F1A370ABE16AA9F58C8AD6EEEEE472E82680129005B5BEEBD50924BC6299099CE037EE8FCB7E1EC6181BDE28F5BDB42D2A7B62BC0DCE7A9E8BA1FC27A7ED4938D5CE3533812443C468DB1A7CF496F6BC106FC773BE11E0F042348097066FD233BD80C42BA26BD1567D6F2EC17B09477FCA366352E69F281687419375C13AAC5C16405D8BDDD90A8AFF444B940AC9DC152CF161864149581BDBF01583F67C14E9480BD9D75E22FED8906252270FBF2DBBC5F3AF93D1C970658893B395A4A8483E0AB939B98EC4029B7C3108084834AB9572B8833A99DD2C6197F196EE60CC869C0D83C5E85EFAD15F2AB221D5F219FD695A9F2F255B520DC400E8D4E886B88F36803C196A2FBC7196E394AE0669F8FF4AFB2B826A98AF6AB3626A9AFD0092C8771CEFD8D97EC55B6BCA8D9D79F884D014EA747EC94B6E6556EBBA32FB2729EA2C6A5CC0639C9B21063230D8AB0F472BFA4BAC4F8E2468A8D1E5AE2DFD32D02EAD93BB7B6C1FCA9670A429072F6933D8FEEE3710DC5B5144F0209972654B7AA12A896890CC78AB767E556526A608CB9629E9962F57E9B830223740A50BBF8B8336D07851A54DD74406B038D95EE783180B80F1136E6D63C2CF5AF74240A5324C81663CE77F3E8F3CEEE0C743C6FC17637C21D823608AC5D3495DC45762BF2BCE98498B7362CB533D5D5D27ADDFFD48038FDC7638B38C253D10E6CA8155DACCF9A1FDDE75F80CFD6C67BFA55628EA7B44BBD9BA12D4E30F073216ABE9CEDF0869D39BFEC334ED666578810A283E32FD2875B7B4390A402E32BD15ACCB16B8EB078F0AF92467D94DDC9BB1CF88C108B6D17491B9D35F71094686CC082B7476296EFAC7E2BFDF936ECE7C673FCE9507259172D939EC3A165B9D3BF317D5E7513EDE5C24F0628445893B9679555C241D1B116C3E72A927F1CCEF01C34129B170CA96AFFA4BDA87E1883A365406DBC32BB581314D3F0E8FC2B0ED3BDBAF169F3E136EE8DA2CFBB247245E1A4371D1EE9F16A4387706201FC926A371DF49026C7028FC3D16A23AE539FB731BE5C46DCFA59583AB422B2A1A61BF9E3F6EA3EFD9E135C2CDB8DDAD962E443F8CB761EEF84840C1B1A063B14838EDB11398D47228481646291D417A2718D81B80B20D87F385C7C4B2A26D748B1F9158FA6F43B81F1EC2A24BC473F7EA4507CE719729B3160FB591494D0A7DDC7F5F01706939334AC33CA423635C7BF282DDD196968736E049E804B8C10BEAC7AC014DAFB880D983820C3152480FA41821DD31E3266D70A80E8B56891A037386E7CFF1DDBBB732D85C793D9F75B5BB8E7631B370E4556FD8652733CD46CD502D7D903D9EA7E6CE64AD13B78B105AD5DF10DF8C18BCCD910A922088B41B3A7EEC0DF987D8A109DEECCBEA5B7235375C701300C3007B7EB26CA9866AC13D72A037045A486725C5A57E8B7E32E42F9F9C6D5F548B521CEEDA89A991159413897CFA217629A3612681A92B185BE3C7C64D2D1FAFB09BE747AFF16A60E8B952D275CE23B0D5EA7122A051195C8CE49578D310111B860879D6336558EF3F9F62E459CA2D6339550E528AE05163C48DB89009FC3CA32C772BB78361A66201B84AC689F817A277307DE71A6A13356FFAFF3A4F9380C12F1E83B1DFC7B200C131651421C1227596B9941B3C819248740BE3C77F129F9BF635F4E104C3AD95356EC3D59A110E92BB2667B3502A6757C2AE31BC683661E1638C1194F6543256FEB41D2435D56250A28C7D665078E00923C89895BC2077305457D1C9BDA43347132784B08085B6D8C59356E72F944BA7E5ED2D5D80EE723DB295C139F80F9EAA39D957EE598FB9A748457177B7B38ED6F251FC3D1CC39B87DE88FA6D8182BF87327187362C52F74E5A90213D1C28208AE8F7274E950092A34CE15E7D3C3E9F5B2404A560122C6D02726BAF405223F83CFDBFE5A5F7FA3CDF6079BA1E40E6A5F3A8616C4107D3A9BD668D3D0C5A1D6A8CA760A14168D09207C7A37FE16E668DE215838A63D80681E24658FA127FB8C31F6E02D57C779CC60AD01060C851021BCAD61E3B3EEB30403EE68BBEF573965FED799E135E6F1259D397577379182891719C857D185539A67B4B3A54C44457064C64A0BF9745A3E4873A55386B219FDE1F3872B8F58EF4A20E9913A152A2105D8CA6CEDAB8232F2E89AFE97ED43F5DBCE17F4C5BA3F0D0CEE889980A8925DA1A3A0C00639D41B538966DE00E2B68F9AC9B13EC9D59A3789AEB8CEAB0768831AD7FE361B2C917EB90791E6A4BB94AB2CB29E626726F8D39512B79477B303FA30383741ED0BB893B7F11BC331C8B85D5F526D17B0AD6C9C93ECEE78461753CE2258F9F820ECB13A7D17F1E0E88391B112639C9CDC3EB734CD444D6E81B6A0667D94F0375127CA240995A841BC66B0D4DEFDBDFC6B93DD3D22D8F9DC348C142628CB45544858526C1D83A5BBF80F6EAD5CC8AEE5EC155BA8E248695D5505211D7D8505F9556FA73938511E4CF8974F73AD99BA9AE6CBF4015ACB31B4DF
+
+In = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
+AD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
+Nonce = 000102030405060708090A0B
+Key = 000102030405060708090A0B0C0D0E0F
+Out = BEA5E8798DBE7110031C144DA0B26122CEAAB9B05DF771A657149D53773463CB68C65778B058A635659C623211DEEA0DE30D2C381879F4C8
+
diff --git a/src/tests/data/aead/siv.vec b/src/tests/data/aead/siv.vec
new file mode 100644
index 000000000..7e527eedc
--- /dev/null
+++ b/src/tests/data/aead/siv.vec
@@ -0,0 +1,12 @@
+
+[AES-128/SIV]
+In = 112233445566778899AABBCCDDEE
+Key = FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
+AD = 101112131415161718191A1B1C1D1E1F2021222324252627
+Out = 85632D07C6E8F37F950ACD320A2ECC9340C02B9690C4DC04DAEF7F6AFE5C
+
+In = 7468697320697320736F6D6520706C61696E7465787420746F20656E6372797074207573696E67205349562D414553
+Key = 7F7E7D7C7B7A79787776757473727170404142434445464748494A4B4C4D4E4F
+AD = 00112233445566778899AABBCCDDEEFFDEADDADADEADDADAFFEEDDCCBBAA99887766554433221100
+Nonce = 09F911029D74E35BD84156C5635688C1
+Out = E21A9D0FE3BD3ED189C71F29B24C39E1E40B9BAB82D428D0A9B392F13EA14C9B4433F393595A8E031F032350F50D2B21825B3EE64958103BD8445C3F48E5CF