diff --git a/doc/crypt.tex b/doc/crypt.tex index 982103389..bced3d31e 100644 --- a/doc/crypt.tex +++ b/doc/crypt.tex @@ -602,7 +602,7 @@ \subsection{Simple Encryption Demonstration} \index{Cipher descriptor table} \index{blowfish\_desc} \index{xtea\_desc} \index{rc2\_desc} \index{rc5\_desc} \index{rc6\_desc} \index{saferp\_desc} \index{aes\_desc} \index{twofish\_desc} \index{des\_desc} \index{des3\_desc} \index{noekeon\_desc} \index{skipjack\_desc} \index{anubis\_desc} \index{khazad\_desc} \index{kseed\_desc} \index{kasumi\_desc} \index{camellia\_desc} \index{aes\_enc\_desc} -\index{idea\_desc} \index{serpent\_desc} \index{tea\_desc} \index{sm4\_desc} +\index{idea\_desc} \index{serpent\_desc} \index{tea\_desc} \index{sm4\_desc} \index{aria\_desc} \begin{figure}[hpbt] \begin{small} \begin{center} @@ -636,6 +636,7 @@ \subsection{Simple Encryption Demonstration} \hline Serpent & serpent\_desc & 16 & 16, 24, 32 & 32 & 25 \\ \hline TEA & tea\_desc & 8 & 16 & 32 & 26 \\ \hline SM4 & sm4\_desc & 16 & 16 & 32 & 27 \\ + \hline ARIA & aria\_desc & 16 & 16, 24, 32 & 12, 14, 16 & 29 \\ \hline \end{tabular} \end{center} diff --git a/libtomcrypt_VS2008.vcproj b/libtomcrypt_VS2008.vcproj index 11cfac1d5..67c68dcb8 100644 --- a/libtomcrypt_VS2008.vcproj +++ b/libtomcrypt_VS2008.vcproj @@ -335,6 +335,10 @@ RelativePath="src\ciphers\anubis.c" > + + diff --git a/makefile.mingw b/makefile.mingw index df39d6fbc..2be00ba5c 100644 --- a/makefile.mingw +++ b/makefile.mingw @@ -36,12 +36,12 @@ LIBMAIN_D =libtomcrypt.dll #List of objects to compile (all goes to libtomcrypt.a) OBJECTS=src/ciphers/aes/aes.o src/ciphers/aes/aes_desc.o src/ciphers/aes/aes_enc.o \ -src/ciphers/aes/aes_enc_desc.o src/ciphers/aes/aesni.o src/ciphers/anubis.o src/ciphers/blowfish.o \ -src/ciphers/camellia.o src/ciphers/cast5.o src/ciphers/des.o src/ciphers/idea.o src/ciphers/kasumi.o \ -src/ciphers/khazad.o src/ciphers/kseed.o src/ciphers/multi2.o src/ciphers/noekeon.o src/ciphers/rc2.o \ -src/ciphers/rc5.o src/ciphers/rc6.o src/ciphers/safer/safer.o src/ciphers/safer/saferp.o \ -src/ciphers/serpent.o src/ciphers/skipjack.o src/ciphers/sm4.o src/ciphers/tea.o \ -src/ciphers/twofish/twofish.o src/ciphers/xtea.o src/encauth/ccm/ccm_add_aad.o \ +src/ciphers/aes/aes_enc_desc.o src/ciphers/aes/aesni.o src/ciphers/anubis.o src/ciphers/aria.o \ +src/ciphers/blowfish.o src/ciphers/camellia.o src/ciphers/cast5.o src/ciphers/des.o src/ciphers/idea.o \ +src/ciphers/kasumi.o src/ciphers/khazad.o src/ciphers/kseed.o src/ciphers/multi2.o src/ciphers/noekeon.o \ +src/ciphers/rc2.o src/ciphers/rc5.o src/ciphers/rc6.o src/ciphers/safer/safer.o \ +src/ciphers/safer/saferp.o src/ciphers/serpent.o src/ciphers/skipjack.o src/ciphers/sm4.o \ +src/ciphers/tea.o src/ciphers/twofish/twofish.o src/ciphers/xtea.o src/encauth/ccm/ccm_add_aad.o \ src/encauth/ccm/ccm_add_nonce.o src/encauth/ccm/ccm_done.o src/encauth/ccm/ccm_init.o \ src/encauth/ccm/ccm_memory.o src/encauth/ccm/ccm_process.o src/encauth/ccm/ccm_reset.o \ src/encauth/ccm/ccm_test.o src/encauth/chachapoly/chacha20poly1305_add_aad.o \ diff --git a/makefile.msvc b/makefile.msvc index e9028e8ab..9202388a1 100644 --- a/makefile.msvc +++ b/makefile.msvc @@ -29,12 +29,12 @@ LIBMAIN_S =tomcrypt.lib #List of objects to compile (all goes to tomcrypt.lib) OBJECTS=src/ciphers/aes/aes.obj src/ciphers/aes/aes_desc.obj src/ciphers/aes/aes_enc.obj \ -src/ciphers/aes/aes_enc_desc.obj src/ciphers/aes/aesni.obj src/ciphers/anubis.obj src/ciphers/blowfish.obj \ -src/ciphers/camellia.obj src/ciphers/cast5.obj src/ciphers/des.obj src/ciphers/idea.obj src/ciphers/kasumi.obj \ -src/ciphers/khazad.obj src/ciphers/kseed.obj src/ciphers/multi2.obj src/ciphers/noekeon.obj src/ciphers/rc2.obj \ -src/ciphers/rc5.obj src/ciphers/rc6.obj src/ciphers/safer/safer.obj src/ciphers/safer/saferp.obj \ -src/ciphers/serpent.obj src/ciphers/skipjack.obj src/ciphers/sm4.obj src/ciphers/tea.obj \ -src/ciphers/twofish/twofish.obj src/ciphers/xtea.obj src/encauth/ccm/ccm_add_aad.obj \ +src/ciphers/aes/aes_enc_desc.obj src/ciphers/aes/aesni.obj src/ciphers/anubis.obj src/ciphers/aria.obj \ +src/ciphers/blowfish.obj src/ciphers/camellia.obj src/ciphers/cast5.obj src/ciphers/des.obj src/ciphers/idea.obj \ +src/ciphers/kasumi.obj src/ciphers/khazad.obj src/ciphers/kseed.obj src/ciphers/multi2.obj src/ciphers/noekeon.obj \ +src/ciphers/rc2.obj src/ciphers/rc5.obj src/ciphers/rc6.obj src/ciphers/safer/safer.obj \ +src/ciphers/safer/saferp.obj src/ciphers/serpent.obj src/ciphers/skipjack.obj src/ciphers/sm4.obj \ +src/ciphers/tea.obj src/ciphers/twofish/twofish.obj src/ciphers/xtea.obj src/encauth/ccm/ccm_add_aad.obj \ src/encauth/ccm/ccm_add_nonce.obj src/encauth/ccm/ccm_done.obj src/encauth/ccm/ccm_init.obj \ src/encauth/ccm/ccm_memory.obj src/encauth/ccm/ccm_process.obj src/encauth/ccm/ccm_reset.obj \ src/encauth/ccm/ccm_test.obj src/encauth/chachapoly/chacha20poly1305_add_aad.obj \ diff --git a/makefile.unix b/makefile.unix index b07b43b8c..63428674c 100644 --- a/makefile.unix +++ b/makefile.unix @@ -50,12 +50,12 @@ LIBMAIN_S =libtomcrypt.a #List of objects to compile (all goes to libtomcrypt.a) OBJECTS=src/ciphers/aes/aes.o src/ciphers/aes/aes_desc.o src/ciphers/aes/aes_enc.o \ -src/ciphers/aes/aes_enc_desc.o src/ciphers/aes/aesni.o src/ciphers/anubis.o src/ciphers/blowfish.o \ -src/ciphers/camellia.o src/ciphers/cast5.o src/ciphers/des.o src/ciphers/idea.o src/ciphers/kasumi.o \ -src/ciphers/khazad.o src/ciphers/kseed.o src/ciphers/multi2.o src/ciphers/noekeon.o src/ciphers/rc2.o \ -src/ciphers/rc5.o src/ciphers/rc6.o src/ciphers/safer/safer.o src/ciphers/safer/saferp.o \ -src/ciphers/serpent.o src/ciphers/skipjack.o src/ciphers/sm4.o src/ciphers/tea.o \ -src/ciphers/twofish/twofish.o src/ciphers/xtea.o src/encauth/ccm/ccm_add_aad.o \ +src/ciphers/aes/aes_enc_desc.o src/ciphers/aes/aesni.o src/ciphers/anubis.o src/ciphers/aria.o \ +src/ciphers/blowfish.o src/ciphers/camellia.o src/ciphers/cast5.o src/ciphers/des.o src/ciphers/idea.o \ +src/ciphers/kasumi.o src/ciphers/khazad.o src/ciphers/kseed.o src/ciphers/multi2.o src/ciphers/noekeon.o \ +src/ciphers/rc2.o src/ciphers/rc5.o src/ciphers/rc6.o src/ciphers/safer/safer.o \ +src/ciphers/safer/saferp.o src/ciphers/serpent.o src/ciphers/skipjack.o src/ciphers/sm4.o \ +src/ciphers/tea.o src/ciphers/twofish/twofish.o src/ciphers/xtea.o src/encauth/ccm/ccm_add_aad.o \ src/encauth/ccm/ccm_add_nonce.o src/encauth/ccm/ccm_done.o src/encauth/ccm/ccm_init.o \ src/encauth/ccm/ccm_memory.o src/encauth/ccm/ccm_process.o src/encauth/ccm/ccm_reset.o \ src/encauth/ccm/ccm_test.o src/encauth/chachapoly/chacha20poly1305_add_aad.o \ diff --git a/makefile_include.mk b/makefile_include.mk index 0577b5bda..ac46d104a 100644 --- a/makefile_include.mk +++ b/makefile_include.mk @@ -221,12 +221,12 @@ library: $(call print-help,library,Builds the library) $(LIBNAME) # List of objects to compile (all goes to libtomcrypt.a) ifndef AMALGAM OBJECTS=src/ciphers/aes/aes.o src/ciphers/aes/aes_desc.o src/ciphers/aes/aes_enc.o \ -src/ciphers/aes/aes_enc_desc.o src/ciphers/aes/aesni.o src/ciphers/anubis.o src/ciphers/blowfish.o \ -src/ciphers/camellia.o src/ciphers/cast5.o src/ciphers/des.o src/ciphers/idea.o src/ciphers/kasumi.o \ -src/ciphers/khazad.o src/ciphers/kseed.o src/ciphers/multi2.o src/ciphers/noekeon.o src/ciphers/rc2.o \ -src/ciphers/rc5.o src/ciphers/rc6.o src/ciphers/safer/safer.o src/ciphers/safer/saferp.o \ -src/ciphers/serpent.o src/ciphers/skipjack.o src/ciphers/sm4.o src/ciphers/tea.o \ -src/ciphers/twofish/twofish.o src/ciphers/xtea.o src/encauth/ccm/ccm_add_aad.o \ +src/ciphers/aes/aes_enc_desc.o src/ciphers/aes/aesni.o src/ciphers/anubis.o src/ciphers/aria.o \ +src/ciphers/blowfish.o src/ciphers/camellia.o src/ciphers/cast5.o src/ciphers/des.o src/ciphers/idea.o \ +src/ciphers/kasumi.o src/ciphers/khazad.o src/ciphers/kseed.o src/ciphers/multi2.o src/ciphers/noekeon.o \ +src/ciphers/rc2.o src/ciphers/rc5.o src/ciphers/rc6.o src/ciphers/safer/safer.o \ +src/ciphers/safer/saferp.o src/ciphers/serpent.o src/ciphers/skipjack.o src/ciphers/sm4.o \ +src/ciphers/tea.o src/ciphers/twofish/twofish.o src/ciphers/xtea.o src/encauth/ccm/ccm_add_aad.o \ src/encauth/ccm/ccm_add_nonce.o src/encauth/ccm/ccm_done.o src/encauth/ccm/ccm_init.o \ src/encauth/ccm/ccm_memory.o src/encauth/ccm/ccm_process.o src/encauth/ccm/ccm_reset.o \ src/encauth/ccm/ccm_test.o src/encauth/chachapoly/chacha20poly1305_add_aad.o \ diff --git a/notes/ccm_tv.txt b/notes/ccm_tv.txt index d945418ec..ba799b6db 100644 --- a/notes/ccm_tv.txt +++ b/notes/ccm_tv.txt @@ -2332,3 +2332,236 @@ CCM-serpent (16 byte key) 31: A0FF4E0C8B0CF76BC483E6AF028351607199C281C8626FCB4ADD8C1FF1893C, AF6E3C6B6A0F7E8DD3FA069743FD40FF 32: D5A08E21B3B6D356F09A14334D1801959ED2C9255D39061F15055B21F0E0053A, CB53C5AE58A041582C8865E88F258533 +CCM-aria (16 byte key) + 0: , 353C952B + 1: 40, 04D0FEA7 + 2: 56CF, AB9316BD + 3: 6B7EBC, 9008DEAB + 4: 39910BB2, EDEAFA95 + 5: E55EF42FCF, F188B727 + 6: 609D847D15F6, EC7F1C69 + 7: EF321AA69F17C8, 6F40DE4D + 8: FD38158366734BC2, 8ED57084 + 9: FCE911C5AFB4AEAA61, 3F75E2D1 + 10: 0A718789789755D732BC, 0A6FD330 + 11: 81031C57EB378A6DC3B30E, 84D1961F + 12: AC50246D94A46A89009986B2, D8019108 + 13: 6FAD16EC8210F4342A99721841, 8C29D76F + 14: 3B9626B03360ADD6C74EF779C5D8, 6050E9B8 + 15: 67EF70669FBACB50CC51347E507DBC, 3AE3BEAD + 16: D87BF263D3DAE59B7BA40A1B4C6C07AF, 95DD1D80 + 17: BF10E4F29481E923A263F825E1D08BA8C9, BF260C90 + 18: 66D492C7CEAE885C9BDB70671B2C8F947E2A, 4A966B0C + 19: 827A4652E99B9026CC3360F9D3715126C2F53D, F110481E + 20: 818AFC972396ACECEF896D08270D90998F5533AF, 54A8F480 + 21: AA77E19EBF9BC8102432F5170E2410EE0B05EC9D85, 3BEE78D6 + 22: 64B1C81B530DF1873732E0233919858FF32F4D6D3F48, DD5AF66A + 23: 6BF23BC21B55621E986788EACD17C56035E8BA5B7901E5, 494A12F7 + 24: CD2C647D7F03EC0A6A2DB3EB30230D5678FB455E5948575C, FD1CC86F + 25: 4DAE6AFD6AFCC7DF803161690128138EECC4761DA47E1FCA10, FB920F20 + 26: 14916B572C926E2E4A91B6705128CF8C1F037168CE88E36FABB4, 4CBACB0F + 27: ACC579D1209FEDDA483166641E708BFA1E5D76B85F76EFF004A323, 2219CC8B + 28: 8EB53C1FB10A7049A19DD369A021571892A6F178C8E6169BD9B5073C, 6E5015E5 + 29: 1F36580064A6AC07DB82D1432F9896F4B068C886534953EBB98DB17DA2, D3EF1E2E + 30: FC1A05DB901EE1AFE8E52ED73B63B1A6EAD6C8CD9026D4EAF551F2BB032C, 959862ED + 31: F347EDC6A3DE4BAD6E3C544515D94610E9F0F3AE4A257B7A7736DFAD9F2879, 116BB7FB + 32: 99221E065B0E6C6302EE652EF9A2460CE4C9A1962391659915534E55B221CB66, B8C37EAA + 0: , 787B3C5B0605 + 1: 42, FF94D063BA66 + 2: E9D9, ED9326709397 + 3: 1686E8, 56804236EB4F + 4: 535CF7A5, 52476588422E + 5: 800437AD19, 185A5EFC5670 + 6: A779D2341A41, E429781CF5B0 + 7: D7A75656FFEB8E, B208A292F706 + 8: 6EABB52BA84F3C1C, 3AB8F83FE12D + 9: 7A95E0BB3D5A230B15, 861786737080 + 10: 0F92E8E2F46CD4301D9E, C452E77C8756 + 11: 9ACA3A17B2B2258289A485, 762EF170D46C + 12: ADEC64EBF983191045FAD44C, 6221A80B623E + 13: A2F14832FB52077AF0562BEA31, 0F60836B7AE1 + 14: F587EEC6BDBB365B2A6FE71F92EA, 803DD20D27B4 + 15: 07F17D64A06B0C8510DA0645AAF5D1, D1F81F5DFECF + 16: 82B2336763C2FE0536F73F64A7B627E3, 69B7704BB009 + 17: CF15D6DE00C5C7D168CA1B8B7EA31A5EF6, A43C0D064397 + 18: DE9736D8713E87F5CE36A79A7F42FE439B68, 697D7648CA4C + 19: CADCC5991CDF7E3D7ADA08F75CC578706BCD41, DC343B44B408 + 20: DC8665635B1EF4AA5E8DF27792FB1DC0582A4D08, A3C4EE81CEE4 + 21: 908E1344128918AA8292A7E01D26E2FDA6E9C519FC, AD601220E609 + 22: 08281EBD483D4DE8CA9A28F29D070EFC742E63EA2383, AA6E66C930A3 + 23: F647F4727C54FD0B212B551A44B81806FC141E1667C64D, 9797EB3D7F76 + 24: 3BCFEB85F99DBECD1EC3381B4C4C7881E6C83AFEF853A740, DCD9C8A5BE65 + 25: DB692D5FE5DB194638BBDB38697A3C60D8762B752A1AEF8E05, C6807B2D178A + 26: 4DEA6DC0FBADA4C41D68E67BAA5FA2A521BAB0244E0F345F5116, 521390B92C76 + 27: 170ED5EAD2AA883AE61A12E9EDB11BA23F2FCD7FE04F8F1F586D0F, 57EA184E72E4 + 28: B29DA9DBA61A9C8DA3E26397E5562541EF6F8DEFDB0F65A81A7DBDD9, 54122D3FE0BD + 29: 945F270728667C8C9C3F618D5771EBD1B701B5CB007066D4DB7419BF4B, EE94451B862F + 30: 8B63E2F69FD67251AEC1A505C9254C8AB712F9A6C333E148744659F3020C, 78F40E1C5B67 + 31: 2B19E3EDF4D293DF4C0B1FE5B2F045B3E73A4888B7E1F9A9CBB574CD1273DD, 90781206FF9A + 32: 1B08284E4EF92CB6C424F0B38459683F3F67D975F971AF5795EEC42B67DABF6E, 9D6B526CAD5C + 0: , 30E15EF65DB4DDAE + 1: 00, 08E8C717F6AC5B67 + 2: A03B, 946C5F74501BF2C2 + 3: D56630, 42B1EEA73BEAEFC1 + 4: 08CE439B, 8DA272BDCF72BD7A + 5: 327A58A977, BE29F2ABFBA678D8 + 6: 223C5D6B2C02, 08953C0FA1C7D44B + 7: 30A9A5E98C942C, 80ECE405A106DC8D + 8: 1BD70DED77CDEFD7, 7B3FDD5376D7AC59 + 9: C3D68E65373B7DCFC6, B508230790273CF1 + 10: 13ED03E0C6163E2171B2, 1BCF43550CFF1711 + 11: 586D5A2B545BD9EAFBE53C, FCCAB1D344D29C57 + 12: 3669D7E84F4B7F93FBB55F38, 10D01842D6052FA0 + 13: D39DD4F87DD52AA5C9D3613169, A45310DE5457810C + 14: 356A132190D208F46E961E3E91C1, 94AD47938D0A0DF3 + 15: 83A55AAC7F7DB8AF0FDEACDB3A7DD6, 93126DDE11D3C00D + 16: 55399C0176C6CB19D952886701156A2A, ED1FBB7BC514B6BD + 17: B36E00B528B85F8968FEBA512F4DCB51F4, 3BF851562A0CB4F3 + 18: A77687DB5FE6C3997B60A45A3F8FDA57373B, 1BE333C502610568 + 19: AC175F8E8D52EC541E07C1A9988B0CF605BBD6, 692BD414DE5D8CC3 + 20: E413D1B81F34E25C00534DC7978E59D52D51575E, 9411A536CF4D2573 + 21: 6FBDAF7916EE61086AC72C49F413EC18ADBCA53F9D, 160F6E12CC3FBF39 + 22: FA7EB52D22FD52C8571141F4798FA8A9E0EB270F4E91, 51C39B267B58399E + 23: A6F2E3A593A48E9F1B3FD8F40DC9EC4D47500DC54434E9, F9413DAFC65C68F1 + 24: 3856DCB73702A9D7E550EA6D7E5233EC91F4326A40AEFD5C, 8F6A00E327E33047 + 25: 420E51D174F2EF84C121B423A3640C4F7A8083F2C63C527B8B, 76D8597F67B23793 + 26: 25A3C0E0A1CEE9A189E839D15679676923C6000F81405EE3B511, 71D76589AFBFB49E + 27: AC418B46CF47064C4918E7421F9C8CFDE4BA3AEFBA03A323860034, 0471F6A32F11FDA1 + 28: A77C98CE3621CD622158474FFE47CC12E2F02CB7A160BE39FE50030B, CD0FF7998005DA63 + 29: 643AAC1CCA54AEC8EFB771D5090AAF88B545A3521579DFAC5EF3D439FB, C615FE523826C242 + 30: CC7B70B9C58EA2237BC6DFCACDA7079720E917365BF79BD6E2A847E4E13D, DA0468908B714843 + 31: 27C25C174ED7AE5E66E4DAEFBD9B0744F3D8B6A41B38C5B02F186D23431BA9, 3241E962227F9F72 + 32: 292ED972430B2D2982052E9301F41B50F9848C02E9BC0E809DA08AF0D347A809, 7D6E4F092C826D75 + 0: , C1BE20B391DFF3FC20AE + 1: A8, 4FAB63237553937B38E7 + 2: 25F4, CF35CF7B6B96290FB4DF + 3: 3BAF27, 83B6D85A91F5AFEDF5AC + 4: 94E818AF, B5A3C04ECB873B52F0F8 + 5: CE0C2D087F, 2766496C9567267072CE + 6: 502CB4A4B2A7, 64907CCB60471F2924C9 + 7: ADF8D19B1834C7, F237E92D9FF5500C0E44 + 8: CA86744F3250DD38, 6D7E2AEBD4716D130131 + 9: ECDC361CD582DE94D5, BC6016F46F7FAF7135E1 + 10: 692CAFFE4C08AD375752, 74E2BF73B546577B37EC + 11: CFB8A68EAD2B88B13550B0, 237953A1D3CFF52C9558 + 12: E2026F396401D2B1F15D63F9, 36CE964CFEB110F3D84A + 13: C22EF3D87561AFFA3E7F3D0F91, 13EA056FB5284D5A75BC + 14: 5212A750AB866CE4A153A8DB2AFA, BCD125B9B76818E81B9B + 15: 44E9D1ED149CA180351E278F416556, F9538B3C4899EA89FECA + 16: 65A147FBBD36CA41568AF5F96A5A3ECE, 54FD1275750BCB2DD5AC + 17: C2FEE32F01CF7286A842640EA567E72C6D, 1C75B72DAB121DFA92E0 + 18: EFA5D06D7893FB8838B11F6EE745EFC7B4C9, C35686D9614C5CFF5042 + 19: 2952B4C053863843DF919DE42C16313F004C20, 16E732518DAF4D53EE91 + 20: E3B955878D155BD6EF5C7004B7C1C0070FE58837, F7AC8CAB935E25D3B60B + 21: 814E249428BBDA22153E7F9890C2ED13A12E7FF796, 90DB2820D9ED24F495B0 + 22: 423B09B9B924F3DF2AB79B023315ED129AD35DB6C355, 903077D977DE16023EB4 + 23: BBA3C10B516BBA84C4AE30CA1D30BB6CFA01A62D2DA51D, 8FAF683CA483C08D19F0 + 24: EBE33C6909AB4F9130AAEC030433F0B6082FE48280299349, 06ED9D0C70E1708C1CDA + 25: 0731BFCFD73274E1233576E46359953B852E4CDC6F5D940DC2, C3E13A2F715964CD50B1 + 26: 7BD05518DDA1362075328AB5D6792B32DF002201CDDF0C4163B3, 5CE5C0EA28530ABECF16 + 27: 2347262087C438900B3F062DE1CB218F3294A2DC6FC89D6E156CB2, 44711524DBC951D47013 + 28: 072794D15FB5606DB1B3F5674AA7A0D5F5F084AEA821D1BBDB2DA0AC, 2D145B62AE69FE18FDDC + 29: 1AA2C2A99FB394E2E196A15C4FA6A4F9970E23CC77E81A60457F887CEE, 9FD6B58E58338112EC8F + 30: 4CE0A9C194B734FB8B8308D143B22E72A7944618C116C5E654FF920F8806, 763C4501E43F8C46EE55 + 31: 605C37F65FD61722BAC0EDD3B62F4BA914D845C274A787A799CDDF1AEEC593, 699B0E4E6543CB996790 + 32: B86FD2A93AD6BEA3CE66E2197EDA1472A88CB6387B52BD3787B7EAC902D0E6AE, A50D2586D56EA6A4037A + 0: , CF446313FD8A645C60A1F40B + 1: BA, E6710B7C2A78D47A71B26ED0 + 2: D960, 5AE6DD284A9BCAEB629B8B9C + 3: 1EA3B6, 58C0191319B3B175DFB6820E + 4: 16D9A97D, 23B0E4303897871DC9734F76 + 5: D4FE36CEDD, 2D72E02D57DAC751AB0CEE8F + 6: 82AAFCFCA3EE, D63ECFBDFBBAFBEE8C00CF61 + 7: 55C7E7A8779CBB, FEE082A28CBBB2B5504B3414 + 8: 076486EFF93766AC, ABA77A4DF2FD27B5A0507CAB + 9: 7B0E5373DA867FA7DB, 2FB53922B11BB3D8C15144ED + 10: DD5B91E115AD19D174D4, 18383C7F44B6F5DCF65E95A3 + 11: 84C0104573997F38F4FC51, 2711D58E7F24DF402548A10D + 12: 9859F1D7D63959863FC93B56, 592C77331635E7B7D265AE25 + 13: 967BCA6CD52FD98FBE37199954, D43E22B6810495F5B494450D + 14: 335A8C490422FD163288FE4A28EF, 3406F283825DA98DD9DE8B68 + 15: D4ADBDD5735D58123BE9F36413CDE4, 330CCF19D96073732F70D752 + 16: 896BBCD89FB64E867A1F73D5EA55F2B5, F5A883514833FD74EC516780 + 17: 0DF532EF82C39EF0CFB18785A6DD2E7573, C79B51B38414CC2FCA5D0D4F + 18: 70B2DB970495C94E83B711B1E97CBA10C102, 967308F53B7AA9028B0B7462 + 19: 91864A1546761A3835B05F85916BA78D9DD4F1, 89CBDE61C0E2AE5FBAF64DCA + 20: AF713FBE34DFB615BEB6BD2CFF119011FA7D1D51, 5DDFF3F71B8B9CB7354A74F4 + 21: 7549D1DF379C06A8C6BB1D285BD72513D3E846DF92, 5A4E0B4680BEF36609CCB39F + 22: DAF7F1B830B44D3DF0C9EBFEAADEA5C7B05C95FDAF99, E07473B038982705DCC379F8 + 23: 04B5B1FA59C850080C443021D56D05E38F3F0E8EDAA431, FED7EF959CAFA4C46F287642 + 24: 2195B5AC30D18BB4B4E2CF4ECA676AC969D4DE1F75431CB5, 73CBF496CE3865689FF6940E + 25: CABB3B3E015FC40A552997218C19EA9CA46AF3B8C112D2C851, 5E7D1CFFE431D6A789A0B7E1 + 26: 5D7AC58EAC3F9733B7DACD3BF010A2F3DE58EEDFBD08C90012B5, C39BE513008766FF434FAB59 + 27: 9EBDD6B64335CDF1769427E593FCD2252672E5BB26C6058FACBAA6, D67D59CE706192BC7A86FE03 + 28: 12A6AFDEC392297EA69122BFF101E854AA2443DCEFB1AFDDC68004E6, 1E39B518AEB583A8B9A5C0D6 + 29: C120BA1C6F4FB5A861EFE07DE75568383AE5DDDB96A112D9D7CD9DBB62, 992705B0D8F95C60D5CB6C3D + 30: BCADA89F88D120CD55BA00E9BA4D4B670B276D44B31903F5127957D20818, C512451CCC3A0ABD6278DFC8 + 31: AEEB302F3F3A97A84FA98B2B01189CBB928A493D799A0317DC8A007B65B1D1, F6856D4470B16F3B8602E75C + 32: 5AAD53E89DC06F1E84A2FD8CCDD36BA6F47D14D01F04D48EDCC27E948BFF683B, 38C20D94346AD5403738686D + 0: , 2563E2D182ABFF2B2EEF6852B554 + 1: 33, E277D16A8F3ED557E38BC608AF5B + 2: E20E, 2784623E05CEB3B2E31FAEA73525 + 3: 42F4BF, FE14A557F49C02F3966DA8DE2668 + 4: CEB2B732, 348845C86E91F3E1A4C46FD72E65 + 5: 264764008F, 857EB830B15A7EBA1B3F5CEF215E + 6: 518CB1ACCE9F, B005EA47FA5E72068A61C33520F5 + 7: 4AC3EC55EE4A95, EC9F7A18965C68963AFDAD26CA19 + 8: 2A3C1EAD95B0D45D, 3D8ABFE65BAB65ABA4C3194FE54B + 9: E6D901C91EF5EEB339, E4CEEC4B44C0B1CAA30FE6D33B19 + 10: 62B15A5948F36EE3CDDA, A56DD8F04357FE86B023932CE8C9 + 11: 2B27AD3AEB7CB2A587582E, 42A9242F68486EAC8B1FE18F9AE5 + 12: 21D108C92B48F6263277544C, CDF154F44F007FA95CA5AD5CA323 + 13: 4590D69EE9952C64CCF310AEA6, 9ECCBB7E655041AB6CEC41668EA2 + 14: 60B1A210E4607F937A9FAB8E079A, C837E2A448ABDD83DC197C9D893C + 15: C8C4124CE976A68A1052DB25F51BEF, DB07500D19EA150F14085DCBE400 + 16: 71A756AD320BEE7C513F3210C088CB41, 900127FE0997B3E79A8880D62D47 + 17: 133BBC8ED72F269A5593A10E537AC801C4, B5AB6682BFB669C82BEE38242DEA + 18: 3AA44688160403908A1C2FFAA9F8D0B294B2, BCFC5616590F8B53B97CBBE9F5DB + 19: ACF6E799FA4C0B86C8264533A97B23080E3C1D, 80CACEF28CCCAC0DD0EF90B34917 + 20: BC292FAB803E3901330ECC533A38E50444C5BC19, 2EA5F7D65B108F2C5AB25BCA8EFF + 21: 0A38406D1C466372639547568C9C717B8A1A075671, AB960902BFB1894C3BA2B3EF945E + 22: 546BA94CC4820534F3BD3C8D8A6AD3C6F0BA38E027CD, 03EE97F7054AEADD82469E31F61D + 23: D6112621EA3DDA4F274EC177E18D834EA3BA6F74F78ED9, 886B16339C87449FA065E5605A0E + 24: B841A97227036C16488E6F4B0A15CCF986838BFED41FED36, E1F8443E0E9048CECBD24F323A5F + 25: 714AB86C76F68F9AA867D19BEE0DF20CB32703ACB53E53CA0E, 17888526D8B19FA8801281CE9D72 + 26: D89664AB9A0F888A68ABBD63A1658147CFE15C36BE8CDF0F7DDE, 83F081F0CE749542FD39640444D2 + 27: 1F4A486CF0CE22B1692B473086D9757A4A3F32DEBD003EA8C2D414, B2A1A82D8578D4B32848A5EDEE18 + 28: 090BCA569B1E36CCDD12EFD7E560D2CF4CAD081CAD475D62D119C8B0, E5F18E4189A3F3AD2EF04A3341E3 + 29: 1DBF0670C27821B66210D218C5CD528DD1F2D1BAC8CBA9CC1B3A87CA04, 2635F425B1FC7AAA8A082C0FFBF8 + 30: 5923092213EC6CA393B8EFE77F93371990CA775CD592E346A17C4E460DD4, 56F733DE7E0782550C5D70CF6021 + 31: E94FBA8D5E23F50247E4A76C765F8B7B1282085D9E0560BE2B9B0DE38F7C7A, F40237AD42C339343748A2AECBB4 + 32: FCF4B1DC6A66A089AE1C490719F237F3C5D54815AB15002552E40E6DED4F7116, AE0190342133297978F22E2BA7CC + 0: , 90AA97B50C07B986CB22CE872262E5C8 + 1: 24, A17C03DE0302D7075560152B9B571296 + 2: E71D, EB34CB795E72DFE8E23DA2497A7CCEE7 + 3: DB282E, 22FA05C05D5E39954CA3A0721AD895D9 + 4: 4A8CD9F1, 92AA478A5481E46D75C78E9ADE315EDF + 5: 292113BF17, 9D9928E79D69A5529228A768DFDF9EEC + 6: CDA03305EBEC, 494D04B066BADE132A572FF91E9ADEB2 + 7: 8405AFEA0C0D0F, A19976B5AA565B22AA94CD53666311CB + 8: 07F1CF1261CB2EB1, 642D12B2CEB9EA5E51A4BBADC899B62A + 9: D40F09F568AA18A5D5, 51106D7E38E82E4224936E6BE87BD6FE + 10: B9FD96EEB4C083AB8F24, 3EDD1218E5D0E7FDE7382256896E9D50 + 11: 7A92B4B1D48FABF1E3C4BC, 85008D81EEE47EF5EF9CF1ABA5FA3192 + 12: 9A57AA2A53A20903D012F2FF, 42176606CD9761644A50734143F1BEF4 + 13: E02FC265EEDF4E054EEA9B67D5, 7E8C4D257585825193841E98D7817167 + 14: 8A4151DEA78733E9B0BF30999911, 532BC2053D878AB7B5735E5E76416949 + 15: 2B731483944FE17BDED1C4D82E445E, E9987032CF901151B2BC633C0E955A24 + 16: 3FE0EC707A6E3C6139A598AD4E33E691, 6D720C056BD515C47C7020740E4D9A08 + 17: BAD9E039C3484A82C34DE809C0192D8C44, 06FF6E8854A56C5A087FBB5430C7725A + 18: 44B84F959B9F49792AC21434934F4ABF1AC3, A009DE1545E568F01E07F260AC40A7FA + 19: 583997186D8178E21AD153F092CC74066FC31F, F7965FEE8032320F8CCE9B071ECD62AB + 20: 7D92C03380F205831C12375ACC8B3D3A60A603D0, 2BC6032B17B8E461FBDE288BC0B86F24 + 21: AFE60F59BF76FD749F376C07CBAE1A5AAB3FDC47DA, F06CDFE41A4A7A257BDAEE38A1A6C51F + 22: 777B7AE4D0CCE4A85EEA7C6AFDD873B4A24811E6858A, 0CDCA826713FABED9A9A5233592998DB + 23: 7A7A7D5A0E62DE9BD11BF575500EE1BBDC92118503C047, 7891D8A92A433DF21E23AF5678DCA245 + 24: D24E417D3CAB127A903DF61787C4267A654D54ABAC40B881, 02B4A82A1D8EEAE25206E09484E8F21B + 25: 3AE54F568B547BE4FB08DF08E66B857A871C1ED089180AF2D4, 64380971D369C2B3B3C406BC496917D4 + 26: AE93815622C1A312F649EE0C43E2051E3CB6FE89FA2421CFE971, ED0B5E2BD855ABFE30CB4A1A456B839A + 27: 1501CF3202EBDE271A744258A8B05E84DD004B7AB5212264EB1AC1, EF09930B4430025D38B3B1C1B74B37C2 + 28: 9B144CDF671DAD15F1C6F831A784D71C72F5A32F3C7EA3B9C6718D5A, C79C989950E567CB39B4E973CB016676 + 29: 740E8222265774D1D1F284AA87049023C665F98F27D0C38966E3D61038, F790E6A40C16F92EC7694C5C035A9934 + 30: CF9DF272EFE7FA591E354CEC9EB137326A271388D709168CD54FF6C60993, 7C1D7575DE7AC6300CB4D1D18661B4A7 + 31: D9060D154C44B69D9A78D6120CEB0ABDA7C1F994639CB6D2343B5BA3FE5645, FD9F4A81F1C4618A68A32C79C53BA8AE + 32: 39210B2EE8FBFB0980B0923AFF21098E8A0433B3DE9267FE5327C25DA98243F3, AA120B8DCD6AED7F118E313492799988 + diff --git a/notes/cipher_tv.txt b/notes/cipher_tv.txt index 91871daeb..deb7b941f 100644 --- a/notes/cipher_tv.txt +++ b/notes/cipher_tv.txt @@ -2711,3 +2711,161 @@ Key Size: 16 bytes 49: 5B63CCF731964AE0 +Cipher: aria +Key Size: 16 bytes + 0: 3695A47E0769B8BC008F08A86CC4FFF8 + 1: 55E66FAD984182821B6AD5D04910E46B + 2: 3AE9467D43627664AE5A8105A9A92F76 + 3: 9AE2A40603AC6CE3A83358214C2C4F2C + 4: AA3AB3178CE134B1B98D810F5F0ADDD5 + 5: 379606E74A852BFFF0BD46D566D5A5B4 + 6: D88024B37E50CB5F6C68B1625F430DB6 + 7: F3A98DA54E2510B251D85367F6326DE9 + 8: 26B9CB286EF66D579DD6B844508CC25E + 9: BAFC25D2C3D908FFE726E4A9727BF495 +10: 355753896F22BB2AFB356F18973939A1 +11: CF501B48BB560B6B41648A84D97A6734 +12: E7BCE3D6E563A0B59D3EA246DAE280A4 +13: 45430823942F0F9DF101BCE822821F68 +14: E567EA19718B1E2D3DA1B0961D263223 +15: 6185A0169F25832D9BD96113EBF9AF98 +16: F67DC68A640F7E963F7E2E7081C746D1 +17: BE282B5B8F1F3B21E3446015819C7D28 +18: 6DD329D41BDEA735C42682B86620543A +19: 478C6FBF37920760C3D1E6231154BFA8 +20: E779DA9F7212FDAFD4EDDC1D36CC4B58 +21: 3B907C49703FE80B3021C74902955059 +22: AF5FB955DA202FDDB0D798DD80E8B2AB +23: 394CC417848EE5E97D390EF835F5410C +24: A085C4F75C52F4DF1287A0C0A31443EF +25: 7086F322EBE1C7F0C47874A234ACA6CD +26: D45ACA191DD34634CF1397DAEF05F5C4 +27: 8763982FEB2950CA361C52CFA988D249 +28: 2526AC457E3273F36CD5D64B357CC1E1 +29: 9D66F9FEFFE623BFC8813D198280957D +30: 1E62E9A48770DCF368300C7D94862166 +31: D08DC945AA802521DAF5B1366312E565 +32: E281AAA3EFADB713A1CAFEC7D9869B8F +33: 7DBB3C8A50DA05DCB77F9534378FFF04 +34: 6C51128A9C52F900A6CA27D4D9F3D8EC +35: 66774F28347AC500B96C15B7950CA921 +36: C3BC7CF80C6690370DE03564280C6296 +37: F14FFD45E1843FAF42D377FC5519B224 +38: 388BA2674166A18EF8A8B9E8CCF19A37 +39: 6221BE1657C3C23033E7C544F2ACA6B1 +40: 3B812BF3986E2CBF2944463C11920DFC +41: EAFC40F1CE618EE64E77526BB98D2819 +42: 8CB89CAE684318CDBF67357EC919DEE8 +43: C0BBA8DBD8ECBB8F05B540990D969D04 +44: F847097D4A7612BDFEBC46A66F93B9E7 +45: 82CEC54B264E47BDE31B8B86442F9421 +46: C820EB3A1BF677241CA55558956AEA92 +47: A50FA76E1F393450BA957B3BEBFE5645 +48: 3F98041E073246C6686888FB0B66DF9E +49: E776B3CCDDDD8B4B5B9E76B2C5B5FEE4 + +Key Size: 24 bytes + 0: F8EA29AD7147AEA21BAE5E6FBC072043 + 1: D8C9D25F9F17C017F7CA3315566A99AD + 2: ACD004A86CCA4C5A2FEF97E67F6A5D42 + 3: FBF99B1D7551207B6F3FCD2A5C7F332A + 4: C81E841C0B226072AAAB5F3C8A2C0DBB + 5: 264C640CDFAA39AAEF93FDE8B2617197 + 6: 5F81807DAB5FB538287288EA67FED679 + 7: 08E50137C580DDF0D97DFA3D13EEEE0B + 8: E9C4F0C07D3C13AEC0F32A35C526F7E3 + 9: F769DEF392BB4D8549918603A43866F8 +10: F03B155CFF8338D7D6EEADCDD237B4BC +11: AC785DC1D7D9B66B1AB4477CEC915FDC +12: C531AA347A3438995CCA45A5BD852FFA +13: A2FD071FAFAF2172CB818CCEF5209C3E +14: 335213D8AE4D5C05146E52166F90A565 +15: C1508EC236C02EF9C4DDBB7D29246F63 +16: F49D498176557784545F015A7E3EBEA6 +17: 2BE9CC25FB15FFC39DB77E8636FEF2D3 +18: DC579EFB38827165FB4FC991234B01AF +19: 2BDE9D960FB95E81645CF2E8D7CC485B +20: EEFD756254227B095E103E0D2DE1B681 +21: 031B3FF77B524E9E74AC644A73ED8F09 +22: B999A6342B941BCE258BDC7F37D8887D +23: A934B1ADDE23E1BC6C5DC64EB4A733FA +24: 8ADDB0EC58E24B3426030D49A3D90E01 +25: 98711688EF7599B5360951C2FCED1120 +26: 0BDE2ACC4EE241B4359634149344FC09 +27: E37AAD591BFC42C4F2D09B27458FC6F1 +28: 17310092AFE8144E6366EAFD4C07B44C +29: 02E7B2B49A7A1C0A96B74076ACE41754 +30: BCCA7FE26C4C05BD5D2533E2019D21BB +31: 4A640FACF036C738DCBF2EE58D9C1E97 +32: EDFE6F4C79D2F68B11B23CFB4A89E2E7 +33: 69CAE5D89958BCF7A0FD78EF28ECA55D +34: BAD69A5DAFA57262055ADE11A81D55AE +35: 5132BA5DCF0998D9861CA7C18ECBC4DE +36: FCD6EBF03877BD3662EF785BF2BAE964 +37: 51E2BFAF6E9A3E2E5B0206F0F60DF493 +38: DE6DD7322837EB4FE1BA974B7AE4D472 +39: B9ABA31132DBB35D61F9CBC4437EB722 +40: A341DEEF979581A5832633C88FD0042F +41: C1F78528B8AA0B83E7FA8D8EF8EA69F8 +42: 99B12F98E888A0EEA34938A6542C879C +43: AF0DC93FC94F9CFE2973129D17F18BBF +44: 0220334326752A04DED075B6BA229D5F +45: 37A150872EE52C2E543F8619D47FDEF3 +46: 8CEF792935CB636FDA26A8AF30E8528A +47: 36B8D87CCCA06E8B9DB2F29F3E858A73 +48: 042734CDB7613040E45108378B6951DC +49: 0B39A290BA404D25D7185796402AD202 + +Key Size: 32 bytes + 0: 7A859561FF6F42DF04A242BFEA4FE9DC + 1: 20540CDDDFD2160AF4A55D21B9A913D2 + 2: FD3E564A447B29CA6208B55B16006BEE + 3: 07CB348B6E05F3245A8981E76C6DE1DD + 4: DFF7C4DF0632B2606361CEA72114D525 + 5: 2197CCAE47D3844E853DC3C8602306A9 + 6: 35DA6E1A1AD475B95D184F6AFB64A65D + 7: FD151D1B78346527C6543625BE9F720E + 8: C67F97EC96BACF270F246EC064C6CB21 + 9: DF35B84B7A0CF56325C4E3074F1474E6 +10: D5C7783410013D10A92EED5D4E479D28 +11: E674734662089B404A5EC46872F9CDA2 +12: 19AAAA10A0AAD38215614E2235967F48 +13: 2E6B255992B4FB5E6CC80DB1D10D9A15 +14: 88D51AA86D66783281BF217273EB7DC4 +15: AD4B57CC3DCD1378092015F1208CA988 +16: 01889F84CD5257EE14D0A3D75E79C6A0 +17: 5B009E244DDE80589443B726F81A873E +18: FF765A4C965D326B5F354BEC2A20FC44 +19: 6A2E424C6C29C1994932148AAE26989E +20: E4EA98370C90BCD08268502422F7D679 +21: 3DE45B7FC95FB13741E1E917FBA0EE6A +22: A078640BCFC1C892028B72321316CBD7 +23: 7989791F3005CC14FCB8D65A5766A935 +24: 819133854C6B0A03D641F9ED5B4F81C7 +25: 27B2D93F3FFBAE16A85C4F7822B06BD5 +26: FED3206F3B3AA98ACA902535C1745D83 +27: 2AADFCDC9884FB73305BCC847FC0482F +28: D157178EC248E3A17DE0C365BA370299 +29: 54BE4FE4EC6C0A7E1A7BADEFFAE6543C +30: 4A99D84F1D6BC17B7D1A51875478B169 +31: 86D354A1F80852974C215A0D3340B122 +32: B42D7284A4D393FF3B9A651C043CAB76 +33: D2193CF1BB4DCCD3BCFD615D12FB8ACA +34: 7097ED7BB156221EC99FF0782EC4FB03 +35: BD4293B0F1CCA48367E672C976FBEE64 +36: C9272C36FC3CFF79BA725E3388386A78 +37: C26DF02CD377ABADCF7C792AAA28F22E +38: 75D0669296A1423D6E59E3A11A94080B +39: 5EAA7227B51A993B396B5306388D4B7B +40: DB92537C3EDFB4A97C5FC12B1B2A41A5 +41: 973D6A28FC0FF2B56B9D76B16FCC19AF +42: 8E104E5678718A7356A28F162F294D1F +43: FD92D131A1BC8C49659FF11ADF49BE76 +44: 234CDF3DEF8151B919B56BDDDFA0E5D8 +45: 3416E08B8DB741DE80FE22D7F90F3088 +46: F25E353111BCD3E16E85E912082AD9C7 +47: 3FF977A7D4EE198ACDD08A6C98EBA72B +48: AC240B97F21B0536CA23E716C333C9E6 +49: 42CD43E39EA52D7C5904C4B24157996B + + diff --git a/notes/eax_tv.txt b/notes/eax_tv.txt index efa15c174..f13e18d57 100644 --- a/notes/eax_tv.txt +++ b/notes/eax_tv.txt @@ -694,3 +694,38 @@ EAX-tea (16 byte key) 15: 457B9E88FD12B1D508D545A5EF74C2, 7A03467F15043DBF 16: BFF0EF485331FAC285BE3B9DFEA372CE, FE06E955E5EE5930 +EAX-aria (16 byte key) + 0: , F185A77011AE5FF024BE604518A1EAFF + 1: 4F, 5A4D972501DB2B9D9A2AA17FFA517B36 + 2: 1449, 2DDBD36696DDACD6799F3E1BECCD48EB + 3: B649C4, FA5D60EEE2F5C0AD5179523742E87B1C + 4: 91C1FDCD, D283F0C8DFE4A97A52914A02F7E35B33 + 5: 0D15000B03, 4268C8904D50BF94BBEAC6BDA6EC1CCE + 6: 900A3FD2538D, FE52AA79D98E9A43F9D1F9E29A331809 + 7: 839ECAD087A1B6, 742062F8759A6DC74D58C8C61F862B56 + 8: FB302E87C1B96FCB, 5B79570CD6AC1A1EBFA376C4798095AD + 9: 5FF3A012C633B4CC6A, 7C054B1C6EE751885630B2A92FAF6BE9 + 10: 87A3A7283E9B40C141CD, 00912C6719BA32CE8269C1008144DF31 + 11: AB9CB957617E783B2B02F6, 07B4C5BB517551897F32FF55ACA053CD + 12: 2957DECEE9C214F6DE046479, 19451013D0C44F97EE1078E83B8D611B + 13: 322D7DCAF0E8F41065EA9FD797, B715D9BC1BFEFFAAC7C2891A25047668 + 14: 318FD07CAEC7D0D1223EA2ECF242, 4E94AB2B44E9B63C6AF0ACC68676A110 + 15: 8C9E0AF8A5120D8A86775D50CE06A4, 3C5C9579C468CA971835F7CD580EC9E8 + 16: ED1C246F9C3FBA08830A87E757F908EA, 3EA59A00880A61FB18971E3D78A4F426 + 17: 97F0DDAA0CFF8F1361823CAFC1D0CC0063, 9C11F8332CCF5D317341E052B628B6B5 + 18: 96CD5793C6A3816A7986316F1642E0748FD1, 4F4D3581476BE7D5316D6DAB4A7C7B0B + 19: 586564B8AAF406D003223E93935F8D0011D27B, 25684388BBD30917774669B445428102 + 20: 638EB00875761A0F4CF276D200D8F2F2BCB75AEC, B8061E7B837698EF855528AE6D899103 + 21: C9E438B63857D7FDFA858889FE4A755BB000348159, 482A9551C6A40BC4F88A9689BFDAE457 + 22: A905C47F063FA0BFE5794F56C71D4E1A34B9006F9C39, 446FE158D13D9866EDFBE051BEF2F994 + 23: DB118B2A3C8BF87085269CC3F0874C20F075B1D7E49BB9, D0A5126BD8BB4B1EEAA4EA250FA2D1B4 + 24: 6E3969111903437FD3A666B30F24782C21340180331441AE, 754A5F33307702AC9BA5455864130FA8 + 25: D625A2045CA6557ACAF4D68A8D77E09458263D7EF053AA85F2, AB2512561CE643A27CB8783E845A48AD + 26: 56AAF078D444A78566B5032D725D252BD62499DE196BEAB9CBEB, E5DC34D84457B1E6ED6C94D5B317C280 + 27: C45902F58AAE867AEA2A04AA440AFA61803D08D59FFA15640EEB41, B1D00ED9B3F2471FC643E74FCEC1CF31 + 28: 64F13A8599F9297BC84686FA0033F20827AF27C55186495F66BFE25D, 6A3BB6A711CBBF0BA8AFA355A53A355F + 29: 376A701BF469B9CF2C52BCAF9FEDD93C4258EBC4368926D2462F177160, F2246D580085A981373B9C07A57CBD6E + 30: 2A90205AA92CDC87893A31A2DE1B4A334C62A3646CB218137F970AC602BA, C50403F076F38EFAF68BB2D4872035A3 + 31: 9989A35D07A20179A5BDCA2ECBC09F16593B1CB0B6BC66CD10755B44EEF3CF, F59F46552C0350941809788D067F1B5C + 32: 0564682D16FE78CC5A93438E1662B2852A530F86B3DEF1D424B6A44FE04E4D67, DE7265B9740611937190B77EFCA574F7 + diff --git a/notes/gcm_tv.txt b/notes/gcm_tv.txt index 5098f82c6..80d41b17e 100644 --- a/notes/gcm_tv.txt +++ b/notes/gcm_tv.txt @@ -342,3 +342,37 @@ GCM-serpent (16 byte key) 31: 4331553A74B44F279B6B007E9714322105AE73ADB83A7FBC5A622DDFAFAED6, EB4781C244484C51A155F2A0F78D38FE 32: 855378D251F29B822948E3788176E96247B7CA292D4DEF383FFD936BE3F7F42B, 6A08DF742301EED938AECC730D187AD2 +GCM-aria (16 byte key) + 1: 2B, 588D8A797D5CEB2AA14B26B23DE380C4 + 2: 0724, 884B5363AB5AA07AE0C8A410BD079A7E + 3: 44018B, EA3C6C6C053E06CCCF16B6B32855FC66 + 4: A5DB6607, 7F95AAD5C450A5B9DC0F57DEC357AB68 + 5: 9B70EE197C, FA09A2E3CD4BFD3DAFDA909D111F80BC + 6: 0F23E0728B81, 758C5D228EEC2A3BB515E9B36FEA1FDD + 7: 038F215412C0A8, 12F30C9639C93BCC4FCD8F12F182B6E3 + 8: 1D291AAE5E5C8F5D, 2DB28263C719467FAD40E27778EA4641 + 9: E3DE58E2B25B6FAEA8, 64C197A174D8198F349253F60EBDAD81 + 10: C08DE0A91662B88E9D77, 98CDC565E1EC01AFDD1C4161C2C33281 + 11: B6CED209A6E1F65F3DDCD1, 5F6D9CBECF9C803BAA257BE52796C3FE + 12: 4A42C425D548FD9C821D77F5, 321EF78B7C41BCB774EDA7825894579D + 13: 6E9391A1E7F005472C977B2A29, CAF81BD97237A31948048F99AD1E0E2D + 14: 730A2CAA7C6A0FC93F9CE9B3EEB7, A351C84B4C70C3CC231DF1369D89AD69 + 15: FC64D7F6406569814B6C3CBEF0C38B, A0C355049D2E7428BC5E62E276C31A73 + 16: 41F9DF6FA26922ECCB989FE278B07AB7, DB4B01EA6F44397A3FEF8E323B5D60F6 + 17: C408D91E56F31F3914BDA7DBFDF6896195, FEC1FB48EA866788272445CB572190CE + 18: 652BC2873039D4774F41E73338D5D67D912A, 77ED1D0B0EDBA46AB71FE93F00B4B9D7 + 19: B6933250A2EB77EE9B45B7A565A600757505E3, 1185254D942974C01A62F8069F910C27 + 20: 2AD1147927FAE72D54FB7C9972DFDC1D04B22B67, 86D6D4894A8B545937B649924DFDA239 + 21: DFB11C924CAB8478B5F760BB6345394BE8059B93B3, B20124792ABB6CE18C8B7D8A1DDBECD9 + 22: AE9872F53CF169D205684F14686B7D9B2D5026E54E1B, 8F8E9E7020807E13125157698A4DFDDC + 23: 3E5A6D47BE6BF6AC6671BDCEE57357A92EBC0D6D00145B, 30E724C92A189C869D73CB69D3FACF4B + 24: 74E0639EC83808E217A2B81D5B8C25E5E1629E3C8948BD24, 557B10EF8C133072267BA2C646DBAEE7 + 25: CA74B6109BA5591E29AB3405968F383234B18EF12B39AA3151, 670C1911DC49E03AAA0928B15D4F304B + 26: B74784A0C1A346A3307FD9F79361EED8CC99A5AFDEED56701DD8, D513308E7F73B9672C2E47C1DF3CD042 + 27: A66B9C824790EBB44A85711E675242421F40F915FE41188D9B4AE2, 62B6B7EE20E526E2E711A5F163E26686 + 28: 6A2F04E886BD16ACE2B371A3F9724009A934F7777DA52943FF7DF947, 6F8E87E8EF5D5DBABF2AD8655BD8D083 + 29: 1A22F02D01AA1F20C4ADE774A02A91F98EC77C5CBD1FEE5AF11567A6A0, EA8D55F23CF93E4ECF797C7EBF8117CC + 30: E2EA78F8DDEEF6E2A3D296EA54997FEC9E0721926F72AE9097A0EE861085, 40A17EBE8FF9271038FE7624139E3C7B + 31: 2AA70145E304090A0CA4E12EBF238573C8EC8749AD048D957A869E4A4E221A, E6FF72B33CA247D666084CB696085B48 + 32: 05B4268A698F214E5A05BA41C2B010F589EC063372F9C019D311D983EEEC4426, B5A5601BEF292E284F5F73AD9F1343DC + diff --git a/notes/ocb3_tv.txt b/notes/ocb3_tv.txt index 82b562e30..36d8693b5 100644 --- a/notes/ocb3_tv.txt +++ b/notes/ocb3_tv.txt @@ -352,3 +352,38 @@ OCB3-serpent (16 byte key) 31: F7435456F02EE5ACE92F7E1F29D239A09AEB487BDA78B08A40837547CBFDC7, 86E15E8711A93AE7F89808D21BD69AD6 32: 9D49A127710AE66D612C8E7089CB254523109DFBB0ED2A3E44412C3BD81326FA, 624FA0DF639EB14A5A337273886E6CE5 +OCB3-aria (16 byte key) + 0: , 9A8EA3D2791D38324C9BACC96BCF82CE + 1: 19, 446F5F8D49C6BAC154EA8384E64A1D48 + 2: 5A83, C90961D9AB29CECAA99F951A95D23F22 + 3: 807DDC, 3BA6934C1CCE61E9EDA066E41EFF0AD7 + 4: 327F5BEE, 0318AF9016A92112CC543E031A1A51A2 + 5: FFF8DC35BA, A026C07E6DE112EE2B8498A8F396042D + 6: 5B5F1FE15EE7, 0318F0DCDF6E9773AE2E37D5C5DB5A99 + 7: F2C6EB3475234A, 9D6110EC3D8B616F374EC39F6C275D49 + 8: 4AA76358FB75F90F, CE3863400E138EFC71FD4205CBCA5D77 + 9: EC82D7475865843ADE, CF515D04E6739F3A0A8B819BA3515A33 + 10: 19C4E18F818398446949, EEAA0AC20B13766BA15D95CC9464097F + 11: 86F1E3908368E3084DB6D0, 9C00BEE8D20E35EA3EE3F81FB474EF42 + 12: BAF2D547F49B43A60418357B, C2C9BCF9F1B5CAB46DE38E175592BA3C + 13: 5BE6212E3764AE40213683EB13, 861258B08C082561494E73768222ABC9 + 14: 4C17C291FDE263C277FB559D262E, 6E605A88B38F7E5306E1DEB145970F4C + 15: 6ACF32B0ADF1AB382DBCB3F8ED4EE3, BF32F0C42281A24024E0BDA55F67F649 + 16: 42DEF2781B15E36A450A4764841EC4AD, 787EEFFD05338B32935225CD9844EC5D + 17: DBF633AEADBB9005FA8A21310AD91C7EC7, AC70191276E1E5032FBF0BB14E51F68F + 18: C22A89EC15DCB4B5B3E168B2A424FF4D30E6, E4DD5206C09735952CDD742D889B4815 + 19: 88146C16D2B00FFEA71408F72093290406AF1A, 51DCCA474F2AE7D311537B0D8ECCC061 + 20: 796C82E676AB7954CDFE20CB7CA708EAF78D3884, 09730904D0C499AB8CF493A0B02E438D + 21: CFD3CBE0AEAA34880FD193D5F4DC4F6102AB55C93A, C5FD5C351C0345225B7EC8D8D50AA580 + 22: 2318BB06AEC36FDA7827BE179C75E5874CBA42FB9F02, C4A2C3EFC2E443A8E13C73BD5F8B7A38 + 23: 5FE4AFB1E643F87CCC1E82118843B116BD6A3CF0096666, 77840F0DCE8A8C51F2D77B2634C71302 + 24: E25A2D277F5A592901159534E947F0D20F448FE5F5E938E0, 1966E0C0E2DAFE83C904B34389922564 + 25: 67F94D9AC1D7B65630E24D4CEDB286CF8B6C0BCE9B750BDF4C, B1D1E6C0E7FB73F65FD8D1C96A3741EA + 26: A22F24E4543CCE061DFCE9AF3B8A1330C6B5FE47B0D16AC272A3, 1C1F0D79857F79A6A8B9433992E8D959 + 27: 83AC68A0B2D52C850FE35E88215042C69EBFBAA1BB778BA6D7BF84, 2B496731C5EAEAECB8600B9E92A9544A + 28: 106FDE139F9930C3F5AC457D22B11F779D971BB24DDB34DD602B1364, 56B7B8B59AE5F2AC8F9F31296082AC09 + 29: CD4AB7BD24BE095D9503EBCF54A338F4D85A9F7932D97DA006C82491ED, B7DA2A86C88D7EB2580D65F30D15E546 + 30: B5173B221C65F10D09F2EBD46B7F0CD06E8D75EEF0FC06800BFD68A656D5, 174B7440789F41C7882A3D8C4F988FF7 + 31: ACFE0D3632331B2295274A572631E9A592554B01B24146175000C00DA69348, 97C729946ADC709ED269C1829E53109C + 32: A9981E51A873F0E175591974DF9EF7079FFE785F7EF7ACFE76618533C0FB490E, 827005A3E65F0E018308B32CFEEB5AA9 + diff --git a/notes/omac_tv.txt b/notes/omac_tv.txt index 4e86098a2..5a11a86e0 100644 --- a/notes/omac_tv.txt +++ b/notes/omac_tv.txt @@ -694,3 +694,38 @@ OMAC-tea (16 byte key) 15: 33F078C713C6DA61 16: BB936D1B0427DD4F +OMAC-aria (16 byte key) + 0: 67A59B2EB6F1FCBE11D03B919CE21D74 + 1: 217E6B5334A102372909BE481A40096B + 2: 62717F16F92963789D11578B85F0DE38 + 3: 5DD6246AA71A202591FB0F71F7768B13 + 4: 254F7E8EB8E07CB75FF2652CC8B7BB99 + 5: 96FF1A46353CCD4384BA76C394A32AB9 + 6: B879A9845200C450633F7F08E1825463 + 7: 2E8A63D5EEDE87C132953B6DD5E6D1DF + 8: A9E9B43F84B32897843B941FB73858E1 + 9: 45F43AFB9D05DD69C12965A073EC3C24 + 10: DF03CD63C572DF4CD5537F528D0163A1 + 11: 300F0A6287C0F502F1C61E93262AD5B9 + 12: E01203F8B448F38C11DF3D185ECB9098 + 13: 824CEE843D99CCD59BADB05B1094D5ED + 14: 2C30622B448B6D29BD4712BB8C0EF9D1 + 15: AA4AACCFC4C831482C1E03180AAE849C + 16: 56098D3E4A8E4A5DBD8813E1CBCE7C10 + 17: 299E1DD62ABC03BEF1F4B16DB6EE5DA2 + 18: 0E4A1C1FA5168D5EE11958CB239FAE3C + 19: 347675845EE92E88B2F3CA39D83913C4 + 20: 277EA996C0644D9160C19A0A110F2F26 + 21: 9EF273E90ECF4B64AD341007F7665004 + 22: 72665C1EC2D1ED3D388DF9FCB52C1548 + 23: 8A286DE26FBEE852CA9EF042E090E33D + 24: E20999726B222B05267291BB0753B4DA + 25: 4724172D40E10BFA4E459C3BF2B34250 + 26: 352854D9F47B1EC253400A31B87A2F82 + 27: BFBBCDCEBA180255FB2591CEF984A919 + 28: CCCDFA6C6BE9F12E50855EBE11A99993 + 29: F247E6AF74BF433C992C376B61C94B22 + 30: 7D76C11A122437CC5A839D85B11DF173 + 31: 3485958402AF7C6A606BE91F45734EF8 + 32: B66E63BC0D9523C93FD5D89E716008B5 + diff --git a/notes/pmac_tv.txt b/notes/pmac_tv.txt index d99311a4e..d1d4e2bb0 100644 --- a/notes/pmac_tv.txt +++ b/notes/pmac_tv.txt @@ -694,3 +694,38 @@ PMAC-tea (16 byte key) 15: B63413E18BEC7ABE 16: 200DA2D5CD5B9AA9 +PMAC-aria (16 byte key) + 0: 2CE69C7A23FC33E16BCE520FF817A5B1 + 1: 3A0A6074E3A355AF2B01EC6E2A9D1743 + 2: DE301897CB79D1433F1EF129A7095D7E + 3: 42D58203CE8A9156CA2AF2DA8E73E9A7 + 4: 3FE6DA83BDFF1BCBACD774378B240A00 + 5: A41049220180391995DF4A1F5012537F + 6: E7F61B5FB93FCA8CBF7444BB13169DFB + 7: 818876083F41B10D64CA019C573835BA + 8: 7B85D7BDFBD58647DD1D3AA70CDBF37A + 9: E52F9631A00AC724B4F9F6F10E0C827A + 10: 060AC14DE545A11A54F891C628974FCD + 11: E3C2BA3377011C4F7460DDCAF2B09B75 + 12: 15D1FAA72C1D6343CEC360A79A28BC4C + 13: F31CF0E65EBFE9E03C3AA5855BB0FEB8 + 14: 317B7B98E32E92290E1796C2F2DE8E99 + 15: FAC6AB8267C4E86917111C26A0F4AC6D + 16: F4E050290E133AF04F6738E2DE072186 + 17: C21EC6D64D24E1F4E6C2C0C39684FF32 + 18: 1DD883F28421077EC104706AF0A19C8B + 19: 362762240DFBB8AB8F23C3E3FBC64551 + 20: 61BCBB5E7AD28BF7639E34523194D886 + 21: FB033E6D2C3889DCBFC8C1A56B22EDD2 + 22: E548BD72650272DB7190E0AF423CCA6B + 23: 590E55E4F78FA503A0139A0A7197086B + 24: F6EF0C277329C94B04C6083712E12E28 + 25: 6D09C97F3FD331E5E010EC0239A6A701 + 26: EEEAA8881DD36342D614054FC74BF97F + 27: 30F84E0E94898C3898065A1B4935C183 + 28: 73D68BCD84986788AF945A03CD186B01 + 29: 8B7A7DE1F289245E8F0E41D61B98C246 + 30: 5509778C82C66012D90F6B0C801835D0 + 31: 09D6855B8081BF8D6F5E9736A5A0D4DA + 32: FE18CE0DCDC76D00452F1568A2F6D0D9 + diff --git a/sources.cmake b/sources.cmake index 0d3ef35e0..e4a72c110 100644 --- a/sources.cmake +++ b/sources.cmake @@ -4,6 +4,7 @@ src/ciphers/aes/aes_desc.c src/ciphers/aes/aes_tab.c src/ciphers/aes/aesni.c src/ciphers/anubis.c +src/ciphers/aria.c src/ciphers/blowfish.c src/ciphers/camellia.c src/ciphers/cast5.c diff --git a/src/ciphers/aria.c b/src/ciphers/aria.c new file mode 100644 index 000000000..858754cae --- /dev/null +++ b/src/ciphers/aria.c @@ -0,0 +1,298 @@ +/* LibTomCrypt, modular cryptographic library -- Tom St Denis */ +/* SPDX-License-Identifier: Unlicense */ + +/** + @file aria.c + ARIA block cipher (RFC 5794) +*/ +#include "tomcrypt_private.h" + +#ifdef LTC_ARIA + +const struct ltc_cipher_descriptor aria_desc = { + "aria", + 29, + 16, 32, 16, 12, /* min_key_len, max_key_len, block_len, default_rounds */ + &aria_setup, + &aria_ecb_encrypt, + &aria_ecb_decrypt, + &aria_test, + &aria_done, + &aria_keysize, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL +}; + +/* SB1: AES forward S-box */ +static const unsigned char SB1[256] = { + 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5,0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76, + 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0,0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0, + 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc,0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15, + 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a,0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75, + 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0,0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84, + 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b,0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf, + 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85,0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8, + 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5,0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2, + 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17,0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73, + 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88,0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb, + 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c,0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79, + 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9,0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08, + 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6,0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a, + 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e,0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e, + 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94,0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf, + 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68,0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 +}; + +/* SB2 */ +static const unsigned char SB2[256] = { + 0xe2,0x4e,0x54,0xfc,0x94,0xc2,0x4a,0xcc,0x62,0x0d,0x6a,0x46,0x3c,0x4d,0x8b,0xd1, + 0x5e,0xfa,0x64,0xcb,0xb4,0x97,0xbe,0x2b,0xbc,0x77,0x2e,0x03,0xd3,0x19,0x59,0xc1, + 0x1d,0x06,0x41,0x6b,0x55,0xf0,0x99,0x69,0xea,0x9c,0x18,0xae,0x63,0xdf,0xe7,0xbb, + 0x00,0x73,0x66,0xfb,0x96,0x4c,0x85,0xe4,0x3a,0x09,0x45,0xaa,0x0f,0xee,0x10,0xeb, + 0x2d,0x7f,0xf4,0x29,0xac,0xcf,0xad,0x91,0x8d,0x78,0xc8,0x95,0xf9,0x2f,0xce,0xcd, + 0x08,0x7a,0x88,0x38,0x5c,0x83,0x2a,0x28,0x47,0xdb,0xb8,0xc7,0x93,0xa4,0x12,0x53, + 0xff,0x87,0x0e,0x31,0x36,0x21,0x58,0x48,0x01,0x8e,0x37,0x74,0x32,0xca,0xe9,0xb1, + 0xb7,0xab,0x0c,0xd7,0xc4,0x56,0x42,0x26,0x07,0x98,0x60,0xd9,0xb6,0xb9,0x11,0x40, + 0xec,0x20,0x8c,0xbd,0xa0,0xc9,0x84,0x04,0x49,0x23,0xf1,0x4f,0x50,0x1f,0x13,0xdc, + 0xd8,0xc0,0x9e,0x57,0xe3,0xc3,0x7b,0x65,0x3b,0x02,0x8f,0x3e,0xe8,0x25,0x92,0xe5, + 0x15,0xdd,0xfd,0x17,0xa9,0xbf,0xd4,0x9a,0x7e,0xc5,0x39,0x67,0xfe,0x76,0x9d,0x43, + 0xa7,0xe1,0xd0,0xf5,0x68,0xf2,0x1b,0x34,0x70,0x05,0xa3,0x8a,0xd5,0x79,0x86,0xa8, + 0x30,0xc6,0x51,0x4b,0x1e,0xa6,0x27,0xf6,0x35,0xd2,0x6e,0x24,0x16,0x82,0x5f,0xda, + 0xe6,0x75,0xa2,0xef,0x2c,0xb2,0x1c,0x9f,0x5d,0x6f,0x80,0x0a,0x72,0x44,0x9b,0x6c, + 0x90,0x0b,0x5b,0x33,0x7d,0x5a,0x52,0xf3,0x61,0xa1,0xf7,0xb0,0xd6,0x3f,0x7c,0x6d, + 0xed,0x14,0xe0,0xa5,0x3d,0x22,0xb3,0xf8,0x89,0xde,0x71,0x1a,0xaf,0xba,0xb5,0x81 +}; + +/* SB3: AES inverse S-box */ +static const unsigned char SB3[256] = { + 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38,0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb, + 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87,0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb, + 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d,0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e, + 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2,0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25, + 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16,0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92, + 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda,0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84, + 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a,0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06, + 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02,0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b, + 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea,0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73, + 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85,0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e, + 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89,0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b, + 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20,0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4, + 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31,0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f, + 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d,0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef, + 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0,0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61, + 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26,0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d +}; + +/* SB4 */ +static const unsigned char SB4[256] = { + 0x30,0x68,0x99,0x1b,0x87,0xb9,0x21,0x78,0x50,0x39,0xdb,0xe1,0x72,0x09,0x62,0x3c, + 0x3e,0x7e,0x5e,0x8e,0xf1,0xa0,0xcc,0xa3,0x2a,0x1d,0xfb,0xb6,0xd6,0x20,0xc4,0x8d, + 0x81,0x65,0xf5,0x89,0xcb,0x9d,0x77,0xc6,0x57,0x43,0x56,0x17,0xd4,0x40,0x1a,0x4d, + 0xc0,0x63,0x6c,0xe3,0xb7,0xc8,0x64,0x6a,0x53,0xaa,0x38,0x98,0x0c,0xf4,0x9b,0xed, + 0x7f,0x22,0x76,0xaf,0xdd,0x3a,0x0b,0x58,0x67,0x88,0x06,0xc3,0x35,0x0d,0x01,0x8b, + 0x8c,0xc2,0xe6,0x5f,0x02,0x24,0x75,0x93,0x66,0x1e,0xe5,0xe2,0x54,0xd8,0x10,0xce, + 0x7a,0xe8,0x08,0x2c,0x12,0x97,0x32,0xab,0xb4,0x27,0x0a,0x23,0xdf,0xef,0xca,0xd9, + 0xb8,0xfa,0xdc,0x31,0x6b,0xd1,0xad,0x19,0x49,0xbd,0x51,0x96,0xee,0xe4,0xa8,0x41, + 0xda,0xff,0xcd,0x55,0x86,0x36,0xbe,0x61,0x52,0xf8,0xbb,0x0e,0x82,0x48,0x69,0x9a, + 0xe0,0x47,0x9e,0x5c,0x04,0x4b,0x34,0x15,0x79,0x26,0xa7,0xde,0x29,0xae,0x92,0xd7, + 0x84,0xe9,0xd2,0xba,0x5d,0xf3,0xc5,0xb0,0xbf,0xa4,0x3b,0x71,0x44,0x46,0x2b,0xfc, + 0xeb,0x6f,0xd5,0xf6,0x14,0xfe,0x7c,0x70,0x5a,0x7d,0xfd,0x2f,0x18,0x83,0x16,0xa5, + 0x91,0x1f,0x05,0x95,0x74,0xa9,0xc1,0x5b,0x4a,0x85,0x6d,0x13,0x07,0x4f,0x4e,0x45, + 0xb2,0x0f,0xc9,0x1c,0xa6,0xbc,0xec,0x73,0x90,0x7b,0xcf,0x59,0x8f,0xa1,0xf9,0x2d, + 0xf2,0xb1,0x00,0x94,0x37,0x9f,0xd0,0x2e,0x9c,0x6e,0x28,0x3f,0x80,0xf0,0x3d,0xd3, + 0x25,0x8a,0xb5,0xe7,0x42,0xb3,0xc7,0xea,0xf7,0x4c,0x11,0x33,0x03,0xa2,0xac,0x60 +}; + +/* SL1: i mod 4 -> {SB1,SB2,SB3,SB4}; SL2: i mod 4 -> {SB3,SB4,SB1,SB2} */ +static const unsigned char * const SL[2][4] = { + { SB1, SB2, SB3, SB4 }, + { SB3, SB4, SB1, SB2 } +}; + +/* RFC 5794 round-key constants C1, C2, C3 */ +static const unsigned char CC[3][16] = { + { 0x51,0x7c,0xc1,0xb7,0x27,0x22,0x0a,0x94,0xfe,0x13,0xab,0xe8,0xfa,0x9a,0x6e,0xe0 }, + { 0x6d,0xb1,0x4a,0xcc,0x9e,0x21,0xc8,0x20,0xff,0x28,0xb1,0xd5,0xef,0x5d,0xe2,0xb0 }, + { 0xdb,0x92,0x37,0x1d,0x21,0x26,0xe9,0x70,0x03,0x24,0x97,0x75,0x04,0xe8,0xc9,0x0e } +}; + +/* Diffusion layer A (involution), RFC 5794 section 2.4.3 */ +static LTC_INLINE void s_aria_A(const unsigned char *x, unsigned char *y) +{ + y[ 0] = x[ 3] ^ x[ 4] ^ x[ 6] ^ x[ 8] ^ x[ 9] ^ x[13] ^ x[14]; + y[ 1] = x[ 2] ^ x[ 5] ^ x[ 7] ^ x[ 8] ^ x[ 9] ^ x[12] ^ x[15]; + y[ 2] = x[ 1] ^ x[ 4] ^ x[ 6] ^ x[10] ^ x[11] ^ x[12] ^ x[15]; + y[ 3] = x[ 0] ^ x[ 5] ^ x[ 7] ^ x[10] ^ x[11] ^ x[13] ^ x[14]; + y[ 4] = x[ 0] ^ x[ 2] ^ x[ 5] ^ x[ 8] ^ x[11] ^ x[14] ^ x[15]; + y[ 5] = x[ 1] ^ x[ 3] ^ x[ 4] ^ x[ 9] ^ x[10] ^ x[14] ^ x[15]; + y[ 6] = x[ 0] ^ x[ 2] ^ x[ 7] ^ x[ 9] ^ x[10] ^ x[12] ^ x[13]; + y[ 7] = x[ 1] ^ x[ 3] ^ x[ 6] ^ x[ 8] ^ x[11] ^ x[12] ^ x[13]; + y[ 8] = x[ 0] ^ x[ 1] ^ x[ 4] ^ x[ 7] ^ x[10] ^ x[13] ^ x[15]; + y[ 9] = x[ 0] ^ x[ 1] ^ x[ 5] ^ x[ 6] ^ x[11] ^ x[12] ^ x[14]; + y[10] = x[ 2] ^ x[ 3] ^ x[ 5] ^ x[ 6] ^ x[ 8] ^ x[13] ^ x[15]; + y[11] = x[ 2] ^ x[ 3] ^ x[ 4] ^ x[ 7] ^ x[ 9] ^ x[12] ^ x[14]; + y[12] = x[ 1] ^ x[ 2] ^ x[ 6] ^ x[ 7] ^ x[ 9] ^ x[11] ^ x[12]; + y[13] = x[ 0] ^ x[ 3] ^ x[ 6] ^ x[ 7] ^ x[ 8] ^ x[10] ^ x[13]; + y[14] = x[ 0] ^ x[ 3] ^ x[ 4] ^ x[ 5] ^ x[ 9] ^ x[11] ^ x[14]; + y[15] = x[ 1] ^ x[ 2] ^ x[ 4] ^ x[ 5] ^ x[ 8] ^ x[10] ^ x[15]; +} + +/* Round: state := A( SLj(state XOR rk) ), where j selects SL1 or SL2 */ +static LTC_INLINE void s_aria_round(int j, unsigned char *state, const unsigned char *rk) +{ + unsigned char t[16]; + int i; + for (i = 0; i < 16; i++) t[i] = SL[j][i & 3][state[i] ^ rk[i]]; + s_aria_A(t, state); +} + +/* 128-bit left circular rotation by 'count' bits (0 < count < 128, count not a multiple of 8) */ +static void s_aria_rotl128(const unsigned char *in, unsigned count, unsigned char *out) +{ + unsigned x, w = (count >> 3) & 15, b = count & 7; + for (x = 0; x < 16; x++) { + out[x] = (unsigned char)((in[(x + w) & 15] << b) | (in[(x + w + 1) & 15] >> (8 - b))); + } +} + +int aria_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey) +{ + /* left-rotation amounts for round-key groups 0..4 (>>>19 = <<<109, >>>31 = <<<97) */ + static const unsigned rot_amt[5] = { 109, 97, 61, 31, 19 }; + /* per key size: index of which constant goes into CK1, CK2, CK3 */ + static const unsigned char ck_idx[3][3] = { {0,1,2}, {1,2,0}, {2,0,1} }; + unsigned char W[4][16], t[16], rW[16]; + int i, k, j, n, sel; + + LTC_ARGCHK(key != NULL); + LTC_ARGCHK(skey != NULL); + if (keylen != 16 && keylen != 24 && keylen != 32) return CRYPT_INVALID_KEYSIZE; + n = 8 + keylen / 4; /* 12, 14, 16 */ + if (num_rounds != 0 && num_rounds != n) return CRYPT_INVALID_ROUNDS; + skey->aria.R = n; + + /* W0 = KL = first 16 bytes of key */ + XMEMCPY(W[0], key, 16); + /* KR padded with zeros into t (reused as KR scratch) */ + zeromem(t, 16); + if (keylen > 16) XMEMCPY(t, key + 16, (size_t)keylen - 16); + + /* W1 = FO(W0, CK1) XOR KR; W2 = FE(W1, CK2) XOR W0; W3 = FO(W2, CK3) XOR W1 */ + sel = (keylen - 16) / 8; + XMEMCPY(W[1], W[0], 16); + s_aria_round(0, W[1], CC[ck_idx[sel][0]]); + for (i = 0; i < 16; i++) W[1][i] ^= t[i]; + XMEMCPY(W[2], W[1], 16); + s_aria_round(1, W[2], CC[ck_idx[sel][1]]); + for (i = 0; i < 16; i++) W[2][i] ^= W[0][i]; + XMEMCPY(W[3], W[2], 16); + s_aria_round(0, W[3], CC[ck_idx[sel][2]]); + for (i = 0; i < 16; i++) W[3][i] ^= W[1][i]; + + /* Encryption round keys: ek_{4k+j+1} = W[j] XOR ROL128(W[(j+1)%4], rot_amt[k]) */ + for (k = 0; k <= n; k++) { + j = k & 3; + s_aria_rotl128(W[(j + 1) & 3], rot_amt[k >> 2], rW); + for (i = 0; i < 16; i++) skey->aria.ek[k * 16 + i] = W[j][i] ^ rW[i]; + } + + /* Decryption round keys: dk1 = ek_{n+1}; dk_{n+1} = ek1; dk_i = A(ek_{n+2-i}) */ + XMEMCPY(skey->aria.dk, skey->aria.ek + n * 16, 16); + XMEMCPY(skey->aria.dk + n * 16, skey->aria.ek, 16); + for (i = 1; i < n; i++) s_aria_A(skey->aria.ek + (n - i) * 16, skey->aria.dk + i * 16); + + return CRYPT_OK; +} + +static LTC_INLINE void s_aria_crypt(const unsigned char *in, unsigned char *out, const unsigned char *rk, int n) +{ + unsigned char state[16], t[16]; + int r, i; + + XMEMCPY(state, in, 16); + for (r = 0; r < n - 1; r++) { + s_aria_round(r & 1, state, rk + r * 16); + } + /* final round: SL2 substitution + XOR with last round key (no diffusion) */ + for (i = 0; i < 16; i++) t[i] = SL[1][i & 3][state[i] ^ rk[(n - 1) * 16 + i]]; + for (i = 0; i < 16; i++) out[i] = t[i] ^ rk[n * 16 + i]; +} + +int aria_ecb_encrypt(const unsigned char *pt, unsigned char *ct, const symmetric_key *skey) +{ + LTC_ARGCHK(pt != NULL); + LTC_ARGCHK(ct != NULL); + LTC_ARGCHK(skey != NULL); + s_aria_crypt(pt, ct, skey->aria.ek, skey->aria.R); + return CRYPT_OK; +} + +int aria_ecb_decrypt(const unsigned char *ct, unsigned char *pt, const symmetric_key *skey) +{ + LTC_ARGCHK(pt != NULL); + LTC_ARGCHK(ct != NULL); + LTC_ARGCHK(skey != NULL); + s_aria_crypt(ct, pt, skey->aria.dk, skey->aria.R); + return CRYPT_OK; +} + +void aria_done(symmetric_key *skey) +{ + LTC_UNUSED_PARAM(skey); +} + +int aria_keysize(int *keysize) +{ + LTC_ARGCHK(keysize != NULL); + if (*keysize >= 32) *keysize = 32; + else if (*keysize >= 24) *keysize = 24; + else if (*keysize >= 16) *keysize = 16; + else return CRYPT_INVALID_KEYSIZE; + return CRYPT_OK; +} + +int aria_test(void) +{ +#ifndef LTC_TEST + return CRYPT_NOP; +#else + /* RFC 5794, Appendix A */ + static const struct { + int keylen; + unsigned char key[32], pt[16], ct[16]; + } tests[] = { + { 16, + { 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f }, + { 0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0xaa,0xbb,0xcc,0xdd,0xee,0xff }, + { 0xd7,0x18,0xfb,0xd6,0xab,0x64,0x4c,0x73,0x9d,0xa9,0x5f,0x3b,0xe6,0x45,0x17,0x78 } }, + { 24, + { 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f, + 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17 }, + { 0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0xaa,0xbb,0xcc,0xdd,0xee,0xff }, + { 0x26,0x44,0x9c,0x18,0x05,0xdb,0xe7,0xaa,0x25,0xa4,0x68,0xce,0x26,0x3a,0x9e,0x79 } }, + { 32, + { 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f, + 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f }, + { 0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0xaa,0xbb,0xcc,0xdd,0xee,0xff }, + { 0xf9,0x2b,0xd7,0xc7,0x9f,0xb7,0x2e,0x2f,0x2b,0x8f,0x80,0xc1,0x97,0x2d,0x24,0xfc } } + }; + unsigned char buf[2][16]; + symmetric_key skey; + int err; + unsigned int x; + + for (x = 0; x < LTC_ARRAY_SIZE(tests); x++) { + zeromem(&skey, sizeof(skey)); + if ((err = aria_setup(tests[x].key, tests[x].keylen, 0, &skey)) != CRYPT_OK) return err; + if ((err = aria_ecb_encrypt(tests[x].pt, buf[0], &skey)) != CRYPT_OK) { aria_done(&skey); return err; } + if ((err = aria_ecb_decrypt(tests[x].ct, buf[1], &skey)) != CRYPT_OK) { aria_done(&skey); return err; } + aria_done(&skey); + if (ltc_compare_testvector(tests[x].ct, 16, buf[0], 16, "ARIA Encrypt", x) || + ltc_compare_testvector(tests[x].pt, 16, buf[1], 16, "ARIA Decrypt", x)) { + return CRYPT_FAIL_TESTVECTOR; + } + } + return CRYPT_OK; +#endif +} + +#endif diff --git a/src/headers/tomcrypt_cipher.h b/src/headers/tomcrypt_cipher.h index 6e900bb50..0cf7feec2 100644 --- a/src/headers/tomcrypt_cipher.h +++ b/src/headers/tomcrypt_cipher.h @@ -184,6 +184,13 @@ struct tea_key { }; #endif +#ifdef LTC_ARIA +struct aria_key { + unsigned char ek[17 * 16], dk[17 * 16]; + int R; +}; +#endif + typedef union Symmetric_key { #ifdef LTC_DES struct des_key des; @@ -255,6 +262,9 @@ typedef union Symmetric_key { #endif #ifdef LTC_TEA struct tea_key tea; +#endif +#ifdef LTC_ARIA + struct aria_key aria; #endif void *data; } symmetric_key; @@ -898,6 +908,16 @@ int tea_keysize(int *keysize); extern const struct ltc_cipher_descriptor tea_desc; #endif +#ifdef LTC_ARIA +int aria_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); +int aria_ecb_encrypt(const unsigned char *pt, unsigned char *ct, const symmetric_key *skey); +int aria_ecb_decrypt(const unsigned char *ct, unsigned char *pt, const symmetric_key *skey); +int aria_test(void); +void aria_done(symmetric_key *skey); +int aria_keysize(int *keysize); +extern const struct ltc_cipher_descriptor aria_desc; +#endif + #ifdef LTC_ECB_MODE int ecb_start(int cipher, const unsigned char *key, int keylen, int num_rounds, symmetric_ECB *ecb); diff --git a/src/headers/tomcrypt_custom.h b/src/headers/tomcrypt_custom.h index 75e738fc9..665487a4c 100644 --- a/src/headers/tomcrypt_custom.h +++ b/src/headers/tomcrypt_custom.h @@ -216,6 +216,7 @@ #define LTC_IDEA #define LTC_SERPENT #define LTC_TEA +#define LTC_ARIA /* stream ciphers */ #define LTC_CHACHA diff --git a/src/misc/crypt/crypt.c b/src/misc/crypt/crypt.c index a670d69bb..fd477ef44 100644 --- a/src/misc/crypt/crypt.c +++ b/src/misc/crypt/crypt.c @@ -129,6 +129,9 @@ const char *crypt_build_settings = #endif #if defined(LTC_TEA) " TEA\n" +#endif +#if defined(LTC_ARIA) + " ARIA\n" #endif "Stream ciphers built-in:\n" #if defined(LTC_CHACHA) diff --git a/src/misc/crypt/crypt_register_all_ciphers.c b/src/misc/crypt/crypt_register_all_ciphers.c index 5193ff906..5622595db 100644 --- a/src/misc/crypt/crypt_register_all_ciphers.c +++ b/src/misc/crypt/crypt_register_all_ciphers.c @@ -99,6 +99,9 @@ int register_all_ciphers(void) #endif #ifdef LTC_TEA REGISTER_CIPHER(&tea_desc); +#endif +#ifdef LTC_ARIA + REGISTER_CIPHER(&aria_desc); #endif return CRYPT_OK; } diff --git a/src/misc/pem/pem.c b/src/misc/pem/pem.c index 1e8cc0132..ac42facd8 100644 --- a/src/misc/pem/pem.c +++ b/src/misc/pem/pem.c @@ -93,6 +93,24 @@ const struct blockcipher_info pem_dek_infos[] = { .name = "AES-128-OFB,", .algo = "aes", .keylen = 128 / 8, .mode = cm_ofb, }, { .name = "AES-192-OFB,", .algo = "aes", .keylen = 192 / 8, .mode = cm_ofb, }, { .name = "AES-256-OFB,", .algo = "aes", .keylen = 256 / 8, .mode = cm_ofb, }, + { .name = "ARIA-128-CBC,", .algo = "aria", .keylen = 128 / 8, .mode = cm_cbc, }, + { .name = "ARIA-192-CBC,", .algo = "aria", .keylen = 192 / 8, .mode = cm_cbc, }, + { .name = "ARIA-256-CBC,", .algo = "aria", .keylen = 256 / 8, .mode = cm_cbc, }, + { .name = "ARIA-128-CFB,", .algo = "aria", .keylen = 128 / 8, .mode = cm_cfb, }, + { .name = "ARIA-192-CFB,", .algo = "aria", .keylen = 192 / 8, .mode = cm_cfb, }, + { .name = "ARIA-256-CFB,", .algo = "aria", .keylen = 256 / 8, .mode = cm_cfb, }, + { .name = "ARIA-128-CFB1,", .algo = "aria", .keylen = 128 / 8, .mode = cm_cfb1, }, + { .name = "ARIA-192-CFB1,", .algo = "aria", .keylen = 192 / 8, .mode = cm_cfb1, }, + { .name = "ARIA-256-CFB1,", .algo = "aria", .keylen = 256 / 8, .mode = cm_cfb1, }, + { .name = "ARIA-128-CFB8,", .algo = "aria", .keylen = 128 / 8, .mode = cm_cfb8, }, + { .name = "ARIA-192-CFB8,", .algo = "aria", .keylen = 192 / 8, .mode = cm_cfb8, }, + { .name = "ARIA-256-CFB8,", .algo = "aria", .keylen = 256 / 8, .mode = cm_cfb8, }, + { .name = "ARIA-128-CTR,", .algo = "aria", .keylen = 128 / 8, .mode = cm_ctr, }, + { .name = "ARIA-192-CTR,", .algo = "aria", .keylen = 192 / 8, .mode = cm_ctr, }, + { .name = "ARIA-256-CTR,", .algo = "aria", .keylen = 256 / 8, .mode = cm_ctr, }, + { .name = "ARIA-128-OFB,", .algo = "aria", .keylen = 128 / 8, .mode = cm_ofb, }, + { .name = "ARIA-192-OFB,", .algo = "aria", .keylen = 192 / 8, .mode = cm_ofb, }, + { .name = "ARIA-256-OFB,", .algo = "aria", .keylen = 256 / 8, .mode = cm_ofb, }, { .name = "BF-CBC,", .algo = "blowfish", .keylen = 128 / 8, .mode = cm_cbc, }, { .name = "BF-CFB,", .algo = "blowfish", .keylen = 128 / 8, .mode = cm_cfb, }, { .name = "BF-OFB,", .algo = "blowfish", .keylen = 128 / 8, .mode = cm_ofb, }, diff --git a/tests/pem/pkcs/unsupported/rsa-aria-128-cbc.pem b/tests/pem/pkcs/rsa-aria-128-cbc.pem similarity index 100% rename from tests/pem/pkcs/unsupported/rsa-aria-128-cbc.pem rename to tests/pem/pkcs/rsa-aria-128-cbc.pem diff --git a/tests/pem/pkcs/unsupported/rsa-aria-128-cfb.pem b/tests/pem/pkcs/rsa-aria-128-cfb.pem similarity index 100% rename from tests/pem/pkcs/unsupported/rsa-aria-128-cfb.pem rename to tests/pem/pkcs/rsa-aria-128-cfb.pem diff --git a/tests/pem/pkcs/unsupported/rsa-aria-128-cfb1.pem b/tests/pem/pkcs/rsa-aria-128-cfb1.pem similarity index 100% rename from tests/pem/pkcs/unsupported/rsa-aria-128-cfb1.pem rename to tests/pem/pkcs/rsa-aria-128-cfb1.pem diff --git a/tests/pem/pkcs/unsupported/rsa-aria-128-cfb8.pem b/tests/pem/pkcs/rsa-aria-128-cfb8.pem similarity index 100% rename from tests/pem/pkcs/unsupported/rsa-aria-128-cfb8.pem rename to tests/pem/pkcs/rsa-aria-128-cfb8.pem diff --git a/tests/pem/pkcs/unsupported/rsa-aria-128-ctr.pem b/tests/pem/pkcs/rsa-aria-128-ctr.pem similarity index 100% rename from tests/pem/pkcs/unsupported/rsa-aria-128-ctr.pem rename to tests/pem/pkcs/rsa-aria-128-ctr.pem diff --git a/tests/pem/pkcs/unsupported/rsa-aria-128-ofb.pem b/tests/pem/pkcs/rsa-aria-128-ofb.pem similarity index 100% rename from tests/pem/pkcs/unsupported/rsa-aria-128-ofb.pem rename to tests/pem/pkcs/rsa-aria-128-ofb.pem diff --git a/tests/pem/pkcs/unsupported/rsa-aria-192-cbc.pem b/tests/pem/pkcs/rsa-aria-192-cbc.pem similarity index 100% rename from tests/pem/pkcs/unsupported/rsa-aria-192-cbc.pem rename to tests/pem/pkcs/rsa-aria-192-cbc.pem diff --git a/tests/pem/pkcs/unsupported/rsa-aria-192-cfb.pem b/tests/pem/pkcs/rsa-aria-192-cfb.pem similarity index 100% rename from tests/pem/pkcs/unsupported/rsa-aria-192-cfb.pem rename to tests/pem/pkcs/rsa-aria-192-cfb.pem diff --git a/tests/pem/pkcs/unsupported/rsa-aria-192-cfb1.pem b/tests/pem/pkcs/rsa-aria-192-cfb1.pem similarity index 100% rename from tests/pem/pkcs/unsupported/rsa-aria-192-cfb1.pem rename to tests/pem/pkcs/rsa-aria-192-cfb1.pem diff --git a/tests/pem/pkcs/unsupported/rsa-aria-192-cfb8.pem b/tests/pem/pkcs/rsa-aria-192-cfb8.pem similarity index 100% rename from tests/pem/pkcs/unsupported/rsa-aria-192-cfb8.pem rename to tests/pem/pkcs/rsa-aria-192-cfb8.pem diff --git a/tests/pem/pkcs/unsupported/rsa-aria-192-ctr.pem b/tests/pem/pkcs/rsa-aria-192-ctr.pem similarity index 100% rename from tests/pem/pkcs/unsupported/rsa-aria-192-ctr.pem rename to tests/pem/pkcs/rsa-aria-192-ctr.pem diff --git a/tests/pem/pkcs/unsupported/rsa-aria-192-ofb.pem b/tests/pem/pkcs/rsa-aria-192-ofb.pem similarity index 100% rename from tests/pem/pkcs/unsupported/rsa-aria-192-ofb.pem rename to tests/pem/pkcs/rsa-aria-192-ofb.pem diff --git a/tests/pem/pkcs/unsupported/rsa-aria-256-cbc.pem b/tests/pem/pkcs/rsa-aria-256-cbc.pem similarity index 100% rename from tests/pem/pkcs/unsupported/rsa-aria-256-cbc.pem rename to tests/pem/pkcs/rsa-aria-256-cbc.pem diff --git a/tests/pem/pkcs/unsupported/rsa-aria-256-cfb.pem b/tests/pem/pkcs/rsa-aria-256-cfb.pem similarity index 100% rename from tests/pem/pkcs/unsupported/rsa-aria-256-cfb.pem rename to tests/pem/pkcs/rsa-aria-256-cfb.pem diff --git a/tests/pem/pkcs/unsupported/rsa-aria-256-cfb1.pem b/tests/pem/pkcs/rsa-aria-256-cfb1.pem similarity index 100% rename from tests/pem/pkcs/unsupported/rsa-aria-256-cfb1.pem rename to tests/pem/pkcs/rsa-aria-256-cfb1.pem diff --git a/tests/pem/pkcs/unsupported/rsa-aria-256-cfb8.pem b/tests/pem/pkcs/rsa-aria-256-cfb8.pem similarity index 100% rename from tests/pem/pkcs/unsupported/rsa-aria-256-cfb8.pem rename to tests/pem/pkcs/rsa-aria-256-cfb8.pem diff --git a/tests/pem/pkcs/unsupported/rsa-aria-256-ctr.pem b/tests/pem/pkcs/rsa-aria-256-ctr.pem similarity index 100% rename from tests/pem/pkcs/unsupported/rsa-aria-256-ctr.pem rename to tests/pem/pkcs/rsa-aria-256-ctr.pem diff --git a/tests/pem/pkcs/unsupported/rsa-aria-256-ofb.pem b/tests/pem/pkcs/rsa-aria-256-ofb.pem similarity index 100% rename from tests/pem/pkcs/unsupported/rsa-aria-256-ofb.pem rename to tests/pem/pkcs/rsa-aria-256-ofb.pem diff --git a/tests/test.c b/tests/test.c index 7a01f4482..16093244d 100644 --- a/tests/test.c +++ b/tests/test.c @@ -196,6 +196,9 @@ static void s_unregister_all(void) #ifdef LTC_SERPENT unregister_cipher(&serpent_desc); #endif +#ifdef LTC_ARIA + unregister_cipher(&aria_desc); +#endif #ifdef LTC_TIGER unregister_hash(&tiger2_desc);