From bcf814e651ac06ea706b0b4b6ed8063978507353 Mon Sep 17 00:00:00 2001 From: Jack Lloyd Date: Wed, 21 Dec 2016 23:39:48 -0500 Subject: Add Wycheproof EAX test cases --- src/tests/data/aead/eax.vec | 188 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 170 insertions(+), 18 deletions(-) (limited to 'src/tests') diff --git a/src/tests/data/aead/eax.vec b/src/tests/data/aead/eax.vec index 4e7365f9b..5c0c6ad19 100644 --- a/src/tests/data/aead/eax.vec +++ b/src/tests/data/aead/eax.vec @@ -1,7 +1,7 @@ [AES-128/EAX(8)] Key = C61A0851AB4E515D11525B92E2B9D850 Nonce = C825FC7C4D539DC74887CECC70884F37 -In = +In = Out = 32E55CE0C3FAEA48 Key = F956B879EC7F807F1FCB482B53623671 @@ -12,7 +12,7 @@ Out = 710DABD24D400F3B6B [AES-128/EAX] Key = C61A0851AB4E515D11525B92E2B9D850 Nonce = C825FC7C4D539DC74887CECC70884F37 -In = +In = Out = 32E55CE0C3FAEA48164B122C1BE22D85 Key = F956B879EC7F807F1FCB482B53623671 @@ -235,12 +235,164 @@ Nonce = F87A825C39326949EB19EE5BD30CCBF9 In = E4BF7D594228D3CB4D7E9EC6397DB3325B61D7C1437D0634C62FC33D9B932B7F52A8D894D0AB601E29FEE4637B9795D7F96D983CEA9E70B0CD33EE68C619E718C1C0AD916B0DAF950B93F8872B8D5E24FAF660E494D095610483CACA9CB1E35D7190EEDD9D9E72A8316A2F5CF78D80F283E0D617B16B79B5EE437F8AF462E766F2D6438F74B538A51F670216F582087863DF90144A09C9394C48C340ABABA69D81E92DF59E659ABDCC9CD4C11FDC3A82BBCA9606D35F3F1FA7025F52AD06F02EEF1D238E82BE4B4E5A1F1079FC4AFBB71491BDE7F0FC0698FF65EAAC6BDADB5BF7FEE979BC34C81754D89050228C07361DC51D0EC123A6C088906DF46B484F624638DC036CA41AC07CAA109E3618D454DDF1629E14085F9C98CC900314DF665A17425D84E6774462225500586DD4AC4AC50EE8D9164775AF1306B227E51882FD5ADF814057C5A2791AA2D187767ED13B8CBA14A3018A521590043C751DBE72779EF3B8F5B95A6ED3FD3F5B73BD2CAF4AE6C3EDE84D3FFDDD43395360F8C5D896B9908B72EAF945E738A05BF6CD0A40B3CD2D9B1B6C98F8AFD24B10CA11E860CA78EB3C62E4814A1C22A512EFAF52A27C7F3E97EBD6909BA8DBAB72EC93D2B60BBDF26DA174B7BE965CD0850B232788A2651F8E3CAF29E48BD4577767292E72E720DF889497462AF317AFFF3AD787DC3CA66A7856935DE167B458CEDD8640C4A7204D3BB79366AAAA15A9E4EC30C129D72BA12DBFFE0E26B266F590ED35549455A1CF0C3535B7DF4B60C43791856068B002956F00A396B3098B43F6C0978A16395A226E8FD94DDA3A1112CB9672334774C8B6756B4C2874D76B6B9802F5AE3B4FD0A9DFAAF7B9E408CBAF9F3EE2E6B2AA9C2715E94F89C0BAF458BDEA06F839D7A2188199D265A19D1440DBF6268EA0C3B5B5AC053E6CBF33C57C1DCB7556A2176F23B0418851DE9C92BA92B848327BFDE727022694C259593E7624B3CCC7CA3BEA7A7C73CC5B0F5E15A2165DD4925ABCB95DE24D1F3BA65DB1CB117D92DBB97C5635EF2290FF80A5A1960275285D31E2BA132FD94ED636FFA1477D332336AF796B9F9BFC9E1BA13FB1A4B4DA01E6BCBBF9EB9448C1CA476212C49535FA45AE66E44962826403C115A775EFA85BAB635597F79D58C2E4BBD4A95009A395B70979006BFB646FBC79163269BF8D1422E2AB1A7F04DC64BFB00D0FB9B0A570BA1E70 Out = C437723C80E3B32AEEBD6DDE08D614312CD3176E8BFA8650EAF3A34DAE3B72769F823BC48F88F42AFCBBBDDA0534E8D2C9BAB65A83939668C982A1CBC1B826B259D83FD6505381BA99B1C850D5EFB5D0DBB077F4AB021246366292971BE121C265BCAB722A6AB5B7CB7D55C91F9FD5B3BD59A8436250F17D110B5B2588F2DACC98EE60884436810570A61AF2D7A424D4D597004D175B650F9EDE8D254497490905E5AFFD31DBC4FAE7EEF180B07B7D9D2579C1A140F63F31B0A2847043FE6F98556A3F90DE4C28F858581F699ED3B6E3E554DD0FE91954FC067BABC6AC62E31457B299B9CF5E061A9B6ED628DFBDC164AFB6560847389EE0257A7CDE811292BC761E4D66D2CDEDD2C6DE0333CF8ED6682185AD5B6B1B05526338C6EF72D02A0346C4527CCB3B1E3484B83FC7AFC7BFA69B111980FDC53C70BE72F3BA7F8B51A363CD590A988AEECA67265C9BB813142F34D0B2FD20B06F39C4DE7A00D763E2B201D90A8FFCD199EDE60EFFFC0CABB648C1D7F15323F0E9BC13EABD1EBE99BCBF970D0AF2501826E37D222EF4D9AFAB22EE99972F2A97C84175AAA49ED2CEAF340213E29C7A88AF38F2CAD42C2AF49937262F3281B806E343AF3ED0C7535725A5AD0CACBEDF519F69CF820980169FD6DB67A165F3883216E227B07E3FACB1E27954FD1D08A2EC6472B0B1F7B0D6AFA2C616F6207E7A2C4444C6F952268BF73EDBEB4657AF472D08BAEAFB237F118EED6CACD80E24ABEAED97D1634367000778C0E095994798006D874999E542F5F479E08AD481D211A7A4D51D58CFDC374414F6810A5AE08573A34D914BE3176CE7C3699D83A06FB9D8585A03854CC38B8CFDF5CDD7C888790A04D2E7F2D22099A9120CE0C37390B9AD918AD0B41C4239D2BBBAB82B98E59920B173BCCDE0D48FF860F91216C4A7E68E05DAF7F53EB7641171D183C976C6B9CF1F57B2E48F88BD5E8F5558934245CBFBEE365A2D457B2EA5E6CD0F39AAA154692EB604B2A366B53C5893C04568BA98B4A0AFA8B6DB80C6D66E9C93DFFB1BE584ED1CC111D315823F25D6BFF9367EA584A3A0FC62788D7D385D0814E984E6EE556F83D01584C8DE0656DC2A89A08BBD268F0644C63B80A5BE57DEF71566B677596557D4C218DEC8A7D2611FE6FA07633C558FF372308F5D680C0F9858362C2B2B8C2989F19FD8411C10B6E37A647A07D0B1D5E681E25902C36231E9E5E812B623D9E72C23518F082EA48C -# LTC tests follow +# Following EAX tests from Wycheproof + + +In = +Key = acf877a5aa71e794efd6dc82d5b1a155 +Nonce = 4e301710ae15b2f0ee6335d774741f7e +AD = c0e0f00a919b7652 +Out = eb3dae1fc33be95848da9fd24e7dbae3 + +In = c3 +Key = 95d8e3675bbc3b96befdc5efb7433a68 +Nonce = 0d40fdefd9289e3a49114454b3c4a5f4 +AD = f2 +Out = c5814dfc2f4ee1719bd5f1d5a649174c1a + +In = 5810842d +Key = 2eed51af91b178b26e9b53c8877a7af6 +Nonce = e78747ca46cb9f2068e07717d5226e8a +Out = 24245c5bb54aa8bfaceca3665867fa2d7de1653d + +In = 5ae11bb3b7d60e55 +Key = cb782da180e97023530d1612e2287f0d +Nonce = ba641ebe03057b387dd3132e0c7a3853 +Out = f6f64fa858708b8f445812fd75a9639f635045fd5972b820 + +In = 54332ed26cd966761710ea58a8f248 +Key = 8b4457d52e5c04b38d306f8f38480e97 +Nonce = 3f9d6faca5dd97eb1bc74e1954304cca +Out = 3ebbf1fe11e2f454e0ef587fb42a7588e1e32ea788cae20d1700584f448814 + +In = 82ce1f2934dcafe9dee7e0e7cbfdfcd0 +Key = 2892cf62d2cc0e8e9c796624e05920f5 +Nonce = 8a0da6d1c4b7a4f426ad62f6829cc310 +AD = c3ed66484eb367c8 +Out = c374afaa42d9497326af332f42d2dee8fb478c82a2b2567b0ab9597c93f137cf + +In = e0c993ff5d1d00b4cbee523a1df01db011794d54ab7a504c +Key = 463d89aadfa7d8158dcff9b9c3fc32aa +Nonce = 356ab4709b32fc85ff82f40561e9f08b +AD = 5ab01a3bfa141f8d33720bd1 +Out = d34bc706a9d7a2be6c2d8805cec2fac270ec6d17844b0911accb612cbb3b373438c74c1280445359 + +In = e9dfb2897e44236880baf166fa62fa5b8a4713aa981dbc3fe6cf65d9f0c30f47 +Key = 54617abbeb90fff7095b26af0e596064 +Nonce = 2621c97c4fe379d9d42f04c479ae1bac +AD = b6b29c2fbe29dcd2 +Out = 212263116062443db28d6abd2c3bca880ea4d178282247fffbc10532d40e9cea6f580fdaca33d446dd6f38a4425be844 + +In = 0000000000000000000000000000000011111111111111111111111111111111 +Key = 000102030405060708090a0b0c0d0e0f +Nonce = 3c8cc2970a008f75cc5beae2847258c2 +Out = 3c441f32ce07822364d7a2990e50bb13d7b02a26969e4a937e5e9073b0d9c968db90bdb3da3d00afd0fc6a83551da95e + +In = 0000000000000000000000000000000011111111111111111111111111111111 +Key = 000102030405060708090a0b0c0d0e0f +Nonce = aef03d00598494e9fb03cd7d8b590866 +Out = d19ac59849026a91aa1b9aec29b11a202a4d739fd86c28e3ae3d588ea21d70c6c30f6cd9202074ed6e2a2a360eac8c47 + +In = 0000000000000000000000000000000011111111111111111111111111111111 +Key = 000102030405060708090a0b0c0d0e0f +Nonce = 55d12511c696a80d0514d1ffba49cada +Out = 2108558ac4b2c2d5cc66cea51d6210e046177a67631cd2dd8f09469733acb517fc355e87a267be3ae3e44c0bf3f99b2b + +In = 0000000000000000000000000000000011111111111111111111111111111111 +Key = 000102030405060708090a0b0c0d0e0f +Nonce = 79422ddd91c4eee2deaef1f968305304 +Out = 4d2c1524ca4baa4eefcce6b91b227ee83abaff8105dcafa2ab191f5df2575035e2c865ce2d7abdac024c6f991a848390 + +In = 0000000000000000000000000000000011111111111111111111111111111111 +Key = 000102030405060708090a0b0c0d0e0f +Nonce = 0af5aa7a7676e28306306bcd9bf2003a +Out = 8eb01e62185d782eb9287a341a6862ac5257d6f9adc99ee0a24d9c22b3e9b38a39c339bc8a74c75e2c65c6119544d61e + +In = 0000000000000000000000000000000011111111111111111111111111111111 +Key = 000102030405060708090a0b0c0d0e0f +Nonce = af5a03ae7edd73471bdcdfac5e194a60 +Out = 94c5d2aca6dbbce8c24513a25e095c0e54a942860d327a222a815cc713b163b4f50b30304e45c9d411e8df4508a98612 + +In = 00000000000000000000000000000000111111111111111111111111111111112222222222222222222222222222222233333333333333333333333333333333 +Key = 000102030405060708090a0b0c0d0e0f +Nonce = b37087680f0edd5a52228b8c7aaea664 +Out = 3bb6173e3772d4b62eef37f9ef0781f360b6c74be3bf6b371067bc1b090d9d6622a1fbec6ac471b3349cd4277a101d40890fbf27dfdcd0b4e3781f9806daabb6a0498745e59999ddc32d5b140241124e + +[AES-192/EAX] +In = 7537f3e4cbe228468a7837c66aec8a9b6033cba4f1b3d8 +Key = 7c74da83b1f292b869c891c80850e85f8237412e13a0bf3f +Nonce = cfab2c573a0e723613e6e5b58787af60 +Out = 98a55f7db58fde8ed8bc00c01c97a6e5bda137b03e56e0dddfbe396c44a14646cbc89979f38736 + +In = +Key = 03dd258601c1d4872a52b27892db0356911b2df1436dc7f4 +Nonce = 723cb2022102113018dcd2d204022114 +AD = +Out = c472b1c6c22b4f2b7e02409499aa2ade + +In = +Key = d33dda72649575e42d6eb1f3255e686084b8a9cf4480803c +Nonce = ad2a1d2ef236dfaeb109ab29b1084d63 +AD = fb9c0938a5d317fad5f43edc +Out = 6edc358f22358e1d328c4c1cd98184c6 + +In = abcdef +Key = 03dd258601c1d4872a52b27892db0356911b2df1436dc7f4 +Nonce = 025f3d2286c143976412022102696708231208 +AD = 8917328de211 +Out = 520f4f2cf1b893ae3ba8ecbac3a08ea57de2cd + +In = 4e43dbebe316b7d684b56236fdd928dd +Key = a36eed1cb54130f547664c184c249e777a3d8ba2e2251b58 +Nonce = e9587847b1e81511e0643f7dda5b725c +AD = 80c7cb954463b6067b081ff66b1d40cc +Out = e2645cd32a6e8c1e7cd1991d879b335756f848aba8e51f0b56712bb2889c4783 + +[AES-256/EAX] + +In = 1111111111111111111111111111111122222222222222222222222222222222 +Key = 0172acf299142c001d0c231287c1182784554ca3a21908276ac2c92af1294612 +Nonce = 000102030405060708090a0b0c0d0e0f1a1b1c1d +AD = 77922d34e452e0a40962873d22901dd22ad1c303 +Out = 5917879b9fa85f4007b7bd0cd46f067d5a7bf287f19dfcc5475c95a4acce520a4c5df804bc091a3b5d6c838b7e494571 + +In = +Key = 0172acf299142c001d0c231287c1182784554ca3a21908276ac2c92af1294612 +Nonce = 696708231208 +Out = 7c8f86f837a4f72c574678d92f637f07 + +In = abcdef +Key = 0172acf299142c001d0c231287c1182784554ca3a21908276ac2c92af1294612 +Nonce = 696708231208 +AD = 8917328de211 +Out = 12486c87bf9a7f22fa65a9493ec0f57f8070f5 + +In = 13d106d7be0890093f44a457d4cc5309 +Key = db50934278a8d8101d1c538acfbfaa13aba9fe53408b6205a0c996d53cf04e8d +Nonce = eaef04607a36b2e1b1c539bc335aee9a +AD = d50e7dbdcc7cf92822dd9dd762a0fc12 +Out = 2202165697a2d21316c5f65d2aedb3c52b5567b3f8a25e247cfda1f02bc6cf6f + +In = 17672288fff3e93a45b3b951bbcfa8a4cb +Key = 1cd28aca6542a4df7316b2c6e9232a4e2cc88cf7aaece33eec7da32ab514051f +Nonce = d219298abb115ccbb473cf8e2da9671a +AD = 9c504ab2e5ce0f46844833aba6a11c9186e500239460bb26 +Out = aa518b62c5422e56ce393951aa0441e99df8cafb1555d5a30c90391bb9272c32b9 + +In = 1111111111111111111111111111111122222222222222222222222222222222 +Key = 0172acf299142c001d0c231287c1182784554ca3a21908276ac2c92af1294612 +Nonce = 000102030405060708090a0b0c0d0e0f1a1b1c1d +AD = 92d3e42e0409273291d2dc034450 +Out = 5917879b9fa85f4007b7bd0cd46f067d5a7bf287f19dfcc5475c95a4acce520ae632946e4999be20159977431bef0454 + + +# Following EAX tests from libTomCrypt +[AES-128/EAX] Key = 000102030405060708090A0B0C0D0E0F -Nonce = -AD = -In = +Nonce = +AD = +In = Out = 9AD07E7DBFF301F505DE596B9615DFFF Key = 9AD07E7DBFF301F505DE596B9615DFFF @@ -438,9 +590,9 @@ Out = 64D842B66796A797C2B4C6905742FDF2148FFC445E192F9E03B53810C082F7889778B345EC [Blowfish/EAX] Key = 0001020304050607 -Nonce = -AD = -In = +Nonce = +AD = +In = Out = D8C4C23A6AC0B7B7 Key = D8C4C23A6AC0B7B7 @@ -542,9 +694,9 @@ Out = 60A315193F58144F5701D547C79FEEED912FDBDB05467DF5 [Twofish/EAX] Key = 000102030405060708090A0B0C0D0E0F -Nonce = -AD = -In = +Nonce = +AD = +In = Out = DB0C02CB069E3773296D3BD4A87A381B Key = DB0C02CB069E3773296D3BD4A87A381B @@ -742,9 +894,9 @@ Out = 2B1890EB9FC0B8293E45D42D2126F4072754AA54E220C853C5F20FBA86BE07951A1B15BBC2 [DES/EAX] Key = 0001020304050607 -Nonce = -AD = -In = +Nonce = +AD = +In = Out = 44048B7F240B6F5F Key = 44048B7F240B6F5F @@ -846,9 +998,9 @@ Out = 93AE906B8BE4EAC8ED6D8F48F04A7AFF71DD7AF752FE28FB [TripleDES/EAX] Key = 000102030405060708090A0B0C0D0E0F1011121314151617 -Nonce = -AD = -In = +Nonce = +AD = +In = Out = 8914311BB990B725 Key = 8914311BB990B7258914311BB990B7258914311BB990B725 -- cgit v1.2.3