diff --git a/armtest/emk_rules.py b/armtest/emk_rules.py deleted file mode 100644 index dccc29f..0000000 --- a/armtest/emk_rules.py +++ /dev/null @@ -1,3 +0,0 @@ -c, link = emk.module("c", "link") - -link.depdirs += [".."] diff --git a/emk_rules.py b/emk_rules.py index c468387..3db4a02 100644 --- a/emk_rules.py +++ b/emk_rules.py @@ -1 +1,3 @@ emk.module("c") + +emk.subdir("test") diff --git a/test/makekeys.c b/test/makekeys.c index 0f9838f..fe5cd05 100644 --- a/test/makekeys.c +++ b/test/makekeys.c @@ -1,3 +1,5 @@ +#if !TARGET_LPC11XX + #include "ecc.h" #include @@ -13,9 +15,9 @@ void vli_print(uint32_t *p_vli) unsigned i; for(i=0; i 1) @@ -45,35 +47,28 @@ int main(int argc, char **argv) return -1; } - uint32_t l_private[l_num][NUM_ECC_DIGITS]; - EccPoint l_public[l_num]; + uint32_t l_private[NUM_ECC_DIGITS]; + EccPoint l_public; for(i=0; i #include #define uartInit(rate) @@ -34,7 +35,7 @@ void vli_print(uint32_t *p_vli) } #if (ECC_CURVE == secp128r1) -uint32_t l_private[10][NUM_ECC_DIGITS] = { +uint32_t g_private[10][NUM_ECC_DIGITS] = { {0xB66C17D0, 0xD21CD12E, 0x1885B2F7, 0x71D40584}, {0x6C99B53A, 0x86686357, 0x3E34C5C4, 0x5314DFA3}, {0x458B1408, 0x86D162A3, 0x7AB33E92, 0x92C9E643}, @@ -47,7 +48,7 @@ uint32_t l_private[10][NUM_ECC_DIGITS] = { {0x8183C9A6, 0xA1C01A50, 0x592E9603, 0xDEB7FED9}, }; -EccPoint l_public[10] = { +EccPoint g_public[10] = { {{0xE4C0291F, 0xA1F2E44A, 0x0B3653FD, 0x6930B1C5}, {0x8FD9A49A, 0xAC811AB9, 0x428FAAEC, 0xDDFD5DEF}}, {{0xC39CF076, 0xDE94A5CD, 0x73AEB0D7, 0xCE5451B4}, @@ -70,45 +71,8 @@ EccPoint l_public[10] = { {0x80EE6E22, 0xF184553A, 0xBD4E27F1, 0x121DC4BF}}, }; -#elif (ECC_CURVE == secp160r1) -uint32_t l_private[10][NUM_ECC_DIGITS] = { - {0x105C2141, 0xC8E7557E, 0x5A4CCF73, 0x0CE018F1, 0xBE12B09A}, - {0xBBD1E4F1, 0xD3F5888D, 0xCF29731E, 0x46E8BF1C, 0x3A647CFB}, - {0x0929883E, 0x7DA28983, 0x436E2180, 0x43ADF48D, 0x29A17725}, - {0x8284F18E, 0x639C9DBF, 0x08ACC394, 0x9284E5C0, 0xF4BBDBD9}, - {0x7D95B654, 0xF31EED03, 0x54B0333C, 0x355026C5, 0xCE647D2D}, - {0xA78A9C27, 0x78DA4955, 0x61C94430, 0xDB4A6BC3, 0x2342A3EA}, - {0x8AF959E1, 0xF599984B, 0xA78C4E7B, 0xA91E3D82, 0x71B6D8E4}, - {0xFB4ABE6F, 0x33B3F3BD, 0xE63A2302, 0x034B6ADC, 0xD471450A}, - {0x3E46D391, 0xFED4F4F8, 0xAEBBB8D6, 0xD3B20E61, 0x359C69DB}, - {0x1A8062AD, 0x425CC438, 0x306FBFA7, 0x78C6365A, 0xCD80D4A8}, -}; - -EccPoint l_public[10] = { - {{0xB1545BD6, 0xAAF192BE, 0xD0541953, 0xF7C4F12B, 0x508FEA82}, - {0x55DFCD38, 0x968C6CFD, 0x93F1963C, 0xF56C4881, 0x45F27B67}}, - {{0x2EC3B849, 0x5974CEEF, 0x5A1308BD, 0x0CA111F7, 0x84A47D8C}, - {0xB8E52F88, 0xC03D6A9C, 0x8FE910AB, 0xECDA5506, 0x5ECD9256}}, - {{0x07108AA1, 0x5C5006EA, 0x85168CF7, 0x8EC0513D, 0xF80EFD7A}, - {0xF50F8B01, 0x0F3EB8DB, 0x9E09D8E8, 0x52ED7740, 0x54D62103}}, - {{0x5551E114, 0x2D6EA44D, 0x50685E1C, 0xE9EE0D30, 0x95851715}, - {0xBF780FBB, 0xC087AEBD, 0xFDC038E9, 0xD6363346, 0x2F218F81}}, - {{0x388735DD, 0x5EE80FC2, 0xB7732C0E, 0xD1BA9184, 0x710DB219}, - {0xB1A0ABFD, 0x240D9B28, 0x3DD64CBC, 0x4509EDF6, 0x35B427A2}}, - {{0x4CF7D00E, 0x443D8915, 0x1F2114B1, 0x1A7DF720, 0xB853C532}, - {0xDEB946C3, 0x5DD1809D, 0x72D2F4BD, 0x0D406229, 0xF217FB7C}}, - {{0x015B99A8, 0xCAB21F56, 0xB996A95E, 0x59C6717E, 0xD1892454}, - {0x5031AC77, 0x6180D628, 0xDB1047A4, 0x2CC7A1C4, 0xC79F761B}}, - {{0x9A389029, 0xEA7D47D5, 0x3B3309DC, 0xBE2558F1, 0x8C4E5EC9}, - {0x5CACFFCB, 0xBD812C52, 0x8BBC4D71, 0x041E14D0, 0x243B5651}}, - {{0x5EF73EC1, 0x9BFF280B, 0x7835B88E, 0xAE46D04F, 0x157F4F6C}, - {0x5C933717, 0x8A5FC8DC, 0x61580A0D, 0x1A676575, 0xB5F0D609}}, - {{0x7F1BF3EE, 0x82BA2BFC, 0x3175EDFA, 0x3A1E7C4C, 0x636D2C41}, - {0x912EE676, 0x56C6FD0F, 0xB88A85E5, 0x5C40A901, 0x72714D0E}}, -}; - #elif (ECC_CURVE == secp192r1) -uint32_t l_private[10][NUM_ECC_DIGITS] = { +uint32_t g_private[10][NUM_ECC_DIGITS] = { {0x8A8590BC, 0xF8FC6B96, 0x216D16F6, 0x5D471999, 0x77B54115, 0xA1C40C96}, {0x60867073, 0xC781509C, 0x36ACD71C, 0x58F5AD9E, 0xC2DB7360, 0x33BD208D}, {0x57DE05EC, 0xBE8B9D15, 0xB0D84224, 0xD7E9176A, 0x5C97EE8D, 0x7D23952C}, @@ -121,7 +85,7 @@ uint32_t l_private[10][NUM_ECC_DIGITS] = { {0xE1C5244B, 0x9137E9E7, 0xD61F7DD0, 0x47200D7B, 0x71707AA7, 0x3BAF4CAE}, }; -EccPoint l_public[10] = { +EccPoint g_public[10] = { {{0x58379FA5, 0xBF0AD3C0, 0x43C46341, 0x03C17E4C, 0x141E4B2D, 0x9262FBC4}, {0xFD42BF5B, 0x2DA93B96, 0xA2F44FD2, 0xE49AC322, 0x325AD938, 0x7EC78924}}, {{0xD43D49BD, 0x5E3EDC91, 0xC4B92D43, 0x23ABD7AC, 0x2393E81F, 0xAA44251A}, @@ -143,48 +107,73 @@ EccPoint l_public[10] = { {{0xC0875126, 0x9734E867, 0x076D4DE0, 0x6EBEA5AE, 0x3CFC3372, 0xD6A91E78}, {0xE103662D, 0x139FD338, 0x791610BA, 0xDE584994, 0xA12D8DA4, 0x63270A3E}}, }; - -#elif (ECC_CURVE == secp224r1) -uint32_t l_private[10][NUM_ECC_DIGITS] = { - {0x92AC5997, 0x85C91711, 0xF8A13710, 0xB9EF3C09, 0xED2F58C0, 0x5FC2D1A8, 0x05379943}, - {0x71E13CFC, 0xC1D3459C, 0x82A9567B, 0x2D38D833, 0x85295F9E, 0x56E449D5, 0x9D29AF69}, - {0x58101AEB, 0x3314B044, 0x5A979527, 0xA6C0A4BA, 0x6534A4E2, 0x979C462B, 0x0F1A0960}, - {0x7CCF094C, 0x65BAA176, 0x3C3218E0, 0x257F50B0, 0x432109DA, 0xC4A5BADF, 0x0AE8B0EE}, - {0x17767E3C, 0x99B7E746, 0x38056BEB, 0x4D63D59C, 0xA473AD5C, 0x9A7CCA10, 0x401AAA68}, - {0x5FC80559, 0x7754B9BA, 0xD23B019C, 0x1772CF93, 0x76A98671, 0xE2240032, 0x6A86A803}, - {0x90B9AD65, 0xE9B1348F, 0xECF90E1F, 0x85115D89, 0x020EE62F, 0xFE3BE819, 0x6B6411B0}, - {0xDD1AEEE8, 0x4E27AC27, 0xE2DB0334, 0x0408D903, 0xF067C0FA, 0x254941A9, 0xAF44C655}, - {0x07404A6C, 0xF5D42FDE, 0xE1825FDA, 0x7685EEB1, 0x5EDD1625, 0xB32873D7, 0x4B4A0352}, - {0xAE0FB333, 0x75F97D91, 0xB5EF8049, 0x341469C0, 0x5FFE358A, 0xB81E22B3, 0x85AFDCEB}, +EccPoint g_dsa_public[10] = { + {{0x4F4D9AAA, 0xAF60E114, 0x87991189, 0x1D24E7D3, 0x44760D0F, 0x9E1260BE}, + {0x9ED2F42B, 0x8B29265B, 0x8D6D800E, 0xBF05A3D2, 0x10604D33, 0xC9A56477}}, + {{0x29056368, 0x8281C7F2, 0x522BF2E9, 0xFC23BF79, 0xF9F2F269, 0xE27D0965}, + {0x4EF1C035, 0x3103FCD2, 0x67A056F1, 0x190A319D, 0x27BE1292, 0x734D6D12}}, + {{0x89BE85C6, 0x1130FBF1, 0x1288B622, 0x7F6891F0, 0xBA863A0E, 0x932669D1}, + {0x4AB1D95D, 0x7E0F41BE, 0xCA1F2313, 0x0A533CDA, 0xDC7585B3, 0x12BAB148}}, + {{0xF667FF6E, 0xC5C2C25E, 0x5EC82FC7, 0xF9164E06, 0xD139DDC5, 0xE1B80602}, + {0xD1B02660, 0x7ED41D69, 0x32CB6EA8, 0x7624EC39, 0xE21488C3, 0xE0DF21BF}}, + {{0x46A619F7, 0x0A8432F2, 0xF83A496B, 0x7A5C308F, 0x7877086A, 0x1826FF66}, + {0xE3E8745C, 0xA2409D62, 0x2D382294, 0xCB157A6D, 0x5614ED7B, 0x7B18F718}}, + {{0x2F1A3D3C, 0x88D0169B, 0xAA1D7280, 0xA212860B, 0x1D597CBC, 0xD584C38F}, + {0x4910C071, 0x23CA1B76, 0x4B5D8709, 0x7388E349, 0x375037EA, 0xEF7268AA}}, + {{0x4E3D4333, 0xBD81D238, 0xE767795F, 0xBD4B77EA, 0xF6601C06, 0xE1B28D5E}, + {0xAB80539B, 0xFCA494CB, 0xB2E41F4E, 0xC07A1457, 0xD7F85503, 0x4C174309}}, + {{0x77DD00F9, 0x09AEF548, 0xFF0DEA5B, 0xD74DF166, 0x13E26432, 0x231777B7}, + {0x08BD4BB5, 0x8F95C762, 0x04B85D29, 0x543E067D, 0x1CD608C3, 0x3875DAE1}}, + {{0x0EFE1F6B, 0x34E0D176, 0x371B1B4D, 0x6CE37184, 0xAA65F8D9, 0x20BFA9FA}, + {0xA73D521A, 0xEDBA519D, 0xE3284D58, 0x746F7B33, 0x2143470F, 0x691A594B}}, + {{0x07E1B563, 0x2D36492C, 0x70D6A263, 0x25083938, 0x865E89AC, 0x9838B413}, + {0xCEB52B3C, 0x7E44966A, 0x11626ACF, 0x877B0C41, 0x27C8DC61, 0xAFB47795}} }; -EccPoint l_public[10] = { - {{0xC0E193E3, 0x4FB8BA6A, 0xAED1B8B3, 0x4CE14165, 0x6ED64060, 0x45F753E9, 0xE856C26B}, - {0x840CFBBF, 0x4AD23EC7, 0x9643DDD5, 0x2398AADB, 0x2671E9AE, 0x53FEB7D2, 0x5588FA2E}}, - {{0x56763605, 0x69A8DCCC, 0x7A08E088, 0xCD37D76E, 0xB3ED9983, 0xC356B453, 0x29B64C50}, - {0x262334E8, 0xBF47A9D8, 0xC0B6B6A0, 0x702F8D14, 0xFE223A00, 0x71D3D3F2, 0xB29160DB}}, - {{0xADE4E689, 0x59856843, 0x9D645347, 0x23010224, 0x1CD5A3B1, 0xEEBB9812, 0xCF9F3F43}, - {0x2430E70E, 0x1B658CA6, 0xFA750FE4, 0x80F0A665, 0x003F0672, 0xA36E2090, 0xDD37CC35}}, - {{0xDF8962B9, 0x15FB4F53, 0x16564E03, 0xBBC50F49, 0x03A5EEE2, 0x9C15B452, 0xDF0BF344}, - {0x2D679C04, 0x35114D05, 0xAD1D896A, 0xB96C0DB3, 0xF9022FE2, 0x82E0B6F0, 0xB7D50575}}, - {{0x080DC73F, 0xFBE8E026, 0xA569523C, 0x66B05A36, 0xA7D235A5, 0xEBFBA207, 0x0C04C9EE}, - {0x2157E8F5, 0x21C0EEEE, 0x77961453, 0x83CFBBA4, 0x835875D8, 0xF7F726A8, 0x28D46252}}, - {{0xE5124225, 0x30A19D5C, 0xFCB08F75, 0x5EED266C, 0x7D37E550, 0x4F4B60E2, 0x72D0CB79}, - {0xCDC65EF6, 0x75577362, 0xBA34C393, 0x9A2756CD, 0x3828FC90, 0x9B0993CC, 0x1CAA34DE}}, - {{0x829E678C, 0xD9C1260C, 0x2E03A902, 0x6801C11B, 0x6CDF197A, 0x22BF0AD7, 0x8D0448EE}, - {0x19B229ED, 0x8DFDA351, 0x914470E9, 0x6DD45306, 0xC7B24A93, 0x52DC7572, 0xA4D1066F}}, - {{0x8304A31C, 0x25C7BD86, 0xB0714747, 0x2937CEAA, 0x0DA87B9B, 0xA3E1853A, 0x3B0BCDA8}, - {0xE198F4BD, 0xACF97B55, 0xBA0E1189, 0xB943DB95, 0xEBE3F9B2, 0xBAFD8F70, 0xF02687FE}}, - {{0x2D3460BB, 0xCED2D599, 0x580D0FF6, 0x82F3BD94, 0x0357697F, 0x3ECE00AE, 0xC134FE5E}, - {0xC043A9ED, 0xD595CDE2, 0x19D4EF60, 0x9EB2EDF4, 0xA9C63F43, 0x18A2725D, 0x350281E7}}, - {{0x375F82B6, 0x57F105DB, 0x2498AF90, 0xBDA2D0C3, 0xD2725B8F, 0xB8E84089, 0x33786485}, - {0x7B5AEEFB, 0x3F647259, 0x3D6F657B, 0x8631BB47, 0x9E11465B, 0x5F6A4BBB, 0x5252EF11}}, +uint32_t g_dsa_hash[10][NUM_ECC_DIGITS] = { + {0x1D6C1379, 0xDAD42F9B, 0x8BD6A2F0, 0xACD26FBF, 0xC40B6F7C, 0x0462B9CA}, + {0x94EDAF2C, 0x347C7F9B, 0x4FBF8D41, 0x9AF1A2B4, 0x4883C4AC, 0x15E6B84E}, + {0x8AEA8A44, 0x91B53FE0, 0x461713BC, 0xB151F4B7, 0x0211034B, 0x1CD92170}, + {0x895590EB, 0xBD754683, 0xAEE1E187, 0x9B2B57F4, 0x3AC0D433, 0x96ABA630}, + {0xA03CF2A7, 0x8AE3D7E6, 0x36873257, 0x78750301, 0x7A0FD080, 0x86FBC5C8}, + {0x679D91BE, 0x7B846175, 0x2DE64CD4, 0x1901A18A, 0x519752CF, 0x6E28C9F7}, + {0xC803BB9F, 0x96299814, 0x60716A01, 0x06E90392, 0x9C668935, 0x96526018}, + {0x5175B32C, 0x07DE2523, 0xAFAE4505, 0xABA98543, 0x83EDD1FA, 0x837E9D54}, + {0x1960CA88, 0xF4879B3E, 0x403D074A, 0x7A1285B3, 0xEF0D69B8, 0x7111561E}, + {0xA53D68EA, 0x01F24797, 0x34638643, 0x53B91EC2, 0xD92DEF7A, 0xE779C5E3} }; +uint32_t g_dsa_r[10][NUM_ECC_DIGITS] = { + {0xB2DC9D7D, 0x5C3843F4, 0x3294B09D, 0x64AF06E0, 0x53BF1B00, 0x9B20E041}, + {0x0BF4F758, 0x77135710, 0x7267B744, 0x35BE95C1, 0xD50D3514, 0xD5951D31}, + {0x62988734, 0x5BA7FD18, 0x5F8C653B, 0xADCE852F, 0x2EF10629, 0x428B1E54}, + {0x11AA8309, 0x0565383E, 0xBD70FA44, 0xABFFD3F9, 0x70DC9311, 0x1B9F4F60}, + {0x9129F76D, 0xC60721BB, 0x32AA3511, 0x0E3A7BDF, 0xEFF2DC3C, 0xC61BF26D}, + {0xA701081F, 0xA4E74046, 0x2AFE9D9C, 0xDF4882E2, 0x5E14736F, 0x10CCC340}, + {0x33D4818D, 0x05A8EE0F, 0xE47BC3FB, 0x098C7DE9, 0x9E3049EF, 0xB3ABFEC3}, + {0xFF4D2A1C, 0xC72985B3, 0x9FD30478, 0x33B2F18F, 0x512734E4, 0x8202C268}, + {0x840AE2BD, 0xE1E2B411, 0xFF7C8F81, 0xEDEFC367, 0x42E8D60A, 0x5992F6B0}, + {0xCA211178, 0x149DC446, 0x321126E2, 0x4E326C5D, 0xA1910BE2, 0x8E057701} +}; + +uint32_t g_dsa_s[10][NUM_ECC_DIGITS] = { + {0x459523A1, 0x119C77B6, 0x52A062CB, 0xA220571A, 0xC23E9B63, 0x931CAAFE}, + {0x491E1E0E, 0x17E23812, 0x34126B62, 0x4B4EF2A7, 0x030D94BE, 0xD586D8B3}, + {0xC088596E, 0x9FE84270, 0xCE794B6E, 0xD3F7D6DF, 0xD235CE8B, 0x50312465}, + {0xB0208487, 0x9891CECC, 0x17A249F9, 0xADFEBA80, 0xAC66DF48, 0x3DD853C5}, + {0x357ECBA5, 0x92801B5B, 0x98DA57E7, 0xD36CD45A, 0xCC159F90, 0x08154DCA}, + {0xB11CFA8B, 0x47D47046, 0x175EEB76, 0xC2B29A8D, 0xD097A3CB, 0xEFD653BF}, + {0xF988EF59, 0xE2210C4F, 0x8550D2EA, 0x807374B5, 0x35E5AA89, 0x2D7B1A39}, + {0x10C12F34, 0x3725D114, 0x0FC1B44C, 0x3F3170BA, 0x7B1E82AD, 0x331B5FC3}, + {0x2CE9055C, 0xAB799864, 0x0D5F4262, 0x08FD3096, 0xA8A32173, 0xFECF632F}, + {0x9C498FC9, 0x4FF7DCAC, 0xAD9B3A23, 0xAF9F3904, 0x5AD7681C, 0xA1C1C2E4} +}; + + #elif (ECC_CURVE == secp256r1) -uint32_t l_private[10][NUM_ECC_DIGITS] = { +uint32_t g_private[10][NUM_ECC_DIGITS] = { {0x9399E0FA, 0xEB887947, 0xFACC412E, 0xC7AFD411, 0x735EE1E8, 0x2B8AFAF4, 0x986E3E7F, 0x742B1953}, {0x079F480E, 0x41BB4E51, 0x76EEA661, 0xE7B5665D, 0xDF831ED8, 0x2304A3FB, 0x80721097, 0xD06D913A}, {0x4631C4C3, 0x7C834C62, 0x14208F18, 0x4EE69B3E, 0xFBA45EEE, 0xB3007D73, 0x18BBBA55, 0x3562A76D}, @@ -197,7 +186,7 @@ uint32_t l_private[10][NUM_ECC_DIGITS] = { {0x14A5AC82, 0x34F7EC3E, 0xC70665AA, 0xB387BD6E, 0x639CA247, 0x83CD78A6, 0xD1E26A2C, 0x0C8BFEC3}, }; -EccPoint l_public[10] = { +EccPoint g_public[10] = { {{0x3A2AA077, 0x64E128B2, 0x04283263, 0x855DD786, 0x84517CA5, 0x79EEB9C4, 0x4761C4D9, 0x4851C11A}, {0xE2C8E320, 0x585715E0, 0x0B9C17B9, 0x08C4EC62, 0xB773B9C6, 0x4035ADB7, 0x0D1DD194, 0x2A5BD99F}}, {{0xC8220251, 0x2BA5B0B7, 0x8A4FBDEC, 0x084E14F3, 0x60A067FC, 0x6DA71E54, 0xF114F6BC, 0x4F8636A6}, @@ -222,7 +211,7 @@ EccPoint l_public[10] = { #elif (ECC_CURVE == secp384r1) -uint32_t l_private[10][NUM_ECC_DIGITS] = { +uint32_t g_private[10][NUM_ECC_DIGITS] = { {0x32D5EFC6, 0x0A6E70F1, 0x6CAE9125, 0x78D74ECF, 0x33E423FB, 0x2B9F9991, 0x188E04C0, 0x6FEA1C8E, 0x2B2634A3, 0xDC5C521A, 0xDBF7265D, 0xB2975791}, {0xE3C04C90, 0x14F9D46B, 0x67B1B5B9, 0xB1634716, 0xF22C2A3C, 0xF6E316E5, 0x83AD27DB, 0x7E2C5F0A, 0x7D963221, 0xB5949669, 0x24D3CF9B, 0xECFB5D62}, {0xAE2CD960, 0x967D0340, 0x63D9DBB7, 0x1ACC2775, 0xF4384742, 0x1E80A08C, 0xAC147E25, 0x816980AB, 0x4E328750, 0x74DFC446, 0xF97F88D8, 0xB7F41F61}, @@ -234,7 +223,7 @@ uint32_t l_private[10][NUM_ECC_DIGITS] = { {0x97401DB7, 0x470838F2, 0xA19A58D3, 0xF076BF50, 0xDFF21694, 0x1B8F8455, 0x653549B0, 0x1CCE5CFD, 0x66F90BBA, 0x09BF73AA, 0x1D01275D, 0xCEEB698B}, {0xB86CA4E0, 0x64F504D2, 0x5E2B318E, 0x7AD31C33, 0x3F293C53, 0xA0346206, 0x2ACA2DD4, 0x5BC53F6B, 0x3BB83FC2, 0xFC7DD83D, 0xC9CDD04A, 0x15DF8AD8}, }; -EccPoint l_public[10] = { +EccPoint g_public[10] = { {{0x65E712A5, 0xEDE6358A, 0xD8832C43, 0xE219F022, 0x38407198, 0xC5B58725, 0x14422FF2, 0x7D30DD2E, 0xCF59C6A9, 0x63B30AEF, 0x0EEBE494, 0x1E47A816}, {0x1E1CF55A, 0xDCC29967, 0xE59976B8, 0x5B6BDB4E, 0x52FF2D3F, 0x9C479240, 0xD14CA6B6, 0x2347BBFC, 0x7699F6E7, 0x0982F63D, 0xCE4805FC, 0x7D812D30}}, {{0xBA5F2023, 0x88C842A6, 0x46DFEA58, 0xD87B5F24, 0xCE9BE9A1, 0xBBCB9F4F, 0xD94DBDDB, 0x2B2C5EB7, 0x0F6DF89F, 0xDB7D9CA6, 0x1F23435E, 0x18F86C99}, @@ -271,7 +260,7 @@ int main() for(i=0; i<10; ++i) { uint64_t l_start = getTimeMs(); - ecdh_shared_secret(l_shared, &l_public[i], l_private[i]); + ecdh_shared_secret(l_shared, &g_public[i], g_private[i]); uint64_t l_diff = getTimeMs() - l_start; vli_print(l_shared); printf("\n"); @@ -279,7 +268,22 @@ int main() l_total += l_diff; } - printf("Total time: %llu\n", l_total); + printf("Total ECDH time: %llu\n", l_total); + + l_total = 0; + for(i=0; i<10; ++i) + { + uint64_t l_start = getTimeMs(); + if(!ecdsa_verify(&g_dsa_public[i], g_dsa_hash[i], g_dsa_r[i], g_dsa_s[i])) + { + printf("ecdsa_verify() failed\n"); + } + uint64_t l_diff = getTimeMs() - l_start; + printf("Time = %llu\n", l_diff); + l_total += l_diff; + } + + printf("Total ECDSA time: %llu\n", l_total); return 0; } diff --git a/test/verify2.c b/test/verify_ecdh.c similarity index 97% rename from test/verify2.c rename to test/verify_ecdh.c index cf2530c..583ae07 100644 --- a/test/verify2.c +++ b/test/verify_ecdh.c @@ -1,3 +1,5 @@ +#if !TARGET_LPC11XX + #include "ecc.h" #include @@ -90,3 +92,5 @@ int main() return 0; } + +#endif /* !TARGET_LPC11XX */ diff --git a/test/check_dsa.c b/test/verify_ecdsa.c similarity index 86% rename from test/check_dsa.c rename to test/verify_ecdsa.c index 9f248dd..7adb97d 100644 --- a/test/check_dsa.c +++ b/test/verify_ecdsa.c @@ -1,3 +1,5 @@ +#if !TARGET_LPC11XX + #include "ecc.h" #include @@ -5,17 +7,6 @@ #include #include -extern void EccPoint_mult(EccPoint *p_result, EccPoint *p_point, uint32_t *p_scalar); - -void vli_print(uint32_t *p_vli, unsigned int p_size) -{ - while(p_size) - { - printf("%08X ", (unsigned)p_vli[p_size - 1]); - --p_size; - } -} - int randfd; void getRandomBytes(void *p_dest, unsigned p_size) @@ -79,3 +70,5 @@ int main() return 0; } + +#endif /* !TARGET_LPC11XX */