edhoc 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.gyp +64 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_types.h +34 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_ead_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_ead_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_edhoc_types.h +97 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_types.h +37 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_info_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_info_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_types.h +34 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_decode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_encode.h +35 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_types.h +38 -0
- package/external/libedhoc/backends/cbor/include/backend_cbor_x509_types.h +170 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_decode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_encode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_ead_decode.c +74 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_ead_encode.c +74 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_decode.c +62 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_encode.c +62 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_decode.c +141 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_encode.c +141 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_info_decode.c +61 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_info_encode.c +61 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_decode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_encode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_decode.c +112 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_encode.c +112 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_decode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_encode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_decode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_encode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_decode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_encode.c +59 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_decode.c +93 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_encode.c +93 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_decode.c +193 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_encode.c +194 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_decode.c +189 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_encode.c +189 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_decode.c +88 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_encode.c +88 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_decode.c +63 -0
- package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_encode.c +63 -0
- package/external/libedhoc/externals/compact25519/src/c25519/c25519.c +126 -0
- package/external/libedhoc/externals/compact25519/src/c25519/c25519.h +49 -0
- package/external/libedhoc/externals/compact25519/src/c25519/ed25519.c +323 -0
- package/external/libedhoc/externals/compact25519/src/c25519/ed25519.h +84 -0
- package/external/libedhoc/externals/compact25519/src/c25519/edsign.c +171 -0
- package/external/libedhoc/externals/compact25519/src/c25519/edsign.h +53 -0
- package/external/libedhoc/externals/compact25519/src/c25519/f25519.c +330 -0
- package/external/libedhoc/externals/compact25519/src/c25519/f25519.h +98 -0
- package/external/libedhoc/externals/compact25519/src/c25519/fprime.c +226 -0
- package/external/libedhoc/externals/compact25519/src/c25519/fprime.h +81 -0
- package/external/libedhoc/externals/compact25519/src/c25519/sha512.c +230 -0
- package/external/libedhoc/externals/compact25519/src/c25519/sha512.h +54 -0
- package/external/libedhoc/externals/compact25519/src/compact_ed25519.c +46 -0
- package/external/libedhoc/externals/compact25519/src/compact_ed25519.h +110 -0
- package/external/libedhoc/externals/compact25519/src/compact_wipe.c +12 -0
- package/external/libedhoc/externals/compact25519/src/compact_wipe.h +14 -0
- package/external/libedhoc/externals/compact25519/src/compact_x25519.c +68 -0
- package/external/libedhoc/externals/compact25519/src/compact_x25519.h +101 -0
- package/external/libedhoc/externals/compact25519/test/pcg_random.h +25 -0
- package/external/libedhoc/externals/compact25519/test/run-all.c +178 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/Hacl_Curve25519.h +21 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/everest.h +234 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib/FStar_UInt128.h +124 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.h +280 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib.h +29 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/c_endianness.h +204 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/builtin.h +16 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/callconv.h +46 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/compat.h +34 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/debug.h +57 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/target.h +102 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/types.h +61 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/wasmsupport.h +5 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/Hacl_Curve25519.h +21 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/inttypes.h +36 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/stdbool.h +31 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/x25519.h +190 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c +760 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/Hacl_Curve25519_joined.c +50 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/everest.c +102 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c +413 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c +100 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c +805 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/x25519.c +186 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m/p256-m.c +1514 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m/p256-m.h +135 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c +312 -0
- package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.h +219 -0
- package/external/libedhoc/externals/mbedtls/configs/config-ccm-psk-dtls1_2.h +92 -0
- package/external/libedhoc/externals/mbedtls/configs/config-ccm-psk-tls1_2.h +83 -0
- package/external/libedhoc/externals/mbedtls/configs/config-no-entropy.h +73 -0
- package/external/libedhoc/externals/mbedtls/configs/config-suite-b.h +106 -0
- package/external/libedhoc/externals/mbedtls/configs/config-symmetric-only.h +77 -0
- package/external/libedhoc/externals/mbedtls/configs/config-thread.h +76 -0
- package/external/libedhoc/externals/mbedtls/configs/crypto-config-ccm-aes-sha256.h +25 -0
- package/external/libedhoc/externals/mbedtls/configs/crypto_config_profile_medium.h +136 -0
- package/external/libedhoc/externals/mbedtls/configs/tfm_mbedcrypto_config_profile_medium.h +609 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_encdec.h +54 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_hashing.h +30 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_mainpage.h +19 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_rng.h +27 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_ssltls.h +37 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_tcpip.h +32 -0
- package/external/libedhoc/externals/mbedtls/doxygen/input/doc_x509.h +31 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/aes.h +627 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/aria.h +341 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/asn1.h +641 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/asn1write.h +389 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/base64.h +82 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/bignum.h +1084 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/build_info.h +146 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/camellia.h +303 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ccm.h +518 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/chacha20.h +202 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/chachapoly.h +342 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/check_config.h +1206 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/cipher.h +1183 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/cmac.h +246 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/compat-2.x.h +46 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_legacy_crypto.h +183 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_legacy_from_psa.h +877 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_psa_from_legacy.h +334 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_psa_superset_legacy.h +142 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_ssl.h +76 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_x509.h +25 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/config_psa.h +55 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/constant_time.h +36 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ctr_drbg.h +564 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/debug.h +308 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/des.h +385 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/dhm.h +972 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ecdh.h +441 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ecdsa.h +671 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ecjpake.h +298 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ecp.h +1362 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/entropy.h +273 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/error.h +201 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/gcm.h +370 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/hkdf.h +124 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/hmac_drbg.h +434 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/lms.h +440 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/mbedtls_config.h +4116 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/md.h +640 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/md5.h +190 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/memory_buffer_alloc.h +142 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/net_sockets.h +299 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/nist_kw.h +166 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/oid.h +722 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pem.h +160 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pk.h +1091 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs12.h +186 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs5.h +197 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs7.h +241 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/platform.h +485 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/platform_time.h +79 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/platform_util.h +201 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/poly1305.h +168 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/private_access.h +20 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/psa_util.h +104 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ripemd160.h +136 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/rsa.h +1143 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/sha1.h +219 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/sha256.h +198 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/sha3.h +172 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/sha512.h +208 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl.h +5369 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_cache.h +187 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_ciphersuites.h +616 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_cookie.h +106 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_ticket.h +181 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/threading.h +105 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/timing.h +94 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/version.h +78 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/x509.h +550 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_crl.h +184 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_crt.h +1196 -0
- package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_csr.h +319 -0
- package/external/libedhoc/externals/mbedtls/include/psa/build_info.h +20 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto.h +4685 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_auto_enabled.h +21 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_config_key_pair_types.h +91 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_config_synonyms.h +45 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_composites.h +210 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_key_derivation.h +118 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_primitives.h +114 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_compat.h +153 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_config.h +153 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_common.h +44 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_composites.h +151 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_key_derivation.h +52 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_primitives.h +105 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_extra.h +2064 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_legacy.h +88 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_platform.h +92 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_se_driver.h +1383 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_sizes.h +1282 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_struct.h +460 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_types.h +453 -0
- package/external/libedhoc/externals/mbedtls/include/psa/crypto_values.h +2756 -0
- package/external/libedhoc/externals/mbedtls/library/aes.c +2315 -0
- package/external/libedhoc/externals/mbedtls/library/aesce.c +503 -0
- package/external/libedhoc/externals/mbedtls/library/aesce.h +121 -0
- package/external/libedhoc/externals/mbedtls/library/aesni.c +802 -0
- package/external/libedhoc/externals/mbedtls/library/aesni.h +158 -0
- package/external/libedhoc/externals/mbedtls/library/alignment.h +509 -0
- package/external/libedhoc/externals/mbedtls/library/aria.c +991 -0
- package/external/libedhoc/externals/mbedtls/library/asn1parse.c +467 -0
- package/external/libedhoc/externals/mbedtls/library/asn1write.c +436 -0
- package/external/libedhoc/externals/mbedtls/library/base64.c +299 -0
- package/external/libedhoc/externals/mbedtls/library/base64_internal.h +45 -0
- package/external/libedhoc/externals/mbedtls/library/bignum.c +2806 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_core.c +894 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_core.h +763 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_mod.c +394 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_mod.h +452 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw.c +276 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw.h +416 -0
- package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw_invasive.h +34 -0
- package/external/libedhoc/externals/mbedtls/library/bn_mul.h +1094 -0
- package/external/libedhoc/externals/mbedtls/library/camellia.c +1044 -0
- package/external/libedhoc/externals/mbedtls/library/ccm.c +712 -0
- package/external/libedhoc/externals/mbedtls/library/chacha20.c +497 -0
- package/external/libedhoc/externals/mbedtls/library/chachapoly.c +478 -0
- package/external/libedhoc/externals/mbedtls/library/check_crypto_config.h +141 -0
- package/external/libedhoc/externals/mbedtls/library/cipher.c +1664 -0
- package/external/libedhoc/externals/mbedtls/library/cipher_wrap.c +2422 -0
- package/external/libedhoc/externals/mbedtls/library/cipher_wrap.h +132 -0
- package/external/libedhoc/externals/mbedtls/library/cmac.c +1067 -0
- package/external/libedhoc/externals/mbedtls/library/common.h +325 -0
- package/external/libedhoc/externals/mbedtls/library/constant_time.c +261 -0
- package/external/libedhoc/externals/mbedtls/library/constant_time_impl.h +554 -0
- package/external/libedhoc/externals/mbedtls/library/constant_time_internal.h +579 -0
- package/external/libedhoc/externals/mbedtls/library/ctr_drbg.c +881 -0
- package/external/libedhoc/externals/mbedtls/library/debug.c +465 -0
- package/external/libedhoc/externals/mbedtls/library/des.c +1042 -0
- package/external/libedhoc/externals/mbedtls/library/dhm.c +712 -0
- package/external/libedhoc/externals/mbedtls/library/ecdh.c +685 -0
- package/external/libedhoc/externals/mbedtls/library/ecdsa.c +867 -0
- package/external/libedhoc/externals/mbedtls/library/ecjpake.c +1216 -0
- package/external/libedhoc/externals/mbedtls/library/ecp.c +3631 -0
- package/external/libedhoc/externals/mbedtls/library/ecp_curves.c +5467 -0
- package/external/libedhoc/externals/mbedtls/library/ecp_curves_new.c +6043 -0
- package/external/libedhoc/externals/mbedtls/library/ecp_internal_alt.h +287 -0
- package/external/libedhoc/externals/mbedtls/library/ecp_invasive.h +325 -0
- package/external/libedhoc/externals/mbedtls/library/entropy.c +676 -0
- package/external/libedhoc/externals/mbedtls/library/entropy_poll.c +229 -0
- package/external/libedhoc/externals/mbedtls/library/entropy_poll.h +64 -0
- package/external/libedhoc/externals/mbedtls/library/error.c +878 -0
- package/external/libedhoc/externals/mbedtls/library/gcm.c +1168 -0
- package/external/libedhoc/externals/mbedtls/library/hkdf.c +161 -0
- package/external/libedhoc/externals/mbedtls/library/hmac_drbg.c +633 -0
- package/external/libedhoc/externals/mbedtls/library/lmots.c +821 -0
- package/external/libedhoc/externals/mbedtls/library/lmots.h +311 -0
- package/external/libedhoc/externals/mbedtls/library/lms.c +779 -0
- package/external/libedhoc/externals/mbedtls/library/md.c +1108 -0
- package/external/libedhoc/externals/mbedtls/library/md5.c +426 -0
- package/external/libedhoc/externals/mbedtls/library/md_psa.h +63 -0
- package/external/libedhoc/externals/mbedtls/library/md_wrap.h +46 -0
- package/external/libedhoc/externals/mbedtls/library/memory_buffer_alloc.c +745 -0
- package/external/libedhoc/externals/mbedtls/library/mps_common.h +181 -0
- package/external/libedhoc/externals/mbedtls/library/mps_error.h +89 -0
- package/external/libedhoc/externals/mbedtls/library/mps_reader.c +538 -0
- package/external/libedhoc/externals/mbedtls/library/mps_reader.h +366 -0
- package/external/libedhoc/externals/mbedtls/library/mps_trace.c +112 -0
- package/external/libedhoc/externals/mbedtls/library/mps_trace.h +154 -0
- package/external/libedhoc/externals/mbedtls/library/net_sockets.c +696 -0
- package/external/libedhoc/externals/mbedtls/library/nist_kw.c +725 -0
- package/external/libedhoc/externals/mbedtls/library/oid.c +1154 -0
- package/external/libedhoc/externals/mbedtls/library/padlock.c +155 -0
- package/external/libedhoc/externals/mbedtls/library/padlock.h +111 -0
- package/external/libedhoc/externals/mbedtls/library/pem.c +520 -0
- package/external/libedhoc/externals/mbedtls/library/pk.c +970 -0
- package/external/libedhoc/externals/mbedtls/library/pk_internal.h +118 -0
- package/external/libedhoc/externals/mbedtls/library/pk_wrap.c +1834 -0
- package/external/libedhoc/externals/mbedtls/library/pk_wrap.h +156 -0
- package/external/libedhoc/externals/mbedtls/library/pkcs12.c +447 -0
- package/external/libedhoc/externals/mbedtls/library/pkcs5.c +496 -0
- package/external/libedhoc/externals/mbedtls/library/pkcs7.c +773 -0
- package/external/libedhoc/externals/mbedtls/library/pkparse.c +1845 -0
- package/external/libedhoc/externals/mbedtls/library/pkwrite.c +836 -0
- package/external/libedhoc/externals/mbedtls/library/pkwrite.h +112 -0
- package/external/libedhoc/externals/mbedtls/library/platform.c +402 -0
- package/external/libedhoc/externals/mbedtls/library/platform_util.c +285 -0
- package/external/libedhoc/externals/mbedtls/library/poly1305.c +492 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto.c +8432 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_aead.c +653 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_aead.h +499 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_cipher.c +590 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_cipher.h +293 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_client.c +67 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_core.h +838 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_core_common.h +52 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers.h +2871 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers_no_static.c +256 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers_no_static.h +31 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_ecp.c +561 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_ecp.h +267 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_ffdh.c +295 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_ffdh.h +132 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_hash.c +470 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_hash.h +211 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_invasive.h +70 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_its.h +131 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_mac.c +496 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_mac.h +264 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_pake.c +571 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_pake.h +159 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_random_impl.h +192 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_rsa.c +727 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_rsa.h +317 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_se.c +373 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_se.h +185 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_slot_management.c +559 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_slot_management.h +213 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_storage.c +481 -0
- package/external/libedhoc/externals/mbedtls/library/psa_crypto_storage.h +384 -0
- package/external/libedhoc/externals/mbedtls/library/psa_its_file.c +259 -0
- package/external/libedhoc/externals/mbedtls/library/psa_util.c +160 -0
- package/external/libedhoc/externals/mbedtls/library/psa_util_internal.h +96 -0
- package/external/libedhoc/externals/mbedtls/library/ripemd160.c +490 -0
- package/external/libedhoc/externals/mbedtls/library/rsa.c +2640 -0
- package/external/libedhoc/externals/mbedtls/library/rsa_alt_helpers.c +447 -0
- package/external/libedhoc/externals/mbedtls/library/rsa_alt_helpers.h +208 -0
- package/external/libedhoc/externals/mbedtls/library/sha1.c +480 -0
- package/external/libedhoc/externals/mbedtls/library/sha256.c +946 -0
- package/external/libedhoc/externals/mbedtls/library/sha3.c +626 -0
- package/external/libedhoc/externals/mbedtls/library/sha512.c +1111 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_cache.c +410 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_ciphersuites.c +2050 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_client.c +1017 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_client.h +22 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_cookie.c +380 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_debug_helpers.h +78 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_debug_helpers_generated.c +234 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_misc.h +2847 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_msg.c +6155 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_ticket.c +540 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls.c +9577 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls12_client.c +3607 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls12_server.c +4403 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_client.c +3046 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_generic.c +1740 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_invasive.h +23 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_keys.c +1897 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_keys.h +651 -0
- package/external/libedhoc/externals/mbedtls/library/ssl_tls13_server.c +3146 -0
- package/external/libedhoc/externals/mbedtls/library/threading.c +181 -0
- package/external/libedhoc/externals/mbedtls/library/timing.c +154 -0
- package/external/libedhoc/externals/mbedtls/library/version.c +32 -0
- package/external/libedhoc/externals/mbedtls/library/version_features.c +826 -0
- package/external/libedhoc/externals/mbedtls/library/x509.c +1776 -0
- package/external/libedhoc/externals/mbedtls/library/x509_create.c +557 -0
- package/external/libedhoc/externals/mbedtls/library/x509_crl.c +712 -0
- package/external/libedhoc/externals/mbedtls/library/x509_crt.c +3292 -0
- package/external/libedhoc/externals/mbedtls/library/x509_csr.c +574 -0
- package/external/libedhoc/externals/mbedtls/library/x509write.c +174 -0
- package/external/libedhoc/externals/mbedtls/library/x509write_crt.c +681 -0
- package/external/libedhoc/externals/mbedtls/library/x509write_csr.c +331 -0
- package/external/libedhoc/externals/mbedtls/programs/aes/crypt_and_hash.c +573 -0
- package/external/libedhoc/externals/mbedtls/programs/cipher/cipher_aead_demo.c +259 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/common.c +105 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/common.h +25 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_client.c +195 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_dtlsclient.c +138 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_dtlsserver.c +183 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_pkcs7.c +20 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_privkey.c +106 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_pubkey.c +86 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_server.c +218 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509crl.c +41 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509crt.c +41 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509csr.c +41 -0
- package/external/libedhoc/externals/mbedtls/programs/fuzz/onefile.c +69 -0
- package/external/libedhoc/externals/mbedtls/programs/hash/generic_sum.c +209 -0
- package/external/libedhoc/externals/mbedtls/programs/hash/hello.c +45 -0
- package/external/libedhoc/externals/mbedtls/programs/hash/md_hmac_demo.c +136 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/dh_client.c +274 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/dh_genprime.c +161 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/dh_server.c +296 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/ecdh_curve25519.c +189 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/ecdsa.c +217 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/gen_key.c +419 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/key_app.c +316 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/key_app_writer.c +435 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/mpi_demo.c +84 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/pk_decrypt.c +153 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/pk_encrypt.c +154 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/pk_sign.c +155 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/pk_verify.c +128 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_decrypt.c +172 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_encrypt.c +149 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_genkey.c +141 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_sign.c +155 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_sign_pss.c +161 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_verify.c +131 -0
- package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_verify_pss.c +136 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/aead_demo.c +281 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/crypto_examples.c +321 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/hmac_demo.c +159 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/key_ladder_demo.c +691 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/psa_constant_names.c +310 -0
- package/external/libedhoc/externals/mbedtls/programs/psa/psa_constant_names_generated.c +474 -0
- package/external/libedhoc/externals/mbedtls/programs/random/gen_entropy.c +75 -0
- package/external/libedhoc/externals/mbedtls/programs/random/gen_random_ctr_drbg.c +107 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/dtls_client.c +342 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/dtls_server.c +408 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/mini_client.c +274 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_client1.c +288 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_client2.c +3118 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_context_info.c +1009 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_fork_server.c +381 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_mail_client.c +804 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_pthread_server.c +489 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_server.c +362 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_server2.c +4268 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_common_source.c +375 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_lib.c +601 -0
- package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_lib.h +306 -0
- package/external/libedhoc/externals/mbedtls/programs/test/benchmark.c +1284 -0
- package/external/libedhoc/externals/mbedtls/programs/test/cmake_package/cmake_package.c +27 -0
- package/external/libedhoc/externals/mbedtls/programs/test/cmake_package_install/cmake_package_install.c +28 -0
- package/external/libedhoc/externals/mbedtls/programs/test/cmake_subproject/cmake_subproject.c +28 -0
- package/external/libedhoc/externals/mbedtls/programs/test/dlopen.c +92 -0
- package/external/libedhoc/externals/mbedtls/programs/test/query_compile_time_config.c +66 -0
- package/external/libedhoc/externals/mbedtls/programs/test/query_config.c +5137 -0
- package/external/libedhoc/externals/mbedtls/programs/test/query_config.h +34 -0
- package/external/libedhoc/externals/mbedtls/programs/test/query_included_headers.c +29 -0
- package/external/libedhoc/externals/mbedtls/programs/test/selftest.c +583 -0
- package/external/libedhoc/externals/mbedtls/programs/test/udp_proxy.c +967 -0
- package/external/libedhoc/externals/mbedtls/programs/test/zeroize.c +72 -0
- package/external/libedhoc/externals/mbedtls/programs/util/pem2der.c +265 -0
- package/external/libedhoc/externals/mbedtls/programs/util/strerror.c +61 -0
- package/external/libedhoc/externals/mbedtls/programs/wince_main.c +31 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/cert_app.c +456 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/cert_req.c +509 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/cert_write.c +1012 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/crl_app.c +132 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/load_roots.c +165 -0
- package/external/libedhoc/externals/mbedtls/programs/x509/req_app.c +132 -0
- package/external/libedhoc/externals/mbedtls/tests/configs/tls13-only.h +31 -0
- package/external/libedhoc/externals/mbedtls/tests/configs/user-config-for-test.h +89 -0
- package/external/libedhoc/externals/mbedtls/tests/configs/user-config-malloc-0-null.h +22 -0
- package/external/libedhoc/externals/mbedtls/tests/configs/user-config-zeroize-memset.h +17 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/aes_alt.h +23 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/aria_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/camellia_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ccm_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/chacha20_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/chachapoly_alt.h +18 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/cmac_alt.h +15 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/des_alt.h +22 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/dhm_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ecjpake_alt.h +15 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ecp_alt.h +22 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/gcm_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/md5_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/nist_kw_alt.h +15 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/platform_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/poly1305_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ripemd160_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/rsa_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha1_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha256_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha512_alt.h +16 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/threading_alt.h +14 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/timing_alt.h +19 -0
- package/external/libedhoc/externals/mbedtls/tests/include/alt-extra/psa/crypto.h +7 -0
- package/external/libedhoc/externals/mbedtls/tests/include/baremetal-override/time.h +6 -0
- package/external/libedhoc/externals/mbedtls/tests/include/spe/crypto_spe.h +131 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/arguments.h +26 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/asn1_helpers.h +38 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/bignum_helpers.h +106 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/certs.h +234 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/constant_flow.h +71 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/aead.h +121 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/asymmetric_encryption.h +67 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/cipher.h +130 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/config_test_driver.h +44 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/crypto_config_test_driver_extension.h +430 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/hash.h +64 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/key_agreement.h +62 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/key_management.h +123 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/mac.h +125 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/pake.h +75 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/signature.h +112 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/test_driver.h +32 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/fake_external_rng_for_test.h +40 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/helpers.h +268 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/macros.h +250 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/psa_crypto_helpers.h +398 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/psa_exercise_key.h +223 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/psa_helpers.h +24 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/random.h +91 -0
- package/external/libedhoc/externals/mbedtls/tests/include/test/ssl_helpers.h +628 -0
- package/external/libedhoc/externals/mbedtls/tests/src/asn1_helpers.c +62 -0
- package/external/libedhoc/externals/mbedtls/tests/src/bignum_helpers.c +145 -0
- package/external/libedhoc/externals/mbedtls/tests/src/certs.c +480 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/hash.c +199 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/platform_builtin_keys.c +78 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_aead.c +462 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c +151 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_cipher.c +424 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_key_agreement.c +147 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_key_management.c +783 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_mac.c +422 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_pake.c +202 -0
- package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_signature.c +405 -0
- package/external/libedhoc/externals/mbedtls/tests/src/fake_external_rng_for_test.c +45 -0
- package/external/libedhoc/externals/mbedtls/tests/src/helpers.c +353 -0
- package/external/libedhoc/externals/mbedtls/tests/src/psa_crypto_helpers.c +196 -0
- package/external/libedhoc/externals/mbedtls/tests/src/psa_exercise_key.c +989 -0
- package/external/libedhoc/externals/mbedtls/tests/src/random.c +136 -0
- package/external/libedhoc/externals/mbedtls/tests/src/test_certs.h +1226 -0
- package/external/libedhoc/externals/mbedtls/tests/src/test_helpers/ssl_helpers.c +2292 -0
- package/external/libedhoc/externals/mbedtls/tests/src/threading_helpers.c +210 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_common.h +422 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_debug.h +69 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_decode.h +358 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_encode.h +296 -0
- package/external/libedhoc/externals/zcbor/include/zcbor_tags.h +94 -0
- package/external/libedhoc/externals/zcbor/samples/hello_world/src/main.c +41 -0
- package/external/libedhoc/externals/zcbor/samples/pet/include/pet_decode.h +39 -0
- package/external/libedhoc/externals/zcbor/samples/pet/include/pet_encode.h +39 -0
- package/external/libedhoc/externals/zcbor/samples/pet/include/pet_types.h +47 -0
- package/external/libedhoc/externals/zcbor/samples/pet/src/main.c +128 -0
- package/external/libedhoc/externals/zcbor/samples/pet/src/pet_decode.c +69 -0
- package/external/libedhoc/externals/zcbor/samples/pet/src/pet_encode.c +70 -0
- package/external/libedhoc/externals/zcbor/src/zcbor_common.c +257 -0
- package/external/libedhoc/externals/zcbor/src/zcbor_decode.c +1107 -0
- package/external/libedhoc/externals/zcbor/src/zcbor_encode.c +722 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test1_suit_old_formats/src/main.c +368 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test2_suit/src/main.c +189 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test3_simple/src/main.c +529 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test5_corner_cases/src/main.c +2010 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test7_suit9_simple/src/main.c +134 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test8_suit12/src/main.c +863 -0
- package/external/libedhoc/externals/zcbor/tests/decode/test9_manifest14/src/main.c +364 -0
- package/external/libedhoc/externals/zcbor/tests/encode/test1_suit/src/main.c +453 -0
- package/external/libedhoc/externals/zcbor/tests/encode/test2_simple/src/main.c +123 -0
- package/external/libedhoc/externals/zcbor/tests/encode/test3_corner_cases/src/main.c +1527 -0
- package/external/libedhoc/externals/zcbor/tests/encode/test4_senml/src/main.c +66 -0
- package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_manifest12.c +136 -0
- package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_pet.c +12 -0
- package/external/libedhoc/externals/zcbor/tests/fuzz/main_entry.c +60 -0
- package/external/libedhoc/externals/zcbor/tests/fuzz/main_entry.h +5 -0
- package/external/libedhoc/externals/zcbor/tests/unit/test1_unit_tests/src/main.c +1044 -0
- package/external/libedhoc/externals/zcbor/tests/unit/test3_float16/src/main.c +202 -0
- package/external/libedhoc/include/edhoc.h +393 -0
- package/external/libedhoc/include/edhoc_context.h +318 -0
- package/external/libedhoc/include/edhoc_credentials.h +217 -0
- package/external/libedhoc/include/edhoc_crypto.h +331 -0
- package/external/libedhoc/include/edhoc_ead.h +99 -0
- package/external/libedhoc/include/edhoc_macros.h +51 -0
- package/external/libedhoc/include/edhoc_values.h +181 -0
- package/external/libedhoc/library/edhoc.c +219 -0
- package/external/libedhoc/library/edhoc_exporter.c +543 -0
- package/external/libedhoc/library/edhoc_message_1.c +439 -0
- package/external/libedhoc/library/edhoc_message_2.c +2994 -0
- package/external/libedhoc/library/edhoc_message_3.c +2658 -0
- package/external/libedhoc/library/edhoc_message_4.c +826 -0
- package/external/libedhoc/library/edhoc_message_error.c +238 -0
- package/external/libedhoc/tests/include/cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.h +37 -0
- package/external/libedhoc/tests/include/cipher_suites/cipher_suite_0.h +134 -0
- package/external/libedhoc/tests/include/cipher_suites/cipher_suite_2.h +140 -0
- package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_0.h +48 -0
- package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_2.h +48 -0
- package/external/libedhoc/tests/include/edhoc_trace_1/authentication_credentials_1.h +60 -0
- package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_1.h +208 -0
- package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_ead_1.h +59 -0
- package/external/libedhoc/tests/include/edhoc_trace_1/test_vector_1.h +738 -0
- package/external/libedhoc/tests/include/edhoc_trace_2/authentication_credentials_2.h +60 -0
- package/external/libedhoc/tests/include/edhoc_trace_2/test_edhoc_handshake_2.h +199 -0
- package/external/libedhoc/tests/include/edhoc_trace_2/test_vector_2.h +525 -0
- package/external/libedhoc/tests/include/error_message/test_edhoc_error_message.h +48 -0
- package/external/libedhoc/tests/include/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.h +92 -0
- package/external/libedhoc/tests/include/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.h +96 -0
- package/external/libedhoc/tests/include/x509_chain_cs_0/test_vector_x5chain_cs_0.h +140 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.h +58 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.h +56 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.h +57 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2/test_vector_x5chain_cs_2.h +169 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.h +59 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.h +57 -0
- package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/test_vector_x5chain_cs_2_static_dh.h +163 -0
- package/external/libedhoc/tests/include/x509_hash_cs_2/authentication_credentials_x5t_cs_2.h +60 -0
- package/external/libedhoc/tests/include/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.h +57 -0
- package/external/libedhoc/tests/include/x509_hash_cs_2/test_vector_x5t_cs_2.h +181 -0
- package/external/libedhoc/tests/src/cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.c +544 -0
- package/external/libedhoc/tests/src/cipher_suites/cipher_suite_0.c +447 -0
- package/external/libedhoc/tests/src/cipher_suites/cipher_suite_2.c +600 -0
- package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_0.c +475 -0
- package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_2.c +473 -0
- package/external/libedhoc/tests/src/edhoc_trace_1/authentication_credentials_1.c +252 -0
- package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_1.c +1829 -0
- package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_ead_1.c +1247 -0
- package/external/libedhoc/tests/src/edhoc_trace_2/authentication_credentials_2.c +170 -0
- package/external/libedhoc/tests/src/edhoc_trace_2/test_edhoc_handshake_2.c +1783 -0
- package/external/libedhoc/tests/src/error_message/test_edhoc_error_message.c +226 -0
- package/external/libedhoc/tests/src/tests.c +228 -0
- package/external/libedhoc/tests/src/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.c +332 -0
- package/external/libedhoc/tests/src/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.c +936 -0
- package/external/libedhoc/tests/src/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.c +166 -0
- package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.c +587 -0
- package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.c +917 -0
- package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.c +186 -0
- package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.c +743 -0
- package/external/libedhoc/tests/src/x509_hash_cs_2/authentication_credentials_x5t_cs_2.c +261 -0
- package/external/libedhoc/tests/src/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.c +854 -0
- package/include/EdhocComposeAsyncWorker.h +61 -0
- package/include/EdhocCredentialManager.h +100 -0
- package/include/EdhocCryptoManager.h +504 -0
- package/include/EdhocEadManager.h +151 -0
- package/include/EdhocExportAsyncWorker.h +71 -0
- package/include/EdhocProcessAsyncWorker.h +76 -0
- package/include/LibEDHOC.h +304 -0
- package/include/Suites.h +27 -0
- package/include/UserContext.h +79 -0
- package/include/Utils.h +110 -0
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/edhoc.node +0 -0
- package/prebuilds/win32-ia32/edhoc.node +0 -0
- package/prebuilds/win32-x64/edhoc.node +0 -0
- package/src/EdhocComposeAsyncWorker.cpp +88 -0
- package/src/EdhocCredentialManager.cpp +360 -0
- package/src/EdhocCryptoManager.cpp +967 -0
- package/src/EdhocEadManager.cpp +156 -0
- package/src/EdhocExportAsyncWorker.cpp +82 -0
- package/src/EdhocProcessAsyncWorker.cpp +74 -0
- package/src/LibEDHOC.cpp +369 -0
- package/src/Suites.cpp +153 -0
- package/src/Utils.cpp +115 -0
- /package/prebuilds/{darwin-x64+arm64 → darwin-x64}/edhoc.node +0 -0
|
@@ -0,0 +1,503 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Armv8-A Cryptographic Extension support functions for Aarch64
|
|
3
|
+
*
|
|
4
|
+
* Copyright The Mbed TLS Contributors
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#if defined(__aarch64__) && !defined(__ARM_FEATURE_CRYPTO) && \
|
|
9
|
+
defined(__clang__) && __clang_major__ >= 4
|
|
10
|
+
/* TODO: Re-consider above after https://reviews.llvm.org/D131064 merged.
|
|
11
|
+
*
|
|
12
|
+
* The intrinsic declaration are guarded by predefined ACLE macros in clang:
|
|
13
|
+
* these are normally only enabled by the -march option on the command line.
|
|
14
|
+
* By defining the macros ourselves we gain access to those declarations without
|
|
15
|
+
* requiring -march on the command line.
|
|
16
|
+
*
|
|
17
|
+
* `arm_neon.h` could be included by any header file, so we put these defines
|
|
18
|
+
* at the top of this file, before any includes.
|
|
19
|
+
*/
|
|
20
|
+
#define __ARM_FEATURE_CRYPTO 1
|
|
21
|
+
/* See: https://arm-software.github.io/acle/main/acle.html#cryptographic-extensions
|
|
22
|
+
*
|
|
23
|
+
* `__ARM_FEATURE_CRYPTO` is deprecated, but we need to continue to specify it
|
|
24
|
+
* for older compilers.
|
|
25
|
+
*/
|
|
26
|
+
#define __ARM_FEATURE_AES 1
|
|
27
|
+
#define MBEDTLS_ENABLE_ARM_CRYPTO_EXTENSIONS_COMPILER_FLAG
|
|
28
|
+
#endif
|
|
29
|
+
|
|
30
|
+
#include <string.h>
|
|
31
|
+
#include "common.h"
|
|
32
|
+
|
|
33
|
+
#if defined(MBEDTLS_AESCE_C)
|
|
34
|
+
|
|
35
|
+
#include "aesce.h"
|
|
36
|
+
|
|
37
|
+
#if defined(MBEDTLS_ARCH_IS_ARM64)
|
|
38
|
+
|
|
39
|
+
/* Compiler version checks. */
|
|
40
|
+
#if defined(__clang__)
|
|
41
|
+
# if __clang_major__ < 4
|
|
42
|
+
# error "Minimum version of Clang for MBEDTLS_AESCE_C is 4.0."
|
|
43
|
+
# endif
|
|
44
|
+
#elif defined(__GNUC__)
|
|
45
|
+
# if __GNUC__ < 6
|
|
46
|
+
# error "Minimum version of GCC for MBEDTLS_AESCE_C is 6.0."
|
|
47
|
+
# endif
|
|
48
|
+
#elif defined(_MSC_VER)
|
|
49
|
+
/* TODO: We haven't verified MSVC from 1920 to 1928. If someone verified that,
|
|
50
|
+
* please update this and document of `MBEDTLS_AESCE_C` in
|
|
51
|
+
* `mbedtls_config.h`. */
|
|
52
|
+
# if _MSC_VER < 1929
|
|
53
|
+
# error "Minimum version of MSVC for MBEDTLS_AESCE_C is 2019 version 16.11.2."
|
|
54
|
+
# endif
|
|
55
|
+
#endif
|
|
56
|
+
|
|
57
|
+
#ifdef __ARM_NEON
|
|
58
|
+
#include <arm_neon.h>
|
|
59
|
+
#else
|
|
60
|
+
#error "Target does not support NEON instructions"
|
|
61
|
+
#endif
|
|
62
|
+
|
|
63
|
+
#if !(defined(__ARM_FEATURE_CRYPTO) || defined(__ARM_FEATURE_AES)) || \
|
|
64
|
+
defined(MBEDTLS_ENABLE_ARM_CRYPTO_EXTENSIONS_COMPILER_FLAG)
|
|
65
|
+
# if defined(__ARMCOMPILER_VERSION)
|
|
66
|
+
# if __ARMCOMPILER_VERSION <= 6090000
|
|
67
|
+
# error "Must use minimum -march=armv8-a+crypto for MBEDTLS_AESCE_C"
|
|
68
|
+
# else
|
|
69
|
+
# pragma clang attribute push (__attribute__((target("aes"))), apply_to=function)
|
|
70
|
+
# define MBEDTLS_POP_TARGET_PRAGMA
|
|
71
|
+
# endif
|
|
72
|
+
# elif defined(__clang__)
|
|
73
|
+
# pragma clang attribute push (__attribute__((target("aes"))), apply_to=function)
|
|
74
|
+
# define MBEDTLS_POP_TARGET_PRAGMA
|
|
75
|
+
# elif defined(__GNUC__)
|
|
76
|
+
# pragma GCC push_options
|
|
77
|
+
# pragma GCC target ("+crypto")
|
|
78
|
+
# define MBEDTLS_POP_TARGET_PRAGMA
|
|
79
|
+
# elif defined(_MSC_VER)
|
|
80
|
+
# error "Required feature(__ARM_FEATURE_AES) is not enabled."
|
|
81
|
+
# endif
|
|
82
|
+
#endif /* !(__ARM_FEATURE_CRYPTO || __ARM_FEATURE_AES) ||
|
|
83
|
+
MBEDTLS_ENABLE_ARM_CRYPTO_EXTENSIONS_COMPILER_FLAG */
|
|
84
|
+
|
|
85
|
+
#if defined(__linux__) && !defined(MBEDTLS_AES_USE_HARDWARE_ONLY)
|
|
86
|
+
|
|
87
|
+
#include <asm/hwcap.h>
|
|
88
|
+
#include <sys/auxv.h>
|
|
89
|
+
|
|
90
|
+
signed char mbedtls_aesce_has_support_result = -1;
|
|
91
|
+
|
|
92
|
+
#if !defined(MBEDTLS_AES_USE_HARDWARE_ONLY)
|
|
93
|
+
/*
|
|
94
|
+
* AES instruction support detection routine
|
|
95
|
+
*/
|
|
96
|
+
int mbedtls_aesce_has_support_impl(void)
|
|
97
|
+
{
|
|
98
|
+
/* To avoid many calls to getauxval, cache the result. This is
|
|
99
|
+
* thread-safe, because we store the result in a char so cannot
|
|
100
|
+
* be vulnerable to non-atomic updates.
|
|
101
|
+
* It is possible that we could end up setting result more than
|
|
102
|
+
* once, but that is harmless.
|
|
103
|
+
*/
|
|
104
|
+
if (mbedtls_aesce_has_support_result == -1) {
|
|
105
|
+
unsigned long auxval = getauxval(AT_HWCAP);
|
|
106
|
+
if ((auxval & (HWCAP_ASIMD | HWCAP_AES)) ==
|
|
107
|
+
(HWCAP_ASIMD | HWCAP_AES)) {
|
|
108
|
+
mbedtls_aesce_has_support_result = 1;
|
|
109
|
+
} else {
|
|
110
|
+
mbedtls_aesce_has_support_result = 0;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return mbedtls_aesce_has_support_result;
|
|
114
|
+
}
|
|
115
|
+
#endif
|
|
116
|
+
|
|
117
|
+
#endif /* defined(__linux__) && !defined(MBEDTLS_AES_USE_HARDWARE_ONLY) */
|
|
118
|
+
|
|
119
|
+
/* Single round of AESCE encryption */
|
|
120
|
+
#define AESCE_ENCRYPT_ROUND \
|
|
121
|
+
block = vaeseq_u8(block, vld1q_u8(keys)); \
|
|
122
|
+
block = vaesmcq_u8(block); \
|
|
123
|
+
keys += 16
|
|
124
|
+
/* Two rounds of AESCE encryption */
|
|
125
|
+
#define AESCE_ENCRYPT_ROUND_X2 AESCE_ENCRYPT_ROUND; AESCE_ENCRYPT_ROUND
|
|
126
|
+
|
|
127
|
+
MBEDTLS_OPTIMIZE_FOR_PERFORMANCE
|
|
128
|
+
static uint8x16_t aesce_encrypt_block(uint8x16_t block,
|
|
129
|
+
unsigned char *keys,
|
|
130
|
+
int rounds)
|
|
131
|
+
{
|
|
132
|
+
/* 10, 12 or 14 rounds. Unroll loop. */
|
|
133
|
+
if (rounds == 10) {
|
|
134
|
+
goto rounds_10;
|
|
135
|
+
}
|
|
136
|
+
if (rounds == 12) {
|
|
137
|
+
goto rounds_12;
|
|
138
|
+
}
|
|
139
|
+
AESCE_ENCRYPT_ROUND_X2;
|
|
140
|
+
rounds_12:
|
|
141
|
+
AESCE_ENCRYPT_ROUND_X2;
|
|
142
|
+
rounds_10:
|
|
143
|
+
AESCE_ENCRYPT_ROUND_X2;
|
|
144
|
+
AESCE_ENCRYPT_ROUND_X2;
|
|
145
|
+
AESCE_ENCRYPT_ROUND_X2;
|
|
146
|
+
AESCE_ENCRYPT_ROUND_X2;
|
|
147
|
+
AESCE_ENCRYPT_ROUND;
|
|
148
|
+
|
|
149
|
+
/* AES AddRoundKey for the previous round.
|
|
150
|
+
* SubBytes, ShiftRows for the final round. */
|
|
151
|
+
block = vaeseq_u8(block, vld1q_u8(keys));
|
|
152
|
+
keys += 16;
|
|
153
|
+
|
|
154
|
+
/* Final round: no MixColumns */
|
|
155
|
+
|
|
156
|
+
/* Final AddRoundKey */
|
|
157
|
+
block = veorq_u8(block, vld1q_u8(keys));
|
|
158
|
+
|
|
159
|
+
return block;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/* Single round of AESCE decryption
|
|
163
|
+
*
|
|
164
|
+
* AES AddRoundKey, SubBytes, ShiftRows
|
|
165
|
+
*
|
|
166
|
+
* block = vaesdq_u8(block, vld1q_u8(keys));
|
|
167
|
+
*
|
|
168
|
+
* AES inverse MixColumns for the next round.
|
|
169
|
+
*
|
|
170
|
+
* This means that we switch the order of the inverse AddRoundKey and
|
|
171
|
+
* inverse MixColumns operations. We have to do this as AddRoundKey is
|
|
172
|
+
* done in an atomic instruction together with the inverses of SubBytes
|
|
173
|
+
* and ShiftRows.
|
|
174
|
+
*
|
|
175
|
+
* It works because MixColumns is a linear operation over GF(2^8) and
|
|
176
|
+
* AddRoundKey is an exclusive or, which is equivalent to addition over
|
|
177
|
+
* GF(2^8). (The inverse of MixColumns needs to be applied to the
|
|
178
|
+
* affected round keys separately which has been done when the
|
|
179
|
+
* decryption round keys were calculated.)
|
|
180
|
+
*
|
|
181
|
+
* block = vaesimcq_u8(block);
|
|
182
|
+
*/
|
|
183
|
+
#define AESCE_DECRYPT_ROUND \
|
|
184
|
+
block = vaesdq_u8(block, vld1q_u8(keys)); \
|
|
185
|
+
block = vaesimcq_u8(block); \
|
|
186
|
+
keys += 16
|
|
187
|
+
/* Two rounds of AESCE decryption */
|
|
188
|
+
#define AESCE_DECRYPT_ROUND_X2 AESCE_DECRYPT_ROUND; AESCE_DECRYPT_ROUND
|
|
189
|
+
|
|
190
|
+
static uint8x16_t aesce_decrypt_block(uint8x16_t block,
|
|
191
|
+
unsigned char *keys,
|
|
192
|
+
int rounds)
|
|
193
|
+
{
|
|
194
|
+
/* 10, 12 or 14 rounds. Unroll loop. */
|
|
195
|
+
if (rounds == 10) {
|
|
196
|
+
goto rounds_10;
|
|
197
|
+
}
|
|
198
|
+
if (rounds == 12) {
|
|
199
|
+
goto rounds_12;
|
|
200
|
+
}
|
|
201
|
+
AESCE_DECRYPT_ROUND_X2;
|
|
202
|
+
rounds_12:
|
|
203
|
+
AESCE_DECRYPT_ROUND_X2;
|
|
204
|
+
rounds_10:
|
|
205
|
+
AESCE_DECRYPT_ROUND_X2;
|
|
206
|
+
AESCE_DECRYPT_ROUND_X2;
|
|
207
|
+
AESCE_DECRYPT_ROUND_X2;
|
|
208
|
+
AESCE_DECRYPT_ROUND_X2;
|
|
209
|
+
AESCE_DECRYPT_ROUND;
|
|
210
|
+
|
|
211
|
+
/* The inverses of AES AddRoundKey, SubBytes, ShiftRows finishing up the
|
|
212
|
+
* last full round. */
|
|
213
|
+
block = vaesdq_u8(block, vld1q_u8(keys));
|
|
214
|
+
keys += 16;
|
|
215
|
+
|
|
216
|
+
/* Inverse AddRoundKey for inverting the initial round key addition. */
|
|
217
|
+
block = veorq_u8(block, vld1q_u8(keys));
|
|
218
|
+
|
|
219
|
+
return block;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/*
|
|
223
|
+
* AES-ECB block en(de)cryption
|
|
224
|
+
*/
|
|
225
|
+
int mbedtls_aesce_crypt_ecb(mbedtls_aes_context *ctx,
|
|
226
|
+
int mode,
|
|
227
|
+
const unsigned char input[16],
|
|
228
|
+
unsigned char output[16])
|
|
229
|
+
{
|
|
230
|
+
uint8x16_t block = vld1q_u8(&input[0]);
|
|
231
|
+
unsigned char *keys = (unsigned char *) (ctx->buf + ctx->rk_offset);
|
|
232
|
+
|
|
233
|
+
if (mode == MBEDTLS_AES_ENCRYPT) {
|
|
234
|
+
block = aesce_encrypt_block(block, keys, ctx->nr);
|
|
235
|
+
} else {
|
|
236
|
+
block = aesce_decrypt_block(block, keys, ctx->nr);
|
|
237
|
+
}
|
|
238
|
+
vst1q_u8(&output[0], block);
|
|
239
|
+
|
|
240
|
+
return 0;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
/*
|
|
244
|
+
* Compute decryption round keys from encryption round keys
|
|
245
|
+
*/
|
|
246
|
+
void mbedtls_aesce_inverse_key(unsigned char *invkey,
|
|
247
|
+
const unsigned char *fwdkey,
|
|
248
|
+
int nr)
|
|
249
|
+
{
|
|
250
|
+
int i, j;
|
|
251
|
+
j = nr;
|
|
252
|
+
vst1q_u8(invkey, vld1q_u8(fwdkey + j * 16));
|
|
253
|
+
for (i = 1, j--; j > 0; i++, j--) {
|
|
254
|
+
vst1q_u8(invkey + i * 16,
|
|
255
|
+
vaesimcq_u8(vld1q_u8(fwdkey + j * 16)));
|
|
256
|
+
}
|
|
257
|
+
vst1q_u8(invkey + i * 16, vld1q_u8(fwdkey + j * 16));
|
|
258
|
+
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
static inline uint32_t aes_rot_word(uint32_t word)
|
|
262
|
+
{
|
|
263
|
+
return (word << (32 - 8)) | (word >> 8);
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
static inline uint32_t aes_sub_word(uint32_t in)
|
|
267
|
+
{
|
|
268
|
+
uint8x16_t v = vreinterpretq_u8_u32(vdupq_n_u32(in));
|
|
269
|
+
uint8x16_t zero = vdupq_n_u8(0);
|
|
270
|
+
|
|
271
|
+
/* vaeseq_u8 does both SubBytes and ShiftRows. Taking the first row yields
|
|
272
|
+
* the correct result as ShiftRows doesn't change the first row. */
|
|
273
|
+
v = vaeseq_u8(zero, v);
|
|
274
|
+
return vgetq_lane_u32(vreinterpretq_u32_u8(v), 0);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/*
|
|
278
|
+
* Key expansion function
|
|
279
|
+
*/
|
|
280
|
+
static void aesce_setkey_enc(unsigned char *rk,
|
|
281
|
+
const unsigned char *key,
|
|
282
|
+
const size_t key_bit_length)
|
|
283
|
+
{
|
|
284
|
+
static uint8_t const rcon[] = { 0x01, 0x02, 0x04, 0x08, 0x10,
|
|
285
|
+
0x20, 0x40, 0x80, 0x1b, 0x36 };
|
|
286
|
+
/* See https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.197.pdf
|
|
287
|
+
* - Section 5, Nr = Nk + 6
|
|
288
|
+
* - Section 5.2, the length of round keys is Nb*(Nr+1)
|
|
289
|
+
*/
|
|
290
|
+
const uint32_t key_len_in_words = key_bit_length / 32; /* Nk */
|
|
291
|
+
const size_t round_key_len_in_words = 4; /* Nb */
|
|
292
|
+
const size_t rounds_needed = key_len_in_words + 6; /* Nr */
|
|
293
|
+
const size_t round_keys_len_in_words =
|
|
294
|
+
round_key_len_in_words * (rounds_needed + 1); /* Nb*(Nr+1) */
|
|
295
|
+
const uint32_t *rko_end = (uint32_t *) rk + round_keys_len_in_words;
|
|
296
|
+
|
|
297
|
+
memcpy(rk, key, key_len_in_words * 4);
|
|
298
|
+
|
|
299
|
+
for (uint32_t *rki = (uint32_t *) rk;
|
|
300
|
+
rki + key_len_in_words < rko_end;
|
|
301
|
+
rki += key_len_in_words) {
|
|
302
|
+
|
|
303
|
+
size_t iteration = (rki - (uint32_t *) rk) / key_len_in_words;
|
|
304
|
+
uint32_t *rko;
|
|
305
|
+
rko = rki + key_len_in_words;
|
|
306
|
+
rko[0] = aes_rot_word(aes_sub_word(rki[key_len_in_words - 1]));
|
|
307
|
+
rko[0] ^= rcon[iteration] ^ rki[0];
|
|
308
|
+
rko[1] = rko[0] ^ rki[1];
|
|
309
|
+
rko[2] = rko[1] ^ rki[2];
|
|
310
|
+
rko[3] = rko[2] ^ rki[3];
|
|
311
|
+
if (rko + key_len_in_words > rko_end) {
|
|
312
|
+
/* Do not write overflow words.*/
|
|
313
|
+
continue;
|
|
314
|
+
}
|
|
315
|
+
#if !defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
|
|
316
|
+
switch (key_bit_length) {
|
|
317
|
+
case 128:
|
|
318
|
+
break;
|
|
319
|
+
case 192:
|
|
320
|
+
rko[4] = rko[3] ^ rki[4];
|
|
321
|
+
rko[5] = rko[4] ^ rki[5];
|
|
322
|
+
break;
|
|
323
|
+
case 256:
|
|
324
|
+
rko[4] = aes_sub_word(rko[3]) ^ rki[4];
|
|
325
|
+
rko[5] = rko[4] ^ rki[5];
|
|
326
|
+
rko[6] = rko[5] ^ rki[6];
|
|
327
|
+
rko[7] = rko[6] ^ rki[7];
|
|
328
|
+
break;
|
|
329
|
+
}
|
|
330
|
+
#endif /* !MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH */
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
/*
|
|
335
|
+
* Key expansion, wrapper
|
|
336
|
+
*/
|
|
337
|
+
int mbedtls_aesce_setkey_enc(unsigned char *rk,
|
|
338
|
+
const unsigned char *key,
|
|
339
|
+
size_t bits)
|
|
340
|
+
{
|
|
341
|
+
switch (bits) {
|
|
342
|
+
case 128:
|
|
343
|
+
case 192:
|
|
344
|
+
case 256:
|
|
345
|
+
aesce_setkey_enc(rk, key, bits);
|
|
346
|
+
break;
|
|
347
|
+
default:
|
|
348
|
+
return MBEDTLS_ERR_AES_INVALID_KEY_LENGTH;
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
return 0;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
#if defined(MBEDTLS_GCM_C)
|
|
355
|
+
|
|
356
|
+
#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ == 5
|
|
357
|
+
/* Some intrinsics are not available for GCC 5.X. */
|
|
358
|
+
#define vreinterpretq_p64_u8(a) ((poly64x2_t) a)
|
|
359
|
+
#define vreinterpretq_u8_p128(a) ((uint8x16_t) a)
|
|
360
|
+
static inline poly64_t vget_low_p64(poly64x2_t __a)
|
|
361
|
+
{
|
|
362
|
+
uint64x2_t tmp = (uint64x2_t) (__a);
|
|
363
|
+
uint64x1_t lo = vcreate_u64(vgetq_lane_u64(tmp, 0));
|
|
364
|
+
return (poly64_t) (lo);
|
|
365
|
+
}
|
|
366
|
+
#endif /* !__clang__ && __GNUC__ && __GNUC__ == 5*/
|
|
367
|
+
|
|
368
|
+
/* vmull_p64/vmull_high_p64 wrappers.
|
|
369
|
+
*
|
|
370
|
+
* Older compilers miss some intrinsic functions for `poly*_t`. We use
|
|
371
|
+
* uint8x16_t and uint8x16x3_t as input/output parameters.
|
|
372
|
+
*/
|
|
373
|
+
#if defined(__GNUC__) && !defined(__clang__)
|
|
374
|
+
/* GCC reports incompatible type error without cast. GCC think poly64_t and
|
|
375
|
+
* poly64x1_t are different, that is different with MSVC and Clang. */
|
|
376
|
+
#define MBEDTLS_VMULL_P64(a, b) vmull_p64((poly64_t) a, (poly64_t) b)
|
|
377
|
+
#else
|
|
378
|
+
/* MSVC reports `error C2440: 'type cast'` with cast. Clang does not report
|
|
379
|
+
* error with/without cast. And I think poly64_t and poly64x1_t are same, no
|
|
380
|
+
* cast for clang also. */
|
|
381
|
+
#define MBEDTLS_VMULL_P64(a, b) vmull_p64(a, b)
|
|
382
|
+
#endif
|
|
383
|
+
static inline uint8x16_t pmull_low(uint8x16_t a, uint8x16_t b)
|
|
384
|
+
{
|
|
385
|
+
|
|
386
|
+
return vreinterpretq_u8_p128(
|
|
387
|
+
MBEDTLS_VMULL_P64(
|
|
388
|
+
vget_low_p64(vreinterpretq_p64_u8(a)),
|
|
389
|
+
vget_low_p64(vreinterpretq_p64_u8(b))
|
|
390
|
+
));
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
static inline uint8x16_t pmull_high(uint8x16_t a, uint8x16_t b)
|
|
394
|
+
{
|
|
395
|
+
return vreinterpretq_u8_p128(
|
|
396
|
+
vmull_high_p64(vreinterpretq_p64_u8(a),
|
|
397
|
+
vreinterpretq_p64_u8(b)));
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
/* GHASH does 128b polynomial multiplication on block in GF(2^128) defined by
|
|
401
|
+
* `x^128 + x^7 + x^2 + x + 1`.
|
|
402
|
+
*
|
|
403
|
+
* Arm64 only has 64b->128b polynomial multipliers, we need to do 4 64b
|
|
404
|
+
* multiplies to generate a 128b.
|
|
405
|
+
*
|
|
406
|
+
* `poly_mult_128` executes polynomial multiplication and outputs 256b that
|
|
407
|
+
* represented by 3 128b due to code size optimization.
|
|
408
|
+
*
|
|
409
|
+
* Output layout:
|
|
410
|
+
* | | | |
|
|
411
|
+
* |------------|-------------|-------------|
|
|
412
|
+
* | ret.val[0] | h3:h2:00:00 | high 128b |
|
|
413
|
+
* | ret.val[1] | :m2:m1:00 | middle 128b |
|
|
414
|
+
* | ret.val[2] | : :l1:l0 | low 128b |
|
|
415
|
+
*/
|
|
416
|
+
static inline uint8x16x3_t poly_mult_128(uint8x16_t a, uint8x16_t b)
|
|
417
|
+
{
|
|
418
|
+
uint8x16x3_t ret;
|
|
419
|
+
uint8x16_t h, m, l; /* retval high/middle/low */
|
|
420
|
+
uint8x16_t c, d, e;
|
|
421
|
+
|
|
422
|
+
h = pmull_high(a, b); /* h3:h2:00:00 = a1*b1 */
|
|
423
|
+
l = pmull_low(a, b); /* : :l1:l0 = a0*b0 */
|
|
424
|
+
c = vextq_u8(b, b, 8); /* :c1:c0 = b0:b1 */
|
|
425
|
+
d = pmull_high(a, c); /* :d2:d1:00 = a1*b0 */
|
|
426
|
+
e = pmull_low(a, c); /* :e2:e1:00 = a0*b1 */
|
|
427
|
+
m = veorq_u8(d, e); /* :m2:m1:00 = d + e */
|
|
428
|
+
|
|
429
|
+
ret.val[0] = h;
|
|
430
|
+
ret.val[1] = m;
|
|
431
|
+
ret.val[2] = l;
|
|
432
|
+
return ret;
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
/*
|
|
436
|
+
* Modulo reduction.
|
|
437
|
+
*
|
|
438
|
+
* See: https://www.researchgate.net/publication/285612706_Implementing_GCM_on_ARMv8
|
|
439
|
+
*
|
|
440
|
+
* Section 4.3
|
|
441
|
+
*
|
|
442
|
+
* Modular reduction is slightly more complex. Write the GCM modulus as f(z) =
|
|
443
|
+
* z^128 +r(z), where r(z) = z^7+z^2+z+ 1. The well known approach is to
|
|
444
|
+
* consider that z^128 ≡r(z) (mod z^128 +r(z)), allowing us to write the 256-bit
|
|
445
|
+
* operand to be reduced as a(z) = h(z)z^128 +l(z)≡h(z)r(z) + l(z). That is, we
|
|
446
|
+
* simply multiply the higher part of the operand by r(z) and add it to l(z). If
|
|
447
|
+
* the result is still larger than 128 bits, we reduce again.
|
|
448
|
+
*/
|
|
449
|
+
static inline uint8x16_t poly_mult_reduce(uint8x16x3_t input)
|
|
450
|
+
{
|
|
451
|
+
uint8x16_t const ZERO = vdupq_n_u8(0);
|
|
452
|
+
|
|
453
|
+
uint64x2_t r = vreinterpretq_u64_u8(vdupq_n_u8(0x87));
|
|
454
|
+
#if defined(__GNUC__)
|
|
455
|
+
/* use 'asm' as an optimisation barrier to prevent loading MODULO from
|
|
456
|
+
* memory. It is for GNUC compatible compilers.
|
|
457
|
+
*/
|
|
458
|
+
asm ("" : "+w" (r));
|
|
459
|
+
#endif
|
|
460
|
+
uint8x16_t const MODULO = vreinterpretq_u8_u64(vshrq_n_u64(r, 64 - 8));
|
|
461
|
+
uint8x16_t h, m, l; /* input high/middle/low 128b */
|
|
462
|
+
uint8x16_t c, d, e, f, g, n, o;
|
|
463
|
+
h = input.val[0]; /* h3:h2:00:00 */
|
|
464
|
+
m = input.val[1]; /* :m2:m1:00 */
|
|
465
|
+
l = input.val[2]; /* : :l1:l0 */
|
|
466
|
+
c = pmull_high(h, MODULO); /* :c2:c1:00 = reduction of h3 */
|
|
467
|
+
d = pmull_low(h, MODULO); /* : :d1:d0 = reduction of h2 */
|
|
468
|
+
e = veorq_u8(c, m); /* :e2:e1:00 = m2:m1:00 + c2:c1:00 */
|
|
469
|
+
f = pmull_high(e, MODULO); /* : :f1:f0 = reduction of e2 */
|
|
470
|
+
g = vextq_u8(ZERO, e, 8); /* : :g1:00 = e1:00 */
|
|
471
|
+
n = veorq_u8(d, l); /* : :n1:n0 = d1:d0 + l1:l0 */
|
|
472
|
+
o = veorq_u8(n, f); /* o1:o0 = f1:f0 + n1:n0 */
|
|
473
|
+
return veorq_u8(o, g); /* = o1:o0 + g1:00 */
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
/*
|
|
477
|
+
* GCM multiplication: c = a times b in GF(2^128)
|
|
478
|
+
*/
|
|
479
|
+
void mbedtls_aesce_gcm_mult(unsigned char c[16],
|
|
480
|
+
const unsigned char a[16],
|
|
481
|
+
const unsigned char b[16])
|
|
482
|
+
{
|
|
483
|
+
uint8x16_t va, vb, vc;
|
|
484
|
+
va = vrbitq_u8(vld1q_u8(&a[0]));
|
|
485
|
+
vb = vrbitq_u8(vld1q_u8(&b[0]));
|
|
486
|
+
vc = vrbitq_u8(poly_mult_reduce(poly_mult_128(va, vb)));
|
|
487
|
+
vst1q_u8(&c[0], vc);
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
#endif /* MBEDTLS_GCM_C */
|
|
491
|
+
|
|
492
|
+
#if defined(MBEDTLS_POP_TARGET_PRAGMA)
|
|
493
|
+
#if defined(__clang__)
|
|
494
|
+
#pragma clang attribute pop
|
|
495
|
+
#elif defined(__GNUC__)
|
|
496
|
+
#pragma GCC pop_options
|
|
497
|
+
#endif
|
|
498
|
+
#undef MBEDTLS_POP_TARGET_PRAGMA
|
|
499
|
+
#endif
|
|
500
|
+
|
|
501
|
+
#endif /* MBEDTLS_ARCH_IS_ARM64 */
|
|
502
|
+
|
|
503
|
+
#endif /* MBEDTLS_AESCE_C */
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* \file aesce.h
|
|
3
|
+
*
|
|
4
|
+
* \brief Support hardware AES acceleration on Armv8-A processors with
|
|
5
|
+
* the Armv8-A Cryptographic Extension in AArch64 execution state.
|
|
6
|
+
*
|
|
7
|
+
* \warning These functions are only for internal use by other library
|
|
8
|
+
* functions; you must not call them directly.
|
|
9
|
+
*/
|
|
10
|
+
/*
|
|
11
|
+
* Copyright The Mbed TLS Contributors
|
|
12
|
+
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
|
13
|
+
*/
|
|
14
|
+
#ifndef MBEDTLS_AESCE_H
|
|
15
|
+
#define MBEDTLS_AESCE_H
|
|
16
|
+
|
|
17
|
+
#include "mbedtls/build_info.h"
|
|
18
|
+
|
|
19
|
+
#include "mbedtls/aes.h"
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
#if defined(MBEDTLS_AESCE_C) && defined(MBEDTLS_ARCH_IS_ARM64)
|
|
23
|
+
|
|
24
|
+
#define MBEDTLS_AESCE_HAVE_CODE
|
|
25
|
+
|
|
26
|
+
#ifdef __cplusplus
|
|
27
|
+
extern "C" {
|
|
28
|
+
#endif
|
|
29
|
+
|
|
30
|
+
#if defined(__linux__) && !defined(MBEDTLS_AES_USE_HARDWARE_ONLY)
|
|
31
|
+
|
|
32
|
+
extern signed char mbedtls_aesce_has_support_result;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* \brief Internal function to detect the crypto extension in CPUs.
|
|
36
|
+
*
|
|
37
|
+
* \return 1 if CPU has support for the feature, 0 otherwise
|
|
38
|
+
*/
|
|
39
|
+
int mbedtls_aesce_has_support_impl(void);
|
|
40
|
+
|
|
41
|
+
#define MBEDTLS_AESCE_HAS_SUPPORT() (mbedtls_aesce_has_support_result == -1 ? \
|
|
42
|
+
mbedtls_aesce_has_support_impl() : \
|
|
43
|
+
mbedtls_aesce_has_support_result)
|
|
44
|
+
|
|
45
|
+
#else /* defined(__linux__) && !defined(MBEDTLS_AES_USE_HARDWARE_ONLY) */
|
|
46
|
+
|
|
47
|
+
/* If we are not on Linux, we can't detect support so assume that it's supported.
|
|
48
|
+
* Similarly, assume support if MBEDTLS_AES_USE_HARDWARE_ONLY is set.
|
|
49
|
+
*/
|
|
50
|
+
#define MBEDTLS_AESCE_HAS_SUPPORT() 1
|
|
51
|
+
|
|
52
|
+
#endif /* defined(__linux__) && !defined(MBEDTLS_AES_USE_HARDWARE_ONLY) */
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* \brief Internal AES-ECB block encryption and decryption
|
|
56
|
+
*
|
|
57
|
+
* \warning This assumes that the context specifies either 10, 12 or 14
|
|
58
|
+
* rounds and will behave incorrectly if this is not the case.
|
|
59
|
+
*
|
|
60
|
+
* \param ctx AES context
|
|
61
|
+
* \param mode MBEDTLS_AES_ENCRYPT or MBEDTLS_AES_DECRYPT
|
|
62
|
+
* \param input 16-byte input block
|
|
63
|
+
* \param output 16-byte output block
|
|
64
|
+
*
|
|
65
|
+
* \return 0 on success (cannot fail)
|
|
66
|
+
*/
|
|
67
|
+
int mbedtls_aesce_crypt_ecb(mbedtls_aes_context *ctx,
|
|
68
|
+
int mode,
|
|
69
|
+
const unsigned char input[16],
|
|
70
|
+
unsigned char output[16]);
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* \brief Internal GCM multiplication: c = a * b in GF(2^128)
|
|
74
|
+
*
|
|
75
|
+
* \note This function is only for internal use by other library
|
|
76
|
+
* functions; you must not call it directly.
|
|
77
|
+
*
|
|
78
|
+
* \param c Result
|
|
79
|
+
* \param a First operand
|
|
80
|
+
* \param b Second operand
|
|
81
|
+
*
|
|
82
|
+
* \note Both operands and result are bit strings interpreted as
|
|
83
|
+
* elements of GF(2^128) as per the GCM spec.
|
|
84
|
+
*/
|
|
85
|
+
void mbedtls_aesce_gcm_mult(unsigned char c[16],
|
|
86
|
+
const unsigned char a[16],
|
|
87
|
+
const unsigned char b[16]);
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* \brief Internal round key inversion. This function computes
|
|
92
|
+
* decryption round keys from the encryption round keys.
|
|
93
|
+
*
|
|
94
|
+
* \param invkey Round keys for the equivalent inverse cipher
|
|
95
|
+
* \param fwdkey Original round keys (for encryption)
|
|
96
|
+
* \param nr Number of rounds (that is, number of round keys minus one)
|
|
97
|
+
*/
|
|
98
|
+
void mbedtls_aesce_inverse_key(unsigned char *invkey,
|
|
99
|
+
const unsigned char *fwdkey,
|
|
100
|
+
int nr);
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* \brief Internal key expansion for encryption
|
|
104
|
+
*
|
|
105
|
+
* \param rk Destination buffer where the round keys are written
|
|
106
|
+
* \param key Encryption key
|
|
107
|
+
* \param bits Key size in bits (must be 128, 192 or 256)
|
|
108
|
+
*
|
|
109
|
+
* \return 0 if successful, or MBEDTLS_ERR_AES_INVALID_KEY_LENGTH
|
|
110
|
+
*/
|
|
111
|
+
int mbedtls_aesce_setkey_enc(unsigned char *rk,
|
|
112
|
+
const unsigned char *key,
|
|
113
|
+
size_t bits);
|
|
114
|
+
|
|
115
|
+
#ifdef __cplusplus
|
|
116
|
+
}
|
|
117
|
+
#endif
|
|
118
|
+
|
|
119
|
+
#endif /* MBEDTLS_AESCE_C && MBEDTLS_ARCH_IS_ARM64 */
|
|
120
|
+
|
|
121
|
+
#endif /* MBEDTLS_AESCE_H */
|