blob: 0a8c103329e8aa3ca9ec89571b4e383ddc530751 [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
141Base test mpi_cmp_abs #1
142mpi_cmp_abs:10:"693":10:"693":0
143
144Base test mpi_cmp_abs #2
145mpi_cmp_abs:10:"693":10:"692":1
146
147Base test mpi_cmp_abs #3
148mpi_cmp_abs:10:"693":10:"694":-1
149
150Base test mpi_cmp_abs (Negative values) #1
151mpi_cmp_abs:10:"-2":10:"-2":0
152
153Base test mpi_cmp_abs (Negative values) #2
154mpi_cmp_abs:10:"-2":10:"-3":-1
155
156Base test mpi_cmp_abs (Negative values) #3
157mpi_cmp_abs:10:"-2":10:"-1":1
158
Paul Bakkerba48cb22009-07-12 11:01:32 +0000159Base test mpi_cmp_abs (Zero and Zero) #4
160mpi_cmp_abs:10:"0":10:"0":0
161
Paul Bakker367dae42009-06-28 21:50:27 +0000162Base test mpi_cmp_abs (Mix values) #1
163mpi_cmp_abs:10:"-2":10:"2":0
164
165Base test mpi_cmp_abs (Mix values) #2
166mpi_cmp_abs:10:"2":10:"-3":-1
167
168Base test mpi_cmp_abs (Mix values) #3
169mpi_cmp_abs:10:"-2":10:"1":1
170
171Base test mpi_copy #1
172mpi_copy:0:1500
173
Paul Bakkere896fea2009-07-06 06:40:23 +0000174Base test mpi_copy_self #1
175mpi_copy_self:14
176
Paul Bakker367dae42009-06-28 21:50:27 +0000177Base test mpi_swap #1
178mpi_swap:0:1500
179
180Base test mpi_add_abs #1
181mpi_add_abs:10:"12345678":10:"642531":10:"12988209"
182
183Base test mpi_add_abs #2
184mpi_add_abs:10:"-12345678":10:"642531":10:"12988209"
185
186Base test mpi_add_abs #3
187mpi_add_abs:10:"12345678":10:"-642531":10:"12988209"
188
189Base test mpi_add_abs #4
190mpi_add_abs:10:"-12345678":10:"-642531":10:"12988209"
191
192Test mpi_add_abs #1
193mpi_add_abs:10:"-643808006803554439230129854961492699151386107534013432918073439524138264842370630061369715394739134090922937332590384720397133335969549256322620979036686633213903952966175107096769180017646161851573147596390153":10:"56125680981752282333498088313568935051383833838594899821664631784577337171193624243181360054669678410455329112434552942717084003541384594864129940145043086760031292483340068923506115878221189886491132772739661669044958531131327771":10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924"
194
Paul Bakkerba48cb22009-07-12 11:01:32 +0000195Test mpi_add_abs #2 (add to first value)
196mpi_add_abs_add_first:10:"123123":10:"123123":10:"246246"
197
198Test mpi_add_abs #3 (add to second value)
199mpi_add_abs_add_second:10:"123123":10:"123123":10:"246246"
200
Paul Bakker367dae42009-06-28 21:50:27 +0000201Base test mpi_add_mpi #1
202mpi_add_mpi:10:"12345678":10:"642531":10:"12988209"
203
204Base test mpi_add_mpi #2
205mpi_add_mpi:10:"-12345678":10:"642531":10:"-11703147"
206
207Base test mpi_add_mpi #3
208mpi_add_mpi:10:"12345678":10:"-642531":10:"11703147"
209
210Base test mpi_add_mpi #4
211mpi_add_mpi:10:"-12345678":10:"-642531":10:"-12988209"
212
213Test mpi_add_mpi #1
214mpi_add_mpi:10:"203956878356401977405765866929034577280193993314348263094772646453283062722701277632936616063144088173312372882677123879538709400158306567338328279154499698366071906766440037074217117805690872792848149112022286332144876183376326512083574821647933992961249917319836219304274280243803104015000563790123":10:"531872289054204184185084734375133399408303613982130856645299464930952178606045848877129147820387996428175564228204785846141207532462936339834139412401975338705794646595487324365194792822189473092273993580587964571659678084484152603881094176995594813302284232006001752128168901293560051833646881436219":10:"735829167410606161590850601304167976688497607296479119740072111384235241328747126510065763883532084601487937110881909725679916932621242907172467691556475037071866553361927361439411910627880345885122142692610250903804554267860479115964668998643528806263534149325837971432443181537363155848647445226342"
215
216Test mpi_add_mpi #2
217mpi_add_mpi:10:"643808006803554439230129854961492699151386107534013432918073439524138264842370630061369715394739134090922937332590384720397133335969549256322620979036686633213903952966175107096769180017646161851573147596390153":10:"56125680981752282333498088313568935051383833838594899821664631784577337171193624243181360054669678410455329112434552942717084003541384594864129940145043086760031292483340068923506115878221189886491132772739661669044958531131327771":10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924"
218
219Test mpi_add_int #1
220mpi_add_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":9871232:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227022647561"
221
222Test mpi_add_int #2
223mpi_add_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":-9871232:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227002905097"
224
225Base test mpi_sub_abs #1 (Test with larger second input)
226mpi_sub_abs:10:"5":10:"7":10:"0":POLARSSL_ERR_MPI_NEGATIVE_VALUE
227
228Base test mpi_sub_abs #2 (Test with larger second input)
229mpi_sub_abs:10:"-5":10:"-7":10:"0":POLARSSL_ERR_MPI_NEGATIVE_VALUE
230
231Base test mpi_sub_abs #3 (Test with larger second input)
232mpi_sub_abs:10:"-5":10:"7":10:"0":POLARSSL_ERR_MPI_NEGATIVE_VALUE
233
234Base test mpi_sub_abs #4 (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 #1
238mpi_sub_abs:10:"7":10:"5":10:"2":0
239
240Base test mpi_sub_abs #2
241mpi_sub_abs:10:"-7":10:"-5":10:"2":0
242
243Base test mpi_sub_abs #3
244mpi_sub_abs:10:"-7":10:"5":10:"2":0
245
246Base test mpi_sub_abs #4
247mpi_sub_abs:10:"7":10:"-5":10:"2":0
248
Paul Bakkerc847f072010-01-18 21:26:30 +0000249Test mpi_sub_abs #1
250mpi_sub_abs:16:"FFFFFFFFFF":16:"01":16:"FFFFFFFFFE":0
251
252Test mpi_sub_abs #2
253mpi_sub_abs:16:"FFFFFFFFF0":16:"01":16:"FFFFFFFFEF":0
254
255Test mpi_sub_abs #3
256mpi_sub_abs:16:"FF00000000":16:"0F00000000":16:"F000000000":0
257
258Test mpi_sub_abs #4
259mpi_sub_abs:16:"FF00000000":16:"0F00000001":16:"EFFFFFFFFF":0
260
Paul Bakker367dae42009-06-28 21:50:27 +0000261Base test mpi_sub_mpi #1 (Test with negative result)
262mpi_sub_mpi:10:"5":10:"7":10:"-2"
263
264Base test mpi_sub_mpi #2 (Test with negative inputs)
265mpi_sub_mpi:10:"-5":10:"-7":10:"2"
266
267Base test mpi_sub_mpi #3 (Test with negative base)
268mpi_sub_mpi:10:"-5":10:"7":10:"-12"
269
270Base test mpi_sub_mpi #4 (Test with negative substraction)
271mpi_sub_mpi:10:"5":10:"-7":10:"12"
272
273Test mpi_sub_mpi #1
274mpi_sub_mpi:10:"531872289054204184185084734375133399408303613982130856645299464930952178606045848877129147820387996428175564228204785846141207532462936339834139412401975338705794646595487324365194792822189473092273993580587964571659678084484152603881094176995594813302284232006001752128168901293560051833646881436219":10:"203956878356401977405765866929034577280193993314348263094772646453283062722701277632936616063144088173312372882677123879538709400158306567338328279154499698366071906766440037074217117805690872792848149112022286332144876183376326512083574821647933992961249917319836219304274280243803104015000563790123":10:"327915410697802206779318867446098822128109620667782593550526818477669115883344571244192531757243908254863191345527661966602498132304629772495811133247475640339722739829047287290977675016498600299425844468565678239514801901107826091797519355347660820341034314686165532823894621049756947818646317646096"
275
276Test mpi_sub_mpi #2 (Test for negative result)
277mpi_sub_mpi:10:"643808006803554439230129854961492699151386107534013432918073439524138264842370630061369715394739134090922937332590384720397133335969549256322620979036686633213903952966175107096769180017646161851573147596390153":10:"56125680981752282333498088313568935051383833838594899821664631784577337171193624243181360054669678410455329112434552942717084003541384594864129940145043086760031292483340068923506115878221189886491132772739661669044958531131327771":10:"-56125680981752282332854280306765380612153703983633407122513245677043323738275550803657221789827307780393959397039813808626161066208794210143732806809073537503708671504303382290292211925255014779394363592722015507193385383534937618"
278
279Test mpi_sub_int #1
280mpi_sub_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":-9871232:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227022647561"
281
282Test mpi_sub_int #2
283mpi_sub_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":9871232:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227002905097"
284
285Test mpi_shift_l #1
286mpi_shift_l:10:"64":1:10:"128"
287
288Test mpi_shift_l #2
289mpi_shift_l:10:"658385546911733550164516088405238961461880256029834598831972039469421755117818013653494814438931957316403111689187691446941406788869098983929874080332195117465344344350008880118042764943201875870917468833709791733282363323948005998269792207":37:10:"90487820548639020691922304619723076305400961610119884872723190678642804168382367856686134531865643066983017249846286450251272364365605022750900439437595355052945035915579216557330505438734955340526145476988250171181404966718289259743378883640981192704"
290
291Test mpi_shift_r #1
292mpi_shift_r:10:"128":1:10:"64"
293
294Test mpi_shift_r #2
295mpi_shift_r:10:"120815570979701484704906977000760567182871429114712069861589084706550626575967516787438008593490722779337547394120718248995900363209947025063336882559539208430319216688889117222633155838468458047056355241515415159736436403445579777425189969":45:10:"3433785053053426415343295076376096153094051405637175942660777670498379921354157795219578264137985649407981651226029903483433269093721578004287291678324982297860947730012217028349628999378309630601971640587504883789518896817457"
296
297Base test mpi_mul_mpi #1
298mpi_mul_mpi:10:"5":10:"7":10:"35"
299
300Base test mpi_mul_mpi #2
301mpi_mul_mpi:10:"-5":10:"7":10:"-35"
302
303Base test mpi_mul_mpi #3
304mpi_mul_mpi:10:"5":10:"-7":10:"-35"
305
306Base test mpi_mul_mpi #4
307mpi_mul_mpi:10:"-5":10:"-7":10:"35"
308
309Test mpi_mul_mpi #1
310mpi_mul_mpi:10:"28911710017320205966167820725313234361535259163045867986277478145081076845846493521348693253530011243988160148063424837895971948244167867236923919506962312185829914482993478947657472351461336729641485069323635424692930278888923450060546465883490944265147851036817433970984747733020522259537":10:"16471581891701794764704009719057349996270239948993452268812975037240586099924712715366967486587417803753916334331355573776945238871512026832810626226164346328807407669366029926221415383560814338828449642265377822759768011406757061063524768140567867350208554439342320410551341675119078050953":10:"476221599179424887669515829231223263939342135681791605842540429321038144633323941248706405375723482912535192363845116154236465184147599697841273424891410002781967962186252583311115708128167171262206919514587899883547279647025952837516324649656913580411611297312678955801899536937577476819667861053063432906071315727948826276092545739432005962781562403795455162483159362585281248265005441715080197800335757871588045959754547836825977169125866324128449699877076762316768127816074587766799018626179199776188490087103869164122906791440101822594139648973454716256383294690817576188761"
311
312Test mpi_mul_int #1
313mpi_mul_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":9871232:10:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":==
314
315Test mpi_mul_int #2 (Unsigned, thus failure)
316mpi_mul_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":-9871232:10:"-20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":!=
317
318Test mpi_mul_int #3
319mpi_mul_int:10:"-2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":9871232:10:"-20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":==
320
321Test mpi_mul_int #4 (Unsigned, thus failure)
322mpi_mul_int:10:"-2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":-9871232:10:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":!=
323
324Base test mpi_div_mpi #1
325mpi_div_mpi:10:"1000":10:"13":10:"76":10:"12":0
326
327Base test mpi_div_mpi #2 (Divide by zero)
328mpi_div_mpi:10:"1000":10:"0":10:"1":10:"1":POLARSSL_ERR_MPI_DIVISION_BY_ZERO
329
330Base test mpi_div_mpi #3
331mpi_div_mpi:10:"1000":10:"-13":10:"-76":10:"12":0
332
333Test mpi_div_mpi #1
334mpi_div_mpi:10:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":10:"34":10:"592148724779947824773845002981655249516095268533053127589864347174804198178334111238460803":10:"26":0
335
336Test mpi_div_mpi #2
337mpi_div_mpi:10:"476221599179424887669515829231223263939342135681791605842540429321038144633323941248706405375723482912535192363845116154236465184147599697841273424891410002781967962186252583311115708128167171262206919514587899883547279647025952837516324649656913580411611297312678955801899536937577476819667861053063432906071315727948826276092545739432005962781562403795455162483159362585281248265005441715080197800335757871588045959754547836825977169125866324128449699877076762316768127816074587766799018626179199776188490087103869164122906791440101822594139648973454716256383294690817576188762":10:"28911710017320205966167820725313234361535259163045867986277478145081076845846493521348693253530011243988160148063424837895971948244167867236923919506962312185829914482993478947657472351461336729641485069323635424692930278888923450060546465883490944265147851036817433970984747733020522259537":10:"16471581891701794764704009719057349996270239948993452268812975037240586099924712715366967486587417803753916334331355573776945238871512026832810626226164346328807407669366029926221415383560814338828449642265377822759768011406757061063524768140567867350208554439342320410551341675119078050953":10:"1":0
338
Paul Bakkerba48cb22009-07-12 11:01:32 +0000339Test mpi_div_mpi #3
340mpi_div_mpi:10:"1000":10:"7":10:"142":10:"6":0
341
342Test mpi_div_mpi #4
343mpi_div_mpi:10:"777":10:"7":10:"111":10:"0":0
344
Paul Bakker367dae42009-06-28 21:50:27 +0000345Base test mpi_div_int #1
346mpi_div_int:10:"1000":13:10:"76":10:"12":0
347
Paul Bakkerba48cb22009-07-12 11:01:32 +0000348Base test mpi_div_int #2 (Divide by zero)
Paul Bakker367dae42009-06-28 21:50:27 +0000349mpi_div_int:10:"1000":0:10:"1":10:"1":POLARSSL_ERR_MPI_DIVISION_BY_ZERO
350
351Base test mpi_div_int #3
352mpi_div_int:10:"1000":-13:10:"-76":10:"12":0
353
354Test mpi_div_int #1
355mpi_div_int:10:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":34:10:"592148724779947824773845002981655249516095268533053127589864347174804198178334111238460803":10:"26":0
356
357Test mpi_div_int #2
358mpi_div_int:10:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":-34:10:"-592148724779947824773845002981655249516095268533053127589864347174804198178334111238460803":10:"26":0
359
360Base test mpi_mod_mpi #1
361mpi_mod_mpi:10:"1000":10:"13":10:"12":0
362
363Base test mpi_mod_mpi #2 (Divide by zero)
364mpi_mod_mpi:10:"1000":10:"0":10:"0":POLARSSL_ERR_MPI_DIVISION_BY_ZERO
365
366Base test mpi_mod_mpi #3
367mpi_mod_mpi:10:"-1000":10:"13":10:"1":0
368
369Base test mpi_mod_mpi #4 (Negative modulo)
370mpi_mod_mpi:10:"1000":10:"-13":10:"-1":POLARSSL_ERR_MPI_NEGATIVE_VALUE
371
372Base test mpi_mod_mpi #5 (Negative modulo)
373mpi_mod_mpi:10:"-1000":10:"-13":10:"-12":POLARSSL_ERR_MPI_NEGATIVE_VALUE
374
375Base test mpi_mod_int #1
376mpi_mod_int:10:"1000":13:12:0
377
378Base test mpi_mod_int #2 (Divide by zero)
379mpi_mod_int:10:"1000":0:0:POLARSSL_ERR_MPI_DIVISION_BY_ZERO
380
381Base test mpi_mod_int #3
382mpi_mod_int:10:"-1000":13:1:0
383
384Base test mpi_mod_int #4 (Negative modulo)
385mpi_mod_int:10:"1000":-13:0:POLARSSL_ERR_MPI_NEGATIVE_VALUE
386
387Base test mpi_mod_int #5 (Negative modulo)
388mpi_mod_int:10:"-1000":-13:0:POLARSSL_ERR_MPI_NEGATIVE_VALUE
389
Paul Bakkerba48cb22009-07-12 11:01:32 +0000390Base test mpi_mod_int #6 (By 1)
391mpi_mod_int:10:"1000":1:0:0
392
393Base test mpi_mod_int #7 (By 2)
394mpi_mod_int:10:"1001":2:1:0
395
396Base test mpi_mod_int #8 (By 2)
397mpi_mod_int:10:"1000":2:0:0
398
Paul Bakker367dae42009-06-28 21:50:27 +0000399Base test mpi_exp_mod #1
400mpi_exp_mod:10:"23":10:"13":10:"29":10:"":10:"24":0
401
402Base test mpi_exp_mod #2
403mpi_exp_mod:10:"23":10:"13":10:"30":10:"":10:"0":POLARSSL_ERR_MPI_BAD_INPUT_DATA
404
405Base test mpi_exp_mod #3
406mpi_exp_mod:10:"23":10:"13":10:"-29":10:"":10:"24":POLARSSL_ERR_MPI_BAD_INPUT_DATA
407
408Test mpi_exp_mod #1
409mpi_exp_mod:10:"433019240910377478217373572959560109819648647016096560523769010881172869083338285573756574557395862965095016483867813043663981946477698466501451832407592327356331263124555137732393938242285782144928753919588632679050799198937132922145084847":10:"5781538327977828897150909166778407659250458379645823062042492461576758526757490910073628008613977550546382774775570888130029763571528699574717583228939535960234464230882573615930384979100379102915657483866755371559811718767760594919456971354184113721":10:"583137007797276923956891216216022144052044091311388601652961409557516421612874571554415606746479105795833145583959622117418531166391184939066520869800857530421873250114773204354963864729386957427276448683092491947566992077136553066273207777134303397724679138833126700957":10:"":10:"114597449276684355144920670007147953232659436380163461553186940113929777196018164149703566472936578890991049344459204199888254907113495794730452699842273939581048142004834330369483813876618772578869083248061616444392091693787039636316845512292127097865026290173004860736":0
410
411Base test GCD #1
412mpi_gcd:10:"693":10:"609":10:"21"
413
414Base test GCD #2
415mpi_gcd:10:"1764":10:"868":10:"28"
416
417Base test GCD #3
418mpi_gcd:10:"768454923":10:"542167814":10:"1"
419
420Test GCD #1
421mpi_gcd:10:"433019240910377478217373572959560109819648647016096560523769010881172869083338285573756574557395862965095016483867813043663981946477698466501451832407592327356331263124555137732393938242285782144928753919588632679050799198937132922145084847":10:"5781538327977828897150909166778407659250458379645823062042492461576758526757490910073628008613977550546382774775570888130029763571528699574717583228939535960234464230882573615930384979100379102915657483866755371559811718767760594919456971354184113721":10:"1"
422
423Base test mpi_inv_mod #1
Paul Bakker5690efc2011-05-26 13:16:06 +0000424depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000425mpi_inv_mod:10:"3":10:"11":10:"4":0
426
427Base test mpi_inv_mod #2
Paul Bakker5690efc2011-05-26 13:16:06 +0000428depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000429mpi_inv_mod:10:"3":10:"0":10:"0":POLARSSL_ERR_MPI_BAD_INPUT_DATA
430
431Base test mpi_inv_mod #3
Paul Bakker5690efc2011-05-26 13:16:06 +0000432depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000433mpi_inv_mod:10:"3":10:"-11":10:"4":POLARSSL_ERR_MPI_BAD_INPUT_DATA
434
435Base test mpi_inv_mod #4
Paul Bakker5690efc2011-05-26 13:16:06 +0000436depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000437mpi_inv_mod:10:"2":10:"4":10:"0":POLARSSL_ERR_MPI_NOT_ACCEPTABLE
438
439Test mpi_inv_mod #1
Paul Bakker5690efc2011-05-26 13:16:06 +0000440depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000441mpi_inv_mod:16:"aa4df5cb14b4c31237f98bd1faf527c283c2d0f3eec89718664ba33f9762907c":16:"fffbbd660b94412ae61ead9c2906a344116e316a256fd387874c6c675b1d587d":16:"8d6a5c1d7adeae3e94b9bcd2c47e0d46e778bc8804a2cc25c02d775dc3d05b0c":0
442
443Base test mpi_is_prime #1
Paul Bakker5690efc2011-05-26 13:16:06 +0000444depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000445mpi_is_prime:10:"0":POLARSSL_ERR_MPI_NOT_ACCEPTABLE
446
447Base test mpi_is_prime #2
Paul Bakker5690efc2011-05-26 13:16:06 +0000448depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000449mpi_is_prime:10:"1":POLARSSL_ERR_MPI_NOT_ACCEPTABLE
450
451Base test mpi_is_prime #3
Paul Bakker5690efc2011-05-26 13:16:06 +0000452depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000453mpi_is_prime:10:"2":0
454
455Base test mpi_is_prime #4
Paul Bakker5690efc2011-05-26 13:16:06 +0000456depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000457mpi_is_prime:10:"3":0
458
459Base test mpi_is_prime #5
Paul Bakker5690efc2011-05-26 13:16:06 +0000460depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000461mpi_is_prime:10:"4":POLARSSL_ERR_MPI_NOT_ACCEPTABLE
462
463Base test mpi_is_prime #6
Paul Bakker5690efc2011-05-26 13:16:06 +0000464depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000465mpi_is_prime:10:"5":0
466
467Base test mpi_is_prime #7
Paul Bakker5690efc2011-05-26 13:16:06 +0000468depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000469mpi_is_prime:10:"27":POLARSSL_ERR_MPI_NOT_ACCEPTABLE
470
471Base test mpi_is_prime #8
Paul Bakker5690efc2011-05-26 13:16:06 +0000472depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000473mpi_is_prime:10:"47":0
474
475Test mpi_is_prime #1
Paul Bakker5690efc2011-05-26 13:16:06 +0000476depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000477mpi_is_prime:10:"827131507221654563937832686696200995595835694437983658840870036586124168186967796809117749047430768825822857042432722828096779098498192459819306321073968735177531164565305635281198148032612029767584644305912099":0
478
479Test mpi_is_prime #2
Paul Bakker5690efc2011-05-26 13:16:06 +0000480depends_on:POLARSSL_GENPRIME
Paul Bakker367dae42009-06-28 21:50:27 +0000481mpi_is_prime:10:"827131507221654563937832686696200995595835694437983658840870036586124168186967796809117749047430768825822857042432722828096779098498192459819306321073968735177531164565305635281198148032612029767584644305912001":POLARSSL_ERR_MPI_NOT_ACCEPTABLE
Paul Bakkere896fea2009-07-06 06:40:23 +0000482
Paul Bakkerba48cb22009-07-12 11:01:32 +0000483Test mpi_is_prime #3
Paul Bakker5690efc2011-05-26 13:16:06 +0000484depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000485mpi_is_prime:10:"2833419889721787128217599":0
486
487Test mpi_is_prime #4
Paul Bakker5690efc2011-05-26 13:16:06 +0000488depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000489mpi_is_prime:10:"195845982777569926302400511":0
490
491Test mpi_is_prime #5
Paul Bakker5690efc2011-05-26 13:16:06 +0000492depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000493mpi_is_prime:10:"4776913109852041418248056622882488319":0
494
495Test mpi_is_prime #5
Paul Bakker5690efc2011-05-26 13:16:06 +0000496depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000497mpi_is_prime:10:"768614336404564651":0
498
499Test mpi_is_prime #6
Paul Bakker5690efc2011-05-26 13:16:06 +0000500depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000501mpi_is_prime:10:"201487636602438195784363":0
502
503Test mpi_is_prime #7
Paul Bakker5690efc2011-05-26 13:16:06 +0000504depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000505mpi_is_prime:10:"845100400152152934331135470251":0
506
507Test mpi_is_prime #8
Paul Bakker5690efc2011-05-26 13:16:06 +0000508depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000509mpi_is_prime:10:"56713727820156410577229101238628035243":0
510
511Test mpi_is_prime #9
Paul Bakker5690efc2011-05-26 13:16:06 +0000512depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000513mpi_is_prime:10:"203956878356401977405765866929034577280193993314348263094772646453283062722701277632936616063144088173312372882677123879538709400158306567338328279154499698366071906766440037074217117805690872792848149112022286332144876183376326512083574821647933992961249917319836219304274280243803104015000563790123":0
514
515Test mpi_is_prime #10
Paul Bakker5690efc2011-05-26 13:16:06 +0000516depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000517mpi_is_prime:10:"531872289054204184185084734375133399408303613982130856645299464930952178606045848877129147820387996428175564228204785846141207532462936339834139412401975338705794646595487324365194792822189473092273993580587964571659678084484152603881094176995594813302284232006001752128168901293560051833646881436219":0
518
519Test mpi_is_prime #11
Paul Bakker5690efc2011-05-26 13:16:06 +0000520depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000521mpi_is_prime:10:"319705304701141539155720137200974664666792526059405792539680974929469783512821793995613718943171723765238853752439032835985158829038528214925658918372196742089464683960239919950882355844766055365179937610326127675178857306260955550407044463370239890187189750909036833976197804646589380690779463976173":0
522
523Test mpi_is_prime #12
Paul Bakker5690efc2011-05-26 13:16:06 +0000524depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000525mpi_is_prime:10:"200603822195324642393516294012917598972967449320074999667103434371470616000652036570009912021332527788252300901905236578801044680456930305350440933538867383130165841118050781326291059830545891570648243241795871":0
526
527Test mpi_is_prime #13
Paul Bakker5690efc2011-05-26 13:16:06 +0000528depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000529mpi_is_prime:10:"827131507221654563937832686696200995595835694437983658840870036586124168186967796809117749047430768825822857042432722828096779098498192459819306321073968735177531164565305635281198148032612029767584644305912099":0
530
531Test mpi_is_prime #14
Paul Bakker5690efc2011-05-26 13:16:06 +0000532depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000533mpi_is_prime:10:"964274047248418797145090983157197980855078966882276492572788532954904112655338439361306213898569516593744267391754033306465125919199692703323878557833023573312685002670662846477592597659826113460619815244721311":0
534
535Test mpi_is_prime #15
Paul Bakker5690efc2011-05-26 13:16:06 +0000536depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000537mpi_is_prime:10:"170141183460469231731687303715884105727":0
538
539Test mpi_is_prime #16
Paul Bakker5690efc2011-05-26 13:16:06 +0000540depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000541mpi_is_prime:10:"2147483647":0
542
543Test mpi_is_prime #17
Paul Bakker5690efc2011-05-26 13:16:06 +0000544depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000545mpi_is_prime:10:"961748941":0
546
547Test mpi_is_prime #18
Paul Bakker5690efc2011-05-26 13:16:06 +0000548depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000549mpi_is_prime:10:"179424691":0
550
551Test mpi_is_prime #19
Paul Bakker5690efc2011-05-26 13:16:06 +0000552depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000553mpi_is_prime:10:"32452867":0
554
555Test mpi_is_prime #20
Paul Bakker5690efc2011-05-26 13:16:06 +0000556depends_on:POLARSSL_GENPRIME
Paul Bakkerba48cb22009-07-12 11:01:32 +0000557mpi_is_prime:10:"49979687":0
558
Paul Bakker2f5947e2011-05-18 15:47:11 +0000559Test bit getting (Value bit 25)
560mpi_get_bit:10:"49979687":25:1
561
562Test bit getting (Larger but same limb)
563mpi_get_bit:10:"49979687":26:0
564
565Test bit getting (Larger and non-existing limb)
566mpi_get_bit:10:"49979687":500:0
567
568Test bit getting (Value bit 24)
569mpi_get_bit:10:"49979687":24:0
570
571Test bit getting (Value bit 23)
572mpi_get_bit:10:"49979687":23:1
573
574Test bit set (Change existing value with a 1)
575mpi_set_bit:10:"49979687":24:1:10:"66756903"
576
577Test bit set (Change existing value with a 0)
578mpi_set_bit:10:"49979687":25:0:10:"16425255"
579
580Test bit set (Add above existing limbs with a 0)
581mpi_set_bit:10:"49979687":80:0:10:"49979687"
582
583Test bit set (Add above existing limbs with a 1)
584mpi_set_bit:10:"49979687":80:1:10:"1208925819614629224685863"
585
Paul Bakkere896fea2009-07-06 06:40:23 +0000586MPI Selftest
Paul Bakker335db3f2011-04-25 15:28:35 +0000587depends_on:POLARSSL_SELF_TEST
Paul Bakkere896fea2009-07-06 06:40:23 +0000588mpi_selftest: