provider_algs.h 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. /*
  2. * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.
  3. *
  4. * Licensed under the Apache License 2.0 (the "License"). You may not use
  5. * this file except in compliance with the License. You can obtain a copy
  6. * in the file LICENSE in the source distribution or at
  7. * https://www.openssl.org/source/license.html
  8. */
  9. /* Digests */
  10. extern const OSSL_DISPATCH sha1_functions[];
  11. extern const OSSL_DISPATCH sha224_functions[];
  12. extern const OSSL_DISPATCH sha256_functions[];
  13. extern const OSSL_DISPATCH sha384_functions[];
  14. extern const OSSL_DISPATCH sha512_functions[];
  15. extern const OSSL_DISPATCH sha512_224_functions[];
  16. extern const OSSL_DISPATCH sha512_256_functions[];
  17. extern const OSSL_DISPATCH sha3_224_functions[];
  18. extern const OSSL_DISPATCH sha3_256_functions[];
  19. extern const OSSL_DISPATCH sha3_384_functions[];
  20. extern const OSSL_DISPATCH sha3_512_functions[];
  21. extern const OSSL_DISPATCH keccak_kmac_128_functions[];
  22. extern const OSSL_DISPATCH keccak_kmac_256_functions[];
  23. extern const OSSL_DISPATCH shake_128_functions[];
  24. extern const OSSL_DISPATCH shake_256_functions[];
  25. extern const OSSL_DISPATCH blake2s256_functions[];
  26. extern const OSSL_DISPATCH blake2b512_functions[];
  27. extern const OSSL_DISPATCH md5_functions[];
  28. extern const OSSL_DISPATCH md5_sha1_functions[];
  29. extern const OSSL_DISPATCH sm3_functions[];
  30. extern const OSSL_DISPATCH md2_functions[];
  31. extern const OSSL_DISPATCH md4_functions[];
  32. extern const OSSL_DISPATCH mdc2_functions[];
  33. extern const OSSL_DISPATCH wp_functions[];
  34. extern const OSSL_DISPATCH ripemd160_functions[];
  35. /* Ciphers */
  36. extern const OSSL_DISPATCH aes256ecb_functions[];
  37. extern const OSSL_DISPATCH aes192ecb_functions[];
  38. extern const OSSL_DISPATCH aes128ecb_functions[];
  39. extern const OSSL_DISPATCH aes256cbc_functions[];
  40. extern const OSSL_DISPATCH aes192cbc_functions[];
  41. extern const OSSL_DISPATCH aes128cbc_functions[];
  42. extern const OSSL_DISPATCH aes256ofb_functions[];
  43. extern const OSSL_DISPATCH aes192ofb_functions[];
  44. extern const OSSL_DISPATCH aes128ofb_functions[];
  45. extern const OSSL_DISPATCH aes256cfb_functions[];
  46. extern const OSSL_DISPATCH aes192cfb_functions[];
  47. extern const OSSL_DISPATCH aes128cfb_functions[];
  48. extern const OSSL_DISPATCH aes256cfb1_functions[];
  49. extern const OSSL_DISPATCH aes192cfb1_functions[];
  50. extern const OSSL_DISPATCH aes128cfb1_functions[];
  51. extern const OSSL_DISPATCH aes256cfb8_functions[];
  52. extern const OSSL_DISPATCH aes192cfb8_functions[];
  53. extern const OSSL_DISPATCH aes128cfb8_functions[];
  54. extern const OSSL_DISPATCH aes256ctr_functions[];
  55. extern const OSSL_DISPATCH aes192ctr_functions[];
  56. extern const OSSL_DISPATCH aes128ctr_functions[];
  57. extern const OSSL_DISPATCH aes256xts_functions[];
  58. extern const OSSL_DISPATCH aes128xts_functions[];
  59. #ifndef OPENSSL_NO_OCB
  60. extern const OSSL_DISPATCH aes256ocb_functions[];
  61. extern const OSSL_DISPATCH aes192ocb_functions[];
  62. extern const OSSL_DISPATCH aes128ocb_functions[];
  63. #endif /* OPENSSL_NO_OCB */
  64. extern const OSSL_DISPATCH aes256gcm_functions[];
  65. extern const OSSL_DISPATCH aes192gcm_functions[];
  66. extern const OSSL_DISPATCH aes128gcm_functions[];
  67. extern const OSSL_DISPATCH aes256ccm_functions[];
  68. extern const OSSL_DISPATCH aes192ccm_functions[];
  69. extern const OSSL_DISPATCH aes128ccm_functions[];
  70. extern const OSSL_DISPATCH aes256wrap_functions[];
  71. extern const OSSL_DISPATCH aes192wrap_functions[];
  72. extern const OSSL_DISPATCH aes128wrap_functions[];
  73. extern const OSSL_DISPATCH aes256wrappad_functions[];
  74. extern const OSSL_DISPATCH aes192wrappad_functions[];
  75. extern const OSSL_DISPATCH aes128wrappad_functions[];
  76. #ifndef OPENSSL_NO_ARIA
  77. extern const OSSL_DISPATCH aria256gcm_functions[];
  78. extern const OSSL_DISPATCH aria192gcm_functions[];
  79. extern const OSSL_DISPATCH aria128gcm_functions[];
  80. extern const OSSL_DISPATCH aria256ccm_functions[];
  81. extern const OSSL_DISPATCH aria192ccm_functions[];
  82. extern const OSSL_DISPATCH aria128ccm_functions[];
  83. extern const OSSL_DISPATCH aria256ecb_functions[];
  84. extern const OSSL_DISPATCH aria192ecb_functions[];
  85. extern const OSSL_DISPATCH aria128ecb_functions[];
  86. extern const OSSL_DISPATCH aria256cbc_functions[];
  87. extern const OSSL_DISPATCH aria192cbc_functions[];
  88. extern const OSSL_DISPATCH aria128cbc_functions[];
  89. extern const OSSL_DISPATCH aria256ofb_functions[];
  90. extern const OSSL_DISPATCH aria192ofb_functions[];
  91. extern const OSSL_DISPATCH aria128ofb_functions[];
  92. extern const OSSL_DISPATCH aria256cfb_functions[];
  93. extern const OSSL_DISPATCH aria192cfb_functions[];
  94. extern const OSSL_DISPATCH aria128cfb_functions[];
  95. extern const OSSL_DISPATCH aria256cfb1_functions[];
  96. extern const OSSL_DISPATCH aria192cfb1_functions[];
  97. extern const OSSL_DISPATCH aria128cfb1_functions[];
  98. extern const OSSL_DISPATCH aria256cfb8_functions[];
  99. extern const OSSL_DISPATCH aria192cfb8_functions[];
  100. extern const OSSL_DISPATCH aria128cfb8_functions[];
  101. extern const OSSL_DISPATCH aria256ctr_functions[];
  102. extern const OSSL_DISPATCH aria192ctr_functions[];
  103. extern const OSSL_DISPATCH aria128ctr_functions[];
  104. #endif /* OPENSSL_NO_ARIA */
  105. #ifndef OPENSSL_NO_CAMELLIA
  106. extern const OSSL_DISPATCH camellia256ecb_functions[];
  107. extern const OSSL_DISPATCH camellia192ecb_functions[];
  108. extern const OSSL_DISPATCH camellia128ecb_functions[];
  109. extern const OSSL_DISPATCH camellia256cbc_functions[];
  110. extern const OSSL_DISPATCH camellia192cbc_functions[];
  111. extern const OSSL_DISPATCH camellia128cbc_functions[];
  112. extern const OSSL_DISPATCH camellia256ofb_functions[];
  113. extern const OSSL_DISPATCH camellia192ofb_functions[];
  114. extern const OSSL_DISPATCH camellia128ofb_functions[];
  115. extern const OSSL_DISPATCH camellia256cfb_functions[];
  116. extern const OSSL_DISPATCH camellia192cfb_functions[];
  117. extern const OSSL_DISPATCH camellia128cfb_functions[];
  118. extern const OSSL_DISPATCH camellia256cfb1_functions[];
  119. extern const OSSL_DISPATCH camellia192cfb1_functions[];
  120. extern const OSSL_DISPATCH camellia128cfb1_functions[];
  121. extern const OSSL_DISPATCH camellia256cfb8_functions[];
  122. extern const OSSL_DISPATCH camellia192cfb8_functions[];
  123. extern const OSSL_DISPATCH camellia128cfb8_functions[];
  124. extern const OSSL_DISPATCH camellia256ctr_functions[];
  125. extern const OSSL_DISPATCH camellia192ctr_functions[];
  126. extern const OSSL_DISPATCH camellia128ctr_functions[];
  127. #endif /* OPENSSL_NO_CAMELLIA */
  128. #ifndef OPENSSL_NO_BF
  129. extern const OSSL_DISPATCH blowfish128ecb_functions[];
  130. extern const OSSL_DISPATCH blowfish128cbc_functions[];
  131. extern const OSSL_DISPATCH blowfish64ofb64_functions[];
  132. extern const OSSL_DISPATCH blowfish64cfb64_functions[];
  133. #endif /* OPENSSL_NO_BF */
  134. #ifndef OPENSSL_NO_IDEA
  135. extern const OSSL_DISPATCH idea128ecb_functions[];
  136. extern const OSSL_DISPATCH idea128cbc_functions[];
  137. extern const OSSL_DISPATCH idea128ofb64_functions[];
  138. extern const OSSL_DISPATCH idea128cfb64_functions[];
  139. #endif /* OPENSSL_NO_IDEA */
  140. #ifndef OPENSSL_NO_CAST
  141. extern const OSSL_DISPATCH cast5128ecb_functions[];
  142. extern const OSSL_DISPATCH cast5128cbc_functions[];
  143. extern const OSSL_DISPATCH cast564ofb64_functions[];
  144. extern const OSSL_DISPATCH cast564cfb64_functions[];
  145. #endif /* OPENSSL_NO_CAST */
  146. #ifndef OPENSSL_NO_SEED
  147. extern const OSSL_DISPATCH seed128ecb_functions[];
  148. extern const OSSL_DISPATCH seed128cbc_functions[];
  149. extern const OSSL_DISPATCH seed128ofb128_functions[];
  150. extern const OSSL_DISPATCH seed128cfb128_functions[];
  151. #endif /* OPENSSL_NO_SEED */
  152. #ifndef OPENSSL_NO_SM4
  153. extern const OSSL_DISPATCH sm4128ecb_functions[];
  154. extern const OSSL_DISPATCH sm4128cbc_functions[];
  155. extern const OSSL_DISPATCH sm4128ctr_functions[];
  156. extern const OSSL_DISPATCH sm4128ofb128_functions[];
  157. extern const OSSL_DISPATCH sm4128cfb128_functions[];
  158. #endif /* OPENSSL_NO_SM4 */
  159. #ifndef OPENSSL_NO_RC5
  160. extern const OSSL_DISPATCH rc5128ecb_functions[];
  161. extern const OSSL_DISPATCH rc5128cbc_functions[];
  162. extern const OSSL_DISPATCH rc5128ofb64_functions[];
  163. extern const OSSL_DISPATCH rc5128cfb64_functions[];
  164. #endif /* OPENSSL_NO_RC5 */
  165. #ifndef OPENSSL_NO_DES
  166. extern const OSSL_DISPATCH tdes_ede3_ecb_functions[];
  167. extern const OSSL_DISPATCH tdes_ede3_cbc_functions[];
  168. # ifndef FIPS_MODE
  169. extern const OSSL_DISPATCH tdes_ede3_ofb_functions[];
  170. extern const OSSL_DISPATCH tdes_ede3_cfb_functions[];
  171. extern const OSSL_DISPATCH tdes_ede3_cfb8_functions[];
  172. extern const OSSL_DISPATCH tdes_ede3_cfb1_functions[];
  173. extern const OSSL_DISPATCH tdes_ede2_ecb_functions[];
  174. extern const OSSL_DISPATCH tdes_ede2_cbc_functions[];
  175. extern const OSSL_DISPATCH tdes_ede2_ofb_functions[];
  176. extern const OSSL_DISPATCH tdes_ede2_cfb_functions[];
  177. extern const OSSL_DISPATCH tdes_desx_cbc_functions[];
  178. extern const OSSL_DISPATCH tdes_wrap_cbc_functions[];
  179. extern const OSSL_DISPATCH des_ecb_functions[];
  180. extern const OSSL_DISPATCH des_cbc_functions[];
  181. extern const OSSL_DISPATCH des_ofb64_functions[];
  182. extern const OSSL_DISPATCH des_cfb64_functions[];
  183. extern const OSSL_DISPATCH des_cfb1_functions[];
  184. extern const OSSL_DISPATCH des_cfb8_functions[];
  185. # endif /* FIPS_MODE */
  186. #endif /* OPENSSL_NO_DES */
  187. #ifndef OPENSSL_NO_RC4
  188. extern const OSSL_DISPATCH rc440_functions[];
  189. extern const OSSL_DISPATCH rc4128_functions[];
  190. #endif /* OPENSSL_NO_RC4 */
  191. /* MACs */
  192. extern const OSSL_DISPATCH blake2bmac_functions[];
  193. extern const OSSL_DISPATCH blake2smac_functions[];
  194. extern const OSSL_DISPATCH cmac_functions[];
  195. extern const OSSL_DISPATCH gmac_functions[];
  196. extern const OSSL_DISPATCH hmac_functions[];
  197. extern const OSSL_DISPATCH kmac128_functions[];
  198. extern const OSSL_DISPATCH kmac256_functions[];
  199. extern const OSSL_DISPATCH siphash_functions[];
  200. extern const OSSL_DISPATCH poly1305_functions[];
  201. /* KDFs / PRFs */
  202. extern const OSSL_DISPATCH kdf_pbkdf2_functions[];
  203. #ifndef OPENSSL_NO_SCRYPT
  204. extern const OSSL_DISPATCH kdf_scrypt_functions[];
  205. #endif
  206. extern const OSSL_DISPATCH kdf_tls1_prf_functions[];
  207. extern const OSSL_DISPATCH kdf_hkdf_functions[];
  208. extern const OSSL_DISPATCH kdf_sshkdf_functions[];
  209. extern const OSSL_DISPATCH kdf_sskdf_functions[];
  210. extern const OSSL_DISPATCH kdf_x963_kdf_functions[];
  211. extern const OSSL_DISPATCH kdf_kbkdf_functions[];
  212. #ifndef OPENSSL_NO_CMS
  213. extern const OSSL_DISPATCH kdf_x942_kdf_functions[];
  214. #endif
  215. /* Key management */
  216. extern const OSSL_DISPATCH dh_keymgmt_functions[];
  217. extern const OSSL_DISPATCH dsa_keymgmt_functions[];
  218. /* Key Exchange */
  219. extern const OSSL_DISPATCH dh_keyexch_functions[];
  220. /* Signature */
  221. extern const OSSL_DISPATCH dsa_signature_functions[];