edhoc 1.0.1 → 1.0.2

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.
Files changed (657) hide show
  1. package/binding.gyp +64 -0
  2. package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_decode.h +35 -0
  3. package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_encode.h +35 -0
  4. package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_types.h +34 -0
  5. package/external/libedhoc/backends/cbor/include/backend_cbor_ead_decode.h +35 -0
  6. package/external/libedhoc/backends/cbor/include/backend_cbor_ead_encode.h +35 -0
  7. package/external/libedhoc/backends/cbor/include/backend_cbor_edhoc_types.h +97 -0
  8. package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_decode.h +35 -0
  9. package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_encode.h +35 -0
  10. package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_types.h +37 -0
  11. package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_decode.h +35 -0
  12. package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_encode.h +35 -0
  13. package/external/libedhoc/backends/cbor/include/backend_cbor_info_decode.h +35 -0
  14. package/external/libedhoc/backends/cbor/include/backend_cbor_info_encode.h +35 -0
  15. package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_decode.h +35 -0
  16. package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_encode.h +35 -0
  17. package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_types.h +34 -0
  18. package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_decode.h +35 -0
  19. package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_encode.h +35 -0
  20. package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_decode.h +35 -0
  21. package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_encode.h +35 -0
  22. package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_decode.h +35 -0
  23. package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_encode.h +35 -0
  24. package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_decode.h +35 -0
  25. package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_encode.h +35 -0
  26. package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_decode.h +35 -0
  27. package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_encode.h +35 -0
  28. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_decode.h +35 -0
  29. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_encode.h +35 -0
  30. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_decode.h +35 -0
  31. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_encode.h +35 -0
  32. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_decode.h +35 -0
  33. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_encode.h +35 -0
  34. package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_decode.h +35 -0
  35. package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_encode.h +35 -0
  36. package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_types.h +38 -0
  37. package/external/libedhoc/backends/cbor/include/backend_cbor_x509_types.h +170 -0
  38. package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_decode.c +59 -0
  39. package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_encode.c +59 -0
  40. package/external/libedhoc/backends/cbor/src/backend_cbor_ead_decode.c +74 -0
  41. package/external/libedhoc/backends/cbor/src/backend_cbor_ead_encode.c +74 -0
  42. package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_decode.c +62 -0
  43. package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_encode.c +62 -0
  44. package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_decode.c +141 -0
  45. package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_encode.c +141 -0
  46. package/external/libedhoc/backends/cbor/src/backend_cbor_info_decode.c +61 -0
  47. package/external/libedhoc/backends/cbor/src/backend_cbor_info_encode.c +61 -0
  48. package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_decode.c +59 -0
  49. package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_encode.c +59 -0
  50. package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_decode.c +112 -0
  51. package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_encode.c +112 -0
  52. package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_decode.c +59 -0
  53. package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_encode.c +59 -0
  54. package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_decode.c +59 -0
  55. package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_encode.c +59 -0
  56. package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_decode.c +59 -0
  57. package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_encode.c +59 -0
  58. package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_decode.c +93 -0
  59. package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_encode.c +93 -0
  60. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_decode.c +193 -0
  61. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_encode.c +194 -0
  62. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_decode.c +189 -0
  63. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_encode.c +189 -0
  64. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_decode.c +88 -0
  65. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_encode.c +88 -0
  66. package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_decode.c +63 -0
  67. package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_encode.c +63 -0
  68. package/external/libedhoc/externals/compact25519/src/c25519/c25519.c +126 -0
  69. package/external/libedhoc/externals/compact25519/src/c25519/c25519.h +49 -0
  70. package/external/libedhoc/externals/compact25519/src/c25519/ed25519.c +323 -0
  71. package/external/libedhoc/externals/compact25519/src/c25519/ed25519.h +84 -0
  72. package/external/libedhoc/externals/compact25519/src/c25519/edsign.c +171 -0
  73. package/external/libedhoc/externals/compact25519/src/c25519/edsign.h +53 -0
  74. package/external/libedhoc/externals/compact25519/src/c25519/f25519.c +330 -0
  75. package/external/libedhoc/externals/compact25519/src/c25519/f25519.h +98 -0
  76. package/external/libedhoc/externals/compact25519/src/c25519/fprime.c +226 -0
  77. package/external/libedhoc/externals/compact25519/src/c25519/fprime.h +81 -0
  78. package/external/libedhoc/externals/compact25519/src/c25519/sha512.c +230 -0
  79. package/external/libedhoc/externals/compact25519/src/c25519/sha512.h +54 -0
  80. package/external/libedhoc/externals/compact25519/src/compact_ed25519.c +46 -0
  81. package/external/libedhoc/externals/compact25519/src/compact_ed25519.h +110 -0
  82. package/external/libedhoc/externals/compact25519/src/compact_wipe.c +12 -0
  83. package/external/libedhoc/externals/compact25519/src/compact_wipe.h +14 -0
  84. package/external/libedhoc/externals/compact25519/src/compact_x25519.c +68 -0
  85. package/external/libedhoc/externals/compact25519/src/compact_x25519.h +101 -0
  86. package/external/libedhoc/externals/compact25519/test/pcg_random.h +25 -0
  87. package/external/libedhoc/externals/compact25519/test/run-all.c +178 -0
  88. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/Hacl_Curve25519.h +21 -0
  89. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/everest.h +234 -0
  90. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib/FStar_UInt128.h +124 -0
  91. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.h +280 -0
  92. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlib.h +29 -0
  93. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/c_endianness.h +204 -0
  94. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/builtin.h +16 -0
  95. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/callconv.h +46 -0
  96. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/compat.h +34 -0
  97. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/debug.h +57 -0
  98. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/target.h +102 -0
  99. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/types.h +61 -0
  100. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/kremlin/internal/wasmsupport.h +5 -0
  101. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/Hacl_Curve25519.h +21 -0
  102. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/inttypes.h +36 -0
  103. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/vs2013/stdbool.h +31 -0
  104. package/external/libedhoc/externals/mbedtls/3rdparty/everest/include/everest/x25519.h +190 -0
  105. package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/Hacl_Curve25519.c +760 -0
  106. package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/Hacl_Curve25519_joined.c +50 -0
  107. package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/everest.c +102 -0
  108. package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt128_extracted.c +413 -0
  109. package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c +100 -0
  110. package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/legacy/Hacl_Curve25519.c +805 -0
  111. package/external/libedhoc/externals/mbedtls/3rdparty/everest/library/x25519.c +186 -0
  112. package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m/p256-m.c +1514 -0
  113. package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m/p256-m.h +135 -0
  114. package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c +312 -0
  115. package/external/libedhoc/externals/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.h +219 -0
  116. package/external/libedhoc/externals/mbedtls/configs/config-ccm-psk-dtls1_2.h +92 -0
  117. package/external/libedhoc/externals/mbedtls/configs/config-ccm-psk-tls1_2.h +83 -0
  118. package/external/libedhoc/externals/mbedtls/configs/config-no-entropy.h +73 -0
  119. package/external/libedhoc/externals/mbedtls/configs/config-suite-b.h +106 -0
  120. package/external/libedhoc/externals/mbedtls/configs/config-symmetric-only.h +77 -0
  121. package/external/libedhoc/externals/mbedtls/configs/config-thread.h +76 -0
  122. package/external/libedhoc/externals/mbedtls/configs/crypto-config-ccm-aes-sha256.h +25 -0
  123. package/external/libedhoc/externals/mbedtls/configs/crypto_config_profile_medium.h +136 -0
  124. package/external/libedhoc/externals/mbedtls/configs/tfm_mbedcrypto_config_profile_medium.h +609 -0
  125. package/external/libedhoc/externals/mbedtls/doxygen/input/doc_encdec.h +54 -0
  126. package/external/libedhoc/externals/mbedtls/doxygen/input/doc_hashing.h +30 -0
  127. package/external/libedhoc/externals/mbedtls/doxygen/input/doc_mainpage.h +19 -0
  128. package/external/libedhoc/externals/mbedtls/doxygen/input/doc_rng.h +27 -0
  129. package/external/libedhoc/externals/mbedtls/doxygen/input/doc_ssltls.h +37 -0
  130. package/external/libedhoc/externals/mbedtls/doxygen/input/doc_tcpip.h +32 -0
  131. package/external/libedhoc/externals/mbedtls/doxygen/input/doc_x509.h +31 -0
  132. package/external/libedhoc/externals/mbedtls/include/mbedtls/aes.h +627 -0
  133. package/external/libedhoc/externals/mbedtls/include/mbedtls/aria.h +341 -0
  134. package/external/libedhoc/externals/mbedtls/include/mbedtls/asn1.h +641 -0
  135. package/external/libedhoc/externals/mbedtls/include/mbedtls/asn1write.h +389 -0
  136. package/external/libedhoc/externals/mbedtls/include/mbedtls/base64.h +82 -0
  137. package/external/libedhoc/externals/mbedtls/include/mbedtls/bignum.h +1084 -0
  138. package/external/libedhoc/externals/mbedtls/include/mbedtls/build_info.h +146 -0
  139. package/external/libedhoc/externals/mbedtls/include/mbedtls/camellia.h +303 -0
  140. package/external/libedhoc/externals/mbedtls/include/mbedtls/ccm.h +518 -0
  141. package/external/libedhoc/externals/mbedtls/include/mbedtls/chacha20.h +202 -0
  142. package/external/libedhoc/externals/mbedtls/include/mbedtls/chachapoly.h +342 -0
  143. package/external/libedhoc/externals/mbedtls/include/mbedtls/check_config.h +1206 -0
  144. package/external/libedhoc/externals/mbedtls/include/mbedtls/cipher.h +1183 -0
  145. package/external/libedhoc/externals/mbedtls/include/mbedtls/cmac.h +246 -0
  146. package/external/libedhoc/externals/mbedtls/include/mbedtls/compat-2.x.h +46 -0
  147. package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_legacy_crypto.h +183 -0
  148. package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_legacy_from_psa.h +877 -0
  149. package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_psa_from_legacy.h +334 -0
  150. package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_psa_superset_legacy.h +142 -0
  151. package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_ssl.h +76 -0
  152. package/external/libedhoc/externals/mbedtls/include/mbedtls/config_adjust_x509.h +25 -0
  153. package/external/libedhoc/externals/mbedtls/include/mbedtls/config_psa.h +55 -0
  154. package/external/libedhoc/externals/mbedtls/include/mbedtls/constant_time.h +36 -0
  155. package/external/libedhoc/externals/mbedtls/include/mbedtls/ctr_drbg.h +564 -0
  156. package/external/libedhoc/externals/mbedtls/include/mbedtls/debug.h +308 -0
  157. package/external/libedhoc/externals/mbedtls/include/mbedtls/des.h +385 -0
  158. package/external/libedhoc/externals/mbedtls/include/mbedtls/dhm.h +972 -0
  159. package/external/libedhoc/externals/mbedtls/include/mbedtls/ecdh.h +441 -0
  160. package/external/libedhoc/externals/mbedtls/include/mbedtls/ecdsa.h +671 -0
  161. package/external/libedhoc/externals/mbedtls/include/mbedtls/ecjpake.h +298 -0
  162. package/external/libedhoc/externals/mbedtls/include/mbedtls/ecp.h +1362 -0
  163. package/external/libedhoc/externals/mbedtls/include/mbedtls/entropy.h +273 -0
  164. package/external/libedhoc/externals/mbedtls/include/mbedtls/error.h +201 -0
  165. package/external/libedhoc/externals/mbedtls/include/mbedtls/gcm.h +370 -0
  166. package/external/libedhoc/externals/mbedtls/include/mbedtls/hkdf.h +124 -0
  167. package/external/libedhoc/externals/mbedtls/include/mbedtls/hmac_drbg.h +434 -0
  168. package/external/libedhoc/externals/mbedtls/include/mbedtls/lms.h +440 -0
  169. package/external/libedhoc/externals/mbedtls/include/mbedtls/mbedtls_config.h +4116 -0
  170. package/external/libedhoc/externals/mbedtls/include/mbedtls/md.h +640 -0
  171. package/external/libedhoc/externals/mbedtls/include/mbedtls/md5.h +190 -0
  172. package/external/libedhoc/externals/mbedtls/include/mbedtls/memory_buffer_alloc.h +142 -0
  173. package/external/libedhoc/externals/mbedtls/include/mbedtls/net_sockets.h +299 -0
  174. package/external/libedhoc/externals/mbedtls/include/mbedtls/nist_kw.h +166 -0
  175. package/external/libedhoc/externals/mbedtls/include/mbedtls/oid.h +722 -0
  176. package/external/libedhoc/externals/mbedtls/include/mbedtls/pem.h +160 -0
  177. package/external/libedhoc/externals/mbedtls/include/mbedtls/pk.h +1091 -0
  178. package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs12.h +186 -0
  179. package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs5.h +197 -0
  180. package/external/libedhoc/externals/mbedtls/include/mbedtls/pkcs7.h +241 -0
  181. package/external/libedhoc/externals/mbedtls/include/mbedtls/platform.h +485 -0
  182. package/external/libedhoc/externals/mbedtls/include/mbedtls/platform_time.h +79 -0
  183. package/external/libedhoc/externals/mbedtls/include/mbedtls/platform_util.h +201 -0
  184. package/external/libedhoc/externals/mbedtls/include/mbedtls/poly1305.h +168 -0
  185. package/external/libedhoc/externals/mbedtls/include/mbedtls/private_access.h +20 -0
  186. package/external/libedhoc/externals/mbedtls/include/mbedtls/psa_util.h +104 -0
  187. package/external/libedhoc/externals/mbedtls/include/mbedtls/ripemd160.h +136 -0
  188. package/external/libedhoc/externals/mbedtls/include/mbedtls/rsa.h +1143 -0
  189. package/external/libedhoc/externals/mbedtls/include/mbedtls/sha1.h +219 -0
  190. package/external/libedhoc/externals/mbedtls/include/mbedtls/sha256.h +198 -0
  191. package/external/libedhoc/externals/mbedtls/include/mbedtls/sha3.h +172 -0
  192. package/external/libedhoc/externals/mbedtls/include/mbedtls/sha512.h +208 -0
  193. package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl.h +5369 -0
  194. package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_cache.h +187 -0
  195. package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_ciphersuites.h +616 -0
  196. package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_cookie.h +106 -0
  197. package/external/libedhoc/externals/mbedtls/include/mbedtls/ssl_ticket.h +181 -0
  198. package/external/libedhoc/externals/mbedtls/include/mbedtls/threading.h +105 -0
  199. package/external/libedhoc/externals/mbedtls/include/mbedtls/timing.h +94 -0
  200. package/external/libedhoc/externals/mbedtls/include/mbedtls/version.h +78 -0
  201. package/external/libedhoc/externals/mbedtls/include/mbedtls/x509.h +550 -0
  202. package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_crl.h +184 -0
  203. package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_crt.h +1196 -0
  204. package/external/libedhoc/externals/mbedtls/include/mbedtls/x509_csr.h +319 -0
  205. package/external/libedhoc/externals/mbedtls/include/psa/build_info.h +20 -0
  206. package/external/libedhoc/externals/mbedtls/include/psa/crypto.h +4685 -0
  207. package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_auto_enabled.h +21 -0
  208. package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_config_key_pair_types.h +91 -0
  209. package/external/libedhoc/externals/mbedtls/include/psa/crypto_adjust_config_synonyms.h +45 -0
  210. package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_composites.h +210 -0
  211. package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_key_derivation.h +118 -0
  212. package/external/libedhoc/externals/mbedtls/include/psa/crypto_builtin_primitives.h +114 -0
  213. package/external/libedhoc/externals/mbedtls/include/psa/crypto_compat.h +153 -0
  214. package/external/libedhoc/externals/mbedtls/include/psa/crypto_config.h +153 -0
  215. package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_common.h +44 -0
  216. package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_composites.h +151 -0
  217. package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_key_derivation.h +52 -0
  218. package/external/libedhoc/externals/mbedtls/include/psa/crypto_driver_contexts_primitives.h +105 -0
  219. package/external/libedhoc/externals/mbedtls/include/psa/crypto_extra.h +2064 -0
  220. package/external/libedhoc/externals/mbedtls/include/psa/crypto_legacy.h +88 -0
  221. package/external/libedhoc/externals/mbedtls/include/psa/crypto_platform.h +92 -0
  222. package/external/libedhoc/externals/mbedtls/include/psa/crypto_se_driver.h +1383 -0
  223. package/external/libedhoc/externals/mbedtls/include/psa/crypto_sizes.h +1282 -0
  224. package/external/libedhoc/externals/mbedtls/include/psa/crypto_struct.h +460 -0
  225. package/external/libedhoc/externals/mbedtls/include/psa/crypto_types.h +453 -0
  226. package/external/libedhoc/externals/mbedtls/include/psa/crypto_values.h +2756 -0
  227. package/external/libedhoc/externals/mbedtls/library/aes.c +2315 -0
  228. package/external/libedhoc/externals/mbedtls/library/aesce.c +503 -0
  229. package/external/libedhoc/externals/mbedtls/library/aesce.h +121 -0
  230. package/external/libedhoc/externals/mbedtls/library/aesni.c +802 -0
  231. package/external/libedhoc/externals/mbedtls/library/aesni.h +158 -0
  232. package/external/libedhoc/externals/mbedtls/library/alignment.h +509 -0
  233. package/external/libedhoc/externals/mbedtls/library/aria.c +991 -0
  234. package/external/libedhoc/externals/mbedtls/library/asn1parse.c +467 -0
  235. package/external/libedhoc/externals/mbedtls/library/asn1write.c +436 -0
  236. package/external/libedhoc/externals/mbedtls/library/base64.c +299 -0
  237. package/external/libedhoc/externals/mbedtls/library/base64_internal.h +45 -0
  238. package/external/libedhoc/externals/mbedtls/library/bignum.c +2806 -0
  239. package/external/libedhoc/externals/mbedtls/library/bignum_core.c +894 -0
  240. package/external/libedhoc/externals/mbedtls/library/bignum_core.h +763 -0
  241. package/external/libedhoc/externals/mbedtls/library/bignum_mod.c +394 -0
  242. package/external/libedhoc/externals/mbedtls/library/bignum_mod.h +452 -0
  243. package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw.c +276 -0
  244. package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw.h +416 -0
  245. package/external/libedhoc/externals/mbedtls/library/bignum_mod_raw_invasive.h +34 -0
  246. package/external/libedhoc/externals/mbedtls/library/bn_mul.h +1094 -0
  247. package/external/libedhoc/externals/mbedtls/library/camellia.c +1044 -0
  248. package/external/libedhoc/externals/mbedtls/library/ccm.c +712 -0
  249. package/external/libedhoc/externals/mbedtls/library/chacha20.c +497 -0
  250. package/external/libedhoc/externals/mbedtls/library/chachapoly.c +478 -0
  251. package/external/libedhoc/externals/mbedtls/library/check_crypto_config.h +141 -0
  252. package/external/libedhoc/externals/mbedtls/library/cipher.c +1664 -0
  253. package/external/libedhoc/externals/mbedtls/library/cipher_wrap.c +2422 -0
  254. package/external/libedhoc/externals/mbedtls/library/cipher_wrap.h +132 -0
  255. package/external/libedhoc/externals/mbedtls/library/cmac.c +1067 -0
  256. package/external/libedhoc/externals/mbedtls/library/common.h +325 -0
  257. package/external/libedhoc/externals/mbedtls/library/constant_time.c +261 -0
  258. package/external/libedhoc/externals/mbedtls/library/constant_time_impl.h +554 -0
  259. package/external/libedhoc/externals/mbedtls/library/constant_time_internal.h +579 -0
  260. package/external/libedhoc/externals/mbedtls/library/ctr_drbg.c +881 -0
  261. package/external/libedhoc/externals/mbedtls/library/debug.c +465 -0
  262. package/external/libedhoc/externals/mbedtls/library/des.c +1042 -0
  263. package/external/libedhoc/externals/mbedtls/library/dhm.c +712 -0
  264. package/external/libedhoc/externals/mbedtls/library/ecdh.c +685 -0
  265. package/external/libedhoc/externals/mbedtls/library/ecdsa.c +867 -0
  266. package/external/libedhoc/externals/mbedtls/library/ecjpake.c +1216 -0
  267. package/external/libedhoc/externals/mbedtls/library/ecp.c +3631 -0
  268. package/external/libedhoc/externals/mbedtls/library/ecp_curves.c +5467 -0
  269. package/external/libedhoc/externals/mbedtls/library/ecp_curves_new.c +6043 -0
  270. package/external/libedhoc/externals/mbedtls/library/ecp_internal_alt.h +287 -0
  271. package/external/libedhoc/externals/mbedtls/library/ecp_invasive.h +325 -0
  272. package/external/libedhoc/externals/mbedtls/library/entropy.c +676 -0
  273. package/external/libedhoc/externals/mbedtls/library/entropy_poll.c +229 -0
  274. package/external/libedhoc/externals/mbedtls/library/entropy_poll.h +64 -0
  275. package/external/libedhoc/externals/mbedtls/library/error.c +878 -0
  276. package/external/libedhoc/externals/mbedtls/library/gcm.c +1168 -0
  277. package/external/libedhoc/externals/mbedtls/library/hkdf.c +161 -0
  278. package/external/libedhoc/externals/mbedtls/library/hmac_drbg.c +633 -0
  279. package/external/libedhoc/externals/mbedtls/library/lmots.c +821 -0
  280. package/external/libedhoc/externals/mbedtls/library/lmots.h +311 -0
  281. package/external/libedhoc/externals/mbedtls/library/lms.c +779 -0
  282. package/external/libedhoc/externals/mbedtls/library/md.c +1108 -0
  283. package/external/libedhoc/externals/mbedtls/library/md5.c +426 -0
  284. package/external/libedhoc/externals/mbedtls/library/md_psa.h +63 -0
  285. package/external/libedhoc/externals/mbedtls/library/md_wrap.h +46 -0
  286. package/external/libedhoc/externals/mbedtls/library/memory_buffer_alloc.c +745 -0
  287. package/external/libedhoc/externals/mbedtls/library/mps_common.h +181 -0
  288. package/external/libedhoc/externals/mbedtls/library/mps_error.h +89 -0
  289. package/external/libedhoc/externals/mbedtls/library/mps_reader.c +538 -0
  290. package/external/libedhoc/externals/mbedtls/library/mps_reader.h +366 -0
  291. package/external/libedhoc/externals/mbedtls/library/mps_trace.c +112 -0
  292. package/external/libedhoc/externals/mbedtls/library/mps_trace.h +154 -0
  293. package/external/libedhoc/externals/mbedtls/library/net_sockets.c +696 -0
  294. package/external/libedhoc/externals/mbedtls/library/nist_kw.c +725 -0
  295. package/external/libedhoc/externals/mbedtls/library/oid.c +1154 -0
  296. package/external/libedhoc/externals/mbedtls/library/padlock.c +155 -0
  297. package/external/libedhoc/externals/mbedtls/library/padlock.h +111 -0
  298. package/external/libedhoc/externals/mbedtls/library/pem.c +520 -0
  299. package/external/libedhoc/externals/mbedtls/library/pk.c +970 -0
  300. package/external/libedhoc/externals/mbedtls/library/pk_internal.h +118 -0
  301. package/external/libedhoc/externals/mbedtls/library/pk_wrap.c +1834 -0
  302. package/external/libedhoc/externals/mbedtls/library/pk_wrap.h +156 -0
  303. package/external/libedhoc/externals/mbedtls/library/pkcs12.c +447 -0
  304. package/external/libedhoc/externals/mbedtls/library/pkcs5.c +496 -0
  305. package/external/libedhoc/externals/mbedtls/library/pkcs7.c +773 -0
  306. package/external/libedhoc/externals/mbedtls/library/pkparse.c +1845 -0
  307. package/external/libedhoc/externals/mbedtls/library/pkwrite.c +836 -0
  308. package/external/libedhoc/externals/mbedtls/library/pkwrite.h +112 -0
  309. package/external/libedhoc/externals/mbedtls/library/platform.c +402 -0
  310. package/external/libedhoc/externals/mbedtls/library/platform_util.c +285 -0
  311. package/external/libedhoc/externals/mbedtls/library/poly1305.c +492 -0
  312. package/external/libedhoc/externals/mbedtls/library/psa_crypto.c +8432 -0
  313. package/external/libedhoc/externals/mbedtls/library/psa_crypto_aead.c +653 -0
  314. package/external/libedhoc/externals/mbedtls/library/psa_crypto_aead.h +499 -0
  315. package/external/libedhoc/externals/mbedtls/library/psa_crypto_cipher.c +590 -0
  316. package/external/libedhoc/externals/mbedtls/library/psa_crypto_cipher.h +293 -0
  317. package/external/libedhoc/externals/mbedtls/library/psa_crypto_client.c +67 -0
  318. package/external/libedhoc/externals/mbedtls/library/psa_crypto_core.h +838 -0
  319. package/external/libedhoc/externals/mbedtls/library/psa_crypto_core_common.h +52 -0
  320. package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers.h +2871 -0
  321. package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers_no_static.c +256 -0
  322. package/external/libedhoc/externals/mbedtls/library/psa_crypto_driver_wrappers_no_static.h +31 -0
  323. package/external/libedhoc/externals/mbedtls/library/psa_crypto_ecp.c +561 -0
  324. package/external/libedhoc/externals/mbedtls/library/psa_crypto_ecp.h +267 -0
  325. package/external/libedhoc/externals/mbedtls/library/psa_crypto_ffdh.c +295 -0
  326. package/external/libedhoc/externals/mbedtls/library/psa_crypto_ffdh.h +132 -0
  327. package/external/libedhoc/externals/mbedtls/library/psa_crypto_hash.c +470 -0
  328. package/external/libedhoc/externals/mbedtls/library/psa_crypto_hash.h +211 -0
  329. package/external/libedhoc/externals/mbedtls/library/psa_crypto_invasive.h +70 -0
  330. package/external/libedhoc/externals/mbedtls/library/psa_crypto_its.h +131 -0
  331. package/external/libedhoc/externals/mbedtls/library/psa_crypto_mac.c +496 -0
  332. package/external/libedhoc/externals/mbedtls/library/psa_crypto_mac.h +264 -0
  333. package/external/libedhoc/externals/mbedtls/library/psa_crypto_pake.c +571 -0
  334. package/external/libedhoc/externals/mbedtls/library/psa_crypto_pake.h +159 -0
  335. package/external/libedhoc/externals/mbedtls/library/psa_crypto_random_impl.h +192 -0
  336. package/external/libedhoc/externals/mbedtls/library/psa_crypto_rsa.c +727 -0
  337. package/external/libedhoc/externals/mbedtls/library/psa_crypto_rsa.h +317 -0
  338. package/external/libedhoc/externals/mbedtls/library/psa_crypto_se.c +373 -0
  339. package/external/libedhoc/externals/mbedtls/library/psa_crypto_se.h +185 -0
  340. package/external/libedhoc/externals/mbedtls/library/psa_crypto_slot_management.c +559 -0
  341. package/external/libedhoc/externals/mbedtls/library/psa_crypto_slot_management.h +213 -0
  342. package/external/libedhoc/externals/mbedtls/library/psa_crypto_storage.c +481 -0
  343. package/external/libedhoc/externals/mbedtls/library/psa_crypto_storage.h +384 -0
  344. package/external/libedhoc/externals/mbedtls/library/psa_its_file.c +259 -0
  345. package/external/libedhoc/externals/mbedtls/library/psa_util.c +160 -0
  346. package/external/libedhoc/externals/mbedtls/library/psa_util_internal.h +96 -0
  347. package/external/libedhoc/externals/mbedtls/library/ripemd160.c +490 -0
  348. package/external/libedhoc/externals/mbedtls/library/rsa.c +2640 -0
  349. package/external/libedhoc/externals/mbedtls/library/rsa_alt_helpers.c +447 -0
  350. package/external/libedhoc/externals/mbedtls/library/rsa_alt_helpers.h +208 -0
  351. package/external/libedhoc/externals/mbedtls/library/sha1.c +480 -0
  352. package/external/libedhoc/externals/mbedtls/library/sha256.c +946 -0
  353. package/external/libedhoc/externals/mbedtls/library/sha3.c +626 -0
  354. package/external/libedhoc/externals/mbedtls/library/sha512.c +1111 -0
  355. package/external/libedhoc/externals/mbedtls/library/ssl_cache.c +410 -0
  356. package/external/libedhoc/externals/mbedtls/library/ssl_ciphersuites.c +2050 -0
  357. package/external/libedhoc/externals/mbedtls/library/ssl_client.c +1017 -0
  358. package/external/libedhoc/externals/mbedtls/library/ssl_client.h +22 -0
  359. package/external/libedhoc/externals/mbedtls/library/ssl_cookie.c +380 -0
  360. package/external/libedhoc/externals/mbedtls/library/ssl_debug_helpers.h +78 -0
  361. package/external/libedhoc/externals/mbedtls/library/ssl_debug_helpers_generated.c +234 -0
  362. package/external/libedhoc/externals/mbedtls/library/ssl_misc.h +2847 -0
  363. package/external/libedhoc/externals/mbedtls/library/ssl_msg.c +6155 -0
  364. package/external/libedhoc/externals/mbedtls/library/ssl_ticket.c +540 -0
  365. package/external/libedhoc/externals/mbedtls/library/ssl_tls.c +9577 -0
  366. package/external/libedhoc/externals/mbedtls/library/ssl_tls12_client.c +3607 -0
  367. package/external/libedhoc/externals/mbedtls/library/ssl_tls12_server.c +4403 -0
  368. package/external/libedhoc/externals/mbedtls/library/ssl_tls13_client.c +3046 -0
  369. package/external/libedhoc/externals/mbedtls/library/ssl_tls13_generic.c +1740 -0
  370. package/external/libedhoc/externals/mbedtls/library/ssl_tls13_invasive.h +23 -0
  371. package/external/libedhoc/externals/mbedtls/library/ssl_tls13_keys.c +1897 -0
  372. package/external/libedhoc/externals/mbedtls/library/ssl_tls13_keys.h +651 -0
  373. package/external/libedhoc/externals/mbedtls/library/ssl_tls13_server.c +3146 -0
  374. package/external/libedhoc/externals/mbedtls/library/threading.c +181 -0
  375. package/external/libedhoc/externals/mbedtls/library/timing.c +154 -0
  376. package/external/libedhoc/externals/mbedtls/library/version.c +32 -0
  377. package/external/libedhoc/externals/mbedtls/library/version_features.c +826 -0
  378. package/external/libedhoc/externals/mbedtls/library/x509.c +1776 -0
  379. package/external/libedhoc/externals/mbedtls/library/x509_create.c +557 -0
  380. package/external/libedhoc/externals/mbedtls/library/x509_crl.c +712 -0
  381. package/external/libedhoc/externals/mbedtls/library/x509_crt.c +3292 -0
  382. package/external/libedhoc/externals/mbedtls/library/x509_csr.c +574 -0
  383. package/external/libedhoc/externals/mbedtls/library/x509write.c +174 -0
  384. package/external/libedhoc/externals/mbedtls/library/x509write_crt.c +681 -0
  385. package/external/libedhoc/externals/mbedtls/library/x509write_csr.c +331 -0
  386. package/external/libedhoc/externals/mbedtls/programs/aes/crypt_and_hash.c +573 -0
  387. package/external/libedhoc/externals/mbedtls/programs/cipher/cipher_aead_demo.c +259 -0
  388. package/external/libedhoc/externals/mbedtls/programs/fuzz/common.c +105 -0
  389. package/external/libedhoc/externals/mbedtls/programs/fuzz/common.h +25 -0
  390. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_client.c +195 -0
  391. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_dtlsclient.c +138 -0
  392. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_dtlsserver.c +183 -0
  393. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_pkcs7.c +20 -0
  394. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_privkey.c +106 -0
  395. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_pubkey.c +86 -0
  396. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_server.c +218 -0
  397. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509crl.c +41 -0
  398. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509crt.c +41 -0
  399. package/external/libedhoc/externals/mbedtls/programs/fuzz/fuzz_x509csr.c +41 -0
  400. package/external/libedhoc/externals/mbedtls/programs/fuzz/onefile.c +69 -0
  401. package/external/libedhoc/externals/mbedtls/programs/hash/generic_sum.c +209 -0
  402. package/external/libedhoc/externals/mbedtls/programs/hash/hello.c +45 -0
  403. package/external/libedhoc/externals/mbedtls/programs/hash/md_hmac_demo.c +136 -0
  404. package/external/libedhoc/externals/mbedtls/programs/pkey/dh_client.c +274 -0
  405. package/external/libedhoc/externals/mbedtls/programs/pkey/dh_genprime.c +161 -0
  406. package/external/libedhoc/externals/mbedtls/programs/pkey/dh_server.c +296 -0
  407. package/external/libedhoc/externals/mbedtls/programs/pkey/ecdh_curve25519.c +189 -0
  408. package/external/libedhoc/externals/mbedtls/programs/pkey/ecdsa.c +217 -0
  409. package/external/libedhoc/externals/mbedtls/programs/pkey/gen_key.c +419 -0
  410. package/external/libedhoc/externals/mbedtls/programs/pkey/key_app.c +316 -0
  411. package/external/libedhoc/externals/mbedtls/programs/pkey/key_app_writer.c +435 -0
  412. package/external/libedhoc/externals/mbedtls/programs/pkey/mpi_demo.c +84 -0
  413. package/external/libedhoc/externals/mbedtls/programs/pkey/pk_decrypt.c +153 -0
  414. package/external/libedhoc/externals/mbedtls/programs/pkey/pk_encrypt.c +154 -0
  415. package/external/libedhoc/externals/mbedtls/programs/pkey/pk_sign.c +155 -0
  416. package/external/libedhoc/externals/mbedtls/programs/pkey/pk_verify.c +128 -0
  417. package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_decrypt.c +172 -0
  418. package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_encrypt.c +149 -0
  419. package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_genkey.c +141 -0
  420. package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_sign.c +155 -0
  421. package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_sign_pss.c +161 -0
  422. package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_verify.c +131 -0
  423. package/external/libedhoc/externals/mbedtls/programs/pkey/rsa_verify_pss.c +136 -0
  424. package/external/libedhoc/externals/mbedtls/programs/psa/aead_demo.c +281 -0
  425. package/external/libedhoc/externals/mbedtls/programs/psa/crypto_examples.c +321 -0
  426. package/external/libedhoc/externals/mbedtls/programs/psa/hmac_demo.c +159 -0
  427. package/external/libedhoc/externals/mbedtls/programs/psa/key_ladder_demo.c +691 -0
  428. package/external/libedhoc/externals/mbedtls/programs/psa/psa_constant_names.c +310 -0
  429. package/external/libedhoc/externals/mbedtls/programs/psa/psa_constant_names_generated.c +474 -0
  430. package/external/libedhoc/externals/mbedtls/programs/random/gen_entropy.c +75 -0
  431. package/external/libedhoc/externals/mbedtls/programs/random/gen_random_ctr_drbg.c +107 -0
  432. package/external/libedhoc/externals/mbedtls/programs/ssl/dtls_client.c +342 -0
  433. package/external/libedhoc/externals/mbedtls/programs/ssl/dtls_server.c +408 -0
  434. package/external/libedhoc/externals/mbedtls/programs/ssl/mini_client.c +274 -0
  435. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_client1.c +288 -0
  436. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_client2.c +3118 -0
  437. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_context_info.c +1009 -0
  438. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_fork_server.c +381 -0
  439. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_mail_client.c +804 -0
  440. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_pthread_server.c +489 -0
  441. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_server.c +362 -0
  442. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_server2.c +4268 -0
  443. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_common_source.c +375 -0
  444. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_lib.c +601 -0
  445. package/external/libedhoc/externals/mbedtls/programs/ssl/ssl_test_lib.h +306 -0
  446. package/external/libedhoc/externals/mbedtls/programs/test/benchmark.c +1284 -0
  447. package/external/libedhoc/externals/mbedtls/programs/test/cmake_package/cmake_package.c +27 -0
  448. package/external/libedhoc/externals/mbedtls/programs/test/cmake_package_install/cmake_package_install.c +28 -0
  449. package/external/libedhoc/externals/mbedtls/programs/test/cmake_subproject/cmake_subproject.c +28 -0
  450. package/external/libedhoc/externals/mbedtls/programs/test/dlopen.c +92 -0
  451. package/external/libedhoc/externals/mbedtls/programs/test/query_compile_time_config.c +66 -0
  452. package/external/libedhoc/externals/mbedtls/programs/test/query_config.c +5137 -0
  453. package/external/libedhoc/externals/mbedtls/programs/test/query_config.h +34 -0
  454. package/external/libedhoc/externals/mbedtls/programs/test/query_included_headers.c +29 -0
  455. package/external/libedhoc/externals/mbedtls/programs/test/selftest.c +583 -0
  456. package/external/libedhoc/externals/mbedtls/programs/test/udp_proxy.c +967 -0
  457. package/external/libedhoc/externals/mbedtls/programs/test/zeroize.c +72 -0
  458. package/external/libedhoc/externals/mbedtls/programs/util/pem2der.c +265 -0
  459. package/external/libedhoc/externals/mbedtls/programs/util/strerror.c +61 -0
  460. package/external/libedhoc/externals/mbedtls/programs/wince_main.c +31 -0
  461. package/external/libedhoc/externals/mbedtls/programs/x509/cert_app.c +456 -0
  462. package/external/libedhoc/externals/mbedtls/programs/x509/cert_req.c +509 -0
  463. package/external/libedhoc/externals/mbedtls/programs/x509/cert_write.c +1012 -0
  464. package/external/libedhoc/externals/mbedtls/programs/x509/crl_app.c +132 -0
  465. package/external/libedhoc/externals/mbedtls/programs/x509/load_roots.c +165 -0
  466. package/external/libedhoc/externals/mbedtls/programs/x509/req_app.c +132 -0
  467. package/external/libedhoc/externals/mbedtls/tests/configs/tls13-only.h +31 -0
  468. package/external/libedhoc/externals/mbedtls/tests/configs/user-config-for-test.h +89 -0
  469. package/external/libedhoc/externals/mbedtls/tests/configs/user-config-malloc-0-null.h +22 -0
  470. package/external/libedhoc/externals/mbedtls/tests/configs/user-config-zeroize-memset.h +17 -0
  471. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/aes_alt.h +23 -0
  472. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/aria_alt.h +16 -0
  473. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/camellia_alt.h +16 -0
  474. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ccm_alt.h +16 -0
  475. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/chacha20_alt.h +16 -0
  476. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/chachapoly_alt.h +18 -0
  477. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/cmac_alt.h +15 -0
  478. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/des_alt.h +22 -0
  479. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/dhm_alt.h +16 -0
  480. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ecjpake_alt.h +15 -0
  481. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ecp_alt.h +22 -0
  482. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/gcm_alt.h +16 -0
  483. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/md5_alt.h +16 -0
  484. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/nist_kw_alt.h +15 -0
  485. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/platform_alt.h +16 -0
  486. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/poly1305_alt.h +16 -0
  487. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/ripemd160_alt.h +16 -0
  488. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/rsa_alt.h +16 -0
  489. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha1_alt.h +16 -0
  490. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha256_alt.h +16 -0
  491. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/sha512_alt.h +16 -0
  492. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/threading_alt.h +14 -0
  493. package/external/libedhoc/externals/mbedtls/tests/include/alt-dummy/timing_alt.h +19 -0
  494. package/external/libedhoc/externals/mbedtls/tests/include/alt-extra/psa/crypto.h +7 -0
  495. package/external/libedhoc/externals/mbedtls/tests/include/baremetal-override/time.h +6 -0
  496. package/external/libedhoc/externals/mbedtls/tests/include/spe/crypto_spe.h +131 -0
  497. package/external/libedhoc/externals/mbedtls/tests/include/test/arguments.h +26 -0
  498. package/external/libedhoc/externals/mbedtls/tests/include/test/asn1_helpers.h +38 -0
  499. package/external/libedhoc/externals/mbedtls/tests/include/test/bignum_helpers.h +106 -0
  500. package/external/libedhoc/externals/mbedtls/tests/include/test/certs.h +234 -0
  501. package/external/libedhoc/externals/mbedtls/tests/include/test/constant_flow.h +71 -0
  502. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/aead.h +121 -0
  503. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/asymmetric_encryption.h +67 -0
  504. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/cipher.h +130 -0
  505. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/config_test_driver.h +44 -0
  506. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/crypto_config_test_driver_extension.h +430 -0
  507. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/hash.h +64 -0
  508. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/key_agreement.h +62 -0
  509. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/key_management.h +123 -0
  510. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/mac.h +125 -0
  511. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/pake.h +75 -0
  512. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/signature.h +112 -0
  513. package/external/libedhoc/externals/mbedtls/tests/include/test/drivers/test_driver.h +32 -0
  514. package/external/libedhoc/externals/mbedtls/tests/include/test/fake_external_rng_for_test.h +40 -0
  515. package/external/libedhoc/externals/mbedtls/tests/include/test/helpers.h +268 -0
  516. package/external/libedhoc/externals/mbedtls/tests/include/test/macros.h +250 -0
  517. package/external/libedhoc/externals/mbedtls/tests/include/test/psa_crypto_helpers.h +398 -0
  518. package/external/libedhoc/externals/mbedtls/tests/include/test/psa_exercise_key.h +223 -0
  519. package/external/libedhoc/externals/mbedtls/tests/include/test/psa_helpers.h +24 -0
  520. package/external/libedhoc/externals/mbedtls/tests/include/test/random.h +91 -0
  521. package/external/libedhoc/externals/mbedtls/tests/include/test/ssl_helpers.h +628 -0
  522. package/external/libedhoc/externals/mbedtls/tests/src/asn1_helpers.c +62 -0
  523. package/external/libedhoc/externals/mbedtls/tests/src/bignum_helpers.c +145 -0
  524. package/external/libedhoc/externals/mbedtls/tests/src/certs.c +480 -0
  525. package/external/libedhoc/externals/mbedtls/tests/src/drivers/hash.c +199 -0
  526. package/external/libedhoc/externals/mbedtls/tests/src/drivers/platform_builtin_keys.c +78 -0
  527. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_aead.c +462 -0
  528. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_asymmetric_encryption.c +151 -0
  529. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_cipher.c +424 -0
  530. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_key_agreement.c +147 -0
  531. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_key_management.c +783 -0
  532. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_mac.c +422 -0
  533. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_pake.c +202 -0
  534. package/external/libedhoc/externals/mbedtls/tests/src/drivers/test_driver_signature.c +405 -0
  535. package/external/libedhoc/externals/mbedtls/tests/src/fake_external_rng_for_test.c +45 -0
  536. package/external/libedhoc/externals/mbedtls/tests/src/helpers.c +353 -0
  537. package/external/libedhoc/externals/mbedtls/tests/src/psa_crypto_helpers.c +196 -0
  538. package/external/libedhoc/externals/mbedtls/tests/src/psa_exercise_key.c +989 -0
  539. package/external/libedhoc/externals/mbedtls/tests/src/random.c +136 -0
  540. package/external/libedhoc/externals/mbedtls/tests/src/test_certs.h +1226 -0
  541. package/external/libedhoc/externals/mbedtls/tests/src/test_helpers/ssl_helpers.c +2292 -0
  542. package/external/libedhoc/externals/mbedtls/tests/src/threading_helpers.c +210 -0
  543. package/external/libedhoc/externals/zcbor/include/zcbor_common.h +422 -0
  544. package/external/libedhoc/externals/zcbor/include/zcbor_debug.h +69 -0
  545. package/external/libedhoc/externals/zcbor/include/zcbor_decode.h +358 -0
  546. package/external/libedhoc/externals/zcbor/include/zcbor_encode.h +296 -0
  547. package/external/libedhoc/externals/zcbor/include/zcbor_tags.h +94 -0
  548. package/external/libedhoc/externals/zcbor/samples/hello_world/src/main.c +41 -0
  549. package/external/libedhoc/externals/zcbor/samples/pet/include/pet_decode.h +39 -0
  550. package/external/libedhoc/externals/zcbor/samples/pet/include/pet_encode.h +39 -0
  551. package/external/libedhoc/externals/zcbor/samples/pet/include/pet_types.h +47 -0
  552. package/external/libedhoc/externals/zcbor/samples/pet/src/main.c +128 -0
  553. package/external/libedhoc/externals/zcbor/samples/pet/src/pet_decode.c +69 -0
  554. package/external/libedhoc/externals/zcbor/samples/pet/src/pet_encode.c +70 -0
  555. package/external/libedhoc/externals/zcbor/src/zcbor_common.c +257 -0
  556. package/external/libedhoc/externals/zcbor/src/zcbor_decode.c +1107 -0
  557. package/external/libedhoc/externals/zcbor/src/zcbor_encode.c +722 -0
  558. package/external/libedhoc/externals/zcbor/tests/decode/test1_suit_old_formats/src/main.c +368 -0
  559. package/external/libedhoc/externals/zcbor/tests/decode/test2_suit/src/main.c +189 -0
  560. package/external/libedhoc/externals/zcbor/tests/decode/test3_simple/src/main.c +529 -0
  561. package/external/libedhoc/externals/zcbor/tests/decode/test5_corner_cases/src/main.c +2010 -0
  562. package/external/libedhoc/externals/zcbor/tests/decode/test7_suit9_simple/src/main.c +134 -0
  563. package/external/libedhoc/externals/zcbor/tests/decode/test8_suit12/src/main.c +863 -0
  564. package/external/libedhoc/externals/zcbor/tests/decode/test9_manifest14/src/main.c +364 -0
  565. package/external/libedhoc/externals/zcbor/tests/encode/test1_suit/src/main.c +453 -0
  566. package/external/libedhoc/externals/zcbor/tests/encode/test2_simple/src/main.c +123 -0
  567. package/external/libedhoc/externals/zcbor/tests/encode/test3_corner_cases/src/main.c +1527 -0
  568. package/external/libedhoc/externals/zcbor/tests/encode/test4_senml/src/main.c +66 -0
  569. package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_manifest12.c +136 -0
  570. package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_pet.c +12 -0
  571. package/external/libedhoc/externals/zcbor/tests/fuzz/main_entry.c +60 -0
  572. package/external/libedhoc/externals/zcbor/tests/fuzz/main_entry.h +5 -0
  573. package/external/libedhoc/externals/zcbor/tests/unit/test1_unit_tests/src/main.c +1044 -0
  574. package/external/libedhoc/externals/zcbor/tests/unit/test3_float16/src/main.c +202 -0
  575. package/external/libedhoc/include/edhoc.h +393 -0
  576. package/external/libedhoc/include/edhoc_context.h +318 -0
  577. package/external/libedhoc/include/edhoc_credentials.h +217 -0
  578. package/external/libedhoc/include/edhoc_crypto.h +331 -0
  579. package/external/libedhoc/include/edhoc_ead.h +99 -0
  580. package/external/libedhoc/include/edhoc_macros.h +51 -0
  581. package/external/libedhoc/include/edhoc_values.h +181 -0
  582. package/external/libedhoc/library/edhoc.c +219 -0
  583. package/external/libedhoc/library/edhoc_exporter.c +543 -0
  584. package/external/libedhoc/library/edhoc_message_1.c +439 -0
  585. package/external/libedhoc/library/edhoc_message_2.c +2994 -0
  586. package/external/libedhoc/library/edhoc_message_3.c +2658 -0
  587. package/external/libedhoc/library/edhoc_message_4.c +826 -0
  588. package/external/libedhoc/library/edhoc_message_error.c +238 -0
  589. package/external/libedhoc/tests/include/cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.h +37 -0
  590. package/external/libedhoc/tests/include/cipher_suites/cipher_suite_0.h +134 -0
  591. package/external/libedhoc/tests/include/cipher_suites/cipher_suite_2.h +140 -0
  592. package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_0.h +48 -0
  593. package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_2.h +48 -0
  594. package/external/libedhoc/tests/include/edhoc_trace_1/authentication_credentials_1.h +60 -0
  595. package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_1.h +208 -0
  596. package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_ead_1.h +59 -0
  597. package/external/libedhoc/tests/include/edhoc_trace_1/test_vector_1.h +738 -0
  598. package/external/libedhoc/tests/include/edhoc_trace_2/authentication_credentials_2.h +60 -0
  599. package/external/libedhoc/tests/include/edhoc_trace_2/test_edhoc_handshake_2.h +199 -0
  600. package/external/libedhoc/tests/include/edhoc_trace_2/test_vector_2.h +525 -0
  601. package/external/libedhoc/tests/include/error_message/test_edhoc_error_message.h +48 -0
  602. package/external/libedhoc/tests/include/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.h +92 -0
  603. package/external/libedhoc/tests/include/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.h +96 -0
  604. package/external/libedhoc/tests/include/x509_chain_cs_0/test_vector_x5chain_cs_0.h +140 -0
  605. package/external/libedhoc/tests/include/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.h +58 -0
  606. package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.h +56 -0
  607. package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.h +57 -0
  608. package/external/libedhoc/tests/include/x509_chain_cs_2/test_vector_x5chain_cs_2.h +169 -0
  609. package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.h +59 -0
  610. package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.h +57 -0
  611. package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/test_vector_x5chain_cs_2_static_dh.h +163 -0
  612. package/external/libedhoc/tests/include/x509_hash_cs_2/authentication_credentials_x5t_cs_2.h +60 -0
  613. package/external/libedhoc/tests/include/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.h +57 -0
  614. package/external/libedhoc/tests/include/x509_hash_cs_2/test_vector_x5t_cs_2.h +181 -0
  615. package/external/libedhoc/tests/src/cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.c +544 -0
  616. package/external/libedhoc/tests/src/cipher_suites/cipher_suite_0.c +447 -0
  617. package/external/libedhoc/tests/src/cipher_suites/cipher_suite_2.c +600 -0
  618. package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_0.c +475 -0
  619. package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_2.c +473 -0
  620. package/external/libedhoc/tests/src/edhoc_trace_1/authentication_credentials_1.c +252 -0
  621. package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_1.c +1829 -0
  622. package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_ead_1.c +1247 -0
  623. package/external/libedhoc/tests/src/edhoc_trace_2/authentication_credentials_2.c +170 -0
  624. package/external/libedhoc/tests/src/edhoc_trace_2/test_edhoc_handshake_2.c +1783 -0
  625. package/external/libedhoc/tests/src/error_message/test_edhoc_error_message.c +226 -0
  626. package/external/libedhoc/tests/src/tests.c +228 -0
  627. package/external/libedhoc/tests/src/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.c +332 -0
  628. package/external/libedhoc/tests/src/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.c +936 -0
  629. package/external/libedhoc/tests/src/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.c +166 -0
  630. package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.c +587 -0
  631. package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.c +917 -0
  632. package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.c +186 -0
  633. package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.c +743 -0
  634. package/external/libedhoc/tests/src/x509_hash_cs_2/authentication_credentials_x5t_cs_2.c +261 -0
  635. package/external/libedhoc/tests/src/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.c +854 -0
  636. package/include/EdhocComposeAsyncWorker.h +61 -0
  637. package/include/EdhocCredentialManager.h +100 -0
  638. package/include/EdhocCryptoManager.h +504 -0
  639. package/include/EdhocEadManager.h +151 -0
  640. package/include/EdhocExportAsyncWorker.h +71 -0
  641. package/include/EdhocProcessAsyncWorker.h +76 -0
  642. package/include/LibEDHOC.h +304 -0
  643. package/include/Suites.h +27 -0
  644. package/include/UserContext.h +79 -0
  645. package/include/Utils.h +110 -0
  646. package/package.json +1 -1
  647. package/prebuilds/win32-ia32/edhoc.node +0 -0
  648. package/prebuilds/win32-x64/edhoc.node +0 -0
  649. package/src/EdhocComposeAsyncWorker.cpp +88 -0
  650. package/src/EdhocCredentialManager.cpp +360 -0
  651. package/src/EdhocCryptoManager.cpp +967 -0
  652. package/src/EdhocEadManager.cpp +156 -0
  653. package/src/EdhocExportAsyncWorker.cpp +82 -0
  654. package/src/EdhocProcessAsyncWorker.cpp +74 -0
  655. package/src/LibEDHOC.cpp +369 -0
  656. package/src/Suites.cpp +153 -0
  657. package/src/Utils.cpp +115 -0
@@ -0,0 +1,267 @@
1
+ /*
2
+ * PSA ECP layer on top of Mbed TLS crypto
3
+ */
4
+ /*
5
+ * Copyright The Mbed TLS Contributors
6
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
7
+ */
8
+
9
+ #ifndef PSA_CRYPTO_ECP_H
10
+ #define PSA_CRYPTO_ECP_H
11
+
12
+ #include <psa/crypto.h>
13
+ #include <mbedtls/ecp.h>
14
+
15
+ /** Load the contents of a key buffer into an internal ECP representation
16
+ *
17
+ * \param[in] type The type of key contained in \p data.
18
+ * \param[in] curve_bits The nominal bit-size of the curve.
19
+ * It must be consistent with the representation
20
+ * passed in \p data.
21
+ * This can be 0, in which case the bit-size
22
+ * is inferred from \p data_length (which is possible
23
+ * for all key types and representation formats
24
+ * formats that are currently supported or will
25
+ * be in the foreseeable future).
26
+ * \param[in] data The buffer from which to load the representation.
27
+ * \param[in] data_length The size in bytes of \p data.
28
+ * \param[out] p_ecp Returns a pointer to an ECP context on success.
29
+ * The caller is responsible for freeing both the
30
+ * contents of the context and the context itself
31
+ * when done.
32
+ */
33
+ psa_status_t mbedtls_psa_ecp_load_representation(psa_key_type_t type,
34
+ size_t curve_bits,
35
+ const uint8_t *data,
36
+ size_t data_length,
37
+ mbedtls_ecp_keypair **p_ecp);
38
+
39
+ /** Load the public part of an internal ECP, if required.
40
+ *
41
+ * \param ecp The ECP context to load the public part for.
42
+ *
43
+ * \return PSA_SUCCESS on success, otherwise an MPI error.
44
+ */
45
+
46
+ psa_status_t mbedtls_psa_ecp_load_public_part(mbedtls_ecp_keypair *ecp);
47
+
48
+ /** Import an ECP key in binary format.
49
+ *
50
+ * \note The signature of this function is that of a PSA driver
51
+ * import_key entry point. This function behaves as an import_key
52
+ * entry point as defined in the PSA driver interface specification for
53
+ * transparent drivers.
54
+ *
55
+ * \param[in] attributes The attributes for the key to import.
56
+ * \param[in] data The buffer containing the key data in import
57
+ * format.
58
+ * \param[in] data_length Size of the \p data buffer in bytes.
59
+ * \param[out] key_buffer The buffer containing the key data in output
60
+ * format.
61
+ * \param[in] key_buffer_size Size of the \p key_buffer buffer in bytes. This
62
+ * size is greater or equal to \p data_length.
63
+ * \param[out] key_buffer_length The length of the data written in \p
64
+ * key_buffer in bytes.
65
+ * \param[out] bits The key size in number of bits.
66
+ *
67
+ * \retval #PSA_SUCCESS The ECP key was imported successfully.
68
+ * \retval #PSA_ERROR_INVALID_ARGUMENT
69
+ * The key data is not correctly formatted.
70
+ * \retval #PSA_ERROR_NOT_SUPPORTED \emptydescription
71
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
72
+ * \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
73
+ */
74
+ psa_status_t mbedtls_psa_ecp_import_key(
75
+ const psa_key_attributes_t *attributes,
76
+ const uint8_t *data, size_t data_length,
77
+ uint8_t *key_buffer, size_t key_buffer_size,
78
+ size_t *key_buffer_length, size_t *bits);
79
+
80
+ /** Export an ECP key to export representation
81
+ *
82
+ * \param[in] type The type of key (public/private) to export
83
+ * \param[in] ecp The internal ECP representation from which to export
84
+ * \param[out] data The buffer to export to
85
+ * \param[in] data_size The length of the buffer to export to
86
+ * \param[out] data_length The amount of bytes written to \p data
87
+ */
88
+ psa_status_t mbedtls_psa_ecp_export_key(psa_key_type_t type,
89
+ mbedtls_ecp_keypair *ecp,
90
+ uint8_t *data,
91
+ size_t data_size,
92
+ size_t *data_length);
93
+
94
+ /** Export an ECP public key or the public part of an ECP key pair in binary
95
+ * format.
96
+ *
97
+ * \note The signature of this function is that of a PSA driver
98
+ * export_public_key entry point. This function behaves as an
99
+ * export_public_key entry point as defined in the PSA driver interface
100
+ * specification.
101
+ *
102
+ * \param[in] attributes The attributes for the key to export.
103
+ * \param[in] key_buffer Material or context of the key to export.
104
+ * \param[in] key_buffer_size Size of the \p key_buffer buffer in bytes.
105
+ * \param[out] data Buffer where the key data is to be written.
106
+ * \param[in] data_size Size of the \p data buffer in bytes.
107
+ * \param[out] data_length On success, the number of bytes written in
108
+ * \p data
109
+ *
110
+ * \retval #PSA_SUCCESS The ECP public key was exported successfully.
111
+ * \retval #PSA_ERROR_NOT_SUPPORTED \emptydescription
112
+ * \retval #PSA_ERROR_COMMUNICATION_FAILURE \emptydescription
113
+ * \retval #PSA_ERROR_HARDWARE_FAILURE \emptydescription
114
+ * \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
115
+ * \retval #PSA_ERROR_STORAGE_FAILURE \emptydescription
116
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
117
+ */
118
+ psa_status_t mbedtls_psa_ecp_export_public_key(
119
+ const psa_key_attributes_t *attributes,
120
+ const uint8_t *key_buffer, size_t key_buffer_size,
121
+ uint8_t *data, size_t data_size, size_t *data_length);
122
+
123
+ /**
124
+ * \brief Generate an ECP key.
125
+ *
126
+ * \note The signature of the function is that of a PSA driver generate_key
127
+ * entry point.
128
+ *
129
+ * \param[in] attributes The attributes for the ECP key to generate.
130
+ * \param[out] key_buffer Buffer where the key data is to be written.
131
+ * \param[in] key_buffer_size Size of \p key_buffer in bytes.
132
+ * \param[out] key_buffer_length On success, the number of bytes written in
133
+ * \p key_buffer.
134
+ *
135
+ * \retval #PSA_SUCCESS
136
+ * The key was successfully generated.
137
+ * \retval #PSA_ERROR_NOT_SUPPORTED
138
+ * Key length or type not supported.
139
+ * \retval #PSA_ERROR_BUFFER_TOO_SMALL
140
+ * The size of \p key_buffer is too small.
141
+ */
142
+ psa_status_t mbedtls_psa_ecp_generate_key(
143
+ const psa_key_attributes_t *attributes,
144
+ uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length);
145
+
146
+ /** Sign an already-calculated hash with ECDSA.
147
+ *
148
+ * \note The signature of this function is that of a PSA driver
149
+ * sign_hash entry point. This function behaves as a sign_hash
150
+ * entry point as defined in the PSA driver interface specification for
151
+ * transparent drivers.
152
+ *
153
+ * \param[in] attributes The attributes of the ECC key to use for the
154
+ * operation.
155
+ * \param[in] key_buffer The buffer containing the ECC key context.
156
+ * format.
157
+ * \param[in] key_buffer_size Size of the \p key_buffer buffer in bytes.
158
+ * \param[in] alg Randomized or deterministic ECDSA algorithm.
159
+ * \param[in] hash The hash or message to sign.
160
+ * \param[in] hash_length Size of the \p hash buffer in bytes.
161
+ * \param[out] signature Buffer where the signature is to be written.
162
+ * \param[in] signature_size Size of the \p signature buffer in bytes.
163
+ * \param[out] signature_length On success, the number of bytes
164
+ * that make up the returned signature value.
165
+ *
166
+ * \retval #PSA_SUCCESS \emptydescription
167
+ * \retval #PSA_ERROR_BUFFER_TOO_SMALL
168
+ * The size of the \p signature buffer is too small. You can
169
+ * determine a sufficient buffer size by calling
170
+ * #PSA_SIGN_OUTPUT_SIZE(\c PSA_KEY_TYPE_ECC_KEY_PAIR, \c key_bits,
171
+ * \p alg) where \c key_bits is the bit-size of the ECC key.
172
+ * \retval #PSA_ERROR_NOT_SUPPORTED \emptydescription
173
+ * \retval #PSA_ERROR_INVALID_ARGUMENT \emptydescription
174
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
175
+ * \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
176
+ * \retval #PSA_ERROR_INSUFFICIENT_ENTROPY \emptydescription
177
+ */
178
+ psa_status_t mbedtls_psa_ecdsa_sign_hash(
179
+ const psa_key_attributes_t *attributes,
180
+ const uint8_t *key_buffer, size_t key_buffer_size,
181
+ psa_algorithm_t alg, const uint8_t *hash, size_t hash_length,
182
+ uint8_t *signature, size_t signature_size, size_t *signature_length);
183
+
184
+ /**
185
+ * \brief Verify an ECDSA hash or short message signature.
186
+ *
187
+ * \note The signature of this function is that of a PSA driver
188
+ * verify_hash entry point. This function behaves as a verify_hash
189
+ * entry point as defined in the PSA driver interface specification for
190
+ * transparent drivers.
191
+ *
192
+ * \param[in] attributes The attributes of the ECC key to use for the
193
+ * operation.
194
+ * \param[in] key_buffer The buffer containing the ECC key context.
195
+ * format.
196
+ * \param[in] key_buffer_size Size of the \p key_buffer buffer in bytes.
197
+ * \param[in] alg Randomized or deterministic ECDSA algorithm.
198
+ * \param[in] hash The hash or message whose signature is to be
199
+ * verified.
200
+ * \param[in] hash_length Size of the \p hash buffer in bytes.
201
+ * \param[in] signature Buffer containing the signature to verify.
202
+ * \param[in] signature_length Size of the \p signature buffer in bytes.
203
+ *
204
+ * \retval #PSA_SUCCESS
205
+ * The signature is valid.
206
+ * \retval #PSA_ERROR_INVALID_SIGNATURE
207
+ * The calculation was performed successfully, but the passed
208
+ * signature is not a valid signature.
209
+ * \retval #PSA_ERROR_NOT_SUPPORTED \emptydescription
210
+ * \retval #PSA_ERROR_INVALID_ARGUMENT \emptydescription
211
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
212
+ */
213
+ psa_status_t mbedtls_psa_ecdsa_verify_hash(
214
+ const psa_key_attributes_t *attributes,
215
+ const uint8_t *key_buffer, size_t key_buffer_size,
216
+ psa_algorithm_t alg, const uint8_t *hash, size_t hash_length,
217
+ const uint8_t *signature, size_t signature_length);
218
+
219
+
220
+ /** Perform a key agreement and return the raw ECDH shared secret.
221
+ *
222
+ * \note The signature of this function is that of a PSA driver
223
+ * key_agreement entry point. This function behaves as a key_agreement
224
+ * entry point as defined in the PSA driver interface specification for
225
+ * transparent drivers.
226
+ *
227
+ * \param[in] attributes The attributes of the key to use for the
228
+ * operation.
229
+ * \param[in] key_buffer The buffer containing the private key
230
+ * context.
231
+ * \param[in] key_buffer_size Size of the \p key_buffer buffer in
232
+ * bytes.
233
+ * \param[in] alg A key agreement algorithm that is
234
+ * compatible with the type of the key.
235
+ * \param[in] peer_key The buffer containing the key context
236
+ * of the peer's public key.
237
+ * \param[in] peer_key_length Size of the \p peer_key buffer in
238
+ * bytes.
239
+ * \param[out] shared_secret The buffer to which the shared secret
240
+ * is to be written.
241
+ * \param[in] shared_secret_size Size of the \p shared_secret buffer in
242
+ * bytes.
243
+ * \param[out] shared_secret_length On success, the number of bytes that make
244
+ * up the returned shared secret.
245
+ * \retval #PSA_SUCCESS
246
+ * Success. Shared secret successfully calculated.
247
+ * \retval #PSA_ERROR_INVALID_HANDLE \emptydescription
248
+ * \retval #PSA_ERROR_NOT_PERMITTED \emptydescription
249
+ * \retval #PSA_ERROR_INVALID_ARGUMENT
250
+ * \p alg is not a key agreement algorithm, or
251
+ * \p private_key is not compatible with \p alg,
252
+ * or \p peer_key is not valid for \p alg or not compatible with
253
+ * \p private_key.
254
+ * \retval #PSA_ERROR_BUFFER_TOO_SMALL
255
+ * \p shared_secret_size is too small
256
+ * \retval #PSA_ERROR_NOT_SUPPORTED
257
+ * \p alg is not a supported key agreement algorithm.
258
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
259
+ * \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
260
+ */
261
+ psa_status_t mbedtls_psa_key_agreement_ecdh(
262
+ const psa_key_attributes_t *attributes,
263
+ const uint8_t *key_buffer, size_t key_buffer_size,
264
+ psa_algorithm_t alg, const uint8_t *peer_key, size_t peer_key_length,
265
+ uint8_t *shared_secret, size_t shared_secret_size,
266
+ size_t *shared_secret_length);
267
+ #endif /* PSA_CRYPTO_ECP_H */
@@ -0,0 +1,295 @@
1
+ /*
2
+ * PSA FFDH layer on top of Mbed TLS crypto
3
+ */
4
+ /*
5
+ * Copyright The Mbed TLS Contributors
6
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
7
+ */
8
+
9
+ #include "common.h"
10
+
11
+ #if defined(MBEDTLS_PSA_CRYPTO_C)
12
+
13
+ #include <psa/crypto.h>
14
+ #include "psa_crypto_core.h"
15
+ #include "psa_crypto_ffdh.h"
16
+ #include "psa_crypto_random_impl.h"
17
+ #include "mbedtls/platform.h"
18
+ #include "mbedtls/error.h"
19
+
20
+ #if defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_KEY_PAIR_EXPORT) || \
21
+ defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_KEY_PAIR_GENERATE) || \
22
+ defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_PUBLIC_KEY) || \
23
+ defined(MBEDTLS_PSA_BUILTIN_ALG_FFDH)
24
+ static psa_status_t mbedtls_psa_ffdh_set_prime_generator(size_t key_size,
25
+ mbedtls_mpi *P,
26
+ mbedtls_mpi *G)
27
+ {
28
+ const unsigned char *dhm_P = NULL;
29
+ const unsigned char *dhm_G = NULL;
30
+ size_t dhm_size_P = 0;
31
+ size_t dhm_size_G = 0;
32
+ int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
33
+
34
+ if (P == NULL && G == NULL) {
35
+ return PSA_ERROR_INVALID_ARGUMENT;
36
+ }
37
+
38
+ static const unsigned char dhm_P_2048[] =
39
+ MBEDTLS_DHM_RFC7919_FFDHE2048_P_BIN;
40
+ static const unsigned char dhm_P_3072[] =
41
+ MBEDTLS_DHM_RFC7919_FFDHE3072_P_BIN;
42
+ static const unsigned char dhm_P_4096[] =
43
+ MBEDTLS_DHM_RFC7919_FFDHE4096_P_BIN;
44
+ static const unsigned char dhm_P_6144[] =
45
+ MBEDTLS_DHM_RFC7919_FFDHE6144_P_BIN;
46
+ static const unsigned char dhm_P_8192[] =
47
+ MBEDTLS_DHM_RFC7919_FFDHE8192_P_BIN;
48
+ static const unsigned char dhm_G_2048[] =
49
+ MBEDTLS_DHM_RFC7919_FFDHE2048_G_BIN;
50
+ static const unsigned char dhm_G_3072[] =
51
+ MBEDTLS_DHM_RFC7919_FFDHE3072_G_BIN;
52
+ static const unsigned char dhm_G_4096[] =
53
+ MBEDTLS_DHM_RFC7919_FFDHE4096_G_BIN;
54
+ static const unsigned char dhm_G_6144[] =
55
+ MBEDTLS_DHM_RFC7919_FFDHE6144_G_BIN;
56
+ static const unsigned char dhm_G_8192[] =
57
+ MBEDTLS_DHM_RFC7919_FFDHE8192_G_BIN;
58
+
59
+ switch (key_size) {
60
+ case sizeof(dhm_P_2048):
61
+ dhm_P = dhm_P_2048;
62
+ dhm_G = dhm_G_2048;
63
+ dhm_size_P = sizeof(dhm_P_2048);
64
+ dhm_size_G = sizeof(dhm_G_2048);
65
+ break;
66
+ case sizeof(dhm_P_3072):
67
+ dhm_P = dhm_P_3072;
68
+ dhm_G = dhm_G_3072;
69
+ dhm_size_P = sizeof(dhm_P_3072);
70
+ dhm_size_G = sizeof(dhm_G_3072);
71
+ break;
72
+ case sizeof(dhm_P_4096):
73
+ dhm_P = dhm_P_4096;
74
+ dhm_G = dhm_G_4096;
75
+ dhm_size_P = sizeof(dhm_P_4096);
76
+ dhm_size_G = sizeof(dhm_G_4096);
77
+ break;
78
+ case sizeof(dhm_P_6144):
79
+ dhm_P = dhm_P_6144;
80
+ dhm_G = dhm_G_6144;
81
+ dhm_size_P = sizeof(dhm_P_6144);
82
+ dhm_size_G = sizeof(dhm_G_6144);
83
+ break;
84
+ case sizeof(dhm_P_8192):
85
+ dhm_P = dhm_P_8192;
86
+ dhm_G = dhm_G_8192;
87
+ dhm_size_P = sizeof(dhm_P_8192);
88
+ dhm_size_G = sizeof(dhm_G_8192);
89
+ break;
90
+ default:
91
+ return PSA_ERROR_INVALID_ARGUMENT;
92
+ }
93
+
94
+ if (P != NULL) {
95
+ MBEDTLS_MPI_CHK(mbedtls_mpi_read_binary(P, dhm_P,
96
+ dhm_size_P));
97
+ }
98
+ if (G != NULL) {
99
+ MBEDTLS_MPI_CHK(mbedtls_mpi_read_binary(G, dhm_G,
100
+ dhm_size_G));
101
+ }
102
+
103
+ cleanup:
104
+ if (ret != 0) {
105
+ return mbedtls_to_psa_error(ret);
106
+ }
107
+
108
+ return PSA_SUCCESS;
109
+ }
110
+ #endif /* MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_KEY_PAIR_EXPORT ||
111
+ MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_KEY_PAIR_GENERATE ||
112
+ MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_PUBLIC_KEY ||
113
+ MBEDTLS_PSA_BUILTIN_ALG_FFDH */
114
+
115
+ #if defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_KEY_PAIR_EXPORT) || \
116
+ defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_PUBLIC_KEY)
117
+ psa_status_t mbedtls_psa_ffdh_export_public_key(
118
+ const psa_key_attributes_t *attributes,
119
+ const uint8_t *key_buffer,
120
+ size_t key_buffer_size,
121
+ uint8_t *data,
122
+ size_t data_size,
123
+ size_t *data_length)
124
+ {
125
+ int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
126
+ psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
127
+ mbedtls_mpi GX, G, X, P;
128
+ psa_key_type_t type = attributes->core.type;
129
+
130
+ if (PSA_KEY_TYPE_IS_PUBLIC_KEY(type)) {
131
+ if (key_buffer_size > data_size) {
132
+ return PSA_ERROR_BUFFER_TOO_SMALL;
133
+ }
134
+ memcpy(data, key_buffer, key_buffer_size);
135
+ memset(data + key_buffer_size, 0,
136
+ data_size - key_buffer_size);
137
+ *data_length = key_buffer_size;
138
+ return PSA_SUCCESS;
139
+ }
140
+
141
+ mbedtls_mpi_init(&GX); mbedtls_mpi_init(&G);
142
+ mbedtls_mpi_init(&X); mbedtls_mpi_init(&P);
143
+
144
+ size_t key_len = PSA_BITS_TO_BYTES(attributes->core.bits);
145
+
146
+ status = mbedtls_psa_ffdh_set_prime_generator(key_len, &P, &G);
147
+
148
+ if (status != PSA_SUCCESS) {
149
+ goto cleanup;
150
+ }
151
+
152
+ MBEDTLS_MPI_CHK(mbedtls_mpi_read_binary(&X, key_buffer,
153
+ key_buffer_size));
154
+
155
+ MBEDTLS_MPI_CHK(mbedtls_mpi_exp_mod(&GX, &G, &X, &P, NULL));
156
+ MBEDTLS_MPI_CHK(mbedtls_mpi_write_binary(&GX, data, key_len));
157
+
158
+ *data_length = key_len;
159
+
160
+ ret = 0;
161
+ cleanup:
162
+ mbedtls_mpi_free(&P); mbedtls_mpi_free(&G);
163
+ mbedtls_mpi_free(&X); mbedtls_mpi_free(&GX);
164
+
165
+ if (status == PSA_SUCCESS && ret != 0) {
166
+ status = mbedtls_to_psa_error(ret);
167
+ }
168
+
169
+ return status;
170
+ }
171
+ #endif /* MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_KEY_PAIR_EXPORT ||
172
+ MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_PUBLIC_KEY */
173
+
174
+ #if defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_KEY_PAIR_GENERATE)
175
+ psa_status_t mbedtls_psa_ffdh_generate_key(
176
+ const psa_key_attributes_t *attributes,
177
+ uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length)
178
+ {
179
+ mbedtls_mpi X, P;
180
+ int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
181
+ psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
182
+ mbedtls_mpi_init(&P); mbedtls_mpi_init(&X);
183
+ (void) attributes;
184
+
185
+ status = mbedtls_psa_ffdh_set_prime_generator(key_buffer_size, &P, NULL);
186
+
187
+ if (status != PSA_SUCCESS) {
188
+ goto cleanup;
189
+ }
190
+
191
+ /* RFC7919: Traditional finite field Diffie-Hellman has each peer choose their
192
+ secret exponent from the range [2, P-2].
193
+ Select random value in range [3, P-1] and decrease it by 1. */
194
+ MBEDTLS_MPI_CHK(mbedtls_mpi_random(&X, 3, &P, mbedtls_psa_get_random,
195
+ MBEDTLS_PSA_RANDOM_STATE));
196
+ MBEDTLS_MPI_CHK(mbedtls_mpi_sub_int(&X, &X, 1));
197
+ MBEDTLS_MPI_CHK(mbedtls_mpi_write_binary(&X, key_buffer, key_buffer_size));
198
+ *key_buffer_length = key_buffer_size;
199
+
200
+ cleanup:
201
+ mbedtls_mpi_free(&P); mbedtls_mpi_free(&X);
202
+ if (status == PSA_SUCCESS && ret != 0) {
203
+ return mbedtls_to_psa_error(ret);
204
+ }
205
+
206
+ return status;
207
+ }
208
+ #endif /* MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_KEY_PAIR_GENERATE */
209
+
210
+ #if defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_KEY_PAIR_IMPORT)
211
+ psa_status_t mbedtls_psa_ffdh_import_key(
212
+ const psa_key_attributes_t *attributes,
213
+ const uint8_t *data, size_t data_length,
214
+ uint8_t *key_buffer, size_t key_buffer_size,
215
+ size_t *key_buffer_length, size_t *bits)
216
+ {
217
+ (void) attributes;
218
+
219
+ if (key_buffer_size < data_length) {
220
+ return PSA_ERROR_BUFFER_TOO_SMALL;
221
+ }
222
+ memcpy(key_buffer, data, data_length);
223
+ *key_buffer_length = data_length;
224
+ *bits = PSA_BYTES_TO_BITS(data_length);
225
+
226
+ return PSA_SUCCESS;
227
+ }
228
+ #endif /* MBEDTLS_PSA_BUILTIN_KEY_TYPE_DH_KEY_PAIR_IMPORT */
229
+
230
+ #if defined(MBEDTLS_PSA_BUILTIN_ALG_FFDH)
231
+ psa_status_t mbedtls_psa_ffdh_key_agreement(
232
+ const psa_key_attributes_t *attributes,
233
+ const uint8_t *peer_key,
234
+ size_t peer_key_length,
235
+ const uint8_t *key_buffer,
236
+ size_t key_buffer_size,
237
+ uint8_t *shared_secret,
238
+ size_t shared_secret_size,
239
+ size_t *shared_secret_length)
240
+ {
241
+ int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
242
+ psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
243
+ mbedtls_mpi P, G, X, GY, K;
244
+ const size_t calculated_shared_secret_size = peer_key_length;
245
+
246
+ if (peer_key_length != key_buffer_size ||
247
+ calculated_shared_secret_size > shared_secret_size) {
248
+ return PSA_ERROR_INVALID_ARGUMENT;
249
+ }
250
+
251
+ if (!PSA_KEY_TYPE_IS_DH_KEY_PAIR(psa_get_key_type(attributes))) {
252
+ return PSA_ERROR_INVALID_ARGUMENT;
253
+ }
254
+
255
+ mbedtls_mpi_init(&P); mbedtls_mpi_init(&G);
256
+ mbedtls_mpi_init(&X); mbedtls_mpi_init(&GY);
257
+ mbedtls_mpi_init(&K);
258
+
259
+ status = mbedtls_psa_ffdh_set_prime_generator(
260
+ PSA_BITS_TO_BYTES(attributes->core.bits), &P, &G);
261
+
262
+ if (status != PSA_SUCCESS) {
263
+ goto cleanup;
264
+ }
265
+
266
+ MBEDTLS_MPI_CHK(mbedtls_mpi_read_binary(&X, key_buffer,
267
+ key_buffer_size));
268
+
269
+ MBEDTLS_MPI_CHK(mbedtls_mpi_read_binary(&GY, peer_key,
270
+ peer_key_length));
271
+
272
+ /* Calculate shared secret public key: K = G^(XY) mod P = GY^X mod P */
273
+ MBEDTLS_MPI_CHK(mbedtls_mpi_exp_mod(&K, &GY, &X, &P, NULL));
274
+
275
+ MBEDTLS_MPI_CHK(mbedtls_mpi_write_binary(&K, shared_secret,
276
+ calculated_shared_secret_size));
277
+
278
+ *shared_secret_length = calculated_shared_secret_size;
279
+
280
+ ret = 0;
281
+
282
+ cleanup:
283
+ mbedtls_mpi_free(&P); mbedtls_mpi_free(&G);
284
+ mbedtls_mpi_free(&X); mbedtls_mpi_free(&GY);
285
+ mbedtls_mpi_free(&K);
286
+
287
+ if (status == PSA_SUCCESS && ret != 0) {
288
+ status = mbedtls_to_psa_error(ret);
289
+ }
290
+
291
+ return status;
292
+ }
293
+ #endif /* MBEDTLS_PSA_BUILTIN_ALG_FFDH */
294
+
295
+ #endif /* MBEDTLS_PSA_CRYPTO_C */
@@ -0,0 +1,132 @@
1
+ /*
2
+ * PSA FFDH layer on top of Mbed TLS crypto
3
+ */
4
+ /*
5
+ * Copyright The Mbed TLS Contributors
6
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
7
+ */
8
+
9
+ #ifndef PSA_CRYPTO_FFDH_H
10
+ #define PSA_CRYPTO_FFDH_H
11
+
12
+ #include <psa/crypto.h>
13
+ #include <mbedtls/dhm.h>
14
+
15
+ /** Perform a key agreement and return the FFDH shared secret.
16
+ *
17
+ * \param[in] attributes The attributes of the key to use for the
18
+ * operation.
19
+ * \param[in] peer_key The buffer containing the key context
20
+ * of the peer's public key.
21
+ * \param[in] peer_key_length Size of the \p peer_key buffer in
22
+ * bytes.
23
+ * \param[in] key_buffer The buffer containing the private key
24
+ * context.
25
+ * \param[in] key_buffer_size Size of the \p key_buffer buffer in
26
+ * bytes.
27
+ * \param[out] shared_secret The buffer to which the shared secret
28
+ * is to be written.
29
+ * \param[in] shared_secret_size Size of the \p shared_secret buffer in
30
+ * bytes.
31
+ * \param[out] shared_secret_length On success, the number of bytes that make
32
+ * up the returned shared secret.
33
+ * \retval #PSA_SUCCESS
34
+ * Success. Shared secret successfully calculated.
35
+ * \retval #PSA_ERROR_INVALID_ARGUMENT
36
+ * \p key_buffer_size, \p peer_key_length, \p shared_secret_size
37
+ * do not match
38
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
39
+ * \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
40
+ */
41
+ psa_status_t mbedtls_psa_ffdh_key_agreement(
42
+ const psa_key_attributes_t *attributes,
43
+ const uint8_t *peer_key,
44
+ size_t peer_key_length,
45
+ const uint8_t *key_buffer,
46
+ size_t key_buffer_size,
47
+ uint8_t *shared_secret,
48
+ size_t shared_secret_size,
49
+ size_t *shared_secret_length);
50
+
51
+ /** Export a public key or the public part of a DH key pair in binary format.
52
+ *
53
+ * \param[in] attributes The attributes for the key to export.
54
+ * \param[in] key_buffer Material or context of the key to export.
55
+ * \param[in] key_buffer_size Size of the \p key_buffer buffer in bytes.
56
+ * \param[out] data Buffer where the key data is to be written.
57
+ * \param[in] data_size Size of the \p data buffer in bytes.
58
+ * \param[out] data_length On success, the number of bytes written in
59
+ * \p data
60
+ *
61
+ * \retval #PSA_SUCCESS The public key was exported successfully.
62
+ * \retval #PSA_ERROR_BUFFER_TOO_SMALL
63
+ * The size of \p key_buffer is too small.
64
+ * \retval #PSA_ERROR_NOT_PERMITTED \emptydescription
65
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
66
+ * \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
67
+ */
68
+ psa_status_t mbedtls_psa_ffdh_export_public_key(
69
+ const psa_key_attributes_t *attributes,
70
+ const uint8_t *key_buffer,
71
+ size_t key_buffer_size,
72
+ uint8_t *data,
73
+ size_t data_size,
74
+ size_t *data_length);
75
+
76
+ /**
77
+ * \brief Generate DH key.
78
+ *
79
+ * \note The signature of the function is that of a PSA driver generate_key
80
+ * entry point.
81
+ *
82
+ * \param[in] attributes The attributes for the key to generate.
83
+ * \param[out] key_buffer Buffer where the key data is to be written.
84
+ * \param[in] key_buffer_size Size of \p key_buffer in bytes.
85
+ * \param[out] key_buffer_length On success, the number of bytes written in
86
+ * \p key_buffer.
87
+ *
88
+ * \retval #PSA_SUCCESS
89
+ * The key was generated successfully.
90
+ * \retval #PSA_ERROR_NOT_SUPPORTED
91
+ * Key size in bits is invalid.
92
+ * \retval #PSA_ERROR_BUFFER_TOO_SMALL
93
+ * The size of \p key_buffer is too small.
94
+ * \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription
95
+ * \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription
96
+ */
97
+ psa_status_t mbedtls_psa_ffdh_generate_key(
98
+ const psa_key_attributes_t *attributes,
99
+ uint8_t *key_buffer,
100
+ size_t key_buffer_size,
101
+ size_t *key_buffer_length);
102
+
103
+ /**
104
+ * \brief Import DH key.
105
+ *
106
+ * \note The signature of the function is that of a PSA driver import_key
107
+ * entry point.
108
+ *
109
+ * \param[in] attributes The attributes for the key to import.
110
+ * \param[in] data The buffer containing the key data in import
111
+ * format.
112
+ * \param[in] data_length Size of the \p data buffer in bytes.
113
+ * \param[out] key_buffer The buffer containing the key data in output
114
+ * format.
115
+ * \param[in] key_buffer_size Size of the \p key_buffer buffer in bytes. This
116
+ * size is greater or equal to \p data_length.
117
+ * \param[out] key_buffer_length The length of the data written in \p
118
+ * key_buffer in bytes.
119
+ * \param[out] bits The key size in number of bits.
120
+ *
121
+ * \retval #PSA_SUCCESS
122
+ * The key was generated successfully.
123
+ * \retval #PSA_ERROR_BUFFER_TOO_SMALL
124
+ * The size of \p key_buffer is too small.
125
+ */
126
+ psa_status_t mbedtls_psa_ffdh_import_key(
127
+ const psa_key_attributes_t *attributes,
128
+ const uint8_t *data, size_t data_length,
129
+ uint8_t *key_buffer, size_t key_buffer_size,
130
+ size_t *key_buffer_length, size_t *bits);
131
+
132
+ #endif /* PSA_CRYPTO_FFDH_H */