blob: 089c7477efc32e89495c572da56dccca3e6f9849 [file] [log] [blame]
Paul Bakker367dae42009-06-28 21:50:27 +00001Base test mpi_read_write_string #1
Paul Bakkerba48cb22009-07-12 11:01:32 +00002mpi_read_write_string:10:"128":10:"128":100:0:0
Paul Bakker367dae42009-06-28 21:50:27 +00003
4Base test mpi_read_write_string #2
Paul Bakkerba48cb22009-07-12 11:01:32 +00005mpi_read_write_string:10:"128":16:"80":100:0:0
Paul Bakker367dae42009-06-28 21:50:27 +00006
7Base test mpi_read_write_string #3 (Read zero)
Paul Bakkerba48cb22009-07-12 11:01:32 +00008mpi_read_write_string:10:"0":10:"0":100:0:0
Paul Bakker367dae42009-06-28 21:50:27 +00009
10Base test mpi_read_write_string #3 (Negative decimal)
Paul Bakkerba48cb22009-07-12 11:01:32 +000011mpi_read_write_string:10:"-23":10:"-23":100:0:0
Paul Bakker367dae42009-06-28 21:50:27 +000012
13Base test mpi_read_write_string #3 (Negative hex)
Paul Bakkerba48cb22009-07-12 11:01:32 +000014mpi_read_write_string:16:"-20":10:"-32":100:0:0
Paul Bakker367dae42009-06-28 21:50:27 +000015
16Base test mpi_read_write_string #3 (Negative decimal)
Paul Bakkerba48cb22009-07-12 11:01:32 +000017mpi_read_write_string:16:"-23":16:"-23":100:0:0
Paul Bakker367dae42009-06-28 21:50:27 +000018
Paul Bakkerba48cb22009-07-12 11:01:32 +000019Test mpi_read_write_string #1 (Invalid character)
20mpi_read_write_string:10:"a28":0:"":100:POLARSSL_ERR_MPI_INVALID_CHARACTER:0
21
22Test mpi_read_write_string #2 (Illegal input radix)
23mpi_read_write_string:19:"a28":0:"":100:POLARSSL_ERR_MPI_BAD_INPUT_DATA:0
24
25Test mpi_read_write_string #3 (Buffer just fits)
26mpi_read_write_string:16:"-23":16:"-23":4:0:0
27
28Test mpi_read_write_string #4 (Buffer too small)
29mpi_read_write_string:16:"-23":16:"-23":3:0:POLARSSL_ERR_MPI_BUFFER_TOO_SMALL
30
31Test mpi_read_write_string #5 (Illegal output radix)
32mpi_read_write_string:16:"-23":17:"-23":4:0:POLARSSL_ERR_MPI_BAD_INPUT_DATA
33
34Test mpi_read_write_string #6 (Output radix of 15)
35mpi_read_write_string:10:"29":15:"1e":100:0:0
36
37Test mpi_read_write_string #7
38mpi_read_write_string:10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":16:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":200:0:0
Paul Bakkere896fea2009-07-06 06:40:23 +000039
40Base test mpi_read_binary #1
41mpi_read_binary:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924"
42
43Base test mpi_write_binary #1
Paul Bakkerba48cb22009-07-12 11:01:32 +000044mpi_write_binary:10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":200:0
45
46Test mpi_write_binary #1 (Buffer just fits)
47mpi_write_binary:16:"123123123123123123123123123":"0123123123123123123123123123":14:0
48
49Test mpi_write_binary #2 (Buffer too small)
50mpi_write_binary:16:"123123123123123123123123123":"123123123123123123123123123":13:POLARSSL_ERR_MPI_BUFFER_TOO_SMALL
Paul Bakkere896fea2009-07-06 06:40:23 +000051
52Base test mpi_read_file #1
Paul Bakker335db3f2011-04-25 15:28:35 +000053depends_on:POLARSSL_FS_IO
Paul Bakkerba48cb22009-07-12 11:01:32 +000054mpi_read_file:10:"data_files/mpi_10":"01f55332c3a48b910f9942f6c914e58bef37a47ee45cb164a5b6b8d1006bf59a059c21449939ebebfdf517d2e1dbac88010d7b1f141e997bd6801ddaec9d05910f4f2de2b2c4d714e2c14a72fc7f17aa428d59c531627f09":0
55
56Test mpi_read_file #1 (Empty file)
Paul Bakker335db3f2011-04-25 15:28:35 +000057depends_on:POLARSSL_FS_IO
Paul Bakkerba48cb22009-07-12 11:01:32 +000058mpi_read_file:10:"data_files/hash_file_4":"":POLARSSL_ERR_MPI_FILE_IO_ERROR
59
60Test mpi_read_file #2 (Illegal input)
Paul Bakker335db3f2011-04-25 15:28:35 +000061depends_on:POLARSSL_FS_IO
Paul Bakkerba48cb22009-07-12 11:01:32 +000062mpi_read_file:10:"data_files/hash_file_3":"":0
Paul Bakkere896fea2009-07-06 06:40:23 +000063
Paul Bakkercb37aa52011-11-30 16:00:20 +000064Test mpi_read_file #3 (Input too big)
65depends_on:POLARSSL_FS_IO
66mpi_read_file:10:"data_files/mpi_too_big":"":POLARSSL_ERR_MPI_BUFFER_TOO_SMALL
67
Paul Bakkere896fea2009-07-06 06:40:23 +000068Base test mpi_write_file #1
Paul Bakker335db3f2011-04-25 15:28:35 +000069depends_on:POLARSSL_FS_IO
Paul Bakkerba48cb22009-07-12 11:01:32 +000070mpi_write_file:10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":16:"data_files/mpi_write":0
Paul Bakkere896fea2009-07-06 06:40:23 +000071
72Base test mpi_lsb #1
73mpi_lsb:10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":2
74
75Base test mpi_lsb #2
76mpi_lsb:10:"24":3
77
78Base test mpi_lsb #3
79mpi_lsb:16:"24":2
80
81Base test mpi_lsb #4
82mpi_lsb:16:"2000":13
83
84Base test mpi_msb #1
85mpi_msb:10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":764
86
87Base test mpi_msb #2
88mpi_msb:10:"24":5
89
90Base test mpi_msb #3
91mpi_msb:10:"1":1
92
93Base test mpi_msb #4
94mpi_msb:10:"15":4
95
96Base test mpi_msb #5
97mpi_msb:10:"16":5
98
99Base test mpi_msb #6
100mpi_msb:10:"10":4
101
102Base test mpi_msb #7
103mpi_msb:10:"0":0
104
Paul Bakker367dae42009-06-28 21:50:27 +0000105Base test mpi_cmp_int #1
106mpi_cmp_int:693:693:0
107
108Base test mpi_cmp_int #2
109mpi_cmp_int:693:692:1
110
111Base test mpi_cmp_int #3
112mpi_cmp_int:693:694:-1
113
114Base test mpi_cmp_int (Negative values) #1
115mpi_cmp_int:-2:-2:0
116
117Base test mpi_cmp_int (Negative values) #2
118mpi_cmp_int:-2:-3:1
119
120Base test mpi_cmp_int (Negative values) #3
121mpi_cmp_int:-2:-1:-1
122
123Base test mpi_cmp_mpi #1
124mpi_cmp_mpi:10:"693":10:"693":0
125
126Base test mpi_cmp_mpi #2
127mpi_cmp_mpi:10:"693":10:"692":1
128
129Base test mpi_cmp_mpi #3
130mpi_cmp_mpi:10:"693":10:"694":-1
131
132Base test mpi_cmp_mpi (Negative values) #1
133mpi_cmp_mpi:10:"-2":10:"-2":0
134
135Base test mpi_cmp_mpi (Negative values) #2
136mpi_cmp_mpi:10:"-2":10:"-3":1
137
138Base test mpi_cmp_mpi (Negative values) #3
139mpi_cmp_mpi:10:"-2":10:"-1":-1
140
Paul Bakker0c8f73b2012-03-22 14:08:57 +0000141Base test mpi_cmp_mpi (Mixed values) #4
142mpi_cmp_mpi:10:"-3":10:"2":-1
143
144Base test mpi_cmp_mpi (Mixed values) #5
145mpi_cmp_mpi:10:"2":10:"-3":1
146
147Base test mpi_cmp_mpi (Mixed values) #6
148mpi_cmp_mpi:10:"-2":10:"31231231289798":-1
149
Paul Bakker367dae42009-06-28 21:50:27 +0000150Base test mpi_cmp_abs #1
151mpi_cmp_abs:10:"693":10:"693":0
152
153Base test mpi_cmp_abs #2
154mpi_cmp_abs:10:"693":10:"692":1
155
156Base test mpi_cmp_abs #3
157mpi_cmp_abs:10:"693":10:"694":-1
158
159Base test mpi_cmp_abs (Negative values) #1
160mpi_cmp_abs:10:"-2":10:"-2":0
161
162Base test mpi_cmp_abs (Negative values) #2
163mpi_cmp_abs:10:"-2":10:"-3":-1
164
165Base test mpi_cmp_abs (Negative values) #3
166mpi_cmp_abs:10:"-2":10:"-1":1
167
Paul Bakkerba48cb22009-07-12 11:01:32 +0000168Base test mpi_cmp_abs (Zero and Zero) #4
169mpi_cmp_abs:10:"0":10:"0":0
170
Paul Bakker367dae42009-06-28 21:50:27 +0000171Base test mpi_cmp_abs (Mix values) #1
172mpi_cmp_abs:10:"-2":10:"2":0
173
174Base test mpi_cmp_abs (Mix values) #2
175mpi_cmp_abs:10:"2":10:"-3":-1
176
177Base test mpi_cmp_abs (Mix values) #3
178mpi_cmp_abs:10:"-2":10:"1":1
179
180Base test mpi_copy #1
181mpi_copy:0:1500
182
Paul Bakkere896fea2009-07-06 06:40:23 +0000183Base test mpi_copy_self #1
184mpi_copy_self:14
185
Paul Bakker367dae42009-06-28 21:50:27 +0000186Base test mpi_swap #1
187mpi_swap:0:1500
188
189Base test mpi_add_abs #1
190mpi_add_abs:10:"12345678":10:"642531":10:"12988209"
191
192Base test mpi_add_abs #2
193mpi_add_abs:10:"-12345678":10:"642531":10:"12988209"
194
195Base test mpi_add_abs #3
196mpi_add_abs:10:"12345678":10:"-642531":10:"12988209"
197
198Base test mpi_add_abs #4
199mpi_add_abs:10:"-12345678":10:"-642531":10:"12988209"
200
201Test mpi_add_abs #1
202mpi_add_abs:10:"-643808006803554439230129854961492699151386107534013432918073439524138264842370630061369715394739134090922937332590384720397133335969549256322620979036686633213903952966175107096769180017646161851573147596390153":10:"56125680981752282333498088313568935051383833838594899821664631784577337171193624243181360054669678410455329112434552942717084003541384594864129940145043086760031292483340068923506115878221189886491132772739661669044958531131327771":10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924"
203
Paul Bakkerba48cb22009-07-12 11:01:32 +0000204Test mpi_add_abs #2 (add to first value)
205mpi_add_abs_add_first:10:"123123":10:"123123":10:"246246"
206
207Test mpi_add_abs #3 (add to second value)
208mpi_add_abs_add_second:10:"123123":10:"123123":10:"246246"
209
Paul Bakker367dae42009-06-28 21:50:27 +0000210Base test mpi_add_mpi #1
211mpi_add_mpi:10:"12345678":10:"642531":10:"12988209"
212
213Base test mpi_add_mpi #2
214mpi_add_mpi:10:"-12345678":10:"642531":10:"-11703147"
215
216Base test mpi_add_mpi #3
217mpi_add_mpi:10:"12345678":10:"-642531":10:"11703147"
218
219Base test mpi_add_mpi #4
220mpi_add_mpi:10:"-12345678":10:"-642531":10:"-12988209"
221
222Test mpi_add_mpi #1
223mpi_add_mpi:10:"203956878356401977405765866929034577280193993314348263094772646453283062722701277632936616063144088173312372882677123879538709400158306567338328279154499698366071906766440037074217117805690872792848149112022286332144876183376326512083574821647933992961249917319836219304274280243803104015000563790123":10:"531872289054204184185084734375133399408303613982130856645299464930952178606045848877129147820387996428175564228204785846141207532462936339834139412401975338705794646595487324365194792822189473092273993580587964571659678084484152603881094176995594813302284232006001752128168901293560051833646881436219":10:"735829167410606161590850601304167976688497607296479119740072111384235241328747126510065763883532084601487937110881909725679916932621242907172467691556475037071866553361927361439411910627880345885122142692610250903804554267860479115964668998643528806263534149325837971432443181537363155848647445226342"
224
225Test mpi_add_mpi #2
226mpi_add_mpi:10:"643808006803554439230129854961492699151386107534013432918073439524138264842370630061369715394739134090922937332590384720397133335969549256322620979036686633213903952966175107096769180017646161851573147596390153":10:"56125680981752282333498088313568935051383833838594899821664631784577337171193624243181360054669678410455329112434552942717084003541384594864129940145043086760031292483340068923506115878221189886491132772739661669044958531131327771":10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924"
227
228Test mpi_add_int #1
229mpi_add_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":9871232:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227022647561"
230
231Test mpi_add_int #2
232mpi_add_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":-9871232:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227002905097"
233
234Base test mpi_sub_abs #1 (Test with larger second input)
235mpi_sub_abs:10:"5":10:"7":10:"0":POLARSSL_ERR_MPI_NEGATIVE_VALUE
236
237Base test mpi_sub_abs #2 (Test with larger second input)
238mpi_sub_abs:10:"-5":10:"-7":10:"0":POLARSSL_ERR_MPI_NEGATIVE_VALUE
239
240Base test mpi_sub_abs #3 (Test with larger second input)
241mpi_sub_abs:10:"-5":10:"7":10:"0":POLARSSL_ERR_MPI_NEGATIVE_VALUE
242
243Base test mpi_sub_abs #4 (Test with larger second input)
244mpi_sub_abs:10:"5":10:"-7":10:"0":POLARSSL_ERR_MPI_NEGATIVE_VALUE
245
246Base test mpi_sub_abs #1
247mpi_sub_abs:10:"7":10:"5":10:"2":0
248
249Base test mpi_sub_abs #2
250mpi_sub_abs:10:"-7":10:"-5":10:"2":0
251
252Base test mpi_sub_abs #3
253mpi_sub_abs:10:"-7":10:"5":10:"2":0
254
255Base test mpi_sub_abs #4
256mpi_sub_abs:10:"7":10:"-5":10:"2":0
257
Paul Bakkerc847f072010-01-18 21:26:30 +0000258Test mpi_sub_abs #1
259mpi_sub_abs:16:"FFFFFFFFFF":16:"01":16:"FFFFFFFFFE":0
260
261Test mpi_sub_abs #2
262mpi_sub_abs:16:"FFFFFFFFF0":16:"01":16:"FFFFFFFFEF":0
263
264Test mpi_sub_abs #3
265mpi_sub_abs:16:"FF00000000":16:"0F00000000":16:"F000000000":0
266
267Test mpi_sub_abs #4
268mpi_sub_abs:16:"FF00000000":16:"0F00000001":16:"EFFFFFFFFF":0
269
Paul Bakker367dae42009-06-28 21:50:27 +0000270Base test mpi_sub_mpi #1 (Test with negative result)
271mpi_sub_mpi:10:"5":10:"7":10:"-2"
272
273Base test mpi_sub_mpi #2 (Test with negative inputs)
274mpi_sub_mpi:10:"-5":10:"-7":10:"2"
275
276Base test mpi_sub_mpi #3 (Test with negative base)
277mpi_sub_mpi:10:"-5":10:"7":10:"-12"
278
279Base test mpi_sub_mpi #4 (Test with negative substraction)
280mpi_sub_mpi:10:"5":10:"-7":10:"12"
281
282Test mpi_sub_mpi #1
283mpi_sub_mpi:10:"531872289054204184185084734375133399408303613982130856645299464930952178606045848877129147820387996428175564228204785846141207532462936339834139412401975338705794646595487324365194792822189473092273993580587964571659678084484152603881094176995594813302284232006001752128168901293560051833646881436219":10:"203956878356401977405765866929034577280193993314348263094772646453283062722701277632936616063144088173312372882677123879538709400158306567338328279154499698366071906766440037074217117805690872792848149112022286332144876183376326512083574821647933992961249917319836219304274280243803104015000563790123":10:"327915410697802206779318867446098822128109620667782593550526818477669115883344571244192531757243908254863191345527661966602498132304629772495811133247475640339722739829047287290977675016498600299425844468565678239514801901107826091797519355347660820341034314686165532823894621049756947818646317646096"
284
285Test mpi_sub_mpi #2 (Test for negative result)
286mpi_sub_mpi:10:"643808006803554439230129854961492699151386107534013432918073439524138264842370630061369715394739134090922937332590384720397133335969549256322620979036686633213903952966175107096769180017646161851573147596390153":10:"56125680981752282333498088313568935051383833838594899821664631784577337171193624243181360054669678410455329112434552942717084003541384594864129940145043086760031292483340068923506115878221189886491132772739661669044958531131327771":10:"-56125680981752282332854280306765380612153703983633407122513245677043323738275550803657221789827307780393959397039813808626161066208794210143732806809073537503708671504303382290292211925255014779394363592722015507193385383534937618"
287
288Test mpi_sub_int #1
289mpi_sub_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":-9871232:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227022647561"
290
291Test mpi_sub_int #2
292mpi_sub_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":9871232:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227002905097"
293
294Test mpi_shift_l #1
295mpi_shift_l:10:"64":1:10:"128"
296
297Test mpi_shift_l #2
298mpi_shift_l:10:"658385546911733550164516088405238961461880256029834598831972039469421755117818013653494814438931957316403111689187691446941406788869098983929874080332195117465344344350008880118042764943201875870917468833709791733282363323948005998269792207":37:10:"90487820548639020691922304619723076305400961610119884872723190678642804168382367856686134531865643066983017249846286450251272364365605022750900439437595355052945035915579216557330505438734955340526145476988250171181404966718289259743378883640981192704"
299
300Test mpi_shift_r #1
301mpi_shift_r:10:"128":1:10:"64"
302
303Test mpi_shift_r #2
304mpi_shift_r:10:"120815570979701484704906977000760567182871429114712069861589084706550626575967516787438008593490722779337547394120718248995900363209947025063336882559539208430319216688889117222633155838468458047056355241515415159736436403445579777425189969":45:10:"3433785053053426415343295076376096153094051405637175942660777670498379921354157795219578264137985649407981651226029903483433269093721578004287291678324982297860947730012217028349628999378309630601971640587504883789518896817457"
305
306Base test mpi_mul_mpi #1
307mpi_mul_mpi:10:"5":10:"7":10:"35"
308
309Base test mpi_mul_mpi #2
310mpi_mul_mpi:10:"-5":10:"7":10:"-35"
311
312Base test mpi_mul_mpi #3
313mpi_mul_mpi:10:"5":10:"-7":10:"-35"
314
315Base test mpi_mul_mpi #4
316mpi_mul_mpi:10:"-5":10:"-7":10:"35"
317
318Test mpi_mul_mpi #1
319mpi_mul_mpi:10:"28911710017320205966167820725313234361535259163045867986277478145081076845846493521348693253530011243988160148063424837895971948244167867236923919506962312185829914482993478947657472351461336729641485069323635424692930278888923450060546465883490944265147851036817433970984747733020522259537":10:"16471581891701794764704009719057349996270239948993452268812975037240586099924712715366967486587417803753916334331355573776945238871512026832810626226164346328807407669366029926221415383560814338828449642265377822759768011406757061063524768140567867350208554439342320410551341675119078050953":10:"476221599179424887669515829231223263939342135681791605842540429321038144633323941248706405375723482912535192363845116154236465184147599697841273424891410002781967962186252583311115708128167171262206919514587899883547279647025952837516324649656913580411611297312678955801899536937577476819667861053063432906071315727948826276092545739432005962781562403795455162483159362585281248265005441715080197800335757871588045959754547836825977169125866324128449699877076762316768127816074587766799018626179199776188490087103869164122906791440101822594139648973454716256383294690817576188761"
320
321Test mpi_mul_int #1
322mpi_mul_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":9871232:10:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":==
323
324Test mpi_mul_int #2 (Unsigned, thus failure)
325mpi_mul_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":-9871232:10:"-20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":!=
326
327Test mpi_mul_int #3
328mpi_mul_int:10:"-2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":9871232:10:"-20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":==
329
330Test mpi_mul_int #4 (Unsigned, thus failure)
331mpi_mul_int:10:"-2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":-9871232:10:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":!=
332
333Base test mpi_div_mpi #1
334mpi_div_mpi:10:"1000":10:"13":10:"76":10:"12":0
335
336Base test mpi_div_mpi #2 (Divide by zero)
337mpi_div_mpi:10:"1000":10:"0":10:"1":10:"1":POLARSSL_ERR_MPI_DIVISION_BY_ZERO
338
339Base test mpi_div_mpi #3
340mpi_div_mpi:10:"1000":10:"-13":10:"-76":10:"12":0
341
342Test mpi_div_mpi #1
343mpi_div_mpi:10:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":10:"34":10:"592148724779947824773845002981655249516095268533053127589864347174804198178334111238460803":10:"26":0
344
345Test mpi_div_mpi #2
346mpi_div_mpi:10:"476221599179424887669515829231223263939342135681791605842540429321038144633323941248706405375723482912535192363845116154236465184147599697841273424891410002781967962186252583311115708128167171262206919514587899883547279647025952837516324649656913580411611297312678955801899536937577476819667861053063432906071315727948826276092545739432005962781562403795455162483159362585281248265005441715080197800335757871588045959754547836825977169125866324128449699877076762316768127816074587766799018626179199776188490087103869164122906791440101822594139648973454716256383294690817576188762":10:"28911710017320205966167820725313234361535259163045867986277478145081076845846493521348693253530011243988160148063424837895971948244167867236923919506962312185829914482993478947657472351461336729641485069323635424692930278888923450060546465883490944265147851036817433970984747733020522259537":10:"16471581891701794764704009719057349996270239948993452268812975037240586099924712715366967486587417803753916334331355573776945238871512026832810626226164346328807407669366029926221415383560814338828449642265377822759768011406757061063524768140567867350208554439342320410551341675119078050953":10:"1":0
347
Paul Bakkerba48cb22009-07-12 11:01:32 +0000348Test mpi_div_mpi #3
349mpi_div_mpi:10:"1000":10:"7":10:"142":10:"6":0
350
351Test mpi_div_mpi #4
352mpi_div_mpi:10:"777":10:"7":10:"111":10:"0":0
353
Paul Bakker367dae42009-06-28 21:50:27 +0000354Base test mpi_div_int #1
355mpi_div_int:10:"1000":13:10:"76":10:"12":0
356
Paul Bakkerba48cb22009-07-12 11:01:32 +0000357Base test mpi_div_int #2 (Divide by zero)
Paul Bakker367dae42009-06-28 21:50:27 +0000358mpi_div_int:10:"1000":0:10:"1":10:"1":POLARSSL_ERR_MPI_DIVISION_BY_ZERO
359
360Base test mpi_div_int #3
361mpi_div_int:10:"1000":-13:10:"-76":10:"12":0
362
363Test mpi_div_int #1
364mpi_div_int:10:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":34:10:"592148724779947824773845002981655249516095268533053127589864347174804198178334111238460803":10:"26":0
365
366Test mpi_div_int #2
367mpi_div_int:10:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":-34:10:"-592148724779947824773845002981655249516095268533053127589864347174804198178334111238460803":10:"26":0
368
369Base test mpi_mod_mpi #1
370mpi_mod_mpi:10:"1000":10:"13":10:"12":0
371
372Base test mpi_mod_mpi #2 (Divide by zero)
373mpi_mod_mpi:10:"1000":10:"0":10:"0":POLARSSL_ERR_MPI_DIVISION_BY_ZERO
374
375Base test mpi_mod_mpi #3
376mpi_mod_mpi:10:"-1000":10:"13":10:"1":0
377
378Base test mpi_mod_mpi #4 (Negative modulo)
379mpi_mod_mpi:10:"1000":10:"-13":10:"-1":POLARSSL_ERR_MPI_NEGATIVE_VALUE
380
381Base test mpi_mod_mpi #5 (Negative modulo)
382mpi_mod_mpi:10:"-1000":10:"-13":10:"-12":POLARSSL_ERR_MPI_NEGATIVE_VALUE
383
384Base test mpi_mod_int #1
385mpi_mod_int:10:"1000":13:12:0
386
387Base test mpi_mod_int #2 (Divide by zero)
388mpi_mod_int:10:"1000":0:0:POLARSSL_ERR_MPI_DIVISION_BY_ZERO
389
390Base test mpi_mod_int #3
391mpi_mod_int:10:"-1000":13:1:0
392
393Base test mpi_mod_int #4 (Negative modulo)
394mpi_mod_int:10:"1000":-13:0:POLARSSL_ERR_MPI_NEGATIVE_VALUE
395
396Base test mpi_mod_int #5 (Negative modulo)
397mpi_mod_int:10:"-1000":-13:0:POLARSSL_ERR_MPI_NEGATIVE_VALUE
398
Paul Bakkerba48cb22009-07-12 11:01:32 +0000399Base test mpi_mod_int #6 (By 1)
400mpi_mod_int:10:"1000":1:0:0
401
402Base test mpi_mod_int #7 (By 2)
403mpi_mod_int:10:"1001":2:1:0
404
405Base test mpi_mod_int #8 (By 2)
406mpi_mod_int:10:"1000":2:0:0
407
Paul Bakker367dae42009-06-28 21:50:27 +0000408Base test mpi_exp_mod #1
409mpi_exp_mod:10:"23":10:"13":10:"29":10:"":10:"24":0
410
411Base test mpi_exp_mod #2
412mpi_exp_mod:10:"23":10:"13":10:"30":10:"":10:"0":POLARSSL_ERR_MPI_BAD_INPUT_DATA
413
414Base test mpi_exp_mod #3
415mpi_exp_mod:10:"23":10:"13":10:"-29":10:"":10:"24":POLARSSL_ERR_MPI_BAD_INPUT_DATA
416
417Test mpi_exp_mod #1
418mpi_exp_mod:10:"433019240910377478217373572959560109819648647016096560523769010881172869083338285573756574557395862965095016483867813043663981946477698466501451832407592327356331263124555137732393938242285782144928753919588632679050799198937132922145084847":10:"5781538327977828897150909166778407659250458379645823062042492461576758526757490910073628008613977550546382774775570888130029763571528699574717583228939535960234464230882573615930384979100379102915657483866755371559811718767760594919456971354184113721":10:"583137007797276923956891216216022144052044091311388601652961409557516421612874571554415606746479105795833145583959622117418531166391184939066520869800857530421873250114773204354963864729386957427276448683092491947566992077136553066273207777134303397724679138833126700957":10:"":10:"114597449276684355144920670007147953232659436380163461553186940113929777196018164149703566472936578890991049344459204199888254907113495794730452699842273939581048142004834330369483813876618772578869083248061616444392091693787039636316845512292127097865026290173004860736":0
419
420Base test GCD #1
421mpi_gcd:10:"693":10:"609":10:"21"
422
423Base test GCD #2
424mpi_gcd:10:"1764":10:"868":10:"28"
425
426Base test GCD #3
427mpi_gcd:10:"768454923":10:"542167814":10:"1"
428
429Test GCD #1
430mpi_gcd:10:"433019240910377478217373572959560109819648647016096560523769010881172869083338285573756574557395862965095016483867813043663981946477698466501451832407592327356331263124555137732393938242285782144928753919588632679050799198937132922145084847":10:"5781538327977828897150909166778407659250458379645823062042492461576758526757490910073628008613977550546382774775570888130029763571528699574717583228939535960234464230882573615930384979100379102915657483866755371559811718767760594919456971354184113721":10:"1"
431
432Base test mpi_inv_mod #1
Paul Bakker5690efc2011-05-26 13:16:06 +0000433depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000434mpi_inv_mod:10:"3":10:"11":10:"4":0
435
436Base test mpi_inv_mod #2
Paul Bakker5690efc2011-05-26 13:16:06 +0000437depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000438mpi_inv_mod:10:"3":10:"0":10:"0":POLARSSL_ERR_MPI_BAD_INPUT_DATA
439
440Base test mpi_inv_mod #3
Paul Bakker5690efc2011-05-26 13:16:06 +0000441depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000442mpi_inv_mod:10:"3":10:"-11":10:"4":POLARSSL_ERR_MPI_BAD_INPUT_DATA
443
444Base test mpi_inv_mod #4
Paul Bakker5690efc2011-05-26 13:16:06 +0000445depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000446mpi_inv_mod:10:"2":10:"4":10:"0":POLARSSL_ERR_MPI_NOT_ACCEPTABLE
447
448Test mpi_inv_mod #1
Paul Bakker5690efc2011-05-26 13:16:06 +0000449depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000450mpi_inv_mod:16:"aa4df5cb14b4c31237f98bd1faf527c283c2d0f3eec89718664ba33f9762907c":16:"fffbbd660b94412ae61ead9c2906a344116e316a256fd387874c6c675b1d587d":16:"8d6a5c1d7adeae3e94b9bcd2c47e0d46e778bc8804a2cc25c02d775dc3d05b0c":0
451
452Base test mpi_is_prime #1
Paul Bakker5690efc2011-05-26 13:16:06 +0000453depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000454mpi_is_prime:10:"0":POLARSSL_ERR_MPI_NOT_ACCEPTABLE
455
456Base test mpi_is_prime #2
Paul Bakker5690efc2011-05-26 13:16:06 +0000457depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000458mpi_is_prime:10:"1":POLARSSL_ERR_MPI_NOT_ACCEPTABLE
459
460Base test mpi_is_prime #3
Paul Bakker5690efc2011-05-26 13:16:06 +0000461depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000462mpi_is_prime:10:"2":0
463
464Base test mpi_is_prime #4
Paul Bakker5690efc2011-05-26 13:16:06 +0000465depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000466mpi_is_prime:10:"3":0
467
468Base test mpi_is_prime #5
Paul Bakker5690efc2011-05-26 13:16:06 +0000469depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000470mpi_is_prime:10:"4":POLARSSL_ERR_MPI_NOT_ACCEPTABLE
471
472Base test mpi_is_prime #6
Paul Bakker5690efc2011-05-26 13:16:06 +0000473depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000474mpi_is_prime:10:"5":0
475
476Base test mpi_is_prime #7
Paul Bakker5690efc2011-05-26 13:16:06 +0000477depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000478mpi_is_prime:10:"27":POLARSSL_ERR_MPI_NOT_ACCEPTABLE
479
480Base test mpi_is_prime #8
Paul Bakker5690efc2011-05-26 13:16:06 +0000481depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000482mpi_is_prime:10:"47":0
483
484Test mpi_is_prime #1
Paul Bakker5690efc2011-05-26 13:16:06 +0000485depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000486mpi_is_prime:10:"827131507221654563937832686696200995595835694437983658840870036586124168186967796809117749047430768825822857042432722828096779098498192459819306321073968735177531164565305635281198148032612029767584644305912099":0
487
488Test mpi_is_prime #2
Paul Bakker5690efc2011-05-26 13:16:06 +0000489depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000490mpi_is_prime:10:"827131507221654563937832686696200995595835694437983658840870036586124168186967796809117749047430768825822857042432722828096779098498192459819306321073968735177531164565305635281198148032612029767584644305912001":POLARSSL_ERR_MPI_NOT_ACCEPTABLE
Paul Bakkere896fea2009-07-06 06:40:23 +0000491
Paul Bakkerba48cb22009-07-12 11:01:32 +0000492Test mpi_is_prime #3
Paul Bakker5690efc2011-05-26 13:16:06 +0000493depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000494mpi_is_prime:10:"2833419889721787128217599":0
495
496Test mpi_is_prime #4
Paul Bakker5690efc2011-05-26 13:16:06 +0000497depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000498mpi_is_prime:10:"195845982777569926302400511":0
499
500Test mpi_is_prime #5
Paul Bakker5690efc2011-05-26 13:16:06 +0000501depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000502mpi_is_prime:10:"4776913109852041418248056622882488319":0
503
504Test mpi_is_prime #5
Paul Bakker5690efc2011-05-26 13:16:06 +0000505depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000506mpi_is_prime:10:"768614336404564651":0
507
508Test mpi_is_prime #6
Paul Bakker5690efc2011-05-26 13:16:06 +0000509depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000510mpi_is_prime:10:"201487636602438195784363":0
511
512Test mpi_is_prime #7
Paul Bakker5690efc2011-05-26 13:16:06 +0000513depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000514mpi_is_prime:10:"845100400152152934331135470251":0
515
516Test mpi_is_prime #8
Paul Bakker5690efc2011-05-26 13:16:06 +0000517depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000518mpi_is_prime:10:"56713727820156410577229101238628035243":0
519
520Test mpi_is_prime #9
Paul Bakker5690efc2011-05-26 13:16:06 +0000521depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000522mpi_is_prime:10:"203956878356401977405765866929034577280193993314348263094772646453283062722701277632936616063144088173312372882677123879538709400158306567338328279154499698366071906766440037074217117805690872792848149112022286332144876183376326512083574821647933992961249917319836219304274280243803104015000563790123":0
523
524Test mpi_is_prime #10
Paul Bakker5690efc2011-05-26 13:16:06 +0000525depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000526mpi_is_prime:10:"531872289054204184185084734375133399408303613982130856645299464930952178606045848877129147820387996428175564228204785846141207532462936339834139412401975338705794646595487324365194792822189473092273993580587964571659678084484152603881094176995594813302284232006001752128168901293560051833646881436219":0
527
528Test mpi_is_prime #11
Paul Bakker5690efc2011-05-26 13:16:06 +0000529depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000530mpi_is_prime:10:"319705304701141539155720137200974664666792526059405792539680974929469783512821793995613718943171723765238853752439032835985158829038528214925658918372196742089464683960239919950882355844766055365179937610326127675178857306260955550407044463370239890187189750909036833976197804646589380690779463976173":0
531
532Test mpi_is_prime #12
Paul Bakker5690efc2011-05-26 13:16:06 +0000533depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000534mpi_is_prime:10:"200603822195324642393516294012917598972967449320074999667103434371470616000652036570009912021332527788252300901905236578801044680456930305350440933538867383130165841118050781326291059830545891570648243241795871":0
535
536Test mpi_is_prime #13
Paul Bakker5690efc2011-05-26 13:16:06 +0000537depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000538mpi_is_prime:10:"827131507221654563937832686696200995595835694437983658840870036586124168186967796809117749047430768825822857042432722828096779098498192459819306321073968735177531164565305635281198148032612029767584644305912099":0
539
540Test mpi_is_prime #14
Paul Bakker5690efc2011-05-26 13:16:06 +0000541depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000542mpi_is_prime:10:"964274047248418797145090983157197980855078966882276492572788532954904112655338439361306213898569516593744267391754033306465125919199692703323878557833023573312685002670662846477592597659826113460619815244721311":0
543
544Test mpi_is_prime #15
Paul Bakker5690efc2011-05-26 13:16:06 +0000545depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000546mpi_is_prime:10:"170141183460469231731687303715884105727":0
547
548Test mpi_is_prime #16
Paul Bakker5690efc2011-05-26 13:16:06 +0000549depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000550mpi_is_prime:10:"2147483647":0
551
552Test mpi_is_prime #17
Paul Bakker5690efc2011-05-26 13:16:06 +0000553depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000554mpi_is_prime:10:"961748941":0
555
556Test mpi_is_prime #18
Paul Bakker5690efc2011-05-26 13:16:06 +0000557depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000558mpi_is_prime:10:"179424691":0
559
560Test mpi_is_prime #19
Paul Bakker5690efc2011-05-26 13:16:06 +0000561depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000562mpi_is_prime:10:"32452867":0
563
564Test mpi_is_prime #20
Paul Bakker5690efc2011-05-26 13:16:06 +0000565depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000566mpi_is_prime:10:"49979687":0
567
Paul Bakker2f5947e2011-05-18 15:47:11 +0000568Test bit getting (Value bit 25)
569mpi_get_bit:10:"49979687":25:1
570
571Test bit getting (Larger but same limb)
572mpi_get_bit:10:"49979687":26:0
573
574Test bit getting (Larger and non-existing limb)
575mpi_get_bit:10:"49979687":500:0
576
577Test bit getting (Value bit 24)
578mpi_get_bit:10:"49979687":24:0
579
580Test bit getting (Value bit 23)
581mpi_get_bit:10:"49979687":23:1
582
583Test bit set (Change existing value with a 1)
584mpi_set_bit:10:"49979687":24:1:10:"66756903"
585
586Test bit set (Change existing value with a 0)
587mpi_set_bit:10:"49979687":25:0:10:"16425255"
588
589Test bit set (Add above existing limbs with a 0)
590mpi_set_bit:10:"49979687":80:0:10:"49979687"
591
592Test bit set (Add above existing limbs with a 1)
593mpi_set_bit:10:"49979687":80:1:10:"1208925819614629224685863"
594
Paul Bakkere896fea2009-07-06 06:40:23 +0000595MPI Selftest
Paul Bakker335db3f2011-04-25 15:28:35 +0000596depends_on:POLARSSL_SELF_TEST
Paul Bakkere896fea2009-07-06 06:40:23 +0000597mpi_selftest: