/* ****************************************************************************** * INTERPEAK SOURCE FILE * * Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: iphwcrypto_evptest.c,v $ $Revision: 1.8.48.1 $ * $Source: /home/interpeak/CVSRoot/iphwcrypto/src/iphwcrypto_evptest.c,v $ * $Author: zan $ * $State: Exp $ $Locker: $ * * INTERPEAK_COPYRIGHT_STRING * Design and implementation by Markus Carlstedt ****************************************************************************** */ /* **************************************************************************** * 1 DESCRIPTION **************************************************************************** */ /* **************************************************************************** * 2 CONFIGURATION **************************************************************************** */ #include "iphwcrypto_config.h" #if defined(IPCRYPTO) && defined(IPHWCRYPTO_CREATE_EVP_TEST_FILE) /* **************************************************************************** * 3 INCLUDE FILES **************************************************************************** */ #define IPCOM_USE_CLIB_PROTO #include #include #include #include #include #include "iphwcrypto.h" #include "iphwcrypto_h.h" /* **************************************************************************** * 4 DEFINES **************************************************************************** */ /* **************************************************************************** * 5 TYPES **************************************************************************** */ /* **************************************************************************** * 6 EXTERN PROTOTYPES **************************************************************************** */ /* **************************************************************************** * 7 LOCAL PROTOTYPES **************************************************************************** */ /* **************************************************************************** * 8 DATA **************************************************************************** */ /* Test file name */ IP_STATIC IP_CONST char *testfilename = IPCOM_FILE_ROOT"evptests"; /* Test specification for IPCRYPTO evp_test function */ IP_STATIC IP_CONST char *iphwcrypto_evptests[] = { "#cipher:key:iv:plaintext:ciphertext:0/1(decrypt/encrypt)\n", "#digest:::input:output\n", "\n", "# MD5 tests\n", "MD5::::d41d8cd98f00b204e9800998ecf8427e\n", "MD5:::61:0cc175b9c0f1b6a831c399e269772661\n", "MD5:::616263:900150983cd24fb0d6963f7d28e17f72\n", "MD5:::6d65737361676520646967657374:f96b697d7cb7938d525a2f31aaf161d0\n", "MD5:::6162636465666768696a6b6c6d6e6f707172737475767778797a:c3fcd3d76192e4007dfb496cca67e13b\n", "MD5:::4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a30313233343536373839:d174ab98d277d9f5a5611c2c9f419d9f\n", "MD5:::3132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930:57edf4a22be3c955ac49da2e2107b67a\n", "\n", "# SHA1 tests\n", "SHA1:::616263:a9993e364706816aba3e25717850c26c9cd0d89d\n", "\n", "# DES-CBC tests\n", "DES-CBC:0123456789abcdef:fedcba9876543210:37363534333231204E6F77206973207468652074696D6520666F722000000000:ccd173ffab2039f4acd8aefddfd8a1eb468e91157888ba681d269397f7fe62b4\n", "\n", "# DES-ECB tests \n", "DES-ECB:0000000000000000::0000000000000000:8CA64DE9C1B123A7\n", "DES-ECB:FFFFFFFFFFFFFFFF::FFFFFFFFFFFFFFFF:7359B2163E4EDC58\n", "DES-ECB:3000000000000000::1000000000000001:958E6E627A05557B\n", "DES-ECB:1111111111111111::1111111111111111:F40379AB9E0EC533\n", "DES-ECB:0123456789ABCDEF::1111111111111111:17668DFC7292532D\n", "DES-ECB:1111111111111111::0123456789ABCDEF:8A5AE1F81AB8F2DD\n", "DES-ECB:0000000000000000::0000000000000000:8CA64DE9C1B123A7\n", "DES-ECB:FEDCBA9876543210::0123456789ABCDEF:ED39D950FA74BCC4\n", "DES-ECB:7CA110454A1A6E57::01A1D6D039776742:690F5B0D9A26939B\n", "DES-ECB:0131D9619DC1376E::5CD54CA83DEF57DA:7A389D10354BD271\n", "DES-ECB:07A1133E4A0B2686::0248D43806F67172:868EBB51CAB4599A\n", "DES-ECB:3849674C2602319E::51454B582DDF440A:7178876E01F19B2A\n", "DES-ECB:04B915BA43FEB5B6::42FD443059577FA2:AF37FB421F8C4095\n", "DES-ECB:0113B970FD34F2CE::059B5E0851CF143A:86A560F10EC6D85B\n", "DES-ECB:0170F175468FB5E6::0756D8E0774761D2:0CD3DA020021DC09\n", "DES-ECB:43297FAD38E373FE::762514B829BF486A:EA676B2CB7DB2B7A\n", "DES-ECB:07A7137045DA2A16::3BDD119049372802:DFD64A815CAF1A0F\n", "DES-ECB:04689104C2FD3B2F::26955F6835AF609A:5C513C9C4886C088\n", "DES-ECB:37D06BB516CB7546::164D5E404F275232:0A2AEEAE3FF4AB77\n", "DES-ECB:1F08260D1AC2465E::6B056E18759F5CCA:EF1BF03E5DFA575A\n", "DES-ECB:584023641ABA6176::004BD6EF09176062:88BF0DB6D70DEE56\n", "DES-ECB:025816164629B007::480D39006EE762F2:A1F9915541020B56\n", "DES-ECB:49793EBC79B3258F::437540C8698F3CFA:6FBF1CAFCFFD0556\n", "DES-ECB:4FB05E1515AB73A7::072D43A077075292:2F22E49BAB7CA1AC\n", "DES-ECB:49E95D6D4CA229BF::02FE55778117F12A:5A6B612CC26CCE4A\n", "DES-ECB:018310DC409B26D6::1D9D5C5018F728C2:5F4C038ED12B2E41\n", "DES-ECB:1C587F1C13924FEF::305532286D6F295A:63FAC0D034D9F793\n", "DES-ECB:0101010101010101::0123456789ABCDEF:617B3A0CE8F07100\n", "DES-ECB:1F1F1F1F0E0E0E0E::0123456789ABCDEF:DB958605F8C8C606\n", "DES-ECB:E0FEE0FEF1FEF1FE::0123456789ABCDEF:EDBFD1C66C29CCC7\n", "DES-ECB:0000000000000000::FFFFFFFFFFFFFFFF:355550B2150E2451\n", "DES-ECB:FFFFFFFFFFFFFFFF::0000000000000000:CAAAAF4DEAF1DBAE\n", "DES-ECB:0123456789ABCDEF::0000000000000000:D5D44FF720683D0D\n", "DES-ECB:FEDCBA9876543210::FFFFFFFFFFFFFFFF:2A2BB008DF97C2F2\n", "\n", "# DES-EDE3-CBC tests\n", "DES-EDE3-CBC:0123456789abcdeff1e0d3c2b5a49786fedcba9876543210:fedcba9876543210:37363534333231204E6F77206973207468652074696D6520666F722000000000:3FE301C962AC01D02213763C1CBD4CDC799657C064ECF5D41C673812CFDE9675\n", "\n", "# DES-EDE3 tests\n", "DES-EDE3:0123456789abcdef23456789abcdef01456789abcdef0123::4e6f772069732074:314f8327fa7a09a8\n", "\n", "# AES-128-CBC tests\n", "AES-128-CBC:2B7E151628AED2A6ABF7158809CF4F3C:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:7649ABAC8119B246CEE98E9B12E9197D\n", "AES-128-CBC:2B7E151628AED2A6ABF7158809CF4F3C:7649ABAC8119B246CEE98E9B12E9197D:AE2D8A571E03AC9C9EB76FAC45AF8E51:5086CB9B507219EE95DB113A917678B2\n", "AES-128-CBC:2B7E151628AED2A6ABF7158809CF4F3C:5086CB9B507219EE95DB113A917678B2:30C81C46A35CE411E5FBC1191A0A52EF:73BED6B8E3C1743B7116E69E22229516\n", "AES-128-CBC:2B7E151628AED2A6ABF7158809CF4F3C:73BED6B8E3C1743B7116E69E22229516:F69F2445DF4F9B17AD2B417BE66C3710:3FF1CAA1681FAC09120ECA307586E1A7\n", "# AES-128-ECB tests\n", "AES-128-ECB:2B7E151628AED2A6ABF7158809CF4F3C::6BC1BEE22E409F96E93D7E117393172A:3AD77BB40D7A3660A89ECAF32466EF97\n", "AES-128-ECB:2B7E151628AED2A6ABF7158809CF4F3C::AE2D8A571E03AC9C9EB76FAC45AF8E51:F5D3D58503B9699DE785895A96FDBAAF\n", "AES-128-ECB:2B7E151628AED2A6ABF7158809CF4F3C::30C81C46A35CE411E5FBC1191A0A52EF:43B1CD7F598ECE23881B00E3ED030688\n", "AES-128-ECB:2B7E151628AED2A6ABF7158809CF4F3C::F69F2445DF4F9B17AD2B417BE66C3710:7B0C785E27E8AD3F8223207104725DD4\n", "# AES-192-CBC tests\n", "AES-192-CBC:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:4F021DB243BC633D7178183A9FA071E8\n", "AES-192-CBC:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:4F021DB243BC633D7178183A9FA071E8:AE2D8A571E03AC9C9EB76FAC45AF8E51:B4D9ADA9AD7DEDF4E5E738763F69145A\n", "AES-192-CBC:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:B4D9ADA9AD7DEDF4E5E738763F69145A:30C81C46A35CE411E5FBC1191A0A52EF:571B242012FB7AE07FA9BAAC3DF102E0\n", "AES-192-CBC:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:571B242012FB7AE07FA9BAAC3DF102E0:F69F2445DF4F9B17AD2B417BE66C3710:08B0E27988598881D920A9E64F5615CD\n", "# AES-192-ECB tests\n", "AES-192-ECB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B::6BC1BEE22E409F96E93D7E117393172A:BD334F1D6E45F25FF712A214571FA5CC\n", "AES-192-ECB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B::AE2D8A571E03AC9C9EB76FAC45AF8E51:974104846D0AD3AD7734ECB3ECEE4EEF\n", "AES-192-ECB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B::30C81C46A35CE411E5FBC1191A0A52EF:EF7AFD2270E2E60ADCE0BA2FACE6444E\n", "AES-192-ECB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B::F69F2445DF4F9B17AD2B417BE66C3710:9A4B41BA738D6C72FB16691603C18E0E\n", "# AES-256-CBC tests\n", "AES-256-CBC:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:F58C4C04D6E5F1BA779EABFB5F7BFBD6\n", "AES-256-CBC:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:F58C4C04D6E5F1BA779EABFB5F7BFBD6:AE2D8A571E03AC9C9EB76FAC45AF8E51:9CFC4E967EDB808D679F777BC6702C7D\n", "AES-256-CBC:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:9CFC4E967EDB808D679F777BC6702C7D:30C81C46A35CE411E5FBC1191A0A52EF:39F23369A9D9BACFA530E26304231461\n", "AES-256-CBC:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:39F23369A9D9BACFA530E26304231461:F69F2445DF4F9B17AD2B417BE66C3710:B2EB05E2C39BE9FCDA6C19078C6A9D1B\n", "# AES-256-ECB tests\n", "AES-256-ECB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4::6BC1BEE22E409F96E93D7E117393172A:F3EED1BDB5D2A03C064B5A7E3DB181F8\n", "AES-256-ECB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4::AE2D8A571E03AC9C9EB76FAC45AF8E51:591CCB10D410ED26DC5BA74A31362870\n", "AES-256-ECB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4::30C81C46A35CE411E5FBC1191A0A52EF:B6ED21B99CA6F4F9F153E7B1BEAFED1D\n", "AES-256-ECB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4::F69F2445DF4F9B17AD2B417BE66C3710:23304B7A39F9F3FF067D8D8F9E24ECC7\n", IP_NULL }; /* **************************************************************************** * 9 STATIC FUNCTIONS **************************************************************************** */ /* **************************************************************************** * 10 GLOBAL FUNCTIONS **************************************************************************** */ /* *=========================================================================== * iphwcrypto_evptests_create *=========================================================================== * Description: Create a test file for IPCRYPTO evp_test utility. * Parameters: none. * Returns: 1 = ok * 0 = fail */ IP_GLOBAL int iphwcrypto_evptests_create(void) { IP_FILE *fp; const char **s; fp = ipcom_fopen(testfilename, "w"); if(fp != IP_NULL) { for (s = iphwcrypto_evptests; *s != IP_NULL; s++) (void)ipcom_fwrite(*s, 1, ipcom_strlen(*s), fp); ipcom_fclose(fp); return 1; } else { IPCOM_LOG1(ERR, "iphwcrypto_evptests_create() :: failed to create \"%s\"", testfilename); return 0; } } #else int iphwcrypto_evptests_empty_file; #endif /* #if defined(IPCRYPTO) && defined(IPHWCRYPTO_CREATE_EVP_TEST_FILE) */ /* **************************************************************************** * 11 PUBLIC FUNCTIONS **************************************************************************** */ /* **************************************************************************** * END OF FILE **************************************************************************** */