quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

test_suite_bignum.misc.data (105440B)


      1 Arguments with no value
      2 mpi_null:
      3 
      4 Base test mpi_read_write_string #1
      5 mpi_read_write_string:10:"128":10:"128":100:0:0
      6 
      7 Base test mpi_read_write_string #1 (Leading 0)
      8 mpi_read_write_string:10:"0128":10:"128":100:0:0
      9 
     10 Base test mpi_read_write_string #2
     11 mpi_read_write_string:10:"128":16:"80":100:0:0
     12 
     13 Base test mpi_read_write_string #3 (Read zero decimal)
     14 mpi_read_write_string:10:"0":10:"0":100:0:0
     15 
     16 Base test mpi_read_write_string #3 (Read zero hex)
     17 mpi_read_write_string:16:"0":16:"00":100:0:0
     18 
     19 Base test mpi_read_write_string #3 (Read minus zero decimal)
     20 mpi_read_write_string:10:"-0":10:"0":100:0:0
     21 
     22 Base test mpi_read_write_string #3 (Read minus zero hex)
     23 mpi_read_write_string:16:"-0":16:"00":100:0:0
     24 
     25 Base test mpi_read_write_string #3 (Negative decimal)
     26 mpi_read_write_string:10:"-23":10:"-23":100:0:0
     27 
     28 Base test mpi_read_write_string #3 (Negative decimal, leading 0)
     29 mpi_read_write_string:10:"-023":10:"-23":100:0:0
     30 
     31 Base test mpi_read_write_string #3 (Negative hex -> decimal)
     32 mpi_read_write_string:16:"-20":10:"-32":100:0:0
     33 
     34 Base test mpi_read_write_string #3 (Negative hex)
     35 mpi_read_write_string:16:"-23":16:"-23":100:0:0
     36 
     37 Base test mpi_read_write_string #3 (Negative hex, leading 0)
     38 mpi_read_write_string:16:"-023":16:"-23":100:0:0
     39 
     40 Base test mpi_read_write_string #4 (Buffer just fits)
     41 mpi_read_write_string:16:"-4":4:"-10":4:0:0
     42 
     43 Test mpi_read_write_string #1 (Invalid character)
     44 mpi_read_write_string:10:"a28":0:"":100:MBEDTLS_ERR_MPI_INVALID_CHARACTER:0
     45 
     46 Test mpi_read_write_string #2 (Illegal input radix)
     47 mpi_read_write_string:19:"a28":0:"":100:MBEDTLS_ERR_MPI_BAD_INPUT_DATA:0
     48 
     49 Test mpi_read_write_string #3 (Buffer just fits)
     50 mpi_read_write_string:16:"-23":16:"-23":4:0:0
     51 
     52 Test mpi_read_write_string #4 (Buffer too small)
     53 mpi_read_write_string:16:"-23":16:"-23":3:0:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL
     54 
     55 Test mpi_read_write_string #5 (Illegal output radix)
     56 mpi_read_write_string:16:"-23":17:"-23":4:0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
     57 
     58 Test mpi_read_write_string #6 (Output radix of 15)
     59 mpi_read_write_string:10:"29":15:"1E":100:0:0
     60 
     61 Test mpi_read_write_string #7
     62 mpi_read_write_string:10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":16:"0941379D00FED1491FE15DF284DFDE4A142F68AA8D412023195CEE66883E6290FFE703F4EA5963BF212713CEE46B107C09182B5EDCD955ADAC418BF4918E2889AF48E1099D513830CEC85C26AC1E158B52620E33BA8692F893EFBB2F958B4424":200:0:0
     63 
     64 Test mpi_read_write_string #8 (Empty MPI hex -> hex)
     65 mpi_read_write_string:16:"":16:"":4:0:0
     66 
     67 Test mpi_read_write_string #9 (Empty MPI hex -> dec)
     68 mpi_read_write_string:16:"":10:"0":4:0:0
     69 
     70 Test mpi_read_write_string #9 (Empty MPI hex -> base 2)
     71 mpi_read_write_string:16:"":2:"0":4:0:0
     72 
     73 Test mpi_read_write_string #8 (Empty MPI dec -> hex)
     74 mpi_read_write_string:10:"":16:"":4:0:0
     75 
     76 Test mpi_read_write_string #9 (Empty MPI dec -> dec)
     77 mpi_read_write_string:10:"":10:"0":4:0:0
     78 
     79 Test mpi_read_write_string #9 (Empty MPI dec -> base 2)
     80 mpi_read_write_string:16:"":2:"0":4:0:0
     81 
     82 Test mpi_write_string #10 (Negative hex with odd number of digits)
     83 mpi_read_write_string:16:"-1":16:"":3:0:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL
     84 
     85 Provide NULL buffer with 0 length
     86 mpi_zero_length_buffer_is_null
     87 
     88 Base test mbedtls_mpi_read_binary #1
     89 mpi_read_binary:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":"0941379D00FED1491FE15DF284DFDE4A142F68AA8D412023195CEE66883E6290FFE703F4EA5963BF212713CEE46B107C09182B5EDCD955ADAC418BF4918E2889AF48E1099D513830CEC85C26AC1E158B52620E33BA8692F893EFBB2F958B4424"
     90 
     91 Base test mbedtls_mpi_read_binary_le #1
     92 mpi_read_binary_le:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":"24448B952FBBEF93F89286BA330E62528B151EAC265CC8CE3038519D09E148AF89288E91F48B41ACAD55D9DC5E2B18097C106BE4CE132721BF6359EAF403E7FF90623E8866EE5C192320418DAA682F144ADEDF84F25DE11F49D1FE009D374109"
     93 
     94 Base test mbedtls_mpi_write_binary #1
     95 mpi_write_binary:"941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":"000000000941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":100:0
     96 
     97 Test mbedtls_mpi_write_binary #1 (Buffer is larger)
     98 mpi_write_binary:"123123123123123123123123123":"000123123123123123123123123123":15:0
     99 
    100 Test mbedtls_mpi_write_binary #1 (Buffer just fits)
    101 mpi_write_binary:"123123123123123123123123123":"0123123123123123123123123123":14:0
    102 
    103 Test mbedtls_mpi_write_binary #2 (Buffer too small)
    104 mpi_write_binary:"123123123123123123123123123":"23123123123123123123123123":13:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL
    105 
    106 Test mbedtls_mpi_write_binary: nonzero to NULL
    107 mpi_write_binary:"01":"":0:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL
    108 
    109 Test mbedtls_mpi_write_binary: 0 to NULL
    110 mpi_write_binary:"00":"":0:0
    111 
    112 Base test mbedtls_mpi_write_binary_le #1
    113 mpi_write_binary_le:"941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":"24448b952fbbef93f89286ba330e62528b151eac265cc8ce3038519d09e148af89288e91f48b41acad55d9dc5e2b18097c106be4ce132721bf6359eaf403e7ff90623e8866ee5c192320418daa682f144adedf84f25de11f49d1fe009d37410900000000":100:0
    114 
    115 Test mbedtls_mpi_write_binary_le #1 (Buffer is larger)
    116 mpi_write_binary_le:"123123123123123123123123123":"233112233112233112233112230100":15:0
    117 
    118 Test mbedtls_mpi_write_binary_le #1 (Buffer just fits)
    119 mpi_write_binary_le:"123123123123123123123123123":"2331122331122331122331122301":14:0
    120 
    121 Test mbedtls_mpi_write_binary_le #2 (Buffer too small)
    122 mpi_write_binary_le:"123123123123123123123123123":"23311223311223311223311223":13:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL
    123 
    124 Test mbedtls_mpi_write_binary_le: nonzero to NULL
    125 mpi_write_binary_le:"01":"":0:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL
    126 
    127 Test mbedtls_mpi_write_binary_le: 0 to NULL
    128 mpi_write_binary_le:"00":"":0:0
    129 
    130 Base test mbedtls_mpi_read_file #1
    131 mpi_read_file:"../framework/data_files/mpi_16":"01f55332c3a48b910f9942f6c914e58bef37a47ee45cb164a5b6b8d1006bf59a059c21449939ebebfdf517d2e1dbac88010d7b1f141e997bd6801ddaec9d05910f4f2de2b2c4d714e2c14a72fc7f17aa428d59c531627f09":0
    132 
    133 Test mbedtls_mpi_read_file #1 (Empty file)
    134 mpi_read_file:"../framework/data_files/hash_file_4":"":MBEDTLS_ERR_MPI_FILE_IO_ERROR
    135 
    136 Test mbedtls_mpi_read_file #2 (Illegal input)
    137 mpi_read_file:"../framework/data_files/hash_file_2":"":0
    138 
    139 Test mbedtls_mpi_read_file #3 (Input too big)
    140 mpi_read_file:"../framework/data_files/mpi_too_big":"":MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL
    141 
    142 Base test mbedtls_mpi_write_file #1
    143 mpi_write_file:"941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":"../framework/data_files/mpi_write"
    144 
    145 Test mbedtls_mpi_lsb: 0 (null)
    146 mpi_lsb:"":0
    147 
    148 Test mbedtls_mpi_lsb: 0 (1 limb)
    149 mpi_lsb:"0":0
    150 
    151 Base test mbedtls_mpi_lsb #1
    152 mpi_lsb:"941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":2
    153 
    154 Base test mbedtls_mpi_lsb #2
    155 mpi_lsb:"18":3
    156 
    157 Base test mbedtls_mpi_lsb #3
    158 mpi_lsb:"24":2
    159 
    160 Base test mbedtls_mpi_lsb #4
    161 mpi_lsb:"2000":13
    162 
    163 Test mbedtls_mpi_bitlen 764-bit
    164 mpi_bitlen:"941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":764
    165 
    166 Test mbedtls_mpi_bitlen 0x18
    167 mpi_bitlen:"18":5
    168 
    169 Test mbedtls_mpi_bitlen 0x18 with leading 0 limb(s)
    170 mpi_bitlen:"00000000000000018":5
    171 
    172 Test mbedtls_mpi_bitlen 0x18 << 64
    173 mpi_bitlen:"180000000000000000":69
    174 
    175 Test mbedtls_mpi_bitlen 0x01
    176 mpi_bitlen:"1":1
    177 
    178 Test mbedtls_mpi_bitlen 0x0f
    179 mpi_bitlen:"f":4
    180 
    181 Test mbedtls_mpi_bitlen 0x10
    182 mpi_bitlen:"10":5
    183 
    184 Test mbedtls_mpi_bitlen 0x0a
    185 mpi_bitlen:"a":4
    186 
    187 Test mbedtls_mpi_bitlen: 0 (null)
    188 mpi_bitlen:"":0
    189 
    190 Test mbedtls_mpi_bitlen: 0 (1 limb)
    191 mpi_bitlen:"0":0
    192 
    193 Test mbedtls_mpi_bitlen: -0x18
    194 mpi_bitlen:"-18":5
    195 
    196 Base test mbedtls_mpi_cmp_int #1
    197 mpi_cmp_int:693:693:0
    198 
    199 Base test mbedtls_mpi_cmp_int #2
    200 mpi_cmp_int:693:692:1
    201 
    202 Base test mbedtls_mpi_cmp_int #3
    203 mpi_cmp_int:693:694:-1
    204 
    205 Base test mbedtls_mpi_cmp_int (Negative values) #1
    206 mpi_cmp_int:-2:-2:0
    207 
    208 Base test mbedtls_mpi_cmp_int (Negative values) #2
    209 mpi_cmp_int:-2:-3:1
    210 
    211 Base test mbedtls_mpi_cmp_int (Negative values) #3
    212 mpi_cmp_int:-2:-1:-1
    213 
    214 Base test mbedtls_mpi_cmp_mpi #1
    215 mpi_cmp_mpi:"2b5":"2b5":0
    216 
    217 Base test mbedtls_mpi_cmp_mpi #2
    218 mpi_cmp_mpi:"2b5":"2b4":1
    219 
    220 Base test mbedtls_mpi_cmp_mpi #3
    221 mpi_cmp_mpi:"2b5":"2b6":-1
    222 
    223 Base test mbedtls_mpi_cmp_mpi (Negative values) #1
    224 mpi_cmp_mpi:"-2":"-2":0
    225 
    226 Base test mbedtls_mpi_cmp_mpi (Negative values) #2
    227 mpi_cmp_mpi:"-2":"-3":1
    228 
    229 Base test mbedtls_mpi_cmp_mpi (Negative values) #3
    230 mpi_cmp_mpi:"-2":"-1":-1
    231 
    232 Base test mbedtls_mpi_cmp_mpi (Mixed values) #4
    233 mpi_cmp_mpi:"-3":"2":-1
    234 
    235 Base test mbedtls_mpi_cmp_mpi (Mixed values) #5
    236 mpi_cmp_mpi:"2":"-3":1
    237 
    238 Base test mbedtls_mpi_cmp_mpi (Mixed values) #6
    239 mpi_cmp_mpi:"-2":"1c67967269c6":-1
    240 
    241 Test mbedtls_mpi_cmp_mpi: 0 (null) = 0 (null)
    242 mpi_cmp_mpi:"":"":0
    243 
    244 Test mbedtls_mpi_cmp_mpi: 0 (null) = 0 (1 limb)
    245 mpi_cmp_mpi:"":"0":0
    246 
    247 Test mbedtls_mpi_cmp_mpi: 0 (1 limb) = 0 (null)
    248 mpi_cmp_mpi:"0":"":0
    249 
    250 Test mbedtls_mpi_cmp_mpi: 0 (1 limb) = 0 (1 limb)
    251 mpi_cmp_mpi:"0":"0":0
    252 
    253 Test mbedtls_mpi_cmp_mpi: 0 (null) < positive
    254 mpi_cmp_mpi:"":"7b":-1
    255 
    256 Test mbedtls_mpi_cmp_mpi: 0 (1 limb) < positive
    257 mpi_cmp_mpi:"0":"7b":-1
    258 
    259 Test mbedtls_mpi_cmp_mpi: 0 (null) > negative
    260 mpi_cmp_mpi:"":"-7b":1
    261 
    262 Test mbedtls_mpi_cmp_mpi: 0 (1 limb) > negative
    263 mpi_cmp_mpi:"0":"-7b":1
    264 
    265 Test mbedtls_mpi_cmp_mpi: positive > 0 (null)
    266 mpi_cmp_mpi:"7b":"":1
    267 
    268 Test mbedtls_mpi_cmp_mpi: positive > 0 (1 limb)
    269 mpi_cmp_mpi:"7b":"0":1
    270 
    271 Test mbedtls_mpi_cmp_mpi: negative < 0 (null)
    272 mpi_cmp_mpi:"-7b":"":-1
    273 
    274 Test mbedtls_mpi_cmp_mpi: negative < 0 (1 limb)
    275 mpi_cmp_mpi:"-7b":"0":-1
    276 
    277 Test mbedtls_mpi_cmp_mpi: 0 (null) < positive with leading zero limb
    278 mpi_cmp_mpi:"":"0000000000000000123":-1
    279 
    280 Test mbedtls_mpi_cmp_mpi: 0 (1 limb) < positive with leading zero limb
    281 mpi_cmp_mpi:"0":"0000000000000000123":-1
    282 
    283 Test mbedtls_mpi_cmp_mpi: 0 (null) > negative with leading zero limb
    284 mpi_cmp_mpi:"":"-0000000000000000123":1
    285 
    286 Test mbedtls_mpi_cmp_mpi: 0 (1 limb) > negative with leading zero limb
    287 mpi_cmp_mpi:"0":"-0000000000000000123":1
    288 
    289 Test mbedtls_mpi_cmp_mpi: positive with leading zero limb > 0 (null)
    290 mpi_cmp_mpi:"0000000000000000123":"":1
    291 
    292 Test mbedtls_mpi_cmp_mpi: positive with leading zero limb > 0 (1 limb)
    293 mpi_cmp_mpi:"0000000000000000123":"0":1
    294 
    295 Test mbedtls_mpi_cmp_mpi: negative with leading zero limb < 0 (null)
    296 mpi_cmp_mpi:"-0000000000000000123":"":-1
    297 
    298 Test mbedtls_mpi_cmp_mpi: negative with leading zero limb < 0 (1 limb)
    299 mpi_cmp_mpi:"-0000000000000000123":"0":-1
    300 
    301 Test mbedtls_mpi_cmp_mpi: 0 (null) < large positive
    302 mpi_cmp_mpi:"":"1230000000000000000":-1
    303 
    304 Test mbedtls_mpi_cmp_mpi: 0 (1 limb) < large positive
    305 mpi_cmp_mpi:"0":"1230000000000000000":-1
    306 
    307 Test mbedtls_mpi_cmp_mpi: 0 (null) > large negative
    308 mpi_cmp_mpi:"":"-1230000000000000000":1
    309 
    310 Test mbedtls_mpi_cmp_mpi: 0 (1 limb) > large negative
    311 mpi_cmp_mpi:"0":"-1230000000000000000":1
    312 
    313 Test mbedtls_mpi_cmp_mpi: large positive > 0 (null)
    314 mpi_cmp_mpi:"1230000000000000000":"":1
    315 
    316 Test mbedtls_mpi_cmp_mpi: large positive > 0 (1 limb)
    317 mpi_cmp_mpi:"1230000000000000000":"0":1
    318 
    319 Test mbedtls_mpi_cmp_mpi: large negative < 0 (null)
    320 mpi_cmp_mpi:"-1230000000000000000":"":-1
    321 
    322 Test mbedtls_mpi_cmp_mpi: large negative < 0 (1 limb)
    323 mpi_cmp_mpi:"-1230000000000000000":"0":-1
    324 
    325 Base test mbedtls_mpi_lt_mpi_ct #1
    326 mpi_lt_mpi_ct:1:"2B5":1:"2B5":0:0
    327 
    328 Base test mbedtls_mpi_lt_mpi_ct #2
    329 mpi_lt_mpi_ct:1:"2B5":1:"2B4":0:0
    330 
    331 Base test mbedtls_mpi_lt_mpi_ct #3
    332 mpi_lt_mpi_ct:1:"2B5":1:"2B6":1:0
    333 
    334 Base test mbedtls_mpi_lt_mpi_ct (Negative values) #1
    335 mpi_lt_mpi_ct:1:"-2":1:"-2":0:0
    336 
    337 Base test mbedtls_mpi_lt_mpi_ct (Negative values) #2
    338 mpi_lt_mpi_ct:1:"-2":1:"-3":0:0
    339 
    340 Base test mbedtls_mpi_lt_mpi_ct (Negative values) #3
    341 mpi_lt_mpi_ct:1:"-2":1:"-1":1:0
    342 
    343 Base test mbedtls_mpi_lt_mpi_ct (Mixed values) #1
    344 mpi_lt_mpi_ct:1:"-3":1:"2":1:0
    345 
    346 Base test mbedtls_mpi_lt_mpi_ct (Mixed values) #2
    347 mpi_lt_mpi_ct:1:"2":1:"-3":0:0
    348 
    349 Base test mbedtls_mpi_lt_mpi_ct (Mixed values) #3
    350 mpi_lt_mpi_ct:2:"-2":2:"1C67967269C6":1:0
    351 
    352 Base test mbedtls_mpi_lt_mpi_ct (X is longer in storage)
    353 mpi_lt_mpi_ct:3:"2B5":2:"2B5":0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
    354 
    355 Base test mbedtls_mpi_lt_mpi_ct (Y is longer in storage)
    356 mpi_lt_mpi_ct:3:"2B5":4:"2B5":0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
    357 
    358 Base test mbedtls_mpi_lt_mpi_ct (length=0)
    359 mpi_lt_mpi_ct:0:"":0:"":0:0
    360 
    361 Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #1
    362 mpi_lt_mpi_ct:2:"7FFFFFFFFFFFFFFF":2:"FF":0:0
    363 
    364 Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #2
    365 mpi_lt_mpi_ct:2:"8000000000000000":2:"7FFFFFFFFFFFFFFF":0:0
    366 
    367 Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #3
    368 mpi_lt_mpi_ct:2:"8000000000000000":2:"1":0:0
    369 
    370 Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #4
    371 mpi_lt_mpi_ct:2:"8000000000000000":2:"0":0:0
    372 
    373 Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #5
    374 mpi_lt_mpi_ct:2:"FFFFFFFFFFFFFFFF":2:"FF":0:0
    375 
    376 Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #1
    377 mpi_lt_mpi_ct:1:"7FFFFFFF":1:"FF":0:0
    378 
    379 Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #2
    380 mpi_lt_mpi_ct:1:"80000000":1:"7FFFFFFF":0:0
    381 
    382 Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #3
    383 mpi_lt_mpi_ct:1:"80000000":1:"1":0:0
    384 
    385 Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #4
    386 mpi_lt_mpi_ct:1:"80000000":1:"0":0:0
    387 
    388 Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #5
    389 mpi_lt_mpi_ct:1:"FFFFFFFF":1:"FF":0:0
    390 
    391 Multi-limb mbedtls_mpi_lt_mpi_ct (X<Y, zero vs non-zero MS limb)
    392 mpi_lt_mpi_ct:2:"0FFFFFFFFFFFFFFFF":2:"1FFFFFFFFFFFFFFFF":1:0
    393 
    394 Multi-limb mbedtls_mpi_lt_mpi_ct (X>Y, equal MS limbs)
    395 mpi_lt_mpi_ct:2:"-EEFFFFFFFFFFFFFFF1":2:"-EEFFFFFFFFFFFFFFFF":0:0
    396 
    397 Multi-limb mbedtls_mpi_lt_mpi_ct (X=Y)
    398 mpi_lt_mpi_ct:2:"EEFFFFFFFFFFFFFFFF":2:"EEFFFFFFFFFFFFFFFF":0:0
    399 
    400 Multi-limb mbedtls_mpi_lt_mpi_ct (X=-Y)
    401 mpi_lt_mpi_ct:2:"-EEFFFFFFFFFFFFFFFF":2:"EEFFFFFFFFFFFFFFFF":1:0
    402 
    403 Multi-limb mbedtls_mpi_lt_mpi_ct (Alternating limbs) #1
    404 mpi_lt_mpi_ct:2:"11FFFFFFFFFFFFFFFF":2:"FF1111111111111111":1:0
    405 
    406 Multi-limb mbedtls_mpi_lt_mpi_ct (Alternating limbs) #2
    407 mpi_lt_mpi_ct:2:"FF1111111111111111":2:"11FFFFFFFFFFFFFFFF":0:0
    408 
    409 Multi-limb mbedtls_mpi_lt_mpi_ct (Alternating limbs) #3
    410 mpi_lt_mpi_ct:2:"-11FFFFFFFFFFFFFFFF":2:"-FF1111111111111111":0:0
    411 
    412 Multi-limb mbedtls_mpi_lt_mpi_ct (Alternating limbs) #4
    413 mpi_lt_mpi_ct:2:"-FF1111111111111111":2:"-11FFFFFFFFFFFFFFFF":1:0
    414 
    415 Base test mbedtls_mpi_cmp_abs #1
    416 mpi_cmp_abs:"2b5":"2b5":0
    417 
    418 Base test mbedtls_mpi_cmp_abs #2
    419 mpi_cmp_abs:"2b5":"2b4":1
    420 
    421 Base test mbedtls_mpi_cmp_abs #3
    422 mpi_cmp_abs:"2b5":"2b6":-1
    423 
    424 Base test mbedtls_mpi_cmp_abs (Negative values) #1
    425 mpi_cmp_abs:"-2":"-2":0
    426 
    427 Base test mbedtls_mpi_cmp_abs (Negative values) #2
    428 mpi_cmp_abs:"-2":"-3":-1
    429 
    430 Base test mbedtls_mpi_cmp_abs (Negative values) #3
    431 mpi_cmp_abs:"-2":"-1":1
    432 
    433 Test mbedtls_mpi_cmp_abs: 0 (null) = 0 (null)
    434 mpi_cmp_abs:"":"":0
    435 
    436 Test mbedtls_mpi_cmp_abs: 0 (null) = 0 (1 limb)
    437 mpi_cmp_abs:"":"0":0
    438 
    439 Test mbedtls_mpi_cmp_abs: 0 (1 limb) = 0 (null)
    440 mpi_cmp_abs:"0":"":0
    441 
    442 Test mbedtls_mpi_cmp_abs: 0 (1 limb) = 0 (1 limb)
    443 mpi_cmp_abs:"0":"0":0
    444 
    445 Base test mbedtls_mpi_cmp_abs (Mix values) #1
    446 mpi_cmp_abs:"-2":"2":0
    447 
    448 Base test mbedtls_mpi_cmp_abs (Mix values) #2
    449 mpi_cmp_abs:"2":"-3":-1
    450 
    451 Base test mbedtls_mpi_cmp_abs (Mix values) #3
    452 mpi_cmp_abs:"-2":"1":1
    453 
    454 Copy large negative to large negative
    455 mpi_copy:"-ca5cadedb01dfaceacc01ade":"-face1e55ca11ab1ecab005e5"
    456 
    457 Copy large negative to large positive
    458 mpi_copy:"-ca5cadedb01dfaceacc01ade":"face1e55ca11ab1ecab005e5"
    459 
    460 Copy large negative to small negative
    461 mpi_copy:"-ca5cadedb01dfaceacc01ade":"-beef"
    462 
    463 Copy large negative to small positive
    464 mpi_copy:"-ca5cadedb01dfaceacc01ade":"beef"
    465 
    466 Copy large negative to zero (1 limb)
    467 mpi_copy:"-ca5cadedb01dfaceacc01ade":"0"
    468 
    469 Copy large negative to zero (null)
    470 mpi_copy:"-ca5cadedb01dfaceacc01ade":""
    471 
    472 Copy large positive to large negative
    473 mpi_copy:"ca5cadedb01dfaceacc01ade":"-face1e55ca11ab1ecab005e5"
    474 
    475 Copy large positive to large positive
    476 mpi_copy:"ca5cadedb01dfaceacc01ade":"face1e55ca11ab1ecab005e5"
    477 
    478 Copy large positive to small negative
    479 mpi_copy:"ca5cadedb01dfaceacc01ade":"-beef"
    480 
    481 Copy large positive to small positive
    482 mpi_copy:"ca5cadedb01dfaceacc01ade":"beef"
    483 
    484 Copy large positive to zero (1 limb)
    485 mpi_copy:"ca5cadedb01dfaceacc01ade":"0"
    486 
    487 Copy large positive to zero (null)
    488 mpi_copy:"ca5cadedb01dfaceacc01ade":""
    489 
    490 Copy small negative to large negative
    491 mpi_copy:"-bead":"-face1e55ca11ab1ecab005e5"
    492 
    493 Copy small negative to large positive
    494 mpi_copy:"-bead":"face1e55ca11ab1ecab005e5"
    495 
    496 Copy small negative to small negative
    497 mpi_copy:"-bead":"-beef"
    498 
    499 Copy small negative to small positive
    500 mpi_copy:"-bead":"beef"
    501 
    502 Copy small negative to zero (1 limb)
    503 mpi_copy:"-bead":"0"
    504 
    505 Copy small negative to zero (null)
    506 mpi_copy:"-bead":""
    507 
    508 Copy small positive to large negative
    509 mpi_copy:"bead":"-face1e55ca11ab1ecab005e5"
    510 
    511 Copy small positive to large positive
    512 mpi_copy:"bead":"face1e55ca11ab1ecab005e5"
    513 
    514 Copy small positive to small negative
    515 mpi_copy:"bead":"-beef"
    516 
    517 Copy small positive to small positive
    518 mpi_copy:"bead":"beef"
    519 
    520 Copy small positive to zero (1 limb)
    521 mpi_copy:"bead":"0"
    522 
    523 Copy small positive to zero (null)
    524 mpi_copy:"bead":""
    525 
    526 Copy zero (1 limb) to large negative
    527 mpi_copy:"0":"-face1e55ca11ab1ecab005e5"
    528 
    529 Copy zero (1 limb) to large positive
    530 mpi_copy:"0":"face1e55ca11ab1ecab005e5"
    531 
    532 Copy zero (1 limb) to small negative
    533 mpi_copy:"0":"-beef"
    534 
    535 Copy zero (1 limb) to small positive
    536 mpi_copy:"0":"beef"
    537 
    538 Copy zero (1 limb) to zero (1 limb)
    539 mpi_copy:"0":"0"
    540 
    541 Copy zero (1 limb) to zero (null)
    542 mpi_copy:"0":""
    543 
    544 Copy zero (null) to large negative
    545 mpi_copy:"":"-face1e55ca11ab1ecab005e5"
    546 
    547 Copy zero (null) to large positive
    548 mpi_copy:"":"face1e55ca11ab1ecab005e5"
    549 
    550 Copy zero (null) to small negative
    551 mpi_copy:"":"-beef"
    552 
    553 Copy zero (null) to small positive
    554 mpi_copy:"":"beef"
    555 
    556 Copy zero (null) to zero (1 limb)
    557 mpi_copy:"":"0"
    558 
    559 Copy zero (null) to zero (null)
    560 mpi_copy:"":""
    561 
    562 Copy self: large negative
    563 mpi_copy_self:"-ca5cadedb01dfaceacc01ade"
    564 
    565 Copy self: large positive
    566 mpi_copy_self:"ca5cadedb01dfaceacc01ade"
    567 
    568 Copy self: small negative
    569 mpi_copy_self:"-bead"
    570 
    571 Copy self: small positive
    572 mpi_copy_self:"bead"
    573 
    574 Copy self: zero (1 limb)
    575 mpi_copy_self:"0"
    576 
    577 Copy self: zero (null)
    578 mpi_copy_self:""
    579 
    580 Swap large negative with large negative
    581 mpi_swap:"-ca5cadedb01dfaceacc01ade":"-face1e55ca11ab1ecab005e5"
    582 
    583 Swap large negative with large positive
    584 mpi_swap:"-ca5cadedb01dfaceacc01ade":"face1e55ca11ab1ecab005e5"
    585 
    586 Swap large negative with small negative
    587 mpi_swap:"-ca5cadedb01dfaceacc01ade":"-beef"
    588 
    589 Swap large negative with small positive
    590 mpi_swap:"-ca5cadedb01dfaceacc01ade":"beef"
    591 
    592 Swap large negative with zero (1 limb)
    593 mpi_swap:"-ca5cadedb01dfaceacc01ade":"0"
    594 
    595 Swap large negative with zero (null)
    596 mpi_swap:"-ca5cadedb01dfaceacc01ade":""
    597 
    598 Swap large positive with large negative
    599 mpi_swap:"ca5cadedb01dfaceacc01ade":"-face1e55ca11ab1ecab005e5"
    600 
    601 Swap large positive with large positive
    602 mpi_swap:"ca5cadedb01dfaceacc01ade":"face1e55ca11ab1ecab005e5"
    603 
    604 Swap large positive with small negative
    605 mpi_swap:"ca5cadedb01dfaceacc01ade":"-beef"
    606 
    607 Swap large positive with small positive
    608 mpi_swap:"ca5cadedb01dfaceacc01ade":"beef"
    609 
    610 Swap large positive with zero (1 limb)
    611 mpi_swap:"ca5cadedb01dfaceacc01ade":"0"
    612 
    613 Swap large positive with zero (null)
    614 mpi_swap:"ca5cadedb01dfaceacc01ade":""
    615 
    616 Swap small negative with large negative
    617 mpi_swap:"-bead":"-face1e55ca11ab1ecab005e5"
    618 
    619 Swap small negative with large positive
    620 mpi_swap:"-bead":"face1e55ca11ab1ecab005e5"
    621 
    622 Swap small negative with small negative
    623 mpi_swap:"-bead":"-beef"
    624 
    625 Swap small negative with small positive
    626 mpi_swap:"-bead":"beef"
    627 
    628 Swap small negative with zero (1 limb)
    629 mpi_swap:"-bead":"0"
    630 
    631 Swap small negative with zero (null)
    632 mpi_swap:"-bead":""
    633 
    634 Swap small positive with large negative
    635 mpi_swap:"bead":"-face1e55ca11ab1ecab005e5"
    636 
    637 Swap small positive with large positive
    638 mpi_swap:"bead":"face1e55ca11ab1ecab005e5"
    639 
    640 Swap small positive with small negative
    641 mpi_swap:"bead":"-beef"
    642 
    643 Swap small positive with small positive
    644 mpi_swap:"bead":"beef"
    645 
    646 Swap small positive with zero (1 limb)
    647 mpi_swap:"bead":"0"
    648 
    649 Swap small positive with zero (null)
    650 mpi_swap:"bead":""
    651 
    652 Swap zero (1 limb) with large negative
    653 mpi_swap:"0":"-face1e55ca11ab1ecab005e5"
    654 
    655 Swap zero (1 limb) with large positive
    656 mpi_swap:"0":"face1e55ca11ab1ecab005e5"
    657 
    658 Swap zero (1 limb) with small negative
    659 mpi_swap:"0":"-beef"
    660 
    661 Swap zero (1 limb) with small positive
    662 mpi_swap:"0":"beef"
    663 
    664 Swap zero (1 limb) with zero (1 limb)
    665 mpi_swap:"0":"0"
    666 
    667 Swap zero (1 limb) with zero (null)
    668 mpi_swap:"0":""
    669 
    670 Swap zero (null) with large negative
    671 mpi_swap:"":"-face1e55ca11ab1ecab005e5"
    672 
    673 Swap zero (null) with large positive
    674 mpi_swap:"":"face1e55ca11ab1ecab005e5"
    675 
    676 Swap zero (null) with small negative
    677 mpi_swap:"":"-beef"
    678 
    679 Swap zero (null) with small positive
    680 mpi_swap:"":"beef"
    681 
    682 Swap zero (null) with zero (1 limb)
    683 mpi_swap:"":"0"
    684 
    685 Swap zero (null) with zero (null)
    686 mpi_swap:"":""
    687 
    688 Swap self: large negative
    689 mpi_swap_self:"-ca5cadedb01dfaceacc01ade"
    690 
    691 Swap self: large positive
    692 mpi_swap_self:"ca5cadedb01dfaceacc01ade"
    693 
    694 Swap self: small negative
    695 mpi_swap_self:"-bead"
    696 
    697 Swap self: small positive
    698 mpi_swap_self:"bead"
    699 
    700 Swap self: zero (1 limb)
    701 mpi_swap_self:"0"
    702 
    703 Swap self: zero (null)
    704 mpi_swap_self:""
    705 
    706 Shrink 0 limbs in a buffer of size 0 to 0
    707 mpi_shrink:0:0:0:0
    708 
    709 Shrink 2 limbs in a buffer of size 2 to 4
    710 mpi_shrink:2:2:4:4
    711 
    712 Shrink 2 limbs in a buffer of size 4 to 4
    713 mpi_shrink:4:2:4:4
    714 
    715 Shrink 2 limbs in a buffer of size 8 to 4
    716 mpi_shrink:8:2:4:4
    717 
    718 Shrink 4 limbs in a buffer of size 8 to 4
    719 mpi_shrink:8:4:4:4
    720 
    721 Shrink 6 limbs in a buffer of size 8 to 4 yielding 6
    722 mpi_shrink:8:6:4:6
    723 
    724 Shrink 2 limbs in a buffer of size 4 to 0 yielding 2
    725 mpi_shrink:4:2:0:2
    726 
    727 Shrink 1 limbs in a buffer of size 4 to 0 yielding 1
    728 mpi_shrink:4:1:0:1
    729 
    730 Shrink 0 limbs in a buffer of size 4 to 0 yielding 1
    731 mpi_shrink:4:0:0:1
    732 
    733 Base test mbedtls_mpi_add_abs #1
    734 mpi_add_abs:"bc614e":"9cde3":"c62f31"
    735 
    736 Base test mbedtls_mpi_add_abs #2
    737 mpi_add_abs:"-bc614e":"9cde3":"c62f31"
    738 
    739 Base test mbedtls_mpi_add_abs #3
    740 mpi_add_abs:"bc614e":"-9cde3":"c62f31"
    741 
    742 Base test mbedtls_mpi_add_abs #4
    743 mpi_add_abs:"-bc614e":"-9cde3":"c62f31"
    744 
    745 Test mbedtls_mpi_add_abs: 0 (null) + 0 (null)
    746 mpi_add_abs:"":"":"0"
    747 
    748 Test mbedtls_mpi_add_abs: 0 (null) + 1
    749 mpi_add_abs:"":"01":"01"
    750 
    751 Test mbedtls_mpi_add_abs: 1 + 0 (null)
    752 mpi_add_abs:"01":"":"01"
    753 
    754 Test mbedtls_mpi_add_abs #1
    755 mpi_add_abs:"-1f55332c3a48b910f9942f6c914e58bef37a47ee45cb164a5b6b8d1006bf59a059c21449939ebebfdf517d2e1dbac88010d7b1f141e997bd6801ddaec9d05910f4f2de2b2c4d714e2c14a72fc7f17aa428d59c531627f09":"941379d00fed1491dec0abfc13b52b9049625b3c42c3a972a2549e7a3e1b12c5a304b23e9ed6e251b8af28a4b3124900b23138bfafda925ab3410d57d6f8f0dd8c8c32eb0b4329fbf792e43f9593e766fa0c3c0be077b4e5162616a6428c51b":"941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424"
    756 
    757 Regression mbedtls_mpi_add_abs (add small to very large MPI with carry rollover) [#1]
    758 mpi_add_abs:"FFFFFFFFFFFFFFFFFFFFFFFFFFFFF8":"08":"1000000000000000000000000000000"
    759 
    760 Regression mbedtls_mpi_add_abs (add small to very large MPI with carry rollover) [#2]
    761 mpi_add_abs:"08":"FFFFFFFFFFFFFFFFFFFFFFFFFFFFF8":"1000000000000000000000000000000"
    762 
    763 Base test mbedtls_mpi_add_mpi #1
    764 mpi_add_mpi:"bc614e":"9cde3":"c62f31"
    765 
    766 Base test mbedtls_mpi_add_mpi #2
    767 mpi_add_mpi:"-bc614e":"9cde3":"-b2936b"
    768 
    769 Base test mbedtls_mpi_add_mpi #3
    770 mpi_add_mpi:"bc614e":"-9cde3":"b2936b"
    771 
    772 Base test mbedtls_mpi_add_mpi #4
    773 mpi_add_mpi:"-bc614e":"-9cde3":"-c62f31"
    774 
    775 Test mbedtls_mpi_add_mpi: 0 (null) + 0 (null)
    776 mpi_add_mpi:"":"":"0"
    777 
    778 Test mbedtls_mpi_add_mpi: 0 (null) + 1
    779 mpi_add_mpi:"":"01":"01"
    780 
    781 Test mbedtls_mpi_add_mpi: 1 + 0 (null)
    782 mpi_add_mpi:"01":"":"01"
    783 
    784 Test mbedtls_mpi_add_mpi: 0 (null) + -1
    785 mpi_add_mpi:"":"-01":"-01"
    786 
    787 Test mbedtls_mpi_add_mpi: -1 + 0 (null)
    788 mpi_add_mpi:"-01":"":"-01"
    789 
    790 Test mbedtls_mpi_add_mpi #1
    791 mpi_add_mpi:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"cb50e82a8583f44ee0025942e7362991b24e12663a0ddc234a57b0f7b4ff7b025bf5a6707dedc2898e70b739042c95a996283dffdf67558768784553c61e302e8812bc90f0bb0696870cfb910b560cefed8d99bbf7a00b31ccdbd56f3594e5a653cfd127d2167b13119e5c45c3f76b4e3d904a9bc0cbb43c33aa7f23b":"1194815323a3b10dc8cb9293d7c85b719d79974dd43a0e4de3a5babaee7276e428559e1caa42d296a6234b1628323acff85fd798f9632d6b3d437c122ddb0c8ec215a8159a1fe2aaa91390af0b8cf65967dde43439da979d0d23b88fe14a13e30407471f77bb1c10ef08ca8af2f29f92b2874bcd5065bd2fc58b1ea366"
    792 
    793 Test mbedtls_mpi_add_mpi #2
    794 mpi_add_mpi:"1f55332c3a48b910f9942f6c914e58bef37a47ee45cb164a5b6b8d1006bf59a059c21449939ebebfdf517d2e1dbac88010d7b1f141e997bd6801ddaec9d05910f4f2de2b2c4d714e2c14a72fc7f17aa428d59c531627f09":"941379d00fed1491dec0abfc13b52b9049625b3c42c3a972a2549e7a3e1b12c5a304b23e9ed6e251b8af28a4b3124900b23138bfafda925ab3410d57d6f8f0dd8c8c32eb0b4329fbf792e43f9593e766fa0c3c0be077b4e5162616a6428c51b":"941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424"
    795 
    796 Base test mbedtls_mpi_add_mpi inplace #1
    797 mpi_add_mpi_inplace:"bc614e":"178c29c"
    798 
    799 Test mbedtls_mpi_add_mpi inplace #2
    800 mpi_add_mpi_inplace:"1f55332c3a48b910f9942f6c914e58bef37a47ee45cb164a5b6b8d1006bf59a059c21449939ebebfdf517d2e1dbac88010d7b1f141e997bd6801ddaec9d05910f4f2de2b2c4d714e2c14a72fc7f17aa428d59c531627f09":"3eaa665874917221f3285ed9229cb17de6f48fdc8b962c94b6d71a200d7eb340b3842893273d7d7fbea2fa5c3b75910021af63e283d32f7ad003bb5d93a0b221e9e5bc56589ae29c58294e5f8fe2f54851ab38a62c4fe12"
    801 
    802 Test mbedtls_mpi_add_mpi inplace #3
    803 mpi_add_mpi_inplace:"ffffffffffffffffffffffffffffffff":"01fffffffffffffffffffffffffffffffe"
    804 
    805 Test mbedtls_mpi_add_int #1
    806 mpi_add_int:"10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd92ad4189":9871232:"10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd9343e109"
    807 
    808 Test mbedtls_mpi_add_int #2
    809 mpi_add_int:"10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd92ad4189":-9871232:"10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd9216a209"
    810 
    811 Test mbedtls_mpi_add_int: 0 (null) + 0
    812 mpi_add_int:"":0:"0"
    813 
    814 Test mbedtls_mpi_add_int: 0 (null) + 1
    815 mpi_add_int:"":1:"1"
    816 
    817 Base test mbedtls_mpi_sub_abs #1 (|B| > |A|)
    818 mpi_sub_abs:"5":"7":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
    819 
    820 Base test mbedtls_mpi_sub_abs #2 (|B| > |A|)
    821 mpi_sub_abs:"-5":"-7":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
    822 
    823 Base test mbedtls_mpi_sub_abs #3 (|B| > |A|)
    824 mpi_sub_abs:"-5":"7":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
    825 
    826 Base test mbedtls_mpi_sub_abs #4 (|B| > |A|)
    827 mpi_sub_abs:"5":"-7":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
    828 
    829 Base test mbedtls_mpi_sub_abs #1 (|B| >> |A| with more limbs)
    830 mpi_sub_abs:"5":"123456789abcdef01":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
    831 
    832 Base test mbedtls_mpi_sub_abs #2 (|B| >> |A| with more limbs)
    833 mpi_sub_abs:"-5":"-123456789abcdef01":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
    834 
    835 Base test mbedtls_mpi_sub_abs #3 (|B| >> |A| with more limbs)
    836 mpi_sub_abs:"-5":"123456789abcdef01":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
    837 
    838 Base test mbedtls_mpi_sub_abs #4 (|B| >> |A| with more limbs)
    839 mpi_sub_abs:"5":"-123456789abcdef01":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
    840 
    841 Base test mbedtls_mpi_sub_abs #1
    842 mpi_sub_abs:"7":"5":"2":0
    843 
    844 Base test mbedtls_mpi_sub_abs #2
    845 mpi_sub_abs:"-7":"-5":"2":0
    846 
    847 Base test mbedtls_mpi_sub_abs #3
    848 mpi_sub_abs:"-7":"5":"2":0
    849 
    850 Base test mbedtls_mpi_sub_abs #4
    851 mpi_sub_abs:"7":"-5":"2":0
    852 
    853 Test mbedtls_mpi_sub_abs: 0 (null) - 0 (null)
    854 mpi_sub_abs:"":"":"":0
    855 
    856 Test mbedtls_mpi_sub_abs: 0 (null) - 0 (1 limb)
    857 mpi_sub_abs:"":"00":"":0
    858 
    859 Test mbedtls_mpi_sub_abs: 0 (1 limb) - 0 (null)
    860 mpi_sub_abs:"00":"":"":0
    861 
    862 Test mbedtls_mpi_sub_abs: 0 (1 limb) - 0 (1 limb)
    863 mpi_sub_abs:"00":"00":"":0
    864 
    865 Test mbedtls_mpi_sub_abs: 1 - 0 (null)
    866 mpi_sub_abs:"01":"":"01":0
    867 
    868 Test mbedtls_mpi_sub_abs: 0 (null) - 1
    869 mpi_sub_abs:"":"01":"":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
    870 
    871 Test mbedtls_mpi_sub_abs #1
    872 mpi_sub_abs:"FFFFFFFFFF":"01":"FFFFFFFFFE":0
    873 
    874 Test mbedtls_mpi_sub_abs #2
    875 mpi_sub_abs:"FFFFFFFFF0":"01":"FFFFFFFFEF":0
    876 
    877 Test mbedtls_mpi_sub_abs #3
    878 mpi_sub_abs:"FF00000000":"0F00000000":"F000000000":0
    879 
    880 Test mbedtls_mpi_sub_abs #4
    881 mpi_sub_abs:"FF00000000":"0F00000001":"EFFFFFFFFF":0
    882 
    883 Base test mbedtls_mpi_sub_mpi #1 (Test with negative result)
    884 mpi_sub_mpi:"5":"7":"-2"
    885 
    886 Base test mbedtls_mpi_sub_mpi #2 (Test with negative inputs)
    887 mpi_sub_mpi:"-5":"-7":"2"
    888 
    889 Base test mbedtls_mpi_sub_mpi #3 (Test with negative base)
    890 mpi_sub_mpi:"-5":"7":"-c"
    891 
    892 Base test mbedtls_mpi_sub_mpi #4 (Test with negative subtraction)
    893 mpi_sub_mpi:"5":"-7":"c"
    894 
    895 Test mbedtls_mpi_sub_mpi: 0 (null) - 0 (null)
    896 mpi_sub_mpi:"":"":"0"
    897 
    898 Test mbedtls_mpi_sub_mpi: 0 (null) - 0 (1 limb)
    899 mpi_sub_mpi:"":"00":"0"
    900 
    901 Test mbedtls_mpi_sub_mpi: 0 (null) - 1
    902 mpi_sub_mpi:"":"1":"-1"
    903 
    904 Test mbedtls_mpi_sub_mpi: 0 (null) - -1
    905 mpi_sub_mpi:"":"-1":"1"
    906 
    907 Test mbedtls_mpi_sub_mpi: 0 (1 limb) - 0 (null)
    908 mpi_sub_mpi:"00":"":"0"
    909 
    910 Test mbedtls_mpi_sub_mpi: 1 - 0 (null)
    911 mpi_sub_mpi:"1":"":"1"
    912 
    913 Test mbedtls_mpi_sub_mpi: -1 - 0 (null)
    914 mpi_sub_mpi:"-1":"":"-1"
    915 
    916 Test mbedtls_mpi_sub_mpi #1
    917 mpi_sub_mpi:"cb50e82a8583f44ee0025942e7362991b24e12663a0ddc234a57b0f7b4ff7b025bf5a6707dedc2898e70b739042c95a996283dffdf67558768784553c61e302e8812bc90f0bb0696870cfb910b560cefed8d99bbf7a00b31ccdbd56f3594e5a653cfd127d2167b13119e5c45c3f76b4e3d904a9bc0cbb43c33aa7f23b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"7d59bb22d0ccd7c1334b894851e69c098d02afef307ad3685a53b64082d787c232916b1657ae5ba8baacbd0f85357e53a6530270289bd45afcb8c984ae8b9770eecaf7c83f77e2827ce0ec315ddcb4495d3cf03451969c92c77c21e056888d1c672b3058287b351732b00fdc58c4dd7152abd8627b3b957c0ea314110"
    918 
    919 Test mbedtls_mpi_sub_mpi #2 (Test for negative result)
    920 mpi_sub_mpi:"1f55332c3a48b910f9942f6c914e58bef37a47ee45cb164a5b6b8d1006bf59a059c21449939ebebfdf517d2e1dbac88010d7b1f141e997bd6801ddaec9d05910f4f2de2b2c4d714e2c14a72fc7f17aa428d59c531627f09":"941379d00fed1491dec0abfc13b52b9049625b3c42c3a972a2549e7a3e1b12c5a304b23e9ed6e251b8af28a4b3124900b23138bfafda925ab3410d57d6f8f0dd8c8c32eb0b4329fbf792e43f9593e766fa0c3c0be077b4e5162616a6428c51b":"-941379d00fed1491bf6b78cfd96c727f4fce2bcfb17550b3aeda568bf84ffc7b4799252e981788b15eed145b1f738a40d2dfbb91921fc9daa2695b66950f5920248a553c4172d0eb02a0061469467618cdf794dc18863a40ed507a532c64612"
    921 
    922 Test mbedtls_mpi_sub_int #1
    923 mpi_sub_int:"10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd92ad4189":-9871232:"10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd9343e109"
    924 
    925 Test mbedtls_mpi_sub_int #2
    926 mpi_sub_int:"10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd92ad4189":9871232:"10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd9216a209"
    927 
    928 Test mbedtls_mpi_sub_int: 0 (null) - 0
    929 mpi_sub_int:"":0:"0"
    930 
    931 Test mbedtls_mpi_sub_int: 0 (null) - 1
    932 mpi_sub_int:"":1:"-1"
    933 
    934 Test mbedtls_mpi_sub_int: 0 (null) - -1
    935 mpi_sub_int:"":-1:"1"
    936 
    937 Test mbedtls_mpi_shift_l #1
    938 mpi_shift_l:"40":1:"80"
    939 
    940 Test mbedtls_mpi_shift_l #2
    941 mpi_shift_l:"1946e2958a85d8863ae21f4904fcc49478412534ed53eaf321f63f2a2227a3c63acbf50b6305595f90cfa8327f6db80d986fe96080bcbb5df1bdbe9b74fb8dedf2bddb3f8215b54dffd66409323bcc473e45a8fe9d08e77a511698b5dad0416305db7fcf":37:"328dc52b150bb10c75c43e9209f98928f0824a69daa7d5e643ec7e54444f478c7597ea16c60ab2bf219f5064fedb701b30dfd2c1017976bbe37b7d36e9f71bdbe57bb67f042b6a9bffacc8126477988e7c8b51fd3a11cef4a22d316bb5a082c60bb6ff9e000000000"
    942 
    943 Test mbedtls_mpi_shift_l: 0 (null) <<= 0
    944 mpi_shift_l:"":0:"0"
    945 
    946 Test mbedtls_mpi_shift_l: 0 (null) <<= 1
    947 mpi_shift_l:"":1:"0"
    948 
    949 Test mbedtls_mpi_shift_l: 0 (null) <<= 64
    950 mpi_shift_l:"":64:"0"
    951 
    952 Test mbedtls_mpi_shift_r #1
    953 mpi_shift_r:"80":1:"40"
    954 
    955 Test mbedtls_mpi_shift_r #2
    956 mpi_shift_r:"4a36ce2a2eba161116629d6196efb17ee4f01ef753cd32b9e952d4d69e4b2401e85e0c3ba0ea761f44e312db10209fb6b38963c9c0302dc67b1b531c32301d8d341968c734387ef8bc2496051e0bb530975839852d8dd15684788f9dca62cb0c372ac51":45:"251b6715175d0b088b314eb0cb77d8bf72780f7ba9e6995cf4a96a6b4f259200f42f061dd0753b0fa271896d88104fdb59c4b1e4e01816e33d8da98e19180ec69a0cb4639a1c3f7c5e124b028f05da984bac1cc296c6e8ab423c47cee531"
    957 
    958 Test mbedtls_mpi_shift_r #4 [#1]
    959 mpi_shift_r:"FFFFFFFFFFFFFFFF":63:"01"
    960 
    961 Test mbedtls_mpi_shift_r #4 [#2]
    962 mpi_shift_r:"FFFFFFFFFFFFFFFF":64:"00"
    963 
    964 Test mbedtls_mpi_shift_r #6
    965 mpi_shift_r:"FFFFFFFFFFFFFFFF":65:"00"
    966 
    967 Test mbedtls_mpi_shift_r #7
    968 mpi_shift_r:"FFFFFFFFFFFFFFFF":128:"00"
    969 
    970 Test mbedtls_mpi_shift_r: 0 (null) >>= 0
    971 mpi_shift_r:"":0:"0"
    972 
    973 Test mbedtls_mpi_shift_r: 0 (null) >>= 1
    974 mpi_shift_r:"":1:"0"
    975 
    976 Test mbedtls_mpi_shift_r: 0 (null) >>= 64
    977 mpi_shift_r:"":64:"0"
    978 
    979 Base test mbedtls_mpi_mul_mpi #1
    980 mpi_mul_mpi:"5":"7":"23"
    981 
    982 Base test mbedtls_mpi_mul_mpi #2
    983 mpi_mul_mpi:"-5":"7":"-23"
    984 
    985 Base test mbedtls_mpi_mul_mpi #3
    986 mpi_mul_mpi:"5":"-7":"-23"
    987 
    988 Base test mbedtls_mpi_mul_mpi #4
    989 mpi_mul_mpi:"-5":"-7":"23"
    990 
    991 Test mbedtls_mpi_mul_mpi: 0 (null) * 0 (null)
    992 mpi_mul_mpi:"":"":"0"
    993 
    994 Test mbedtls_mpi_mul_mpi: 0 (null) * 0 (1 limb)
    995 mpi_mul_mpi:"":"00":"0"
    996 
    997 Test mbedtls_mpi_mul_mpi: 0 (null) * 1
    998 mpi_mul_mpi:"":"01":"0"
    999 
   1000 Test mbedtls_mpi_mul_mpi: 0 (null) * -1
   1001 mpi_mul_mpi:"":"-01":"0"
   1002 
   1003 Test mbedtls_mpi_mul_mpi: 0 (1 limb) * -1
   1004 mpi_mul_mpi:"00":"-01":"0"
   1005 
   1006 Test mbedtls_mpi_mul_mpi: 0 (1 limb) * 0 (null)
   1007 mpi_mul_mpi:"00":"":"0"
   1008 
   1009 Test mbedtls_mpi_mul_mpi: 1 * 0 (null)
   1010 mpi_mul_mpi:"01":"":"0"
   1011 
   1012 Test mbedtls_mpi_mul_mpi: -1 * 0 (null)
   1013 mpi_mul_mpi:"-01":"":"0"
   1014 
   1015 Test mbedtls_mpi_mul_mpi: -1 * 0 (1 limb)
   1016 mpi_mul_mpi:"-01":"00":"0"
   1017 
   1018 Test mbedtls_mpi_mul_mpi #1
   1019 mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59"
   1020 
   1021 Test mbedtls_mpi_mul_mpi #1, leading 0 limb in B
   1022 mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59"
   1023 
   1024 Test mbedtls_mpi_mul_mpi #1, leading 0 limb in B, A < 0
   1025 mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59"
   1026 
   1027 Test mbedtls_mpi_mul_mpi #1, leading 0 limb in B, B < 0
   1028 mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"-000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59"
   1029 
   1030 Test mbedtls_mpi_mul_mpi #1, leading 0 limb in B, A < 0, B < 0
   1031 mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"-000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59"
   1032 
   1033 Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A
   1034 mpi_mul_mpi:"000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59"
   1035 
   1036 Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A, A < 0
   1037 mpi_mul_mpi:"-000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59"
   1038 
   1039 Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A, B < 0
   1040 mpi_mul_mpi:"000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59"
   1041 
   1042 Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A, A < 0, B < 0
   1043 mpi_mul_mpi:"-000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59"
   1044 
   1045 Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A and B
   1046 mpi_mul_mpi:"000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59"
   1047 
   1048 Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A and B, A < 0
   1049 mpi_mul_mpi:"-000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59"
   1050 
   1051 Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A and B, B < 0
   1052 mpi_mul_mpi:"000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"-000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59"
   1053 
   1054 Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A and B, A < 0, B < 0
   1055 mpi_mul_mpi:"-000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"-000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59"
   1056 
   1057 Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A
   1058 mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000"
   1059 
   1060 Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A, A < 0
   1061 mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000"
   1062 
   1063 Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A, B < 0
   1064 mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000"
   1065 
   1066 Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A, A < 0, B < 0
   1067 mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000"
   1068 
   1069 Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in B
   1070 mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000"
   1071 
   1072 Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in B, A < 0
   1073 mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000"
   1074 
   1075 Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in B, B < 0
   1076 mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000"
   1077 
   1078 Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in B, A < 0, B < 0
   1079 mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000"
   1080 
   1081 Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A and B
   1082 mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000"
   1083 
   1084 Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A and B, A < 0
   1085 mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000"
   1086 
   1087 Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A and B, B < 0
   1088 mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000"
   1089 
   1090 Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A and B, A < 0, B < 0
   1091 mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000"
   1092 
   1093 Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in A
   1094 mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf245100000000000000000000000000000000":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000"
   1095 
   1096 Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in A, A < 0
   1097 mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf245100000000000000000000000000000000":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000"
   1098 
   1099 Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in A, B < 0
   1100 mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf245100000000000000000000000000000000":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000"
   1101 
   1102 Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in A, A < 0, B < 0
   1103 mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf245100000000000000000000000000000000":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000"
   1104 
   1105 Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in B
   1106 mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c8900000000000000000000000000000000":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000"
   1107 
   1108 Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in B, A < 0
   1109 mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c8900000000000000000000000000000000":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000"
   1110 
   1111 Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in B, B < 0
   1112 mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c8900000000000000000000000000000000":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000"
   1113 
   1114 Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in B, A < 0, B < 0
   1115 mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c8900000000000000000000000000000000":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000"
   1116 
   1117 Test mbedtls_mpi_mul_int #1
   1118 mpi_mul_int:"10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd92ad4189":9871232:"9e22d6da18a33d1ef28d2a82242b3f6e9c9742f63e5d440f58a190bfaf23a7866e67589adb80":"=="
   1119 
   1120 Test mbedtls_mpi_mul_int #2 (Unsigned, thus failure)
   1121 mpi_mul_int:"10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd92ad4189":-9871232:"-9e22d6da18a33d1ef28d2a82242b3f6e9c9742f63e5d440f58a190bfaf23a7866e67589adb80":"!="
   1122 
   1123 Test mbedtls_mpi_mul_int #3
   1124 mpi_mul_int:"-10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd92ad4189":9871232:"-9e22d6da18a33d1ef28d2a82242b3f6e9c9742f63e5d440f58a190bfaf23a7866e67589adb80":"=="
   1125 
   1126 Test mbedtls_mpi_mul_int #4 (Unsigned, thus failure)
   1127 mpi_mul_int:"-10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd92ad4189":-9871232:"9e22d6da18a33d1ef28d2a82242b3f6e9c9742f63e5d440f58a190bfaf23a7866e67589adb80":"!="
   1128 
   1129 Test mbedtls_mpi_mul_int: 0 (null) * 0
   1130 mpi_mul_int:"":0:"":"=="
   1131 
   1132 Test mbedtls_mpi_mul_int: 0 (null) * 1
   1133 mpi_mul_int:"":1:"":"=="
   1134 
   1135 Test mbedtls_mpi_mul_int: 0 (null) * 0x1234
   1136 mpi_mul_int:"":0x1234:"":"=="
   1137 
   1138 Base test mbedtls_mpi_div_mpi #1
   1139 mpi_div_mpi:"3e8":"d":"4c":"c":0
   1140 
   1141 Base test mbedtls_mpi_div_mpi #2 (Divide by zero (1 limb))
   1142 mpi_div_mpi:"3e8":"0":"1":"1":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO
   1143 
   1144 Base test mbedtls_mpi_div_mpi #2 (Divide by zero (null))
   1145 mpi_div_mpi:"3e8":"":"1":"1":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO
   1146 
   1147 Base test mbedtls_mpi_div_mpi #3
   1148 mpi_div_mpi:"3e8":"-d":"-4c":"c":0
   1149 
   1150 Test mbedtls_mpi_div_mpi: 0 (null) / 0 (null)
   1151 mpi_div_mpi:"":"":"":"":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO
   1152 
   1153 Test mbedtls_mpi_div_mpi: 0 (null) / 0 (1 limb)
   1154 mpi_div_mpi:"":"0":"":"":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO
   1155 
   1156 Test mbedtls_mpi_div_mpi: 0 (1 limb) / 0 (null)
   1157 mpi_div_mpi:"0":"":"":"":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO
   1158 
   1159 Test mbedtls_mpi_div_mpi: 0 (1 limb) / 0 (1 limb)
   1160 mpi_div_mpi:"0":"0":"":"":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO
   1161 
   1162 Test mbedtls_mpi_div_mpi: 0 (null) / 1
   1163 mpi_div_mpi:"":"1":"":"":0
   1164 
   1165 Test mbedtls_mpi_div_mpi: 0 (null) / -1
   1166 mpi_div_mpi:"":"-1":"":"":0
   1167 
   1168 Test mbedtls_mpi_div_mpi: -0 (null) / 1
   1169 mpi_div_mpi:"-":"1":"":"":0
   1170 
   1171 Test mbedtls_mpi_div_mpi: -0 (null) / -1
   1172 mpi_div_mpi:"-":"-1":"":"":0
   1173 
   1174 Test mbedtls_mpi_div_mpi: -0 (null) / 42
   1175 mpi_div_mpi:"-":"2a":"":"":0
   1176 
   1177 Test mbedtls_mpi_div_mpi: -0 (null) / -42
   1178 mpi_div_mpi:"-":"-2a":"":"":0
   1179 
   1180 Test mbedtls_mpi_div_mpi #1
   1181 mpi_div_mpi:"9e22d6da18a33d1ef28d2a82242b3f6e9c9742f63e5d440f58a190bfaf23a7866e67589adb80":"22":"4a6abf75b13dc268ea9cc8b5b6aaf0ac85ecd437a4e0987fb13cf8d2acc57c0306c738c1583":"1a":0
   1182 
   1183 Test mbedtls_mpi_div_mpi #2
   1184 mpi_div_mpi:"503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5a":"2f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"1b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"1":0
   1185 
   1186 Test mbedtls_mpi_div_mpi #3
   1187 mpi_div_mpi:"3e8":"7":"8e":"6":0
   1188 
   1189 Test mbedtls_mpi_div_mpi #4
   1190 mpi_div_mpi:"309":"7":"6f":"0":0
   1191 
   1192 Base test mbedtls_mpi_div_int #1
   1193 mpi_div_int:"3e8":13:"4c":"c":0
   1194 
   1195 Base test mbedtls_mpi_div_int #2 (Divide by zero)
   1196 mpi_div_int:"3e8":0:"1":"1":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO
   1197 
   1198 Base test mbedtls_mpi_div_int #3
   1199 mpi_div_int:"3e8":-13:"-4c":"c":0
   1200 
   1201 Test mbedtls_mpi_div_int #1
   1202 mpi_div_int:"9e22d6da18a33d1ef28d2a82242b3f6e9c9742f63e5d440f58a190bfaf23a7866e67589adb80":34:"4a6abf75b13dc268ea9cc8b5b6aaf0ac85ecd437a4e0987fb13cf8d2acc57c0306c738c1583":"1a":0
   1203 
   1204 Test mbedtls_mpi_div_int #2
   1205 mpi_div_int:"9e22d6da18a33d1ef28d2a82242b3f6e9c9742f63e5d440f58a190bfaf23a7866e67589adb80":-34:"-4a6abf75b13dc268ea9cc8b5b6aaf0ac85ecd437a4e0987fb13cf8d2acc57c0306c738c1583":"1a":0
   1206 
   1207 Test mbedtls_mpi_div_int: 0 (null) / 0
   1208 mpi_div_int:"":0:"":"":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO
   1209 
   1210 Test mbedtls_mpi_div_int: 0 (1 limb) / 0
   1211 mpi_div_int:"00":0:"":"":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO
   1212 
   1213 Test mbedtls_mpi_div_int: 0 (null) / 1
   1214 mpi_div_int:"":1:"":"":0
   1215 
   1216 Base test mbedtls_mpi_mod_mpi #1
   1217 mpi_mod_mpi:"3e8":"d":"c":0
   1218 
   1219 Base test mbedtls_mpi_mod_mpi #2 (Divide by zero (null))
   1220 mpi_mod_mpi:"3e8":"":"0":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO
   1221 
   1222 Base test mbedtls_mpi_mod_mpi #2 (Divide by zero (1 limb))
   1223 mpi_mod_mpi:"3e8":"0":"0":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO
   1224 
   1225 Base test mbedtls_mpi_mod_mpi #3
   1226 mpi_mod_mpi:"-3e8":"d":"1":0
   1227 
   1228 Base test mbedtls_mpi_mod_mpi #4 (Negative modulo)
   1229 mpi_mod_mpi:"3e8":"-d":"-1":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
   1230 
   1231 Base test mbedtls_mpi_mod_mpi #5 (Negative modulo)
   1232 mpi_mod_mpi:"-3e8":"-d":"-c":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
   1233 
   1234 Test mbedtls_mpi_mod_mpi: 0 (null) % 1
   1235 mpi_mod_mpi:"":"1":"":0
   1236 
   1237 Test mbedtls_mpi_mod_mpi: 0 (null) % -1
   1238 mpi_mod_mpi:"":"-1":"":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
   1239 
   1240 Test mbedtls_mpi_mod_mpi: -0 (null) % 1
   1241 mpi_mod_mpi:"-":"1":"":0
   1242 
   1243 Test mbedtls_mpi_mod_mpi: -0 (null) % -1
   1244 mpi_mod_mpi:"-":"-1":"":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
   1245 
   1246 Test mbedtls_mpi_mod_mpi: -0 (null) % 42
   1247 mpi_mod_mpi:"-":"2a":"":0
   1248 
   1249 Test mbedtls_mpi_mod_mpi: -0 (null) % -42
   1250 mpi_mod_mpi:"-":"-2a":"":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
   1251 
   1252 Base test mbedtls_mpi_mod_int #1
   1253 mpi_mod_int:"3e8":0xd:0xc:0
   1254 
   1255 Base test mbedtls_mpi_mod_int #2 (Divide by zero)
   1256 mpi_mod_int:"3e8":0x0:0x0:MBEDTLS_ERR_MPI_DIVISION_BY_ZERO
   1257 
   1258 Base test mbedtls_mpi_mod_int #3
   1259 mpi_mod_int:"-3e8":0xd:0x1:0
   1260 
   1261 Base test mbedtls_mpi_mod_int #4 (Negative modulo)
   1262 mpi_mod_int:"3e8":-0xd:0x0:MBEDTLS_ERR_MPI_NEGATIVE_VALUE
   1263 
   1264 Base test mbedtls_mpi_mod_int #5 (Negative modulo)
   1265 mpi_mod_int:"-3e8":-0xd:0x0:MBEDTLS_ERR_MPI_NEGATIVE_VALUE
   1266 
   1267 Base test mbedtls_mpi_mod_int #6 (By 1)
   1268 mpi_mod_int:"3e8":0x1:0x0:0
   1269 
   1270 Base test mbedtls_mpi_mod_int #7 (By 2)
   1271 mpi_mod_int:"3e9":0x2:0x1:0
   1272 
   1273 Base test mbedtls_mpi_mod_int #8 (By 2)
   1274 mpi_mod_int:"3e8":0x2:0x0:0
   1275 
   1276 Test mbedtls_mpi_mod_int: 0 (null) % 1
   1277 mpi_mod_int:"":0x1:0x0:0
   1278 
   1279 Test mbedtls_mpi_mod_int: 0 (null) % 2
   1280 mpi_mod_int:"":0x2:0x0:0
   1281 
   1282 Test mbedtls_mpi_mod_int: 0 (null) % -1
   1283 mpi_mod_int:"":-0x1:0x0:MBEDTLS_ERR_MPI_NEGATIVE_VALUE
   1284 
   1285 Test mbedtls_mpi_mod_int: 0 (null) % -2
   1286 mpi_mod_int:"":-0x2:0x0:MBEDTLS_ERR_MPI_NEGATIVE_VALUE
   1287 
   1288 # CURRENTLY FAILS - SEE GITHUB ISSUE #6540
   1289 #Test mbedtls_mpi_mod_int: 230772460340063000000100500000300000010 % 5178236083361335880 -> 3386266129388798810
   1290 #depends_on:MBEDTLS_HAVE_INT64
   1291 #mpi_mod_int:"AD9D28BF6C4E98FDF156BF0980CEE30A":0x47DCCA4847DCCA48:0x2EFE6F1A7D28035A:0
   1292 
   1293 Test mbedtls_mpi_mod_mpi: 230772460340063000000100500000300000010 % 5178236083361335880 -> 3386266129388798810
   1294 mpi_mod_mpi:"AD9D28BF6C4E98FDF156BF0980CEE30A":"47DCCA4847DCCA48":"2EFE6F1A7D28035A":0
   1295 
   1296 # CURRENTLY FAILS - SEE GITHUB ISSUE #6540
   1297 #Test mbedtls_mpi_mod_int: 230772460340062999996714233870911201200 % 5178236083361335880 -> 0
   1298 #depends_on:MBEDTLS_HAVE_INT64
   1299 #mpi_mod_int:"AD9D28BF6C4E98FDC2584FEF03A6DFB0":0x47DCCA4847DCCA48:0x0:0
   1300 
   1301 Test mbedtls_mpi_mod_mpi: 230772460340062999996714233870911201200 % 5178236083361335880 -> 0
   1302 mpi_mod_mpi:"AD9D28BF6C4E98FDC2584FEF03A6DFB0":"47DCCA4847DCCA48":"0":0
   1303 
   1304 # CURRENTLY FAILS WHEN MPIS ARE 32-BIT (ISSUE #6450): WHEN FIXED, REMOVE "depends_on" LINE
   1305 Test mbedtls_mpi_mod_int: 230772460340063000000100500000300000010 % 1205652040 -> 3644370
   1306 depends_on:MBEDTLS_HAVE_INT64
   1307 mpi_mod_int:"AD9D28BF6C4E98FDF156BF0980CEE30A":0x47DCCA48:0x379BD2:0
   1308 
   1309 Test mbedtls_mpi_mod_mpi: 230772460340063000000100500000300000010 % 1205652040 -> 3644370
   1310 mpi_mod_mpi:"AD9D28BF6C4E98FDF156BF0980CEE30A":"47DCCA48":"379BD2":0
   1311 
   1312 # CURRENTLY FAILS WHEN MPIS ARE 32-BIT (ISSUE #6450): WHEN FIXED, REMOVE "depends_on" LINE
   1313 Test mbedtls_mpi_mod_int: 230772460340063000000100500000296355640 % 1205652040 -> 0
   1314 depends_on:MBEDTLS_HAVE_INT64
   1315 mpi_mod_int:"AD9D28BF6C4E98FDF156BF0980974738":0x47DCCA48:0x0:0
   1316 
   1317 Test mbedtls_mpi_mod_mpi: 230772460340063000000100500000296355640 % 1205652040 -> 0
   1318 mpi_mod_mpi:"AD9D28BF6C4E98FDF156BF0980974738":"47DCCA48":"0":0
   1319 
   1320 Base test mbedtls_mpi_exp_mod #1
   1321 mpi_exp_mod:"17":"d":"1d":"18":0
   1322 
   1323 Base test mbedtls_mpi_exp_mod #2 (Even N)
   1324 mpi_exp_mod:"17":"d":"1e":"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
   1325 
   1326 Base test mbedtls_mpi_exp_mod #2 (N = 0 (null))
   1327 mpi_exp_mod:"17":"d":"":"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
   1328 
   1329 Base test mbedtls_mpi_exp_mod #3 (Negative N)
   1330 mpi_exp_mod:"17":"d":"-1d":"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
   1331 
   1332 Base test mbedtls_mpi_exp_mod #4 (Negative base)
   1333 mpi_exp_mod:"-17":"d":"1d":"5":0
   1334 
   1335 Base test mbedtls_mpi_exp_mod #5 (Negative exponent)
   1336 mpi_exp_mod:"17":"-d":"1d":"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
   1337 
   1338 Base test mbedtls_mpi_exp_mod #6 (Negative base + exponent)
   1339 mpi_exp_mod:"-17":"-d":"1d":"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
   1340 
   1341 Test mbedtls_mpi_exp_mod: 0 (null) ^ 0 (null) mod 9
   1342 mpi_exp_mod:"":"":"09":"1":0
   1343 
   1344 Test mbedtls_mpi_exp_mod: 0 (null) ^ 0 (1 limb) mod 9
   1345 mpi_exp_mod:"":"00":"09":"1":0
   1346 
   1347 Test mbedtls_mpi_exp_mod: 0 (null) ^ 1 mod 9
   1348 mpi_exp_mod:"":"01":"09":"":0
   1349 
   1350 Test mbedtls_mpi_exp_mod: 0 (null) ^ 2 mod 9
   1351 mpi_exp_mod:"":"02":"09":"":0
   1352 
   1353 Test mbedtls_mpi_exp_mod: 0 (1 limb) ^ 0 (null) mod 9
   1354 mpi_exp_mod:"00":"":"09":"1":0
   1355 
   1356 Test mbedtls_mpi_exp_mod: 0 (1 limb) ^ 0 (1 limb) mod 9
   1357 mpi_exp_mod:"00":"00":"09":"1":0
   1358 
   1359 Test mbedtls_mpi_exp_mod: 0 (1 limb) ^ 1 mod 9
   1360 mpi_exp_mod:"00":"01":"09":"":0
   1361 
   1362 Test mbedtls_mpi_exp_mod: 0 (1 limb) ^ 2 mod 9
   1363 mpi_exp_mod:"00":"02":"09":"":0
   1364 
   1365 Test mbedtls_mpi_exp_mod: 1 ^ 0 (null) mod 9
   1366 mpi_exp_mod:"01":"":"09":"1":0
   1367 
   1368 Test mbedtls_mpi_exp_mod: 4 ^ 0 (null) mod 9
   1369 mpi_exp_mod:"04":"":"09":"1":0
   1370 
   1371 Test mbedtls_mpi_exp_mod: 10 ^ 0 (null) mod 9
   1372 mpi_exp_mod:"0a":"":"09":"1":0
   1373 
   1374 Test mbedtls_mpi_exp_mod: 1 ^ 0 (1 limb) mod 9
   1375 mpi_exp_mod:"01":"00":"09":"1":0
   1376 
   1377 Test mbedtls_mpi_exp_mod: 4 ^ 0 (1 limb) mod 9
   1378 mpi_exp_mod:"04":"00":"09":"1":0
   1379 
   1380 Test mbedtls_mpi_exp_mod: 10 ^ 0 (1 limb) mod 9
   1381 mpi_exp_mod:"0a":"00":"09":"1":0
   1382 
   1383 Test mbedtls_mpi_exp_mod: -3 ^ 3 mod 27
   1384 mpi_exp_mod:"-3":"3":"1b":"1b":0
   1385 
   1386 Test mbedtls_mpi_exp_mod: MAX_SIZE exponent
   1387 mpi_exp_mod_size:2:MBEDTLS_MPI_MAX_SIZE:10:"":0
   1388 
   1389 Test mbedtls_mpi_exp_mod: MAX_SIZE + 1 exponent
   1390 mpi_exp_mod_size:2:MBEDTLS_MPI_MAX_SIZE + 1:10:"":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
   1391 
   1392 Test mbedtls_mpi_exp_mod: MAX_SIZE modulus
   1393 mpi_exp_mod_size:2:2:MBEDTLS_MPI_MAX_SIZE:"":0
   1394 
   1395 Test mbedtls_mpi_exp_mod: MAX_SIZE + 1 modulus
   1396 mpi_exp_mod_size:2:2:MBEDTLS_MPI_MAX_SIZE + 1:"":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
   1397 
   1398 Test mbedtls_mpi_exp_mod: MAX_SIZE exponent and modulus
   1399 mpi_exp_mod_size:2:MBEDTLS_MPI_MAX_SIZE:MBEDTLS_MPI_MAX_SIZE:"":0
   1400 
   1401 Test mbedtls_mpi_exp_mod: MAX_SIZE + 1 exponent and modulus
   1402 mpi_exp_mod_size:2:MBEDTLS_MPI_MAX_SIZE + 1:MBEDTLS_MPI_MAX_SIZE + 1:"":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
   1403 
   1404 Test mbedtls_mpi_exp_mod #1
   1405 depends_on:MPI_MAX_BITS_LARGER_THAN_792
   1406 mpi_exp_mod:"109fe45714866e56fdd4ad9b6b686df27224afb7868cf4f0cbb794526932853cbf0beea61594166654d13cd9fe0d9da594a97ee20230f12fb5434de73fb4f8102725a01622b31b1ea42e3a265019039ac1df31869bd97930d792fb72cdaa971d8a8015af":"33ae3764fd06a00cdc3cba5c45dc79a9edb4e67e4d057cc74139d531c25190d111775fc4a0f4439b8b1930bbd766e7b46f170601f316c8a18ff8d5cb5ca5581f168345d101edb462b7d93b7c520ccb8fb276b447a63d869203cc11f67a1122dc4da034218de85e39":"11a9351d2d32ccd568e75bf8b4ebbb2a36be691b55832edac662ff79803df8af525fba453068be16ac3920bcc1b468f8f7fe786e0fa4ecbabcad31e5e3b05def802eb8600deaf11ef452487db878df20a80606e4bb6a163b83895d034cc8b53dbcd005be42ffdd2ce99bed06089a0b79d":"37880b547b41bda303bddda307eefe24b4aedf076c9b814b903aaf328a10825c7e259a20afc6b70b487bb21a6d32d0ee98a0b9f42ff812c901e2f79237fe3e00856992dd69d93ebc0664c75863829621751b0ac35a8ae8a0965841607d3099b8e0ed24442749ba09acbcb165598dcd40":0
   1407 
   1408 Test mbedtls_mpi_exp_mod (Negative base) [#1]
   1409 mpi_exp_mod:"-2540be400":"2540be400":"1869f":"1":0
   1410 
   1411 Test mbedtls_mpi_exp_mod (Negative base) [#2]
   1412 depends_on:MPI_MAX_BITS_LARGER_THAN_792
   1413 mpi_exp_mod:"-9f13012cd92aa72fb86ac8879d2fde4f7fd661aaae43a00971f081cc60ca277059d5c37e89652e2af2585d281d66ef6a9d38a117e9608e9e7574cd142dc55278838a2161dd56db9470d4c1da2d5df15a908ee2eb886aaa890f23be16de59386663a12f1afbb325431a3e835e3fd89b98b96a6f77382f458ef9a37e1f84a03045c8676ab55291a94c2228ea15448ee96b626b998":"40a54d1b9e86789f06d9607fb158672d64867665c73ee9abb545fc7a785634b354c7bae5b962ce8040cf45f2c1f3d3659b2ee5ede17534c8fc2ec85c815e8df1fe7048d12c90ee31b88a68a081f17f0d8ce5f4030521e9400083bcea73a429031d4ca7949c2000d597088e0c39a6014d8bf962b73bb2e8083bd0390a4e00b9b3":"eeaf0ab9adb38dd69c33f80afa8fc5e86072618775ff3c0b9ea2314c9c256576d674df7496ea81d3383b4813d692c6e0e0d5d8e250b98be48e495c1d6089dad15dc7d7b46154d6b6ce8ef4ad69b15d4982559b297bcf1885c529f566660e57ec68edbc3c05726cc02fd4cbf4976eaa9afd5138fe8376435b9fc61d2fc0eb06e3":"21acc7199e1b90f9b4844ffe12c19f00ec548c5d32b21c647d48b6015d8eb9ec9db05b4f3d44db4227a2b5659c1a7cceb9d5fa8fa60376047953ce7397d90aaeb7465e14e820734f84aa52ad0fc66701bcbb991d57715806a11531268e1e83dd48288c72b424a6287e9ce4e5cc4db0dd67614aecc23b0124a5776d36e5c89483":0
   1414 
   1415 Test mbedtls_mpi_exp_mod (N.n=3, RR.n=1 on 32 bit)
   1416 depends_on:MBEDTLS_HAVE_INT32
   1417 mpi_exp_mod_min_RR:"10":"2":"10000000100000001":"100":0
   1418 
   1419 Test mbedtls_mpi_exp_mod (N.n=3, RR.n=1 on 64 bit)
   1420 depends_on:MBEDTLS_HAVE_INT64
   1421 mpi_exp_mod_min_RR:"10":"2":"100000000000000010000000000000001":"100":0
   1422 
   1423 Base test GCD #1
   1424 mpi_gcd:"2b5":"261":"15"
   1425 
   1426 Base test GCD #2
   1427 mpi_gcd:"6e4":"364":"1c"
   1428 
   1429 Base test GCD #3
   1430 mpi_gcd:"2dcdb10b":"2050d306":"1"
   1431 
   1432 Test GCD: 0 (null), 0 (null)
   1433 mpi_gcd:"":"":"0"
   1434 
   1435 Test GCD: 0 (null), 0 (1 limb)
   1436 mpi_gcd:"":"00":"0"
   1437 
   1438 Test GCD: 0 (null), 3
   1439 mpi_gcd:"":"03":"3"
   1440 
   1441 Test GCD: 0 (null), 6
   1442 mpi_gcd:"":"06":"6"
   1443 
   1444 Test GCD: 0 (1 limb), 0 (null)
   1445 mpi_gcd:"00":"":"0"
   1446 
   1447 Test GCD: 0 (1 limb), 3
   1448 mpi_gcd:"00":"03":"3"
   1449 
   1450 Test GCD: 0 (1 limb), 6
   1451 mpi_gcd:"00":"06":"6"
   1452 
   1453 Test GCD: 3, 0 (null)
   1454 mpi_gcd:"03":"":"3"
   1455 
   1456 Test GCD: 3, 0 (1 limb)
   1457 mpi_gcd:"03":"00":"3"
   1458 
   1459 Test GCD: 6, 0 (null)
   1460 mpi_gcd:"06":"":"6"
   1461 
   1462 Test GCD: 6, 0 (1 limb)
   1463 mpi_gcd:"06":"00":"6"
   1464 
   1465 Test GCD: gcd=1, 0 < A < B
   1466 mpi_gcd:"109fe45714866e56fdd4ad9b6b686df27224afb7868cf4f0cbb794526932853cbf0beea61594166654d13cd9fe0d9da594a97ee20230f12fb5434de73fb4f8102725a01622b31b1ea42e3a265019039ac1df31869bd97930d792fb72cdaa971d8a8015af":"33ae3764fd06a00cdc3cba5c45dc79a9edb4e67e4d057cc74139d531c25190d111775fc4a0f4439b8b1930bbd766e7b46f170601f316c8a18ff8d5cb5ca5581f168345d101edb462b7d93b7c520ccb8fb276b447a63d869203cc11f67a1122dc4da034218de85e39":"1"
   1467 
   1468 Test GCD: gcd=1, 0 < B < A
   1469 mpi_gcd:"33ae3764fd06a00cdc3cba5c45dc79a9edb4e67e4d057cc74139d531c25190d111775fc4a0f4439b8b1930bbd766e7b46f170601f316c8a18ff8d5cb5ca5581f168345d101edb462b7d93b7c520ccb8fb276b447a63d869203cc11f67a1122dc4da034218de85e39":"109fe45714866e56fdd4ad9b6b686df27224afb7868cf4f0cbb794526932853cbf0beea61594166654d13cd9fe0d9da594a97ee20230f12fb5434de73fb4f8102725a01622b31b1ea42e3a265019039ac1df31869bd97930d792fb72cdaa971d8a8015af":"1"
   1470 
   1471 Test GCD: gcd=1, A > 0, B < 0
   1472 mpi_gcd:"109fe45714866e56fdd4ad9b6b686df27224afb7868cf4f0cbb794526932853cbf0beea61594166654d13cd9fe0d9da594a97ee20230f12fb5434de73fb4f8102725a01622b31b1ea42e3a265019039ac1df31869bd97930d792fb72cdaa971d8a8015af":"-33ae3764fd06a00cdc3cba5c45dc79a9edb4e67e4d057cc74139d531c25190d111775fc4a0f4439b8b1930bbd766e7b46f170601f316c8a18ff8d5cb5ca5581f168345d101edb462b7d93b7c520ccb8fb276b447a63d869203cc11f67a1122dc4da034218de85e39":"1"
   1473 
   1474 Test GCD: gcd=1, A < 0 < B, |A| < |B|
   1475 mpi_gcd:"-109fe45714866e56fdd4ad9b6b686df27224afb7868cf4f0cbb794526932853cbf0beea61594166654d13cd9fe0d9da594a97ee20230f12fb5434de73fb4f8102725a01622b31b1ea42e3a265019039ac1df31869bd97930d792fb72cdaa971d8a8015af":"33ae3764fd06a00cdc3cba5c45dc79a9edb4e67e4d057cc74139d531c25190d111775fc4a0f4439b8b1930bbd766e7b46f170601f316c8a18ff8d5cb5ca5581f168345d101edb462b7d93b7c520ccb8fb276b447a63d869203cc11f67a1122dc4da034218de85e39":"1"
   1476 
   1477 Test GCD: gcd=1, B < A < 0
   1478 mpi_gcd:"-109fe45714866e56fdd4ad9b6b686df27224afb7868cf4f0cbb794526932853cbf0beea61594166654d13cd9fe0d9da594a97ee20230f12fb5434de73fb4f8102725a01622b31b1ea42e3a265019039ac1df31869bd97930d792fb72cdaa971d8a8015af":"-33ae3764fd06a00cdc3cba5c45dc79a9edb4e67e4d057cc74139d531c25190d111775fc4a0f4439b8b1930bbd766e7b46f170601f316c8a18ff8d5cb5ca5581f168345d101edb462b7d93b7c520ccb8fb276b447a63d869203cc11f67a1122dc4da034218de85e39":"1"
   1479 
   1480 Test GCD: gcd=2, 0 < A < B
   1481 mpi_gcd:"213fc8ae290cdcadfba95b36d6d0dbe4e4495f6f0d19e9e1976f28a4d2650a797e17dd4c2b282ccca9a279b3fc1b3b4b2952fdc40461e25f6a869bce7f69f0204e4b402c4566363d485c744ca032073583be630d37b2f261af25f6e59b552e3b15002b5e":"675c6ec9fa0d4019b87974b88bb8f353db69ccfc9a0af98e8273aa6384a321a222eebf8941e8873716326177aecdcf68de2e0c03e62d91431ff1ab96b94ab03e2d068ba203db68c56fb276f8a419971f64ed688f4c7b0d24079823ecf42245b89b4068431bd0bc72":"2"
   1482 
   1483 Test GCD: gcd=2, 0 < B < A
   1484 mpi_gcd:"675c6ec9fa0d4019b87974b88bb8f353db69ccfc9a0af98e8273aa6384a321a222eebf8941e8873716326177aecdcf68de2e0c03e62d91431ff1ab96b94ab03e2d068ba203db68c56fb276f8a419971f64ed688f4c7b0d24079823ecf42245b89b4068431bd0bc72":"213fc8ae290cdcadfba95b36d6d0dbe4e4495f6f0d19e9e1976f28a4d2650a797e17dd4c2b282ccca9a279b3fc1b3b4b2952fdc40461e25f6a869bce7f69f0204e4b402c4566363d485c744ca032073583be630d37b2f261af25f6e59b552e3b15002b5e":"2"
   1485 
   1486 Test GCD: gcd=3, 0 < A < B
   1487 mpi_gcd:"31dfad053d934b04f97e08d2423949d7566e0f2693a6ded26326bcf73b978fb63d23cbf240bc4332fe73b68dfa28d8f0bdfc7ca60692d38f1fc9e9b5bf1ee8307570e0426819515bec8aae72f04b0ad0459d9493d38c6b9286b8f25868ffc5589f80410d":"9b0aa62ef713e02694b62f14d1956cfdc91eb37ae7107655c3ad7f9546f4b27334661f4de2dccad2a14b92338634b71d4d451205d94459e4afea816215f0085d4389d17305c91d28278bb274f62662af17641cd6f2b893b60b6435e36e336894e8e09c64a9b91aab":"3"
   1488 
   1489 Test GCD: gcd=3, 0 < B < A
   1490 mpi_gcd:"9b0aa62ef713e02694b62f14d1956cfdc91eb37ae7107655c3ad7f9546f4b27334661f4de2dccad2a14b92338634b71d4d451205d94459e4afea816215f0085d4389d17305c91d28278bb274f62662af17641cd6f2b893b60b6435e36e336894e8e09c64a9b91aab":"31dfad053d934b04f97e08d2423949d7566e0f2693a6ded26326bcf73b978fb63d23cbf240bc4332fe73b68dfa28d8f0bdfc7ca60692d38f1fc9e9b5bf1ee8307570e0426819515bec8aae72f04b0ad0459d9493d38c6b9286b8f25868ffc5589f80410d":"3"
   1491 
   1492 Test GCD: gcd=4, 0 < A < B
   1493 mpi_gcd:"427f915c5219b95bf752b66dada1b7c9c892bede1a33d3c32ede5149a4ca14f2fc2fba98565059995344f367f836769652a5fb8808c3c4bed50d379cfed3e0409c9680588acc6c7a90b8e89940640e6b077cc61a6f65e4c35e4bedcb36aa5c762a0056bc":"ceb8dd93f41a803370f2e9711771e6a7b6d399f93415f31d04e754c70946434445dd7f1283d10e6e2c64c2ef5d9b9ed1bc5c1807cc5b22863fe3572d7295607c5a0d174407b6d18adf64edf148332e3ec9dad11e98f61a480f3047d9e8448b713680d08637a178e4":"4"
   1494 
   1495 Test GCD: gcd=4, 0 < B < A
   1496 mpi_gcd:"ceb8dd93f41a803370f2e9711771e6a7b6d399f93415f31d04e754c70946434445dd7f1283d10e6e2c64c2ef5d9b9ed1bc5c1807cc5b22863fe3572d7295607c5a0d174407b6d18adf64edf148332e3ec9dad11e98f61a480f3047d9e8448b713680d08637a178e4":"427f915c5219b95bf752b66dada1b7c9c892bede1a33d3c32ede5149a4ca14f2fc2fba98565059995344f367f836769652a5fb8808c3c4bed50d379cfed3e0409c9680588acc6c7a90b8e89940640e6b077cc61a6f65e4c35e4bedcb36aa5c762a0056bc":"4"
   1497 
   1498 Test GCD: gcd=6, 0 < A < B
   1499 mpi_gcd:"63bf5a0a7b269609f2fc11a4847293aeacdc1e4d274dbda4c64d79ee772f1f6c7a4797e481788665fce76d1bf451b1e17bf8f94c0d25a71e3f93d36b7e3dd060eae1c084d032a2b7d9155ce5e09615a08b3b2927a718d7250d71e4b0d1ff8ab13f00821a":"136154c5dee27c04d296c5e29a32ad9fb923d66f5ce20ecab875aff2a8de964e668cc3e9bc5b995a5429724670c696e3a9a8a240bb288b3c95fd502c42be010ba8713a2e60b923a504f1764e9ec4cc55e2ec839ade571276c16c86bc6dc66d129d1c138c953723556":"6"
   1500 
   1501 Test GCD: gcd=6, 0 < B < A
   1502 mpi_gcd:"136154c5dee27c04d296c5e29a32ad9fb923d66f5ce20ecab875aff2a8de964e668cc3e9bc5b995a5429724670c696e3a9a8a240bb288b3c95fd502c42be010ba8713a2e60b923a504f1764e9ec4cc55e2ec839ade571276c16c86bc6dc66d129d1c138c953723556":"63bf5a0a7b269609f2fc11a4847293aeacdc1e4d274dbda4c64d79ee772f1f6c7a4797e481788665fce76d1bf451b1e17bf8f94c0d25a71e3f93d36b7e3dd060eae1c084d032a2b7d9155ce5e09615a08b3b2927a718d7250d71e4b0d1ff8ab13f00821a":"6"
   1503 
   1504 Test GCD: 0 < A = B
   1505 mpi_gcd:"109fe45714866e56fdd4ad9b6b686df27224afb7868cf4f0cbb794526932853cbf0beea61594166654d13cd9fe0d9da594a97ee20230f12fb5434de73fb4f8102725a01622b31b1ea42e3a265019039ac1df31869bd97930d792fb72cdaa971d8a8015af":"109fe45714866e56fdd4ad9b6b686df27224afb7868cf4f0cbb794526932853cbf0beea61594166654d13cd9fe0d9da594a97ee20230f12fb5434de73fb4f8102725a01622b31b1ea42e3a265019039ac1df31869bd97930d792fb72cdaa971d8a8015af":"109fe45714866e56fdd4ad9b6b686df27224afb7868cf4f0cbb794526932853cbf0beea61594166654d13cd9fe0d9da594a97ee20230f12fb5434de73fb4f8102725a01622b31b1ea42e3a265019039ac1df31869bd97930d792fb72cdaa971d8a8015af"
   1506 
   1507 Base test mbedtls_mpi_inv_mod #1
   1508 mpi_inv_mod:"3":"b":"4":0
   1509 
   1510 Test mbedtls_mpi_inv_mod: mod 0 (null)
   1511 mpi_inv_mod:"3":"":"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
   1512 
   1513 Test mbedtls_mpi_inv_mod: mod 0 (1 limb)
   1514 mpi_inv_mod:"3":"0":"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
   1515 
   1516 Test mbedtls_mpi_inv_mod: mod negative
   1517 mpi_inv_mod:"3":"-b":"4":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
   1518 
   1519 Test mbedtls_mpi_inv_mod: 2^-1 mod 4
   1520 mpi_inv_mod:"2":"4":"0":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
   1521 
   1522 Test mbedtls_mpi_inv_mod: mod 1
   1523 mpi_inv_mod:"3":"1":"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
   1524 
   1525 Test mbedtls_mpi_inv_mod: 0 (null) ^-1
   1526 mpi_inv_mod:"":"11":"":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
   1527 
   1528 Test mbedtls_mpi_inv_mod: 0 (1 limb) ^-1
   1529 mpi_inv_mod:"00":"11":"":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
   1530 
   1531 Test mbedtls_mpi_inv_mod #1
   1532 mpi_inv_mod:"aa4df5cb14b4c31237f98bd1faf527c283c2d0f3eec89718664ba33f9762907c":"fffbbd660b94412ae61ead9c2906a344116e316a256fd387874c6c675b1d587d":"8d6a5c1d7adeae3e94b9bcd2c47e0d46e778bc8804a2cc25c02d775dc3d05b0c":0
   1533 
   1534 Base test mbedtls_mpi_is_prime #1
   1535 depends_on:MBEDTLS_GENPRIME
   1536 mpi_is_prime:"0":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
   1537 
   1538 Base test mbedtls_mpi_is_prime #2
   1539 depends_on:MBEDTLS_GENPRIME
   1540 mpi_is_prime:"1":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
   1541 
   1542 Base test mbedtls_mpi_is_prime #3
   1543 depends_on:MBEDTLS_GENPRIME
   1544 mpi_is_prime:"2":0
   1545 
   1546 Base test mbedtls_mpi_is_prime #4
   1547 depends_on:MBEDTLS_GENPRIME
   1548 mpi_is_prime:"3":0
   1549 
   1550 Base test mbedtls_mpi_is_prime #5
   1551 depends_on:MBEDTLS_GENPRIME
   1552 mpi_is_prime:"4":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
   1553 
   1554 Base test mbedtls_mpi_is_prime #6
   1555 depends_on:MBEDTLS_GENPRIME
   1556 mpi_is_prime:"5":0
   1557 
   1558 Base test mbedtls_mpi_is_prime #7
   1559 depends_on:MBEDTLS_GENPRIME
   1560 mpi_is_prime:"1b":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
   1561 
   1562 Base test mbedtls_mpi_is_prime #8
   1563 depends_on:MBEDTLS_GENPRIME
   1564 mpi_is_prime:"2f":0
   1565 
   1566 Test mbedtls_mpi_is_prime #1a
   1567 depends_on:MBEDTLS_GENPRIME
   1568 mpi_is_prime:"b91ba63180c726fbd57786f27f1ede97a3b40c59a7fcfb5898f076e9af57028d":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
   1569 
   1570 Test mbedtls_mpi_is_prime #1b
   1571 depends_on:MBEDTLS_GENPRIME
   1572 mpi_is_prime:"b3a119602ee213cde28581ecd892e0f592a338655dce4ca88054b3d124d0e561":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
   1573 
   1574 Test mbedtls_mpi_is_prime #2a
   1575 depends_on:MBEDTLS_GENPRIME
   1576 mpi_is_prime:"284139ea19c139ebe09a8111926aaa39a2c2be12ed487a809d3cb5bc55854725b4cdcb5734c58f90b2f60d99cc1950cdbc8d651793e93c9c6f0ead752500a32c56c62082912b66132b2a6aa42ada923e1ad22ceb7ba0123":0
   1577 
   1578 Test mbedtls_mpi_is_prime #2b
   1579 depends_on:MBEDTLS_GENPRIME
   1580 mpi_is_prime:"284139ea19c139ebe09a8111926aaa39a2c2be12ed487a809d3cb5bc55854725b4cdcb5734c58f90b2f60d99cc1950cdbc8d651793e93c9c6f0ead752500a32c56c62082912b66132b2a6aa42ada923e1ad22ceb7ba00c1":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
   1581 
   1582 Test mbedtls_mpi_is_prime #3
   1583 depends_on:MBEDTLS_GENPRIME
   1584 mpi_is_prime:"257ffffffffffffffffff":0
   1585 
   1586 Test mbedtls_mpi_is_prime #4
   1587 depends_on:MBEDTLS_GENPRIME
   1588 mpi_is_prime:"a1ffffffffffffffffffff":0
   1589 
   1590 Test mbedtls_mpi_is_prime #5 [#1]
   1591 depends_on:MBEDTLS_GENPRIME
   1592 mpi_is_prime:"397ffffffffffffffffffffffffffff":0
   1593 
   1594 Test mbedtls_mpi_is_prime #5 [#2]
   1595 depends_on:MBEDTLS_GENPRIME
   1596 mpi_is_prime:"aaaaaaaaaaaaaab":0
   1597 
   1598 Test mbedtls_mpi_is_prime #6
   1599 depends_on:MBEDTLS_GENPRIME
   1600 mpi_is_prime:"2aaaaaaaaaaaaaaaaaab":0
   1601 
   1602 Test mbedtls_mpi_is_prime #7
   1603 depends_on:MBEDTLS_GENPRIME
   1604 mpi_is_prime:"aaaaaaaaaaaaaaaaaaaaaaaab":0
   1605 
   1606 Test mbedtls_mpi_is_prime #8
   1607 depends_on:MBEDTLS_GENPRIME
   1608 mpi_is_prime:"2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaab":0
   1609 
   1610 Test mbedtls_mpi_is_prime #9
   1611 depends_on:MBEDTLS_GENPRIME
   1612 mpi_is_prime:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":0
   1613 
   1614 Test mbedtls_mpi_is_prime #10
   1615 depends_on:MBEDTLS_GENPRIME
   1616 mpi_is_prime:"cb50e82a8583f44ee0025942e7362991b24e12663a0ddc234a57b0f7b4ff7b025bf5a6707dedc2898e70b739042c95a996283dffdf67558768784553c61e302e8812bc90f0bb0696870cfb910b560cefed8d99bbf7a00b31ccdbd56f3594e5a653cfd127d2167b13119e5c45c3f76b4e3d904a9bc0cbb43c33aa7f23b":0
   1617 
   1618 Test mbedtls_mpi_is_prime #11
   1619 depends_on:MBEDTLS_GENPRIME
   1620 mpi_is_prime:"7a364ab3de755f924642bd5273524234f78395da1ed9098f39af4fe248288b0cb7f1c27214588969479d7dc9f0d327b5544dd4c095aa1fa271df421fe9ee460855cc8423d223e2c85dc793f6babdca7fc804ea1f408f867db053bfd98c45085ea5d805c78d2863bacdfcaf4c6147ebb74a9056045074785714c0b84ed":0
   1621 
   1622 Test mbedtls_mpi_is_prime #12
   1623 depends_on:MBEDTLS_GENPRIME
   1624 mpi_is_prime:"9c3525e8404f89b7d30b3ccfdb0fab17f81adebbac1b6c6bf558a796014fe3b6cd2c4445c0826d7ef5f5d3aff5ac108185675d2159cd275c64812f24da66dbb0147efc6a3d2f8060e8304f48844abc9d33686087ccc11f":0
   1625 
   1626 Test mbedtls_mpi_is_prime #13
   1627 depends_on:MBEDTLS_GENPRIME
   1628 mpi_is_prime:"284139ea19c139ebe09a8111926aaa39a2c2be12ed487a809d3cb5bc55854725b4cdcb5734c58f90b2f60d99cc1950cdbc8d651793e93c9c6f0ead752500a32c56c62082912b66132b2a6aa42ada923e1ad22ceb7ba0123":0
   1629 
   1630 Test mbedtls_mpi_is_prime #14
   1631 depends_on:MBEDTLS_GENPRIME
   1632 mpi_is_prime:"2eede25f74336afd1f51cbc4e809f8bb746ffac49335d129d1ff322ee3498b2b8144f0b136de076db169da4f4436de1f0c715b3d255272b4d77523174081a2fb703f82409185e0ef73e5a8bdf94e5b789fb7bf9be8eec9f":0
   1633 
   1634 Test mbedtls_mpi_is_prime #15
   1635 depends_on:MBEDTLS_GENPRIME
   1636 mpi_is_prime:"7fffffffffffffffffffffffffffffff":0
   1637 
   1638 Test mbedtls_mpi_is_prime #16
   1639 depends_on:MBEDTLS_GENPRIME
   1640 mpi_is_prime:"7fffffff":0
   1641 
   1642 Test mbedtls_mpi_is_prime #17
   1643 depends_on:MBEDTLS_GENPRIME
   1644 mpi_is_prime:"39531fcd":0
   1645 
   1646 Test mbedtls_mpi_is_prime #18
   1647 depends_on:MBEDTLS_GENPRIME
   1648 mpi_is_prime:"ab1cdb3":0
   1649 
   1650 Test mbedtls_mpi_is_prime #19
   1651 depends_on:MBEDTLS_GENPRIME
   1652 mpi_is_prime:"1ef3103":0
   1653 
   1654 Test mbedtls_mpi_is_prime #20
   1655 depends_on:MBEDTLS_GENPRIME
   1656 mpi_is_prime:"2faa127":0
   1657 
   1658 Test mbedtls_mpi_is_prime_det (4 non-witnesses)
   1659 depends_on:MBEDTLS_GENPRIME
   1660 mpi_is_prime_det:"043BD64BA10B11DA83FBD296B04BCA9E0552FAF6E09CAC74E2D7E735ED0DB09FC47ED76145644203EE0C826013BC602F560BCDAAED557D04683859A65D659FF828A245A2C5B1AC41E01E4669A525A45E23AF":"040EA852F7935ACCECC0E87B845281F047D10DC9AAFEF990AF9D3D66770DA30B0C5B5E03EEA8C0CB79B936FE0BB8EE5389EC1D34EB16C58AA3F2E11AF084160CDF6400BE1CC179867AB074866952D9F34EE7042D27F960E715A97FCB93F3182247D0A6AE51BD21CC2F6B0651F9E572C5FB86F3137053FA85FD7A51816D69B3A53A5A438C17754836D04E98CA240B901F828332F2D72D88C497DA45F533F99A6E53EDEA6B0424EC8951B048FA9A80134B37D0A67014597934E3CFC52C5A4DD4751ADF8D66FC79E84E2A3148C4B15C17E12CB659390FD275F39A331FFC80EC699BC3F6FAB868E30E9B14575FCDAB6FAED01E00112DD28704177E09C335AD43A696FEA761E8DF3B0663277A5C3637F9060CB5E5654F72E9A6B0F369E660AD4CF7ABF4195493545B367BD55271CD4BB7D9C15D3F508FE8F7409C2126FC8E73B43A67CD4EFB21E9F15DBF040A2A8D5F5ED75CEAC12B595C0051F3EC9D5A58ACE82A9506E64F780E9836728260FFE1BFD73E8A9869E3D46A35A856D3028F7FEAB9F4F1A04449AEDC80017EE1014080D87F0B50C8EF255324CD89F7D039":82:5
   1661 
   1662 Test mbedtls_mpi_is_prime_det (39 non-witnesses)
   1663 depends_on:MBEDTLS_GENPRIME
   1664 mpi_is_prime_det:"155102B67930FBE8858DF6C0642D77D419A7B7968E622CC7500F3E3F2C5168368C50E0083187":"119B3E2C721834D83416239B04447AA18AE0163E61DCAE97054563D79E094A6FA4485BD6A0501445BF57FE9C058926CDB862E04CC1A95D79D61D9AB3466857A53E04F8D7470C9C86649B226A13DDC534E18DFD5C22FAEA317CA4D4960F18457FD6D2FFB5F3273F74C89980DC774590D8D30D1159CA81999ED94A042D67DA68C82616AD46C2C88288A8EBD0B37AC7C152D9522CA4544642AD1210F6B642FEBF43563FA872B0DEFAFC69D0B6570E8FEA9570D0AADCFA9B06CC8BFD62CEDC221541210EEEF9762448C6D49F26AA767A4D66CB168589E0201923015314E6CD4A480E5936E7CF145F73A564C5B782635B3AFC3028E2632C5D3458224A7C9E8BA1876E8F690463C878292D3DC011E9640331E7F7621F2B5E0F6713DD8C9D6767521C4BA880DA8D11C67753C8493D2C4C4F1443147550D0B25B7FAD04EAFA9F8AA60974C1365C8A794CFEECEB4279B1150909A97E5A7A10B5D91186CA5B25A612036631FE73529C8CFAE51E76FB704A772DE5320EFC1212E7A399B1FEBF57D014AF9129DFF5D2C5DFBBEEAC55F360CF6D22FA90B8E2E9AD0C71AB6495A9452A58D653B8CC26128C66B43EFBA6E39AEC5717A1A3C2AE1449FCABAFE1180B159DA55190CD81A3D9E8D798647E11B827F0A057D6DA5AAD78AB5112EE65E10E8B8B369BA24E1B8AD2CD8548C497016C07A143DE1232F8059BE303572456FA92E76A0F23D1340629228B7D27C02D3833A72745B91A3DBEB5E081117A9F19597F00E4277B414FAEA8C8CEB895C37F956A5A22F8D7A10ADA50B22BAB312504904511AA0EFDD4D3BF20ECB17E8A684564FFB5BBD5E22C429F9A75A4FB4AE468FE7612ED53C7A11212E7EF3435CC9CA6E7DB167B8CCE2BECF35F89013F8F876223C77FA81570970858663C6E32B91080AA47F9C90177F51E6FD7747B910C9489C7B6ACB070996198AD9A40A69711274159210A9A12DBAAA4FB4632446066AB70D735DC95F7C2BCE517E88C064D728DE82B1B043DF4AEE0EFF5131120A4E5B9B4180EB6F6B8A0D1491ABDA069058A9966B1A517D8E7B4997DC52A1E698FD79E271153DF1913FE6787A5D99DE69F39C3F22D26DC731CFBB33FF5C267D85D7A3DAE8E1C87E1DB2F1236212EF1942EA756967FB3D07D629E59EA4034D9A9B5E270DD4A31C8A3DFDA99C1094B5537132C196DA2AEAF5253A019B9AF25B5DCB0D4DD75C7C9C353DA9DAABFB23959A5455312E7E1C21268C1BC14E83DCFDF50C27FD3E8B4EDC04C5F3CB5FCFFF2B57151E1B1EE1A6456DC006BC43E1158674AA4CF7D146DE4A57103BE43ED130C8007294ED2418C7A2B769A7D20EBB5A8367A77B313F81BB119B9954305FF160FF83EED7F808EE6D340A5CCC000CF81AA497D315D350CCE4E86A31456B8AA85B677491FC662933DFA55EB5BFF64B8D85430D676A85D1CAFAFF383E68C4E6C22A51063739EC03FC58C36C07C44E54828BE2152B2E9AFB0F179B157D09B64C147B524BB5424BB1914419424D9100D06EDCFC718F4DF3D562E9E16C446663F35273CA7BC5426B868A80C8D415C9A12A1619CDB7CDB5BEBC70313150BDF8C3AB26B809FE62D28E798EF1EF98C410A2DA0A9071F82154AC569078B0E647E2C085D1D907E634453442803D0492D3D0C78CACB762020C0E589C8B0981321EA2771305FD0413F3B2963FCE9A232F6641DB7E12ADC009A032063C41756E5E19E5711DE12711F07AFE7545B4D83F3EFD7BFD0435297C89DF3D4AF96EBE2CE8D64B93E36EA5D7E5A0492151D0CAEE7449A7D35E1A3C83E22C3B35162C073CC3B1CF76FBDEE84270721FC042EAAEB7325110181415E2031CFB7462F15111291CDAC0560FF9F4C7341F2FA261B97CEF348D074AA2EB4DB153FE6B1410519DA4213B611999868F3B867A2B6D758D333C4989DE80782683CA26ECDE373C71524F01B76349CE8A07A5EBECBB42259CF970DDA756EC996B189FEA045FEE45F23D476960913106ECA2510B8517AA75D56FA4152B2BDDC212014E5D07FD964D6EE532F0616DF74E104659955132331FABF2D2AD265E71C93C648A956FA0A3DB21FF103D516527F2DA0E870340B61EE8A8ED913B60605EB5A67B834D0FC90564386012585609870FEF6530B3E3C037B55506F0B5694F6B0FC":38:40
   1665 
   1666 Test mbedtls_mpi_gen_prime (Too small)
   1667 depends_on:MBEDTLS_GENPRIME
   1668 mpi_gen_prime:2:0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
   1669 
   1670 Test mbedtls_mpi_gen_prime (OK, minimum size)
   1671 depends_on:MBEDTLS_GENPRIME
   1672 mpi_gen_prime:3:0:0
   1673 
   1674 Test mbedtls_mpi_gen_prime (corner case limb size -1 bits)
   1675 depends_on:MBEDTLS_GENPRIME
   1676 mpi_gen_prime:63:0:0
   1677 
   1678 Test mbedtls_mpi_gen_prime (corner case limb size)
   1679 depends_on:MBEDTLS_GENPRIME
   1680 mpi_gen_prime:64:0:0
   1681 
   1682 Test mbedtls_mpi_gen_prime (corner case limb size +1 bits)
   1683 depends_on:MBEDTLS_GENPRIME
   1684 mpi_gen_prime:65:0:0
   1685 
   1686 Test mbedtls_mpi_gen_prime (Larger)
   1687 depends_on:MBEDTLS_GENPRIME
   1688 mpi_gen_prime:128:0:0
   1689 
   1690 Test mbedtls_mpi_gen_prime (Safe)
   1691 depends_on:MBEDTLS_GENPRIME
   1692 mpi_gen_prime:128:MBEDTLS_MPI_GEN_PRIME_FLAG_DH:0
   1693 
   1694 Test mbedtls_mpi_gen_prime (Safe with lower error rate)
   1695 depends_on:MBEDTLS_GENPRIME
   1696 mpi_gen_prime:128:MBEDTLS_MPI_GEN_PRIME_FLAG_DH | MBEDTLS_MPI_GEN_PRIME_FLAG_LOW_ERR:0
   1697 
   1698 Test mbedtls_mpi_gen_prime standard RSA #1 (lower error rate)
   1699 depends_on:MBEDTLS_GENPRIME
   1700 mpi_gen_prime:1024:MBEDTLS_MPI_GEN_PRIME_FLAG_LOW_ERR:0
   1701 
   1702 Test mbedtls_mpi_gen_prime standard RSA #2 (lower error rate)
   1703 depends_on:MBEDTLS_GENPRIME
   1704 mpi_gen_prime:1536:MBEDTLS_MPI_GEN_PRIME_FLAG_LOW_ERR:0
   1705 
   1706 Test bit getting (Value bit 25)
   1707 mpi_get_bit:"2faa127":25:1
   1708 
   1709 Test bit getting (Larger but same limb)
   1710 mpi_get_bit:"2faa127":26:0
   1711 
   1712 Test bit getting (Larger and non-existing limb)
   1713 mpi_get_bit:"2faa127":500:0
   1714 
   1715 Test bit getting in 0 (null)
   1716 mpi_get_bit:"":500:0
   1717 
   1718 Test bit getting (Value bit 24)
   1719 mpi_get_bit:"2faa127":24:0
   1720 
   1721 Test bit getting (Value bit 23)
   1722 mpi_get_bit:"2faa127":23:1
   1723 
   1724 Test bit set (Change existing value with a 1)
   1725 mpi_set_bit:"2faa127":24:1:"3faa127":0
   1726 
   1727 Test bit set (Change existing value with a 0)
   1728 mpi_set_bit:"2faa127":25:0:"faa127":0
   1729 
   1730 Test bit set (Add above existing limbs with a 0)
   1731 mpi_set_bit:"2faa127":80:0:"2faa127":0
   1732 
   1733 Test bit set (Add above existing limbs with a 1)
   1734 mpi_set_bit:"2faa127":80:1:"100000000000002faa127":0
   1735 
   1736 Test bit set (Add to 0 (null) with a 0)
   1737 mpi_set_bit:"":65:0:"":0
   1738 
   1739 Test bit set (Add to 0 (null) with a 1)
   1740 mpi_set_bit:"":65:1:"020000000000000000":0
   1741 
   1742 Test bit set (Bit index larger than 31 with a 0)
   1743 mpi_set_bit:"FFFFFFFFFFFFFFFF":32:0:"FFFFFFFEFFFFFFFF":0
   1744 
   1745 Test bit set (Bit index larger than 31 with a 1)
   1746 mpi_set_bit:"00":32:1:"0100000000":0
   1747 
   1748 Test bit set (Invalid bit value)
   1749 mpi_set_bit:"00":5:2:"00":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
   1750 
   1751 Fill random: 0 bytes
   1752 mpi_fill_random:0:0:0:0
   1753 
   1754 Fill random: 1 byte, good
   1755 mpi_fill_random:1:1:0:0
   1756 
   1757 Fill random: 2 bytes, good, no leading zero
   1758 mpi_fill_random:2:2:0:0
   1759 
   1760 Fill random: 2 bytes, good, 1 leading zero
   1761 mpi_fill_random:2:256:0:0
   1762 
   1763 Fill random: MAX_SIZE - 7, good
   1764 mpi_fill_random:MBEDTLS_MPI_MAX_SIZE - 7:MBEDTLS_MPI_MAX_SIZE - 7:0:0
   1765 
   1766 Fill random: MAX_SIZE, good
   1767 mpi_fill_random:MBEDTLS_MPI_MAX_SIZE:MBEDTLS_MPI_MAX_SIZE:0:0
   1768 
   1769 Fill random: 0 bytes, previously small >0
   1770 mpi_fill_random:0:0:1:0
   1771 
   1772 Fill random: 0 bytes, previously small <0
   1773 mpi_fill_random:0:0:-1:0
   1774 
   1775 Fill random: 0 bytes, previously large >0
   1776 mpi_fill_random:0:0:65:0
   1777 
   1778 Fill random: 0 bytes, previously large <0
   1779 mpi_fill_random:0:0:-65:0
   1780 
   1781 Fill random: 1 byte, previously small >0
   1782 mpi_fill_random:1:1:1:0
   1783 
   1784 Fill random: 1 byte, previously small <0
   1785 mpi_fill_random:1:1:-1:0
   1786 
   1787 Fill random: 1 byte, previously large >0
   1788 mpi_fill_random:1:1:65:0
   1789 
   1790 Fill random: 1 byte, previously large <0
   1791 mpi_fill_random:1:1:-65:0
   1792 
   1793 Fill random: 9 bytes, previously small >0
   1794 mpi_fill_random:1:1:1:0
   1795 
   1796 Fill random: 9 bytes, previously small <0
   1797 mpi_fill_random:1:1:-1:0
   1798 
   1799 Fill random: 1 byte, RNG failure
   1800 mpi_fill_random:1:0:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED
   1801 
   1802 Fill random: 2 bytes, RNG failure after 1 byte
   1803 mpi_fill_random:2:1:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED
   1804 
   1805 Fill random: 4 bytes, RNG failure after 3 bytes
   1806 mpi_fill_random:4:3:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED
   1807 
   1808 Fill random: 8 bytes, RNG failure after 7 bytes
   1809 mpi_fill_random:8:7:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED
   1810 
   1811 Fill random: 16 bytes, RNG failure after 1 bytes
   1812 mpi_fill_random:16:1:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED
   1813 
   1814 Fill random: 16 bytes, RNG failure after 8 bytes
   1815 mpi_fill_random:16:8:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED
   1816 
   1817 Fill random: 16 bytes, RNG failure after 15 bytes
   1818 mpi_fill_random:16:15:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED
   1819 
   1820 Fill random: MAX_SIZE bytes, RNG failure after MAX_SIZE-1 bytes
   1821 mpi_fill_random:MBEDTLS_MPI_MAX_SIZE:MBEDTLS_MPI_MAX_SIZE-1:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED
   1822 
   1823 Most negative mbedtls_mpi_sint
   1824 most_negative_mpi_sint:
   1825 
   1826 MPI Selftest
   1827 depends_on:MBEDTLS_SELF_TEST
   1828 mpi_selftest: