MPI - Valid parameters
0

MPI - Invalid parameters
1

Arguments with no value
2

Base test mpi_read_write_string #1
3:int:10:char*:"128":int:10:char*:"128":int:100:int:0:int:0

Base test mpi_read_write_string #2
3:int:10:char*:"128":int:16:char*:"80":int:100:int:0:int:0

Base test mpi_read_write_string #3 (Read zero)
3:int:10:char*:"0":int:10:char*:"0":int:100:int:0:int:0

Base test mpi_read_write_string #3 (Negative decimal) [#1]
3:int:10:char*:"-23":int:10:char*:"-23":int:100:int:0:int:0

Base test mpi_read_write_string #3 (Negative hex)
3:int:16:char*:"-20":int:10:char*:"-32":int:100:int:0:int:0

Base test mpi_read_write_string #3 (Negative decimal) [#2]
3:int:16:char*:"-23":int:16:char*:"-23":int:100:int:0:int:0

Base test mpi_read_write_string #4 (Buffer just fits)
3:int:16:char*:"-4":int:4:char*:"-10":int:4:int:0:int:0

Test mpi_read_write_string #1 (Invalid character)
3:int:10:char*:"a28":int:0:char*:"":int:100:exp:0:int:0

Test mpi_read_write_string #2 (Illegal input radix)
3:int:19:char*:"a28":int:0:char*:"":int:100:exp:1:int:0

Test mpi_read_write_string #3 (Buffer just fits)
3:int:16:char*:"-23":int:16:char*:"-23":int:4:int:0:int:0

Test mpi_read_write_string #4 (Buffer too small)
3:int:16:char*:"-23":int:16:char*:"-23":int:3:int:0:exp:2

Test mpi_read_write_string #5 (Illegal output radix)
3:int:16:char*:"-23":int:17:char*:"-23":int:4:int:0:exp:1

Test mpi_read_write_string #6 (Output radix of 15)
3:int:10:char*:"29":int:15:char*:"1e":int:100:int:0:int:0

Test mpi_read_write_string #7
3:int:10:char*:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":int:16:char*:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":int:200:int:0:int:0

Test mpi_read_write_string #8 (Empty MPI -> hex)
3:int:16:char*:"":int:16:char*:"00":int:4:int:0:int:0

Test mpi_read_write_string #9 (Empty MPI -> dec)
3:int:16:char*:"":int:10:char*:"0":int:4:int:0:int:0

Test mpi_write_string #10 (Negative hex with odd number of digits)
3:int:16:char*:"-1":int:16:char*:"":int:3:int:0:exp:2

Base test mbedtls_mpi_read_binary #1
4:hex:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":int:10:char*:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924"

Base test mbedtls_mpi_read_binary_le #1
5:hex:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":int:10:char*:"219946662473865722255717126709915431768051735954189829340600976826409773245337023925691629251672268961177825243440202069039100741562168093042339401187848509859789949044607421190014088260008793380554914226244485299326152319899746569"

Base test mbedtls_mpi_write_binary #1
6:int:10:char*:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":hex:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":int:200:int:0

Test mbedtls_mpi_write_binary #1 (Buffer just fits)
6:int:16:char*:"123123123123123123123123123":hex:"0123123123123123123123123123":int:14:int:0

Test mbedtls_mpi_write_binary #2 (Buffer too small)
6:int:16:char*:"123123123123123123123123123":hex:"23123123123123123123123123":int:13:exp:2

Base test mbedtls_mpi_write_binary_le #1
7:int:10:char*:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":hex:"24448b952fbbef93f89286ba330e62528b151eac265cc8ce3038519d09e148af89288e91f48b41acad55d9dc5e2b18097c106be4ce132721bf6359eaf403e7ff90623e8866ee5c192320418daa682f144adedf84f25de11f49d1fe009d374109":int:200:int:0

Test mbedtls_mpi_write_binary_le #1 (Buffer just fits)
7:int:16:char*:"123123123123123123123123123":hex:"2331122331122331122331122301":int:14:int:0

Test mbedtls_mpi_write_binary_le #2 (Buffer too small)
7:int:16:char*:"123123123123123123123123123":hex:"23311223311223311223311223":int:13:exp:2

Base test mbedtls_mpi_read_file #1
8:int:10:char*:"/zip/third_party/mbedtls/test/data/mpi_10":hex:"01f55332c3a48b910f9942f6c914e58bef37a47ee45cb164a5b6b8d1006bf59a059c21449939ebebfdf517d2e1dbac88010d7b1f141e997bd6801ddaec9d05910f4f2de2b2c4d714e2c14a72fc7f17aa428d59c531627f09":int:0

Test mbedtls_mpi_read_file #1 (Empty file)
8:int:10:char*:"/zip/third_party/mbedtls/test/data/hash_file_4":hex:"":exp:3

Test mbedtls_mpi_read_file #2 (Illegal input)
8:int:10:char*:"/zip/third_party/mbedtls/test/data/hash_file_3":hex:"":int:0

Test mbedtls_mpi_read_file #3 (Input too big)
8:int:10:char*:"/zip/third_party/mbedtls/test/data/mpi_too_big":hex:"":exp:2

Base test mbedtls_mpi_write_file #1
9:int:10:char*:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":int:16:char*:"o/tmp/test_suite_mpi_write"

Base test mbedtls_mpi_lsb #1
12:int:10:char*:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":int:2

Base test mbedtls_mpi_lsb #2
12:int:10:char*:"24":int:3

Base test mbedtls_mpi_lsb #3
12:int:16:char*:"24":int:2

Base test mbedtls_mpi_lsb #4
12:int:16:char*:"2000":int:13

Base test mbedtls_mpi_bitlen #1
13:int:10:char*:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":int:764

Base test mbedtls_mpi_bitlen #2
13:int:10:char*:"24":int:5

Base test mbedtls_mpi_bitlen #3
13:int:10:char*:"1":int:1

Base test mbedtls_mpi_bitlen #4
13:int:10:char*:"15":int:4

Base test mbedtls_mpi_bitlen #5
13:int:10:char*:"16":int:5

Base test mbedtls_mpi_bitlen #6
13:int:10:char*:"10":int:4

Base test mbedtls_mpi_bitlen #7
13:int:10:char*:"0":int:0

Base test mbedtls_mpi_cmp_int #1
15:int:693:int:693:int:0

Base test mbedtls_mpi_cmp_int #2
15:int:693:int:692:int:1

Base test mbedtls_mpi_cmp_int #3
15:int:693:int:694:exp:4

Base test mbedtls_mpi_cmp_int (Negative values) #1
15:exp:5:exp:5:int:0

Base test mbedtls_mpi_cmp_int (Negative values) #2
15:exp:5:exp:6:int:1

Base test mbedtls_mpi_cmp_int (Negative values) #3
15:exp:5:exp:4:exp:4

Base test mbedtls_mpi_cmp_mpi #1
16:int:10:char*:"693":int:10:char*:"693":int:0

Base test mbedtls_mpi_cmp_mpi #2
16:int:10:char*:"693":int:10:char*:"692":int:1

Base test mbedtls_mpi_cmp_mpi #3
16:int:10:char*:"693":int:10:char*:"694":exp:4

Base test mbedtls_mpi_cmp_mpi (Negative values) #1
16:int:10:char*:"-2":int:10:char*:"-2":int:0

Base test mbedtls_mpi_cmp_mpi (Negative values) #2
16:int:10:char*:"-2":int:10:char*:"-3":int:1

Base test mbedtls_mpi_cmp_mpi (Negative values) #3
16:int:10:char*:"-2":int:10:char*:"-1":exp:4

Base test mbedtls_mpi_cmp_mpi (Mixed values) #4
16:int:10:char*:"-3":int:10:char*:"2":exp:4

Base test mbedtls_mpi_cmp_mpi (Mixed values) #5
16:int:10:char*:"2":int:10:char*:"-3":int:1

Base test mbedtls_mpi_cmp_mpi (Mixed values) #6
16:int:10:char*:"-2":int:10:char*:"31231231289798":exp:4

Base test mbedtls_mpi_lt_mpi_ct #1
17:int:1:char*:"2B5":int:1:char*:"2B5":int:0:int:0

Base test mbedtls_mpi_lt_mpi_ct #2
17:int:1:char*:"2B5":int:1:char*:"2B4":int:0:int:0

Base test mbedtls_mpi_lt_mpi_ct #3
17:int:1:char*:"2B5":int:1:char*:"2B6":int:1:int:0

Base test mbedtls_mpi_lt_mpi_ct (Negative values) #1
17:int:1:char*:"-2":int:1:char*:"-2":int:0:int:0

Base test mbedtls_mpi_lt_mpi_ct (Negative values) #2
17:int:1:char*:"-2":int:1:char*:"-3":int:0:int:0

Base test mbedtls_mpi_lt_mpi_ct (Negative values) #3
17:int:1:char*:"-2":int:1:char*:"-1":int:1:int:0

Base test mbedtls_mpi_lt_mpi_ct (Mixed values) #1
17:int:1:char*:"-3":int:1:char*:"2":int:1:int:0

Base test mbedtls_mpi_lt_mpi_ct (Mixed values) #2
17:int:1:char*:"2":int:1:char*:"-3":int:0:int:0

Base test mbedtls_mpi_lt_mpi_ct (Mixed values) #3
17:int:2:char*:"-2":int:2:char*:"1C67967269C6":int:1:int:0

Base test mbedtls_mpi_lt_mpi_ct (X is longer in storage)
17:int:3:char*:"2B5":int:2:char*:"2B5":int:0:exp:1

Base test mbedtls_mpi_lt_mpi_ct (Y is longer in storage)
17:int:3:char*:"2B5":int:4:char*:"2B5":int:0:exp:1

Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #1
17:int:2:char*:"7FFFFFFFFFFFFFFF":int:2:char*:"FF":int:0:int:0

Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #2
17:int:2:char*:"8000000000000000":int:2:char*:"7FFFFFFFFFFFFFFF":int:0:int:0

Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #3
17:int:2:char*:"8000000000000000":int:2:char*:"1":int:0:int:0

Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #4
17:int:2:char*:"8000000000000000":int:2:char*:"0":int:0:int:0

Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #5
17:int:2:char*:"FFFFFFFFFFFFFFFF":int:2:char*:"FF":int:0:int:0

Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #1
17:int:1:char*:"7FFFFFFF":int:1:char*:"FF":int:0:int:0

Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #2
17:int:1:char*:"80000000":int:1:char*:"7FFFFFFF":int:0:int:0

Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #3
17:int:1:char*:"80000000":int:1:char*:"1":int:0:int:0

Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #4
17:int:1:char*:"80000000":int:1:char*:"0":int:0:int:0

Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #5
17:int:1:char*:"FFFFFFFF":int:1:char*:"FF":int:0:int:0

Multi-limb mbedtls_mpi_lt_mpi_ct (X<Y, zero vs non-zero MS limb)
17:int:2:char*:"0FFFFFFFFFFFFFFFF":int:2:char*:"1FFFFFFFFFFFFFFFF":int:1:int:0

Multi-limb mbedtls_mpi_lt_mpi_ct (X>Y, equal MS limbs)
17:int:2:char*:"-EEFFFFFFFFFFFFFFF1":int:2:char*:"-EEFFFFFFFFFFFFFFFF":int:0:int:0

Multi-limb mbedtls_mpi_lt_mpi_ct (X=Y)
17:int:2:char*:"EEFFFFFFFFFFFFFFFF":int:2:char*:"EEFFFFFFFFFFFFFFFF":int:0:int:0

Multi-limb mbedtls_mpi_lt_mpi_ct (X=-Y)
17:int:2:char*:"-EEFFFFFFFFFFFFFFFF":int:2:char*:"EEFFFFFFFFFFFFFFFF":int:1:int:0

Multi-limb mbedtls_mpi_lt_mpi_ct (Alternating limbs) #1
17:int:2:char*:"11FFFFFFFFFFFFFFFF":int:2:char*:"FF1111111111111111":int:1:int:0

Multi-limb mbedtls_mpi_lt_mpi_ct (Alternating limbs) #2
17:int:2:char*:"FF1111111111111111":int:2:char*:"11FFFFFFFFFFFFFFFF":int:0:int:0

Multi-limb mbedtls_mpi_lt_mpi_ct (Alternating limbs) #3
17:int:2:char*:"-11FFFFFFFFFFFFFFFF":int:2:char*:"-FF1111111111111111":int:0:int:0

Multi-limb mbedtls_mpi_lt_mpi_ct (Alternating limbs) #4
17:int:2:char*:"-FF1111111111111111":int:2:char*:"-11FFFFFFFFFFFFFFFF":int:1:int:0

Base test mbedtls_mpi_cmp_abs #1
18:int:10:char*:"693":int:10:char*:"693":int:0

Base test mbedtls_mpi_cmp_abs #2
18:int:10:char*:"693":int:10:char*:"692":int:1

Base test mbedtls_mpi_cmp_abs #3
18:int:10:char*:"693":int:10:char*:"694":exp:4

Base test mbedtls_mpi_cmp_abs (Negative values) #1
18:int:10:char*:"-2":int:10:char*:"-2":int:0

Base test mbedtls_mpi_cmp_abs (Negative values) #2
18:int:10:char*:"-2":int:10:char*:"-3":exp:4

Base test mbedtls_mpi_cmp_abs (Negative values) #3
18:int:10:char*:"-2":int:10:char*:"-1":int:1

Base test mbedtls_mpi_cmp_abs (Zero and Zero) #4
18:int:10:char*:"0":int:10:char*:"0":int:0

Base test mbedtls_mpi_cmp_abs (Mix values) #1
18:int:10:char*:"-2":int:10:char*:"2":int:0

Base test mbedtls_mpi_cmp_abs (Mix values) #2
18:int:10:char*:"2":int:10:char*:"-3":exp:4

Base test mbedtls_mpi_cmp_abs (Mix values) #3
18:int:10:char*:"-2":int:10:char*:"1":int:1

Copy zero (1 limb) to positive (1 limb)
19:int:0:int:1500

Copy zero (1 limb) to negative (1 limb)
19:int:0:exp:7

Copy positive (1 limb) to zero (1 limb)
19:int:1500:int:0

Copy negative (1 limb) to zero (1 limb)
19:exp:7:int:0

Copy positive (1 limb) to negative (1 limb)
19:int:1500:exp:8

Copy negative (1 limb) to positive (1 limb)
19:exp:8:int:1500

Copy zero (null) to zero (null)
20:hex:"":hex:""

Copy zero (null) to positive (1 limb)
20:hex:"":hex:"1234"

Copy positive (1 limb) to zero (null)
20:hex:"1234":hex:""

Copy positive to larger
20:hex:"bead":hex:"ca5cadedb01dfaceacc01ade"

Copy positive to smaller
20:hex:"ca5cadedb01dfaceacc01ade":hex:"bead"

Copy self: positive (1 limb)
21:int:14

Copy self: zero (1 limb)
21:int:0

Swap zero (1 limb) with positive (1 limb)
25:int:0:int:1500

Swap zero (1 limb) with negative (1 limb)
25:int:0:exp:7

Swap positive (1 limb) with zero (1 limb)
25:int:1500:int:0

Swap negative (1 limb) with zero (1 limb)
25:exp:7:int:0

Swap positive (1 limb) with negative (1 limb)
25:int:1500:exp:8

Swap negative (1 limb) with positive (1 limb)
25:exp:8:int:1500

Swap zero (null) with zero (null)
26:hex:"":hex:""

Swap zero (null) with positive (1 limb)
26:hex:"":hex:"1234"

Swap positive (1 limb) with zero (null)
26:hex:"1234":hex:""

Swap positive with larger
26:hex:"bead":hex:"ca5cadedb01dfaceacc01ade"

Swap positive with smaller
26:hex:"ca5cadedb01dfaceacc01ade":hex:"bead"

Swap self: 1 limb
27:hex:"face"

Swap self: null
27:hex:""

Shrink 2 limbs in a buffer of size 2 to 4
22:int:2:int:2:int:4:int:4

Shrink 2 limbs in a buffer of size 4 to 4
22:int:4:int:2:int:4:int:4

Shrink 2 limbs in a buffer of size 8 to 4
22:int:8:int:2:int:4:int:4

Shrink 4 limbs in a buffer of size 8 to 4
22:int:8:int:4:int:4:int:4

Shrink 6 limbs in a buffer of size 8 to 4 yielding 6
22:int:8:int:6:int:4:int:6

Shrink 2 limbs in a buffer of size 4 to 0 yielding 2
22:int:4:int:2:int:0:int:2

Shrink 1 limbs in a buffer of size 4 to 0 yielding 1
22:int:4:int:1:int:0:int:1

Shrink 0 limbs in a buffer of size 4 to 0 yielding 1
22:int:4:int:0:int:0:int:1

Test mbedtls_mpi_safe_cond_assign #1
23:exp:9:char*:"01":exp:9:char*:"02"

Test mbedtls_mpi_safe_cond_assign #2
23:exp:9:char*:"FF000000000000000001":exp:9:char*:"02"

Test mbedtls_mpi_safe_cond_assign #3
23:exp:9:char*:"01":exp:9:char*:"FF000000000000000002"

Test mbedtls_mpi_safe_cond_assign #4
23:exp:9:char*:"01":exp:4:char*:"02"

Test mbedtls_mpi_safe_cond_assign #5
23:exp:4:char*:"01":exp:9:char*:"02"

Test mbedtls_mpi_safe_cond_assign #6
23:exp:4:char*:"01":exp:4:char*:"02"

Test mbedtls_mpi_safe_cond_swap #1
24:exp:9:char*:"01":exp:9:char*:"02"

Test mbedtls_mpi_safe_cond_swap #2
24:exp:9:char*:"FF000000000000000001":exp:9:char*:"02"

Test mbedtls_mpi_safe_cond_swap #3
24:exp:9:char*:"01":exp:9:char*:"FF000000000000000002"

Test mbedtls_mpi_safe_cond_swap #4
24:exp:9:char*:"01":exp:4:char*:"02"

Test mbedtls_mpi_safe_cond_swap #5
24:exp:4:char*:"01":exp:9:char*:"02"

Test mbedtls_mpi_safe_cond_swap #6
24:exp:4:char*:"01":exp:4:char*:"02"

Base test mbedtls_mpi_add_abs #1
30:int:10:char*:"12345678":int:10:char*:"642531":int:10:char*:"12988209"

Base test mbedtls_mpi_add_abs #2
30:int:10:char*:"-12345678":int:10:char*:"642531":int:10:char*:"12988209"

Base test mbedtls_mpi_add_abs #3
30:int:10:char*:"12345678":int:10:char*:"-642531":int:10:char*:"12988209"

Base test mbedtls_mpi_add_abs #4
30:int:10:char*:"-12345678":int:10:char*:"-642531":int:10:char*:"12988209"

Test mbedtls_mpi_add_abs #1
30:int:10:char*:"-643808006803554439230129854961492699151386107534013432918073439524138264842370630061369715394739134090922937332590384720397133335969549256322620979036686633213903952966175107096769180017646161851573147596390153":int:10:char*:"56125680981752282333498088313568935051383833838594899821664631784577337171193624243181360054669678410455329112434552942717084003541384594864129940145043086760031292483340068923506115878221189886491132772739661669044958531131327771":int:10:char*:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924"

Regression mbedtls_mpi_add_abs (add small to very large MPI with carry rollover) [#1]
30:int:16:char*:"FFFFFFFFFFFFFFFFFFFFFFFFFFFFF8":int:16:char*:"08":int:16:char*:"1000000000000000000000000000000"

Regression mbedtls_mpi_add_abs (add small to very large MPI with carry rollover) [#2]
30:int:16:char*:"08":int:16:char*:"FFFFFFFFFFFFFFFFFFFFFFFFFFFFF8":int:16:char*:"1000000000000000000000000000000"

Base test mbedtls_mpi_add_mpi #1
28:int:10:char*:"12345678":int:10:char*:"642531":int:10:char*:"12988209"

Base test mbedtls_mpi_add_mpi #2
28:int:10:char*:"-12345678":int:10:char*:"642531":int:10:char*:"-11703147"

Base test mbedtls_mpi_add_mpi #3
28:int:10:char*:"12345678":int:10:char*:"-642531":int:10:char*:"11703147"

Base test mbedtls_mpi_add_mpi #4
28:int:10:char*:"-12345678":int:10:char*:"-642531":int:10:char*:"-12988209"

Test mbedtls_mpi_add_mpi #1
28:int:10:char*:"203956878356401977405765866929034577280193993314348263094772646453283062722701277632936616063144088173312372882677123879538709400158306567338328279154499698366071906766440037074217117805690872792848149112022286332144876183376326512083574821647933992961249917319836219304274280243803104015000563790123":int:10:char*:"531872289054204184185084734375133399408303613982130856645299464930952178606045848877129147820387996428175564228204785846141207532462936339834139412401975338705794646595487324365194792822189473092273993580587964571659678084484152603881094176995594813302284232006001752128168901293560051833646881436219":int:10:char*:"735829167410606161590850601304167976688497607296479119740072111384235241328747126510065763883532084601487937110881909725679916932621242907172467691556475037071866553361927361439411910627880345885122142692610250903804554267860479115964668998643528806263534149325837971432443181537363155848647445226342"

Test mbedtls_mpi_add_mpi #2
28:int:10:char*:"643808006803554439230129854961492699151386107534013432918073439524138264842370630061369715394739134090922937332590384720397133335969549256322620979036686633213903952966175107096769180017646161851573147596390153":int:10:char*:"56125680981752282333498088313568935051383833838594899821664631784577337171193624243181360054669678410455329112434552942717084003541384594864129940145043086760031292483340068923506115878221189886491132772739661669044958531131327771":int:10:char*:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924"

Base test mbedtls_mpi_add_mpi inplace #1
29:int:10:char*:"12345678":int:10:char*:"24691356"

Test mbedtls_mpi_add_mpi inplace #2
29:int:10:char*:"643808006803554439230129854961492699151386107534013432918073439524138264842370630061369715394739134090922937332590384720397133335969549256322620979036686633213903952966175107096769180017646161851573147596390153":int:10:char*:"1287616013607108878460259709922985398302772215068026865836146879048276529684741260122739430789478268181845874665180769440794266671939098512645241958073373266427807905932350214193538360035292323703146295192780306"

Test mbedtls_mpi_add_mpi inplace #3
29:int:16:char*:"ffffffffffffffffffffffffffffffff":int:16:char*:"01fffffffffffffffffffffffffffffffe"

Test mbedtls_mpi_add_int #1
31:int:10:char*:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":int:9871232:int:10:char*:"2039568783564019774057658669290345772801939933143482630947726464532830627227022647561"

Test mbedtls_mpi_add_int #2
31:int:10:char*:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":exp:10:int:10:char*:"2039568783564019774057658669290345772801939933143482630947726464532830627227002905097"

Base test mbedtls_mpi_sub_abs #1 (|B| > |A|)
33:int:10:char*:"5":int:10:char*:"7":int:10:char*:"0":exp:11

Base test mbedtls_mpi_sub_abs #2 (|B| > |A|)
33:int:10:char*:"-5":int:10:char*:"-7":int:10:char*:"0":exp:11

Base test mbedtls_mpi_sub_abs #3 (|B| > |A|)
33:int:10:char*:"-5":int:10:char*:"7":int:10:char*:"0":exp:11

Base test mbedtls_mpi_sub_abs #4 (|B| > |A|)
33:int:10:char*:"5":int:10:char*:"-7":int:10:char*:"0":exp:11

Base test mbedtls_mpi_sub_abs #1 (|B| >> |A| with more limbs)
33:int:10:char*:"5":int:16:char*:"123456789abcdef01":int:10:char*:"0":exp:11

Base test mbedtls_mpi_sub_abs #2 (|B| >> |A| with more limbs)
33:int:10:char*:"-5":int:16:char*:"-123456789abcdef01":int:10:char*:"0":exp:11

Base test mbedtls_mpi_sub_abs #3 (|B| >> |A| with more limbs)
33:int:10:char*:"-5":int:16:char*:"123456789abcdef01":int:10:char*:"0":exp:11

Base test mbedtls_mpi_sub_abs #4 (|B| >> |A| with more limbs)
33:int:10:char*:"5":int:16:char*:"-123456789abcdef01":int:10:char*:"0":exp:11

Base test mbedtls_mpi_sub_abs #1
33:int:10:char*:"7":int:10:char*:"5":int:10:char*:"2":int:0

Base test mbedtls_mpi_sub_abs #2
33:int:10:char*:"-7":int:10:char*:"-5":int:10:char*:"2":int:0

Base test mbedtls_mpi_sub_abs #3
33:int:10:char*:"-7":int:10:char*:"5":int:10:char*:"2":int:0

Base test mbedtls_mpi_sub_abs #4
33:int:10:char*:"7":int:10:char*:"-5":int:10:char*:"2":int:0

Test mbedtls_mpi_sub_abs #1
33:int:16:char*:"FFFFFFFFFF":int:16:char*:"01":int:16:char*:"FFFFFFFFFE":int:0

Test mbedtls_mpi_sub_abs #2
33:int:16:char*:"FFFFFFFFF0":int:16:char*:"01":int:16:char*:"FFFFFFFFEF":int:0

Test mbedtls_mpi_sub_abs #3
33:int:16:char*:"FF00000000":int:16:char*:"0F00000000":int:16:char*:"F000000000":int:0

Test mbedtls_mpi_sub_abs #4
33:int:16:char*:"FF00000000":int:16:char*:"0F00000001":int:16:char*:"EFFFFFFFFF":int:0

Base test mbedtls_mpi_sub_mpi #1 (Test with negative result)
32:int:10:char*:"5":int:10:char*:"7":int:10:char*:"-2"

Base test mbedtls_mpi_sub_mpi #2 (Test with negative inputs)
32:int:10:char*:"-5":int:10:char*:"-7":int:10:char*:"2"

Base test mbedtls_mpi_sub_mpi #3 (Test with negative base)
32:int:10:char*:"-5":int:10:char*:"7":int:10:char*:"-12"

Base test mbedtls_mpi_sub_mpi #4 (Test with negative subtraction)
32:int:10:char*:"5":int:10:char*:"-7":int:10:char*:"12"

Test mbedtls_mpi_sub_mpi #1
32:int:10:char*:"531872289054204184185084734375133399408303613982130856645299464930952178606045848877129147820387996428175564228204785846141207532462936339834139412401975338705794646595487324365194792822189473092273993580587964571659678084484152603881094176995594813302284232006001752128168901293560051833646881436219":int:10:char*:"203956878356401977405765866929034577280193993314348263094772646453283062722701277632936616063144088173312372882677123879538709400158306567338328279154499698366071906766440037074217117805690872792848149112022286332144876183376326512083574821647933992961249917319836219304274280243803104015000563790123":int:10:char*:"327915410697802206779318867446098822128109620667782593550526818477669115883344571244192531757243908254863191345527661966602498132304629772495811133247475640339722739829047287290977675016498600299425844468565678239514801901107826091797519355347660820341034314686165532823894621049756947818646317646096"

Test mbedtls_mpi_sub_mpi #2 (Test for negative result)
32:int:10:char*:"643808006803554439230129854961492699151386107534013432918073439524138264842370630061369715394739134090922937332590384720397133335969549256322620979036686633213903952966175107096769180017646161851573147596390153":int:10:char*:"56125680981752282333498088313568935051383833838594899821664631784577337171193624243181360054669678410455329112434552942717084003541384594864129940145043086760031292483340068923506115878221189886491132772739661669044958531131327771":int:10:char*:"-56125680981752282332854280306765380612153703983633407122513245677043323738275550803657221789827307780393959397039813808626161066208794210143732806809073537503708671504303382290292211925255014779394363592722015507193385383534937618"

Test mbedtls_mpi_sub_int #1
34:int:10:char*:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":exp:10:int:10:char*:"2039568783564019774057658669290345772801939933143482630947726464532830627227022647561"

Test mbedtls_mpi_sub_int #2
34:int:10:char*:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":int:9871232:int:10:char*:"2039568783564019774057658669290345772801939933143482630947726464532830627227002905097"

Test mbedtls_mpi_shift_l #1
47:int:10:char*:"64":int:1:int:10:char*:"128"

Test mbedtls_mpi_shift_l #2
47:int:10:char*:"658385546911733550164516088405238961461880256029834598831972039469421755117818013653494814438931957316403111689187691446941406788869098983929874080332195117465344344350008880118042764943201875870917468833709791733282363323948005998269792207":int:37:int:10:char*:"90487820548639020691922304619723076305400961610119884872723190678642804168382367856686134531865643066983017249846286450251272364365605022750900439437595355052945035915579216557330505438734955340526145476988250171181404966718289259743378883640981192704"

Test mbedtls_mpi_shift_r #1
48:int:10:char*:"128":int:1:int:10:char*:"64"

Test mbedtls_mpi_shift_r #2
48:int:10:char*:"120815570979701484704906977000760567182871429114712069861589084706550626575967516787438008593490722779337547394120718248995900363209947025063336882559539208430319216688889117222633155838468458047056355241515415159736436403445579777425189969":int:45:int:10:char*:"3433785053053426415343295076376096153094051405637175942660777670498379921354157795219578264137985649407981651226029903483433269093721578004287291678324982297860947730012217028349628999378309630601971640587504883789518896817457"

Test mbedtls_mpi_shift_r #4 [#1]
48:int:16:char*:"FFFFFFFFFFFFFFFF":int:63:int:16:char*:"01"

Test mbedtls_mpi_shift_r #4 [#2]
48:int:16:char*:"FFFFFFFFFFFFFFFF":int:64:int:16:char*:"00"

Test mbedtls_mpi_shift_r #6
48:int:16:char*:"FFFFFFFFFFFFFFFF":int:65:int:16:char*:"00"

Test mbedtls_mpi_shift_r #7
48:int:16:char*:"FFFFFFFFFFFFFFFF":int:128:int:16:char*:"00"

Base test mbedtls_mpi_mul_mpi #1
35:int:10:char*:"5":int:10:char*:"7":int:10:char*:"35"

Base test mbedtls_mpi_mul_mpi #2
35:int:10:char*:"-5":int:10:char*:"7":int:10:char*:"-35"

Base test mbedtls_mpi_mul_mpi #3
35:int:10:char*:"5":int:10:char*:"-7":int:10:char*:"-35"

Base test mbedtls_mpi_mul_mpi #4
35:int:10:char*:"-5":int:10:char*:"-7":int:10:char*:"35"

Test mbedtls_mpi_mul_mpi #1
35:int:10:char*:"28911710017320205966167820725313234361535259163045867986277478145081076845846493521348693253530011243988160148063424837895971948244167867236923919506962312185829914482993478947657472351461336729641485069323635424692930278888923450060546465883490944265147851036817433970984747733020522259537":int:10:char*:"16471581891701794764704009719057349996270239948993452268812975037240586099924712715366967486587417803753916334331355573776945238871512026832810626226164346328807407669366029926221415383560814338828449642265377822759768011406757061063524768140567867350208554439342320410551341675119078050953":int:10:char*:"476221599179424887669515829231223263939342135681791605842540429321038144633323941248706405375723482912535192363845116154236465184147599697841273424891410002781967962186252583311115708128167171262206919514587899883547279647025952837516324649656913580411611297312678955801899536937577476819667861053063432906071315727948826276092545739432005962781562403795455162483159362585281248265005441715080197800335757871588045959754547836825977169125866324128449699877076762316768127816074587766799018626179199776188490087103869164122906791440101822594139648973454716256383294690817576188761"

Test mbedtls_mpi_mul_int #1
36:int:10:char*:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":int:9871232:int:10:char*:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":char*:"=="

Test mbedtls_mpi_mul_int #2 (Unsigned, thus failure)
36:int:10:char*:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":exp:10:int:10:char*:"-20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":char*:"!="

Test mbedtls_mpi_mul_int #3
36:int:10:char*:"-2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":int:9871232:int:10:char*:"-20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":char*:"=="

Test mbedtls_mpi_mul_int #4 (Unsigned, thus failure)
36:int:10:char*:"-2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":exp:10:int:10:char*:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":char*:"!="

Base test mbedtls_mpi_div_mpi #1
37:int:10:char*:"1000":int:10:char*:"13":int:10:char*:"76":int:10:char*:"12":int:0

Base test mbedtls_mpi_div_mpi #2 (Divide by zero)
37:int:10:char*:"1000":int:10:char*:"0":int:10:char*:"1":int:10:char*:"1":exp:12

Base test mbedtls_mpi_div_mpi #3
37:int:10:char*:"1000":int:10:char*:"-13":int:10:char*:"-76":int:10:char*:"12":int:0

Test mbedtls_mpi_div_mpi #1
37:int:10:char*:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":int:10:char*:"34":int:10:char*:"592148724779947824773845002981655249516095268533053127589864347174804198178334111238460803":int:10:char*:"26":int:0

Test mbedtls_mpi_div_mpi #2
37:int:10:char*:"476221599179424887669515829231223263939342135681791605842540429321038144633323941248706405375723482912535192363845116154236465184147599697841273424891410002781967962186252583311115708128167171262206919514587899883547279647025952837516324649656913580411611297312678955801899536937577476819667861053063432906071315727948826276092545739432005962781562403795455162483159362585281248265005441715080197800335757871588045959754547836825977169125866324128449699877076762316768127816074587766799018626179199776188490087103869164122906791440101822594139648973454716256383294690817576188762":int:10:char*:"28911710017320205966167820725313234361535259163045867986277478145081076845846493521348693253530011243988160148063424837895971948244167867236923919506962312185829914482993478947657472351461336729641485069323635424692930278888923450060546465883490944265147851036817433970984747733020522259537":int:10:char*:"16471581891701794764704009719057349996270239948993452268812975037240586099924712715366967486587417803753916334331355573776945238871512026832810626226164346328807407669366029926221415383560814338828449642265377822759768011406757061063524768140567867350208554439342320410551341675119078050953":int:10:char*:"1":int:0

Test mbedtls_mpi_div_mpi #3
37:int:10:char*:"1000":int:10:char*:"7":int:10:char*:"142":int:10:char*:"6":int:0

Test mbedtls_mpi_div_mpi #4
37:int:10:char*:"777":int:10:char*:"7":int:10:char*:"111":int:10:char*:"0":int:0

Base test mbedtls_mpi_div_int #1
38:int:10:char*:"1000":int:13:int:10:char*:"76":int:10:char*:"12":int:0

Base test mbedtls_mpi_div_int #2 (Divide by zero)
38:int:10:char*:"1000":int:0:int:10:char*:"1":int:10:char*:"1":exp:12

Base test mbedtls_mpi_div_int #3
38:int:10:char*:"1000":exp:13:int:10:char*:"-76":int:10:char*:"12":int:0

Test mbedtls_mpi_div_int #1
38:int:10:char*:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":int:34:int:10:char*:"592148724779947824773845002981655249516095268533053127589864347174804198178334111238460803":int:10:char*:"26":int:0

Test mbedtls_mpi_div_int #2
38:int:10:char*:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":exp:14:int:10:char*:"-592148724779947824773845002981655249516095268533053127589864347174804198178334111238460803":int:10:char*:"26":int:0

Base test mbedtls_mpi_mod_mpi #1
39:int:10:char*:"1000":int:10:char*:"13":int:10:char*:"12":int:0

Base test mbedtls_mpi_mod_mpi #2 (Divide by zero)
39:int:10:char*:"1000":int:10:char*:"0":int:10:char*:"0":exp:12

Base test mbedtls_mpi_mod_mpi #3
39:int:10:char*:"-1000":int:10:char*:"13":int:10:char*:"1":int:0

Base test mbedtls_mpi_mod_mpi #4 (Negative modulo)
39:int:10:char*:"1000":int:10:char*:"-13":int:10:char*:"-1":exp:11

Base test mbedtls_mpi_mod_mpi #5 (Negative modulo)
39:int:10:char*:"-1000":int:10:char*:"-13":int:10:char*:"-12":exp:11

Base test mbedtls_mpi_mod_int #1
40:int:10:char*:"1000":int:13:int:12:int:0

Base test mbedtls_mpi_mod_int #2 (Divide by zero)
40:int:10:char*:"1000":int:0:int:0:exp:12

Base test mbedtls_mpi_mod_int #3
40:int:10:char*:"-1000":int:13:int:1:int:0

Base test mbedtls_mpi_mod_int #4 (Negative modulo)
40:int:10:char*:"1000":exp:13:int:0:exp:11

Base test mbedtls_mpi_mod_int #5 (Negative modulo)
40:int:10:char*:"-1000":exp:13:int:0:exp:11

Base test mbedtls_mpi_mod_int #6 (By 1)
40:int:10:char*:"1000":int:1:int:0:int:0

Base test mbedtls_mpi_mod_int #7 (By 2)
40:int:10:char*:"1001":int:2:int:1:int:0

Base test mbedtls_mpi_mod_int #8 (By 2)
40:int:10:char*:"1000":int:2:int:0:int:0

Base test mbedtls_mpi_exp_mod #1
41:int:10:char*:"23":int:10:char*:"13":int:10:char*:"29":int:10:char*:"":int:10:char*:"24":int:0

Base test mbedtls_mpi_exp_mod #2 (Even N)
41:int:10:char*:"23":int:10:char*:"13":int:10:char*:"30":int:10:char*:"":int:10:char*:"0":exp:1

Base test mbedtls_mpi_exp_mod #3 (Negative N)
41:int:10:char*:"23":int:10:char*:"13":int:10:char*:"-29":int:10:char*:"":int:10:char*:"0":exp:1

Base test mbedtls_mpi_exp_mod #4 (Negative base)
41:int:10:char*:"-23":int:10:char*:"13":int:10:char*:"29":int:10:char*:"":int:10:char*:"5":int:0

Base test mbedtls_mpi_exp_mod #5 (Negative exponent)
41:int:10:char*:"23":int:10:char*:"-13":int:10:char*:"29":int:10:char*:"":int:10:char*:"0":exp:1

Base test mbedtls_mpi_exp_mod #6 (Negative base + exponent)
41:int:10:char*:"-23":int:10:char*:"-13":int:10:char*:"29":int:10:char*:"":int:10:char*:"0":exp:1

Test mbedtls_mpi_exp_mod: MAX_SIZE exponent
42:int:2:exp:15:int:10:int:10:char*:"":int:0

Test mbedtls_mpi_exp_mod: MAX_SIZE + 1 exponent
42:int:2:exp:16:int:10:int:10:char*:"":exp:1

Test mbedtls_mpi_exp_mod: MAX_SIZE modulus
42:int:2:int:2:exp:15:int:10:char*:"":int:0

Test mbedtls_mpi_exp_mod: MAX_SIZE + 1 modulus
42:int:2:int:2:exp:16:int:10:char*:"":exp:1

Test mbedtls_mpi_exp_mod: MAX_SIZE exponent and modulus
42:int:2:exp:15:exp:15:int:10:char*:"":int:0

Test mbedtls_mpi_exp_mod: MAX_SIZE + 1 exponent and modulus
42:int:2:exp:16:exp:16:int:10:char*:"":exp:1

Test mbedtls_mpi_exp_mod #1
depends_on:0
41:int:10:char*:"433019240910377478217373572959560109819648647016096560523769010881172869083338285573756574557395862965095016483867813043663981946477698466501451832407592327356331263124555137732393938242285782144928753919588632679050799198937132922145084847":int:10:char*:"5781538327977828897150909166778407659250458379645823062042492461576758526757490910073628008613977550546382774775570888130029763571528699574717583228939535960234464230882573615930384979100379102915657483866755371559811718767760594919456971354184113721":int:10:char*:"583137007797276923956891216216022144052044091311388601652961409557516421612874571554415606746479105795833145583959622117418531166391184939066520869800857530421873250114773204354963864729386957427276448683092491947566992077136553066273207777134303397724679138833126700957":int:10:char*:"":int:10:char*:"114597449276684355144920670007147953232659436380163461553186940113929777196018164149703566472936578890991049344459204199888254907113495794730452699842273939581048142004834330369483813876618772578869083248061616444392091693787039636316845512292127097865026290173004860736":int:0

Test mbedtls_mpi_exp_mod (Negative base) [#1]
41:int:10:char*:"-10000000000":int:10:char*:"10000000000":int:10:char*:"99999":int:10:char*:"":int:10:char*:"1":int:0

Test mbedtls_mpi_exp_mod (Negative base) [#2]
depends_on:0
41:int:16:char*:"-9f13012cd92aa72fb86ac8879d2fde4f7fd661aaae43a00971f081cc60ca277059d5c37e89652e2af2585d281d66ef6a9d38a117e9608e9e7574cd142dc55278838a2161dd56db9470d4c1da2d5df15a908ee2eb886aaa890f23be16de59386663a12f1afbb325431a3e835e3fd89b98b96a6f77382f458ef9a37e1f84a03045c8676ab55291a94c2228ea15448ee96b626b998":int:16:char*:"40a54d1b9e86789f06d9607fb158672d64867665c73ee9abb545fc7a785634b354c7bae5b962ce8040cf45f2c1f3d3659b2ee5ede17534c8fc2ec85c815e8df1fe7048d12c90ee31b88a68a081f17f0d8ce5f4030521e9400083bcea73a429031d4ca7949c2000d597088e0c39a6014d8bf962b73bb2e8083bd0390a4e00b9b3":int:16:char*:"eeaf0ab9adb38dd69c33f80afa8fc5e86072618775ff3c0b9ea2314c9c256576d674df7496ea81d3383b4813d692c6e0e0d5d8e250b98be48e495c1d6089dad15dc7d7b46154d6b6ce8ef4ad69b15d4982559b297bcf1885c529f566660e57ec68edbc3c05726cc02fd4cbf4976eaa9afd5138fe8376435b9fc61d2fc0eb06e3":int:16:char*:"":int:16:char*:"21acc7199e1b90f9b4844ffe12c19f00ec548c5d32b21c647d48b6015d8eb9ec9db05b4f3d44db4227a2b5659c1a7cceb9d5fa8fa60376047953ce7397d90aaeb7465e14e820734f84aa52ad0fc66701bcbb991d57715806a11531268e1e83dd48288c72b424a6287e9ce4e5cc4db0dd67614aecc23b0124a5776d36e5c89483":int:0

Base test GCD #1
14:int:10:char*:"693":int:10:char*:"609":int:10:char*:"21"

Base test GCD #2
14:int:10:char*:"1764":int:10:char*:"868":int:10:char*:"28"

Base test GCD #3
14:int:10:char*:"768454923":int:10:char*:"542167814":int:10:char*:"1"

Test GCD #1
14:int:10:char*:"433019240910377478217373572959560109819648647016096560523769010881172869083338285573756574557395862965095016483867813043663981946477698466501451832407592327356331263124555137732393938242285782144928753919588632679050799198937132922145084847":int:10:char*:"5781538327977828897150909166778407659250458379645823062042492461576758526757490910073628008613977550546382774775570888130029763571528699574717583228939535960234464230882573615930384979100379102915657483866755371559811718767760594919456971354184113721":int:10:char*:"1"

Base test mbedtls_mpi_inv_mod #1
43:int:10:char*:"3":int:10:char*:"11":int:10:char*:"4":int:0

Base test mbedtls_mpi_inv_mod #2
43:int:10:char*:"3":int:10:char*:"0":int:10:char*:"0":exp:1

Base test mbedtls_mpi_inv_mod #3
43:int:10:char*:"3":int:10:char*:"-11":int:10:char*:"4":exp:1

Base test mbedtls_mpi_inv_mod #4
43:int:10:char*:"2":int:10:char*:"4":int:10:char*:"0":exp:17

Base test mbedtls_mpi_inv_mod #5
43:int:10:char*:"3":int:10:char*:"1":int:10:char*:"0":exp:1

Test mbedtls_mpi_inv_mod #1
43:int:16:char*:"aa4df5cb14b4c31237f98bd1faf527c283c2d0f3eec89718664ba33f9762907c":int:16:char*:"fffbbd660b94412ae61ead9c2906a344116e316a256fd387874c6c675b1d587d":int:16:char*:"8d6a5c1d7adeae3e94b9bcd2c47e0d46e778bc8804a2cc25c02d775dc3d05b0c":int:0

Base test mbedtls_mpi_is_prime #1
depends_on:1
44:int:10:char*:"0":exp:17

Base test mbedtls_mpi_is_prime #2
depends_on:1
44:int:10:char*:"1":exp:17

Base test mbedtls_mpi_is_prime #3
depends_on:1
44:int:10:char*:"2":int:0

Base test mbedtls_mpi_is_prime #4
depends_on:1
44:int:10:char*:"3":int:0

Base test mbedtls_mpi_is_prime #5
depends_on:1
44:int:10:char*:"4":exp:17

Base test mbedtls_mpi_is_prime #6
depends_on:1
44:int:10:char*:"5":int:0

Base test mbedtls_mpi_is_prime #7
depends_on:1
44:int:10:char*:"27":exp:17

Base test mbedtls_mpi_is_prime #8
depends_on:1
44:int:10:char*:"47":int:0

Test mbedtls_mpi_is_prime #1a
depends_on:1
44:int:10:char*:"83726728883146151979668243326097049289208482987685965276439157162337476477581":exp:17

Test mbedtls_mpi_is_prime #1b
depends_on:1
44:int:10:char*:"81248637410584921454869308488899267096530643632730258201256092582281263244641":exp:17

Test mbedtls_mpi_is_prime #2a
depends_on:1
44:int:10:char*:"827131507221654563937832686696200995595835694437983658840870036586124168186967796809117749047430768825822857042432722828096779098498192459819306321073968735177531164565305635281198148032612029767584644305912099":int:0

Test mbedtls_mpi_is_prime #2b
depends_on:1
44:int:10:char*:"827131507221654563937832686696200995595835694437983658840870036586124168186967796809117749047430768825822857042432722828096779098498192459819306321073968735177531164565305635281198148032612029767584644305912001":exp:17

Test mbedtls_mpi_is_prime #3
depends_on:1
44:int:10:char*:"2833419889721787128217599":int:0

Test mbedtls_mpi_is_prime #4
depends_on:1
44:int:10:char*:"195845982777569926302400511":int:0

Test mbedtls_mpi_is_prime #5 [#1]
depends_on:1
44:int:10:char*:"4776913109852041418248056622882488319":int:0

Test mbedtls_mpi_is_prime #5 [#2]
depends_on:1
44:int:10:char*:"768614336404564651":int:0

Test mbedtls_mpi_is_prime #6
depends_on:1
44:int:10:char*:"201487636602438195784363":int:0

Test mbedtls_mpi_is_prime #7
depends_on:1
44:int:10:char*:"845100400152152934331135470251":int:0

Test mbedtls_mpi_is_prime #8
depends_on:1
44:int:10:char*:"56713727820156410577229101238628035243":int:0

Test mbedtls_mpi_is_prime #9
depends_on:1
44:int:10:char*:"203956878356401977405765866929034577280193993314348263094772646453283062722701277632936616063144088173312372882677123879538709400158306567338328279154499698366071906766440037074217117805690872792848149112022286332144876183376326512083574821647933992961249917319836219304274280243803104015000563790123":int:0

Test mbedtls_mpi_is_prime #10
depends_on:1
44:int:10:char*:"531872289054204184185084734375133399408303613982130856645299464930952178606045848877129147820387996428175564228204785846141207532462936339834139412401975338705794646595487324365194792822189473092273993580587964571659678084484152603881094176995594813302284232006001752128168901293560051833646881436219":int:0

Test mbedtls_mpi_is_prime #11
depends_on:1
44:int:10:char*:"319705304701141539155720137200974664666792526059405792539680974929469783512821793995613718943171723765238853752439032835985158829038528214925658918372196742089464683960239919950882355844766055365179937610326127675178857306260955550407044463370239890187189750909036833976197804646589380690779463976173":int:0

Test mbedtls_mpi_is_prime #12
depends_on:1
44:int:10:char*:"200603822195324642393516294012917598972967449320074999667103434371470616000652036570009912021332527788252300901905236578801044680456930305350440933538867383130165841118050781326291059830545891570648243241795871":int:0

Test mbedtls_mpi_is_prime #13
depends_on:1
44:int:10:char*:"827131507221654563937832686696200995595835694437983658840870036586124168186967796809117749047430768825822857042432722828096779098498192459819306321073968735177531164565305635281198148032612029767584644305912099":int:0

Test mbedtls_mpi_is_prime #14
depends_on:1
44:int:10:char*:"964274047248418797145090983157197980855078966882276492572788532954904112655338439361306213898569516593744267391754033306465125919199692703323878557833023573312685002670662846477592597659826113460619815244721311":int:0

Test mbedtls_mpi_is_prime #15
depends_on:1
44:int:10:char*:"170141183460469231731687303715884105727":int:0

Test mbedtls_mpi_is_prime #16
depends_on:1
44:int:10:char*:"2147483647":int:0

Test mbedtls_mpi_is_prime #17
depends_on:1
44:int:10:char*:"961748941":int:0

Test mbedtls_mpi_is_prime #18
depends_on:1
44:int:10:char*:"179424691":int:0

Test mbedtls_mpi_is_prime #19
depends_on:1
44:int:10:char*:"32452867":int:0

Test mbedtls_mpi_is_prime #20
depends_on:1
44:int:10:char*:"49979687":int:0

Test mbedtls_mpi_is_prime_det (4 non-witnesses)
depends_on:1
45:hex:"043BD64BA10B11DA83FBD296B04BCA9E0552FAF6E09CAC74E2D7E735ED0DB09FC47ED76145644203EE0C826013BC602F560BCDAAED557D04683859A65D659FF828A245A2C5B1AC41E01E4669A525A45E23AF":hex:"040EA852F7935ACCECC0E87B845281F047D10DC9AAFEF990AF9D3D66770DA30B0C5B5E03EEA8C0CB79B936FE0BB8EE5389EC1D34EB16C58AA3F2E11AF084160CDF6400BE1CC179867AB074866952D9F34EE7042D27F960E715A97FCB93F3182247D0A6AE51BD21CC2F6B0651F9E572C5FB86F3137053FA85FD7A51816D69B3A53A5A438C17754836D04E98CA240B901F828332F2D72D88C497DA45F533F99A6E53EDEA6B0424EC8951B048FA9A80134B37D0A67014597934E3CFC52C5A4DD4751ADF8D66FC79E84E2A3148C4B15C17E12CB659390FD275F39A331FFC80EC699BC3F6FAB868E30E9B14575FCDAB6FAED01E00112DD28704177E09C335AD43A696FEA761E8DF3B0663277A5C3637F9060CB5E5654F72E9A6B0F369E660AD4CF7ABF4195493545B367BD55271CD4BB7D9C15D3F508FE8F7409C2126FC8E73B43A67CD4EFB21E9F15DBF040A2A8D5F5ED75CEAC12B595C0051F3EC9D5A58ACE82A9506E64F780E9836728260FFE1BFD73E8A9869E3D46A35A856D3028F7FEAB9F4F1A04449AEDC80017EE1014080D87F0B50C8EF255324CD89F7D039":int:82:int:5

Test mbedtls_mpi_is_prime_det (39 non-witnesses)
depends_on:1
45:hex:"155102B67930FBE8858DF6C0642D77D419A7B7968E622CC7500F3E3F2C5168368C50E0083187":hex:"119B3E2C721834D83416239B04447AA18AE0163E61DCAE97054563D79E094A6FA4485BD6A0501445BF57FE9C058926CDB862E04CC1A95D79D61D9AB3466857A53E04F8D7470C9C86649B226A13DDC534E18DFD5C22FAEA317CA4D4960F18457FD6D2FFB5F3273F74C89980DC774590D8D30D1159CA81999ED94A042D67DA68C82616AD46C2C88288A8EBD0B37AC7C152D9522CA4544642AD1210F6B642FEBF43563FA872B0DEFAFC69D0B6570E8FEA9570D0AADCFA9B06CC8BFD62CEDC221541210EEEF9762448C6D49F26AA767A4D66CB168589E0201923015314E6CD4A480E5936E7CF145F73A564C5B782635B3AFC3028E2632C5D3458224A7C9E8BA1876E8F690463C878292D3DC011E9640331E7F7621F2B5E0F6713DD8C9D6767521C4BA880DA8D11C67753C8493D2C4C4F1443147550D0B25B7FAD04EAFA9F8AA60974C1365C8A794CFEECEB4279B1150909A97E5A7A10B5D91186CA5B25A612036631FE73529C8CFAE51E76FB704A772DE5320EFC1212E7A399B1FEBF57D014AF9129DFF5D2C5DFBBEEAC55F360CF6D22FA90B8E2E9AD0C71AB6495A9452A58D653B8CC26128C66B43EFBA6E39AEC5717A1A3C2AE1449FCABAFE1180B159DA55190CD81A3D9E8D798647E11B827F0A057D6DA5AAD78AB5112EE65E10E8B8B369BA24E1B8AD2CD8548C497016C07A143DE1232F8059BE303572456FA92E76A0F23D1340629228B7D27C02D3833A72745B91A3DBEB5E081117A9F19597F00E4277B414FAEA8C8CEB895C37F956A5A22F8D7A10ADA50B22BAB312504904511AA0EFDD4D3BF20ECB17E8A684564FFB5BBD5E22C429F9A75A4FB4AE468FE7612ED53C7A11212E7EF3435CC9CA6E7DB167B8CCE2BECF35F89013F8F876223C77FA81570970858663C6E32B91080AA47F9C90177F51E6FD7747B910C9489C7B6ACB070996198AD9A40A69711274159210A9A12DBAAA4FB4632446066AB70D735DC95F7C2BCE517E88C064D728DE82B1B043DF4AEE0EFF5131120A4E5B9B4180EB6F6B8A0D1491ABDA069058A9966B1A517D8E7B4997DC52A1E698FD79E271153DF1913FE6787A5D99DE69F39C3F22D26DC731CFBB33FF5C267D85D7A3DAE8E1C87E1DB2F1236212EF1942EA756967FB3D07D629E59EA4034D9A9B5E270DD4A31C8A3DFDA99C1094B5537132C196DA2AEAF5253A019B9AF25B5DCB0D4DD75C7C9C353DA9DAABFB23959A5455312E7E1C21268C1BC14E83DCFDF50C27FD3E8B4EDC04C5F3CB5FCFFF2B57151E1B1EE1A6456DC006BC43E1158674AA4CF7D146DE4A57103BE43ED130C8007294ED2418C7A2B769A7D20EBB5A8367A77B313F81BB119B9954305FF160FF83EED7F808EE6D340A5CCC000CF81AA497D315D350CCE4E86A31456B8AA85B677491FC662933DFA55EB5BFF64B8D85430D676A85D1CAFAFF383E68C4E6C22A51063739EC03FC58C36C07C44E54828BE2152B2E9AFB0F179B157D09B64C147B524BB5424BB1914419424D9100D06EDCFC718F4DF3D562E9E16C446663F35273CA7BC5426B868A80C8D415C9A12A1619CDB7CDB5BEBC70313150BDF8C3AB26B809FE62D28E798EF1EF98C410A2DA0A9071F82154AC569078B0E647E2C085D1D907E634453442803D0492D3D0C78CACB762020C0E589C8B0981321EA2771305FD0413F3B2963FCE9A232F6641DB7E12ADC009A032063C41756E5E19E5711DE12711F07AFE7545B4D83F3EFD7BFD0435297C89DF3D4AF96EBE2CE8D64B93E36EA5D7E5A0492151D0CAEE7449A7D35E1A3C83E22C3B35162C073CC3B1CF76FBDEE84270721FC042EAAEB7325110181415E2031CFB7462F15111291CDAC0560FF9F4C7341F2FA261B97CEF348D074AA2EB4DB153FE6B1410519DA4213B611999868F3B867A2B6D758D333C4989DE80782683CA26ECDE373C71524F01B76349CE8A07A5EBECBB42259CF970DDA756EC996B189FEA045FEE45F23D476960913106ECA2510B8517AA75D56FA4152B2BDDC212014E5D07FD964D6EE532F0616DF74E104659955132331FABF2D2AD265E71C93C648A956FA0A3DB21FF103D516527F2DA0E870340B61EE8A8ED913B60605EB5A67B834D0FC90564386012585609870FEF6530B3E3C037B55506F0B5694F6B0FC":int:38:int:40

Test mbedtls_mpi_gen_prime (Too small)
depends_on:1
46:int:2:int:0:exp:1

Test mbedtls_mpi_gen_prime (OK, minimum size)
depends_on:1
46:int:3:int:0:int:0

Test mbedtls_mpi_gen_prime (corner case limb size -1 bits)
depends_on:1
46:int:63:int:0:int:0

Test mbedtls_mpi_gen_prime (corner case limb size)
depends_on:1
46:int:64:int:0:int:0

Test mbedtls_mpi_gen_prime (corner case limb size +1 bits)
depends_on:1
46:int:65:int:0:int:0

Test mbedtls_mpi_gen_prime (Larger)
depends_on:1
46:int:128:int:0:int:0

Test mbedtls_mpi_gen_prime (Safe)
depends_on:1
46:int:128:exp:18:int:0

Test mbedtls_mpi_gen_prime (Safe with lower error rate)
depends_on:1
46:int:128:exp:19:int:0

Test mbedtls_mpi_gen_prime standard RSA #1 (lower error rate)
depends_on:1
46:int:1024:exp:20:int:0

Test mbedtls_mpi_gen_prime standard RSA #2 (lower error rate)
depends_on:1
46:int:1536:exp:20:int:0

Test bit getting (Value bit 25)
10:int:10:char*:"49979687":int:25:int:1

Test bit getting (Larger but same limb)
10:int:10:char*:"49979687":int:26:int:0

Test bit getting (Larger and non-existing limb)
10:int:10:char*:"49979687":int:500:int:0

Test bit getting (Value bit 24)
10:int:10:char*:"49979687":int:24:int:0

Test bit getting (Value bit 23)
10:int:10:char*:"49979687":int:23:int:1

Test bit set (Change existing value with a 1)
11:int:10:char*:"49979687":int:24:int:1:int:10:char*:"66756903":int:0

Test bit set (Change existing value with a 0)
11:int:10:char*:"49979687":int:25:int:0:int:10:char*:"16425255":int:0

Test bit set (Add above existing limbs with a 0)
11:int:10:char*:"49979687":int:80:int:0:int:10:char*:"49979687":int:0

Test bit set (Add above existing limbs with a 1)
11:int:10:char*:"49979687":int:80:int:1:int:10:char*:"1208925819614629224685863":int:0

Test bit set (Bit index larger than 31 with a 0)
11:int:16:char*:"FFFFFFFFFFFFFFFF":int:32:int:0:int:16:char*:"FFFFFFFEFFFFFFFF":int:0

Test bit set (Bit index larger than 31 with a 1)
11:int:16:char*:"00":int:32:int:1:int:16:char*:"0100000000":int:0

Test bit set (Invalid bit value)
11:int:16:char*:"00":int:5:int:2:int:16:char*:"00":exp:1

Fill random: 0 bytes
49:int:0:int:0:int:0

Fill random: 1 byte, good
49:int:1:int:1:int:0

Fill random: 2 bytes, good, no leading zero
49:int:2:int:2:int:0

Fill random: 2 bytes, good, 1 leading zero
49:int:2:int:256:int:0

Fill random: MAX_SIZE - 7, good
49:exp:21:exp:21:int:0

Fill random: MAX_SIZE, good
49:exp:15:exp:15:int:0

Fill random: 1 byte, RNG failure
49:int:1:int:0:exp:22

Fill random: 2 bytes, RNG failure after 1 byte
49:int:2:int:1:exp:22

Fill random: 4 bytes, RNG failure after 3 bytes
49:int:4:int:3:exp:22

Fill random: 8 bytes, RNG failure after 7 bytes
49:int:8:int:7:exp:22

Fill random: 16 bytes, RNG failure after 1 bytes
49:int:16:int:1:exp:22

Fill random: 16 bytes, RNG failure after 8 bytes
49:int:16:int:8:exp:22

Fill random: 16 bytes, RNG failure after 15 bytes
49:int:16:int:15:exp:22

Fill random: MAX_SIZE bytes, RNG failure after MAX_SIZE-1 bytes
49:exp:15:exp:23:exp:22

MPI Selftest
depends_on:2
50

