cosmopolitan/third_party/mbedtls/test/test_suite_ecp.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

511 lines
32 KiB
Text

ECP valid params
0
ECP invalid params
1
ECP curve info #1
depends_on:0
2:exp:0:int:28:int:512:char*:"brainpoolP512r1"
ECP curve info #2
depends_on:1
2:exp:1:int:27:int:384:char*:"brainpoolP384r1"
ECP curve info #3
depends_on:2
2:exp:2:int:26:int:256:char*:"brainpoolP256r1"
ECP curve info #4
depends_on:3
2:exp:3:int:25:int:521:char*:"secp521r1"
ECP curve info #5
depends_on:4
2:exp:4:int:24:int:384:char*:"secp384r1"
ECP curve info #6
depends_on:5
2:exp:5:int:23:int:256:char*:"secp256r1"
ECP curve info #7
depends_on:6
2:exp:6:int:21:int:224:char*:"secp224r1"
ECP curve info #8
depends_on:7
2:exp:7:int:19:int:192:char*:"secp192r1"
ECP check pubkey Montgomery #1 (too big)
depends_on:8
3:exp:8:char*:"010000000000000000000000000000000000000000000000000000000000000000":char*:"0":char*:"1":exp:9
ECP check pubkey Montgomery #2 (biggest)
depends_on:8
3:exp:8:char*:"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF":char*:"0":char*:"1":int:0
ECP check pubkey Koblitz #1 (point not on curve)
depends_on:9
3:exp:10:char*:"E2000000000000BB3A13D43B323337383935321F0603551D":char*:"100101FF040830060101FF02010A30220603551D0E041B04636FC0C0":char*:"1":exp:9
ECP check pubkey Koblitz #2 (coordinate not affine)
depends_on:9
3:exp:10:char*:"E2000000000000BB3A13D43B323337383935321F0603551D":char*:"100101FF040830060101FF02010A30220603551D0E041B04636FC0C0":char*:"101":exp:9
ECP write binary #1 (zero, uncompressed, buffer just fits)
depends_on:7
11:exp:7:char*:"01":char*:"01":char*:"00":exp:11:hex:"00":int:1:int:0
ECP write binary #2 (zero, buffer too small)
depends_on:7
11:exp:7:char*:"01":char*:"01":char*:"00":exp:11:hex:"00":int:0:exp:12
ECP write binary #3 (non-zero, uncompressed, buffer just fits)
depends_on:7
11:exp:7:char*:"48d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":char*:"6ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":char*:"01":exp:11:hex:"0448d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc99336ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":int:49:int:0
ECP write binary #4 (non-zero, uncompressed, buffer too small)
depends_on:7
11:exp:7:char*:"48d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":char*:"6ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":char*:"01":exp:11:hex:"0448d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc99336ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":int:48:exp:12
ECP write binary #5 (zero, compressed, buffer just fits)
depends_on:7
11:exp:7:char*:"01":char*:"01":char*:"00":exp:13:hex:"00":int:1:int:0
ECP write binary #6 (zero, buffer too small)
depends_on:7
11:exp:7:char*:"01":char*:"01":char*:"00":exp:13:hex:"00":int:0:exp:12
ECP write binary #7 (even, compressed, buffer just fits)
depends_on:7
11:exp:7:char*:"48d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":char*:"6ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":char*:"01":exp:13:hex:"0248d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":int:25:int:0
ECP write binary #8 (even, compressed, buffer too small)
depends_on:7
11:exp:7:char*:"48d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":char*:"6ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":char*:"01":exp:13:hex:"0248d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":int:24:exp:12
ECP write binary #9 (odd, compressed, buffer just fits)
depends_on:7
11:exp:7:char*:"48d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":char*:"93112b28345b7d1d7799611e49bea9d8290cb2d7afe1f9f3":char*:"01":exp:13:hex:"0348d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":int:25:int:0
ECP write binary #10 (Montgomery, buffer just fits)
depends_on:8
11:exp:8:char*:"11223344556677889900aabbccddeeff11223344556677889900aabbccddeeff":char*:"0":char*:"1":exp:13:hex:"ffeeddccbbaa00998877665544332211ffeeddccbbaa00998877665544332211":int:32:int:0
ECP write binary #11 (Montgomery, buffer too small)
depends_on:8
11:exp:8:char*:"11223344556677889900aabbccddeeff11223344556677889900aabbccddeeff":char*:"0":char*:"1":exp:13:hex:"ffeeddccbbaa00998877665544332211ffeeddccbbaa00998877665544332211":int:31:exp:12
ECP read binary #1 (zero, invalid ilen)
depends_on:7
12:exp:7:hex:"0000":char*:"01":char*:"01":char*:"00":exp:14
ECP read binary #2 (zero, invalid first byte)
depends_on:7
12:exp:7:hex:"01":char*:"01":char*:"01":char*:"00":exp:15
ECP read binary #3 (zero, OK)
depends_on:7
12:exp:7:hex:"00":char*:"01":char*:"01":char*:"00":int:0
ECP read binary #4 (non-zero, invalid ilen)
depends_on:7
12:exp:7:hex:"04001122":char*:"01":char*:"01":char*:"00":exp:14
ECP read binary #5 (non-zero, invalid first byte)
depends_on:7
12:exp:7:hex:"0548d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc99336ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":char*:"48d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":char*:"6ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":char*:"01":exp:15
ECP read binary #6 (non-zero, OK)
depends_on:7
12:exp:7:hex:"0448d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc99336ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":char*:"48d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":char*:"6ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":char*:"01":int:0
ECP read binary #7 (Curve25519, OK)
depends_on:8
12:exp:8:hex:"8520f0098930a754748b7ddcb43ef75a0dbf3a0d26381af4eba4a98eaa9b4e6a":char*:"6a4e9baa8ea9a4ebf41a38260d3abf0d5af73eb4dc7d8b7454a7308909f02085":char*:"0":char*:"1":int:0
ECP read binary #8 (Curve25519, masked first bit)
depends_on:8
12:exp:8:hex:"8520f0098930a754748b7ddcb43ef75a0dbf3a0d26381af4eba4a98eaa9b4efa":char*:"7a4e9baa8ea9a4ebf41a38260d3abf0d5af73eb4dc7d8b7454a7308909f02085":char*:"0":char*:"1":int:0
ECP read binary #9 (Curve25519, too short)
depends_on:8
12:exp:8:hex:"20f0098930a754748b7ddcb43ef75a0dbf3a0d26381af4eba4a98eaa9b4e6a":char*:"6a4e9baa8ea9a4ebf41a38260d3abf0d5af73eb4dc7d8b7454a7308909f020":char*:"0":char*:"1":exp:14
ECP read binary #10 (Curve25519, non-canonical)
depends_on:8
12:exp:8:hex:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f":char*:"7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":char*:"0":char*:"1":int:0
ECP read binary #11 (Curve25519, masked non-canonical)
depends_on:8
12:exp:8:hex:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":char*:"7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":char*:"0":char*:"1":int:0
ECP read binary #12 (Curve25519, too long)
depends_on:8
12:exp:8:hex:"8520f0098930a754748b7ddcb43ef75a0dbf3a0d26381af4eba4a98eaa9b4e6a00":char*:"6a4e9baa8ea9a4ebf41a38260d3abf0d5af73eb4dc7d8b7454a7308909f02085":char*:"0":char*:"1":exp:14
ECP tls read point #1 (zero, invalid length byte)
depends_on:7
13:exp:7:hex:"0200":char*:"01":char*:"01":char*:"00":exp:14
ECP tls read point #2 (zero, OK)
depends_on:7
13:exp:7:hex:"0100":char*:"01":char*:"01":char*:"00":int:0
ECP tls read point #3 (non-zero, invalid length byte)
depends_on:7
13:exp:7:hex:"300448d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc99336ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":char*:"48d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":char*:"6ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":char*:"01":exp:14
ECP tls read point #4 (non-zero, OK)
depends_on:7
13:exp:7:hex:"310448d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc99336ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":char*:"48d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":char*:"6ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":char*:"01":int:0
ECP tls write-read point #1
depends_on:7
14:exp:7
ECP tls write-read point #2
depends_on:3
14:exp:3
ECP tls read group #1 (record too short)
15:hex:"0313":exp:14:int:0:int:0
ECP tls read group #2 (bad curve_type)
15:hex:"010013":exp:14:int:0:int:0
ECP tls read group #3 (unknown curve)
15:hex:"030010":exp:15:int:0:int:0
ECP tls read group #4 (OK, buffer just fits)
depends_on:5
15:hex:"030017":int:0:int:256:int:3
ECP tls read group #5 (OK, buffer continues)
depends_on:4
15:hex:"0300180000":int:0:int:384:int:3
ECP tls write-read group #1
depends_on:7
16:exp:7
ECP tls write-read group #2
depends_on:3
16:exp:3
ECP check privkey #1 (short weierstrass, too small)
depends_on:7
17:exp:7:char*:"00":exp:9
ECP check privkey #2 (short weierstrass, smallest)
depends_on:7
17:exp:7:char*:"01":int:0
ECP check privkey #3 (short weierstrass, biggest)
depends_on:7
17:exp:7:char*:"FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22830":int:0
ECP check privkey #4 (short weierstrass, too big)
depends_on:7
17:exp:7:char*:"FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831":exp:9
ECP check privkey #5 (montgomery, too big)
depends_on:8
17:exp:8:char*:"C000000000000000000000000000000000000000000000000000000000000000":exp:9
ECP check privkey #6 (montgomery, not big enough)
depends_on:8
17:exp:8:char*:"3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0":exp:9
ECP check privkey #7 (montgomery, msb OK)
depends_on:8
17:exp:8:char*:"4000000000000000000000000000000000000000000000000000000000000000":int:0
ECP check privkey #8 (montgomery, bit 0 set)
depends_on:8
17:exp:8:char*:"4000000000000000000000000000000000000000000000000000000000000001":exp:9
ECP check privkey #9 (montgomery, bit 1 set)
depends_on:8
17:exp:8:char*:"4000000000000000000000000000000000000000000000000000000000000002":exp:9
ECP check privkey #10 (montgomery, bit 2 set)
depends_on:8
17:exp:8:char*:"4000000000000000000000000000000000000000000000000000000000000004":exp:9
ECP check privkey #11 (montgomery, OK)
depends_on:8
17:exp:8:char*:"7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8":int:0
ECP check public-private #1 (OK)
depends_on:5
18:exp:5:char*:"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596292":char*:"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edff":exp:5:char*:"00f12a1320760270a83cbffd53f6031ef76a5d86c8a204f2c30ca9ebf51f0f0ea7":char*:"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596292":char*:"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edff":int:0
ECP check public-private #2 (group none)
18:exp:16:char*:"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596292":char*:"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edff":exp:16:char*:"00f12a1320760270a83cbffd53f6031ef76a5d86c8a204f2c30ca9ebf51f0f0ea7":char*:"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596292":char*:"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edff":exp:14
ECP check public-private #3 (group mismatch)
depends_on:5:4
18:exp:4:char*:"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596292":char*:"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edff":exp:5:char*:"00f12a1320760270a83cbffd53f6031ef76a5d86c8a204f2c30ca9ebf51f0f0ea7":char*:"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596292":char*:"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edff":exp:14
ECP check public-private #4 (Qx mismatch)
depends_on:5
18:exp:5:char*:"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596293":char*:"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edff":exp:5:char*:"00f12a1320760270a83cbffd53f6031ef76a5d86c8a204f2c30ca9ebf51f0f0ea7":char*:"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596292":char*:"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edff":exp:14
ECP check public-private #5 (Qy mismatch)
depends_on:5
18:exp:5:char*:"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596292":char*:"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edfe":exp:5:char*:"00f12a1320760270a83cbffd53f6031ef76a5d86c8a204f2c30ca9ebf51f0f0ea7":char*:"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596292":char*:"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edff":exp:14
ECP check public-private #6 (wrong Qx)
depends_on:5
18:exp:5:char*:"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596293":char*:"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edff":exp:5:char*:"00f12a1320760270a83cbffd53f6031ef76a5d86c8a204f2c30ca9ebf51f0f0ea7":char*:"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596293":char*:"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edff":exp:14
ECP check public-private #7 (wrong Qy)
depends_on:5
18:exp:5:char*:"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596292":char*:"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edfe":exp:5:char*:"00f12a1320760270a83cbffd53f6031ef76a5d86c8a204f2c30ca9ebf51f0f0ea7":char*:"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596292":char*:"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edfe":exp:14
ECP gen keypair [#1]
depends_on:7
19:exp:7
ECP gen keypair [#2]
depends_on:8
19:exp:8
ECP gen keypair wrapper
depends_on:7
20:exp:7
ECP read key #1 (short weierstrass, too small)
depends_on:7
21:exp:7:hex:"00":exp:9:int:0
ECP read key #2 (short weierstrass, smallest)
depends_on:7
21:exp:7:hex:"01":int:0:int:1
ECP read key #3 (short weierstrass, biggest)
depends_on:7
21:exp:7:hex:"FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22830":int:0:int:1
ECP read key #4 (short weierstrass, too big)
depends_on:7
21:exp:7:hex:"FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831":exp:9:int:0
ECP read key #5 (Curve25519, most significant bit set)
depends_on:8
21:exp:8:hex:"00000000000000000000000000000000000000000000000000000000000000C0":int:0:int:0
ECP read key #6 (Curve25519, second most significant bit unset)
depends_on:8
21:exp:8:hex:"F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F":int:0:int:0
ECP read key #7 (Curve25519, msb OK)
depends_on:8
21:exp:8:hex:"0000000000000000000000000000000000000000000000000000000000000040":int:0:int:1
ECP read key #8 (Curve25519, bit 0 set)
depends_on:8
21:exp:8:hex:"0100000000000000000000000000000000000000000000000000000000000040":int:0:int:0
ECP read key #9 (Curve25519, bit 1 set)
depends_on:8
21:exp:8:hex:"0200000000000000000000000000000000000000000000000000000000000040":int:0:int:0
ECP read key #10 (Curve25519, bit 2 set)
depends_on:8
21:exp:8:hex:"0400000000000000000000000000000000000000000000000000000000000040":int:0:int:0
ECP read key #11 (Curve25519, OK)
depends_on:8
21:exp:8:hex:"F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F":int:0:int:1
ECP read key #12 (Curve25519, too long)
depends_on:8
21:exp:8:hex:"00000000000000000000000000000000000000000000000000000000000000000C":exp:9:int:0
ECP read key #13 (Curve25519, not long enough)
depends_on:8
21:exp:8:hex:"F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F":exp:9:int:0
ECP read key #14 (Curve448, not supported)
21:exp:17:hex:"FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF":exp:15:int:0
ECP read key #15 (Curve25519, not supported)
depends_on:10
21:exp:8:hex:"F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F":exp:15:int:0
ECP read key #15 (invalid curve)
21:exp:18:hex:"F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F":exp:15:int:0
ECP read key #16 (Curve25519 RFC, OK)
depends_on:8
21:exp:8:hex:"70076d0a7318a57d3c16c17251b26645df4c2f87ebc0992ab177fba51db92c6a":int:0:int:1
ECP mod p192 small (more than 192 bits, less limbs than 2 * 192 bits)
depends_on:7
10:exp:7:char*:"0100000000000103010000000000010201000000000001010100000000000100"
ECP mod p192 readable
depends_on:7
10:exp:7:char*:"010000000000010501000000000001040100000000000103010000000000010201000000000001010100000000000100"
ECP mod p192 readable with carry
depends_on:7
10:exp:7:char*:"FF00000000010500FF00000000010400FF00000000010300FF00000000010200FF00000000010100FF00000000010000"
ECP mod p192 random
depends_on:7
10:exp:7:char*:"36CF96B45D706A0954D89E52CE5F38517A2270E0175849B6F3740151D238CCABEF921437E475881D83BB69E4AA258EBD"
ECP mod p192 (from a past failure case)
depends_on:7
10:exp:7:char*:"1AC2D6F96A2A425E9DD1776DD8368D4BBC86BF4964E79FEA713583BF948BBEFF0939F96FB19EC48C585BDA6A2D35C750"
ECP mod p224 readable without carry
depends_on:6
10:exp:6:char*:"0000000D0000000C0000000B0000000A0000000900000008000000070000FF060000FF050000FF040000FF03000FF0020000FF010000FF00"
ECP mod p224 readable with negative carry
depends_on:6
10:exp:6:char*:"0000000D0000000C0000000B0000000A00000009000000080000000700000006000000050000000400000003000000020000000100000000"
ECP mod p224 readable with positive carry
depends_on:6
10:exp:6:char*:"0000000D0000000C0000000BFFFFFF0AFFFFFF09FFFFFF08FFFFFF070000FF060000FF050000FF040000FF03000FF0020000FF010000FF00"
ECP mod p224 readable with final negative carry
depends_on:6
10:exp:6:char*:"FF00000D0000000C0000000B0000000A00000009000000080000000700000006000000050000000400000003000000020000000100000000"
ECP mod p521 very small
depends_on:3
10:exp:3:char*:"01"
ECP mod p521 small (522 bits)
depends_on:3
10:exp:3:char*:"030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
ECP mod p521 readable
depends_on:3
10:exp:3:char*:"03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
ECP mod p521 readable with carry
depends_on:3
10:exp:3:char*:"03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"
ECP test vectors secp192r1 rfc 5114
depends_on:7
6:exp:7:char*:"323FA3169D8E9C6593F59476BC142000AB5BE0E249C43426":char*:"CD46489ECFD6C105E7B3D32566E2B122E249ABAADD870612":char*:"68887B4877DF51DD4DC3D6FD11F0A26F8FD3844317916E9A":char*:"631F95BB4A67632C9C476EEE9AB695AB240A0499307FCF62":char*:"519A121680E0045466BA21DF2EEE47F5973B500577EF13D5":char*:"FF613AB4D64CEE3A20875BDB10F953F6B30CA072C60AA57F":char*:"AD420182633F8526BFE954ACDA376F05E5FF4F837F54FEBE":char*:"4371545ED772A59741D0EDA32C671112B7FDDD51461FCF32"
ECP test vectors secp224r1 rfc 5114
depends_on:6
6:exp:6:char*:"B558EB6C288DA707BBB4F8FBAE2AB9E9CB62E3BC5C7573E22E26D37F":char*:"49DFEF309F81488C304CFF5AB3EE5A2154367DC7833150E0A51F3EEB":char*:"4F2B5EE45762C4F654C1A0C67F54CF88B016B51BCE3D7C228D57ADB4":char*:"AC3B1ADD3D9770E6F6A708EE9F3B8E0AB3B480E9F27F85C88B5E6D18":char*:"6B3AC96A8D0CDE6A5599BE8032EDF10C162D0A8AD219506DCD42A207":char*:"D491BE99C213A7D1CA3706DEBFE305F361AFCBB33E2609C8B1618AD5":char*:"52272F50F46F4EDC9151569092F46DF2D96ECC3B6DC1714A4EA949FA":char*:"5F30C6AA36DDC403C0ACB712BB88F1763C3046F6D919BD9C524322BF"
ECP test vectors secp256r1 rfc 5114
depends_on:5
6:exp:5:char*:"814264145F2F56F2E96A8E337A1284993FAF432A5ABCE59E867B7291D507A3AF":char*:"2AF502F3BE8952F2C9B5A8D4160D09E97165BE50BC42AE4A5E8D3B4BA83AEB15":char*:"EB0FAF4CA986C4D38681A0F9872D79D56795BD4BFF6E6DE3C0F5015ECE5EFD85":char*:"2CE1788EC197E096DB95A200CC0AB26A19CE6BCCAD562B8EEE1B593761CF7F41":char*:"B120DE4AA36492795346E8DE6C2C8646AE06AAEA279FA775B3AB0715F6CE51B0":char*:"9F1B7EECE20D7B5ED8EC685FA3F071D83727027092A8411385C34DDE5708B2B6":char*:"DD0F5396219D1EA393310412D19A08F1F5811E9DC8EC8EEA7F80D21C820C2788":char*:"0357DCCD4C804D0D8D33AA42B848834AA5605F9AB0D37239A115BBB647936F50"
ECP test vectors secp384r1 rfc 5114
depends_on:4
6:exp:4:char*:"D27335EA71664AF244DD14E9FD1260715DFD8A7965571C48D709EE7A7962A156D706A90CBCB5DF2986F05FEADB9376F1":char*:"793148F1787634D5DA4C6D9074417D05E057AB62F82054D10EE6B0403D6279547E6A8EA9D1FD77427D016FE27A8B8C66":char*:"C6C41294331D23E6F480F4FB4CD40504C947392E94F4C3F06B8F398BB29E42368F7A685923DE3B67BACED214A1A1D128":char*:"52D1791FDB4B70F89C0F00D456C2F7023B6125262C36A7DF1F80231121CCE3D39BE52E00C194A4132C4A6C768BCD94D2":char*:"5CD42AB9C41B5347F74B8D4EFB708B3D5B36DB65915359B44ABC17647B6B9999789D72A84865AE2F223F12B5A1ABC120":char*:"E171458FEAA939AAA3A8BFAC46B404BD8F6D5B348C0FA4D80CECA16356CA933240BDE8723415A8ECE035B0EDF36755DE":char*:"5EA1FC4AF7256D2055981B110575E0A8CAE53160137D904C59D926EB1B8456E427AA8A4540884C37DE159A58028ABC0E":char*:"0CC59E4B046414A81C8A3BDFDCA92526C48769DD8D3127CAA99B3632D1913942DE362EAFAA962379374D9F3F066841CA"
ECP test vectors secp521r1 rfc 5114
depends_on:3
6:exp:3:char*:"0113F82DA825735E3D97276683B2B74277BAD27335EA71664AF2430CC4F33459B9669EE78B3FFB9B8683015D344DCBFEF6FB9AF4C6C470BE254516CD3C1A1FB47362":char*:"01EBB34DD75721ABF8ADC9DBED17889CBB9765D90A7C60F2CEF007BB0F2B26E14881FD4442E689D61CB2DD046EE30E3FFD20F9A45BBDF6413D583A2DBF59924FD35C":char*:"00F6B632D194C0388E22D8437E558C552AE195ADFD153F92D74908351B2F8C4EDA94EDB0916D1B53C020B5EECAED1A5FC38A233E4830587BB2EE3489B3B42A5A86A4":char*:"00CEE3480D8645A17D249F2776D28BAE616952D1791FDB4B70F7C3378732AA1B22928448BCD1DC2496D435B01048066EBE4F72903C361B1A9DC1193DC2C9D0891B96":char*:"010EBFAFC6E85E08D24BFFFCC1A4511DB0E634BEEB1B6DEC8C5939AE44766201AF6200430BA97C8AC6A0E9F08B33CE7E9FEEB5BA4EE5E0D81510C24295B8A08D0235":char*:"00A4A6EC300DF9E257B0372B5E7ABFEF093436719A77887EBB0B18CF8099B9F4212B6E30A1419C18E029D36863CC9D448F4DBA4D2A0E60711BE572915FBD4FEF2695":char*:"00CDEA89621CFA46B132F9E4CFE2261CDE2D4368EB5656634C7CC98C7A00CDE54ED1866A0DD3E6126C9D2F845DAFF82CEB1DA08F5D87521BB0EBECA77911169C20CC":char*:"00F9A71641029B7FC1A808AD07CD4861E868614B865AFBECAB1F2BD4D8B55EBCB5E3A53143CEB2C511B1AE0AF5AC827F60F2FD872565AC5CA0A164038FE980A7E4BD"
ECP test vectors brainpoolP256r1 rfc 7027
depends_on:2
6:exp:2:char*:"81DB1EE100150FF2EA338D708271BE38300CB54241D79950F77B063039804F1D":char*:"44106E913F92BC02A1705D9953A8414DB95E1AAA49E81D9E85F929A8E3100BE5":char*:"8AB4846F11CACCB73CE49CBDD120F5A900A69FD32C272223F789EF10EB089BDC":char*:"55E40BC41E37E3E2AD25C3C6654511FFA8474A91A0032087593852D3E7D76BD3":char*:"8D2D688C6CF93E1160AD04CC4429117DC2C41825E1E9FCA0ADDD34E6F1B39F7B":char*:"990C57520812BE512641E47034832106BC7D3E8DD0E4C7F1136D7006547CEC6A":char*:"89AFC39D41D3B327814B80940B042590F96556EC91E6AE7939BCE31F3A18BF2B":char*:"49C27868F4ECA2179BFD7D59B1E3BF34C1DBDE61AE12931648F43E59632504DE"
ECP test vectors brainpoolP384r1 rfc 7027
depends_on:1
6:exp:1:char*:"1E20F5E048A5886F1F157C74E91BDE2B98C8B52D58E5003D57053FC4B0BD65D6F15EB5D1EE1610DF870795143627D042":char*:"68B665DD91C195800650CDD363C625F4E742E8134667B767B1B476793588F885AB698C852D4A6E77A252D6380FCAF068":char*:"55BC91A39C9EC01DEE36017B7D673A931236D2F1F5C83942D049E3FA20607493E0D038FF2FD30C2AB67D15C85F7FAA59":char*:"032640BC6003C59260F7250C3DB58CE647F98E1260ACCE4ACDA3DD869F74E01F8BA5E0324309DB6A9831497ABAC96670":char*:"4D44326F269A597A5B58BBA565DA5556ED7FD9A8A9EB76C25F46DB69D19DC8CE6AD18E404B15738B2086DF37E71D1EB4":char*:"62D692136DE56CBE93BF5FA3188EF58BC8A3A0EC6C1E151A21038A42E9185329B5B275903D192F8D4E1F32FE9CC78C48":char*:"0BD9D3A7EA0B3D519D09D8E48D0785FB744A6B355E6304BC51C229FBBCE239BBADF6403715C35D4FB2A5444F575D4F42":char*:"0DF213417EBE4D8E40A5F76F66C56470C489A3478D146DECF6DF0D94BAE9E598157290F8756066975F1DB34B2324B7BD"
ECP test vectors brainpoolP512r1 rfc 7027
depends_on:0
6:exp:0:char*:"16302FF0DBBB5A8D733DAB7141C1B45ACBC8715939677F6A56850A38BD87BD59B09E80279609FF333EB9D4C061231FB26F92EEB04982A5F1D1764CAD57665422":char*:"0A420517E406AAC0ACDCE90FCD71487718D3B953EFD7FBEC5F7F27E28C6149999397E91E029E06457DB2D3E640668B392C2A7E737A7F0BF04436D11640FD09FD":char*:"72E6882E8DB28AAD36237CD25D580DB23783961C8DC52DFA2EC138AD472A0FCEF3887CF62B623B2A87DE5C588301EA3E5FC269B373B60724F5E82A6AD147FDE7":char*:"230E18E1BCC88A362FA54E4EA3902009292F7F8033624FD471B5D8ACE49D12CFABBC19963DAB8E2F1EBA00BFFB29E4D72D13F2224562F405CB80503666B25429":char*:"9D45F66DE5D67E2E6DB6E93A59CE0BB48106097FF78A081DE781CDB31FCE8CCBAAEA8DD4320C4119F1E9CD437A2EAB3731FA9668AB268D871DEDA55A5473199F":char*:"2FDC313095BCDD5FB3A91636F07A959C8E86B5636A1E930E8396049CB481961D365CC11453A06C719835475B12CB52FC3C383BCE35E27EF194512B71876285FA":char*:"A7927098655F1F9976FA50A9D566865DC530331846381C87256BAF3226244B76D36403C024D7BBF0AA0803EAFF405D3D24F11A9B5C0BEF679FE1454B21C4CD1F":char*:"7DB71C3DEF63212841C463E881BDCF055523BD368240E6C3143BD8DEF8B3B3223B95E0F53082FF5E412F4222537A43DF1C6D25729DDB51620A832BE6A26680A2"
ECP test vectors Curve25519
depends_on:8
7:exp:8:char*:"5AC99F33632E5A768DE7E81BF854C27C46E3FBF2ABBACD29EC4AFF517369C660":char*:"057E23EA9F1CBE8A27168F6E696A791DE61DD3AF7ACD4EEACC6E7BA514FDA863":char*:"47DC3D214174820E1154B49BC6CDB2ABD45EE95817055D255AA35831B70D3260":char*:"6EB89DA91989AE37C7EAC7618D9E5C4951DBA1D73C285AE1CD26A855020EEF04":char*:"61450CD98E36016B58776A897A9F0AEF738B99F09468B8D6B8511184D53494AB"
ECP point multiplication Curve25519 (normalized) #1
depends_on:8
8:exp:8:hex:"5AC99F33632E5A768DE7E81BF854C27C46E3FBF2ABBACD29EC4AFF517369C660":hex:"09":hex:"00":hex:"01":hex:"057E23EA9F1CBE8A27168F6E696A791DE61DD3AF7ACD4EEACC6E7BA514FDA863":hex:"00":hex:"01":int:0
ECP point multiplication Curve25519 (not normalized) #2
depends_on:8
8:exp:8:hex:"5AC99F33632E5A768DE7E81BF854C27C46E3FBF2ABBACD29EC4AFF517369C660":hex:"1B":hex:"00":hex:"03":hex:"057E23EA9F1CBE8A27168F6E696A791DE61DD3AF7ACD4EEACC6E7BA514FDA863":hex:"00":hex:"01":exp:9
ECP point multiplication Curve25519 (element of order 2: origin) #3
depends_on:8
8:exp:8:hex:"5AC99F33632E5A768DE7E81BF854C27C46E3FBF2ABBACD29EC4AFF517369C660":hex:"00":hex:"00":hex:"01":hex:"00":hex:"01":hex:"00":exp:19
ECP point multiplication Curve25519 (element of order 4: 1) #4
depends_on:8
8:exp:8:hex:"5AC99F33632E5A768DE7E81BF854C27C46E3FBF2ABBACD29EC4AFF517369C660":hex:"01":hex:"00":hex:"01":hex:"00":hex:"01":hex:"00":exp:19
ECP point multiplication Curve25519 (element of order 8) #5
depends_on:8
8:exp:8:hex:"5AC99F33632E5A768DE7E81BF854C27C46E3FBF2ABBACD29EC4AFF517369C660":hex:"B8495F16056286FDB1329CEB8D09DA6AC49FF1FAE35616AEB8413B7C7AEBE0":hex:"00":hex:"01":hex:"00":hex:"01":hex:"00":exp:19
ECP point multiplication rng fail secp256r1
depends_on:5
9:exp:5:hex:"814264145F2F56F2E96A8E337A1284993FAF432A5ABCE59E867B7291D507A3AF"
ECP point multiplication rng fail Curve25519
depends_on:8
9:exp:8:hex:"5AC99F33632E5A768DE7E81BF854C27C46E3FBF2ABBACD29EC4AFF517369C660"
ECP test vectors Curve448 (RFC 7748 6.2, after decodeUCoordinate)
depends_on:11
7:exp:17:char*:"eb7298a5c0d8c29a1dab27f1a6826300917389449741a974f5bac9d98dc298d46555bce8bae89eeed400584bb046cf75579f51d125498f98":char*:"a01fc432e5807f17530d1288da125b0cd453d941726436c8bbd9c5222c3da7fa639ce03db8d23b274a0721a1aed5227de6e3b731ccf7089b":char*:"ad997351b6106f36b0d1091b929c4c37213e0d2b97e85ebb20c127691d0dad8f1d8175b0723745e639a3cb7044290b99e0e2a0c27a6a301c":char*:"0936f37bc6c1bd07ae3dec7ab5dc06a73ca13242fb343efc72b9d82730b445f3d4b0bd077162a46dcfec6f9b590bfcbcf520cdb029a8b73e":char*:"9d874a5137509a449ad5853040241c5236395435c36424fd560b0cb62b281d285275a740ce32a22dd1740f4aa9161cec95ccc61a18f4ff07"
ECP test vectors secp192k1
depends_on:12
6:exp:20:char*:"D1E13A359F6E0F0698791938E6D60246030AE4B0D8D4E9DE":char*:"281BCA982F187ED30AD5E088461EBE0A5FADBB682546DF79":char*:"3F68A8E9441FB93A4DD48CB70B504FCC9AA01902EF5BE0F3":char*:"BE97C5D2A1A94D081E3FACE53E65A27108B7467BDF58DE43":char*:"5EB35E922CD693F7947124F5920022C4891C04F6A8B8DCB2":char*:"60ECF73D0FC43E0C42E8E155FFE39F9F0B531F87B34B6C3C":char*:"372F5C5D0E18313C82AEF940EC3AFEE26087A46F1EBAE923":char*:"D5A9F9182EC09CEAEA5F57EA10225EC77FA44174511985FD"
ECP test vectors secp224k1
depends_on:9
6:exp:10:char*:"8EAD9B2819A3C2746B3EDC1E0D30F23271CDAC048C0615C961B1A9D3":char*:"DEE0A75EF26CF8F501DB80807A3A0908E5CF01852709C1D35B31428B":char*:"276D2B817918F7CD1DA5CCA081EC4B62CD255E0ACDC9F85FA8C52CAC":char*:"AB7E70AEDA68A174ECC1F3800561B2D4FABE97C5D2A1A94D081E3FAC":char*:"D2E94B00FD30201C40EDF73B137427916687AEA1935B277A5960DD1C":char*:"DE728A614B17D91EB3CB2C17DA195562B6281585986332B3E12DA0ED":char*:"B66B673D29038A3487A2D9C10CDCE67646F7C39C984EBE9E8795AD3C":char*:"928C6147AF5EE4B54FA6ECF77B70CA3FEE5F4182DB057878F129DF"
ECP test vectors secp256k1
depends_on:13
6:exp:21:char*:"923C6D4756CD940CD1E13A359F6E0F0698791938E6D60246030AE4B0D8D4E9DE":char*:"20A865B295E93C5B090F324B84D7AC7526AA1CFE86DD80E792CECCD16B657D55":char*:"38AC87141A4854A8DFD87333E107B61692323721FE2EAD6E52206FE471A4771B":char*:"4F5036A8ED5809AB7E70AEDA68A174ECC1F3800561B2D4FABE97C5D2A1A94D08":char*:"029F5D2CC5A2C7E538FBA321439B4EC8DD79B7FEB9C0A8A5114EEA39856E22E8":char*:"165171AFC3411A427F24FDDE1192A551C90983EB421BC982AB4CF4E21F18F04B":char*:"E4B5B537D3ACEA7624F2E9C185BFFD80BC7035E515F33E0D4CFAE747FD20038E":char*:"2BC685B7DCDBC694F5E036C4EAE9BFB489D7BF8940C4681F734B71D68501514C"
ECP selftest
22
ECP restartable mul secp256r1 max_ops=0 (disabled)
depends_on:5
4:exp:5:char*:"814264145F2F56F2E96A8E337A1284993FAF432A5ABCE59E867B7291D507A3AF":char*:"2AF502F3BE8952F2C9B5A8D4160D09E97165BE50BC42AE4A5E8D3B4BA83AEB15":char*:"EB0FAF4CA986C4D38681A0F9872D79D56795BD4BFF6E6DE3C0F5015ECE5EFD85":char*:"2CE1788EC197E096DB95A200CC0AB26A19CE6BCCAD562B8EEE1B593761CF7F41":char*:"DD0F5396219D1EA393310412D19A08F1F5811E9DC8EC8EEA7F80D21C820C2788":char*:"0357DCCD4C804D0D8D33AA42B848834AA5605F9AB0D37239A115BBB647936F50":int:0:int:0:int:0
ECP restartable mul secp256r1 max_ops=1
depends_on:5
4:exp:5:char*:"814264145F2F56F2E96A8E337A1284993FAF432A5ABCE59E867B7291D507A3AF":char*:"2AF502F3BE8952F2C9B5A8D4160D09E97165BE50BC42AE4A5E8D3B4BA83AEB15":char*:"EB0FAF4CA986C4D38681A0F9872D79D56795BD4BFF6E6DE3C0F5015ECE5EFD85":char*:"2CE1788EC197E096DB95A200CC0AB26A19CE6BCCAD562B8EEE1B593761CF7F41":char*:"DD0F5396219D1EA393310412D19A08F1F5811E9DC8EC8EEA7F80D21C820C2788":char*:"0357DCCD4C804D0D8D33AA42B848834AA5605F9AB0D37239A115BBB647936F50":int:1:int:1:int:5000
ECP restartable mul secp256r1 max_ops=10000
depends_on:5
4:exp:5:char*:"814264145F2F56F2E96A8E337A1284993FAF432A5ABCE59E867B7291D507A3AF":char*:"2AF502F3BE8952F2C9B5A8D4160D09E97165BE50BC42AE4A5E8D3B4BA83AEB15":char*:"EB0FAF4CA986C4D38681A0F9872D79D56795BD4BFF6E6DE3C0F5015ECE5EFD85":char*:"2CE1788EC197E096DB95A200CC0AB26A19CE6BCCAD562B8EEE1B593761CF7F41":char*:"DD0F5396219D1EA393310412D19A08F1F5811E9DC8EC8EEA7F80D21C820C2788":char*:"0357DCCD4C804D0D8D33AA42B848834AA5605F9AB0D37239A115BBB647936F50":int:10000:int:0:int:0
ECP restartable mul secp256r1 max_ops=250
depends_on:5
4:exp:5:char*:"814264145F2F56F2E96A8E337A1284993FAF432A5ABCE59E867B7291D507A3AF":char*:"2AF502F3BE8952F2C9B5A8D4160D09E97165BE50BC42AE4A5E8D3B4BA83AEB15":char*:"EB0FAF4CA986C4D38681A0F9872D79D56795BD4BFF6E6DE3C0F5015ECE5EFD85":char*:"2CE1788EC197E096DB95A200CC0AB26A19CE6BCCAD562B8EEE1B593761CF7F41":char*:"DD0F5396219D1EA393310412D19A08F1F5811E9DC8EC8EEA7F80D21C820C2788":char*:"0357DCCD4C804D0D8D33AA42B848834AA5605F9AB0D37239A115BBB647936F50":int:250:int:2:int:32
ECP restartable muladd secp256r1 max_ops=0 (disabled)
depends_on:5
5:exp:5:char*:"CB28E0999B9C7715FD0A80D8E47A77079716CBBF917DD72E97566EA1C066957C":char*:"2B57C0235FB7489768D058FF4911C20FDBE71E3699D91339AFBB903EE17255DC":char*:"C3875E57C85038A0D60370A87505200DC8317C8C534948BEA6559C7C18E6D4CE":char*:"3B4E49C4FDBFC006FF993C81A50EAE221149076D6EC09DDD9FB3B787F85B6483":char*:"2442A5CC0ECD015FA3CA31DC8E2BBC70BF42D60CBCA20085E0822CB04235E970":char*:"6FC98BD7E50211A4A27102FA3549DF79EBCB4BF246B80945CDDFE7D509BBFD7D":int:0:int:0:int:0
ECP restartable muladd secp256r1 max_ops=1
depends_on:5
5:exp:5:char*:"CB28E0999B9C7715FD0A80D8E47A77079716CBBF917DD72E97566EA1C066957C":char*:"2B57C0235FB7489768D058FF4911C20FDBE71E3699D91339AFBB903EE17255DC":char*:"C3875E57C85038A0D60370A87505200DC8317C8C534948BEA6559C7C18E6D4CE":char*:"3B4E49C4FDBFC006FF993C81A50EAE221149076D6EC09DDD9FB3B787F85B6483":char*:"2442A5CC0ECD015FA3CA31DC8E2BBC70BF42D60CBCA20085E0822CB04235E970":char*:"6FC98BD7E50211A4A27102FA3549DF79EBCB4BF246B80945CDDFE7D509BBFD7D":int:1:int:1:int:10000
ECP restartable muladd secp256r1 max_ops=10000
depends_on:5
5:exp:5:char*:"CB28E0999B9C7715FD0A80D8E47A77079716CBBF917DD72E97566EA1C066957C":char*:"2B57C0235FB7489768D058FF4911C20FDBE71E3699D91339AFBB903EE17255DC":char*:"C3875E57C85038A0D60370A87505200DC8317C8C534948BEA6559C7C18E6D4CE":char*:"3B4E49C4FDBFC006FF993C81A50EAE221149076D6EC09DDD9FB3B787F85B6483":char*:"2442A5CC0ECD015FA3CA31DC8E2BBC70BF42D60CBCA20085E0822CB04235E970":char*:"6FC98BD7E50211A4A27102FA3549DF79EBCB4BF246B80945CDDFE7D509BBFD7D":int:10000:int:0:int:0
ECP restartable muladd secp256r1 max_ops=250
depends_on:5
5:exp:5:char*:"CB28E0999B9C7715FD0A80D8E47A77079716CBBF917DD72E97566EA1C066957C":char*:"2B57C0235FB7489768D058FF4911C20FDBE71E3699D91339AFBB903EE17255DC":char*:"C3875E57C85038A0D60370A87505200DC8317C8C534948BEA6559C7C18E6D4CE":char*:"3B4E49C4FDBFC006FF993C81A50EAE221149076D6EC09DDD9FB3B787F85B6483":char*:"2442A5CC0ECD015FA3CA31DC8E2BBC70BF42D60CBCA20085E0822CB04235E970":char*:"6FC98BD7E50211A4A27102FA3549DF79EBCB4BF246B80945CDDFE7D509BBFD7D":int:250:int:4:int:64