blob: 357484edc794eb0635d4f7bfcb91530ea64731fd [file] [log] [blame]
Manuel Pégourié-Gonnard770b5e12015-04-29 17:02:01 +02001Arguments with no value
2mpi_null:
3
Paul Bakker367dae42009-06-28 21:50:27 +00004Base test mpi_read_write_string #1
Paul Bakkerba48cb22009-07-12 11:01:32 +00005mpi_read_write_string:10:"128":10:"128":100:0:0
Paul Bakker367dae42009-06-28 21:50:27 +00006
Gilles Peskineb13a26c2021-04-03 18:25:29 +02007Base test mpi_read_write_string #1 (Leading 0)
8mpi_read_write_string:10:"0128":10:"128":100:0:0
9
Paul Bakker367dae42009-06-28 21:50:27 +000010Base test mpi_read_write_string #2
Paul Bakkerba48cb22009-07-12 11:01:32 +000011mpi_read_write_string:10:"128":16:"80":100:0:0
Paul Bakker367dae42009-06-28 21:50:27 +000012
Gilles Peskineb13a26c2021-04-03 18:25:29 +020013Base test mpi_read_write_string #3 (Read zero decimal)
Paul Bakkerba48cb22009-07-12 11:01:32 +000014mpi_read_write_string:10:"0":10:"0":100:0:0
Paul Bakker367dae42009-06-28 21:50:27 +000015
Gilles Peskineb13a26c2021-04-03 18:25:29 +020016Base test mpi_read_write_string #3 (Read zero hex)
17mpi_read_write_string:16:"0":16:"00":100:0:0
18
19Base test mpi_read_write_string #3 (Read minus zero decimal)
20mpi_read_write_string:10:"-0":10:"0":100:0:0
21
22Base test mpi_read_write_string #3 (Read minus zero hex)
23mpi_read_write_string:16:"-0":16:"00":100:0:0
24
25Base test mpi_read_write_string #3 (Negative decimal)
Paul Bakkerba48cb22009-07-12 11:01:32 +000026mpi_read_write_string:10:"-23":10:"-23":100:0:0
Paul Bakker367dae42009-06-28 21:50:27 +000027
Gilles Peskineb13a26c2021-04-03 18:25:29 +020028Base test mpi_read_write_string #3 (Negative decimal, leading 0)
29mpi_read_write_string:10:"-023":10:"-23":100:0:0
30
Gilles Peskinebd43f672021-04-09 15:46:40 +020031Base test mpi_read_write_string #3 (Negative hex -> decimal)
Paul Bakkerba48cb22009-07-12 11:01:32 +000032mpi_read_write_string:16:"-20":10:"-32":100:0:0
Paul Bakker367dae42009-06-28 21:50:27 +000033
Gilles Peskineb13a26c2021-04-03 18:25:29 +020034Base test mpi_read_write_string #3 (Negative hex)
Paul Bakkerba48cb22009-07-12 11:01:32 +000035mpi_read_write_string:16:"-23":16:"-23":100:0:0
Paul Bakker367dae42009-06-28 21:50:27 +000036
Gilles Peskineb13a26c2021-04-03 18:25:29 +020037Base test mpi_read_write_string #3 (Negative hex, leading 0)
38mpi_read_write_string:16:"-023":16:"-23":100:0:0
39
Janos Follath04dadb72019-03-06 12:29:37 +000040Base test mpi_read_write_string #4 (Buffer just fits)
41mpi_read_write_string:16:"-4":4:"-10":4:0:0
42
Paul Bakkerba48cb22009-07-12 11:01:32 +000043Test mpi_read_write_string #1 (Invalid character)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020044mpi_read_write_string:10:"a28":0:"":100:MBEDTLS_ERR_MPI_INVALID_CHARACTER:0
Paul Bakkerba48cb22009-07-12 11:01:32 +000045
46Test mpi_read_write_string #2 (Illegal input radix)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020047mpi_read_write_string:19:"a28":0:"":100:MBEDTLS_ERR_MPI_BAD_INPUT_DATA:0
Paul Bakkerba48cb22009-07-12 11:01:32 +000048
49Test mpi_read_write_string #3 (Buffer just fits)
50mpi_read_write_string:16:"-23":16:"-23":4:0:0
51
52Test mpi_read_write_string #4 (Buffer too small)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020053mpi_read_write_string:16:"-23":16:"-23":3:0:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL
Paul Bakkerba48cb22009-07-12 11:01:32 +000054
55Test mpi_read_write_string #5 (Illegal output radix)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020056mpi_read_write_string:16:"-23":17:"-23":4:0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
Paul Bakkerba48cb22009-07-12 11:01:32 +000057
58Test mpi_read_write_string #6 (Output radix of 15)
59mpi_read_write_string:10:"29":15:"1e":100:0:0
60
61Test mpi_read_write_string #7
62mpi_read_write_string:10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":16:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":200:0:0
Paul Bakkere896fea2009-07-06 06:40:23 +000063
Gilles Peskineb13a26c2021-04-03 18:25:29 +020064Test mpi_read_write_string #8 (Empty MPI hex -> hex)
Paul Bakker6c343d72014-07-10 14:36:19 +020065mpi_read_write_string:16:"":16:"00":4:0:0
66
Gilles Peskineb13a26c2021-04-03 18:25:29 +020067Test mpi_read_write_string #9 (Empty MPI hex -> dec)
Paul Bakker6c343d72014-07-10 14:36:19 +020068mpi_read_write_string:16:"":10:"0":4:0:0
69
Gilles Peskineb13a26c2021-04-03 18:25:29 +020070Test mpi_read_write_string #8 (Empty MPI dec -> hex)
71mpi_read_write_string:10:"":16:"00":4:0:0
72
73Test mpi_read_write_string #9 (Empty MPI dec -> dec)
74mpi_read_write_string:10:"":10:"0":4:0:0
75
Andres AGd1cc7f62017-01-06 13:17:35 +000076Test mpi_write_string #10 (Negative hex with odd number of digits)
77mpi_read_write_string:16:"-1":16:"":3:0:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL
78
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020079Base test mbedtls_mpi_read_binary #1
80mbedtls_mpi_read_binary:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924"
Paul Bakkere896fea2009-07-06 06:40:23 +000081
Janos Follatha778a942019-02-13 10:28:28 +000082Base test mbedtls_mpi_read_binary_le #1
83mbedtls_mpi_read_binary_le:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":10:"219946662473865722255717126709915431768051735954189829340600976826409773245337023925691629251672268961177825243440202069039100741562168093042339401187848509859789949044607421190014088260008793380554914226244485299326152319899746569"
84
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020085Base test mbedtls_mpi_write_binary #1
86mbedtls_mpi_write_binary:10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":200:0
Paul Bakkerba48cb22009-07-12 11:01:32 +000087
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020088Test mbedtls_mpi_write_binary #1 (Buffer just fits)
89mbedtls_mpi_write_binary:16:"123123123123123123123123123":"0123123123123123123123123123":14:0
Paul Bakkerba48cb22009-07-12 11:01:32 +000090
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020091Test mbedtls_mpi_write_binary #2 (Buffer too small)
Azim Khan46c9b1f2017-05-31 20:46:35 +010092mbedtls_mpi_write_binary:16:"123123123123123123123123123":"23123123123123123123123123":13:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL
Paul Bakkere896fea2009-07-06 06:40:23 +000093
Janos Follathe344d0f2019-02-19 16:17:40 +000094Base test mbedtls_mpi_write_binary_le #1
95mbedtls_mpi_write_binary_le:10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":"24448b952fbbef93f89286ba330e62528b151eac265cc8ce3038519d09e148af89288e91f48b41acad55d9dc5e2b18097c106be4ce132721bf6359eaf403e7ff90623e8866ee5c192320418daa682f144adedf84f25de11f49d1fe009d374109":200:0
96
97Test mbedtls_mpi_write_binary_le #1 (Buffer just fits)
98mbedtls_mpi_write_binary_le:16:"123123123123123123123123123":"2331122331122331122331122301":14:0
99
100Test mbedtls_mpi_write_binary_le #2 (Buffer too small)
101mbedtls_mpi_write_binary_le:16:"123123123123123123123123123":"23311223311223311223311223":13:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL
102
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200103Base test mbedtls_mpi_read_file #1
104mbedtls_mpi_read_file:10:"data_files/mpi_10":"01f55332c3a48b910f9942f6c914e58bef37a47ee45cb164a5b6b8d1006bf59a059c21449939ebebfdf517d2e1dbac88010d7b1f141e997bd6801ddaec9d05910f4f2de2b2c4d714e2c14a72fc7f17aa428d59c531627f09":0
Paul Bakkerba48cb22009-07-12 11:01:32 +0000105
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200106Test mbedtls_mpi_read_file #1 (Empty file)
107mbedtls_mpi_read_file:10:"data_files/hash_file_4":"":MBEDTLS_ERR_MPI_FILE_IO_ERROR
Paul Bakkerba48cb22009-07-12 11:01:32 +0000108
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200109Test mbedtls_mpi_read_file #2 (Illegal input)
110mbedtls_mpi_read_file:10:"data_files/hash_file_3":"":0
Paul Bakkere896fea2009-07-06 06:40:23 +0000111
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200112Test mbedtls_mpi_read_file #3 (Input too big)
113mbedtls_mpi_read_file:10:"data_files/mpi_too_big":"":MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL
Paul Bakkercb37aa52011-11-30 16:00:20 +0000114
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200115Base test mbedtls_mpi_write_file #1
116mbedtls_mpi_write_file:10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":16:"data_files/mpi_write"
Paul Bakkere896fea2009-07-06 06:40:23 +0000117
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200118Base test mbedtls_mpi_lsb #1
119mbedtls_mpi_lsb:10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":2
Paul Bakkere896fea2009-07-06 06:40:23 +0000120
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200121Base test mbedtls_mpi_lsb #2
122mbedtls_mpi_lsb:10:"24":3
Paul Bakkere896fea2009-07-06 06:40:23 +0000123
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200124Base test mbedtls_mpi_lsb #3
125mbedtls_mpi_lsb:16:"24":2
Paul Bakkere896fea2009-07-06 06:40:23 +0000126
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200127Base test mbedtls_mpi_lsb #4
128mbedtls_mpi_lsb:16:"2000":13
Paul Bakkere896fea2009-07-06 06:40:23 +0000129
Manuel Pégourié-Gonnardc0696c22015-06-18 16:47:17 +0200130Base test mbedtls_mpi_bitlen #1
131mbedtls_mpi_bitlen:10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":764
Paul Bakkere896fea2009-07-06 06:40:23 +0000132
Manuel Pégourié-Gonnardc0696c22015-06-18 16:47:17 +0200133Base test mbedtls_mpi_bitlen #2
134mbedtls_mpi_bitlen:10:"24":5
Paul Bakkere896fea2009-07-06 06:40:23 +0000135
Manuel Pégourié-Gonnardc0696c22015-06-18 16:47:17 +0200136Base test mbedtls_mpi_bitlen #3
137mbedtls_mpi_bitlen:10:"1":1
Paul Bakkere896fea2009-07-06 06:40:23 +0000138
Manuel Pégourié-Gonnardc0696c22015-06-18 16:47:17 +0200139Base test mbedtls_mpi_bitlen #4
140mbedtls_mpi_bitlen:10:"15":4
Paul Bakkere896fea2009-07-06 06:40:23 +0000141
Manuel Pégourié-Gonnardc0696c22015-06-18 16:47:17 +0200142Base test mbedtls_mpi_bitlen #5
143mbedtls_mpi_bitlen:10:"16":5
Paul Bakkere896fea2009-07-06 06:40:23 +0000144
Manuel Pégourié-Gonnardc0696c22015-06-18 16:47:17 +0200145Base test mbedtls_mpi_bitlen #6
146mbedtls_mpi_bitlen:10:"10":4
Paul Bakkere896fea2009-07-06 06:40:23 +0000147
Gilles Peskine5fb6f702021-06-08 23:00:17 +0200148Base test mbedtls_mpi_bitlen: 0 (1 limb)
Manuel Pégourié-Gonnardc0696c22015-06-18 16:47:17 +0200149mbedtls_mpi_bitlen:10:"0":0
Paul Bakkere896fea2009-07-06 06:40:23 +0000150
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200151Base test mbedtls_mpi_cmp_int #1
152mbedtls_mpi_cmp_int:693:693:0
Paul Bakker367dae42009-06-28 21:50:27 +0000153
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200154Base test mbedtls_mpi_cmp_int #2
155mbedtls_mpi_cmp_int:693:692:1
Paul Bakker367dae42009-06-28 21:50:27 +0000156
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200157Base test mbedtls_mpi_cmp_int #3
158mbedtls_mpi_cmp_int:693:694:-1
Paul Bakker367dae42009-06-28 21:50:27 +0000159
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200160Base test mbedtls_mpi_cmp_int (Negative values) #1
161mbedtls_mpi_cmp_int:-2:-2:0
Paul Bakker367dae42009-06-28 21:50:27 +0000162
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200163Base test mbedtls_mpi_cmp_int (Negative values) #2
164mbedtls_mpi_cmp_int:-2:-3:1
Paul Bakker367dae42009-06-28 21:50:27 +0000165
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200166Base test mbedtls_mpi_cmp_int (Negative values) #3
167mbedtls_mpi_cmp_int:-2:-1:-1
Paul Bakker367dae42009-06-28 21:50:27 +0000168
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200169Base test mbedtls_mpi_cmp_mpi #1
170mbedtls_mpi_cmp_mpi:10:"693":10:"693":0
Paul Bakker367dae42009-06-28 21:50:27 +0000171
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200172Base test mbedtls_mpi_cmp_mpi #2
173mbedtls_mpi_cmp_mpi:10:"693":10:"692":1
Paul Bakker367dae42009-06-28 21:50:27 +0000174
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200175Base test mbedtls_mpi_cmp_mpi #3
176mbedtls_mpi_cmp_mpi:10:"693":10:"694":-1
Paul Bakker367dae42009-06-28 21:50:27 +0000177
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200178Base test mbedtls_mpi_cmp_mpi (Negative values) #1
179mbedtls_mpi_cmp_mpi:10:"-2":10:"-2":0
Paul Bakker367dae42009-06-28 21:50:27 +0000180
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200181Base test mbedtls_mpi_cmp_mpi (Negative values) #2
182mbedtls_mpi_cmp_mpi:10:"-2":10:"-3":1
Paul Bakker367dae42009-06-28 21:50:27 +0000183
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200184Base test mbedtls_mpi_cmp_mpi (Negative values) #3
185mbedtls_mpi_cmp_mpi:10:"-2":10:"-1":-1
Paul Bakker367dae42009-06-28 21:50:27 +0000186
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200187Base test mbedtls_mpi_cmp_mpi (Mixed values) #4
188mbedtls_mpi_cmp_mpi:10:"-3":10:"2":-1
Paul Bakker0c8f73b2012-03-22 14:08:57 +0000189
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200190Base test mbedtls_mpi_cmp_mpi (Mixed values) #5
191mbedtls_mpi_cmp_mpi:10:"2":10:"-3":1
Paul Bakker0c8f73b2012-03-22 14:08:57 +0000192
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200193Base test mbedtls_mpi_cmp_mpi (Mixed values) #6
194mbedtls_mpi_cmp_mpi:10:"-2":10:"31231231289798":-1
Paul Bakker0c8f73b2012-03-22 14:08:57 +0000195
Janos Follath0e5532d2019-10-11 14:21:53 +0100196Base test mbedtls_mpi_lt_mpi_ct #1
Janos Follathb7e1b492019-10-14 09:21:49 +0100197mbedtls_mpi_lt_mpi_ct:1:"2B5":1:"2B5":0:0
Janos Follath385d5b82019-09-11 16:07:14 +0100198
Janos Follath0e5532d2019-10-11 14:21:53 +0100199Base test mbedtls_mpi_lt_mpi_ct #2
Janos Follathb7e1b492019-10-14 09:21:49 +0100200mbedtls_mpi_lt_mpi_ct:1:"2B5":1:"2B4":0:0
Janos Follath385d5b82019-09-11 16:07:14 +0100201
Janos Follath0e5532d2019-10-11 14:21:53 +0100202Base test mbedtls_mpi_lt_mpi_ct #3
Janos Follathb7e1b492019-10-14 09:21:49 +0100203mbedtls_mpi_lt_mpi_ct:1:"2B5":1:"2B6":1:0
Janos Follath385d5b82019-09-11 16:07:14 +0100204
Janos Follath0e5532d2019-10-11 14:21:53 +0100205Base test mbedtls_mpi_lt_mpi_ct (Negative values) #1
Janos Follathb7e1b492019-10-14 09:21:49 +0100206mbedtls_mpi_lt_mpi_ct:1:"-2":1:"-2":0:0
Janos Follath385d5b82019-09-11 16:07:14 +0100207
Janos Follath0e5532d2019-10-11 14:21:53 +0100208Base test mbedtls_mpi_lt_mpi_ct (Negative values) #2
Janos Follathb7e1b492019-10-14 09:21:49 +0100209mbedtls_mpi_lt_mpi_ct:1:"-2":1:"-3":0:0
Janos Follath385d5b82019-09-11 16:07:14 +0100210
Janos Follath0e5532d2019-10-11 14:21:53 +0100211Base test mbedtls_mpi_lt_mpi_ct (Negative values) #3
Janos Follathb7e1b492019-10-14 09:21:49 +0100212mbedtls_mpi_lt_mpi_ct:1:"-2":1:"-1":1:0
Janos Follath385d5b82019-09-11 16:07:14 +0100213
Janos Follath53fc7b02019-11-05 11:56:07 +0000214Base test mbedtls_mpi_lt_mpi_ct (Mixed values) #1
Janos Follathb7e1b492019-10-14 09:21:49 +0100215mbedtls_mpi_lt_mpi_ct:1:"-3":1:"2":1:0
Janos Follath385d5b82019-09-11 16:07:14 +0100216
Janos Follath53fc7b02019-11-05 11:56:07 +0000217Base test mbedtls_mpi_lt_mpi_ct (Mixed values) #2
Janos Follathb7e1b492019-10-14 09:21:49 +0100218mbedtls_mpi_lt_mpi_ct:1:"2":1:"-3":0:0
Janos Follath385d5b82019-09-11 16:07:14 +0100219
Janos Follath53fc7b02019-11-05 11:56:07 +0000220Base test mbedtls_mpi_lt_mpi_ct (Mixed values) #3
Janos Follathb7e1b492019-10-14 09:21:49 +0100221mbedtls_mpi_lt_mpi_ct:2:"-2":2:"1C67967269C6":1:0
Janos Follath385d5b82019-09-11 16:07:14 +0100222
Janos Follath53fc7b02019-11-05 11:56:07 +0000223Base test mbedtls_mpi_lt_mpi_ct (X is longer in storage)
Janos Follathb7e1b492019-10-14 09:21:49 +0100224mbedtls_mpi_lt_mpi_ct:3:"2B5":2:"2B5":0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
Janos Follath385d5b82019-09-11 16:07:14 +0100225
Janos Follath53fc7b02019-11-05 11:56:07 +0000226Base test mbedtls_mpi_lt_mpi_ct (Y is longer in storage)
Janos Follathb7e1b492019-10-14 09:21:49 +0100227mbedtls_mpi_lt_mpi_ct:3:"2B5":4:"2B5":0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
Janos Follath385d5b82019-09-11 16:07:14 +0100228
Janos Follathf17c8002019-10-29 15:05:12 +0000229Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #1
Janos Follath0e4792e2019-11-05 11:42:20 +0000230mbedtls_mpi_lt_mpi_ct:2:"7FFFFFFFFFFFFFFF":2:"FF":0:0
Janos Follath0ac95572019-10-14 11:33:39 +0100231
Janos Follathf17c8002019-10-29 15:05:12 +0000232Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #2
Janos Follath0e4792e2019-11-05 11:42:20 +0000233mbedtls_mpi_lt_mpi_ct:2:"8000000000000000":2:"7FFFFFFFFFFFFFFF":0:0
Janos Follath0ac95572019-10-14 11:33:39 +0100234
Janos Follathf17c8002019-10-29 15:05:12 +0000235Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #3
Janos Follath0e4792e2019-11-05 11:42:20 +0000236mbedtls_mpi_lt_mpi_ct:2:"8000000000000000":2:"1":0:0
Janos Follath0ac95572019-10-14 11:33:39 +0100237
Janos Follathf17c8002019-10-29 15:05:12 +0000238Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #4
Janos Follath0e4792e2019-11-05 11:42:20 +0000239mbedtls_mpi_lt_mpi_ct:2:"8000000000000000":2:"0":0:0
Janos Follath0ac95572019-10-14 11:33:39 +0100240
Janos Follathf17c8002019-10-29 15:05:12 +0000241Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #5
Janos Follath0e4792e2019-11-05 11:42:20 +0000242mbedtls_mpi_lt_mpi_ct:2:"FFFFFFFFFFFFFFFF":2:"FF":0:0
Janos Follath0ac95572019-10-14 11:33:39 +0100243
Janos Follathf17c8002019-10-29 15:05:12 +0000244Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #1
Janos Follathf17c8002019-10-29 15:05:12 +0000245mbedtls_mpi_lt_mpi_ct:1:"7FFFFFFF":1:"FF":0:0
246
247Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #2
Janos Follathf17c8002019-10-29 15:05:12 +0000248mbedtls_mpi_lt_mpi_ct:1:"80000000":1:"7FFFFFFF":0:0
249
250Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #3
Janos Follathf17c8002019-10-29 15:05:12 +0000251mbedtls_mpi_lt_mpi_ct:1:"80000000":1:"1":0:0
252
253Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #4
Janos Follathf17c8002019-10-29 15:05:12 +0000254mbedtls_mpi_lt_mpi_ct:1:"80000000":1:"0":0:0
255
256Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #5
Janos Follathf17c8002019-10-29 15:05:12 +0000257mbedtls_mpi_lt_mpi_ct:1:"FFFFFFFF":1:"FF":0:0
258
Janos Follath53fc7b02019-11-05 11:56:07 +0000259Multi-limb mbedtls_mpi_lt_mpi_ct (X<Y, zero vs non-zero MS limb)
Janos Follath0ac95572019-10-14 11:33:39 +0100260mbedtls_mpi_lt_mpi_ct:2:"0FFFFFFFFFFFFFFFF":2:"1FFFFFFFFFFFFFFFF":1:0
261
Janos Follath53fc7b02019-11-05 11:56:07 +0000262Multi-limb mbedtls_mpi_lt_mpi_ct (X>Y, equal MS limbs)
Janos Follath0ac95572019-10-14 11:33:39 +0100263mbedtls_mpi_lt_mpi_ct:2:"-EEFFFFFFFFFFFFFFF1":2:"-EEFFFFFFFFFFFFFFFF":0:0
264
Janos Follath53fc7b02019-11-05 11:56:07 +0000265Multi-limb mbedtls_mpi_lt_mpi_ct (X=Y)
Janos Follath0ac95572019-10-14 11:33:39 +0100266mbedtls_mpi_lt_mpi_ct:2:"EEFFFFFFFFFFFFFFFF":2:"EEFFFFFFFFFFFFFFFF":0:0
267
Janos Follath53fc7b02019-11-05 11:56:07 +0000268Multi-limb mbedtls_mpi_lt_mpi_ct (X=-Y)
Janos Follath0ac95572019-10-14 11:33:39 +0100269mbedtls_mpi_lt_mpi_ct:2:"-EEFFFFFFFFFFFFFFFF":2:"EEFFFFFFFFFFFFFFFF":1:0
270
Janos Follath0b1ae0e2019-11-05 12:19:14 +0000271Multi-limb mbedtls_mpi_lt_mpi_ct (Alternating limbs) #1
272mbedtls_mpi_lt_mpi_ct:2:"11FFFFFFFFFFFFFFFF":2:"FF1111111111111111":1:0
273
274Multi-limb mbedtls_mpi_lt_mpi_ct (Alternating limbs) #2
275mbedtls_mpi_lt_mpi_ct:2:"FF1111111111111111":2:"11FFFFFFFFFFFFFFFF":0:0
276
277Multi-limb mbedtls_mpi_lt_mpi_ct (Alternating limbs) #3
278mbedtls_mpi_lt_mpi_ct:2:"-11FFFFFFFFFFFFFFFF":2:"-FF1111111111111111":0:0
279
280Multi-limb mbedtls_mpi_lt_mpi_ct (Alternating limbs) #4
281mbedtls_mpi_lt_mpi_ct:2:"-FF1111111111111111":2:"-11FFFFFFFFFFFFFFFF":1:0
282
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200283Base test mbedtls_mpi_cmp_abs #1
284mbedtls_mpi_cmp_abs:10:"693":10:"693":0
Paul Bakker367dae42009-06-28 21:50:27 +0000285
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200286Base test mbedtls_mpi_cmp_abs #2
287mbedtls_mpi_cmp_abs:10:"693":10:"692":1
Paul Bakker367dae42009-06-28 21:50:27 +0000288
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200289Base test mbedtls_mpi_cmp_abs #3
290mbedtls_mpi_cmp_abs:10:"693":10:"694":-1
Paul Bakker367dae42009-06-28 21:50:27 +0000291
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200292Base test mbedtls_mpi_cmp_abs (Negative values) #1
293mbedtls_mpi_cmp_abs:10:"-2":10:"-2":0
Paul Bakker367dae42009-06-28 21:50:27 +0000294
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200295Base test mbedtls_mpi_cmp_abs (Negative values) #2
296mbedtls_mpi_cmp_abs:10:"-2":10:"-3":-1
Paul Bakker367dae42009-06-28 21:50:27 +0000297
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200298Base test mbedtls_mpi_cmp_abs (Negative values) #3
299mbedtls_mpi_cmp_abs:10:"-2":10:"-1":1
Paul Bakker367dae42009-06-28 21:50:27 +0000300
Gilles Peskine5fb6f702021-06-08 23:00:17 +0200301Test mbedtls_mpi_cmp_abs: 0 (1 limb) = 0 (1 limb)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200302mbedtls_mpi_cmp_abs:10:"0":10:"0":0
Paul Bakkerba48cb22009-07-12 11:01:32 +0000303
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200304Base test mbedtls_mpi_cmp_abs (Mix values) #1
305mbedtls_mpi_cmp_abs:10:"-2":10:"2":0
Paul Bakker367dae42009-06-28 21:50:27 +0000306
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200307Base test mbedtls_mpi_cmp_abs (Mix values) #2
308mbedtls_mpi_cmp_abs:10:"2":10:"-3":-1
Paul Bakker367dae42009-06-28 21:50:27 +0000309
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200310Base test mbedtls_mpi_cmp_abs (Mix values) #3
311mbedtls_mpi_cmp_abs:10:"-2":10:"1":1
Paul Bakker367dae42009-06-28 21:50:27 +0000312
Gilles Peskine90ec8e82021-06-10 15:17:30 +0200313Copy large negative to large negative
314mbedtls_mpi_copy:"-ca5cadedb01dfaceacc01ade":"-face1e55ca11ab1ecab005e5"
Paul Bakker367dae42009-06-28 21:50:27 +0000315
Gilles Peskine90ec8e82021-06-10 15:17:30 +0200316Copy large negative to large positive
317mbedtls_mpi_copy:"-ca5cadedb01dfaceacc01ade":"face1e55ca11ab1ecab005e5"
Gilles Peskine7428b452020-01-20 21:01:51 +0100318
Gilles Peskine90ec8e82021-06-10 15:17:30 +0200319Copy large negative to small negative
320mbedtls_mpi_copy:"-ca5cadedb01dfaceacc01ade":"-beef"
Gilles Peskine7428b452020-01-20 21:01:51 +0100321
Gilles Peskine90ec8e82021-06-10 15:17:30 +0200322Copy large negative to small positive
323mbedtls_mpi_copy:"-ca5cadedb01dfaceacc01ade":"beef"
Gilles Peskine7428b452020-01-20 21:01:51 +0100324
Gilles Peskine90ec8e82021-06-10 15:17:30 +0200325Copy large negative to zero (1 limb)
326mbedtls_mpi_copy:"-ca5cadedb01dfaceacc01ade":"0"
Gilles Peskine7428b452020-01-20 21:01:51 +0100327
Gilles Peskine90ec8e82021-06-10 15:17:30 +0200328Copy large negative to zero (null)
329mbedtls_mpi_copy:"-ca5cadedb01dfaceacc01ade":""
330
331Copy large positive to large negative
332mbedtls_mpi_copy:"ca5cadedb01dfaceacc01ade":"-face1e55ca11ab1ecab005e5"
333
334Copy large positive to large positive
335mbedtls_mpi_copy:"ca5cadedb01dfaceacc01ade":"face1e55ca11ab1ecab005e5"
336
337Copy large positive to small negative
338mbedtls_mpi_copy:"ca5cadedb01dfaceacc01ade":"-beef"
339
340Copy large positive to small positive
341mbedtls_mpi_copy:"ca5cadedb01dfaceacc01ade":"beef"
342
343Copy large positive to zero (1 limb)
344mbedtls_mpi_copy:"ca5cadedb01dfaceacc01ade":"0"
345
346Copy large positive to zero (null)
347mbedtls_mpi_copy:"ca5cadedb01dfaceacc01ade":""
348
349Copy small negative to large negative
350mbedtls_mpi_copy:"-bead":"-face1e55ca11ab1ecab005e5"
351
352Copy small negative to large positive
353mbedtls_mpi_copy:"-bead":"face1e55ca11ab1ecab005e5"
354
355Copy small negative to small negative
356mbedtls_mpi_copy:"-bead":"-beef"
357
358Copy small negative to small positive
359mbedtls_mpi_copy:"-bead":"beef"
360
361Copy small negative to zero (1 limb)
362mbedtls_mpi_copy:"-bead":"0"
363
364Copy small negative to zero (null)
365mbedtls_mpi_copy:"-bead":""
366
367Copy small positive to large negative
368mbedtls_mpi_copy:"bead":"-face1e55ca11ab1ecab005e5"
369
370Copy small positive to large positive
371mbedtls_mpi_copy:"bead":"face1e55ca11ab1ecab005e5"
372
373Copy small positive to small negative
374mbedtls_mpi_copy:"bead":"-beef"
375
376Copy small positive to small positive
377mbedtls_mpi_copy:"bead":"beef"
378
379Copy small positive to zero (1 limb)
380mbedtls_mpi_copy:"bead":"0"
381
382Copy small positive to zero (null)
383mbedtls_mpi_copy:"bead":""
384
385Copy zero (1 limb) to large negative
386mbedtls_mpi_copy:"0":"-face1e55ca11ab1ecab005e5"
387
388Copy zero (1 limb) to large positive
389mbedtls_mpi_copy:"0":"face1e55ca11ab1ecab005e5"
390
391Copy zero (1 limb) to small negative
392mbedtls_mpi_copy:"0":"-beef"
393
394Copy zero (1 limb) to small positive
395mbedtls_mpi_copy:"0":"beef"
396
397Copy zero (1 limb) to zero (1 limb)
398mbedtls_mpi_copy:"0":"0"
399
400Copy zero (1 limb) to zero (null)
401mbedtls_mpi_copy:"0":""
402
403Copy zero (null) to large negative
404mbedtls_mpi_copy:"":"-face1e55ca11ab1ecab005e5"
405
406Copy zero (null) to large positive
407mbedtls_mpi_copy:"":"face1e55ca11ab1ecab005e5"
408
409Copy zero (null) to small negative
410mbedtls_mpi_copy:"":"-beef"
411
412Copy zero (null) to small positive
413mbedtls_mpi_copy:"":"beef"
414
415Copy zero (null) to zero (1 limb)
416mbedtls_mpi_copy:"":"0"
Gilles Peskine7428b452020-01-20 21:01:51 +0100417
418Copy zero (null) to zero (null)
Gilles Peskine90ec8e82021-06-10 15:17:30 +0200419mbedtls_mpi_copy:"":""
Gilles Peskine7428b452020-01-20 21:01:51 +0100420
Gilles Peskine90ec8e82021-06-10 15:17:30 +0200421Copy self: large negative
422mpi_copy_self:"-ca5cadedb01dfaceacc01ade"
Gilles Peskine7428b452020-01-20 21:01:51 +0100423
Gilles Peskine90ec8e82021-06-10 15:17:30 +0200424Copy self: large positive
425mpi_copy_self:"ca5cadedb01dfaceacc01ade"
Gilles Peskine7428b452020-01-20 21:01:51 +0100426
Gilles Peskine90ec8e82021-06-10 15:17:30 +0200427Copy self: small negative
428mpi_copy_self:"-bead"
Gilles Peskine7428b452020-01-20 21:01:51 +0100429
Gilles Peskine90ec8e82021-06-10 15:17:30 +0200430Copy self: small positive
431mpi_copy_self:"bead"
Paul Bakkere896fea2009-07-06 06:40:23 +0000432
Gilles Peskine7428b452020-01-20 21:01:51 +0100433Copy self: zero (1 limb)
Gilles Peskine90ec8e82021-06-10 15:17:30 +0200434mpi_copy_self:"0"
435
436Copy self: zero (null)
437mpi_copy_self:""
Paul Bakker367dae42009-06-28 21:50:27 +0000438
Gilles Peskinefc1eeef2021-06-10 22:29:57 +0200439Swap large negative with large negative
440mbedtls_mpi_swap:"-ca5cadedb01dfaceacc01ade":"-face1e55ca11ab1ecab005e5"
Gilles Peskine7428b452020-01-20 21:01:51 +0100441
Gilles Peskinefc1eeef2021-06-10 22:29:57 +0200442Swap large negative with large positive
443mbedtls_mpi_swap:"-ca5cadedb01dfaceacc01ade":"face1e55ca11ab1ecab005e5"
Gilles Peskine7428b452020-01-20 21:01:51 +0100444
Gilles Peskinefc1eeef2021-06-10 22:29:57 +0200445Swap large negative with small negative
446mbedtls_mpi_swap:"-ca5cadedb01dfaceacc01ade":"-beef"
Gilles Peskine7428b452020-01-20 21:01:51 +0100447
Gilles Peskinefc1eeef2021-06-10 22:29:57 +0200448Swap large negative with small positive
449mbedtls_mpi_swap:"-ca5cadedb01dfaceacc01ade":"beef"
Gilles Peskine7428b452020-01-20 21:01:51 +0100450
Gilles Peskinefc1eeef2021-06-10 22:29:57 +0200451Swap large negative with zero (1 limb)
452mbedtls_mpi_swap:"-ca5cadedb01dfaceacc01ade":"0"
Gilles Peskine7428b452020-01-20 21:01:51 +0100453
Gilles Peskinefc1eeef2021-06-10 22:29:57 +0200454Swap large negative with zero (null)
455mbedtls_mpi_swap:"-ca5cadedb01dfaceacc01ade":""
456
457Swap large positive with large negative
458mbedtls_mpi_swap:"ca5cadedb01dfaceacc01ade":"-face1e55ca11ab1ecab005e5"
459
460Swap large positive with large positive
461mbedtls_mpi_swap:"ca5cadedb01dfaceacc01ade":"face1e55ca11ab1ecab005e5"
462
463Swap large positive with small negative
464mbedtls_mpi_swap:"ca5cadedb01dfaceacc01ade":"-beef"
465
466Swap large positive with small positive
467mbedtls_mpi_swap:"ca5cadedb01dfaceacc01ade":"beef"
468
469Swap large positive with zero (1 limb)
470mbedtls_mpi_swap:"ca5cadedb01dfaceacc01ade":"0"
471
472Swap large positive with zero (null)
473mbedtls_mpi_swap:"ca5cadedb01dfaceacc01ade":""
474
475Swap small negative with large negative
476mbedtls_mpi_swap:"-bead":"-face1e55ca11ab1ecab005e5"
477
478Swap small negative with large positive
479mbedtls_mpi_swap:"-bead":"face1e55ca11ab1ecab005e5"
480
481Swap small negative with small negative
482mbedtls_mpi_swap:"-bead":"-beef"
483
484Swap small negative with small positive
485mbedtls_mpi_swap:"-bead":"beef"
486
487Swap small negative with zero (1 limb)
488mbedtls_mpi_swap:"-bead":"0"
489
490Swap small negative with zero (null)
491mbedtls_mpi_swap:"-bead":""
492
493Swap small positive with large negative
494mbedtls_mpi_swap:"bead":"-face1e55ca11ab1ecab005e5"
495
496Swap small positive with large positive
497mbedtls_mpi_swap:"bead":"face1e55ca11ab1ecab005e5"
498
499Swap small positive with small negative
500mbedtls_mpi_swap:"bead":"-beef"
501
502Swap small positive with small positive
503mbedtls_mpi_swap:"bead":"beef"
504
505Swap small positive with zero (1 limb)
506mbedtls_mpi_swap:"bead":"0"
507
508Swap small positive with zero (null)
509mbedtls_mpi_swap:"bead":""
510
511Swap zero (1 limb) with large negative
512mbedtls_mpi_swap:"0":"-face1e55ca11ab1ecab005e5"
513
514Swap zero (1 limb) with large positive
515mbedtls_mpi_swap:"0":"face1e55ca11ab1ecab005e5"
516
517Swap zero (1 limb) with small negative
518mbedtls_mpi_swap:"0":"-beef"
519
520Swap zero (1 limb) with small positive
521mbedtls_mpi_swap:"0":"beef"
522
523Swap zero (1 limb) with zero (1 limb)
524mbedtls_mpi_swap:"0":"0"
525
526Swap zero (1 limb) with zero (null)
527mbedtls_mpi_swap:"0":""
528
529Swap zero (null) with large negative
530mbedtls_mpi_swap:"":"-face1e55ca11ab1ecab005e5"
531
532Swap zero (null) with large positive
533mbedtls_mpi_swap:"":"face1e55ca11ab1ecab005e5"
534
535Swap zero (null) with small negative
536mbedtls_mpi_swap:"":"-beef"
537
538Swap zero (null) with small positive
539mbedtls_mpi_swap:"":"beef"
540
541Swap zero (null) with zero (1 limb)
542mbedtls_mpi_swap:"":"0"
Gilles Peskine7428b452020-01-20 21:01:51 +0100543
544Swap zero (null) with zero (null)
Gilles Peskinefc1eeef2021-06-10 22:29:57 +0200545mbedtls_mpi_swap:"":""
Gilles Peskine7428b452020-01-20 21:01:51 +0100546
Gilles Peskinefc1eeef2021-06-10 22:29:57 +0200547Swap self: large negative
548mpi_swap_self:"-ca5cadedb01dfaceacc01ade"
Gilles Peskine7428b452020-01-20 21:01:51 +0100549
Gilles Peskinefc1eeef2021-06-10 22:29:57 +0200550Swap self: large positive
551mpi_swap_self:"ca5cadedb01dfaceacc01ade"
Gilles Peskine7428b452020-01-20 21:01:51 +0100552
Gilles Peskinefc1eeef2021-06-10 22:29:57 +0200553Swap self: small negative
554mpi_swap_self:"-bead"
Gilles Peskine7428b452020-01-20 21:01:51 +0100555
Gilles Peskinefc1eeef2021-06-10 22:29:57 +0200556Swap self: small positive
557mpi_swap_self:"bead"
Gilles Peskine7428b452020-01-20 21:01:51 +0100558
Gilles Peskinefc1eeef2021-06-10 22:29:57 +0200559Swap self: zero (1 limb)
560mpi_swap_self:"0"
Gilles Peskine7428b452020-01-20 21:01:51 +0100561
Gilles Peskinefc1eeef2021-06-10 22:29:57 +0200562Swap self: zero (null)
Gilles Peskine7428b452020-01-20 21:01:51 +0100563mpi_swap_self:""
Paul Bakker367dae42009-06-28 21:50:27 +0000564
Gilles Peskinea9da0932020-02-03 16:18:30 +0100565Shrink 2 limbs in a buffer of size 2 to 4
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200566mbedtls_mpi_shrink:2:2:4:4
Manuel Pégourié-Gonnard58681632013-11-21 10:39:37 +0100567
Gilles Peskinea9da0932020-02-03 16:18:30 +0100568Shrink 2 limbs in a buffer of size 4 to 4
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200569mbedtls_mpi_shrink:4:2:4:4
Manuel Pégourié-Gonnard58681632013-11-21 10:39:37 +0100570
Gilles Peskinea9da0932020-02-03 16:18:30 +0100571Shrink 2 limbs in a buffer of size 8 to 4
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200572mbedtls_mpi_shrink:8:2:4:4
Manuel Pégourié-Gonnard58681632013-11-21 10:39:37 +0100573
Gilles Peskinea9da0932020-02-03 16:18:30 +0100574Shrink 4 limbs in a buffer of size 8 to 4
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200575mbedtls_mpi_shrink:8:4:4:4
Manuel Pégourié-Gonnard58681632013-11-21 10:39:37 +0100576
Gilles Peskinea9da0932020-02-03 16:18:30 +0100577Shrink 6 limbs in a buffer of size 8 to 4 yielding 6
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200578mbedtls_mpi_shrink:8:6:4:6
Manuel Pégourié-Gonnard58681632013-11-21 10:39:37 +0100579
Gilles Peskinea9da0932020-02-03 16:18:30 +0100580Shrink 2 limbs in a buffer of size 4 to 0 yielding 2
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200581mbedtls_mpi_shrink:4:2:0:2
Manuel Pégourié-Gonnard58681632013-11-21 10:39:37 +0100582
Gilles Peskinea9da0932020-02-03 16:18:30 +0100583Shrink 1 limbs in a buffer of size 4 to 0 yielding 1
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200584mbedtls_mpi_shrink:4:1:0:1
Manuel Pégourié-Gonnard58681632013-11-21 10:39:37 +0100585
Gilles Peskinea9da0932020-02-03 16:18:30 +0100586Shrink 0 limbs in a buffer of size 4 to 0 yielding 1
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200587mbedtls_mpi_shrink:4:0:0:1
Manuel Pégourié-Gonnard58681632013-11-21 10:39:37 +0100588
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200589Test mbedtls_mpi_safe_cond_assign #1
590mbedtls_mpi_safe_cond_assign:+1:"01":+1:"02"
Manuel Pégourié-Gonnard71c2c212013-11-21 16:56:39 +0100591
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200592Test mbedtls_mpi_safe_cond_assign #2
593mbedtls_mpi_safe_cond_assign:+1:"FF000000000000000001":+1:"02"
Manuel Pégourié-Gonnard71c2c212013-11-21 16:56:39 +0100594
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200595Test mbedtls_mpi_safe_cond_assign #3
596mbedtls_mpi_safe_cond_assign:+1:"01":+1:"FF000000000000000002"
Manuel Pégourié-Gonnard3e3d2b82013-11-21 21:12:26 +0100597
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200598Test mbedtls_mpi_safe_cond_assign #4
599mbedtls_mpi_safe_cond_assign:+1:"01":-1:"02"
Manuel Pégourié-Gonnard3e3d2b82013-11-21 21:12:26 +0100600
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200601Test mbedtls_mpi_safe_cond_assign #5
602mbedtls_mpi_safe_cond_assign:-1:"01":+1:"02"
Manuel Pégourié-Gonnard3e3d2b82013-11-21 21:12:26 +0100603
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200604Test mbedtls_mpi_safe_cond_assign #6
605mbedtls_mpi_safe_cond_assign:-1:"01":-1:"02"
Manuel Pégourié-Gonnard71c2c212013-11-21 16:56:39 +0100606
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200607Test mbedtls_mpi_safe_cond_swap #1
608mbedtls_mpi_safe_cond_swap:+1:"01":+1:"02"
Manuel Pégourié-Gonnarda60fe892013-12-04 21:41:50 +0100609
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200610Test mbedtls_mpi_safe_cond_swap #2
611mbedtls_mpi_safe_cond_swap:+1:"FF000000000000000001":+1:"02"
Manuel Pégourié-Gonnarda60fe892013-12-04 21:41:50 +0100612
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200613Test mbedtls_mpi_safe_cond_swap #3
614mbedtls_mpi_safe_cond_swap:+1:"01":+1:"FF000000000000000002"
Manuel Pégourié-Gonnarda60fe892013-12-04 21:41:50 +0100615
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200616Test mbedtls_mpi_safe_cond_swap #4
617mbedtls_mpi_safe_cond_swap:+1:"01":-1:"02"
Manuel Pégourié-Gonnarda60fe892013-12-04 21:41:50 +0100618
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200619Test mbedtls_mpi_safe_cond_swap #5
620mbedtls_mpi_safe_cond_swap:-1:"01":+1:"02"
Manuel Pégourié-Gonnarda60fe892013-12-04 21:41:50 +0100621
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200622Test mbedtls_mpi_safe_cond_swap #6
623mbedtls_mpi_safe_cond_swap:-1:"01":-1:"02"
Manuel Pégourié-Gonnarda60fe892013-12-04 21:41:50 +0100624
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200625Base test mbedtls_mpi_add_abs #1
626mbedtls_mpi_add_abs:10:"12345678":10:"642531":10:"12988209"
Paul Bakker367dae42009-06-28 21:50:27 +0000627
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200628Base test mbedtls_mpi_add_abs #2
629mbedtls_mpi_add_abs:10:"-12345678":10:"642531":10:"12988209"
Paul Bakker367dae42009-06-28 21:50:27 +0000630
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200631Base test mbedtls_mpi_add_abs #3
632mbedtls_mpi_add_abs:10:"12345678":10:"-642531":10:"12988209"
Paul Bakker367dae42009-06-28 21:50:27 +0000633
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200634Base test mbedtls_mpi_add_abs #4
635mbedtls_mpi_add_abs:10:"-12345678":10:"-642531":10:"12988209"
Paul Bakker367dae42009-06-28 21:50:27 +0000636
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200637Test mbedtls_mpi_add_abs #1
638mbedtls_mpi_add_abs:10:"-643808006803554439230129854961492699151386107534013432918073439524138264842370630061369715394739134090922937332590384720397133335969549256322620979036686633213903952966175107096769180017646161851573147596390153":10:"56125680981752282333498088313568935051383833838594899821664631784577337171193624243181360054669678410455329112434552942717084003541384594864129940145043086760031292483340068923506115878221189886491132772739661669044958531131327771":10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924"
Paul Bakker367dae42009-06-28 21:50:27 +0000639
Gilles Peskineefa2ac82019-09-19 21:20:26 +0200640Regression mbedtls_mpi_add_abs (add small to very large MPI with carry rollover) [#1]
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200641mbedtls_mpi_add_abs:16:"FFFFFFFFFFFFFFFFFFFFFFFFFFFFF8":16:"08":16:"1000000000000000000000000000000"
Paul Bakker17a97902012-09-17 08:44:35 +0000642
Gilles Peskineefa2ac82019-09-19 21:20:26 +0200643Regression mbedtls_mpi_add_abs (add small to very large MPI with carry rollover) [#2]
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200644mbedtls_mpi_add_abs:16:"08":16:"FFFFFFFFFFFFFFFFFFFFFFFFFFFFF8":16:"1000000000000000000000000000000"
Paul Bakker17a97902012-09-17 08:44:35 +0000645
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200646Base test mbedtls_mpi_add_mpi #1
647mbedtls_mpi_add_mpi:10:"12345678":10:"642531":10:"12988209"
Paul Bakker367dae42009-06-28 21:50:27 +0000648
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200649Base test mbedtls_mpi_add_mpi #2
650mbedtls_mpi_add_mpi:10:"-12345678":10:"642531":10:"-11703147"
Paul Bakker367dae42009-06-28 21:50:27 +0000651
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200652Base test mbedtls_mpi_add_mpi #3
653mbedtls_mpi_add_mpi:10:"12345678":10:"-642531":10:"11703147"
Paul Bakker367dae42009-06-28 21:50:27 +0000654
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200655Base test mbedtls_mpi_add_mpi #4
656mbedtls_mpi_add_mpi:10:"-12345678":10:"-642531":10:"-12988209"
Paul Bakker367dae42009-06-28 21:50:27 +0000657
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200658Test mbedtls_mpi_add_mpi #1
659mbedtls_mpi_add_mpi:10:"203956878356401977405765866929034577280193993314348263094772646453283062722701277632936616063144088173312372882677123879538709400158306567338328279154499698366071906766440037074217117805690872792848149112022286332144876183376326512083574821647933992961249917319836219304274280243803104015000563790123":10:"531872289054204184185084734375133399408303613982130856645299464930952178606045848877129147820387996428175564228204785846141207532462936339834139412401975338705794646595487324365194792822189473092273993580587964571659678084484152603881094176995594813302284232006001752128168901293560051833646881436219":10:"735829167410606161590850601304167976688497607296479119740072111384235241328747126510065763883532084601487937110881909725679916932621242907172467691556475037071866553361927361439411910627880345885122142692610250903804554267860479115964668998643528806263534149325837971432443181537363155848647445226342"
Paul Bakker367dae42009-06-28 21:50:27 +0000660
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200661Test mbedtls_mpi_add_mpi #2
662mbedtls_mpi_add_mpi:10:"643808006803554439230129854961492699151386107534013432918073439524138264842370630061369715394739134090922937332590384720397133335969549256322620979036686633213903952966175107096769180017646161851573147596390153":10:"56125680981752282333498088313568935051383833838594899821664631784577337171193624243181360054669678410455329112434552942717084003541384594864129940145043086760031292483340068923506115878221189886491132772739661669044958531131327771":10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924"
Paul Bakker367dae42009-06-28 21:50:27 +0000663
Janos Follath044a86b2015-10-25 10:58:03 +0100664Base test mbedtls_mpi_add_mpi inplace #1
665mbedtls_mpi_add_mpi_inplace:10:"12345678":10:"24691356"
666
Darryl Green11999bb2018-03-13 15:22:58 +0000667Test mbedtls_mpi_add_mpi inplace #2
Janos Follath044a86b2015-10-25 10:58:03 +0100668mbedtls_mpi_add_mpi_inplace:10:"643808006803554439230129854961492699151386107534013432918073439524138264842370630061369715394739134090922937332590384720397133335969549256322620979036686633213903952966175107096769180017646161851573147596390153":10:"1287616013607108878460259709922985398302772215068026865836146879048276529684741260122739430789478268181845874665180769440794266671939098512645241958073373266427807905932350214193538360035292323703146295192780306"
669
Darryl Green11999bb2018-03-13 15:22:58 +0000670Test mbedtls_mpi_add_mpi inplace #3
Janos Follath6c922682015-10-30 17:43:11 +0100671mbedtls_mpi_add_mpi_inplace:16:"ffffffffffffffffffffffffffffffff":16:"01fffffffffffffffffffffffffffffffe"
672
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200673Test mbedtls_mpi_add_int #1
674mbedtls_mpi_add_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":9871232:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227022647561"
Paul Bakker367dae42009-06-28 21:50:27 +0000675
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200676Test mbedtls_mpi_add_int #2
677mbedtls_mpi_add_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":-9871232:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227002905097"
Paul Bakker367dae42009-06-28 21:50:27 +0000678
Gilles Peskine43e89e12021-01-27 22:24:30 +0100679Base test mbedtls_mpi_sub_abs #1 (|B| > |A|)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200680mbedtls_mpi_sub_abs:10:"5":10:"7":10:"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
Paul Bakker367dae42009-06-28 21:50:27 +0000681
Gilles Peskine43e89e12021-01-27 22:24:30 +0100682Base test mbedtls_mpi_sub_abs #2 (|B| > |A|)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200683mbedtls_mpi_sub_abs:10:"-5":10:"-7":10:"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
Paul Bakker367dae42009-06-28 21:50:27 +0000684
Gilles Peskine43e89e12021-01-27 22:24:30 +0100685Base test mbedtls_mpi_sub_abs #3 (|B| > |A|)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200686mbedtls_mpi_sub_abs:10:"-5":10:"7":10:"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
Paul Bakker367dae42009-06-28 21:50:27 +0000687
Gilles Peskine43e89e12021-01-27 22:24:30 +0100688Base test mbedtls_mpi_sub_abs #4 (|B| > |A|)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200689mbedtls_mpi_sub_abs:10:"5":10:"-7":10:"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
Paul Bakker367dae42009-06-28 21:50:27 +0000690
Gilles Peskine43e89e12021-01-27 22:24:30 +0100691Base test mbedtls_mpi_sub_abs #1 (|B| >> |A| with more limbs)
692mbedtls_mpi_sub_abs:10:"5":16:"123456789abcdef01":10:"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
693
694Base test mbedtls_mpi_sub_abs #2 (|B| >> |A| with more limbs)
695mbedtls_mpi_sub_abs:10:"-5":16:"-123456789abcdef01":10:"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
696
697Base test mbedtls_mpi_sub_abs #3 (|B| >> |A| with more limbs)
698mbedtls_mpi_sub_abs:10:"-5":16:"123456789abcdef01":10:"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
699
700Base test mbedtls_mpi_sub_abs #4 (|B| >> |A| with more limbs)
701mbedtls_mpi_sub_abs:10:"5":16:"-123456789abcdef01":10:"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
702
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200703Base test mbedtls_mpi_sub_abs #1
704mbedtls_mpi_sub_abs:10:"7":10:"5":10:"2":0
Paul Bakker367dae42009-06-28 21:50:27 +0000705
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200706Base test mbedtls_mpi_sub_abs #2
707mbedtls_mpi_sub_abs:10:"-7":10:"-5":10:"2":0
Paul Bakker367dae42009-06-28 21:50:27 +0000708
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200709Base test mbedtls_mpi_sub_abs #3
710mbedtls_mpi_sub_abs:10:"-7":10:"5":10:"2":0
Paul Bakker367dae42009-06-28 21:50:27 +0000711
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200712Base test mbedtls_mpi_sub_abs #4
713mbedtls_mpi_sub_abs:10:"7":10:"-5":10:"2":0
Paul Bakker367dae42009-06-28 21:50:27 +0000714
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200715Test mbedtls_mpi_sub_abs #1
716mbedtls_mpi_sub_abs:16:"FFFFFFFFFF":16:"01":16:"FFFFFFFFFE":0
Paul Bakkerc847f072010-01-18 21:26:30 +0000717
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200718Test mbedtls_mpi_sub_abs #2
719mbedtls_mpi_sub_abs:16:"FFFFFFFFF0":16:"01":16:"FFFFFFFFEF":0
Paul Bakkerc847f072010-01-18 21:26:30 +0000720
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200721Test mbedtls_mpi_sub_abs #3
722mbedtls_mpi_sub_abs:16:"FF00000000":16:"0F00000000":16:"F000000000":0
Paul Bakkerc847f072010-01-18 21:26:30 +0000723
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200724Test mbedtls_mpi_sub_abs #4
725mbedtls_mpi_sub_abs:16:"FF00000000":16:"0F00000001":16:"EFFFFFFFFF":0
Paul Bakkerc847f072010-01-18 21:26:30 +0000726
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200727Base test mbedtls_mpi_sub_mpi #1 (Test with negative result)
728mbedtls_mpi_sub_mpi:10:"5":10:"7":10:"-2"
Paul Bakker367dae42009-06-28 21:50:27 +0000729
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200730Base test mbedtls_mpi_sub_mpi #2 (Test with negative inputs)
731mbedtls_mpi_sub_mpi:10:"-5":10:"-7":10:"2"
Paul Bakker367dae42009-06-28 21:50:27 +0000732
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200733Base test mbedtls_mpi_sub_mpi #3 (Test with negative base)
734mbedtls_mpi_sub_mpi:10:"-5":10:"7":10:"-12"
Paul Bakker367dae42009-06-28 21:50:27 +0000735
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200736Base test mbedtls_mpi_sub_mpi #4 (Test with negative subtraction)
737mbedtls_mpi_sub_mpi:10:"5":10:"-7":10:"12"
Paul Bakker367dae42009-06-28 21:50:27 +0000738
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200739Test mbedtls_mpi_sub_mpi #1
740mbedtls_mpi_sub_mpi:10:"531872289054204184185084734375133399408303613982130856645299464930952178606045848877129147820387996428175564228204785846141207532462936339834139412401975338705794646595487324365194792822189473092273993580587964571659678084484152603881094176995594813302284232006001752128168901293560051833646881436219":10:"203956878356401977405765866929034577280193993314348263094772646453283062722701277632936616063144088173312372882677123879538709400158306567338328279154499698366071906766440037074217117805690872792848149112022286332144876183376326512083574821647933992961249917319836219304274280243803104015000563790123":10:"327915410697802206779318867446098822128109620667782593550526818477669115883344571244192531757243908254863191345527661966602498132304629772495811133247475640339722739829047287290977675016498600299425844468565678239514801901107826091797519355347660820341034314686165532823894621049756947818646317646096"
Paul Bakker367dae42009-06-28 21:50:27 +0000741
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200742Test mbedtls_mpi_sub_mpi #2 (Test for negative result)
743mbedtls_mpi_sub_mpi:10:"643808006803554439230129854961492699151386107534013432918073439524138264842370630061369715394739134090922937332590384720397133335969549256322620979036686633213903952966175107096769180017646161851573147596390153":10:"56125680981752282333498088313568935051383833838594899821664631784577337171193624243181360054669678410455329112434552942717084003541384594864129940145043086760031292483340068923506115878221189886491132772739661669044958531131327771":10:"-56125680981752282332854280306765380612153703983633407122513245677043323738275550803657221789827307780393959397039813808626161066208794210143732806809073537503708671504303382290292211925255014779394363592722015507193385383534937618"
Paul Bakker367dae42009-06-28 21:50:27 +0000744
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200745Test mbedtls_mpi_sub_int #1
746mbedtls_mpi_sub_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":-9871232:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227022647561"
Paul Bakker367dae42009-06-28 21:50:27 +0000747
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200748Test mbedtls_mpi_sub_int #2
749mbedtls_mpi_sub_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":9871232:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227002905097"
Paul Bakker367dae42009-06-28 21:50:27 +0000750
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200751Test mbedtls_mpi_shift_l #1
752mbedtls_mpi_shift_l:10:"64":1:10:"128"
Paul Bakker367dae42009-06-28 21:50:27 +0000753
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200754Test mbedtls_mpi_shift_l #2
755mbedtls_mpi_shift_l:10:"658385546911733550164516088405238961461880256029834598831972039469421755117818013653494814438931957316403111689187691446941406788869098983929874080332195117465344344350008880118042764943201875870917468833709791733282363323948005998269792207":37:10:"90487820548639020691922304619723076305400961610119884872723190678642804168382367856686134531865643066983017249846286450251272364365605022750900439437595355052945035915579216557330505438734955340526145476988250171181404966718289259743378883640981192704"
Paul Bakker367dae42009-06-28 21:50:27 +0000756
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200757Test mbedtls_mpi_shift_r #1
758mbedtls_mpi_shift_r:10:"128":1:10:"64"
Paul Bakker367dae42009-06-28 21:50:27 +0000759
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200760Test mbedtls_mpi_shift_r #2
761mbedtls_mpi_shift_r:10:"120815570979701484704906977000760567182871429114712069861589084706550626575967516787438008593490722779337547394120718248995900363209947025063336882559539208430319216688889117222633155838468458047056355241515415159736436403445579777425189969":45:10:"3433785053053426415343295076376096153094051405637175942660777670498379921354157795219578264137985649407981651226029903483433269093721578004287291678324982297860947730012217028349628999378309630601971640587504883789518896817457"
Paul Bakker367dae42009-06-28 21:50:27 +0000762
Gilles Peskineefa2ac82019-09-19 21:20:26 +0200763Test mbedtls_mpi_shift_r #4 [#1]
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200764mbedtls_mpi_shift_r:16:"FFFFFFFFFFFFFFFF":63:16:"01"
Manuel Pégourié-Gonnarde44ec102012-11-17 12:42:51 +0100765
Gilles Peskineefa2ac82019-09-19 21:20:26 +0200766Test mbedtls_mpi_shift_r #4 [#2]
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200767mbedtls_mpi_shift_r:16:"FFFFFFFFFFFFFFFF":64:16:"00"
Manuel Pégourié-Gonnarde44ec102012-11-17 12:42:51 +0100768
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200769Test mbedtls_mpi_shift_r #6
770mbedtls_mpi_shift_r:16:"FFFFFFFFFFFFFFFF":65:16:"00"
Manuel Pégourié-Gonnarde44ec102012-11-17 12:42:51 +0100771
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200772Test mbedtls_mpi_shift_r #7
773mbedtls_mpi_shift_r:16:"FFFFFFFFFFFFFFFF":128:16:"00"
Manuel Pégourié-Gonnarde44ec102012-11-17 12:42:51 +0100774
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200775Base test mbedtls_mpi_mul_mpi #1
776mbedtls_mpi_mul_mpi:10:"5":10:"7":10:"35"
Paul Bakker367dae42009-06-28 21:50:27 +0000777
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200778Base test mbedtls_mpi_mul_mpi #2
779mbedtls_mpi_mul_mpi:10:"-5":10:"7":10:"-35"
Paul Bakker367dae42009-06-28 21:50:27 +0000780
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200781Base test mbedtls_mpi_mul_mpi #3
782mbedtls_mpi_mul_mpi:10:"5":10:"-7":10:"-35"
Paul Bakker367dae42009-06-28 21:50:27 +0000783
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200784Base test mbedtls_mpi_mul_mpi #4
785mbedtls_mpi_mul_mpi:10:"-5":10:"-7":10:"35"
Paul Bakker367dae42009-06-28 21:50:27 +0000786
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200787Test mbedtls_mpi_mul_mpi #1
788mbedtls_mpi_mul_mpi:10:"28911710017320205966167820725313234361535259163045867986277478145081076845846493521348693253530011243988160148063424837895971948244167867236923919506962312185829914482993478947657472351461336729641485069323635424692930278888923450060546465883490944265147851036817433970984747733020522259537":10:"16471581891701794764704009719057349996270239948993452268812975037240586099924712715366967486587417803753916334331355573776945238871512026832810626226164346328807407669366029926221415383560814338828449642265377822759768011406757061063524768140567867350208554439342320410551341675119078050953":10:"476221599179424887669515829231223263939342135681791605842540429321038144633323941248706405375723482912535192363845116154236465184147599697841273424891410002781967962186252583311115708128167171262206919514587899883547279647025952837516324649656913580411611297312678955801899536937577476819667861053063432906071315727948826276092545739432005962781562403795455162483159362585281248265005441715080197800335757871588045959754547836825977169125866324128449699877076762316768127816074587766799018626179199776188490087103869164122906791440101822594139648973454716256383294690817576188761"
Paul Bakker367dae42009-06-28 21:50:27 +0000789
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200790Test mbedtls_mpi_mul_int #1
791mbedtls_mpi_mul_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":9871232:10:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":"=="
Paul Bakker367dae42009-06-28 21:50:27 +0000792
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200793Test mbedtls_mpi_mul_int #2 (Unsigned, thus failure)
794mbedtls_mpi_mul_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":-9871232:10:"-20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":"!="
Paul Bakker367dae42009-06-28 21:50:27 +0000795
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200796Test mbedtls_mpi_mul_int #3
797mbedtls_mpi_mul_int:10:"-2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":9871232:10:"-20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":"=="
Paul Bakker367dae42009-06-28 21:50:27 +0000798
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200799Test mbedtls_mpi_mul_int #4 (Unsigned, thus failure)
800mbedtls_mpi_mul_int:10:"-2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":-9871232:10:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":"!="
Paul Bakker367dae42009-06-28 21:50:27 +0000801
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200802Base test mbedtls_mpi_div_mpi #1
803mbedtls_mpi_div_mpi:10:"1000":10:"13":10:"76":10:"12":0
Paul Bakker367dae42009-06-28 21:50:27 +0000804
Gilles Peskine5fb6f702021-06-08 23:00:17 +0200805Base test mbedtls_mpi_div_mpi #2 (Divide by zero (1 limb))
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200806mbedtls_mpi_div_mpi:10:"1000":10:"0":10:"1":10:"1":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO
Paul Bakker367dae42009-06-28 21:50:27 +0000807
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200808Base test mbedtls_mpi_div_mpi #3
809mbedtls_mpi_div_mpi:10:"1000":10:"-13":10:"-76":10:"12":0
Paul Bakker367dae42009-06-28 21:50:27 +0000810
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200811Test mbedtls_mpi_div_mpi #1
812mbedtls_mpi_div_mpi:10:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":10:"34":10:"592148724779947824773845002981655249516095268533053127589864347174804198178334111238460803":10:"26":0
Paul Bakker367dae42009-06-28 21:50:27 +0000813
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200814Test mbedtls_mpi_div_mpi #2
815mbedtls_mpi_div_mpi:10:"476221599179424887669515829231223263939342135681791605842540429321038144633323941248706405375723482912535192363845116154236465184147599697841273424891410002781967962186252583311115708128167171262206919514587899883547279647025952837516324649656913580411611297312678955801899536937577476819667861053063432906071315727948826276092545739432005962781562403795455162483159362585281248265005441715080197800335757871588045959754547836825977169125866324128449699877076762316768127816074587766799018626179199776188490087103869164122906791440101822594139648973454716256383294690817576188762":10:"28911710017320205966167820725313234361535259163045867986277478145081076845846493521348693253530011243988160148063424837895971948244167867236923919506962312185829914482993478947657472351461336729641485069323635424692930278888923450060546465883490944265147851036817433970984747733020522259537":10:"16471581891701794764704009719057349996270239948993452268812975037240586099924712715366967486587417803753916334331355573776945238871512026832810626226164346328807407669366029926221415383560814338828449642265377822759768011406757061063524768140567867350208554439342320410551341675119078050953":10:"1":0
Paul Bakker367dae42009-06-28 21:50:27 +0000816
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200817Test mbedtls_mpi_div_mpi #3
818mbedtls_mpi_div_mpi:10:"1000":10:"7":10:"142":10:"6":0
Paul Bakkerba48cb22009-07-12 11:01:32 +0000819
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200820Test mbedtls_mpi_div_mpi #4
821mbedtls_mpi_div_mpi:10:"777":10:"7":10:"111":10:"0":0
Paul Bakkerba48cb22009-07-12 11:01:32 +0000822
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200823Base test mbedtls_mpi_div_int #1
824mbedtls_mpi_div_int:10:"1000":13:10:"76":10:"12":0
Paul Bakker367dae42009-06-28 21:50:27 +0000825
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200826Base test mbedtls_mpi_div_int #2 (Divide by zero)
827mbedtls_mpi_div_int:10:"1000":0:10:"1":10:"1":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO
Paul Bakker367dae42009-06-28 21:50:27 +0000828
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200829Base test mbedtls_mpi_div_int #3
830mbedtls_mpi_div_int:10:"1000":-13:10:"-76":10:"12":0
Paul Bakker367dae42009-06-28 21:50:27 +0000831
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200832Test mbedtls_mpi_div_int #1
833mbedtls_mpi_div_int:10:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":34:10:"592148724779947824773845002981655249516095268533053127589864347174804198178334111238460803":10:"26":0
Paul Bakker367dae42009-06-28 21:50:27 +0000834
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200835Test mbedtls_mpi_div_int #2
836mbedtls_mpi_div_int:10:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":-34:10:"-592148724779947824773845002981655249516095268533053127589864347174804198178334111238460803":10:"26":0
Paul Bakker367dae42009-06-28 21:50:27 +0000837
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200838Base test mbedtls_mpi_mod_mpi #1
839mbedtls_mpi_mod_mpi:10:"1000":10:"13":10:"12":0
Paul Bakker367dae42009-06-28 21:50:27 +0000840
Gilles Peskine5fb6f702021-06-08 23:00:17 +0200841Base test mbedtls_mpi_mod_mpi #2 (Divide by zero (1 limb))
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200842mbedtls_mpi_mod_mpi:10:"1000":10:"0":10:"0":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO
Paul Bakker367dae42009-06-28 21:50:27 +0000843
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200844Base test mbedtls_mpi_mod_mpi #3
845mbedtls_mpi_mod_mpi:10:"-1000":10:"13":10:"1":0
Paul Bakker367dae42009-06-28 21:50:27 +0000846
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200847Base test mbedtls_mpi_mod_mpi #4 (Negative modulo)
848mbedtls_mpi_mod_mpi:10:"1000":10:"-13":10:"-1":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
Paul Bakker367dae42009-06-28 21:50:27 +0000849
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200850Base test mbedtls_mpi_mod_mpi #5 (Negative modulo)
851mbedtls_mpi_mod_mpi:10:"-1000":10:"-13":10:"-12":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
Paul Bakker367dae42009-06-28 21:50:27 +0000852
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200853Base test mbedtls_mpi_mod_int #1
854mbedtls_mpi_mod_int:10:"1000":13:12:0
Paul Bakker367dae42009-06-28 21:50:27 +0000855
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200856Base test mbedtls_mpi_mod_int #2 (Divide by zero)
857mbedtls_mpi_mod_int:10:"1000":0:0:MBEDTLS_ERR_MPI_DIVISION_BY_ZERO
Paul Bakker367dae42009-06-28 21:50:27 +0000858
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200859Base test mbedtls_mpi_mod_int #3
860mbedtls_mpi_mod_int:10:"-1000":13:1:0
Paul Bakker367dae42009-06-28 21:50:27 +0000861
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200862Base test mbedtls_mpi_mod_int #4 (Negative modulo)
863mbedtls_mpi_mod_int:10:"1000":-13:0:MBEDTLS_ERR_MPI_NEGATIVE_VALUE
Paul Bakker367dae42009-06-28 21:50:27 +0000864
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200865Base test mbedtls_mpi_mod_int #5 (Negative modulo)
866mbedtls_mpi_mod_int:10:"-1000":-13:0:MBEDTLS_ERR_MPI_NEGATIVE_VALUE
Paul Bakker367dae42009-06-28 21:50:27 +0000867
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200868Base test mbedtls_mpi_mod_int #6 (By 1)
869mbedtls_mpi_mod_int:10:"1000":1:0:0
Paul Bakkerba48cb22009-07-12 11:01:32 +0000870
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200871Base test mbedtls_mpi_mod_int #7 (By 2)
872mbedtls_mpi_mod_int:10:"1001":2:1:0
Paul Bakkerba48cb22009-07-12 11:01:32 +0000873
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200874Base test mbedtls_mpi_mod_int #8 (By 2)
875mbedtls_mpi_mod_int:10:"1000":2:0:0
Paul Bakkerba48cb22009-07-12 11:01:32 +0000876
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200877Base test mbedtls_mpi_exp_mod #1
878mbedtls_mpi_exp_mod:10:"23":10:"13":10:"29":10:"":10:"24":0
Paul Bakker367dae42009-06-28 21:50:27 +0000879
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200880Base test mbedtls_mpi_exp_mod #2 (Even N)
881mbedtls_mpi_exp_mod:10:"23":10:"13":10:"30":10:"":10:"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
Paul Bakker367dae42009-06-28 21:50:27 +0000882
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200883Base test mbedtls_mpi_exp_mod #3 (Negative N)
884mbedtls_mpi_exp_mod:10:"23":10:"13":10:"-29":10:"":10:"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
Paul Bakkerf6198c12012-05-16 08:02:29 +0000885
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200886Base test mbedtls_mpi_exp_mod #4 (Negative base)
887mbedtls_mpi_exp_mod:10:"-23":10:"13":10:"29":10:"":10:"5":0
Paul Bakkerf6198c12012-05-16 08:02:29 +0000888
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200889Base test mbedtls_mpi_exp_mod #5 (Negative exponent)
890mbedtls_mpi_exp_mod:10:"23":10:"-13":10:"29":10:"":10:"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
Paul Bakkerf6198c12012-05-16 08:02:29 +0000891
Chris Jones0c5875f2020-11-26 11:21:53 +0000892Base test mbedtls_mpi_exp_mod #6 (Negative base + exponent)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200893mbedtls_mpi_exp_mod:10:"-23":10:"-13":10:"29":10:"":10:"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
Paul Bakker367dae42009-06-28 21:50:27 +0000894
Chris Jonesaa850cd2020-12-03 11:35:41 +0000895Test mbedtls_mpi_exp_mod: MAX_SIZE exponent
Chris Jonese146bdc2020-12-03 11:52:40 +0000896mbedtls_mpi_exp_mod_size:2:MBEDTLS_MPI_MAX_SIZE:10:10:"":0
Chris Jonesd10b3312020-12-02 10:41:50 +0000897
Chris Jonesaa850cd2020-12-03 11:35:41 +0000898Test mbedtls_mpi_exp_mod: MAX_SIZE + 1 exponent
Chris Jonese146bdc2020-12-03 11:52:40 +0000899mbedtls_mpi_exp_mod_size:2:MBEDTLS_MPI_MAX_SIZE + 1:10:10:"":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
Chris Jonesd10b3312020-12-02 10:41:50 +0000900
Chris Jonesaa850cd2020-12-03 11:35:41 +0000901Test mbedtls_mpi_exp_mod: MAX_SIZE modulus
Chris Jonesd10b3312020-12-02 10:41:50 +0000902mbedtls_mpi_exp_mod_size:2:2:MBEDTLS_MPI_MAX_SIZE:10:"":0
903
Chris Jonesaa850cd2020-12-03 11:35:41 +0000904Test mbedtls_mpi_exp_mod: MAX_SIZE + 1 modulus
Chris Jonesd10b3312020-12-02 10:41:50 +0000905mbedtls_mpi_exp_mod_size:2:2:MBEDTLS_MPI_MAX_SIZE + 1:10:"":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
Chris Jones0c5875f2020-11-26 11:21:53 +0000906
Chris Jonesaa850cd2020-12-03 11:35:41 +0000907Test mbedtls_mpi_exp_mod: MAX_SIZE exponent and modulus
Chris Jonesa03f56f2020-12-02 16:27:42 +0000908mbedtls_mpi_exp_mod_size:2:MBEDTLS_MPI_MAX_SIZE:MBEDTLS_MPI_MAX_SIZE:10:"":0
909
Chris Jonesaa850cd2020-12-03 11:35:41 +0000910Test mbedtls_mpi_exp_mod: MAX_SIZE + 1 exponent and modulus
Chris Jonesa03f56f2020-12-02 16:27:42 +0000911mbedtls_mpi_exp_mod_size:2:MBEDTLS_MPI_MAX_SIZE + 1:MBEDTLS_MPI_MAX_SIZE + 1:10:"":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
912
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200913Test mbedtls_mpi_exp_mod #1
Chris Jonese64a46f2020-12-03 17:44:03 +0000914depends_on:MPI_MAX_BITS_LARGER_THAN_792
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200915mbedtls_mpi_exp_mod:10:"433019240910377478217373572959560109819648647016096560523769010881172869083338285573756574557395862965095016483867813043663981946477698466501451832407592327356331263124555137732393938242285782144928753919588632679050799198937132922145084847":10:"5781538327977828897150909166778407659250458379645823062042492461576758526757490910073628008613977550546382774775570888130029763571528699574717583228939535960234464230882573615930384979100379102915657483866755371559811718767760594919456971354184113721":10:"583137007797276923956891216216022144052044091311388601652961409557516421612874571554415606746479105795833145583959622117418531166391184939066520869800857530421873250114773204354963864729386957427276448683092491947566992077136553066273207777134303397724679138833126700957":10:"":10:"114597449276684355144920670007147953232659436380163461553186940113929777196018164149703566472936578890991049344459204199888254907113495794730452699842273939581048142004834330369483813876618772578869083248061616444392091693787039636316845512292127097865026290173004860736":0
Paul Bakker367dae42009-06-28 21:50:27 +0000916
Gilles Peskineefa2ac82019-09-19 21:20:26 +0200917Test mbedtls_mpi_exp_mod (Negative base) [#1]
Hanno Beckera4af1c42017-04-18 09:07:45 +0100918mbedtls_mpi_exp_mod:10:"-10000000000":10:"10000000000":10:"99999":10:"":10:"1":0
Paul Bakkerf6198c12012-05-16 08:02:29 +0000919
Gilles Peskineefa2ac82019-09-19 21:20:26 +0200920Test mbedtls_mpi_exp_mod (Negative base) [#2]
Chris Jonese64a46f2020-12-03 17:44:03 +0000921depends_on:MPI_MAX_BITS_LARGER_THAN_792
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200922mbedtls_mpi_exp_mod:16:"-9f13012cd92aa72fb86ac8879d2fde4f7fd661aaae43a00971f081cc60ca277059d5c37e89652e2af2585d281d66ef6a9d38a117e9608e9e7574cd142dc55278838a2161dd56db9470d4c1da2d5df15a908ee2eb886aaa890f23be16de59386663a12f1afbb325431a3e835e3fd89b98b96a6f77382f458ef9a37e1f84a03045c8676ab55291a94c2228ea15448ee96b626b998":16:"40a54d1b9e86789f06d9607fb158672d64867665c73ee9abb545fc7a785634b354c7bae5b962ce8040cf45f2c1f3d3659b2ee5ede17534c8fc2ec85c815e8df1fe7048d12c90ee31b88a68a081f17f0d8ce5f4030521e9400083bcea73a429031d4ca7949c2000d597088e0c39a6014d8bf962b73bb2e8083bd0390a4e00b9b3":16:"eeaf0ab9adb38dd69c33f80afa8fc5e86072618775ff3c0b9ea2314c9c256576d674df7496ea81d3383b4813d692c6e0e0d5d8e250b98be48e495c1d6089dad15dc7d7b46154d6b6ce8ef4ad69b15d4982559b297bcf1885c529f566660e57ec68edbc3c05726cc02fd4cbf4976eaa9afd5138fe8376435b9fc61d2fc0eb06e3":16:"":16:"21acc7199e1b90f9b4844ffe12c19f00ec548c5d32b21c647d48b6015d8eb9ec9db05b4f3d44db4227a2b5659c1a7cceb9d5fa8fa60376047953ce7397d90aaeb7465e14e820734f84aa52ad0fc66701bcbb991d57715806a11531268e1e83dd48288c72b424a6287e9ce4e5cc4db0dd67614aecc23b0124a5776d36e5c89483":0
Paul Bakkerf6198c12012-05-16 08:02:29 +0000923
Paul Bakker367dae42009-06-28 21:50:27 +0000924Base test GCD #1
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200925mbedtls_mpi_gcd:10:"693":10:"609":10:"21"
Paul Bakker367dae42009-06-28 21:50:27 +0000926
927Base test GCD #2
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200928mbedtls_mpi_gcd:10:"1764":10:"868":10:"28"
Paul Bakker367dae42009-06-28 21:50:27 +0000929
930Base test GCD #3
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200931mbedtls_mpi_gcd:10:"768454923":10:"542167814":10:"1"
Paul Bakker367dae42009-06-28 21:50:27 +0000932
933Test GCD #1
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200934mbedtls_mpi_gcd:10:"433019240910377478217373572959560109819648647016096560523769010881172869083338285573756574557395862965095016483867813043663981946477698466501451832407592327356331263124555137732393938242285782144928753919588632679050799198937132922145084847":10:"5781538327977828897150909166778407659250458379645823062042492461576758526757490910073628008613977550546382774775570888130029763571528699574717583228939535960234464230882573615930384979100379102915657483866755371559811718767760594919456971354184113721":10:"1"
Paul Bakker367dae42009-06-28 21:50:27 +0000935
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200936Base test mbedtls_mpi_inv_mod #1
937mbedtls_mpi_inv_mod:10:"3":10:"11":10:"4":0
Paul Bakker367dae42009-06-28 21:50:27 +0000938
Gilles Peskine5fb6f702021-06-08 23:00:17 +0200939Test mbedtls_mpi_inv_mod: mod 0 (1 limb)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200940mbedtls_mpi_inv_mod:10:"3":10:"0":10:"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
Paul Bakker367dae42009-06-28 21:50:27 +0000941
Gilles Peskine5fb6f702021-06-08 23:00:17 +0200942Test mbedtls_mpi_inv_mod: mod negative
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200943mbedtls_mpi_inv_mod:10:"3":10:"-11":10:"4":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
Paul Bakker367dae42009-06-28 21:50:27 +0000944
Gilles Peskine5fb6f702021-06-08 23:00:17 +0200945Test mbedtls_mpi_inv_mod: 2^-1 mod 4
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200946mbedtls_mpi_inv_mod:10:"2":10:"4":10:"0":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
Paul Bakker367dae42009-06-28 21:50:27 +0000947
Gilles Peskine5fb6f702021-06-08 23:00:17 +0200948Test mbedtls_mpi_inv_mod: mod 1
Hanno Becker4bcb4912017-04-18 15:49:39 +0100949mbedtls_mpi_inv_mod:10:"3":10:"1":10:"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
950
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200951Test mbedtls_mpi_inv_mod #1
952mbedtls_mpi_inv_mod:16:"aa4df5cb14b4c31237f98bd1faf527c283c2d0f3eec89718664ba33f9762907c":16:"fffbbd660b94412ae61ead9c2906a344116e316a256fd387874c6c675b1d587d":16:"8d6a5c1d7adeae3e94b9bcd2c47e0d46e778bc8804a2cc25c02d775dc3d05b0c":0
Paul Bakker367dae42009-06-28 21:50:27 +0000953
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200954Base test mbedtls_mpi_is_prime #1
955depends_on:MBEDTLS_GENPRIME
956mbedtls_mpi_is_prime:10:"0":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
Paul Bakker367dae42009-06-28 21:50:27 +0000957
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200958Base test mbedtls_mpi_is_prime #2
959depends_on:MBEDTLS_GENPRIME
960mbedtls_mpi_is_prime:10:"1":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
Paul Bakker367dae42009-06-28 21:50:27 +0000961
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200962Base test mbedtls_mpi_is_prime #3
963depends_on:MBEDTLS_GENPRIME
964mbedtls_mpi_is_prime:10:"2":0
Paul Bakker367dae42009-06-28 21:50:27 +0000965
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200966Base test mbedtls_mpi_is_prime #4
967depends_on:MBEDTLS_GENPRIME
968mbedtls_mpi_is_prime:10:"3":0
Paul Bakker367dae42009-06-28 21:50:27 +0000969
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200970Base test mbedtls_mpi_is_prime #5
971depends_on:MBEDTLS_GENPRIME
972mbedtls_mpi_is_prime:10:"4":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
Paul Bakker367dae42009-06-28 21:50:27 +0000973
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200974Base test mbedtls_mpi_is_prime #6
975depends_on:MBEDTLS_GENPRIME
976mbedtls_mpi_is_prime:10:"5":0
Paul Bakker367dae42009-06-28 21:50:27 +0000977
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200978Base test mbedtls_mpi_is_prime #7
979depends_on:MBEDTLS_GENPRIME
980mbedtls_mpi_is_prime:10:"27":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
Paul Bakker367dae42009-06-28 21:50:27 +0000981
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200982Base test mbedtls_mpi_is_prime #8
983depends_on:MBEDTLS_GENPRIME
984mbedtls_mpi_is_prime:10:"47":0
Paul Bakker367dae42009-06-28 21:50:27 +0000985
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200986Test mbedtls_mpi_is_prime #1a
987depends_on:MBEDTLS_GENPRIME
988mbedtls_mpi_is_prime:10:"83726728883146151979668243326097049289208482987685965276439157162337476477581":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
Manuel Pégourié-Gonnard378fb4b2013-11-22 18:39:18 +0100989
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200990Test mbedtls_mpi_is_prime #1b
991depends_on:MBEDTLS_GENPRIME
992mbedtls_mpi_is_prime:10:"81248637410584921454869308488899267096530643632730258201256092582281263244641":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
Manuel Pégourié-Gonnard378fb4b2013-11-22 18:39:18 +0100993
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200994Test mbedtls_mpi_is_prime #2a
995depends_on:MBEDTLS_GENPRIME
996mbedtls_mpi_is_prime:10:"827131507221654563937832686696200995595835694437983658840870036586124168186967796809117749047430768825822857042432722828096779098498192459819306321073968735177531164565305635281198148032612029767584644305912099":0
Paul Bakker367dae42009-06-28 21:50:27 +0000997
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200998Test mbedtls_mpi_is_prime #2b
999depends_on:MBEDTLS_GENPRIME
1000mbedtls_mpi_is_prime:10:"827131507221654563937832686696200995595835694437983658840870036586124168186967796809117749047430768825822857042432722828096779098498192459819306321073968735177531164565305635281198148032612029767584644305912001":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
Paul Bakkere896fea2009-07-06 06:40:23 +00001001
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001002Test mbedtls_mpi_is_prime #3
1003depends_on:MBEDTLS_GENPRIME
1004mbedtls_mpi_is_prime:10:"2833419889721787128217599":0
Paul Bakkerba48cb22009-07-12 11:01:32 +00001005
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001006Test mbedtls_mpi_is_prime #4
1007depends_on:MBEDTLS_GENPRIME
1008mbedtls_mpi_is_prime:10:"195845982777569926302400511":0
Paul Bakkerba48cb22009-07-12 11:01:32 +00001009
Gilles Peskineefa2ac82019-09-19 21:20:26 +02001010Test mbedtls_mpi_is_prime #5 [#1]
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001011depends_on:MBEDTLS_GENPRIME
1012mbedtls_mpi_is_prime:10:"4776913109852041418248056622882488319":0
Paul Bakkerba48cb22009-07-12 11:01:32 +00001013
Gilles Peskineefa2ac82019-09-19 21:20:26 +02001014Test mbedtls_mpi_is_prime #5 [#2]
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001015depends_on:MBEDTLS_GENPRIME
1016mbedtls_mpi_is_prime:10:"768614336404564651":0
Paul Bakkerba48cb22009-07-12 11:01:32 +00001017
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001018Test mbedtls_mpi_is_prime #6
1019depends_on:MBEDTLS_GENPRIME
1020mbedtls_mpi_is_prime:10:"201487636602438195784363":0
Paul Bakkerba48cb22009-07-12 11:01:32 +00001021
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001022Test mbedtls_mpi_is_prime #7
1023depends_on:MBEDTLS_GENPRIME
1024mbedtls_mpi_is_prime:10:"845100400152152934331135470251":0
Paul Bakkerba48cb22009-07-12 11:01:32 +00001025
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001026Test mbedtls_mpi_is_prime #8
1027depends_on:MBEDTLS_GENPRIME
1028mbedtls_mpi_is_prime:10:"56713727820156410577229101238628035243":0
Paul Bakkerba48cb22009-07-12 11:01:32 +00001029
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001030Test mbedtls_mpi_is_prime #9
1031depends_on:MBEDTLS_GENPRIME
1032mbedtls_mpi_is_prime:10:"203956878356401977405765866929034577280193993314348263094772646453283062722701277632936616063144088173312372882677123879538709400158306567338328279154499698366071906766440037074217117805690872792848149112022286332144876183376326512083574821647933992961249917319836219304274280243803104015000563790123":0
Paul Bakkerba48cb22009-07-12 11:01:32 +00001033
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001034Test mbedtls_mpi_is_prime #10
1035depends_on:MBEDTLS_GENPRIME
1036mbedtls_mpi_is_prime:10:"531872289054204184185084734375133399408303613982130856645299464930952178606045848877129147820387996428175564228204785846141207532462936339834139412401975338705794646595487324365194792822189473092273993580587964571659678084484152603881094176995594813302284232006001752128168901293560051833646881436219":0
Paul Bakkerba48cb22009-07-12 11:01:32 +00001037
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001038Test mbedtls_mpi_is_prime #11
1039depends_on:MBEDTLS_GENPRIME
1040mbedtls_mpi_is_prime:10:"319705304701141539155720137200974664666792526059405792539680974929469783512821793995613718943171723765238853752439032835985158829038528214925658918372196742089464683960239919950882355844766055365179937610326127675178857306260955550407044463370239890187189750909036833976197804646589380690779463976173":0
Paul Bakkerba48cb22009-07-12 11:01:32 +00001041
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001042Test mbedtls_mpi_is_prime #12
1043depends_on:MBEDTLS_GENPRIME
1044mbedtls_mpi_is_prime:10:"200603822195324642393516294012917598972967449320074999667103434371470616000652036570009912021332527788252300901905236578801044680456930305350440933538867383130165841118050781326291059830545891570648243241795871":0
Paul Bakkerba48cb22009-07-12 11:01:32 +00001045
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001046Test mbedtls_mpi_is_prime #13
1047depends_on:MBEDTLS_GENPRIME
1048mbedtls_mpi_is_prime:10:"827131507221654563937832686696200995595835694437983658840870036586124168186967796809117749047430768825822857042432722828096779098498192459819306321073968735177531164565305635281198148032612029767584644305912099":0
Paul Bakkerba48cb22009-07-12 11:01:32 +00001049
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001050Test mbedtls_mpi_is_prime #14
1051depends_on:MBEDTLS_GENPRIME
1052mbedtls_mpi_is_prime:10:"964274047248418797145090983157197980855078966882276492572788532954904112655338439361306213898569516593744267391754033306465125919199692703323878557833023573312685002670662846477592597659826113460619815244721311":0
Paul Bakkerba48cb22009-07-12 11:01:32 +00001053
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001054Test mbedtls_mpi_is_prime #15
1055depends_on:MBEDTLS_GENPRIME
1056mbedtls_mpi_is_prime:10:"170141183460469231731687303715884105727":0
Paul Bakkerba48cb22009-07-12 11:01:32 +00001057
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001058Test mbedtls_mpi_is_prime #16
1059depends_on:MBEDTLS_GENPRIME
1060mbedtls_mpi_is_prime:10:"2147483647":0
Paul Bakkerba48cb22009-07-12 11:01:32 +00001061
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001062Test mbedtls_mpi_is_prime #17
1063depends_on:MBEDTLS_GENPRIME
1064mbedtls_mpi_is_prime:10:"961748941":0
Paul Bakkerba48cb22009-07-12 11:01:32 +00001065
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001066Test mbedtls_mpi_is_prime #18
1067depends_on:MBEDTLS_GENPRIME
1068mbedtls_mpi_is_prime:10:"179424691":0
Paul Bakkerba48cb22009-07-12 11:01:32 +00001069
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001070Test mbedtls_mpi_is_prime #19
1071depends_on:MBEDTLS_GENPRIME
1072mbedtls_mpi_is_prime:10:"32452867":0
Paul Bakkerba48cb22009-07-12 11:01:32 +00001073
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001074Test mbedtls_mpi_is_prime #20
1075depends_on:MBEDTLS_GENPRIME
1076mbedtls_mpi_is_prime:10:"49979687":0
Paul Bakkerba48cb22009-07-12 11:01:32 +00001077
Janos Follath64eca052018-09-05 17:04:49 +01001078Test mbedtls_mpi_is_prime_det (4 non-witnesses)
1079depends_on:MBEDTLS_GENPRIME
Darryl Greenac2ead02018-10-02 15:30:39 +01001080mbedtls_mpi_is_prime_det:"043BD64BA10B11DA83FBD296B04BCA9E0552FAF6E09CAC74E2D7E735ED0DB09FC47ED76145644203EE0C826013BC602F560BCDAAED557D04683859A65D659FF828A245A2C5B1AC41E01E4669A525A45E23AF":"040EA852F7935ACCECC0E87B845281F047D10DC9AAFEF990AF9D3D66770DA30B0C5B5E03EEA8C0CB79B936FE0BB8EE5389EC1D34EB16C58AA3F2E11AF084160CDF6400BE1CC179867AB074866952D9F34EE7042D27F960E715A97FCB93F3182247D0A6AE51BD21CC2F6B0651F9E572C5FB86F3137053FA85FD7A51816D69B3A53A5A438C17754836D04E98CA240B901F828332F2D72D88C497DA45F533F99A6E53EDEA6B0424EC8951B048FA9A80134B37D0A67014597934E3CFC52C5A4DD4751ADF8D66FC79E84E2A3148C4B15C17E12CB659390FD275F39A331FFC80EC699BC3F6FAB868E30E9B14575FCDAB6FAED01E00112DD28704177E09C335AD43A696FEA761E8DF3B0663277A5C3637F9060CB5E5654F72E9A6B0F369E660AD4CF7ABF4195493545B367BD55271CD4BB7D9C15D3F508FE8F7409C2126FC8E73B43A67CD4EFB21E9F15DBF040A2A8D5F5ED75CEAC12B595C0051F3EC9D5A58ACE82A9506E64F780E9836728260FFE1BFD73E8A9869E3D46A35A856D3028F7FEAB9F4F1A04449AEDC80017EE1014080D87F0B50C8EF255324CD89F7D039":82:5
Janos Follath64eca052018-09-05 17:04:49 +01001081
1082Test mbedtls_mpi_is_prime_det (39 non-witnesses)
1083depends_on:MBEDTLS_GENPRIME
Darryl Greenac2ead02018-10-02 15:30:39 +01001084mbedtls_mpi_is_prime_det:"155102B67930FBE8858DF6C0642D77D419A7B7968E622CC7500F3E3F2C5168368C50E0083187":"119B3E2C721834D83416239B04447AA18AE0163E61DCAE97054563D79E094A6FA4485BD6A0501445BF57FE9C058926CDB862E04CC1A95D79D61D9AB3466857A53E04F8D7470C9C86649B226A13DDC534E18DFD5C22FAEA317CA4D4960F18457FD6D2FFB5F3273F74C89980DC774590D8D30D1159CA81999ED94A042D67DA68C82616AD46C2C88288A8EBD0B37AC7C152D9522CA4544642AD1210F6B642FEBF43563FA872B0DEFAFC69D0B6570E8FEA9570D0AADCFA9B06CC8BFD62CEDC221541210EEEF9762448C6D49F26AA767A4D66CB168589E0201923015314E6CD4A480E5936E7CF145F73A564C5B782635B3AFC3028E2632C5D3458224A7C9E8BA1876E8F690463C878292D3DC011E9640331E7F7621F2B5E0F6713DD8C9D6767521C4BA880DA8D11C67753C8493D2C4C4F1443147550D0B25B7FAD04EAFA9F8AA60974C1365C8A794CFEECEB4279B1150909A97E5A7A10B5D91186CA5B25A612036631FE73529C8CFAE51E76FB704A772DE5320EFC1212E7A399B1FEBF57D014AF9129DFF5D2C5DFBBEEAC55F360CF6D22FA90B8E2E9AD0C71AB6495A9452A58D653B8CC26128C66B43EFBA6E39AEC5717A1A3C2AE1449FCABAFE1180B159DA55190CD81A3D9E8D798647E11B827F0A057D6DA5AAD78AB5112EE65E10E8B8B369BA24E1B8AD2CD8548C497016C07A143DE1232F8059BE303572456FA92E76A0F23D1340629228B7D27C02D3833A72745B91A3DBEB5E081117A9F19597F00E4277B414FAEA8C8CEB895C37F956A5A22F8D7A10ADA50B22BAB312504904511AA0EFDD4D3BF20ECB17E8A684564FFB5BBD5E22C429F9A75A4FB4AE468FE7612ED53C7A11212E7EF3435CC9CA6E7DB167B8CCE2BECF35F89013F8F876223C77FA81570970858663C6E32B91080AA47F9C90177F51E6FD7747B910C9489C7B6ACB070996198AD9A40A69711274159210A9A12DBAAA4FB4632446066AB70D735DC95F7C2BCE517E88C064D728DE82B1B043DF4AEE0EFF5131120A4E5B9B4180EB6F6B8A0D1491ABDA069058A9966B1A517D8E7B4997DC52A1E698FD79E271153DF1913FE6787A5D99DE69F39C3F22D26DC731CFBB33FF5C267D85D7A3DAE8E1C87E1DB2F1236212EF1942EA756967FB3D07D629E59EA4034D9A9B5E270DD4A31C8A3DFDA99C1094B5537132C196DA2AEAF5253A019B9AF25B5DCB0D4DD75C7C9C353DA9DAABFB23959A5455312E7E1C21268C1BC14E83DCFDF50C27FD3E8B4EDC04C5F3CB5FCFFF2B57151E1B1EE1A6456DC006BC43E1158674AA4CF7D146DE4A57103BE43ED130C8007294ED2418C7A2B769A7D20EBB5A8367A77B313F81BB119B9954305FF160FF83EED7F808EE6D340A5CCC000CF81AA497D315D350CCE4E86A31456B8AA85B677491FC662933DFA55EB5BFF64B8D85430D676A85D1CAFAFF383E68C4E6C22A51063739EC03FC58C36C07C44E54828BE2152B2E9AFB0F179B157D09B64C147B524BB5424BB1914419424D9100D06EDCFC718F4DF3D562E9E16C446663F35273CA7BC5426B868A80C8D415C9A12A1619CDB7CDB5BEBC70313150BDF8C3AB26B809FE62D28E798EF1EF98C410A2DA0A9071F82154AC569078B0E647E2C085D1D907E634453442803D0492D3D0C78CACB762020C0E589C8B0981321EA2771305FD0413F3B2963FCE9A232F6641DB7E12ADC009A032063C41756E5E19E5711DE12711F07AFE7545B4D83F3EFD7BFD0435297C89DF3D4AF96EBE2CE8D64B93E36EA5D7E5A0492151D0CAEE7449A7D35E1A3C83E22C3B35162C073CC3B1CF76FBDEE84270721FC042EAAEB7325110181415E2031CFB7462F15111291CDAC0560FF9F4C7341F2FA261B97CEF348D074AA2EB4DB153FE6B1410519DA4213B611999868F3B867A2B6D758D333C4989DE80782683CA26ECDE373C71524F01B76349CE8A07A5EBECBB42259CF970DDA756EC996B189FEA045FEE45F23D476960913106ECA2510B8517AA75D56FA4152B2BDDC212014E5D07FD964D6EE532F0616DF74E104659955132331FABF2D2AD265E71C93C648A956FA0A3DB21FF103D516527F2DA0E870340B61EE8A8ED913B60605EB5A67B834D0FC90564386012585609870FEF6530B3E3C037B55506F0B5694F6B0FC":38:40
Janos Follath64eca052018-09-05 17:04:49 +01001085
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001086Test mbedtls_mpi_gen_prime (Too small)
1087depends_on:MBEDTLS_GENPRIME
1088mbedtls_mpi_gen_prime:2:0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
Manuel Pégourié-Gonnard15f58a82014-06-16 17:12:40 +02001089
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001090Test mbedtls_mpi_gen_prime (OK, minimum size)
1091depends_on:MBEDTLS_GENPRIME
1092mbedtls_mpi_gen_prime:3:0:0
Manuel Pégourié-Gonnard15f58a82014-06-16 17:12:40 +02001093
Jethro Beekman66689272018-02-14 19:24:10 -08001094Test mbedtls_mpi_gen_prime (corner case limb size -1 bits)
1095depends_on:MBEDTLS_GENPRIME
1096mbedtls_mpi_gen_prime:63:0:0
1097
1098Test mbedtls_mpi_gen_prime (corner case limb size)
1099depends_on:MBEDTLS_GENPRIME
1100mbedtls_mpi_gen_prime:64:0:0
1101
1102Test mbedtls_mpi_gen_prime (corner case limb size +1 bits)
1103depends_on:MBEDTLS_GENPRIME
1104mbedtls_mpi_gen_prime:65:0:0
1105
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001106Test mbedtls_mpi_gen_prime (Larger)
1107depends_on:MBEDTLS_GENPRIME
1108mbedtls_mpi_gen_prime:128:0:0
Manuel Pégourié-Gonnard15f58a82014-06-16 17:12:40 +02001109
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001110Test mbedtls_mpi_gen_prime (Safe)
1111depends_on:MBEDTLS_GENPRIME
Janos Follath7c025a92018-08-14 11:08:41 +01001112mbedtls_mpi_gen_prime:128:MBEDTLS_MPI_GEN_PRIME_FLAG_DH:0
Manuel Pégourié-Gonnard15f58a82014-06-16 17:12:40 +02001113
Janos Follatha3cb7eb2018-08-14 15:31:54 +01001114Test mbedtls_mpi_gen_prime (Safe with lower error rate)
1115depends_on:MBEDTLS_GENPRIME
1116mbedtls_mpi_gen_prime:128:MBEDTLS_MPI_GEN_PRIME_FLAG_DH | MBEDTLS_MPI_GEN_PRIME_FLAG_LOW_ERR:0
1117
1118Test mbedtls_mpi_gen_prime standard RSA #1 (lower error rate)
1119depends_on:MBEDTLS_GENPRIME
1120mbedtls_mpi_gen_prime:1024:MBEDTLS_MPI_GEN_PRIME_FLAG_LOW_ERR:0
1121
1122Test mbedtls_mpi_gen_prime standard RSA #2 (lower error rate)
1123depends_on:MBEDTLS_GENPRIME
1124mbedtls_mpi_gen_prime:1536:MBEDTLS_MPI_GEN_PRIME_FLAG_LOW_ERR:0
1125
Paul Bakker2f5947e2011-05-18 15:47:11 +00001126Test bit getting (Value bit 25)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001127mbedtls_mpi_get_bit:10:"49979687":25:1
Paul Bakker2f5947e2011-05-18 15:47:11 +00001128
1129Test bit getting (Larger but same limb)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001130mbedtls_mpi_get_bit:10:"49979687":26:0
Paul Bakker2f5947e2011-05-18 15:47:11 +00001131
1132Test bit getting (Larger and non-existing limb)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001133mbedtls_mpi_get_bit:10:"49979687":500:0
Paul Bakker2f5947e2011-05-18 15:47:11 +00001134
1135Test bit getting (Value bit 24)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001136mbedtls_mpi_get_bit:10:"49979687":24:0
Paul Bakker2f5947e2011-05-18 15:47:11 +00001137
1138Test bit getting (Value bit 23)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001139mbedtls_mpi_get_bit:10:"49979687":23:1
Paul Bakker2f5947e2011-05-18 15:47:11 +00001140
1141Test bit set (Change existing value with a 1)
Paul Bakkerec5ceb62016-07-14 12:47:07 +01001142mbedtls_mpi_set_bit:10:"49979687":24:1:10:"66756903":0
Paul Bakker2f5947e2011-05-18 15:47:11 +00001143
1144Test bit set (Change existing value with a 0)
Paul Bakkerec5ceb62016-07-14 12:47:07 +01001145mbedtls_mpi_set_bit:10:"49979687":25:0:10:"16425255":0
Paul Bakker2f5947e2011-05-18 15:47:11 +00001146
1147Test bit set (Add above existing limbs with a 0)
Paul Bakkerec5ceb62016-07-14 12:47:07 +01001148mbedtls_mpi_set_bit:10:"49979687":80:0:10:"49979687":0
Paul Bakker2f5947e2011-05-18 15:47:11 +00001149
1150Test bit set (Add above existing limbs with a 1)
Paul Bakkerec5ceb62016-07-14 12:47:07 +01001151mbedtls_mpi_set_bit:10:"49979687":80:1:10:"1208925819614629224685863":0
Paul Bakker2f5947e2011-05-18 15:47:11 +00001152
Manuel Pégourié-Gonnard9a4a5ac2013-12-04 18:05:29 +01001153Test bit set (Bit index larger than 31 with a 0)
Paul Bakkerec5ceb62016-07-14 12:47:07 +01001154mbedtls_mpi_set_bit:16:"FFFFFFFFFFFFFFFF":32:0:16:"FFFFFFFEFFFFFFFF":0
Manuel Pégourié-Gonnard9a4a5ac2013-12-04 18:05:29 +01001155
1156Test bit set (Bit index larger than 31 with a 1)
Paul Bakkerec5ceb62016-07-14 12:47:07 +01001157mbedtls_mpi_set_bit:16:"00":32:1:16:"0100000000":0
1158
1159Test bit set (Invalid bit value)
1160mbedtls_mpi_set_bit:16:"00":5:2:16:"00":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
Manuel Pégourié-Gonnard9a4a5ac2013-12-04 18:05:29 +01001161
Gilles Peskine3cb1e292020-11-25 15:37:20 +01001162Fill random: 0 bytes
Gilles Peskine422e8672021-04-02 00:02:27 +02001163mpi_fill_random:0:0:0:0
Gilles Peskine3cb1e292020-11-25 15:37:20 +01001164
1165Fill random: 1 byte, good
Gilles Peskine422e8672021-04-02 00:02:27 +02001166mpi_fill_random:1:1:0:0
Gilles Peskine3cb1e292020-11-25 15:37:20 +01001167
1168Fill random: 2 bytes, good, no leading zero
Gilles Peskine422e8672021-04-02 00:02:27 +02001169mpi_fill_random:2:2:0:0
Gilles Peskine3cb1e292020-11-25 15:37:20 +01001170
1171Fill random: 2 bytes, good, 1 leading zero
Gilles Peskine422e8672021-04-02 00:02:27 +02001172mpi_fill_random:2:256:0:0
Gilles Peskine3cb1e292020-11-25 15:37:20 +01001173
1174Fill random: MAX_SIZE - 7, good
Gilles Peskine422e8672021-04-02 00:02:27 +02001175mpi_fill_random:MBEDTLS_MPI_MAX_SIZE - 7:MBEDTLS_MPI_MAX_SIZE - 7:0:0
Gilles Peskine3cb1e292020-11-25 15:37:20 +01001176
1177Fill random: MAX_SIZE, good
Gilles Peskine422e8672021-04-02 00:02:27 +02001178mpi_fill_random:MBEDTLS_MPI_MAX_SIZE:MBEDTLS_MPI_MAX_SIZE:0:0
1179
1180Fill random: 0 bytes, previously small >0
1181mpi_fill_random:0:0:1:0
1182
1183Fill random: 0 bytes, previously small <0
1184mpi_fill_random:0:0:-1:0
1185
1186Fill random: 0 bytes, previously large >0
1187mpi_fill_random:0:0:65:0
1188
1189Fill random: 0 bytes, previously large <0
1190mpi_fill_random:0:0:-65:0
1191
1192Fill random: 1 byte, previously small >0
1193mpi_fill_random:1:1:1:0
1194
1195Fill random: 1 byte, previously small <0
1196mpi_fill_random:1:1:-1:0
1197
1198Fill random: 1 byte, previously large >0
1199mpi_fill_random:1:1:65:0
1200
1201Fill random: 1 byte, previously large <0
1202mpi_fill_random:1:1:-65:0
1203
1204Fill random: 9 bytes, previously small >0
1205mpi_fill_random:1:1:1:0
1206
1207Fill random: 9 bytes, previously small <0
1208mpi_fill_random:1:1:-1:0
Gilles Peskine3cb1e292020-11-25 15:37:20 +01001209
1210Fill random: 1 byte, RNG failure
Gilles Peskine422e8672021-04-02 00:02:27 +02001211mpi_fill_random:1:0:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED
Gilles Peskine3cb1e292020-11-25 15:37:20 +01001212
1213Fill random: 2 bytes, RNG failure after 1 byte
Gilles Peskine422e8672021-04-02 00:02:27 +02001214mpi_fill_random:2:1:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED
Gilles Peskine3cb1e292020-11-25 15:37:20 +01001215
1216Fill random: 4 bytes, RNG failure after 3 bytes
Gilles Peskine422e8672021-04-02 00:02:27 +02001217mpi_fill_random:4:3:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED
Gilles Peskine3cb1e292020-11-25 15:37:20 +01001218
1219Fill random: 8 bytes, RNG failure after 7 bytes
Gilles Peskine422e8672021-04-02 00:02:27 +02001220mpi_fill_random:8:7:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED
Gilles Peskine3cb1e292020-11-25 15:37:20 +01001221
1222Fill random: 16 bytes, RNG failure after 1 bytes
Gilles Peskine422e8672021-04-02 00:02:27 +02001223mpi_fill_random:16:1:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED
Gilles Peskine3cb1e292020-11-25 15:37:20 +01001224
1225Fill random: 16 bytes, RNG failure after 8 bytes
Gilles Peskine422e8672021-04-02 00:02:27 +02001226mpi_fill_random:16:8:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED
Gilles Peskine3cb1e292020-11-25 15:37:20 +01001227
1228Fill random: 16 bytes, RNG failure after 15 bytes
Gilles Peskine422e8672021-04-02 00:02:27 +02001229mpi_fill_random:16:15:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED
Gilles Peskine3cb1e292020-11-25 15:37:20 +01001230
1231Fill random: MAX_SIZE bytes, RNG failure after MAX_SIZE-1 bytes
Gilles Peskine422e8672021-04-02 00:02:27 +02001232mpi_fill_random:MBEDTLS_MPI_MAX_SIZE:MBEDTLS_MPI_MAX_SIZE-1:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED
Gilles Peskine3cb1e292020-11-25 15:37:20 +01001233
Gilles Peskine951b5692021-04-13 20:44:04 +02001234MPI random in range: 1..2
1235mpi_random_many:1:"02":1000
1236
1237MPI random in range: 1..3
1238mpi_random_many:1:"03":1000
1239
Gilles Peskine02ac93a2021-03-29 22:02:55 +02001240MPI random in range: 1..4
1241mpi_random_many:1:"04":1000
1242
1243MPI random in range: 1..5
1244mpi_random_many:1:"05":1000
1245
1246MPI random in range: 1..6
1247mpi_random_many:1:"06":1000
1248
1249MPI random in range: 1..7
1250mpi_random_many:1:"07":1000
1251
1252MPI random in range: 1..8
1253mpi_random_many:1:"08":1000
1254
1255MPI random in range: 1..9
1256mpi_random_many:1:"09":1000
1257
1258MPI random in range: 1..10
1259mpi_random_many:1:"0a":1000
1260
1261MPI random in range: 1..11
1262mpi_random_many:1:"0b":1000
1263
1264MPI random in range: 1..12
1265mpi_random_many:1:"0c":1000
1266
1267MPI random in range: 1..255
1268mpi_random_many:1:"ff":100
1269
1270MPI random in range: 1..256
1271mpi_random_many:1:"0100":100
1272
1273MPI random in range: 1..257
1274mpi_random_many:1:"0101":100
1275
1276MPI random in range: 1..272
1277mpi_random_many:1:"0110":100
1278
1279MPI random in range: 1..2^64-1
1280mpi_random_many:1:"ffffffffffffffff":100
1281
1282MPI random in range: 1..2^64
1283mpi_random_many:1:"010000000000000000":100
1284
1285MPI random in range: 1..2^64+1
1286mpi_random_many:1:"010000000000000001":100
1287
1288MPI random in range: 1..2^64+2^63
1289mpi_random_many:1:"018000000000000000":100
1290
1291MPI random in range: 1..2^65-1
1292mpi_random_many:1:"01ffffffffffffffff":100
1293
1294MPI random in range: 1..2^65
1295mpi_random_many:1:"020000000000000000":100
1296
1297MPI random in range: 1..2^65+1
1298mpi_random_many:1:"020000000000000001":100
1299
1300MPI random in range: 1..2^65+2^64
1301mpi_random_many:1:"030000000000000000":100
1302
1303MPI random in range: 1..2^66+2^65
1304mpi_random_many:1:"060000000000000000":100
1305
1306MPI random in range: 1..2^71-1
1307mpi_random_many:1:"7fffffffffffffffff":100
1308
1309MPI random in range: 1..2^71
1310mpi_random_many:1:"800000000000000000":100
1311
1312MPI random in range: 1..2^71+1
1313mpi_random_many:1:"800000000000000001":100
1314
Gilles Peskine9077e432021-06-02 21:22:25 +02001315MPI random in range: 1..2^71+2^70
Gilles Peskine02ac93a2021-03-29 22:02:55 +02001316mpi_random_many:1:"c00000000000000000":100
1317
1318MPI random in range: 1..2^72-1
1319mpi_random_many:1:"ffffffffffffffffff":100
1320
1321MPI random in range: 1..2^72
1322mpi_random_many:1:"01000000000000000000":100
1323
1324MPI random in range: 1..2^72+1
1325mpi_random_many:1:"01000000000000000001":100
1326
Gilles Peskine9077e432021-06-02 21:22:25 +02001327MPI random in range: 1..2^72+2^71
Gilles Peskine02ac93a2021-03-29 22:02:55 +02001328mpi_random_many:1:"01800000000000000000":100
1329
Gilles Peskine951b5692021-04-13 20:44:04 +02001330MPI random in range: 0..1
1331mpi_random_many:0:"04":10000
1332
Gilles Peskine02ac93a2021-03-29 22:02:55 +02001333MPI random in range: 0..4
Gilles Peskine951b5692021-04-13 20:44:04 +02001334mpi_random_many:0:"04":10000
Gilles Peskine02ac93a2021-03-29 22:02:55 +02001335
1336MPI random in range: 2..4
Gilles Peskine951b5692021-04-13 20:44:04 +02001337mpi_random_many:2:"04":10000
Gilles Peskine02ac93a2021-03-29 22:02:55 +02001338
1339MPI random in range: 3..4
Gilles Peskine951b5692021-04-13 20:44:04 +02001340mpi_random_many:3:"04":10000
Gilles Peskine02ac93a2021-03-29 22:02:55 +02001341
Gilles Peskine1a7df4e2021-04-01 15:57:18 +02001342MPI random in range: smaller result
Gilles Peskine422e8672021-04-02 00:02:27 +02001343mpi_random_sizes:1:"aaaaaaaaaaaaaaaabbbbbbbbbbbbbbbb":1:0
Gilles Peskine1a7df4e2021-04-01 15:57:18 +02001344
1345MPI random in range: same size result (32-bit limbs)
Gilles Peskine422e8672021-04-02 00:02:27 +02001346mpi_random_sizes:1:"aaaaaaaaaaaaaaaa":2:0
Gilles Peskine1a7df4e2021-04-01 15:57:18 +02001347
1348MPI random in range: same size result (64-bit limbs)
Gilles Peskine422e8672021-04-02 00:02:27 +02001349mpi_random_sizes:1:"aaaaaaaaaaaaaaaa":1:0
Gilles Peskine1a7df4e2021-04-01 15:57:18 +02001350
1351MPI random in range: larger result
Gilles Peskine422e8672021-04-02 00:02:27 +02001352mpi_random_sizes:1:"aaaaaaaaaaaaaaaa":3:0
Gilles Peskine1a7df4e2021-04-01 15:57:18 +02001353
Gilles Peskine0cb493d2021-04-13 21:32:24 +02001354## The "0 limb in upper bound" tests rely on the fact that
1355## mbedtls_mpi_read_binary() bases the size of the MPI on the size of
1356## the input, without first checking for leading zeros. If this was
1357## not the case, the tests would still pass, but would not exercise
1358## the advertised behavior.
Gilles Peskine1a7df4e2021-04-01 15:57:18 +02001359MPI random in range: leading 0 limb in upper bound #0
Gilles Peskine422e8672021-04-02 00:02:27 +02001360mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":0:0
Gilles Peskine1a7df4e2021-04-01 15:57:18 +02001361
1362MPI random in range: leading 0 limb in upper bound #1
Gilles Peskine422e8672021-04-02 00:02:27 +02001363mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":1:0
Gilles Peskine1a7df4e2021-04-01 15:57:18 +02001364
1365MPI random in range: leading 0 limb in upper bound #2
Gilles Peskine422e8672021-04-02 00:02:27 +02001366mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":2:0
Gilles Peskine1a7df4e2021-04-01 15:57:18 +02001367
1368MPI random in range: leading 0 limb in upper bound #3
Gilles Peskine422e8672021-04-02 00:02:27 +02001369mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":3:0
Gilles Peskine1a7df4e2021-04-01 15:57:18 +02001370
1371MPI random in range: leading 0 limb in upper bound #4
Gilles Peskine422e8672021-04-02 00:02:27 +02001372mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":4:0
1373
1374MPI random in range: previously small >0
1375mpi_random_sizes:1:"1234567890":4:1
1376
1377MPI random in range: previously small <0
1378mpi_random_sizes:1:"1234567890":4:-1
1379
1380MPI random in range: previously large >0
1381mpi_random_sizes:1:"1234":4:65
1382
1383MPI random in range: previously large <0
1384mpi_random_sizes:1:"1234":4:-65
Gilles Peskine1a7df4e2021-04-01 15:57:18 +02001385
Gilles Peskine1e918f42021-03-29 22:14:51 +02001386MPI random bad arguments: min < 0
1387mpi_random_fail:-1:"04":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
1388
1389MPI random bad arguments: min = N = 0
1390mpi_random_fail:0:"00":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
1391
1392MPI random bad arguments: min = N = 1
1393mpi_random_fail:1:"01":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
1394
Gilles Peskine0ad640a2021-04-13 20:47:07 +02001395MPI random bad arguments: min > N = 0
1396mpi_random_fail:1:"00":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
1397
1398MPI random bad arguments: min > N = 1
1399mpi_random_fail:2:"01":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
1400
Gilles Peskine0cb493d2021-04-13 21:32:24 +02001401MPI random bad arguments: min > N = 1, 0 limb in upper bound
Gilles Peskine0ad640a2021-04-13 20:47:07 +02001402mpi_random_fail:2:"000000000000000001":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
Paul Bakker367dae42009-06-28 21:50:27 +00001403
1404MPI Selftest
1405depends_on:MBEDTLS_SELF_TEST
1406mpi_selftest: