mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-12-26 09:25:27 +00:00
05a708f7e2
If we provide low order element as a public key and the implementation maps the point in infinity to the origin, we can force the common secret to be zero. According to the standard (RFC 7748) this is allowed but in this case the primitive must not be used in a protocol that requires contributory behaviour. Mbed Crypto returns an error when the result is the point in the infinity and does not map it to the origin. This is safe even if used in protocols that require contributory behaviour. This commit adds test cases that verify that Mbed Crypto returns an error when low order public keys are processed. The low order elements in the test cases were taken from this website: https://cr.yp.to/ecdh.html
499 lines
38 KiB
Plaintext
499 lines
38 KiB
Plaintext
ECP valid params
|
|
ecp_valid_param:
|
|
|
|
ECP invalid params
|
|
ecp_invalid_param:
|
|
|
|
ECP curve info #1
|
|
depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
|
mbedtls_ecp_curve_info:MBEDTLS_ECP_DP_BP512R1:28:512:"brainpoolP512r1"
|
|
|
|
ECP curve info #2
|
|
depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED
|
|
mbedtls_ecp_curve_info:MBEDTLS_ECP_DP_BP384R1:27:384:"brainpoolP384r1"
|
|
|
|
ECP curve info #3
|
|
depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED
|
|
mbedtls_ecp_curve_info:MBEDTLS_ECP_DP_BP256R1:26:256:"brainpoolP256r1"
|
|
|
|
ECP curve info #4
|
|
depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
|
mbedtls_ecp_curve_info:MBEDTLS_ECP_DP_SECP521R1:25:521:"secp521r1"
|
|
|
|
ECP curve info #5
|
|
depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED
|
|
mbedtls_ecp_curve_info:MBEDTLS_ECP_DP_SECP384R1:24:384:"secp384r1"
|
|
|
|
ECP curve info #6
|
|
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
|
mbedtls_ecp_curve_info:MBEDTLS_ECP_DP_SECP256R1:23:256:"secp256r1"
|
|
|
|
ECP curve info #7
|
|
depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED
|
|
mbedtls_ecp_curve_info:MBEDTLS_ECP_DP_SECP224R1:21:224:"secp224r1"
|
|
|
|
ECP curve info #8
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
mbedtls_ecp_curve_info:MBEDTLS_ECP_DP_SECP192R1:19:192:"secp192r1"
|
|
|
|
ECP check pubkey Montgomery #1 (too big)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
ecp_check_pub:MBEDTLS_ECP_DP_CURVE25519:"010000000000000000000000000000000000000000000000000000000000000000":"0":"1":MBEDTLS_ERR_ECP_INVALID_KEY
|
|
|
|
ECP check pubkey Montgomery #2 (biggest)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
ecp_check_pub:MBEDTLS_ECP_DP_CURVE25519:"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF":"0":"1":0
|
|
|
|
ECP check pubkey Koblitz #1 (point not on curve)
|
|
depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED
|
|
ecp_check_pub:MBEDTLS_ECP_DP_SECP224K1:"E2000000000000BB3A13D43B323337383935321F0603551D":"100101FF040830060101FF02010A30220603551D0E041B04636FC0C0":"1":MBEDTLS_ERR_ECP_INVALID_KEY
|
|
|
|
ECP check pubkey Koblitz #2 (coordinate not affine)
|
|
depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED
|
|
ecp_check_pub:MBEDTLS_ECP_DP_SECP224K1:"E2000000000000BB3A13D43B323337383935321F0603551D":"100101FF040830060101FF02010A30220603551D0E041B04636FC0C0":"101":MBEDTLS_ERR_ECP_INVALID_KEY
|
|
|
|
ECP write binary #1 (zero, uncompressed, buffer just fits)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_write_binary:MBEDTLS_ECP_DP_SECP192R1:"01":"01":"00":MBEDTLS_ECP_PF_UNCOMPRESSED:"00":1:0
|
|
|
|
ECP write binary #2 (zero, buffer too small)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_write_binary:MBEDTLS_ECP_DP_SECP192R1:"01":"01":"00":MBEDTLS_ECP_PF_UNCOMPRESSED:"00":0:MBEDTLS_ERR_ECP_BUFFER_TOO_SMALL
|
|
|
|
ECP write binary #3 (non-zero, uncompressed, buffer just fits)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_write_binary:MBEDTLS_ECP_DP_SECP192R1:"48d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":"6ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":"01":MBEDTLS_ECP_PF_UNCOMPRESSED:"0448d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc99336ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":49:0
|
|
|
|
ECP write binary #4 (non-zero, uncompressed, buffer too small)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_write_binary:MBEDTLS_ECP_DP_SECP192R1:"48d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":"6ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":"01":MBEDTLS_ECP_PF_UNCOMPRESSED:"0448d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc99336ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":48:MBEDTLS_ERR_ECP_BUFFER_TOO_SMALL
|
|
|
|
ECP write binary #5 (zero, compressed, buffer just fits)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_write_binary:MBEDTLS_ECP_DP_SECP192R1:"01":"01":"00":MBEDTLS_ECP_PF_COMPRESSED:"00":1:0
|
|
|
|
ECP write binary #6 (zero, buffer too small)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_write_binary:MBEDTLS_ECP_DP_SECP192R1:"01":"01":"00":MBEDTLS_ECP_PF_COMPRESSED:"00":0:MBEDTLS_ERR_ECP_BUFFER_TOO_SMALL
|
|
|
|
ECP write binary #7 (even, compressed, buffer just fits)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_write_binary:MBEDTLS_ECP_DP_SECP192R1:"48d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":"6ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":"01":MBEDTLS_ECP_PF_COMPRESSED:"0248d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":25:0
|
|
|
|
ECP write binary #8 (even, compressed, buffer too small)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_write_binary:MBEDTLS_ECP_DP_SECP192R1:"48d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":"6ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":"01":MBEDTLS_ECP_PF_COMPRESSED:"0248d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":24:MBEDTLS_ERR_ECP_BUFFER_TOO_SMALL
|
|
|
|
ECP write binary #9 (odd, compressed, buffer just fits)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_write_binary:MBEDTLS_ECP_DP_SECP192R1:"48d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":"93112b28345b7d1d7799611e49bea9d8290cb2d7afe1f9f3":"01":MBEDTLS_ECP_PF_COMPRESSED:"0348d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":25:0
|
|
|
|
ECP write binary #10 (Montgomery, buffer just fits)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
ecp_write_binary:MBEDTLS_ECP_DP_CURVE25519:"11223344556677889900aabbccddeeff11223344556677889900aabbccddeeff":"0":"1":MBEDTLS_ECP_PF_COMPRESSED:"ffeeddccbbaa00998877665544332211ffeeddccbbaa00998877665544332211":32:0
|
|
|
|
ECP write binary #11 (Montgomery, buffer too small)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
ecp_write_binary:MBEDTLS_ECP_DP_CURVE25519:"11223344556677889900aabbccddeeff11223344556677889900aabbccddeeff":"0":"1":MBEDTLS_ECP_PF_COMPRESSED:"ffeeddccbbaa00998877665544332211ffeeddccbbaa00998877665544332211":31:MBEDTLS_ERR_ECP_BUFFER_TOO_SMALL
|
|
|
|
ECP read binary #1 (zero, invalid ilen)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_read_binary:MBEDTLS_ECP_DP_SECP192R1:"0000":"01":"01":"00":MBEDTLS_ERR_ECP_BAD_INPUT_DATA
|
|
|
|
ECP read binary #2 (zero, invalid first byte)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_read_binary:MBEDTLS_ECP_DP_SECP192R1:"01":"01":"01":"00":MBEDTLS_ERR_ECP_FEATURE_UNAVAILABLE
|
|
|
|
ECP read binary #3 (zero, OK)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_read_binary:MBEDTLS_ECP_DP_SECP192R1:"00":"01":"01":"00":0
|
|
|
|
ECP read binary #4 (non-zero, invalid ilen)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_read_binary:MBEDTLS_ECP_DP_SECP192R1:"04001122":"01":"01":"00":MBEDTLS_ERR_ECP_BAD_INPUT_DATA
|
|
|
|
ECP read binary #5 (non-zero, invalid first byte)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_read_binary:MBEDTLS_ECP_DP_SECP192R1:"0548d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc99336ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":"48d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":"6ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":"01":MBEDTLS_ERR_ECP_FEATURE_UNAVAILABLE
|
|
|
|
ECP read binary #6 (non-zero, OK)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_read_binary:MBEDTLS_ECP_DP_SECP192R1:"0448d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc99336ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":"48d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":"6ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":"01":0
|
|
|
|
ECP read binary #7 (Curve25519, OK)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
ecp_read_binary:MBEDTLS_ECP_DP_CURVE25519:"8520f0098930a754748b7ddcb43ef75a0dbf3a0d26381af4eba4a98eaa9b4e6a":"6a4e9baa8ea9a4ebf41a38260d3abf0d5af73eb4dc7d8b7454a7308909f02085":"0":"1":0
|
|
|
|
ECP read binary #8 (Curve25519, masked first bit)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
ecp_read_binary:MBEDTLS_ECP_DP_CURVE25519:"8520f0098930a754748b7ddcb43ef75a0dbf3a0d26381af4eba4a98eaa9b4efa":"7a4e9baa8ea9a4ebf41a38260d3abf0d5af73eb4dc7d8b7454a7308909f02085":"0":"1":0
|
|
|
|
ECP read binary #9 (Curve25519, too short)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
ecp_read_binary:MBEDTLS_ECP_DP_CURVE25519:"20f0098930a754748b7ddcb43ef75a0dbf3a0d26381af4eba4a98eaa9b4e6a":"6a4e9baa8ea9a4ebf41a38260d3abf0d5af73eb4dc7d8b7454a7308909f020":"0":"1":MBEDTLS_ERR_ECP_BAD_INPUT_DATA
|
|
|
|
ECP read binary #10 (Curve25519, non-canonical)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
ecp_read_binary:MBEDTLS_ECP_DP_CURVE25519:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f":"7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"1":0
|
|
|
|
ECP read binary #11 (Curve25519, masked non-canonical)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
ecp_read_binary:MBEDTLS_ECP_DP_CURVE25519:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"1":0
|
|
|
|
ECP read binary #12 (Curve25519, too long)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
ecp_read_binary:MBEDTLS_ECP_DP_CURVE25519:"8520f0098930a754748b7ddcb43ef75a0dbf3a0d26381af4eba4a98eaa9b4e6a00":"6a4e9baa8ea9a4ebf41a38260d3abf0d5af73eb4dc7d8b7454a7308909f02085":"0":"1":MBEDTLS_ERR_ECP_BAD_INPUT_DATA
|
|
|
|
ECP tls read point #1 (zero, invalid length byte)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
mbedtls_ecp_tls_read_point:MBEDTLS_ECP_DP_SECP192R1:"0200":"01":"01":"00":MBEDTLS_ERR_ECP_BAD_INPUT_DATA
|
|
|
|
ECP tls read point #2 (zero, OK)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
mbedtls_ecp_tls_read_point:MBEDTLS_ECP_DP_SECP192R1:"0100":"01":"01":"00":0
|
|
|
|
ECP tls read point #3 (non-zero, invalid length byte)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
mbedtls_ecp_tls_read_point:MBEDTLS_ECP_DP_SECP192R1:"300448d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc99336ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":"48d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":"6ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":"01":MBEDTLS_ERR_ECP_BAD_INPUT_DATA
|
|
|
|
ECP tls read point #4 (non-zero, OK)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
mbedtls_ecp_tls_read_point:MBEDTLS_ECP_DP_SECP192R1:"310448d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc99336ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":"48d8082a3a1e3112bc03a8ef2f6d40d0a77a6f8e00cc9933":"6ceed4d7cba482e288669ee1b6415626d6f34d28501e060c":"01":0
|
|
|
|
ECP tls write-read point #1
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_tls_write_read_point:MBEDTLS_ECP_DP_SECP192R1
|
|
|
|
ECP tls write-read point #2
|
|
depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
|
ecp_tls_write_read_point:MBEDTLS_ECP_DP_SECP521R1
|
|
|
|
ECP tls read group #1 (record too short)
|
|
mbedtls_ecp_tls_read_group:"0313":MBEDTLS_ERR_ECP_BAD_INPUT_DATA:0:0
|
|
|
|
ECP tls read group #2 (bad curve_type)
|
|
mbedtls_ecp_tls_read_group:"010013":MBEDTLS_ERR_ECP_BAD_INPUT_DATA:0:0
|
|
|
|
ECP tls read group #3 (unknown curve)
|
|
mbedtls_ecp_tls_read_group:"030010":MBEDTLS_ERR_ECP_FEATURE_UNAVAILABLE:0:0
|
|
|
|
ECP tls read group #4 (OK, buffer just fits)
|
|
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
|
mbedtls_ecp_tls_read_group:"030017":0:256:3
|
|
|
|
ECP tls read group #5 (OK, buffer continues)
|
|
depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED
|
|
mbedtls_ecp_tls_read_group:"0300180000":0:384:3
|
|
|
|
ECP tls write-read group #1
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_tls_write_read_group:MBEDTLS_ECP_DP_SECP192R1
|
|
|
|
ECP tls write-read group #2
|
|
depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
|
ecp_tls_write_read_group:MBEDTLS_ECP_DP_SECP521R1
|
|
|
|
ECP check privkey #1 (short weierstrass, too small)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
mbedtls_ecp_check_privkey:MBEDTLS_ECP_DP_SECP192R1:"00":MBEDTLS_ERR_ECP_INVALID_KEY
|
|
|
|
ECP check privkey #2 (short weierstrass, smallest)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
mbedtls_ecp_check_privkey:MBEDTLS_ECP_DP_SECP192R1:"01":0
|
|
|
|
ECP check privkey #3 (short weierstrass, biggest)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
mbedtls_ecp_check_privkey:MBEDTLS_ECP_DP_SECP192R1:"FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22830":0
|
|
|
|
ECP check privkey #4 (short weierstrass, too big)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
mbedtls_ecp_check_privkey:MBEDTLS_ECP_DP_SECP192R1:"FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831":MBEDTLS_ERR_ECP_INVALID_KEY
|
|
|
|
ECP check privkey #5 (montgomery, too big)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
mbedtls_ecp_check_privkey:MBEDTLS_ECP_DP_CURVE25519:"C000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_ERR_ECP_INVALID_KEY
|
|
|
|
ECP check privkey #6 (montgomery, not big enough)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
mbedtls_ecp_check_privkey:MBEDTLS_ECP_DP_CURVE25519:"3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0":MBEDTLS_ERR_ECP_INVALID_KEY
|
|
|
|
ECP check privkey #7 (montgomery, msb OK)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
mbedtls_ecp_check_privkey:MBEDTLS_ECP_DP_CURVE25519:"4000000000000000000000000000000000000000000000000000000000000000":0
|
|
|
|
ECP check privkey #8 (montgomery, bit 0 set)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
mbedtls_ecp_check_privkey:MBEDTLS_ECP_DP_CURVE25519:"4000000000000000000000000000000000000000000000000000000000000001":MBEDTLS_ERR_ECP_INVALID_KEY
|
|
|
|
ECP check privkey #9 (montgomery, bit 1 set)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
mbedtls_ecp_check_privkey:MBEDTLS_ECP_DP_CURVE25519:"4000000000000000000000000000000000000000000000000000000000000002":MBEDTLS_ERR_ECP_INVALID_KEY
|
|
|
|
ECP check privkey #10 (montgomery, bit 2 set)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
mbedtls_ecp_check_privkey:MBEDTLS_ECP_DP_CURVE25519:"4000000000000000000000000000000000000000000000000000000000000004":MBEDTLS_ERR_ECP_INVALID_KEY
|
|
|
|
ECP check privkey #11 (montgomery, OK)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
mbedtls_ecp_check_privkey:MBEDTLS_ECP_DP_CURVE25519:"7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8":0
|
|
|
|
ECP check public-private #1 (OK)
|
|
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
|
mbedtls_ecp_check_pub_priv:MBEDTLS_ECP_DP_SECP256R1:"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596292":"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edff":MBEDTLS_ECP_DP_SECP256R1:"00f12a1320760270a83cbffd53f6031ef76a5d86c8a204f2c30ca9ebf51f0f0ea7":"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596292":"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edff":0
|
|
|
|
ECP check public-private #2 (group none)
|
|
mbedtls_ecp_check_pub_priv:MBEDTLS_ECP_DP_NONE:"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596292":"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edff":MBEDTLS_ECP_DP_NONE:"00f12a1320760270a83cbffd53f6031ef76a5d86c8a204f2c30ca9ebf51f0f0ea7":"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596292":"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edff":MBEDTLS_ERR_ECP_BAD_INPUT_DATA
|
|
|
|
ECP check public-private #3 (group mismatch)
|
|
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED
|
|
mbedtls_ecp_check_pub_priv:MBEDTLS_ECP_DP_SECP384R1:"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596292":"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edff":MBEDTLS_ECP_DP_SECP256R1:"00f12a1320760270a83cbffd53f6031ef76a5d86c8a204f2c30ca9ebf51f0f0ea7":"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596292":"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edff":MBEDTLS_ERR_ECP_BAD_INPUT_DATA
|
|
|
|
ECP check public-private #4 (Qx mismatch)
|
|
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
|
mbedtls_ecp_check_pub_priv:MBEDTLS_ECP_DP_SECP256R1:"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596293":"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edff":MBEDTLS_ECP_DP_SECP256R1:"00f12a1320760270a83cbffd53f6031ef76a5d86c8a204f2c30ca9ebf51f0f0ea7":"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596292":"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edff":MBEDTLS_ERR_ECP_BAD_INPUT_DATA
|
|
|
|
ECP check public-private #5 (Qy mismatch)
|
|
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
|
mbedtls_ecp_check_pub_priv:MBEDTLS_ECP_DP_SECP256R1:"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596292":"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edfe":MBEDTLS_ECP_DP_SECP256R1:"00f12a1320760270a83cbffd53f6031ef76a5d86c8a204f2c30ca9ebf51f0f0ea7":"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596292":"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edff":MBEDTLS_ERR_ECP_BAD_INPUT_DATA
|
|
|
|
ECP check public-private #6 (wrong Qx)
|
|
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
|
mbedtls_ecp_check_pub_priv:MBEDTLS_ECP_DP_SECP256R1:"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596293":"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edff":MBEDTLS_ECP_DP_SECP256R1:"00f12a1320760270a83cbffd53f6031ef76a5d86c8a204f2c30ca9ebf51f0f0ea7":"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596293":"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edff":MBEDTLS_ERR_ECP_BAD_INPUT_DATA
|
|
|
|
ECP check public-private #7 (wrong Qy)
|
|
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
|
mbedtls_ecp_check_pub_priv:MBEDTLS_ECP_DP_SECP256R1:"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596292":"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edfe":MBEDTLS_ECP_DP_SECP256R1:"00f12a1320760270a83cbffd53f6031ef76a5d86c8a204f2c30ca9ebf51f0f0ea7":"37cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f76822596292":"4ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edfe":MBEDTLS_ERR_ECP_BAD_INPUT_DATA
|
|
|
|
ECP gen keypair
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
mbedtls_ecp_gen_keypair:MBEDTLS_ECP_DP_SECP192R1
|
|
|
|
ECP gen keypair
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
mbedtls_ecp_gen_keypair:MBEDTLS_ECP_DP_CURVE25519
|
|
|
|
ECP gen keypair wrapper
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
mbedtls_ecp_gen_key:MBEDTLS_ECP_DP_SECP192R1
|
|
|
|
ECP read key #1 (short weierstrass, too small)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
mbedtls_ecp_read_key:MBEDTLS_ECP_DP_SECP192R1:"00":MBEDTLS_ERR_ECP_INVALID_KEY
|
|
|
|
ECP read key #2 (short weierstrass, smallest)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
mbedtls_ecp_read_key:MBEDTLS_ECP_DP_SECP192R1:"01":0
|
|
|
|
ECP read key #3 (short weierstrass, biggest)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
mbedtls_ecp_read_key:MBEDTLS_ECP_DP_SECP192R1:"FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22830":0
|
|
|
|
ECP read key #4 (short weierstrass, too big)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
mbedtls_ecp_read_key:MBEDTLS_ECP_DP_SECP192R1:"FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831":MBEDTLS_ERR_ECP_INVALID_KEY
|
|
|
|
ECP read key #5 (Curve25519, most significant bit set)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
mbedtls_ecp_read_key:MBEDTLS_ECP_DP_CURVE25519:"000000000000000000000000000000000000000000000000000000000000000C":0
|
|
|
|
ECP read key #6 (Curve25519, second most significant bit unset)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
mbedtls_ecp_read_key:MBEDTLS_ECP_DP_CURVE25519:"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3":0
|
|
|
|
ECP read key #7 (Curve25519, msb OK)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
mbedtls_ecp_read_key:MBEDTLS_ECP_DP_CURVE25519:"0000000000000000000000000000000000000000000000000000000000000004":0
|
|
|
|
ECP read key #8 (Curve25519, bit 0 set)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
mbedtls_ecp_read_key:MBEDTLS_ECP_DP_CURVE25519:"1000000000000000000000000000000000000000000000000000000000000000":0
|
|
|
|
ECP read key #9 (Curve25519, bit 1 set)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
mbedtls_ecp_read_key:MBEDTLS_ECP_DP_CURVE25519:"2000000000000000000000000000000000000000000000000000000000000004":0
|
|
|
|
ECP read key #10 (Curve25519, bit 2 set)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
mbedtls_ecp_read_key:MBEDTLS_ECP_DP_CURVE25519:"4000000000000000000000000000000000000000000000000000000000000004":0
|
|
|
|
ECP read key #11 (Curve25519, OK)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
mbedtls_ecp_read_key:MBEDTLS_ECP_DP_CURVE25519:"8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7":0
|
|
|
|
ECP read key #12 (Curve25519, too long)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
mbedtls_ecp_read_key:MBEDTLS_ECP_DP_CURVE25519:"00000000000000000000000000000000000000000000000000000000000000000C":MBEDTLS_ERR_ECP_INVALID_KEY
|
|
|
|
ECP read key #13 (Curve25519, not long enough)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
mbedtls_ecp_read_key:MBEDTLS_ECP_DP_CURVE25519:"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3":MBEDTLS_ERR_ECP_INVALID_KEY
|
|
|
|
ECP read key #14 (Curve448, not supported)
|
|
mbedtls_ecp_read_key:MBEDTLS_ECP_DP_CURVE448:"FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF":MBEDTLS_ERR_ECP_FEATURE_UNAVAILABLE
|
|
|
|
ECP read key #15 (Curve25519, not supported)
|
|
depends_on:!MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
mbedtls_ecp_read_key:MBEDTLS_ECP_DP_CURVE25519:"8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7":MBEDTLS_ERR_ECP_FEATURE_UNAVAILABLE
|
|
|
|
ECP read key #15 (invalid curve)
|
|
mbedtls_ecp_read_key:INT_MAX:"8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7":MBEDTLS_ERR_ECP_FEATURE_UNAVAILABLE
|
|
|
|
ECP mod p192 small (more than 192 bits, less limbs than 2 * 192 bits)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_fast_mod:MBEDTLS_ECP_DP_SECP192R1:"0100000000000103010000000000010201000000000001010100000000000100"
|
|
|
|
ECP mod p192 readable
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_fast_mod:MBEDTLS_ECP_DP_SECP192R1:"010000000000010501000000000001040100000000000103010000000000010201000000000001010100000000000100"
|
|
|
|
ECP mod p192 readable with carry
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_fast_mod:MBEDTLS_ECP_DP_SECP192R1:"FF00000000010500FF00000000010400FF00000000010300FF00000000010200FF00000000010100FF00000000010000"
|
|
|
|
ECP mod p192 random
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_fast_mod:MBEDTLS_ECP_DP_SECP192R1:"36CF96B45D706A0954D89E52CE5F38517A2270E0175849B6F3740151D238CCABEF921437E475881D83BB69E4AA258EBD"
|
|
|
|
ECP mod p192 (from a past failure case)
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_fast_mod:MBEDTLS_ECP_DP_SECP192R1:"1AC2D6F96A2A425E9DD1776DD8368D4BBC86BF4964E79FEA713583BF948BBEFF0939F96FB19EC48C585BDA6A2D35C750"
|
|
|
|
ECP mod p224 readable without carry
|
|
depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED
|
|
ecp_fast_mod:MBEDTLS_ECP_DP_SECP224R1:"0000000D0000000C0000000B0000000A0000000900000008000000070000FF060000FF050000FF040000FF03000FF0020000FF010000FF00"
|
|
|
|
ECP mod p224 readable with negative carry
|
|
depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED
|
|
ecp_fast_mod:MBEDTLS_ECP_DP_SECP224R1:"0000000D0000000C0000000B0000000A00000009000000080000000700000006000000050000000400000003000000020000000100000000"
|
|
|
|
ECP mod p224 readable with positive carry
|
|
depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED
|
|
ecp_fast_mod:MBEDTLS_ECP_DP_SECP224R1:"0000000D0000000C0000000BFFFFFF0AFFFFFF09FFFFFF08FFFFFF070000FF060000FF050000FF040000FF03000FF0020000FF010000FF00"
|
|
|
|
ECP mod p224 readable with final negative carry
|
|
depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED
|
|
ecp_fast_mod:MBEDTLS_ECP_DP_SECP224R1:"FF00000D0000000C0000000B0000000A00000009000000080000000700000006000000050000000400000003000000020000000100000000"
|
|
|
|
ECP mod p521 very small
|
|
depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
|
ecp_fast_mod:MBEDTLS_ECP_DP_SECP521R1:"01"
|
|
|
|
ECP mod p521 small (522 bits)
|
|
depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
|
ecp_fast_mod:MBEDTLS_ECP_DP_SECP521R1:"030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
|
|
|
ECP mod p521 readable
|
|
depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
|
ecp_fast_mod:MBEDTLS_ECP_DP_SECP521R1:"03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
|
|
|
ECP mod p521 readable with carry
|
|
depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
|
ecp_fast_mod:MBEDTLS_ECP_DP_SECP521R1:"03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"
|
|
|
|
ECP test vectors secp192r1 rfc 5114
|
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
|
ecp_test_vect:MBEDTLS_ECP_DP_SECP192R1:"323FA3169D8E9C6593F59476BC142000AB5BE0E249C43426":"CD46489ECFD6C105E7B3D32566E2B122E249ABAADD870612":"68887B4877DF51DD4DC3D6FD11F0A26F8FD3844317916E9A":"631F95BB4A67632C9C476EEE9AB695AB240A0499307FCF62":"519A121680E0045466BA21DF2EEE47F5973B500577EF13D5":"FF613AB4D64CEE3A20875BDB10F953F6B30CA072C60AA57F":"AD420182633F8526BFE954ACDA376F05E5FF4F837F54FEBE":"4371545ED772A59741D0EDA32C671112B7FDDD51461FCF32"
|
|
|
|
ECP test vectors secp224r1 rfc 5114
|
|
depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED
|
|
ecp_test_vect:MBEDTLS_ECP_DP_SECP224R1:"B558EB6C288DA707BBB4F8FBAE2AB9E9CB62E3BC5C7573E22E26D37F":"49DFEF309F81488C304CFF5AB3EE5A2154367DC7833150E0A51F3EEB":"4F2B5EE45762C4F654C1A0C67F54CF88B016B51BCE3D7C228D57ADB4":"AC3B1ADD3D9770E6F6A708EE9F3B8E0AB3B480E9F27F85C88B5E6D18":"6B3AC96A8D0CDE6A5599BE8032EDF10C162D0A8AD219506DCD42A207":"D491BE99C213A7D1CA3706DEBFE305F361AFCBB33E2609C8B1618AD5":"52272F50F46F4EDC9151569092F46DF2D96ECC3B6DC1714A4EA949FA":"5F30C6AA36DDC403C0ACB712BB88F1763C3046F6D919BD9C524322BF"
|
|
|
|
ECP test vectors secp256r1 rfc 5114
|
|
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
|
ecp_test_vect:MBEDTLS_ECP_DP_SECP256R1:"814264145F2F56F2E96A8E337A1284993FAF432A5ABCE59E867B7291D507A3AF":"2AF502F3BE8952F2C9B5A8D4160D09E97165BE50BC42AE4A5E8D3B4BA83AEB15":"EB0FAF4CA986C4D38681A0F9872D79D56795BD4BFF6E6DE3C0F5015ECE5EFD85":"2CE1788EC197E096DB95A200CC0AB26A19CE6BCCAD562B8EEE1B593761CF7F41":"B120DE4AA36492795346E8DE6C2C8646AE06AAEA279FA775B3AB0715F6CE51B0":"9F1B7EECE20D7B5ED8EC685FA3F071D83727027092A8411385C34DDE5708B2B6":"DD0F5396219D1EA393310412D19A08F1F5811E9DC8EC8EEA7F80D21C820C2788":"0357DCCD4C804D0D8D33AA42B848834AA5605F9AB0D37239A115BBB647936F50"
|
|
|
|
ECP test vectors secp384r1 rfc 5114
|
|
depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED
|
|
ecp_test_vect:MBEDTLS_ECP_DP_SECP384R1:"D27335EA71664AF244DD14E9FD1260715DFD8A7965571C48D709EE7A7962A156D706A90CBCB5DF2986F05FEADB9376F1":"793148F1787634D5DA4C6D9074417D05E057AB62F82054D10EE6B0403D6279547E6A8EA9D1FD77427D016FE27A8B8C66":"C6C41294331D23E6F480F4FB4CD40504C947392E94F4C3F06B8F398BB29E42368F7A685923DE3B67BACED214A1A1D128":"52D1791FDB4B70F89C0F00D456C2F7023B6125262C36A7DF1F80231121CCE3D39BE52E00C194A4132C4A6C768BCD94D2":"5CD42AB9C41B5347F74B8D4EFB708B3D5B36DB65915359B44ABC17647B6B9999789D72A84865AE2F223F12B5A1ABC120":"E171458FEAA939AAA3A8BFAC46B404BD8F6D5B348C0FA4D80CECA16356CA933240BDE8723415A8ECE035B0EDF36755DE":"5EA1FC4AF7256D2055981B110575E0A8CAE53160137D904C59D926EB1B8456E427AA8A4540884C37DE159A58028ABC0E":"0CC59E4B046414A81C8A3BDFDCA92526C48769DD8D3127CAA99B3632D1913942DE362EAFAA962379374D9F3F066841CA"
|
|
|
|
ECP test vectors secp521r1 rfc 5114
|
|
depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
|
ecp_test_vect:MBEDTLS_ECP_DP_SECP521R1:"0113F82DA825735E3D97276683B2B74277BAD27335EA71664AF2430CC4F33459B9669EE78B3FFB9B8683015D344DCBFEF6FB9AF4C6C470BE254516CD3C1A1FB47362":"01EBB34DD75721ABF8ADC9DBED17889CBB9765D90A7C60F2CEF007BB0F2B26E14881FD4442E689D61CB2DD046EE30E3FFD20F9A45BBDF6413D583A2DBF59924FD35C":"00F6B632D194C0388E22D8437E558C552AE195ADFD153F92D74908351B2F8C4EDA94EDB0916D1B53C020B5EECAED1A5FC38A233E4830587BB2EE3489B3B42A5A86A4":"00CEE3480D8645A17D249F2776D28BAE616952D1791FDB4B70F7C3378732AA1B22928448BCD1DC2496D435B01048066EBE4F72903C361B1A9DC1193DC2C9D0891B96":"010EBFAFC6E85E08D24BFFFCC1A4511DB0E634BEEB1B6DEC8C5939AE44766201AF6200430BA97C8AC6A0E9F08B33CE7E9FEEB5BA4EE5E0D81510C24295B8A08D0235":"00A4A6EC300DF9E257B0372B5E7ABFEF093436719A77887EBB0B18CF8099B9F4212B6E30A1419C18E029D36863CC9D448F4DBA4D2A0E60711BE572915FBD4FEF2695":"00CDEA89621CFA46B132F9E4CFE2261CDE2D4368EB5656634C7CC98C7A00CDE54ED1866A0DD3E6126C9D2F845DAFF82CEB1DA08F5D87521BB0EBECA77911169C20CC":"00F9A71641029B7FC1A808AD07CD4861E868614B865AFBECAB1F2BD4D8B55EBCB5E3A53143CEB2C511B1AE0AF5AC827F60F2FD872565AC5CA0A164038FE980A7E4BD"
|
|
|
|
ECP test vectors brainpoolP256r1 rfc 7027
|
|
depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED
|
|
ecp_test_vect:MBEDTLS_ECP_DP_BP256R1:"81DB1EE100150FF2EA338D708271BE38300CB54241D79950F77B063039804F1D":"44106E913F92BC02A1705D9953A8414DB95E1AAA49E81D9E85F929A8E3100BE5":"8AB4846F11CACCB73CE49CBDD120F5A900A69FD32C272223F789EF10EB089BDC":"55E40BC41E37E3E2AD25C3C6654511FFA8474A91A0032087593852D3E7D76BD3":"8D2D688C6CF93E1160AD04CC4429117DC2C41825E1E9FCA0ADDD34E6F1B39F7B":"990C57520812BE512641E47034832106BC7D3E8DD0E4C7F1136D7006547CEC6A":"89AFC39D41D3B327814B80940B042590F96556EC91E6AE7939BCE31F3A18BF2B":"49C27868F4ECA2179BFD7D59B1E3BF34C1DBDE61AE12931648F43E59632504DE"
|
|
|
|
ECP test vectors brainpoolP384r1 rfc 7027
|
|
depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED
|
|
ecp_test_vect:MBEDTLS_ECP_DP_BP384R1:"1E20F5E048A5886F1F157C74E91BDE2B98C8B52D58E5003D57053FC4B0BD65D6F15EB5D1EE1610DF870795143627D042":"68B665DD91C195800650CDD363C625F4E742E8134667B767B1B476793588F885AB698C852D4A6E77A252D6380FCAF068":"55BC91A39C9EC01DEE36017B7D673A931236D2F1F5C83942D049E3FA20607493E0D038FF2FD30C2AB67D15C85F7FAA59":"032640BC6003C59260F7250C3DB58CE647F98E1260ACCE4ACDA3DD869F74E01F8BA5E0324309DB6A9831497ABAC96670":"4D44326F269A597A5B58BBA565DA5556ED7FD9A8A9EB76C25F46DB69D19DC8CE6AD18E404B15738B2086DF37E71D1EB4":"62D692136DE56CBE93BF5FA3188EF58BC8A3A0EC6C1E151A21038A42E9185329B5B275903D192F8D4E1F32FE9CC78C48":"0BD9D3A7EA0B3D519D09D8E48D0785FB744A6B355E6304BC51C229FBBCE239BBADF6403715C35D4FB2A5444F575D4F42":"0DF213417EBE4D8E40A5F76F66C56470C489A3478D146DECF6DF0D94BAE9E598157290F8756066975F1DB34B2324B7BD"
|
|
|
|
ECP test vectors brainpoolP512r1 rfc 7027
|
|
depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
|
ecp_test_vect:MBEDTLS_ECP_DP_BP512R1:"16302FF0DBBB5A8D733DAB7141C1B45ACBC8715939677F6A56850A38BD87BD59B09E80279609FF333EB9D4C061231FB26F92EEB04982A5F1D1764CAD57665422":"0A420517E406AAC0ACDCE90FCD71487718D3B953EFD7FBEC5F7F27E28C6149999397E91E029E06457DB2D3E640668B392C2A7E737A7F0BF04436D11640FD09FD":"72E6882E8DB28AAD36237CD25D580DB23783961C8DC52DFA2EC138AD472A0FCEF3887CF62B623B2A87DE5C588301EA3E5FC269B373B60724F5E82A6AD147FDE7":"230E18E1BCC88A362FA54E4EA3902009292F7F8033624FD471B5D8ACE49D12CFABBC19963DAB8E2F1EBA00BFFB29E4D72D13F2224562F405CB80503666B25429":"9D45F66DE5D67E2E6DB6E93A59CE0BB48106097FF78A081DE781CDB31FCE8CCBAAEA8DD4320C4119F1E9CD437A2EAB3731FA9668AB268D871DEDA55A5473199F":"2FDC313095BCDD5FB3A91636F07A959C8E86B5636A1E930E8396049CB481961D365CC11453A06C719835475B12CB52FC3C383BCE35E27EF194512B71876285FA":"A7927098655F1F9976FA50A9D566865DC530331846381C87256BAF3226244B76D36403C024D7BBF0AA0803EAFF405D3D24F11A9B5C0BEF679FE1454B21C4CD1F":"7DB71C3DEF63212841C463E881BDCF055523BD368240E6C3143BD8DEF8B3B3223B95E0F53082FF5E412F4222537A43DF1C6D25729DDB51620A832BE6A26680A2"
|
|
|
|
ECP test vectors Curve25519
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
ecp_test_vec_x:MBEDTLS_ECP_DP_CURVE25519:"5AC99F33632E5A768DE7E81BF854C27C46E3FBF2ABBACD29EC4AFF517369C660":"057E23EA9F1CBE8A27168F6E696A791DE61DD3AF7ACD4EEACC6E7BA514FDA863":"47DC3D214174820E1154B49BC6CDB2ABD45EE95817055D255AA35831B70D3260":"6EB89DA91989AE37C7EAC7618D9E5C4951DBA1D73C285AE1CD26A855020EEF04":"61450CD98E36016B58776A897A9F0AEF738B99F09468B8D6B8511184D53494AB"
|
|
|
|
ECP point multiplication Curve25519 (normalized) #1
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
ecp_test_mul:MBEDTLS_ECP_DP_CURVE25519:"5AC99F33632E5A768DE7E81BF854C27C46E3FBF2ABBACD29EC4AFF517369C660":"09":"00":"01":"057E23EA9F1CBE8A27168F6E696A791DE61DD3AF7ACD4EEACC6E7BA514FDA863":"00":"01":0
|
|
|
|
ECP point multiplication Curve25519 (not normalized) #2
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
ecp_test_mul:MBEDTLS_ECP_DP_CURVE25519:"5AC99F33632E5A768DE7E81BF854C27C46E3FBF2ABBACD29EC4AFF517369C660":"1B":"00":"03":"057E23EA9F1CBE8A27168F6E696A791DE61DD3AF7ACD4EEACC6E7BA514FDA863":"00":"01":MBEDTLS_ERR_ECP_INVALID_KEY
|
|
|
|
ECP point multiplication Curve25519 (element of order 2: origin) #3
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
ecp_test_mul:MBEDTLS_ECP_DP_CURVE25519:"5AC99F33632E5A768DE7E81BF854C27C46E3FBF2ABBACD29EC4AFF517369C660":"00":"00":"01":"00":"01":"00":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
|
|
|
|
ECP point multiplication Curve25519 (element of order 4: 1) #4
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
ecp_test_mul:MBEDTLS_ECP_DP_CURVE25519:"5AC99F33632E5A768DE7E81BF854C27C46E3FBF2ABBACD29EC4AFF517369C660":"01":"00":"01":"00":"01":"00":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
|
|
|
|
ECP point multiplication Curve25519 (element of order 8) #5
|
|
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
|
ecp_test_mul:MBEDTLS_ECP_DP_CURVE25519:"5AC99F33632E5A768DE7E81BF854C27C46E3FBF2ABBACD29EC4AFF517369C660":"B8495F16056286FDB1329CEB8D09DA6AC49FF1FAE35616AEB8413B7C7AEBE0":"00":"01":"00":"01":"00":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
|
|
|
|
ECP test vectors Curve448 (RFC 7748 6.2, after decodeUCoordinate)
|
|
depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
|
ecp_test_vec_x:MBEDTLS_ECP_DP_CURVE448:"eb7298a5c0d8c29a1dab27f1a6826300917389449741a974f5bac9d98dc298d46555bce8bae89eeed400584bb046cf75579f51d125498f98":"a01fc432e5807f17530d1288da125b0cd453d941726436c8bbd9c5222c3da7fa639ce03db8d23b274a0721a1aed5227de6e3b731ccf7089b":"ad997351b6106f36b0d1091b929c4c37213e0d2b97e85ebb20c127691d0dad8f1d8175b0723745e639a3cb7044290b99e0e2a0c27a6a301c":"0936f37bc6c1bd07ae3dec7ab5dc06a73ca13242fb343efc72b9d82730b445f3d4b0bd077162a46dcfec6f9b590bfcbcf520cdb029a8b73e":"9d874a5137509a449ad5853040241c5236395435c36424fd560b0cb62b281d285275a740ce32a22dd1740f4aa9161cec95ccc61a18f4ff07"
|
|
|
|
ECP test vectors secp192k1
|
|
depends_on:MBEDTLS_ECP_DP_SECP192K1_ENABLED
|
|
ecp_test_vect:MBEDTLS_ECP_DP_SECP192K1:"D1E13A359F6E0F0698791938E6D60246030AE4B0D8D4E9DE":"281BCA982F187ED30AD5E088461EBE0A5FADBB682546DF79":"3F68A8E9441FB93A4DD48CB70B504FCC9AA01902EF5BE0F3":"BE97C5D2A1A94D081E3FACE53E65A27108B7467BDF58DE43":"5EB35E922CD693F7947124F5920022C4891C04F6A8B8DCB2":"60ECF73D0FC43E0C42E8E155FFE39F9F0B531F87B34B6C3C":"372F5C5D0E18313C82AEF940EC3AFEE26087A46F1EBAE923":"D5A9F9182EC09CEAEA5F57EA10225EC77FA44174511985FD"
|
|
|
|
ECP test vectors secp224k1
|
|
depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED
|
|
ecp_test_vect:MBEDTLS_ECP_DP_SECP224K1:"8EAD9B2819A3C2746B3EDC1E0D30F23271CDAC048C0615C961B1A9D3":"DEE0A75EF26CF8F501DB80807A3A0908E5CF01852709C1D35B31428B":"276D2B817918F7CD1DA5CCA081EC4B62CD255E0ACDC9F85FA8C52CAC":"AB7E70AEDA68A174ECC1F3800561B2D4FABE97C5D2A1A94D081E3FAC":"D2E94B00FD30201C40EDF73B137427916687AEA1935B277A5960DD1C":"DE728A614B17D91EB3CB2C17DA195562B6281585986332B3E12DA0ED":"B66B673D29038A3487A2D9C10CDCE67646F7C39C984EBE9E8795AD3C":"928C6147AF5EE4B54FA6ECF77B70CA3FEE5F4182DB057878F129DF":
|
|
|
|
ECP test vectors secp256k1
|
|
depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED
|
|
ecp_test_vect:MBEDTLS_ECP_DP_SECP256K1:"923C6D4756CD940CD1E13A359F6E0F0698791938E6D60246030AE4B0D8D4E9DE":"20A865B295E93C5B090F324B84D7AC7526AA1CFE86DD80E792CECCD16B657D55":"38AC87141A4854A8DFD87333E107B61692323721FE2EAD6E52206FE471A4771B":"4F5036A8ED5809AB7E70AEDA68A174ECC1F3800561B2D4FABE97C5D2A1A94D08":"029F5D2CC5A2C7E538FBA321439B4EC8DD79B7FEB9C0A8A5114EEA39856E22E8":"165171AFC3411A427F24FDDE1192A551C90983EB421BC982AB4CF4E21F18F04B":"E4B5B537D3ACEA7624F2E9C185BFFD80BC7035E515F33E0D4CFAE747FD20038E":"2BC685B7DCDBC694F5E036C4EAE9BFB489D7BF8940C4681F734B71D68501514C"
|
|
|
|
ECP selftest
|
|
ecp_selftest:
|
|
|
|
ECP restartable mul secp256r1 max_ops=0 (disabled)
|
|
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
|
ecp_test_vect_restart:MBEDTLS_ECP_DP_SECP256R1:"814264145F2F56F2E96A8E337A1284993FAF432A5ABCE59E867B7291D507A3AF":"2AF502F3BE8952F2C9B5A8D4160D09E97165BE50BC42AE4A5E8D3B4BA83AEB15":"EB0FAF4CA986C4D38681A0F9872D79D56795BD4BFF6E6DE3C0F5015ECE5EFD85":"2CE1788EC197E096DB95A200CC0AB26A19CE6BCCAD562B8EEE1B593761CF7F41":"DD0F5396219D1EA393310412D19A08F1F5811E9DC8EC8EEA7F80D21C820C2788":"0357DCCD4C804D0D8D33AA42B848834AA5605F9AB0D37239A115BBB647936F50":0:0:0
|
|
|
|
ECP restartable mul secp256r1 max_ops=1
|
|
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
|
ecp_test_vect_restart:MBEDTLS_ECP_DP_SECP256R1:"814264145F2F56F2E96A8E337A1284993FAF432A5ABCE59E867B7291D507A3AF":"2AF502F3BE8952F2C9B5A8D4160D09E97165BE50BC42AE4A5E8D3B4BA83AEB15":"EB0FAF4CA986C4D38681A0F9872D79D56795BD4BFF6E6DE3C0F5015ECE5EFD85":"2CE1788EC197E096DB95A200CC0AB26A19CE6BCCAD562B8EEE1B593761CF7F41":"DD0F5396219D1EA393310412D19A08F1F5811E9DC8EC8EEA7F80D21C820C2788":"0357DCCD4C804D0D8D33AA42B848834AA5605F9AB0D37239A115BBB647936F50":1:1:5000
|
|
|
|
ECP restartable mul secp256r1 max_ops=10000
|
|
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
|
ecp_test_vect_restart:MBEDTLS_ECP_DP_SECP256R1:"814264145F2F56F2E96A8E337A1284993FAF432A5ABCE59E867B7291D507A3AF":"2AF502F3BE8952F2C9B5A8D4160D09E97165BE50BC42AE4A5E8D3B4BA83AEB15":"EB0FAF4CA986C4D38681A0F9872D79D56795BD4BFF6E6DE3C0F5015ECE5EFD85":"2CE1788EC197E096DB95A200CC0AB26A19CE6BCCAD562B8EEE1B593761CF7F41":"DD0F5396219D1EA393310412D19A08F1F5811E9DC8EC8EEA7F80D21C820C2788":"0357DCCD4C804D0D8D33AA42B848834AA5605F9AB0D37239A115BBB647936F50":10000:0:0
|
|
|
|
ECP restartable mul secp256r1 max_ops=250
|
|
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
|
ecp_test_vect_restart:MBEDTLS_ECP_DP_SECP256R1:"814264145F2F56F2E96A8E337A1284993FAF432A5ABCE59E867B7291D507A3AF":"2AF502F3BE8952F2C9B5A8D4160D09E97165BE50BC42AE4A5E8D3B4BA83AEB15":"EB0FAF4CA986C4D38681A0F9872D79D56795BD4BFF6E6DE3C0F5015ECE5EFD85":"2CE1788EC197E096DB95A200CC0AB26A19CE6BCCAD562B8EEE1B593761CF7F41":"DD0F5396219D1EA393310412D19A08F1F5811E9DC8EC8EEA7F80D21C820C2788":"0357DCCD4C804D0D8D33AA42B848834AA5605F9AB0D37239A115BBB647936F50":250:2:32
|
|
|
|
ECP restartable muladd secp256r1 max_ops=0 (disabled)
|
|
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
|
ecp_muladd_restart:MBEDTLS_ECP_DP_SECP256R1:"CB28E0999B9C7715FD0A80D8E47A77079716CBBF917DD72E97566EA1C066957C":"2B57C0235FB7489768D058FF4911C20FDBE71E3699D91339AFBB903EE17255DC":"C3875E57C85038A0D60370A87505200DC8317C8C534948BEA6559C7C18E6D4CE":"3B4E49C4FDBFC006FF993C81A50EAE221149076D6EC09DDD9FB3B787F85B6483":"2442A5CC0ECD015FA3CA31DC8E2BBC70BF42D60CBCA20085E0822CB04235E970":"6FC98BD7E50211A4A27102FA3549DF79EBCB4BF246B80945CDDFE7D509BBFD7D":0:0:0
|
|
|
|
ECP restartable muladd secp256r1 max_ops=1
|
|
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
|
ecp_muladd_restart:MBEDTLS_ECP_DP_SECP256R1:"CB28E0999B9C7715FD0A80D8E47A77079716CBBF917DD72E97566EA1C066957C":"2B57C0235FB7489768D058FF4911C20FDBE71E3699D91339AFBB903EE17255DC":"C3875E57C85038A0D60370A87505200DC8317C8C534948BEA6559C7C18E6D4CE":"3B4E49C4FDBFC006FF993C81A50EAE221149076D6EC09DDD9FB3B787F85B6483":"2442A5CC0ECD015FA3CA31DC8E2BBC70BF42D60CBCA20085E0822CB04235E970":"6FC98BD7E50211A4A27102FA3549DF79EBCB4BF246B80945CDDFE7D509BBFD7D":1:1:10000
|
|
|
|
ECP restartable muladd secp256r1 max_ops=10000
|
|
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
|
ecp_muladd_restart:MBEDTLS_ECP_DP_SECP256R1:"CB28E0999B9C7715FD0A80D8E47A77079716CBBF917DD72E97566EA1C066957C":"2B57C0235FB7489768D058FF4911C20FDBE71E3699D91339AFBB903EE17255DC":"C3875E57C85038A0D60370A87505200DC8317C8C534948BEA6559C7C18E6D4CE":"3B4E49C4FDBFC006FF993C81A50EAE221149076D6EC09DDD9FB3B787F85B6483":"2442A5CC0ECD015FA3CA31DC8E2BBC70BF42D60CBCA20085E0822CB04235E970":"6FC98BD7E50211A4A27102FA3549DF79EBCB4BF246B80945CDDFE7D509BBFD7D":10000:0:0
|
|
|
|
ECP restartable muladd secp256r1 max_ops=250
|
|
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
|
ecp_muladd_restart:MBEDTLS_ECP_DP_SECP256R1:"CB28E0999B9C7715FD0A80D8E47A77079716CBBF917DD72E97566EA1C066957C":"2B57C0235FB7489768D058FF4911C20FDBE71E3699D91339AFBB903EE17255DC":"C3875E57C85038A0D60370A87505200DC8317C8C534948BEA6559C7C18E6D4CE":"3B4E49C4FDBFC006FF993C81A50EAE221149076D6EC09DDD9FB3B787F85B6483":"2442A5CC0ECD015FA3CA31DC8E2BBC70BF42D60CBCA20085E0822CB04235E970":"6FC98BD7E50211A4A27102FA3549DF79EBCB4BF246B80945CDDFE7D509BBFD7D":250:4:64
|