cosmopolitan/third_party/mbedtls/test/test_suite_mpi.datax
Justine Tunney cc1920749e Add SSL to redbean
Your redbean can now interoperate with clients that require TLS crypto.
This is accomplished using a protocol polyglot that lets us distinguish
between HTTP and HTTPS regardless of the port number. Certificates will
be generated automatically, if none are supplied by the user. Footprint
increases by only a few hundred kb so redbean in MODY=tiny is now 1.0mb

- Add lseek() polyfills for ZIP executable
- Automatically polyfill /tmp/FOO paths on NT
- Fix readdir() / ftw() / nftw() bugs on Windows
- Introduce -B flag for slower SSL that's stronger
- Remove mbedtls features Cosmopolitan doesn't need
- Have base64 decoder support the uri-safe alternative
- Remove Truncated HMAC because it's forbidden by the IETF
- Add all the mbedtls test suites and make them go 3x faster
- Support opendir() / readdir() / closedir() on ZIP executable
- Use Everest for ECDHE-ECDSA because it's so good it's so good
- Add tinier implementation of sha1 since it's not worth the rom
- Add chi-square monte-carlo mean correlation tests for getrandom()
- Source entropy on Windows from the proper interface everyone uses

We're continuing to outperform NGINX and other servers on raw message
throughput. Using SSL means that instead of 1,000,000 qps you can get
around 300,000 qps. However redbean isn't as fast as NGINX yet at SSL
handshakes, since redbean can do 2,627 per second and NGINX does 4.3k

Right now, the SSL UX story works best if you give your redbean a key
signing key since that can be easily generated by openssl using a one
liner then redbean will do all the things that are impossibly hard to
do like signing ecdsa and rsa certificates that'll work in chrome. We
should integrate the let's encrypt acme protocol in the future.

Live Demo: https://redbean.justine.lol/
Root Cert: https://redbean.justine.lol/redbean1.crt
2021-06-24 13:20:50 -07:00

1015 lines
50 KiB
Text

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*:"/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