mbedtls/tests/suites
Janos Follath 171a7efd02 Add mbedtls_ecp_read_key
The private keys used in ECDH differ in the case of Weierstrass and
Montgomery curves. They have different constraints, the former is based
on big endian, the latter little endian byte order. The fundamental
approach is different too:
- Weierstrass keys have to be in the right interval, otherwise they are
  rejected.
- Any byte array of the right size is a valid Montgomery key and it
  needs to be masked before interpreting it as a number.

Historically it was sufficient to use mbedtls_mpi_read_binary() to read
private keys, but as a preparation to improve support for Montgomery
curves we add mbedtls_ecp_read_key() to enable uniform treatment of EC
keys.

For the masking the `mbedtls_mpi_set_bit()` function is used. This is
suboptimal but seems to provide the best trade-off at this time.
Alternatives considered:
- Making a copy of the input buffer (less efficient)
- removing the `const` constraint from the input buffer (breaks the api
and makes it less user friendly)
- applying the mask directly to the limbs (violates the api between the
modules and creates and unwanted dependency)
2019-02-22 15:39:03 +00:00
..
helpers.function Write documentation for TEST_ASSERT 2019-02-15 10:13:35 -05:00
host_test.function Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
main_test.function psa: Initialize crypto in tests that need to 2019-02-13 07:34:54 -05:00
target_test.function Style fixes 2018-08-06 11:42:56 +01:00
test_suite_aes.cbc.data Split up largest test suite data files into smaller chunks 2013-04-08 18:09:51 +02:00
test_suite_aes.cfb.data The Great Renaming 2015-04-08 13:25:31 +02:00
test_suite_aes.ecb.data Split up largest test suite data files into smaller chunks 2013-04-08 18:09:51 +02:00
test_suite_aes.function Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_aes.ofb.data Add test cases for AES OFB block mode 2018-06-11 14:03:22 +01:00
test_suite_aes.rest.data Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_aes.xts.data tests: Remove NIST AES-XTS test vectors 2018-06-13 12:13:58 +01:00
test_suite_arc4.data The Great Renaming 2015-04-08 13:25:31 +02:00
test_suite_arc4.function Rename HexParam_t -> data_t for consistent coding style 2018-08-06 11:42:06 +01:00
test_suite_aria.data Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_aria.function Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_asn1write.data Add mbedtls_asn1_write_len() support for 3 and 4 byte lengths 2016-08-25 15:42:27 +01:00
test_suite_asn1write.function Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_base64.data Add test for base64 output length 2015-09-30 16:31:10 +02:00
test_suite_base64.function Rename HexParam_t -> data_t for consistent coding style 2018-08-06 11:42:06 +01:00
test_suite_blowfish.data Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_blowfish.function Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_camellia.data Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_camellia.function Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_ccm.data Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_ccm.function Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_chacha20.data chacha20: add test for parameter validation 2018-05-24 13:37:31 +02:00
test_suite_chacha20.function Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_chachapoly.data chachapoly: add test for state flow 2018-05-24 13:37:31 +02:00
test_suite_chachapoly.function Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_cipher.aes.data Add AES-*-CBC test vectors for PSA-based cipher contexts 2018-11-22 14:03:39 +00:00
test_suite_cipher.arc4.data Add tests for "return plaintext data faster on unpadded decryption" 2018-03-27 19:25:35 -07:00
test_suite_cipher.blowfish.data Add tests for "return plaintext data faster on unpadded decryption" 2018-03-27 19:25:35 -07:00
test_suite_cipher.camellia.data Add tests for "return plaintext data faster on unpadded decryption" 2018-03-27 19:25:35 -07:00
test_suite_cipher.ccm.data Test PSA-based CCM cipher operations 2018-11-22 14:03:39 +00:00
test_suite_cipher.chacha20.data cipher: add stream test vectors for chacha20(poly1305) 2018-05-24 13:37:31 +02:00
test_suite_cipher.chachapoly.data Test PSA-based CCM cipher operations 2018-11-22 14:03:39 +00:00
test_suite_cipher.des.data Add tests for "return plaintext data faster on unpadded decryption" 2018-03-27 19:25:35 -07:00
test_suite_cipher.function psa: Initialize crypto in tests that need to 2019-02-13 07:34:54 -05:00
test_suite_cipher.gcm.data Add missing newline at the end of test_suite_cipher.gcm.data 2018-11-22 14:03:39 +00:00
test_suite_cipher.misc.data Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_cipher.null.data Add tests for "return plaintext data faster on unpadded decryption" 2018-03-27 19:25:35 -07:00
test_suite_cipher.padding.data Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_cmac.data Extend test coverage of CMAC 2016-10-13 13:53:13 +01:00
test_suite_cmac.function Rename HexParam_t -> data_t for consistent coding style 2018-08-06 11:42:06 +01:00
test_suite_ctr_drbg.data Refactor test code for CTR DRBG to clarify test functions 2018-08-29 23:38:57 +03:00
test_suite_ctr_drbg.function test_suite_ctr_drbg: use ctr_drbg_update_ret instead of ctr_drbg_update 2019-02-01 02:53:16 -05:00
test_suite_debug.data Tests: add omitted dependency on MBEDTLS_ECDSA_C in test_suite_debug 2017-09-04 14:17:10 +02:00
test_suite_debug.function Rename HexParam_t -> data_t for consistent coding style 2018-08-06 11:42:06 +01:00
test_suite_des.data The Great Renaming 2015-04-08 13:25:31 +02:00
test_suite_des.function Rename HexParam_t -> data_t for consistent coding style 2018-08-06 11:42:06 +01:00
test_suite_dhm.data Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_dhm.function Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_ecdh.data Add test case for ecdh_get_params with mismatching group 2019-02-22 10:21:31 +01:00
test_suite_ecdh.function Add mbedtls_ecp_read_key 2019-02-22 15:39:03 +00:00
test_suite_ecdsa.data Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_ecdsa.function Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_ecjpake.data Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_ecjpake.function Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_ecp.data Add mbedtls_ecp_read_key 2019-02-22 15:39:03 +00:00
test_suite_ecp.function Add mbedtls_ecp_read_key 2019-02-22 15:39:03 +00:00
test_suite_entropy.data Move flag indicating presence of strong entropy to test code 2017-07-24 15:31:30 +01:00
test_suite_entropy.function Fix typo in test_suite_entropy.function 2018-08-15 13:55:37 +01:00
test_suite_error.data The Great Renaming 2015-04-08 13:25:31 +02:00
test_suite_error.function Intermediate hexify out change 2018-08-06 11:40:57 +01:00
test_suite_gcm.aes128_de.data Fix test functions and data after moving hexify/unhexify out 2018-08-06 11:40:57 +01:00
test_suite_gcm.aes128_en.data fix for issue 1118: check if iv is zero in gcm. 2017-07-27 21:44:33 +01:00
test_suite_gcm.aes192_de.data Fix test functions and data after moving hexify/unhexify out 2018-08-06 11:40:57 +01:00
test_suite_gcm.aes192_en.data fix for issue 1118: check if iv is zero in gcm. 2017-07-27 21:44:33 +01:00
test_suite_gcm.aes256_de.data Fix test functions and data after moving hexify/unhexify out 2018-08-06 11:40:57 +01:00
test_suite_gcm.aes256_en.data fix for issue 1118: check if iv is zero in gcm. 2017-07-27 21:44:33 +01:00
test_suite_gcm.camellia.data Fix test functions and data after moving hexify/unhexify out 2018-08-06 11:40:57 +01:00
test_suite_gcm.function Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_gcm.misc.data Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_hkdf.data hkdf: Add negative tests 2018-06-11 13:10:14 +01:00
test_suite_hkdf.function hkdf: Add negative tests 2018-06-11 13:10:14 +01:00
test_suite_hmac_drbg.function Rename HexParam_t -> data_t for consistent coding style 2018-08-06 11:42:06 +01:00
test_suite_hmac_drbg.misc.data The Great Renaming 2015-04-08 13:25:31 +02:00
test_suite_hmac_drbg.no_reseed.data The Great Renaming 2015-04-08 13:25:31 +02:00
test_suite_hmac_drbg.nopr.data The Great Renaming 2015-04-08 13:25:31 +02:00
test_suite_hmac_drbg.pr.data The Great Renaming 2015-04-08 13:25:31 +02:00
test_suite_md.data Allow comments in test data files 2017-10-06 11:58:50 +01:00
test_suite_md.function Rename HexParam_t -> data_t for consistent coding style 2018-08-06 11:42:06 +01:00
test_suite_mdx.data Allow comments in test data files 2017-10-06 11:58:50 +01:00
test_suite_mdx.function Rename HexParam_t -> data_t for consistent coding style 2018-08-06 11:42:06 +01:00
test_suite_memory_buffer_alloc.data Test corner case uses of memory_buffer_alloc.c 2018-01-23 19:37:44 +00:00
test_suite_memory_buffer_alloc.function Intermediate hexify out change 2018-08-06 11:40:57 +01:00
test_suite_mpi.data Add little endian import to Bignum 2019-02-22 15:38:32 +00:00
test_suite_mpi.function Add little endian import to Bignum 2019-02-22 15:38:32 +00:00
test_suite_nist_kw.data Enhance nist_kw with some NULL buffers tests 2018-08-13 14:46:45 +03:00
test_suite_nist_kw.function Fix #2370, minor typos and spelling mistakes 2019-01-24 10:37:40 +01:00
test_suite_pem.data Add negative testing for mbedtls_pem_read_buffer() 2017-05-30 16:54:23 +01:00
test_suite_pem.function Rename HexParam_t -> data_t for consistent coding style 2018-08-06 11:42:06 +01:00
test_suite_pk.data Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_pk.function psa: Initialize crypto in tests that need to 2019-02-13 07:34:54 -05:00
test_suite_pkcs1_v15.data Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_pkcs1_v15.function Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_pkcs1_v21.data rsa: pss: Add no possible salt size tests 2018-09-27 18:23:08 +01:00
test_suite_pkcs1_v21.function Rename HexParam_t -> data_t for consistent coding style 2018-08-06 11:42:06 +01:00
test_suite_pkcs5.data tests/pkcs5/pbkdf2_hmac: add unit tests for additional SHA algorithms 2018-02-08 17:18:19 +08:00
test_suite_pkcs5.function Rename HexParam_t -> data_t for consistent coding style 2018-08-06 11:42:06 +01:00
test_suite_pkparse.data Change test dependencies to RC4 from DES 2018-07-27 17:15:39 +01:00
test_suite_pkparse.function Rename HexParam_t -> data_t for consistent coding style 2018-08-06 11:42:06 +01:00
test_suite_pkwrite.data The Great Renaming 2015-04-08 13:25:31 +02:00
test_suite_pkwrite.function Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_poly1305.data poly1305: add test for parameter validation 2018-05-24 13:37:31 +02:00
test_suite_poly1305.function Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_rsa.data Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_rsa.function Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_shax.data Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_shax.function Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_ssl.data Combine hex parameters in a struct 2018-08-06 11:40:57 +01:00
test_suite_ssl.function Rename HexParam_t -> data_t for consistent coding style 2018-08-06 11:42:06 +01:00
test_suite_timing.data Unit test for mbedtls_timing_hardclock 2017-12-20 21:57:48 +01:00
test_suite_timing.function Remove git conflict marker from test_suite_timing.function 2018-08-06 11:40:58 +01:00
test_suite_version.data Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_version.function Intermediate hexify out change 2018-08-06 11:40:57 +01:00
test_suite_x509parse.data Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
test_suite_x509parse.function psa: Initialize crypto in tests that need to 2019-02-13 07:34:54 -05:00
test_suite_x509write.data Cosmetic changes 2018-11-22 12:05:08 -05:00
test_suite_x509write.function Adapt to the new key allocation mechanism 2019-01-08 09:36:01 -05:00
test_suite_xtea.data The Great Renaming 2015-04-08 13:25:31 +02:00
test_suite_xtea.function Rename HexParam_t -> data_t for consistent coding style 2018-08-06 11:42:06 +01:00