You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@milagro.apache.org by br...@apache.org on 2018/11/08 00:12:37 UTC

[17/51] [partial] incubator-milagro-crypto-c git commit: update code

http://git-wip-us.apache.org/repos/asf/incubator-milagro-crypto-c/blob/8d28d2c3/testVectors/ecp/test_vector_BN254.txt
----------------------------------------------------------------------
diff --git a/testVectors/ecp/test_vector_BN254.txt b/testVectors/ecp/test_vector_BN254.txt
new file mode 100644
index 0000000..7b778ff
--- /dev/null
+++ b/testVectors/ecp/test_vector_BN254.txt
@@ -0,0 +1,173 @@
+# Choice: BN254_CX, Type: WEIERSTRASS
+# Modulus:=0x2523648240000001ba344d80000000086121000000000013a700000000000013;
+# A:= 0; B:=0x0000000000000000000000000000000000000000000000000000000000000002;
+
+#test1
+ECP1 = 182CD0F1250A7E5822B0627708FC553744CB9981570B060916B383BAB28600AF:08B59CF86EC56AC183AF041DD04C4E2CCC0AAA4D10F8B97AAFC7E770D71E334E
+ECP2 = 19236A6E74C2C1E96BD3E6C6697113C0D0889034D4B9F0482D8C33E0B716439E:09AC8200CB61E06B023FF729C5A7D053FEE7E16A92AB1A2AB5EF96D5AF0DD3EB
+ECPsum = 09D4ECFB4354C186EF0A67A2C168581FBD0C0857ECA0A6FC9BD4725070502C83:03386FCE17BF20C5A824113E795CDFCD9649B703497C2CF8978418A1708ECF22
+ECPneg = 182CD0F1250A7E5822B0627708FC553744CB9981570B060916B383BAB28600AF:1C6DC789D13A9540368549622FB3B1DB951655B2EF074698F738188F28E1CCC5
+ECPsub = 1E26D4951D31C8C90FCEAC85639FCD4C0C1204C383CA10FE752F9560E08A6147:1206D5171268D7D1D72CD0DC7E1924B4ACB057EBD0D0CF90814D0A5089B0D0EE
+ECPdbl = 17291BC091737FB9A334CDFAC711FC32582D1EAB45A73AEDBF0601C6690EA95C:195D1F1D89899D26AE2FF23211B62E08997AC6998A79F259C5B7F15E3EBF20BE
+BIGscalar1 = 057816C7CDB8CF2C0168DB568BA1DE0E0D4848CF7E3309A4FEA92C45ECCB157A
+ECPmul = 1E65E8BA00368B5591A1662526B2855735CE0A772192659CBF7F7A5BEA3F651C:15CF066F1BCB7436F920BA3E1935FFDA01AD22034AC11F6F9ED542473AAE8254
+ECPpinmul = 0EB47E431147A2BE56CF0A8B24E8F6747CC29A81855F10E3F312C90E1C5BFD1C:02CCF61D752984E96F03628B0FA28A61E0C4AE23323EA0043DF96C6984D8C817
+BIGscalar2 = 0CBCF2FD6522818EFDAC2B03C3FB8EAA8020D5C5135847C5A8179C06893F4FBA
+ECPmul2 = 15473FFFEAD9217D7218B29A4A3A9B292B7585C1BE127A0519BCE9A349D3EF69:07DF011AC3F0C3A6AE7237EC93C0FE327FBB7EBB91913FC95F205366C99A070B
+ECPwrong = 1A113325A1C64B0431A11B5E7DBCB66EE4BE8F9B0385394613B1D56205A1FE93:2499629235D278A0F4CCB8A703D34840885DA2AF9CC247FB1B3601B6E0CA9284
+ECPinf = 00:01
+#ECPeven = 182CD0F1250A7E5822B0627708FC553744CB9981570B060916B383BAB28600AF:08B59CF86EC56AC183AF041DD04C4E2CCC0AAA4D10F8B97AAFC7E770D71E334E
+#ECPodd = 182CD0F1250A7E5822B0627708FC553744CB9981570B060916B383BAB28600AF:1C6DC789D13A9540368549622FB3B1DB951655B2EF074698F738188F28E1CCC5
+
+#test2
+ECP1 = 28C12CAFDA2B7F0944328B39D40ABE4F63CF7103F23B69B3947D1B0284510B:179D5617180DF1AB73603154EDD09FB3B59F62EBC3FA90A06289FC639B61CDBD
+ECP2 = 2447271DB8B6D7E6ABACB04A8620742020A8DBFB79829A1B11E8E7254895FED3:23660C367D699B77CED53FB462FFB56C9D7E8144ABE90901E616D10367DA0E08
+ECPsum = 2516048EA6B08CEDBC7DF5916DD5A1274E331E6C2A16A0757899B264D1A41938:DE649A284008881E194ED295E7C3868650EFB28C4A93921A878DB331377425
+ECPneg = 28C12CAFDA2B7F0944328B39D40ABE4F63CF7103F23B69B3947D1B0284510B:0D860E6B27F20E5646D41C2B122F6054AB819D143C056F734476039C649E3256
+ECPsub = 1A46791AED2EC743A8E677AD59B1360C426B91583BA889491F88917A4CFC61B9:09381CE4DB1B51F1182FC4FD3FFD3F08FA3BF310C34DD8DFF8E85EC0888F0162
+ECPdbl = 0637BB6BC0E9201D183180107B08EC46A77CCEBD01838CB287536490F59F25D6:1F794FBDD5A973DABF1321A51270E6565DAEB245221B53AFD2CCD5EE8870CD8C
+BIGscalar1 = 1F6FF4C95E0ACCAAB035A858546371613B5E0C68B99E96920E915048795B9C25
+ECPmul = 17B0568F3AA978A543E1FB795DFC0DC1019C1103BBB146321C8E528CD4351133:13FACF6E218574042B5466286131B5594274A7581BC27F72D24162E5BB1C07E3
+ECPpinmul = 18E29E194C620E026D43268C2282606046EA2CAF4CCDE2F046E7365B241E6B0F:0D029A4732E8736859A722CE9B7CC5651B680FAD708CB209D8A987FD10F96F71
+BIGscalar2 = 1750321E55BF2B3DD456ED1BF2416E6B2FE161FBE3BDF5623E5320359B088F76
+ECPmul2 = 1BBD5020447A4D4C8A04AA54ED6D67183A897FAB2FEEA5C8E7024856AF93842B:1C5BFF2D886E9D0C77EE5BDE7FE56FAB35E31FFA86DF5DBB6E1B2140270E57FF
+ECPwrong = 11EA86FFAD0B247138B1E70E403369F3C5E0C8D025A36E9D7A9339CCD94C3ED0:1C4029C13DD9F548DE0E082CBAB4E45DDFC92E085544C0152360FE00456286A4
+ECPinf = 00:01
+#ECPeven = 28C12CAFDA2B7F0944328B39D40ABE4F63CF7103F23B69B3947D1B0284510B:0D860E6B27F20E5646D41C2B122F6054AB819D143C056F734476039C649E3256
+#ECPodd = 28C12CAFDA2B7F0944328B39D40ABE4F63CF7103F23B69B3947D1B0284510B:179D5617180DF1AB73603154EDD09FB3B59F62EBC3FA90A06289FC639B61CDBD
+
+#test3
+ECP1 = 0F7B3539486DA6B035844C57FC8732E7497B2026BB3AB8DD072A35D11017F55B:0F4068CC09DEC40F2ABA4EDEA4398FB24F79E1FDC19DAB413E7F9907617850DC
+ECP2 = 1D30F7B6B66EBBCC6AF3C3BC6C511580858D1B91AED0A182432815BC7102AC26:1AE7337BE341CF866A3F29CFDB1AE359C8F5E716DCA5388E012CE440FEF5A34D
+ECPsum = E24CD46533834FCABB98A0307EB553DE35FF0D89D9A7844165FD9AACD230E3:066FFFD4CF5AF16778D087FF53CE3B30A25FD1F632D95C1C365A3D2B4D60D467
+ECPneg = 0F7B3539486DA6B035844C57FC8732E7497B2026BB3AB8DD072A35D11017F55B:15E2FBB636213BF28F79FEA15BC6705611A71E023E6254D2688066F89E87AF37
+ECPsub = 1833E1E9E6959F9C4692787083167B199F9B4065618E8AB1F031924AD692756C:19F486F7EC4E73786B9CFBD1E2D3E6128288110F9C95815E3BDCB607B9318572
+ECPdbl = 017BAE507B6168F0F096CB1C48CE69BEDD8C104400AC00F3A590327E5D7517DC:21BE27DDE9864572CAD97CB8B691731E872E30253EA8CEA972BE48BCB4D6F382
+BIGscalar1 = 1F11C19FCFEBF39285FCFD50131C8FA0D7E3EF5BFC2C2FE398025D59226279A2
+ECPmul = 14070C169D29CE94112CEC828CE22765D9C64E3D298297F8EA45F99F7AC7B332:064F37015E09CDEBE01A1FE76BBA136A5A7861E63680FB42AE755E59F30113C5
+ECPpinmul = 04B95DE458FE15F289FA3F9F9E7D8D48ECE91001694CEDD024F39A905226F02C:1DB252168816A5A43302F7F3FFB524EC01FB05A4F59368F64911BE292A6E8B9A
+BIGscalar2 = 14D09C9DBF81E7BAFA42429862BF180470EBEC3A473D3AF4810ED84E87CF80F1
+ECPmul2 = 1A70C8668656E6C323F714D20539478D5CA66624CFCA4183B0F3BA51BA7A70F3:23630D556E5DFC501CFD3183A9AF8CF3E7AB3E10A91781926B23BC07451EDC4C
+ECPwrong = 21B6BACE045823D316242800BEC76B179804CEC038486A0FCE6103902AD2D87D:134637B7351DA37F041BE52CDCF1C1D8E72BC8A9C9C711F63FA1F7CFF8951EA1
+ECPinf = 00:01
+#ECPeven = 0F7B3539486DA6B035844C57FC8732E7497B2026BB3AB8DD072A35D11017F55B:0F4068CC09DEC40F2ABA4EDEA4398FB24F79E1FDC19DAB413E7F9907617850DC
+#ECPodd = 0F7B3539486DA6B035844C57FC8732E7497B2026BB3AB8DD072A35D11017F55B:15E2FBB636213BF28F79FEA15BC6705611A71E023E6254D2688066F89E87AF37
+
+#test4
+ECP1 = 03830C648351277D5791268EED7F897BDE1CD4118A1EF384483B73CE45625EEB:1411FC88CE0214B23FCBE1460D8866D6DE1E4DED2CD0BDB13AD6312175D38FDF
+ECP2 = 1AE0695E3B38DE2E1E552B7076623D7F60F10D85C9C7B581D3F7550926966D24:04C4F438FC2C9370AEE3D54030BF9725D49BDFEFC5F58241A82A1F23955E0E7E
+ECPsum = 37F8BE0B76959181F90A66B9DCA1EB276EF115DF7C8CAE8D8C31C7FFB818FB:0185BDF3A5B40C036853A90BD376CFBB9D89CEB5D93CBC08EC6F997F4CD97916
+ECPneg = 03830C648351277D5791268EED7F897BDE1CD4118A1EF384483B73CE45625EEB:111167F971FDEB4F7A686C39F27799318302B212D32F42626C29CEDE8A2C7034
+ECPsub = 0DE21EFE33EB46AED5788A3565D447E3683B2FE83773FC4C1BCDC1C3A857DD1E:1462A25130B4D6F2758AF8A5004115A1B6D83198ED9F0F8917EAD05F0C4082A0
+ECPdbl = 1DC2DE77B25702075A6516C52BCD919695CB6B8B65BD588EB8F635C80D007B9B:2109F59D854E652F81AE404D0E743289296D0515DAEF741B390DB9B311002430
+BIGscalar1 = 05B4F7E80EF8E8C2A33AB7104C3051ABF1E9DADB87F70516F3DDB337C2E35485
+ECPmul = 19E88BCE2DD293C668A1A45367FE0F2DD0CF2CDA64ED8933B2167047F63C59C7:0CE747246E9BAB6EE68D2C730047CA114A60AE21FEB2EC37387878345779D9F8
+ECPpinmul = 11775FE45953E7EB4CA6E866DB7053BF6B72E092B07287D2DE7731120F0B06B4:0308284FAC204CBABBB8C325D539B82513018ABC0CC4CCC2305B8FF08D511545
+BIGscalar2 = 229C1F8FC9F378F408D49627E065311B2BA8DDD2D1CA76C538E605F3D8A29AAE
+ECPmul2 = 016BC330E837AADC93344AC9E5BD69D878BD6DE2D54E21ED73C74571F02682FA:0524F7E15FC0A7779710FBDCB3239F4BF0F7757FFE97C9880FF9EDF87925AB07
+ECPwrong = 22E7424E484B9E7A0A3520B3BB9FCA4F4EE64FAA6E44954BB894F2720F2826C4:06F1FF534273D8229084A57E5DB4357F3306BA916667AB1F8430654FB6121C24
+ECPinf = 00:01
+#ECPeven = 03830C648351277D5791268EED7F897BDE1CD4118A1EF384483B73CE45625EEB:111167F971FDEB4F7A686C39F27799318302B212D32F42626C29CEDE8A2C7034
+#ECPodd = 03830C648351277D5791268EED7F897BDE1CD4118A1EF384483B73CE45625EEB:1411FC88CE0214B23FCBE1460D8866D6DE1E4DED2CD0BDB13AD6312175D38FDF
+
+#test5
+ECP1 = 1773E4FDFD22C646BC08A429AA3F5B5A5CF7752D9DECD95EE429EEDB7F94EA6A:2500FB530A4016937076076FF89326C907CBB6D2246CF99484A1ABAF8AB99BE9
+ECP2 = 18575108979341D87D183425D039C689B7A1F23C0C486A908DEF95D383027C93:187722BA177FD674DA2D53C18884644D3B2D8FAC9196D69BE6933D92A3C99578
+ECPsum = 039E03067888F1CCC6618E61E2C67D248CBF54BB951016965BAD964228430530:1D3E0744347200F7AC163AAA8EDB9793B85F825727504CAF8E590AE8AE5E5776
+ECPneg = 1773E4FDFD22C646BC08A429AA3F5B5A5CF7752D9DECD95EE429EEDB7F94EA6A:22692F35BFE96E49BE4610076CD93F5955492DDB93067F225E54507546642A
+ECPsub = 10F1A03860E6D926B57C2B72398F3327B5187D4E3FF1DCF579936F365EEBC416:018D8D8B9AB3601D0728716F15ABD693A08E9BB293DD67757B99C2198578BDBE
+ECPdbl = 0395CAE6150D8246F7354BAAFFFB4E7533A6A288CFA11B508475E4444977AFAE:22532BD6CA30140F83B484F96750B09DDAE3A01F9C28E7159340317A74BB609A
+BIGscalar1 = 0CBF2E70CC6E0336429AAD6D66F3B92D328B870639413BCF7EAF5FA024C7BA1C
+ECPmul = 23AD8EF161E42F7E21DE6A864951697D582AD464C62F0252262FDEF13A51F59A:063A9862FAE657BE4829EF3D31490CD169D1334B8F81C34FFB568CCC7B6C9479
+ECPpinmul = 078F33CCB5F89B311089EB706170F992D7D273692F49F440F01E72FD4C7DB583:15F7F06C886A5F2592BD6AFE1F04047E364F550720F530C75EF58820C4075083
+BIGscalar2 = 1AE391BE68F2AA099334F6650BA35E07A7CB4408D43E971FB854709A505FDE5B
+ECPmul2 = 079FF85888430202970BDC91D4770E3D9CA5ABC67D1259D8F9CA49A5A84F1E19:22C6DEA9D4B8F98EA01A8EEAB802A71DA067D4845656C4CF631BD409EF3F8D16
+ECPwrong = 2241FB960741B278F3BCE2A9E2C852EEE1F96F79A7B00742000BC56E584D7CA4:08B7491B8437682F2C63C9C7250D6EF3FAEF5C0F8DCE00B62A0FF1C1986F2DA8
+ECPinf = 00:01
+#ECPeven = 1773E4FDFD22C646BC08A429AA3F5B5A5CF7752D9DECD95EE429EEDB7F94EA6A:22692F35BFE96E49BE4610076CD93F5955492DDB93067F225E54507546642A
+#ECPodd = 1773E4FDFD22C646BC08A429AA3F5B5A5CF7752D9DECD95EE429EEDB7F94EA6A:2500FB530A4016937076076FF89326C907CBB6D2246CF99484A1ABAF8AB99BE9
+
+#test6
+ECP1 = 09ABFEA5BAB561042FAF67928DEA998A5212BCC0ED7F47F13CB080E39FCF4309:1C28DD56767451A0BAE7DCF667AD272DEE3B4D23620260A1C37C02D5DFA7E699
+ECP2 = 07D0C2E6769FE1268BD68069C6E6496BCD77C65F71DF9689128F6A1F76409A94:1CEF88FB4FC46E324B5AB3306237ECF9F3436D94B9CF0BE85AED7D977E8EFE4E
+ECPsum = 023BEA5FAD6837043F273A0852BB5143AC46E7285D708ED1B5E2D07D342B106F:11BAD3BD8EC4F6354DFA117C4A0DC7312157751A053F20FE1A2AF22795E81A5F
+ECPneg = 09ABFEA5BAB561042FAF67928DEA998A5212BCC0ED7F47F13CB080E39FCF4309:08FA872BC98BAE60FF4C70899852D8DA72E5B2DC9DFD9F71E383FD2A2058197A
+ECPsub = 2199C5465C8027EAD5906A71B7B5F6BB927AF7FDD9DBDDD80702D08B47A44A:15C33C8C9BB2EE8998BC3744F8568BBBF04AC63FB82E8A9D3FCF5FF44C2B207B
+ECPdbl = 1D79FFA056696DA95699443E890905F663A514D9E9618BB1405E790DDD6F2DE1:234491600E7926EF5ECDA2F504B8A00F631D2AB2533ED1BF091B7BE31A633959
+BIGscalar1 = 1CF504D059AF48434F677BF5A0ED90BCC226FCF95509778A1F948D4A19789B90
+ECPmul = 24D80483CE7EC6A091E3F0260E6F759361C0ED9DEC665CDB3C3D89CF503F93A0:0B9A88101D070D2310D4572C130420D40710389DF917BCDA964415F3C152C954
+ECPpinmul = 13074773663FC7002B047F007A0168F189FAB89CBA99B3ACA3A36E281E00821E:217912103B6FCEAD22475E834FAEB7A7F5F1858CAA3FFAB82DDF945667644DD5
+BIGscalar2 = 0F6ABD1BB71DA5054A95001D93D726183E916E3F7D048491FCC10399FE352190
+ECPmul2 = 1344861AA29AC50A71CB80EA4F102C66C635CF38A6CD937B7D9B9E5094B6D9BF:096A87A073C3F3AE25C4CDFF44AE49C8DAAC82AF292EA05B8EBA8E98E33D0199
+ECPwrong = 0AB540D32712D7DEF667F661EA801F7D39405A6EB6C910EC4588425ECE6B18BD:0F6369D223F9E96CA4664FA51DA08BCE8D8B7171E0C0ADEF29BCDAF6E35915D9
+ECPinf = 00:01
+#ECPeven = 09ABFEA5BAB561042FAF67928DEA998A5212BCC0ED7F47F13CB080E39FCF4309:08FA872BC98BAE60FF4C70899852D8DA72E5B2DC9DFD9F71E383FD2A2058197A
+#ECPodd = 09ABFEA5BAB561042FAF67928DEA998A5212BCC0ED7F47F13CB080E39FCF4309:1C28DD56767451A0BAE7DCF667AD272DEE3B4D23620260A1C37C02D5DFA7E699
+
+#test7
+ECP1 = 073D70785CD551699486B05A2288E4ADA54662928F8213BA0667304E4B42CE8F:069B580CD0918A4A19BADB1684C0CA90D3985C1B57C26F371899BBCE5A5E678B
+ECP2 = 1DF55CA41877C855EDBE74A5340BD4714BA0DB5B4AC6DFB6597639A69C03CAC1:06FA66AB95BAF8AF16A6F1591E729F071DC2BEE60168DDE487D7EDD949FD6A43
+ECPsum = 18C56B995A2D5464DC3E4CDF410A0F000C7C9E1BAADDF7464D8EA5D45C3874B5:217A5544AE823385F3347F9BFA166384D536EDBE3828A31ED27B06F7C4273507
+ECPneg = 073D70785CD551699486B05A2288E4ADA54662928F8213BA0667304E4B42CE8F:1E880C756F6E75B7A07972697B3F35778D88A3E4A83D90DC8E664431A5A19888
+ECPsub = 03B01F8AE1F48DD6D68BCCDC4F725DEB5CD82F9A67364CCACF788C0E48B43078:0B0C417AACF3C628B0361EA20EE344100BB93D2697B7E459AFEC968860725F1D
+ECPdbl = 1EAF0327CFB682394FB66C5FB6D3DB8C3BC7AA816862AD4B3212CD6072EB840D:1C0BABFCC685B68E648EFF38C2BC2A0BF25E739558A5E8A7E4FE37C4548B84D5
+BIGscalar1 = 0EFE9D7B66C4BFDD111663CE7761CEBD6B5EF92FEE553118D96AB76A7FAC20D5
+ECPmul = 1A0314718CD2310A606B98BA295B1D5DDFEEB99F517E56CE0B2975616BCF03A3:23DA443A9F0950D5C0180E077563D371EA5D6BB939215C31D05F599931FA59DF
+ECPpinmul = 113627EA857C64F4E1AD195F7DA3A25177C6916CCB2854B271DE864348004A71:056DB903A82E86AE0E02E6F14B7B119022BA4A28A92065420096F6F03539297A
+BIGscalar2 = 0FC4F0EA20B64FAAC0C15F8C487D9048CE2AE99D2EAFB73624AA386904BF73FC
+ECPmul2 = 09B3AE2256D3D2379C570183B346C47A2AB810650FD4BFFBBD182A0C63907EB8:0562B6DCEF603511EBE46AFF5872D12147775A58AA44C8940A5C91424C168AA4
+ECPwrong = 1D821D0013934E00E0EAA8A0AB8421AC4DEC784A87DF73116B2AA6FBC99732F7:15C6423FCD9E41D3F7050F3ACB411FC14C48332F728E82A2181DEE102F5F1C69
+ECPinf = 00:01
+#ECPeven = 073D70785CD551699486B05A2288E4ADA54662928F8213BA0667304E4B42CE8F:1E880C756F6E75B7A07972697B3F35778D88A3E4A83D90DC8E664431A5A19888
+#ECPodd = 073D70785CD551699486B05A2288E4ADA54662928F8213BA0667304E4B42CE8F:069B580CD0918A4A19BADB1684C0CA90D3985C1B57C26F371899BBCE5A5E678B
+
+#test8
+ECP1 = 1B64F9B812B4A35F7248AC5992575435CD1598A9BA893A5639B7F4360230E0E3:0C055DF8CD1F1FB00BA893B034BCB134A3507A926F347F6053CE78065F6DF1D9
+ECP2 = 118F12667253DB8E2DE162197179A1DFACC224EF657383659E4F347E5318A16A:01AC7F99612F40461C0CD7D67F5EA1486B3CC7F4CFB667D4B7358E5382EE41B6
+ECPsum = 23F86971E0C9472D9B9E07F1C018EDBCAB8F977A02E33AB2F0871BE6CD08A4D8:117ACD9EFDB7E118F5CE3C3061E9583A84E1761575EEA8EFF93A526584E82AFB
+ECPneg = 1B64F9B812B4A35F7248AC5992575435CD1598A9BA893A5639B7F4360230E0E3:191E068972E0E051AE8BB9CFCB434ED3BDD0856D90CB80B3533187F9A0920E3A
+ECPsub = 192E2FC8F61FE79B9CE39C265552F7BD353C612CB0C2791BE47490CE69CD500C:03321A0D3E0C6ACB285B3CBB2AF63BF00EA555BDB54431753B3DF8DE443DFDF5
+ECPdbl = 02F459B585CBDEB99CF346A8CEEFBE6B44BC352B3E9216D14F67C2C7CC89E86A:0E074967B0FEE4E118102B60F68713E063A64712E79F05F699371315ABC256CF
+BIGscalar1 = 1A5C8867E56B5E77B644F76686B5B8925C9606BC24AFCE82EE89ADD6ADA3AF81
+ECPmul = 19B3E641050E0729BBECB659B906B397DAC1DF92A08D8BAF24D2829A8B5C2467:24AC4ADAFCD5F4E331314AB4E1055A0ECC59624819888899ADC16F62AB0E798C
+ECPpinmul = 01E706AE411718A4EC631135DF42802249EA4D75854147C76C5F251081A1BCEB:22AB7D8C738760CF0FA2482E621D83FE757EE8ECABEF2715730779291A25D5AB
+BIGscalar2 = 212EB0A704F0AC8EDCA0B99FB38306129BC1A5892C3930998881957E7A9D852F
+ECPmul2 = 108C15D3D9EE7277EE1A4829BA52D90D737A029B904F23A4AAD2C7C285252844:135C74155944F4D6077AFCF0446F44AEA65C33C40DEBEE87741A07B4F1486AA2
+ECPwrong = 0330C3C6539B8685CD63413CEEDDB2D928A719EA073DD52423879EF0A66F414D:0C9A5ADD5F1C23B5CCAFF41939340B4EE3903129BC71FDA0923DB96FB874467C
+ECPinf = 00:01
+#ECPeven = 1B64F9B812B4A35F7248AC5992575435CD1598A9BA893A5639B7F4360230E0E3:191E068972E0E051AE8BB9CFCB434ED3BDD0856D90CB80B3533187F9A0920E3A
+#ECPodd = 1B64F9B812B4A35F7248AC5992575435CD1598A9BA893A5639B7F4360230E0E3:0C055DF8CD1F1FB00BA893B034BCB134A3507A926F347F6053CE78065F6DF1D9
+
+#test9
+ECP1 = 0A56C353EBD39082F5E9E88A05B0C051791CD7207870E551F14BFD3A3D6215F6:2390E02D57454B07A842F2C041F66FBE56DEDBB4986DF6606C44B464D39E9BEC
+ECP2 = 033914AC8E41596C8E6234F6B604DC1564EB9FDA352DFF4E8FFC245FCF24F270:11C71A8B131D1B8BCA9112F1F39826CDE0ED8E78A85AB6A1EEEFA097740B429F
+ECPsum = 02130C332119445116041D7A87FEEE73FCC5F018EC2BA704A2AFE194E16DBA7C:013CC28EB7084366BD228FE7D99329826FBAA83B23D7166467284DA7FCCEA0E9
+ECPneg = 0A56C353EBD39082F5E9E88A05B0C051791CD7207870E551F14BFD3A3D6215F6:01928454E8BAB4FA11F15ABFBE09904A0A42244B679209B33ABB4B9B2C616427
+ECPsub = 1FF8567E5F2FE0C598BB4AF4ECEE3E892C3F7A50F8DB2B50988D50A403873EC2:22C2FA1117069EEC58B0992160512D6E2A4B653E888AE5B54E1F10E6570A9945
+ECPdbl = 10963748412E728B2033E46011361582B01A274C16DF299A423F9B946B14F8C4:085BEBCDE54048CD99FCD1E6E488A719E0DC7B3B9B951EC60AA67DDEBD7E5191
+BIGscalar1 = 09ADEDF8A8917958FDB56FD7FCA298756523EBE0ED9285184B4FFDF22B01ABA3
+ECPmul = 023B792A8936B6D0C2F7C0D30526E206C943C4321E44FC8F825E79F7589C00D7:2057E8B861A833F943E4F9C6539CE1DD45EE68371F02CA292E9BB8CB4A09CC40
+ECPpinmul = 18E82A897E2A25652AFB367CF441D9556977EAC7F07C8C38DBE873BFD0B4D48A:02443F9F96C3AF53097C4CDE81B36A307DDE5ADE1B49B459E1FE7F6581612475
+BIGscalar2 = 13E7CB0BEA64BA2351BC37D9A4861799B451BB640404A8C7DE553745FDCDF739
+ECPmul2 = 0B67995E44B3CE8D4FCE391604C16FCC29A2A8245620EC2A875416B63F9CC05F:03409A4F20DE099F0110309B618E761BDC74AFE8477D91588A8ECFFB5FA527DA
+ECPwrong = 022D4C7B0E80CC62D731004079F51F31BC4BE5FA6568E522EF5C7D6FDBDF74F5:23071D96271219C134DF8DF61610228EDF276038BB42AC4812233C5B11334B60
+ECPinf = 00:01
+#ECPeven = 0A56C353EBD39082F5E9E88A05B0C051791CD7207870E551F14BFD3A3D6215F6:2390E02D57454B07A842F2C041F66FBE56DEDBB4986DF6606C44B464D39E9BEC
+#ECPodd = 0A56C353EBD39082F5E9E88A05B0C051791CD7207870E551F14BFD3A3D6215F6:01928454E8BAB4FA11F15ABFBE09904A0A42244B679209B33ABB4B9B2C616427
+
+#test10
+ECP1 = 0B0C6F4F86797403C0CBA24844AF15384B9E581E9C2C15143E1C3D99B8E613EA:218DF6BF0E8C4387F19A1E4B13AE2EE763FBF9C61FF865852F450074C4E35410
+ECP2 = 1124FFC5E165D1882E4F821994C0F24F4F698A79462521E56B6B87D15038BB6D:07E5FB773802FFEBF507B671E9FFB4A6DDC12E6E7CFBD743A21007FFCAE6D6BD
+ECPsum = 2242D510C0930E0E56B981DF033E325E65D0A9D3263E9AD9088BA879A9C3C11D:1E46D18F7455AC591E399AB9AF7EA5F0A22273B945EEC59A999560DA41C6839D
+ECPneg = 0B0C6F4F86797403C0CBA24844AF15384B9E581E9C2C15143E1C3D99B8E613EA:03956DC33173BC79C89A2F34EC51D120FD250639E0079A8E77BAFF8B3B1CAC03
+ECPsub = 24232C86D1F3D0998BC0D7C1127E10475DF4D9EF65273D164F715770528410C6:22419D36D9B17112BEC111C6D49D61A4913A8B8EF49ABAB6D7AB99D2426C8707
+ECPdbl = 04183049B91032BF33CCA9DEBFD9D68B1D8150177CAAFB73D92AB9679A3C733A:127FCEA73CFC639514BECF43CBCD82EBC743223B29FFCABE6F6264245F06AC31
+BIGscalar1 = 1A9A1F2357B5CA7E05DD54B79D22AEB1B115CD2F88B5AC679761CE5518ACEBCC
+ECPmul = 0AA13C303FCA49220BB63BB950C37DC1C1F512E25A9B2D4C8003412F8B6EA752:0E1180ABE71812F3F742FA34AE7F70FFD61513A0C28CF1650BE9336C050E67D0
+ECPpinmul = 06EB1238785F02541D4B5392FBFD9A2D1CA4870F527F2CEBD8780369E3A6D8E2:17CC9D87B418EBFFFE5CA949865A292AA4507ED8A7D475D80A11BD55458E1D2F
+BIGscalar2 = 0E97EB493E8CB49ABF976FBE6D455C23624FF094B015D53BCBBEAA57A3593BA0
+ECPmul2 = 0D7E2957C6C90D0968A60FD1E5C2B686CCFE816F03E1DDC18000BF84D2B85F6F:1D92590BD21D672E4A02ED8142B099CEA9B355EB2EC8CA23204D8096068E2AC2
+ECPwrong = 12EF3B81BF1844B6C6E20B074F21A107DCA25A23EC78F6FE6F9CD36690037239:235BC4CB1C2053A51DF78611244DA749E3C171A94257E7D8FCF9496AE9D9F802
+ECPinf = 00:01
+#ECPeven = 0B0C6F4F86797403C0CBA24844AF15384B9E581E9C2C15143E1C3D99B8E613EA:218DF6BF0E8C4387F19A1E4B13AE2EE763FBF9C61FF865852F450074C4E35410
+#ECPodd = 0B0C6F4F86797403C0CBA24844AF15384B9E581E9C2C15143E1C3D99B8E613EA:03956DC33173BC79C89A2F34EC51D120FD250639E0079A8E77BAFF8B3B1CAC03

http://git-wip-us.apache.org/repos/asf/incubator-milagro-crypto-c/blob/8d28d2c3/testVectors/ecp/test_vector_BN254CX.txt
----------------------------------------------------------------------
diff --git a/testVectors/ecp/test_vector_BN254CX.txt b/testVectors/ecp/test_vector_BN254CX.txt
new file mode 100644
index 0000000..ae6f045
--- /dev/null
+++ b/testVectors/ecp/test_vector_BN254CX.txt
@@ -0,0 +1,173 @@
+# Choice: BN254_CX, Type: WEIERSTRASS
+# Modulus:=0x2400000008702a0db0bddf647a6366d3243fd6ee18093ee1be6623ef5c1b55b3;
+# A:= 0; B:=0x0000000000000000000000000000000000000000000000000000000000000002;
+
+#test1
+ECP1 = 1CBBCC60DD7E41921D1BF08AAABB70E6F115F8AD7BC7B4B7CB69D3C2A4F896F5:0FB719949D18E531D90A6F8470CFBB385DFB200E29728B3C4600B0CF95F15D38
+ECP2 = 14E45D06DE42B769EFED190A18C2C3ADAB010137B6969BBF6CD0C05D96D03E4E:0E2485A886ACF7808407E3B8AF6AF2F1FC2AAE77596E98FDBF5B108038DE1739
+ECPsum = 1CCD96683B17AD0A55401396734AD0FBE099328B89BB85CFF144466248A1EDBB:06098D91C915CDE6F5D1D227BBBEA21F35BCFC3985910F8352CA7B20A39BBFDB
+ECPneg = 1CBBCC60DD7E41921D1BF08AAABB70E6F115F8AD7BC7B4B7CB69D3C2A4F896F5:1448E66B6B5744DBD7B36FE00993AB9AC644B6DFEE96B3A57865731FC629F87B
+ECPsub = 186D708F294E25D573888381069CF1F5D084B7623F56FF5CA93C0FA9E6ADE40D:1A19BE41D8951C5E02B9A9088CB068FB3CBF6E433E98C5CE2E8580E2ED7724D7
+ECPdbl = 1F61AD8C5AA00D4676E772666899276BF7BB660AFBE29059B939F128FF5D204A:12082D286447CBF2E7FCC0D4A5792ECC32ACDCBC699C5557407F99AF395AB4B7
+BIGscalar1 = 07405C780D6CC579CF778C7F35C18F0BC8DC869662D773418B11B00663C8838F
+ECPmul = 0B487A43E99F578563949731D357EBC991EF5CC8BB7C9B63A672EDE9F84B3C:05E5A53D579A7F6145BC08C6D66D3A5D952D3C4F3DDA16681572A2558B06BFC5
+ECPpinmul = 23C19492869C03506F367964CD99AB76791A392E1AA1A603E9FE030F02AE92D5:09D6C4546682C883BC81E8E623D83ED1EA77165AAD15BF681C60484DE0C6494D
+BIGscalar2 = 232A5C0795DD9784BE6F5DE3E1BE73F01B06080BADD42657C9B7E72D8B29D687
+ECPmul2 = 1950896F0820BC6DBF5D70E7A788610BF8C7314D984B4961E4EEDDC4598B6305:0467DD57C09DF6405D697AC8AD9D24FE27F867F10C26C351D0562E1C6E6D4465
+ECPwrong = 15D5C4DE7F201B53F2B1EA6BC2AD8F64B71FD28FDA55844E8DA0132E4324C719:063D24E26EE068F9E5F93D10789939C34DD5A8A1F19AF8DD8848D0D1C2B38C73
+ECPinf = 00:01
+ECPeven = 1CBBCC60DD7E41921D1BF08AAABB70E6F115F8AD7BC7B4B7CB69D3C2A4F896F5:0FB719949D18E531D90A6F8470CFBB385DFB200E29728B3C4600B0CF95F15D38
+ECPodd = 1CBBCC60DD7E41921D1BF08AAABB70E6F115F8AD7BC7B4B7CB69D3C2A4F896F5:1448E66B6B5744DBD7B36FE00993AB9AC644B6DFEE96B3A57865731FC629F87B
+
+#test2
+ECP1 = 109BC6ECDE209BD468A371A3AC9F0CF67B8357960B3BF0212D21A8F6B40ACF95:0BDCC18C8C19B0292C9C6B7B56B2B643FC10A2016D3A286B19957F3446A0D970
+ECP2 = 116641CB225918C175924F22C064611D6246CAE7AB5FD10A460B4C194CED6698:0CBC9DA5FD956ECB182510D03090CBEC573E37CF10D2A1332B635EC6F45DEC4C
+ECPsum = 0689ADC04D048C13040A66D0EBBA1F25257FBDF971B8DB761B0CA1A3E23B5D81:15AC934801ACF16E464DCC622625D13FD8285954BFDA507534012477B261DFA4
+ECPneg = 109BC6ECDE209BD468A371A3AC9F0CF67B8357960B3BF0212D21A8F6B40ACF95:18233E737C5679E4842173E923B0B08F282F34ECAACF1676A4D0A4BB157A7C43
+ECPsub = 15737C5F166C9DB41DA481244E6478675B95A73319FF16EA6771DC32AAC07D1D:19AAD3E624550FEE92D7435C0DBF358F35A68C96BC8ED551DF7A7097E1789C24
+ECPdbl = 12B0B8D734B9D910C9B4358FDB240225D412F020F4BBB0F51F2F163B2F489CE3:02474CC40554788E99321829EEF0A4A567B473508FF8EE7C679E17B27172C141
+BIGscalar1 = 170D5A2C7DE5E4626B0C5BD55FA0B33D47FBE191CF0A6341FF0E7C05DAA9F2AE
+ECPmul = 0AD0F138F8108E86F40C33213A6B0E705D0A081F56F0FC21D7ABB3E50D3FEC0E:0BA475D495E4FAAF586B425C7C330BE23E4E127866E5F172ACE3AAE459F36F5D
+ECPpinmul = 1E88C013A144E30C8F6175D72AE952EB1FEE9C419C4A3E3C402D11B1258482C1:113C54AAEBC3CC91E1CDCC6B4694C3D58C77B868EBDE2065F1D9286C89ABE526
+BIGscalar2 = 06F84B9F613DE07666BE35CBA5DB01AEC83844EB58DF016B338496361D2184F2
+ECPmul2 = 163B99DCC6F9DE3E70FE633047A73300A6179EDFCFF5E1305E8A13742E51BF23:0B1117B0683ED0B31D36CB1C37AC3A6E587FDA43DF2A3E3605D6D1E18CF37E7C
+ECPwrong = 1EDF3091845F410BC4B7B4C22B33107749707062FE09E2C814907C19E403F948:1AE2CB5B7F0A8F1BA352C4DF878B19C8D24A6BE74DB4FA8C8C1F50AA9337DB75
+ECPinf = 00:01
+ECPeven = 109BC6ECDE209BD468A371A3AC9F0CF67B8357960B3BF0212D21A8F6B40ACF95:0BDCC18C8C19B0292C9C6B7B56B2B643FC10A2016D3A286B19957F3446A0D970
+ECPodd = 109BC6ECDE209BD468A371A3AC9F0CF67B8357960B3BF0212D21A8F6B40ACF95:18233E737C5679E4842173E923B0B08F282F34ECAACF1676A4D0A4BB157A7C43
+
+#test3
+ECP1 = F7BA6FF06865CC8FD7C8F51DEE1DE6805856593C4B35833C738795332FD887:0EB5493A750EFFDA8F668F8C9D559D7ABF1322AA3D36CD442A26D486959C5C4D
+ECP2 = 19BC44267D8C757735D0DFEFD04C7406BB6E2E27BA16B859BEA2B23BBD9FBB02:1B5A98DFAC40E81B557B2A5B84217C32296680A4F5D040A8D94D6C8C70DB2E99
+ECPsum = 13215E8A56B1386A8FA5E4C421B6FF2AB4CB92CF0E3ACA3A044470086C64913A:08AA8D38077C0DACFC8F3768E8F4CF7913D673B567419831016B7CD7D6AB7054
+ECPneg = F7BA6FF06865CC8FD7C8F51DEE1DE6805856593C4B35833C738795332FD887:154AB6C593612A3321574FD7DD0DC958652CB443DAD2719D943F4F68C67EF966
+ECPsub = 123FF6194A4A01A016A8FEFE0A3EC28ED6D46B5D7D2AF8DBD08DB80A4CE2F684:1C1AF5730EF6FB75D199618AC3321D765C553028C1F5622D6C7BE5B13B5CF47E
+ECPdbl = 057E8C5D6EC02E8CDB2E843D8B9F7EC92FE02DA79E14BB6D19991395CCA6A779:16264D01F80B89DAFCCC416E492D3A8BC3CD5DF71F80EE26595A477BAC8FCEA6
+BIGscalar1 = 0366AF3180D53F8888100D6629867B098C7896CC53E65F466567B63DC57809D1
+ECPmul = 0B26003E2065D4345B3EF41373367E99CB11788D3372E2EA2311B4EE7DBB807A:031DFCAFACFEE67391521FC8CA12F769F176FA18A9195B1D62B807429242EB0D
+ECPpinmul = 16C083417360C603DF201FC03F36177D615ACECB92127C9EC2D0110DA2AA748C:05CA07D5A18865D2E28FDA6741EFF306C78E94E2B83B1F0BAF6101B67D58B3E7
+BIGscalar2 = 1EED8716213453AFDB5523A852D21791814CEBFFA192D7EBD1731237C21AB3D2
+ECPmul2 = 1085779EC20BD896489CE65475A1658A1B80C1C145B560A0AAFB2CC63AD26CD7:0CAC93A3E0A273F99E0E025D55544DFA6651A39F22F863C45E9B995E302EA0B6
+ECPwrong = 05A5B58FF633C36FF47CD9B306B140DA5CADF46644FE864AAD6520762D05FEB1:07BAE0B864A5CEEC3C6492483915B68DA3C3A6770B42D5F8E9778D309FCF3BD0
+ECPinf = 00:01
+ECPeven = F7BA6FF06865CC8FD7C8F51DEE1DE6805856593C4B35833C738795332FD887:154AB6C593612A3321574FD7DD0DC958652CB443DAD2719D943F4F68C67EF966
+ECPodd = F7BA6FF06865CC8FD7C8F51DEE1DE6805856593C4B35833C738795332FD887:0EB5493A750EFFDA8F668F8C9D559D7ABF1322AA3D36CD442A26D486959C5C4D
+
+#test4
+ECP1 = 031CC8A454900B2AF542D5BD49D6CFAEB260C4265985145B1539F94375B56FBA:21A1DB64EB114FA601274F7DECFBFB6A4B07EE964B79ED691F0277BFA78AB726
+ECP2 = 1D0FDE209F1CC0E0791A0D949E47610651F433899F4B91ECEF7D34E8DB91CF05:1C37878F06B67567C3627DF2EDAFE74AA8B4F95EEC2786CE0972034DF749F97E
+ECPsum = 0162E74AE70D033E4844CBDD574D2D2FA4D6378E313FCEF05DCC9E7274923B5B:1F4E628B0ABECB5DBB06F57E05F930D81BAEEA79559ED37D10D8F6D422747644
+ECPneg = 031CC8A454900B2AF542D5BD49D6CFAEB260C4265985145B1539F94375B56FBA:025E249B1D5EDA67AF968FE68D676B68D937E857CC8F51789F63AC2FB4909E8D
+ECPsub = 1B68D8A660AF6E59A500425826631DE2438BF6627F094166DF6B317154E1CE1B:1237DE46E0BAA04321E014101501FD75972BC2BAD0968EEFAC1152154CE5D241
+ECPdbl = 10E96CD797367B50CA2FF4A22972E1676466BA05922786FE1F20015B20AFFDC1:11AE4A22ECC301BF14CBA374B5E4C2A4A3CDE08111D019CC74BB6D9384FC2B40
+BIGscalar1 = 06F246EB4B8FF49403A39350CAEC9E02BF59F275E3AD393120EFAD84EB9C77FB
+ECPmul = 1DD0EB90513F9BB151B8DAD8C3D65F07ECCF5CC557F0622DC9B86B22938579D1:05A77335E292CC348FBA7DC0A1375171D1EAB5C3CAD7D59BB818EA347077C5B5
+ECPpinmul = 21F52CB58796F0C663546C526AFEC0DB9FF8ADCDDAA58F68C7855A3807293514:200DEDF560C5BF08BB9B109901742F0BC06F65F84791BAB683486291514CAE85
+BIGscalar2 = 05B9C34E00C42B74F176FD6C7C85639C84D784B7F61075B4E5141C7EB346A531
+ECPmul2 = 04100506F8856F57B8EF68FE24302E238CF6091FBFADF8CFB6E80E7D2C351259:17EF8977034708DC58892FB42AC46D5C2ECA022FF495FB24F971D12F711C0BD4
+ECPwrong = 0D6CD22C3A67EB8015E5F9EBD379D0A5F41D019AF67ADD2997D44E1AE202A097:04911C398BF4E0953C7DC1DC31279B4E24D97FE2BA52B4FEBCF14CB1D9B80C99
+ECPinf = 00:01
+ECPeven = 031CC8A454900B2AF542D5BD49D6CFAEB260C4265985145B1539F94375B56FBA:21A1DB64EB114FA601274F7DECFBFB6A4B07EE964B79ED691F0277BFA78AB726
+ECPodd = 031CC8A454900B2AF542D5BD49D6CFAEB260C4265985145B1539F94375B56FBA:025E249B1D5EDA67AF968FE68D676B68D937E857CC8F51789F63AC2FB4909E8D
+
+#test5
+ECP1 = 0A65DCD3B144742E47018664B9E8A3677840C924DA66358B8643A11939CAA3E4:1C8050F260C58A4D20F37FFF587DD631A45E8867CD2B02DACBABA16FEBC9CD5C
+ECP2 = 0852750E77B4709B91A35EE84C6486044354592E1DA7B16B283DCADB6E7CDCFB:231E628739D715463DF5541E97D9961CF0B780CEEE9890A56CCB45BCFDE1ABBF
+ECPsum = 0E82BA1AF20245D8B8D5838571E310B7E007FCD0B14A3E327F1E14F3D0C0060B:08319FBEFF12A7C4914BE4B76AFAA1509E6F2E7BC27E13261514A372D0A157D8
+ECPneg = 0A65DCD3B144742E47018664B9E8A3677840C924DA66358B8643A11939CAA3E4:077FAF0DA7AA9FC08FCA5F6521E590A17FE14E864ADE3C06F2BA827F70518857
+ECPsub = 16A96AAB7A38D188E5FDDD89083F759E06D77AC96AA2A74654801841419A1BEB:1A2F2D2DC7950FE28F89C556EBB35A4850716509847075AE20A5A3C3D2A51460
+ECPdbl = 125F5DA4606905F2EBED1A469A240E2B7EEB09493F100BB6965628F033F9E6:02FB771126CF0F824ED6C8AA71473AD0CDB5BC4C5792A2CA486C218E85A40CE9
+BIGscalar1 = 091B0441A8BFD30AA161D1B5AED60253CED17FAE0ADA53CF38A98DCF738D07D3
+ECPmul = 054FCF5C7D7C169C448B5B39DE9896EA0CD980F7B5E1990C1508F6EC98A539CB:1AFB72CA377E84C07E782CA919FC7AEFAF91992E83F152673A0B60323EF4A407
+ECPpinmul = 18BE33C9A7077E3AEE63F9F446221DA0683852EA71D7391EEFD0345ACC2E3006:1C7570F9954429CC5DA072D6BB4993BA22A512F3CCBD98EE713E98780DC24380
+BIGscalar2 = 11156227F079E0D7695912A9BF78794F62D044094A04291FAA40691CFCC2C570
+ECPmul2 = 1A597A2939B01A277E9B34EBA7EFCAC41F5A93E0D0389D3AA70B71C8C7C808C2:175C61BFBB73628DB10C921EEA387C2AB7F492548D398DB59561919D1F878711
+ECPwrong = 1A48FD109C334EF678E085C1F4ED358844A3D3E4113318EE133DA6489CC29F5C:1AEEC205D95DFE87BF24AB7E619A39DA6824A0330E1DE3B9E36ABD17F2C69B3E
+ECPinf = 00:01
+ECPeven = 0A65DCD3B144742E47018664B9E8A3677840C924DA66358B8643A11939CAA3E4:1C8050F260C58A4D20F37FFF587DD631A45E8867CD2B02DACBABA16FEBC9CD5C
+ECPodd = 0A65DCD3B144742E47018664B9E8A3677840C924DA66358B8643A11939CAA3E4:077FAF0DA7AA9FC08FCA5F6521E590A17FE14E864ADE3C06F2BA827F70518857
+
+#test6
+ECP1 = 1E26DE4CA4F489AB393B54D6784EEE1816D87FDDE7C6523D0A92A4068EE8D5B7:04DB079DA3E60B93E9C821C8D3C1EAF3CE1BA4FD22BBAA2EADE5354FFA6AB23E
+ECP2 = 08F9A3017F192F52A5D07531F7AD13A08AE3849D4D6AB0613EA577541B77BCFA:08B0868887A3B865716D59063C9AE474B47D3E9FE54C80E5EBEE91616DF87B39
+ECPsum = 0F1732DFD4BC660CBC748AF2145C2F29618457FBE82939B7808B63705EFFCCFC:122FAE5D83EA41428A4B7EDF4B80390607D65159465FC445C0E0A45D61295DC7
+ECPneg = 1E26DE4CA4F489AB393B54D6784EEE1816D87FDDE7C6523D0A92A4068EE8D5B7:1F24F862648A1E79C6F5BD9BA6A17BDF562431F0F54D94B31080EE9F61B0A375
+ECPsub = 18543492232A7CD0F656BD77EBA9C1D8DB051BBC8DBFD5A5525AB8100A3D9DDA:0BD4C5F3DFF0F2D8BB5E08E4D356F356CD2C9EFF94DEAE4694EB1C0E25EAF19F
+ECPdbl = 0506A6F560ECAA442ECE7B88C880488B3B9D83BA9238C6D55D4328449D8248A7:03EC5CC568330BD17DFB09FDEC6D493CB678F14A73B0DAA3233F7ADDC1F18450
+BIGscalar1 = 0F409AB3F3CE8E06323E47B08B0497A493D36F1A0ECBBC49D61DC783C4262C6E
+ECPmul = 14E9AE13694BED976FFA1F6E11FBBABFC79560C8DCA0016696DEE9F85EAF62D6:07A640DA59E367FE50081AF93B53DED2C643E8D9F148283DE731E0B25ED5C4C8
+ECPpinmul = 20FB718034D5F0F7579E430DB1F2468911F5C1CA4EA1D2BA57CE9EBB32846723:04D1924FB5C6F4C54149805933E11EBB56FBB752FC53FFC3B5E54DDD5B260360
+BIGscalar2 = 18157A62C5A72D932BA83C3D20598012218FB309602C56B4ED1F5AF034AF4F23
+ECPmul2 = 1FED9322B9C73F9514E994919F81C517C53CB6E7F2C4E4B7CB69A7F5A9994E69:0FFC9E57E83E77AEFF5F9ED6EA353A50AD9E0E907FE5D5159AB289054B9A6402
+ECPwrong = 0244CFED4A1DCB371D1F4A4E863622CD8B900E1AD703C1A31065015840D65618:1EBAD8BB6D51ED97AC72D83F77AD3F6D4107FE06B6AA700BFBEB85AC0FF97D7E
+ECPinf = 00:01
+ECPeven = 1E26DE4CA4F489AB393B54D6784EEE1816D87FDDE7C6523D0A92A4068EE8D5B7:04DB079DA3E60B93E9C821C8D3C1EAF3CE1BA4FD22BBAA2EADE5354FFA6AB23E
+ECPodd = 1E26DE4CA4F489AB393B54D6784EEE1816D87FDDE7C6523D0A92A4068EE8D5B7:1F24F862648A1E79C6F5BD9BA6A17BDF562431F0F54D94B31080EE9F61B0A375
+
+#test7
+ECP1 = 167A25590720EB07772E5A0B93DDAD5D8CD1E0DBCC6CE570DBE04424D63B74A7:1CDBC87352A89224A6DD9D012D32C84F603BBF84EA2C3376B9602DCB43038DB3
+ECP2 = 1ADC0277843E882C715228180F9EDE56FE9463FDA2C69AC72705F0DA6923FDFE:1AE7F54B260A519BC56E2FADED598ED11E4284F10C8E4CA689B96F6FA193F673
+ECPsum = 1915DD5466D59D651BCB7478C9C688FBD53DD248A76C3D0EEB3AD9CE9C099049:14E05C727F7671F4039F2EA0B0EE4A037F0FB09F56F18172EE5F36048FB3D0
+ECPneg = 167A25590720EB07772E5A0B93DDAD5D8CD1E0DBCC6CE570DBE04424D63B74A7:0724378CB5C797E909E042634D309E83C40417692DDD0B6B0505F6241917C800
+ECPsub = 1C32A8D6571904A1586DD09B299403B02B3037A7476270F7DB7DD431FE4E91E3:18A4D6222DC545AF8EAA933C11136714C98287EF67EEB7C9561B1E34F0B9D431
+ECPdbl = 2280C5938C95B8896B5AF24DDF96B34EEE1A5DF26F34E4910DD1FEB0DF6D358B:06F78B491B0FD77EDEBB0571D03C7DBB6BFBC975CDE2DB8D76468B4C786DB242
+BIGscalar1 = 0491FF537A76FA12203BE3EBE301B33D39DA6C8C930A11F07ED4C0CD68DDCCC3
+ECPmul = 0789E17B10A0EA7C58AFBE204D746F8B6139B716EF527388E5B12F3887B4F42B:12D3779A44631080106D3DA00DFDC6F50F0494FED72B7C4E3A9AAFFBC4D7E4A3
+ECPpinmul = 01BE2EB5CB6D32F7EFD9DECB8FB148D99E62E0E81396DF0E9C7799D92E56BD4E:2328DDF28F28B1DF9E7284054586227A34686FEA40512B10E774F483115E857D
+BIGscalar2 = 1FEF6F551A1B404B0CFF592830403E0C11482FF60E11AEC1FB62CCA4B3461A38
+ECPmul2 = 215A43FAE057AF8534A8CB45278A55F47CCDE57484A8CA03F2410AF839A71731:D4F0BFC9B50585103FAE8B9ED1905D2223321EFDF4851E8F8D955B47793531
+ECPwrong = 04DD4B2DB57268212C5E1A4C451D1078914AE09D587F88F918A6E3F8D0A99F0E:0A9CF89EF324210B287BAD4396F7ABD5B2247BDFE3B0ED8FBD3C017524833847
+ECPinf = 00:01
+ECPeven = 167A25590720EB07772E5A0B93DDAD5D8CD1E0DBCC6CE570DBE04424D63B74A7:0724378CB5C797E909E042634D309E83C40417692DDD0B6B0505F6241917C800
+ECPodd = 167A25590720EB07772E5A0B93DDAD5D8CD1E0DBCC6CE570DBE04424D63B74A7:1CDBC87352A89224A6DD9D012D32C84F603BBF84EA2C3376B9602DCB43038DB3
+
+#test8
+ECP1 = 1B85D80150CD451044699CA186C5563B85610F79DD97B02C441DD4BE9C2826D6:1D76F3B506EACD3BB1D30F644CAAB27754A3CA9C3B1709BECAFC38E0411CEB93
+ECP2 = 1D54FF222ED620AEE553A4A935F141B97B1F14647F28D2A6C8CFF29D8DDB668B:12A37E5592EB3A80434DBB076EA958F280BC155D5074143D8805581AF6D84A01
+ECPsum = 029FD9E321871478FF2DA0E500B30BA803F7F9649E7A8BDAFBFDD31EA48560C0:164F89E4182F9E5B4532D8F0412FDFC4EB9D08A56A167BBAD496A0B7438F9011
+ECPneg = 1B85D80150CD451044699CA186C5563B85610F79DD97B02C441DD4BE9C2826D6:06890C4B01855CD1FEEAD0002DB8B45BCF9C0C51DCF23522F369EB0F1AFE6A20
+ECPsub = 17406161AB07C7974E0BB8384B07618819D588A53D64CB78388AAC67EFF0F628:160EC37AB93CD1DE3497D0E0ED53F245EC613AEE197D72E68E368D557A8B38D3
+ECPdbl = 0A03A14C03D2A557DA70FDA07D9C0628FF9DD6ED1E1B2D85CFAFD03F1D324C87:0D7DF6868F1431F8DC1E9D4DD019ADE84278F9ADF994E1078E7D8B4A45339203
+BIGscalar1 = 11A235696E9D73505834B6B14D3A4C07B70F50DAABA875D62866DDF06F45313F
+ECPmul = 0A5DB87B490E058EF06D8D89936D04234E58E4257AAA3F3C2B0BB9A4266E75CE:0E7271F33395D25D8739980AC7958203B4985AB23EDE60AF0DCE82C4446D9167
+ECPpinmul = 0AFDF5A74FB160E04D87BB40F769FC073BDA05E9C7786DD74D83294577B0C511:0235EDD63C61A17C8D711AF16CA801CA691489D20928E13195CD838F9F542A83
+BIGscalar2 = 0DDFEA5E69F137B5D18617F84A76D01EA60D674D93C4B7A6D2775D3AAD7D449E
+ECPmul2 = 048B07A25EC8205FC31EA06CEA08119AF40BEDF13C2B59893CCBA7C3BD425C3B:178D7917A75E4B980E96FFC56EC64A534FCE8CF6D9081D670EB50DEC525CE633
+ECPwrong = 141507BC34364960DB29FE3DA3FB00B045959CF845737168B414098BCF96EF01:095A9125502096E2EC8F056349AD34D83D6EB2944373615CB21777BBC128E85E
+ECPinf = 00:01
+ECPeven = 1B85D80150CD451044699CA186C5563B85610F79DD97B02C441DD4BE9C2826D6:06890C4B01855CD1FEEAD0002DB8B45BCF9C0C51DCF23522F369EB0F1AFE6A20
+ECPodd = 1B85D80150CD451044699CA186C5563B85610F79DD97B02C441DD4BE9C2826D6:1D76F3B506EACD3BB1D30F644CAAB27754A3CA9C3B1709BECAFC38E0411CEB93
+
+#test9
+ECP1 = 080BC1A32E32E5D8DB88755E96F91007A50991443B2920A129DD8E4814EA8194:1B92262FBB283357B968FA5FCD9F9E005043217007BD040B9702D52F02611466
+ECP2 = 198243E7BC319D29863D05E5E569907DC332A588E1153CDC919A6B92B5FB6B66:037E3BB02AE7076F6AE8388752034C7A9DB3A8EF3543261576993C55BE713ABB
+ECPsum = 04E868B551370C2EAF3DD95C46DC59F917580BCEF31BFCF7C3B0965920EAFC10:0FBB1E5D48F5F204305D850038A72DC6E4B044EF8A5A58F85DFCA258B90563CD
+ECPneg = 080BC1A32E32E5D8DB88755E96F91007A50991443B2920A129DD8E4814EA8194:086DD9D04D47F6B5F754E504ACC3C8D2D3FCB57E104C3AD627634EC059BA414D
+ECPsub = 221D95618D9C7618A190F6E26A8D335F86498F541192ABB0ECA43FB65E1842B6:07110AAE2FE7E15825FFC75E76983ADBB3E281C2E7CD8F33E24B1F1019A2ECE3
+ECPdbl = 0A110E03D789727930BC08A1F0FE4D8A146F7CF7E47757F471FD70F1C7CE2E2D:4351333411A9E3907D3A436B5953188DFC4E0163E05282161DA3B1AB579A9B
+BIGscalar1 = 1483E6D7B957A3365C261C0C9E1C8ADCED9EDD4913E06135B1B2A0EF04D6467C
+ECPmul = 0514A003D331AE98F52AFDE17CCBE7286BD950D2AFC5C49F8109F0516C0F7A50:1F545F41341EFF2135BF4EA28C49E17FCDA884132060003826A631B775506AE9
+ECPpinmul = 119096FE16FD61B5A61E427F22C1FF179B9AFE4E8AAE9D33913BC2C62C05A6BC:1847A0223EC7D2BCFB052ED85116478BCB8DC780DBCA5889C1B0917FA842927E
+BIGscalar2 = 0B8D4D161A1317434343015DFFE3EA79047D3A1A9DA5D2611871884A4A524A68
+ECPmul2 = 19FBB133357915D59B9F8396B4F9C5DFC1357FD42A10D5455C453CBEA29ADE0F:18653BC5220DEAC4CEB02B893F90E3A30B00CE05BE3CA380F809F8CB3A943386
+ECPwrong = 02666A001C2E90269535B399C3C32B4FD4DF8F88D90CD60F80B54B451F87FA67:047DF685F35916117692D932DE7C4B86B5C29CCB351ABDB8967459FABFC1715E
+ECPinf = 00:01
+ECPeven = 080BC1A32E32E5D8DB88755E96F91007A50991443B2920A129DD8E4814EA8194:1B92262FBB283357B968FA5FCD9F9E005043217007BD040B9702D52F02611466
+ECPodd = 080BC1A32E32E5D8DB88755E96F91007A50991443B2920A129DD8E4814EA8194:086DD9D04D47F6B5F754E504ACC3C8D2D3FCB57E104C3AD627634EC059BA414D
+
+#test10
+ECP1 = 17539CEC88708471C5830C184E002BA0B60D1ACA521C75F44420BE0603378F06:23C42B4D1B104246EF3379A49ED90DBB2AC43A0ADA555A423A366D3CA05D6CCE
+ECP2 = 0537CEDB275A4EA5513ECB14D1D2246E2488035040A17F69C93CBAA1C3E2B8C3:0E288F3BB3E45FE4D60F4EB6293E82B8661A5AD05A1AE581B30B95653297C3D8
+ECPsum = 187BE29249B9743A0E8EE4027B8A93E85B0D9F4B3E0A135BA8BF7EE5CC86A86D:1F28087A14CB0D83E24A207ADFCAB33160464AEF825CD53B8DFD83F189AEC102
+ECPneg = 17539CEC88708471C5830C184E002BA0B60D1ACA521C75F44420BE0603378F06:3BD4B2ED5FE7C6C18A65BFDB8A5917F97B9CE33DB3E49F842FB6B2BBBDE8E5
+ECPsub = 1A8D1EC49D69AFEFBD047F50C06981CBAB94F4452387B5F5A57EA8394A4A4326:030D109ECF53AFF8CDCA76AD5363F4019FD9A9F8E0AB599B6D94BF839824FF0A
+ECPdbl = 093B6270D8695C20C4577E729714925F2F843E59271E02D1E7A00B47C856694F:15449C208947D3E8F442AAB9CF742B23DAE8432201EEE8DAE1C6DB58AD1C5DCA
+BIGscalar1 = 1FA1849AD363B256900B35B51C8988CCEF5E42A81C0FFA0FFD901249F3D7B3FA
+ECPmul = 0BB0AE95A6133878BBDA8EF0F32BDDEE43361673966E1D1AF6CB213AE4BD3F79:0FDADE83DDF1E6762A37A7619A4FDB180DEF63ED26D8629E5719835538D83E3F
+ECPpinmul = 1FDB8944180458F3AF77D91CC1E42E988A5270978B4C5DD06FDAC855338CAE15:06AF91D89F0A5950FCBD72E5ABEACE1566E6168A694E61A7DB1E974F6745595E
+BIGscalar2 = 17B427397D7DCBB8D3D8AF387FB76D75E4F66BFEE05DB5DB9BD73AE255C9300F
+ECPmul2 = 6D42D9ED291CDA48AEF73CEDB9C6790E332B6C1AE3386E85035B23E5FE2C68:099A1FFF6255E8D168DD4F468F972839B20954FBED191E65D5F7C662532C54AC
+ECPwrong = 0A499EFF48F6727283328133E62E167FFFB35969C0D8DB56AA509BF53E7F1C8F:08BA7C15EF59342F9F05E94CE5A32F5C61B509D2BEAA7C933D026E3351B3E735
+ECPinf = 00:01
+ECPeven = 17539CEC88708471C5830C184E002BA0B60D1ACA521C75F44420BE0603378F06:23C42B4D1B104246EF3379A49ED90DBB2AC43A0ADA555A423A366D3CA05D6CCE
+ECPodd = 17539CEC88708471C5830C184E002BA0B60D1ACA521C75F44420BE0603378F06:3BD4B2ED5FE7C6C18A65BFDB8A5917F97B9CE33DB3E49F842FB6B2BBBDE8E5

http://git-wip-us.apache.org/repos/asf/incubator-milagro-crypto-c/blob/8d28d2c3/testVectors/ecp/test_vector_BRAINPOOL.txt
----------------------------------------------------------------------
diff --git a/testVectors/ecp/test_vector_BRAINPOOL.txt b/testVectors/ecp/test_vector_BRAINPOOL.txt
new file mode 100644
index 0000000..35be8c3
--- /dev/null
+++ b/testVectors/ecp/test_vector_BRAINPOOL.txt
@@ -0,0 +1,173 @@
+# Choice: BRAINPOOL, Type: WEIERSTRASS
+# Modulus:=0xa9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377;
+# A:= -1; B:=0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3;
+
+#test1
+ECP1 = 6B4A1C97F629660016D55578D7CADB607D7E720E5687FBDC63528DD2CCB4EF13:0FC8062AF84F234FBF7F12A509879F27D8A7B10947A9EAE0C3C808EB8B642A68
+ECP2 = 8A97AF4959AADF70A4D6CD749DDC268C283534E1E30D4C74D48DFBF799F7F857:41187A6B8E521F0F48E6F655CA31BC007091771DC4B33BBB922B9B8284FEB852
+ECPsum = 27CD4614FA1E6352802F451B4608593AFF846CC31072FFDFAD5A35EE86F28C56:6247256129DC1CBB103010768A2D478AA06C41AD0E5E5B2AA63C459FC142767C
+ECPneg = 6B4A1C97F629660016D55578D7CADB607D7E720E5687FBDC63528DD2CCB4EF13:9A3351B0A99F866C7EE6F7EB93FBEE4A9594451A8D7C35475C4B3F31940A290F
+ECPsub = 85E9B3F8FDB3DC45CA09BD3291B5A63A274DDC2E55D34FE6570B6C7E5098B610:390D8C58657D7D7B8F582AF2F08820ABBFB679A7506FD5CBF4FCCFE38145C13A
+ECPdbl = 259C8946338908862A9BA0528A8FC9CC84D8B1D3833E64B76A19E8F4E79FD0F2:1A157AEDA80603C6857BC673630F6D175BCD5710E9DA0C25E3B8B309F9C7F7ED
+BIGscalar1 = 0FA69A802354AAB0C0C13DA9E183D8B505B4C2F82191B2F40E894F40F8117BB1
+ECPmul = 9F673F26925AD1DBEBD87B257BF7493E401C27BE1F9BDAB8F1FA19A6BE7DEDCA:8283ABF5107B34FFE95D193AA701EB8AC67EFE931EBE969B2E218773DF063E83
+ECPpinmul = 4892E7D0A15117F8D74A2F5F5AD6A260B194148701AD32D73F1003DB58389236:A0B409274707FBABE9FB82626F55671D1436C4DDF28B5802FBCAD31ECC8460CB
+BIGscalar2 = 88E4923A0708CFBA08412EE2CF205AFE0E03524336D1603A7501B1B1FE5C9116
+ECPmul2 = 609B91B3B834F3E70E07622C04E442B00ACEC692AEF45DBF54F3227B0C45A6A1:64491E7D20926EA77232EF48FB70CCEDB47EE7A87E4CC25BBDEC5064943C0BF9
+ECPwrong = 01B98C7F2E202E1327C35B78755EFB855193119ED6828D374B9962CFB6C720A8:70DC305189CFEA8DEDD2E1A49B6E62C62105E3F4F0F1ED463AC132893366FA4A
+ECPinf = 00:01
+ECPeven = 6B4A1C97F629660016D55578D7CADB607D7E720E5687FBDC63528DD2CCB4EF13:0FC8062AF84F234FBF7F12A509879F27D8A7B10947A9EAE0C3C808EB8B642A68
+ECPodd = 6B4A1C97F629660016D55578D7CADB607D7E720E5687FBDC63528DD2CCB4EF13:9A3351B0A99F866C7EE6F7EB93FBEE4A9594451A8D7C35475C4B3F31940A290F
+
+#test2
+ECP1 = 25B20DE26FB6DEA778E1081B4A2A58A3B787630F4DF9008DCA5171F24818825C:186DEC50DE51CC08DE8ECE55A7C9E7B15088F63B4FA22A2D61BF09ACF41C0E20
+ECP2 = 7F2CAE26A542AAED516F89A2EA69FB46D12A66E202D02202C28950869121A6FA:9140436323E6540C335CD86B23ACCF53CD4DB851C7B89ED0A0BCC57F305FA1BB
+ECPsum = 638560A4AE61C36D48FD4A6CF4D905E27D50C8D0CE05916D823C9246D3B6689F:8C3B994F1FF3D8DF19CD54EFFA203B9B140EBA1CEEEAC66056B85E9AE81EE9EF
+ECPneg = 25B20DE26FB6DEA778E1081B4A2A58A3B787630F4DF9008DCA5171F24818825C:918D6B8AC39CDDB35FD73C3AF5B9A5C11DB2FFE88583F5FABE543E702B524557
+ECPsub = 780B2CFB203FB0D55515447B635B92D6E48A5FC87980D6C3A5AC851355060AD9:2EEC48B687E3EB22A354784B9B3C5CA1FA32E9810FCA970A04A424338F8F8DB0
+ECPdbl = 3555A9AB3266823A9A4CB640E4D72B0CBD46E7C672034D5FD21D1D0BAD7BCE14:65DCE0435348B9492163DCF4271352A31900544AC20BF064939C9682AC9DC6AB
+BIGscalar1 = 9BA3D191254E13FDF94D6317D305F323BF53769C8AF0186D266676461268702A
+ECPmul = 64A8112C13941B46DCA455BAA1B922A1FCED6B406FB6E8D3956F6E9E8ADC8E9C:5A4795CB02430620C2F3E1C51053AAF5815B4A76BFAA345BD69AD202B80B3FD1
+ECPpinmul = 0F8E8448BF153B31F7FAFF7B6275890E1F0C2BED34E731C5182A2BAADD048E61:0DF310C3F8AEA0AFCD361C51704DC21A119C8A13F3F7D83315022B3BBED8EF6F
+BIGscalar2 = 219C59DC0D129EE8534DA88B32B2D28A452072222194FEECC02731908640CA9A
+ECPmul2 = 40A434301BC357CA2C79E806C29E2673FED88C6909AC016492058C027FFBEB47:A3BE18A706FA57A0FC9C68A9DD2D3866E08B0005BF875F3C1F056A75BCB60BF4
+ECPwrong = 694CB5A50BDDFD55C7D75494279EFFA3F14D486A8B99A983B4155506131A7BC7:18596B85E68E6269EA9E703BEAE7F022F18F19A25907612AA40BD7002DE1701A
+ECPinf = 00:01
+ECPeven = 25B20DE26FB6DEA778E1081B4A2A58A3B787630F4DF9008DCA5171F24818825C:186DEC50DE51CC08DE8ECE55A7C9E7B15088F63B4FA22A2D61BF09ACF41C0E20
+ECPodd = 25B20DE26FB6DEA778E1081B4A2A58A3B787630F4DF9008DCA5171F24818825C:918D6B8AC39CDDB35FD73C3AF5B9A5C11DB2FFE88583F5FABE543E702B524557
+
+#test3
+ECP1 = 98F733AECD0DBAB162FD638B0304BC90A6CCEF6E1C1DA9146E10B2E37D50A265:4A1F53EECDE94F8B9825C2FCD9DD7B8E25FB7D2C8DD95293671652535264B47F
+ECP2 = 40DC165247A6ABCA88999FF52C742349ACE36CDD665CA1FCD4D3ED245F622FC2:28361A84421A3E3A28C55E92FDC971384D816146F2A79A68FF14BC1BD13A6403
+ECPsum = 1F1CEF5C1513B6F348C34B496658252787DDF8D2347C63EEF80E2A59AEF40585:93D7DE5ACC2985BB2816CE4E6C0F37756D727ACCDB3652B40F46821E0CF79155
+ECPneg = 98F733AECD0DBAB162FD638B0304BC90A6CCEF6E1C1DA9146E10B2E37D50A265:5FDC03ECD4055A30A6404793C3A611E4484078F7474CCD94B8FCF5C9CD099EF8
+ECPsub = 60FC6F4D16EECA70BE24A744A55285E83D0D8F200410EFFFEA16C649F79F0604:8F350533C81492E2FD5B584BD93F2657D8EA40A0E11E684C35DE7C6BC6B75FFC
+ECPdbl = 3DBE967042EB512E7FB0F0D77F8726C364600113B27548818CC397A9C249F1BD:95AF162232397CA0EDF19F5B2E807FE71FDC24E52FC84D260C7ED755D6263A0B
+BIGscalar1 = 13D04218FAD6040392B50B2289998EF061A6C3A98D5CEF9ECA65420EB9BE07B5
+ECPmul = 7CCDA1FE26AA5821B3B6DD80C8613F516F53DB3D347260E65E6CB24C5C2587F9:A21BF32F1D2143BC5BFF8925AF3B45788EE916CFDDE85A726CD4C195CC6D7544
+ECPpinmul = 5B4377A6EF951C7E9EC6D58A3F6F6777593D3BEBCBAD760C2D6C805B1A1DA6E4:062BF4337C768DCBCFA16539EB0F590B46AA83CB76F27B7CF05265EDF41D9836
+BIGscalar2 = 252C32C761079161584F67879650A9E0D04CCB123284BDB163EF8852321184DA
+ECPmul2 = 36FE5A2F9A925BF4A0120E5A50B15C6562F0939A35C3826DD717EA298938339E:4F5399BB5AC22DF0080C26DB76843E47C10261C802E2CFF49BE3EB23C8794F95
+ECPwrong = 47BD09C581ABC75BD243A5C337676B4EBEEBE3178DBB628F418F8B6B15D8F302:72536509D05715FC295581CE31B05316CA9F8CD5E2BC96D6F6EDAEF13CA9B575
+ECPinf = 00:01
+ECPeven = 98F733AECD0DBAB162FD638B0304BC90A6CCEF6E1C1DA9146E10B2E37D50A265:5FDC03ECD4055A30A6404793C3A611E4484078F7474CCD94B8FCF5C9CD099EF8
+ECPodd = 98F733AECD0DBAB162FD638B0304BC90A6CCEF6E1C1DA9146E10B2E37D50A265:4A1F53EECDE94F8B9825C2FCD9DD7B8E25FB7D2C8DD95293671652535264B47F
+
+#test4
+ECP1 = 51B1335F03058EEA0A19B33862D42536DB1D4539E9857BE8D3B97C25B3019E0D:0A53C2FC215B7E938C8EBA9C94A24C73D07D7B37917670A171309622F6DD1E69
+ECP2 = 790F71781109B6DE0D3E28689A3A3A8914F1231F6757E80640C3E2818361DE1D:7080235DF26BDF5BCE6235876F452D76889AC5AE0FB46E60B96B3671E32AA897
+ECPsum = 6D758B91B813B931C19E144530D21BB387B5D2CB693B0062CE1B40E5E555DF12:5FA237C7AFA5164F75B3B2C55DF34E26FAD62A7EA925572D4DBC0BE0989E9E7F
+ECPneg = 51B1335F03058EEA0A19B33862D42536DB1D4539E9857BE8D3B97C25B3019E0D:9FA794DF80932B28B1D74FF408E140FE9DBE7AEC43AFAF86AEE2B1FA2891350E
+ECPsub = 81A4ACD9FFA373B18941E6EFA47143ED73AAED550A612CF3E37F70CD9EF39B1B:0E81B5BF14C995662252C0EB198112212A8404CB16D94A4C4195A424937A7236
+ECPdbl = 72E08E9942753F0E14F5459F8FB3E8141BD4162D77D0E0AEF9DD6D2EF29FEB27:70B3A92497E0054ED2288F38F53F5DDBF7C0385081985B1F4CAC4984E86983A5
+BIGscalar1 = A6BAC2D1105175C245A5F664A1AF65AD64B973295DBA785055EA86A3F7804251
+ECPmul = 3B70F364ED868CAF4CE75746EBD8C7C483F1EB5F25C966F1E0FC24B4D61C67AA:900BC6B91070B4BEE2EBBD29FE82C69B9FB42D0F22067D4794FCB1E08FA660EA
+ECPpinmul = 44987EC4AAF58BEB7B0D83D15DBDD9C68526254E6F84B5138172E306270B3112:40F50AAEDF9EDC110464FC31047F55746AD5B0401FB97B4C9E47EDC5DE761B59
+BIGscalar2 = 6C1125FC414579809785CEB50344B5D9A6D45A41A54E263524ECB180443E22F2
+ECPmul2 = 23CA595EA01217B9E5C3EC5FAF80559BB22D1B7D3119AA01FBA2CC01055B20DD:44F439429797F0BE7E1155AF7C1A90D89F2A829DA259E0EF48930E0C5B7FF2CE
+ECPwrong = 49CBCFBFF36826538AEC1823D3374D4073CDCEECD190C9DFF8F1F9BBBF53B49B:75519D91C5DBB095F8D43EF73FEA112CB407223E18A77BC26379F250A5BB1AB5
+ECPinf = 00:01
+ECPeven = 51B1335F03058EEA0A19B33862D42536DB1D4539E9857BE8D3B97C25B3019E0D:9FA794DF80932B28B1D74FF408E140FE9DBE7AEC43AFAF86AEE2B1FA2891350E
+ECPodd = 51B1335F03058EEA0A19B33862D42536DB1D4539E9857BE8D3B97C25B3019E0D:0A53C2FC215B7E938C8EBA9C94A24C73D07D7B37917670A171309622F6DD1E69
+
+#test5
+ECP1 = A5EF122743A085A15C7ED231E55B99E69D509093C805E905C56FB2588BE5ADFC:2DDF9F61F2C5B483AB7D82DA662921BB8339E624B612689A7D6151C15789F211
+ECP2 = 1880D702D8A2DE8E447328DF85CB25852C4FD25859DE8ABAE259785F7944B4F7:1F73E62B8B61F1B2F071CB5A44FE0F0289D42CB13FE40BC1ECD269FB30964906
+ECPsum = 83E0BBB817DF9FA67B1B3840E530794C3A516A73C0272DF4B4BBD194C7709B1E:578C533CA5F4F0A9314FBD8F6E9230247710EB1CCE506386F11A88B239E02228
+ECPneg = A5EF122743A085A15C7ED231E55B99E69D509093C805E905C56FB2588BE5ADFC:7C1BB879AF28F53892E887B6375A6BB6EB020FFF1F13B78DA2B1F65BC7E46166
+ECPsub = 2D3A9F9A495B293E681A43406EAF36741D40F6E0627BBB527D2A23944061E50B:86004C714AF81B351C431213AAA0F24DDE1F8E70F3CC8B8F12F52F2A9B01D1D9
+ECPdbl = 0ABCE78DB7096D31DBBF8BD0C500E69E46F9DD784048B29BD293C1491192111A:543703CFF7C7716B7F1946091C97A8794F83954E73647EEBFCAE3F1F204B7659
+BIGscalar1 = 0BC9B4F953E1113177E0CBFF79BE6E87F2772B9E4C84DEEFB58210DF4EB78843
+ECPmul = 5702E37CB626FFB51E9E318C6BCE7899BEC298364334D233817FDA29279C82F4:A541C8D07A023AF661C121D1B9CE42948B8D5D29599D9267191D2BF0FFCE30A2
+ECPpinmul = 88103DC33D8D9EDED48C6999BE23DB1AC72FA69C9A81DC0747804F1EE6C48D2D:282D3CF3B39084BF4F5E45EEB8F4B1F24D8DBC882B3825B353560EB095404950
+BIGscalar2 = 2D7B623F7194B6BA50D78191954A4CA9500054F58E0908379268A1E63E9E5044
+ECPmul2 = 05AEB52F9D6CF84E2F640A6DAB43014D77B797CD763E73CBAEFFAE0F8995F152:09C7BDE50C35A17B48CB546C756EAEE873E6E0F35338240BA563B671CAD3EFA6
+ECPwrong = 6C0E7BB0FF9D6D63A6D7C2227B2B8350D18A3FB21B200DD7DA9F6DFFBA8259E6:47E83B1C5F1E866D8D6882539148BE1317C952A0795FD8D799BBCE422B13F41F
+ECPinf = 00:01
+ECPeven = A5EF122743A085A15C7ED231E55B99E69D509093C805E905C56FB2588BE5ADFC:7C1BB879AF28F53892E887B6375A6BB6EB020FFF1F13B78DA2B1F65BC7E46166
+ECPodd = A5EF122743A085A15C7ED231E55B99E69D509093C805E905C56FB2588BE5ADFC:2DDF9F61F2C5B483AB7D82DA662921BB8339E624B612689A7D6151C15789F211
+
+#test6
+ECP1 = 345317F37C03D247C99C1AB119D07B33105E6E3D09DC5A5A4091D3A6A10008E4:4B3BE2683A4684D464DB35B41CA613EAA6BC3A4D0148265A7AA9ECFC37D071BB
+ECP2 = 9C5DC66BFBB3E5BC3E336CCED4864211E9682455CB852ED57C9BB063BC417B51:8980FCDCF5F6ED84D199F9165EBF2DB025DA11C8D4DA6EC7731D3DA690F9232D
+ECPsum = 05F08528071A6E9632F87B49B723DFD3048E9BAC0CA8C4059130B7337EA6F57D:3469EF96D1C19430EFABE8C0BFE233E5A3F3B04F2181468061CE320E0D7DEEDB
+ECPneg = 345317F37C03D247C99C1AB119D07B33105E6E3D09DC5A5A4091D3A6A10008E4:5EBF757367A824E7D98AD4DC80DD7987C77FBBD6D3DDF9CDA5695B20E79DE1BC
+ECPsub = 718544669EFC7CE821FD820E690A8BC11DEC6C9A344E65D865404E0C87316EB7:07E4EC0F33E7C073AB9903545EDC2B2F89BCF933E777EF51E6CCB1D4EE5EF11D
+ECPdbl = 3F5D85CD204D44C3D7E94C9920900F18FB3BDEC8573278365A3637C756E0FE8E:A5F944DFC371A039FDCFD923FE48966B115598072CE3852D562B02C26FABB4F9
+BIGscalar1 = 690DAF73755273D381F508CBF18A343179F64E08F18E3A659F692B0296E931D3
+ECPmul = 62160CDA01EB8705907B783AE4E5D10C30A450BFB6A4EFABD4D726FC9CFA40B3:A8A09E77F78AF7735DDC2485D3327949AF9F00B07DD97B67E5E6CFDF8E47AFD9
+ECPpinmul = 691B4BCC99B45EBD9A795FF6DDE6DB36572EFB454BA036F0832E15B76770A1B1:3744BC21E469F3D7BDB351BB11CD2A01BF7A63559EFE4CFBBA607B6B99B31985
+BIGscalar2 = 5E83E371D059D5FA6356C8851C60C9EAFA2EA54F5FE006B3C15B56E1E3FC4254
+ECPmul2 = 11BB7D9BA04795DCFFB98F5A4D31AE4B3365E5FF5300009C8EAB39B33226E86B:362FF8F778CA9C5CBCB50E96D26BB81470F16845236EEA9BFB48959BBCBF6710
+ECPwrong = 3CE986203267EC5B5F8C15AD705F53DACFC517CF52BC72DD262286456C44A061:6DADD60FDB6D611A7CB3D0B02500D7BB8F3878ED7CEE1012182EA7C0617D559A
+ECPinf = 00:01
+ECPeven = 345317F37C03D247C99C1AB119D07B33105E6E3D09DC5A5A4091D3A6A10008E4:5EBF757367A824E7D98AD4DC80DD7987C77FBBD6D3DDF9CDA5695B20E79DE1BC
+ECPodd = 345317F37C03D247C99C1AB119D07B33105E6E3D09DC5A5A4091D3A6A10008E4:4B3BE2683A4684D464DB35B41CA613EAA6BC3A4D0148265A7AA9ECFC37D071BB
+
+#test7
+ECP1 = 2BFC2C770637117A32810B8178C5750A49364BB4B6B8A21ECA5A489643ABBCA1:82C0B3F9EE8E6AC8B262B97508E7282D17D85599E268F0F8F6D6BA43CF8A96A7
+ECP2 = 30BF4DCC8D97A1D29A2AE81466709CC7CFF96CF0557437AA868F7BFE5BDA36E7:42503364D44FB615365018F1E0C1BBCBBED1DF6C4D8B30C7FD854FC9C6AFED4F
+ECPsum = 62A45B1C5DE3223EF4DD277E4BA01FFE6B377C395B5D7B60BEE8090A1616C040:67AF85B43E5AA53E1DA91FA1E539FF9BA10378C3E60F6C83666F013AD29AD623
+ECPneg = 2BFC2C770637117A32810B8178C5750A49364BB4B6B8A21ECA5A489643ABBCA1:273AA3E1B3603EF38C03511B949C65455663A089F2BD2F2F293C8DD94FE3BCD0
+ECPsub = 98010089FA1E27D897C4E27B6DFE1F0A568A976ABBBC54736E1383B8AAA5ABD9:0F6FD3F5CC8F18AAE1B57370F14D54222118181C192EAFC07A8DBA2FD5BB63F7
+ECPdbl = 2515B6B1763C81076ACB85D2C6486C286E15FC431C5978400B4366DCCD89D90B:221C8C5267246B41183919B65192D478A43A85B3BECB3BFCDA1315E226881134
+BIGscalar1 = 24A28E1A9E367435647E246C6B1F7BD8008AE4EB71E35060905EE6F27704F8D9
+ECPmul = 12E27C38CB65C8A1AE567D36AE5FE05422DCFFB49F7E06096AB53487839D6CB5:716E8B2455A7AA642228ED32AFD605E116F61905767BC190C4B58E1A32EC43FB
+ECPpinmul = 9CB8505BCDDA81C1860928AA5E6B9D88F01B4D7AEBC3690F4F21B936FC12BECF:4578120250F40811D9F6BBF3D630698D981E1270D822E68C393EB5A86F777B18
+BIGscalar2 = 4E8CC0B6A53DB04E69137CAF29DD03068D1D71F288FB11BAD9236429CFE01373
+ECPmul2 = 679CD0FB0C22782FEC1EA0D77F1A0D66DE832A201F5CD3C56826B5FC67FE5B7B:142952AECBEDCD262A79D4683BE92CBF4187A3B55819E4E38D579D7DA01A4E5F
+ECPwrong = A6D264533BDED199154BADF9B8BDA5CBD90D6DC013546EA7358F9235B45AF394:442AAA128958CF037FE0602500553BE22BAE081C2DBA75F43B83E6EDACD7D7DB
+ECPinf = 00:01
+ECPeven = 2BFC2C770637117A32810B8178C5750A49364BB4B6B8A21ECA5A489643ABBCA1:273AA3E1B3603EF38C03511B949C65455663A089F2BD2F2F293C8DD94FE3BCD0
+ECPodd = 2BFC2C770637117A32810B8178C5750A49364BB4B6B8A21ECA5A489643ABBCA1:82C0B3F9EE8E6AC8B262B97508E7282D17D85599E268F0F8F6D6BA43CF8A96A7
+
+#test8
+ECP1 = 295AC307D23D417C5F7332EE87A05DC7AC6132DB73989F282C3362C9EF7D5305:9B50E2E1A23B3023134BE568250193D323B103DD1F3489A24F8B35AB627708CB
+ECP2 = 3F323B5173B5E25D726AE1CD6127E1D68E83F80348C6DD4049C20A50AF6C710A:9E795400A597B10426B44A491BECBE8C4AEEE0693C7879141C15D39690107A11
+ECPsum = 35603A3EC6C883E888BED0A882BCD48432292254F9E8540D3BC9BF973E627AEE:8A9DEFA6F3552989EE3358C5F96231C931670949B7DF9A109908A0DD4725C5C0
+ECPneg = 295AC307D23D417C5F7332EE87A05DC7AC6132DB73989F282C3362C9EF7D5305:0EAA74F9FFB379992B1A25287881F99F4A8AF246B5F19685D0881271BCF74AAC
+ECPsub = 4B2D4A3979A2918679AD47960247F790D18B3DE39624F4543447A0AEA7F98AD4:8CEE5D32B9ECBC9E74FFCB253E13B1D355DD4F476E980C11C7A9780F01E36C6D
+ECPdbl = 52881A3C348BFBFD34AD049C44DF7F42B6441BC72912E78EDCAF251FBFFF7E68:4A56AA87CAEB09B16DA612CCAFDDE2BF75FCFEBB13FEE8D378DC58E017E272AD
+BIGscalar1 = 35D4FBAEC33FB3802F92ECD526CFE634BC2B96EE299732092407EEA440C2750C
+ECPmul = 786EEB6DA6350F5E542804F7AFE9C1AC8DA5BDA6A113EF35319673E3A242B5C4:32575BDDD33970A7A4C8377990DBAE4F4253D2A43A9CA780901F801414946FB7
+ECPpinmul = 0E40105B0F44E516CA428AB9E1B24D0F0D02C256A54959CA6D8165F48CE52958:83B7311EDAD29FF9F006EA9E16DBC35D90AC00AC3C196E682D552E77F9524688
+BIGscalar2 = 3638B9AA13F33859A74854ABCE7A6644B8CBC1345C82D035933A157D1076A35A
+ECPmul2 = 7F5B601267B8838E36242D5C3712C57000CD6ACAD54A2DB2477F4186F7BE08AA:2EF01AAF928D855F0ECFB9A6B1A6CE2387E0B7CA9FA48A7B42E35D9B0A3029DE
+ECPwrong = 1918E701F8309ADA1EA482F92E40E0EBCC4102C13B64BFF42CBB782C6CC45541:064CD5D7350A6E92AD5E2A3A4A215838C751C1E6F8D7AD4CE8B7459B348FB457
+ECPinf = 00:01
+ECPeven = 295AC307D23D417C5F7332EE87A05DC7AC6132DB73989F282C3362C9EF7D5305:0EAA74F9FFB379992B1A25287881F99F4A8AF246B5F19685D0881271BCF74AAC
+ECPodd = 295AC307D23D417C5F7332EE87A05DC7AC6132DB73989F282C3362C9EF7D5305:9B50E2E1A23B3023134BE568250193D323B103DD1F3489A24F8B35AB627708CB
+
+#test9
+ECP1 = 136EA8D6F9695C4A2A87AE9DFA9D6CCA42833A7A85F66D4B73C627B723A9D393:97E7C6DA4F93D332F506211289F93D43B1C4742B6E49FD320D8AC17EF6670255
+ECP2 = 7459F275ABF60DBEAD2B2FFDA024086DF26BA306ADF50344EFF24E9A6F362F3B:13DD6953462657F9E6907590EED9ABB03A37E4B4122D997B5B1DE86E67015BE7
+ECPsum = 365878678F578BAC80ED3C3CCA17EA1687273E00A89DFF4BB34FB1A429235D02:5388A02C160F710BF096FBDB9C58F07A527D429978F7E6A980FB42A7798CB8F2
+ECPneg = 136EA8D6F9695C4A2A87AE9DFA9D6CCA42833A7A85F66D4B73C627B723A9D393:12139101525AD689495FE97E138A502EBC7781F866DC22F61288869E29075122
+ECPsub = 0AF41D42FDF5856CC3C0BBE0200A3D8DD3DB5611A970A0BC9A00014846C5FBB6:0742EBAC7F904F5C5F17F08CE49AA13AC94466B27BCE6952F4B06A98F076E312
+ECPdbl = 75A236801BD2E23657C98F69671D9AEED574BEB88A2F2474A0DF17C88CE9356A:6B4B233B2DE5D86A5DABE3E82DE19856606045BBC83C05FAE42E614DEE32C8C7
+BIGscalar1 = 90A95EC54483DF0E8295BC555FF086391A69BD06CA8ABE197C916574604DA2C4
+ECPmul = 25A52D06231684901C69FD3379478059A5A42E24FFFB59598091346D02640AEF:34EC7987D7C4CD19C3E0AE601DA156D34505099FCDFC1CC9FD98F5BB9F02C9DC
+ECPpinmul = 015110D48866BCB1CFDCFBE1EA4707C861208F2F1F8C95B0D47574CB62478A1B:1898C42F1E3CBF93B783B9C3FDCBD550A9B8A8395B9AFBE2B718CCABEFDF4BF0
+BIGscalar2 = 76575EA497F7402C1898A4D366B45127A0EE1FAD98F6A920B5264ADBBB912B3C
+ECPmul2 = 55BBE1282274391AA50EBE112C4B025442548B4AAD26E4C252202778FD4AFF4B:76387CD654723D72AC60EE99677892BA0050CD5993306A7A335328512F65A6B4
+ECPwrong = 2DB114B582ADA28AED49F211741DA97FDB7D3BC322AD9EB458E260D6E12073D7:1FA856DD7759AB3CA201D538FBA4E61D5D97BEB07262482B4D51E32BCF3008C9
+ECPinf = 00:01
+ECPeven = 136EA8D6F9695C4A2A87AE9DFA9D6CCA42833A7A85F66D4B73C627B723A9D393:12139101525AD689495FE97E138A502EBC7781F866DC22F61288869E29075122
+ECPodd = 136EA8D6F9695C4A2A87AE9DFA9D6CCA42833A7A85F66D4B73C627B723A9D393:97E7C6DA4F93D332F506211289F93D43B1C4742B6E49FD320D8AC17EF6670255
+
+#test10
+ECP1 = 4E5C5AEA6BE8A511F86EA7AE7C14703188796CB047C18015F4792E82281A1F87:4132776B70FAFB86CE074AB61DBAB4BCE4557423ACC6666CFF01FB3ADF3A887D
+ECP2 = 281C236076EEE056FAFE2959E9D4E3628F2E02CAEE2E63F51D4AD2250BFC4AF3:712F308A4EA5E3AF88684CD7B61F755BD810B498B6C3C4F9CF79682B71A75F4C
+ECPsum = 0FA8D8AB64BC198FD1922391C05FD203618645D8DBC25EAB802FA6DBBADD0196:623C4CC36B5E2FFA05C70D5B226F9746B19AD7B7A4A097192159E3DF8F0E4701
+ECPneg = 4E5C5AEA6BE8A511F86EA7AE7C14703188796CB047C18015F4792E82281A1F87:68C8E07030F3AE35705EBFDA7FC8D8B589E68200285FB9BB21114CE24033CAFA
+ECPsub = 9BA2260D9D9BD7FBF39F4B9E91AF69109DAA03ECDD030EA059A89C75DB6623F4:5CDEC35FB3B5E1FC8A6A66401F05AFEBFD8CDDD020BAADE2600BCF3A6AFA857B
+ECPdbl = 22671CF05FEC8BCB4D2E13B30FDB32B4F60920988800424CA64D7C05BF87ACEC:2C528D71F81035DE581AF9C72390A66AB7C8B1EFDA201E80E5BCC9341070E40F
+BIGscalar1 = 0940051DB6B7BE0DB006E66F5DA105E8D2950D814BB2427CC776466093B5E0D6
+ECPmul = 0B6DB9BB621B65EEDA4C013CC06E118592E25F04C531A6A7E504B9757B9FC61C:52ABF0038383A6A11AAEB12B7ECE2070C11D2715E60A448FC6E4E521D9C9D0A5
+ECPpinmul = A8E64850E66086D93B1C30B04AE52DA79535D628E226E5F63C588285FD30B852:74FCFC80E0478D25A60C5AE9BEBF3A2C77077829914DD8720D5635459F357441
+BIGscalar2 = A84F5B915E49FA78ED20BD11EEA40B0389CE0C6C0811BAA1B9F77FE6E2E607E8
+ECPmul2 = 63351A89D1B144B9796507C33DC6D8F36942147027FCE7493696B2F8D3147F2D:44DD32A34C0460ED44C324CC3E8796007EE8F56F7347E434ED51B3794D26CABB
+ECPwrong = 280CC509F5DA99DD7133DBCA590246C7CC0AE28B9917FE70AD118464E26054EF:62CBD87E03F613A8949CD39382057A0C45E52DC02B27812B12F45FBFC3F5A323
+ECPinf = 00:01
+ECPeven = 4E5C5AEA6BE8A511F86EA7AE7C14703188796CB047C18015F4792E82281A1F87:68C8E07030F3AE35705EBFDA7FC8D8B589E68200285FB9BB21114CE24033CAFA
+ECPodd = 4E5C5AEA6BE8A511F86EA7AE7C14703188796CB047C18015F4792E82281A1F87:4132776B70FAFB86CE074AB61DBAB4BCE4557423ACC6666CFF01FB3ADF3A887D

http://git-wip-us.apache.org/repos/asf/incubator-milagro-crypto-c/blob/8d28d2c3/testVectors/ecp/test_vector_C25519.txt
----------------------------------------------------------------------
diff --git a/testVectors/ecp/test_vector_C25519.txt b/testVectors/ecp/test_vector_C25519.txt
new file mode 100644
index 0000000..c338ce2
--- /dev/null
+++ b/testVectors/ecp/test_vector_C25519.txt
@@ -0,0 +1,93 @@
+# Choice:=C25519; Type:= MONTGOMERY
+# Modulus := 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed; 
+# A:=486662; B:=1;
+
+#test1
+ECP1 = 03DC0160BA615A5063A5C91ED23916F27365D690758FC141F959B073EFD99F19:01
+ECPdbl = 5BB3AFAB9A3A366C14AB44DF8390D05616FE07B22C2E1F1B04B1466A6E806165:01
+ECPmul3 = 3C8ACB541400A3E5BE7ED248EF1EC6643FEC6371BA67F5E68ADE181036505E05:01
+BIGscalar1 = 3B23E9E9AD713CF0E01CEDE4917D07F3F131BE11DB5DEC35795044FE597AB87E
+ECPmul = 676BBD45C7B0E183B6049AF9EA270952CF66509AB4BD2D50A36C0A2200E6AA22:01
+ECPwrong = 65A4F833AB3BDEB7BA610129FA490F5F0A014C8FF520AD9F4BFDBCFC68112223:01
+ECPinf = 00:00
+
+#test2
+ECP1 = 19B85A859F86729C1DF74A3F9F5B9C01D71180720E0D025F366F8D96AC0C4D89:01
+ECPdbl = 707F5F2EC04267FCBC0975B838A6DFAD008472AB43E97AFA20D51179DCDA74C2:01
+ECPmul3 = 53780C143CE098D1E816F6DF22249A7A7274928E8A7837797FC1FBB58EB9D750:01
+BIGscalar1 = 1F17E384A6C71AB2006B97161A0343AE5C2A6A9DE2F699AD24FB5C2F3EE27221
+ECPmul = 2BB32FAC8B67768D3215945AE16D6E656D62979DA744A8E215C2290F1F91380A:01
+ECPwrong = 2A4C9FD53BCD8E327327C1B29B692B6E103DD5AAF34F06F35D014C0C82FB3615:01
+ECPinf = 00:00
+
+#test3
+ECP1 = 0F844CCA8CFD6F562A59A86FCD618272880817972EC1F6C592F7EF52102D16B5:01
+ECPdbl = 70CFAB1803C9FB41F763D407FFC96B819ADAA5C6323B3ADDD601103E683B9C18:01
+ECPmul3 = 05C5BA37B949CB36661F1EF49DCBD7B0A0C96D40F47736C714E4773D1CAEB172:01
+BIGscalar1 = 3B6843CACE636D1062E46C5E5BB9E34DF3E1E7E76A51A6F322CA993638220F
+ECPmul = 6A168C1CE76E7FCC87280ED874C87182EA3D886A4456190AF914DCC450137214:01
+ECPwrong = 0EC18FA376F37CFEF97DE20CCC9BF9C2A3C6369ABA1C02646DF688E83521A556:01
+ECPinf = 00:00
+
+#test4
+ECP1 = 699B0A169E37005FD17B9EDC45FC38F71815A0EC0B92AD99C798D3B1B97F61AD:01
+ECPdbl = 436AB06E7A2AFA9415C6B2CE935E8CA472983CED07D287944B0FD8A9CB8EA264:01
+ECPmul3 = 32B8AEB2EF7314BAF9C7104EA397BA253AB766683E035BC6D05961AAF1B1FCB9:01
+BIGscalar1 = 66FC1BE8B1A58F5370FDA95FFED17FDA8DB9656BACB84B17D0317EB52F27F416
+ECPmul = 6DC0B1FE362AC4AF5F8D79A9C590B477D5CE88292A916A521C9A6C9CD9503800:01
+ECPwrong = 6B6856E5C5E7AF58804A397322B167E29DBCC6D5B76C89A9399343A35A6FBD00:01
+ECPinf = 00:00
+
+#test5
+ECP1 = 14AB48F8479C1D709F5C703C0FD1FB1319F0338B137BA8605BC1048925F5B6E3:01
+ECPdbl = 2EFA42152D58540994BD522F759E91A9D926D7EE0A711974C9716E4A953ACB32:01
+ECPmul3 = 126672973DB035E81ADE5DCCA6BF202EE51FAF969391BE6CF4D0ABCA9F701B23:01
+BIGscalar1 = 4F8F8EDB1F250B37A768AC727852B1BAD04FB0331CE5CD3E307F9E3DBA06CFDD
+ECPmul = 138873E15F9A9FA95E21A85A3B443CFB20444B50509E3954AF06C65945C196C3:01
+ECPwrong = 0BF05C14C2711F7EF2213C1AE58D2374EC5DB7066FA9539FFB98C86A52B1B44C:01
+ECPinf = 00:00
+
+#test6
+ECP1 = 130E9D76CFCCAE84FD3AF4CC316E2F5E2825CEADB3FADC891D67CE89D924AE2C:01
+ECPdbl = 2C99DC66D8D3DC1857BC1952F0343E456CA98ABE3D9C2BAAB48CB54996268288:01
+ECPmul3 = 5678DF0393DA46B40A394E4BD4D797EB1362F0ED65685CD28CE07194CC544207:01
+BIGscalar1 = 13B721EF641C6CE5B62AC6C1734B15EFD36996E8D82A04FB1B1874BCA693EB80
+ECPmul = 33778B832481A247701E792F49370D90F71432105F8E04B36F9738ED98C40BCA:01
+ECPwrong = 791BF71107C9EA2E1A6BB775DA4C9CDD49A0EEC34874143E4D01BB3F61BB0751:01
+ECPinf = 00:00
+
+#test7
+ECP1 = 2856E738457BE33F3880B35838A96B50C5F3D538089F36035B6F0F97610046E2:01
+ECPdbl = 33C9A6EC93674917A35DDDE7F2E5ECE5766889499EFC220BBA3CE129F9E50A96:01
+ECPmul3 = 56FAE2BD97DD516EF975F9E365E648CFFF5DDBC061EDB1A26E6A0A0711D7B9A2:01
+BIGscalar1 = 3A056324007D20819C9DDE1BFC924EAEA688C1E586B88E8C4552AA7A926AB149
+ECPmul = 669445228E63ECEC9E4E5963728756AC9C14426A81B42D1FA78E49B8CC3E8C43:01
+ECPwrong = 0FD4621C5583E82875108CD062AD037F923CF839CB83CCD41226FAE8D4B96FA2:01
+ECPinf = 00:00
+
+#test8
+ECP1 = 4A1E201EDB7C490CF1F0DFD184B93A76A5C1405702A1603B635FFE3CB579C225:01
+ECPdbl = 67480C3027CE3A9FE322C7A8CBFF76220C113C63FFDD711428369C45D8ED4F2B:01
+ECPmul3 = 44527037E62405093DDF9B7B086EBABA37D6492FA93BB35CF3B26CED6791787F:01
+BIGscalar1 = 552554599E92244F59FE5D2E9CA0790CE17637DE07499E1DFF9C8319EA59388C
+ECPmul = 0CD751823830451A68E906B8B9EFABD77704DC12542C114783D5F5FEAFC9156A:01
+ECPwrong = 196190F58F0DB884054FF4A2F530F251096F5A822493FBBCB8DC98B0D3DDB1D5:01
+ECPinf = 00:00
+
+#test9
+ECP1 = 15517CF868ACFC0C9141BABAE0593549B85B2CF1A2B2A2009A3680EFF60F895E:01
+ECPdbl = 612C873AAE5A5FFC3790DAC7FDF513959B71E219713F49CA1A4E19B910BCADD3:01
+ECPmul3 = 66E282FCECA57254C81AD47867F7B607EE6EB555E99D65A30FFE52E8AEFD8058:01
+BIGscalar1 = 1AAC2D9CC0D032AF6D3E69D1E3481308CB6D6BDF72091E1AF6CF46FCA122D2D5
+ECPmul = 04A26D638BFFB2E2E7CE27F38B7BE750753A75F2552650C2D325B8E9F63F613F:01
+ECPwrong = 2F1B8004099B2E76AF83ABA4C73EF87682AFE3757DD2F4524EC3576D2F381D9A:01
+ECPinf = 00:00
+
+#test10
+ECP1 = 3FBD81D4E015C6F5BC46D77FFE20CD06391A0527BBBFDB5D280FFEB531D96E48:01
+ECPdbl = 6B18D2562F2D8B1AC6951D8163AF6863A23EC17A5D1FDE3F35D3B83E2BE8E85A:01
+ECPmul3 = 657DD1265735C2EC3A9C9871B8C9C32E06C85AB59FEBABF303C8D20077CB3026:01
+BIGscalar1 = 60C829F40A6BE87CBCA50BBE184942B6E0B816FE2DC994D3309C7E2BE6E59FE4
+ECPmul = 7DAE7EFB698D9C270BC76E48D18CD71C02EE7549117E27B04915A2CCA03702F3:01
+ECPwrong = 68E3DF89683E16AB78207419F46B637A84C63C1255C230FE2AAD949BA37A534C:01
+ECPinf = 00:00