From bad0727bc52d63cf21cc18ef0465b573421d51d2 Mon Sep 17 00:00:00 2001 From: Niko PLP Date: Sun, 23 Feb 2025 04:27:36 +0200 Subject: [PATCH] removing ippcp plugin --- .../rocksdb/plugin/ippcp/.gitignore | 1 - .../rocksdb/plugin/ippcp/CODE_OF_CONDUCT.md | 131 - .../rocksdb/plugin/ippcp/CONTRIBUTING.md | 57 - librocksdb-sys/rocksdb/plugin/ippcp/LICENSE | 201 - librocksdb-sys/rocksdb/plugin/ippcp/README.md | 62 - librocksdb-sys/rocksdb/plugin/ippcp/ippcp.mk | 4 - .../plugin/ippcp/ippcp_db_bench_env.cc | 32 - .../rocksdb/plugin/ippcp/ippcp_provider.cc | 250 - .../rocksdb/plugin/ippcp/ippcp_provider.h | 73 - .../library/include/crypto_mb/cpu_features.h | 113 - .../ippcp/library/include/crypto_mb/defs.h | 68 - .../library/include/crypto_mb/ec_nistp256.h | 187 - .../library/include/crypto_mb/ec_nistp384.h | 186 - .../library/include/crypto_mb/ec_nistp521.h | 187 - .../ippcp/library/include/crypto_mb/ec_sm2.h | 154 - .../ippcp/library/include/crypto_mb/ed25519.h | 66 - .../ippcp/library/include/crypto_mb/exp.h | 59 - .../ippcp/library/include/crypto_mb/rsa.h | 104 - .../ippcp/library/include/crypto_mb/sm3.h | 60 - .../ippcp/library/include/crypto_mb/sm4.h | 59 - .../ippcp/library/include/crypto_mb/sm4_ccm.h | 143 - .../ippcp/library/include/crypto_mb/sm4_gcm.h | 113 - .../ippcp/library/include/crypto_mb/status.h | 117 - .../ippcp/library/include/crypto_mb/version.h | 45 - .../ippcp/library/include/crypto_mb/x25519.h | 31 - .../plugin/ippcp/library/include/ippcp.h | 1541 ---- .../plugin/ippcp/library/include/ippcpdefs.h | 860 -- .../plugin/ippcp/library/include/ippversion.h | 41 - .../library/include/single_cpu/ippcp_e9.h | 557 -- .../library/include/single_cpu/ippcp_g9.h | 557 -- .../library/include/single_cpu/ippcp_h9.h | 557 -- .../library/include/single_cpu/ippcp_k0.h | 557 -- .../library/include/single_cpu/ippcp_k1.h | 557 -- .../library/include/single_cpu/ippcp_l9.h | 557 -- .../library/include/single_cpu/ippcp_m7.h | 557 -- .../library/include/single_cpu/ippcp_n0.h | 557 -- .../library/include/single_cpu/ippcp_n8.h | 557 -- .../library/include/single_cpu/ippcp_p8.h | 557 -- .../library/include/single_cpu/ippcp_s8.h | 557 -- .../library/include/single_cpu/ippcp_w7.h | 557 -- .../library/include/single_cpu/ippcp_y8.h | 557 -- .../plugin/ippcp/library/linux/lib/libippcp.a | Bin 24798674 -> 0 bytes .../plugin/ippcp/library/macos/lib/libippcp.a | Bin 15506808 -> 0 bytes .../plugin/ippcp/library/src/.clang-format | 35 - .../plugin/ippcp/library/src/.gitattributes | 33 - .../rocksdb/plugin/ippcp/library/src/BUILD.md | 304 - .../plugin/ippcp/library/src/CHANGELOG.md | 128 - .../plugin/ippcp/library/src/CMakeLists.txt | 238 - .../src/CONST_TIME_EXECUTION_TESTING.md | 162 - .../ippcp/library/src/DEPRECATION_NOTES.md | 86 - .../rocksdb/plugin/ippcp/library/src/LICENSE | 234 - .../rocksdb/plugin/ippcp/library/src/MAC.md | 23 - .../plugin/ippcp/library/src/OVERVIEW.md | 208 - .../plugin/ippcp/library/src/README.md | 72 - .../plugin/ippcp/library/src/SECURITY.md | 15 - .../library/src/THIRD-PARTY-PROGRAMS.txt | 37 - .../images/README-pictures-0-dispatcher.png | Bin 10403 -> 0 bytes ...ADME-pictures-1-library-configurations.png | Bin 8506 -> 0 bytes .../README-pictures-1a-build-targets.png | Bin 134392 -> 0 bytes .../README-pictures-2-merged-library.png | Bin 14810 -> 0 bytes ...ADME-pictures-3-cpu-specific-libraries.png | Bin 5641 -> 0 bytes .../data/images/README-pictures-4a-1CPU.png | Bin 35364 -> 0 bytes .../data/images/README-pictures-4b-1CPU.png | Bin 35974 -> 0 bytes .../ippcp/library/src/examples/CMakeLists.txt | 123 - .../ippcp/library/src/examples/README.md | 95 - .../examples/aes/aes-256-ctr-decryption.cpp | 137 - .../examples/aes/aes-256-ctr-encryption.cpp | 137 - .../dsa/dsa-dlp-sha-1-verification.cpp | 183 - .../dsa/dsa-dlp-sha-256-verification.cpp | 207 - .../rsa/rsa-1k-oaep-sha1-encryption.cpp | 131 - .../rsa/rsa-1k-oaep-sha1-type2-decryption.cpp | 146 - .../rsa/rsa-1k-pss-sha1-verification.cpp | 124 - .../rsa/rsa-3k-pss-sha384-type1-signature.cpp | 166 - .../examples/sms4/sms4-128-cbc-decryption.cpp | 126 - .../examples/sms4/sms4-128-cbc-encryption.cpp | 126 - .../library/src/examples/utils/bignum.cpp | 438 - .../ippcp/library/src/examples/utils/bignum.h | 107 - .../src/examples/utils/examples_common.h | 90 - .../library/src/examples/utils/requests.cpp | 39 - .../library/src/examples/utils/requests.h | 98 - .../library/src/examples/utils/utils.cpp | 47 - .../ippcp/library/src/examples/utils/utils.h | 35 - .../plugin/ippcp/library/src/include/ippcp.h | 1541 ---- .../ippcp/library/src/include/ippcpdefs.h | 860 -- .../ippcp/library/src/include/ippversion.h | 41 - .../sources/cmake/CMakeASM_NASMOptions.txt | 43 - .../cmake/ippcp-config-version.cmake.in | 36 - .../src/sources/cmake/ippcp-config.cmake.in | 149 - .../cmake/linux/sanitizers_ignorelist.txt | 22 - .../cmake/pkg-config/crypto_mb-dynamic.pc.in | 27 - .../cmake/pkg-config/crypto_mb-static.pc.in | 27 - .../cmake/pkg-config/ippcp-dynamic.pc.in | 27 - .../cmake/pkg-config/ippcp-static.pc.in | 27 - .../src/sources/dispatcher/gen_disp_common.py | 67 - .../dispatcher/gen_disp_lin32.nonpic.py | 175 - .../src/sources/dispatcher/gen_disp_lin32.py | 191 - .../dispatcher/gen_disp_lin64.nonpic.py | 175 - .../src/sources/dispatcher/gen_disp_lin64.py | 174 - .../src/sources/dispatcher/gen_disp_mac64.py | 168 - .../src/sources/dispatcher/gen_disp_win32.py | 117 - .../src/sources/dispatcher/gen_disp_win64.py | 107 - .../gen_cpu_spc_1cpu_header.py | 86 - .../gen_cpu_spc_header/gen_cpu_spc_header.py | 81 - .../library/src/sources/include/asmdefs.inc | 175 - .../library/src/sources/include/dispatcher.h | 293 - .../library/src/sources/include/ia_32e.inc | 532 -- .../library/src/sources/include/ia_common.inc | 186 - .../library/src/sources/include/ia_emm.inc | 116 - .../library/src/sources/include/ippres.gen | 159 - .../library/src/sources/include/ippver.h | 43 - .../library/src/sources/include/owndefs.h | 658 -- .../library/src/sources/include/utils.inc | 132 - .../library/src/sources/ippcp/CMakeLists.txt | 595 -- .../src/sources/ippcp/aes_cfb_aesni_mb.h | 31 - .../src/sources/ippcp/aes_cfb_aesni_mb4.c | 102 - .../src/sources/ippcp/aes_cfb_vaes_mb.h | 54 - .../src/sources/ippcp/aes_cfb_vaes_mb16.c | 257 - .../src/sources/ippcp/aes_cfb_vaes_mb4.c | 146 - .../src/sources/ippcp/aes_cfb_vaes_mb8.c | 204 - .../src/sources/ippcp/aes_gcm_avx512.h | 78 - .../sources/ippcp/aes_gcm_avx512_structures.h | 76 - .../library/src/sources/ippcp/aes_gcm_vaes.h | 78 - .../library/src/sources/ippcp/aes_keyexp.h | 48 - .../src/sources/ippcp/asm_ia32/cpinitas.asm | 733 -- .../src/sources/ippcp/asm_ia32/emulator.inc | 441 - .../sources/ippcp/asm_ia32/pcpaesgcmg9as.asm | 875 -- .../ippcp/asm_ia32/pcpaesgcmtable2kv8as.asm | 449 -- .../src/sources/ippcp/asm_ia32/pcpbnu.inc | 377 - .../sources/ippcp/asm_ia32/pcpbnuaddw7as.asm | 80 - .../sources/ippcp/asm_ia32/pcpbnuincw7as.asm | 77 - .../ippcp/asm_ia32/pcpbnumuldgtw7as.asm | 82 - .../ippcp/asm_ia32/pcpbnumulschoolv8as.asm | 1217 --- .../sources/ippcp/asm_ia32/pcpbnusqrw7as.asm | 706 -- .../sources/ippcp/asm_ia32/pcpbnusubw7as.asm | 82 - .../src/sources/ippcp/asm_ia32/pcpdelay.asm | 51 - .../src/sources/ippcp/asm_ia32/pcpmd5w7as.asm | 315 - .../ippcp/asm_ia32/pcpmontreductionv8as.asm | 603 -- .../ippcp/asm_ia32/pcpmontreductionw7as.asm | 618 -- .../asm_ia32/pcpp192r1arith_mont_slm.asm | 810 -- .../asm_ia32/pcpp224r1arith_mont_slm.asm | 867 -- .../asm_ia32/pcpp256r1arith_mont_slm.asm | 874 -- .../asm_ia32/pcpp384r1arith_mont_slm.asm | 1030 --- .../asm_ia32/pcpp521r1arith_mont_slm.asm | 1069 --- .../ippcp/asm_ia32/pcppurgeblkw7as.asm | 80 - .../src/sources/ippcp/asm_ia32/pcprc4v8as.asm | 123 - .../src/sources/ippcp/asm_ia32/pcprc4w7as.asm | 118 - .../ippcp/asm_ia32/pcprij128ccmg9as.asm | 298 - .../ippcp/asm_ia32/pcprij128cmacg9as.asm | 117 - .../asm_ia32/pcprij128decryptcbcpipeg9as.asm | 208 - .../asm_ia32/pcprij128decryptcfbpipeg9as.asm | 581 -- .../asm_ia32/pcprij128decryptecbpipeg9as.asm | 176 - .../ippcp/asm_ia32/pcprij128decryptg9as.asm | 114 - .../asm_ia32/pcprij128decryptxtsg9as.asm | 265 - .../asm_ia32/pcprij128encryptcbcg9as.asm | 119 - .../asm_ia32/pcprij128encryptcfbg9as.asm | 376 - .../asm_ia32/pcprij128encryptctrpipeg9as.asm | 318 - .../asm_ia32/pcprij128encryptecbpipeg9as.asm | 173 - .../ippcp/asm_ia32/pcprij128encryptg9as.asm | 119 - .../asm_ia32/pcprij128encryptofbg9as.asm | 251 - .../asm_ia32/pcprij128encryptxtsg9as.asm | 259 - .../ippcp/asm_ia32/pcprij128safedecm5as.asm | 448 -- .../ippcp/asm_ia32/pcprij128safedecv8as.asm | 442 - .../ippcp/asm_ia32/pcprij128safeencv8as.asm | 413 - .../sources/ippcp/asm_ia32/pcprijnkeyw7as.asm | 95 - .../sources/ippcp/asm_ia32/pcpsha1nias.asm | 581 -- .../sources/ippcp/asm_ia32/pcpsha1w7as.asm | 524 -- .../sources/ippcp/asm_ia32/pcpsha256g9as.asm | 444 - .../sources/ippcp/asm_ia32/pcpsha256nias.asm | 617 -- .../sources/ippcp/asm_ia32/pcpsha256v8as.asm | 455 -- .../sources/ippcp/asm_ia32/pcpsha256w7as.asm | 419 - .../sources/ippcp/asm_ia32/pcpsha512g9as.asm | 441 - .../sources/ippcp/asm_ia32/pcpsha512w7as.asm | 463 -- .../ippcp/asm_ia32/pcpsm2arith_mont_slm.asm | 880 -- .../src/sources/ippcp/asm_ia32/pcpvariant.inc | 133 - .../ippcp/asm_ia32/pcpvariant_txt_acm.inc | 39 - .../ippcp/asm_ia32/pcpvariant_xmm7560.inc | 45 - .../sources/ippcp/asm_intel64/aes_common.inc | 365 - .../ippcp/asm_intel64/aes_keyexp_128.asm | 103 - .../ippcp/asm_intel64/aes_keyexp_192.asm | 128 - .../ippcp/asm_intel64/aes_keyexp_256.asm | 131 - .../sources/ippcp/asm_intel64/clear_regs.inc | 186 - .../sources/ippcp/asm_intel64/cpinitas.asm | 320 - .../sources/ippcp/asm_intel64/emulator.inc | 340 - .../asm_intel64/gcm128_api_vaes_avx512.asm | 27 - .../ippcp/asm_intel64/gcm128_avx512.asm | 26 - .../asm_intel64/gcm192_api_vaes_avx512.asm | 27 - .../ippcp/asm_intel64/gcm192_avx512.asm | 26 - .../asm_intel64/gcm256_api_vaes_avx512.asm | 27 - .../ippcp/asm_intel64/gcm256_avx512.asm | 26 - .../ippcp/asm_intel64/gcm_api_vaes_avx512.inc | 203 - .../sources/ippcp/asm_intel64/gcm_avx512.inc | 3591 --------- .../sources/ippcp/asm_intel64/gcm_defines.inc | 264 - .../asm_intel64/gcm_ippcp_api_vaes_avx512.inc | 144 - .../ippcp/asm_intel64/gcm_keys_avx512.inc | 42 - .../asm_intel64/gcm_keys_vaes_avx512.inc | 221 - .../ippcp/asm_intel64/gcm_vaes_avx512.inc | 3559 --------- .../sources/ippcp/asm_intel64/ia_32e_regs.inc | 125 - .../src/sources/ippcp/asm_intel64/memcpy.inc | 603 -- .../src/sources/ippcp/asm_intel64/os.inc | 40 - .../ippcp/asm_intel64/pcpaesgcme9as.asm | 931 --- .../asm_intel64/pcpaesgcmtable2ku8as.asm | 418 - .../ippcp/asm_intel64/pcpbnuaddm7as.asm | 327 - .../ippcp/asm_intel64/pcpbnudivm7as.asm | 476 -- .../ippcp/asm_intel64/pcpbnuincm7as.asm | 168 - .../sources/ippcp/asm_intel64/pcpbnum7.inc | 691 -- .../ippcp/asm_intel64/pcpbnumaconem7as.asm | 213 - .../sources/ippcp/asm_intel64/pcpbnumul.inc | 666 -- .../ippcp/asm_intel64/pcpbnumul_basic.inc | 947 --- .../ippcp/asm_intel64/pcpbnumul_fix.inc | 406 - .../sources/ippcp/asm_intel64/pcpbnumulpp.inc | 666 -- .../ippcp/asm_intel64/pcpbnumulpp_basic.inc | 924 --- .../ippcp/asm_intel64/pcpbnumulpp_fix.inc | 427 - .../ippcp/asm_intel64/pcpbnumulschool.inc | 1327 --- .../ippcp/asm_intel64/pcpbnumulschoolm7as.asm | 379 - .../asm_intel64/pcpbnumulschoolsrvl9.asm | 308 - .../asm_intel64/pcpbnumulschoolsrvl9pp.asm | 307 - .../sources/ippcp/asm_intel64/pcpbnusqr.inc | 474 -- .../ippcp/asm_intel64/pcpbnusqr_basic.inc | 2003 ----- .../sources/ippcp/asm_intel64/pcpbnusqrpp.inc | 452 -- .../ippcp/asm_intel64/pcpbnusqrpp_basic.inc | 1800 ----- .../ippcp/asm_intel64/pcpbnusqrschool.inc | 283 - .../ippcp/asm_intel64/pcpbnusqrschoolm7as.asm | 1343 ---- .../ippcp/asm_intel64/pcpbnusubm7as.asm | 330 - .../sources/ippcp/asm_intel64/pcpdelay.asm | 52 - .../sources/ippcp/asm_intel64/pcpmd5m7as.asm | 320 - .../asm_intel64/pcpmontmul1024_avx2as.asm | 378 - .../ippcp/asm_intel64/pcpmontmul_avx2as.asm | 1834 ----- .../asm_intel64/pcpmontreductionm7as.asm | 1549 ---- .../asm_intel64/pcpmontsqr1024_avx2as.asm | 895 --- .../ippcp/asm_intel64/pcpmontsqr_avx2as.asm | 802 -- .../src/sources/ippcp/asm_intel64/pcpmred.inc | 572 -- .../ippcp/asm_intel64/pcpmred_basic.inc | 2194 ----- .../sources/ippcp/asm_intel64/pcpmredpp.inc | 571 -- .../ippcp/asm_intel64/pcpmredpp_basic.inc | 2193 ----- .../src/sources/ippcp/asm_intel64/pcpmulx.inc | 154 - .../asm_intel64/pcpp192r1funcs_montas.asm | 1030 --- .../asm_intel64/pcpp224r1funcs_montas.asm | 1066 --- .../ippcp/asm_intel64/pcpp256funcs_montas.asm | 677 -- .../asm_intel64/pcpp256r1funcs_montas.asm | 1316 --- .../asm_intel64/pcpp384r1funcs_montas.asm | 843 -- .../asm_intel64/pcpp521r1funcs_montas.asm | 963 --- .../ippcp/asm_intel64/pcppurgeblkm7as.asm | 78 - .../sources/ippcp/asm_intel64/pcprc4m7as.asm | 114 - .../ippcp/asm_intel64/pcprij128ccme9as.asm | 289 - .../ippcp/asm_intel64/pcprij128cmace9as.asm | 114 - .../pcprij128decryptcbcpipee9as.asm | 342 - .../pcprij128decryptcfbpipee9as.asm | 562 -- .../asm_intel64/pcprij128decrypte9as.asm | 115 - .../pcprij128decryptecbpipee9as.asm | 180 - .../asm_intel64/pcprij128decryptxtse9as.asm | 377 - .../asm_intel64/pcprij128encryptcbce9as.asm | 118 - .../asm_intel64/pcprij128encryptcfbe9as.asm | 354 - .../pcprij128encryptctr128pipee9as.asm | 457 -- .../pcprij128encryptctrpipee9as.asm | 271 - .../asm_intel64/pcprij128encrypte9as.asm | 122 - .../pcprij128encryptecbpipee9as.asm | 179 - .../asm_intel64/pcprij128encryptofbe9as.asm | 247 - .../asm_intel64/pcprij128encryptxtse9as.asm | 377 - .../asm_intel64/pcprij128safedecu8as.asm | 410 - .../asm_intel64/pcprij128safeencu8as.asm | 426 - .../ippcp/asm_intel64/pcprijnkeym7as.asm | 91 - .../sources/ippcp/asm_intel64/pcpsha1e9as.asm | 510 -- .../sources/ippcp/asm_intel64/pcpsha1l9as.asm | 788 -- .../sources/ippcp/asm_intel64/pcpsha1m7as.asm | 503 -- .../sources/ippcp/asm_intel64/pcpsha1nias.asm | 549 -- .../sources/ippcp/asm_intel64/pcpsha1u8as.asm | 518 -- .../ippcp/asm_intel64/pcpsha256e9as.asm | 541 -- .../ippcp/asm_intel64/pcpsha256l9as.asm | 629 -- .../ippcp/asm_intel64/pcpsha256m7as.asm | 416 - .../ippcp/asm_intel64/pcpsha256nias.asm | 569 -- .../ippcp/asm_intel64/pcpsha256u8as.asm | 488 -- .../ippcp/asm_intel64/pcpsha512e9as.asm | 732 -- .../ippcp/asm_intel64/pcpsha512l9as.asm | 635 -- .../ippcp/asm_intel64/pcpsha512m7as.asm | 490 -- .../ippcp/asm_intel64/pcpsm2pfuncs_montas.asm | 1241 --- .../sources/ippcp/asm_intel64/pcpsm3e9as.asm | 874 -- .../sources/ippcp/asm_intel64/pcpsm3u8as.asm | 364 - .../sources/ippcp/asm_intel64/pcpvariant.inc | 202 - .../ippcp/asm_intel64/pcpvariant_txt_acm.inc | 40 - .../sources/ippcp/asm_intel64/reg_sizes.inc | 290 - .../ippcp/library/src/sources/ippcp/cpinit.c | 475 -- .../sources/ippcp/crypto_mb/CMakeLists.txt | 91 - .../src/sources/ippcp/crypto_mb/Readme.md | 135 - .../include/crypto_mb/cpu_features.h | 113 - .../ippcp/crypto_mb/include/crypto_mb/defs.h | 68 - .../crypto_mb/include/crypto_mb/ec_nistp256.h | 187 - .../crypto_mb/include/crypto_mb/ec_nistp384.h | 186 - .../crypto_mb/include/crypto_mb/ec_nistp521.h | 187 - .../crypto_mb/include/crypto_mb/ec_sm2.h | 154 - .../crypto_mb/include/crypto_mb/ed25519.h | 66 - .../ippcp/crypto_mb/include/crypto_mb/exp.h | 59 - .../ippcp/crypto_mb/include/crypto_mb/rsa.h | 104 - .../ippcp/crypto_mb/include/crypto_mb/sm3.h | 60 - .../ippcp/crypto_mb/include/crypto_mb/sm4.h | 59 - .../crypto_mb/include/crypto_mb/sm4_ccm.h | 143 - .../crypto_mb/include/crypto_mb/sm4_gcm.h | 113 - .../crypto_mb/include/crypto_mb/status.h | 117 - .../crypto_mb/include/crypto_mb/version.h | 45 - .../crypto_mb/include/crypto_mb/x25519.h | 31 - .../include/internal/common/crypto_mb_ver.h | 46 - .../include/internal/common/ifma_cvt52.h | 43 - .../include/internal/common/ifma_defs.h | 84 - .../include/internal/common/ifma_math.h | 205 - .../include/internal/common/mem_fns.h | 36 - .../include/internal/ecnist/ifma_arith_p256.h | 173 - .../include/internal/ecnist/ifma_arith_p384.h | 182 - .../include/internal/ecnist/ifma_arith_p521.h | 201 - .../internal/ecnist/ifma_ecpoint_p256.h | 95 - .../internal/ecnist/ifma_ecpoint_p384.h | 104 - .../internal/ecnist/ifma_ecpoint_p521.h | 112 - .../internal/ecnist/ifma_ecprecomp4_p256.h | 682 -- .../internal/ecnist/ifma_ecprecomp4_p384.h | 1002 --- .../internal/ecnist/ifma_ecprecomp4_p521.h | 1342 ---- .../internal/ecnist/ifma_ecprecomp5_p256.h | 968 --- .../internal/ecnist/ifma_ecprecomp7_p256.h | 2474 ------ .../internal/ed25519/ifma_arith_ed25519.h | 159 - .../internal/ed25519/ifma_arith_n25519.h | 32 - .../internal/ed25519/ifma_arith_p25519.h | 154 - .../internal/ed25519/ifma_ed25519_precomp4.h | 351 - .../include/internal/ed25519/sha512.h | 171 - .../include/internal/exp/ifma_exp_method.h | 79 - .../include/internal/rsa/ifma_div_104_by_52.h | 70 - .../include/internal/rsa/ifma_rsa_arith.h | 182 - .../include/internal/rsa/ifma_rsa_layer_cp.h | 48 - .../include/internal/rsa/ifma_rsa_layer_ssl.h | 86 - .../include/internal/rsa/ifma_rsa_method.h | 86 - .../include/internal/sm2/ifma_arith_sm2.h | 136 - .../include/internal/sm2/ifma_ecpoint_sm2.h | 93 - .../internal/sm2/ifma_ecprecomp4_psm2.h | 682 -- .../include/internal/sm3/sm3_common.h | 207 - .../crypto_mb/include/internal/sm3/sm3_mb16.h | 43 - .../crypto_mb/include/internal/sm3/sm3_mb8.h | 59 - .../include/internal/sm4/sm4_ccm_mb.h | 130 - .../include/internal/sm4/sm4_gcm_mb.h | 176 - .../crypto_mb/include/internal/sm4/sm4_mb.h | 858 -- .../ippcp/crypto_mb/src/CMakeLists.txt | 163 - .../src/cmake/dll_export/crypto_mb.defs | 131 - .../dll_export/crypto_mb.linux.lib-export | 129 - .../dll_export/crypto_mb.macosx.lib-export | 129 - .../ippcp/crypto_mb/src/common/cpu_features.c | 290 - .../crypto_mb/src/common/crypto_mb_res.gen | 57 - .../crypto_mb/src/common/crypto_mb_ver.rc | 22 - .../src/common/ifma52_mb8_template.cxx | 29 - .../ippcp/crypto_mb/src/common/ifma_cvt52.c | 525 -- .../ippcp/crypto_mb/src/common/ifma_version.c | 42 - .../crypto_mb/src/ecnist/ifma_arith_m256.c | 368 - .../crypto_mb/src/ecnist/ifma_arith_n256.c | 219 - .../crypto_mb/src/ecnist/ifma_arith_n384.c | 620 -- .../crypto_mb/src/ecnist/ifma_arith_n521.c | 777 -- .../crypto_mb/src/ecnist/ifma_arith_p256.c | 688 -- .../crypto_mb/src/ecnist/ifma_arith_p384.c | 638 -- .../crypto_mb/src/ecnist/ifma_arith_p521.c | 870 -- .../crypto_mb/src/ecnist/ifma_ecdh_p256.c | 252 - .../crypto_mb/src/ecnist/ifma_ecdh_p384.c | 252 - .../crypto_mb/src/ecnist/ifma_ecdh_p521.c | 252 - .../crypto_mb/src/ecnist/ifma_ecdsa_p256.c | 887 -- .../crypto_mb/src/ecnist/ifma_ecdsa_p384.c | 891 --- .../crypto_mb/src/ecnist/ifma_ecdsa_p521.c | 887 -- .../crypto_mb/src/ecnist/ifma_ecpoint_p256.c | 696 -- .../crypto_mb/src/ecnist/ifma_ecpoint_p384.c | 715 -- .../crypto_mb/src/ecnist/ifma_ecpoint_p521.c | 737 -- .../crypto_mb/src/ecnist/ifma_ecpubkey_p256.c | 213 - .../crypto_mb/src/ecnist/ifma_ecpubkey_p384.c | 213 - .../crypto_mb/src/ecnist/ifma_ecpubkey_p521.c | 213 - .../src/ed25519/ifma_arith_ed25519.c | 540 -- .../crypto_mb/src/ed25519/ifma_arith_n25519.c | 390 - .../crypto_mb/src/ed25519/ifma_arith_p25519.c | 527 -- .../crypto_mb/src/ed25519/ifma_ed25519.c | 380 - .../ippcp/crypto_mb/src/ed25519/sha512.c | 226 - .../ippcp/crypto_mb/src/exp/ifma_exp1k_mb.c | 227 - .../ippcp/crypto_mb/src/exp/ifma_exp2k_mb.c | 288 - .../ippcp/crypto_mb/src/exp/ifma_exp3k_mb.c | 343 - .../ippcp/crypto_mb/src/exp/ifma_exp4k_mb.c | 399 - .../ippcp/crypto_mb/src/exp/ifma_exp_mb.c | 251 - .../ippcp/crypto_mb/src/exp/ifma_exp_method.c | 69 - ...52x20_diagonal_stitched_with_extract_mb8.c | 2049 ----- .../avx512_primitives/ifma_ahmm52x20_mb8.c | 291 - .../avx512_primitives/ifma_ahmr52x20_mb8.c | 229 - .../rsa/avx512_primitives/ifma_amm52x10_mb8.c | 120 - .../rsa/avx512_primitives/ifma_amm52x20_mb8.c | 202 - .../rsa/avx512_primitives/ifma_amm52x30_mb8.c | 284 - .../rsa/avx512_primitives/ifma_amm52x40_mb8.c | 366 - .../rsa/avx512_primitives/ifma_amm52x60_mb8.c | 532 -- .../rsa/avx512_primitives/ifma_amm52x79_mb8.c | 690 -- .../ifma_ams52x10_diagonal_mb8.c | 436 - .../ifma_ams52x20_diagonal_mb8.c | 1435 ---- .../ifma_ams52x30_diagonal_mb8.c | 1522 ---- .../ifma_ams52x40_diagonal_mb8.c | 2271 ------ .../ifma_ams52x60_diagonal_mb8.c | 4371 ---------- .../ifma_ams52x79_diagonal_mb8.c | 7108 ----------------- .../ifma_ams5x52x10_diagonal_mb8.c | 442 - .../ifma_ams5x52x20_diagonal_mb8.c | 1441 ---- .../ifma_ams5x52x40_diagonal_mb8.c | 2277 ------ .../ifma_extract_amm52x20_mb8.c | 255 - .../crypto_mb/src/rsa/ifma_div_104_by_52.c | 124 - .../crypto_mb/src/rsa/ifma_exp52x10_mb8.c | 198 - .../src/rsa/ifma_exp52x20_65537_mb8.c | 77 - .../crypto_mb/src/rsa/ifma_exp52x20_mb8.c | 217 - .../crypto_mb/src/rsa/ifma_exp52x30_mb8.c | 251 - .../src/rsa/ifma_exp52x40_65537_mb8.c | 77 - .../crypto_mb/src/rsa/ifma_exp52x40_mb8.c | 287 - .../src/rsa/ifma_exp52x60_65537_mb8.c | 72 - .../crypto_mb/src/rsa/ifma_exp52x60_mb8.c | 342 - .../src/rsa/ifma_exp52x79_65537_mb8.c | 74 - .../crypto_mb/src/rsa/ifma_exp52x79_mb8.c | 398 - .../ippcp/crypto_mb/src/rsa/ifma_method.c | 377 - .../crypto_mb/src/rsa/ifma_other52x_mb8.c | 2399 ------ .../crypto_mb/src/rsa/ifma_rsa_layer_mb8.c | 241 - .../ippcp/crypto_mb/src/rsa/ifma_rsa_mb8.c | 314 - .../src/rsa/ifma_rsa_ssl_prv2_layer_mb8.c | 258 - .../crypto_mb/src/rsa/ifma_rsa_ssl_prv2_mb8.c | 88 - .../src/rsa/ifma_rsa_ssl_prv5_layer_mb8.c | 486 -- .../crypto_mb/src/rsa/ifma_rsa_ssl_prv5_mb8.c | 97 - .../src/rsa/ifma_rsa_ssl_pub65537_mb8.c | 97 - .../src/rsa/ifma_rsa_ssl_pub_layer_mb8.c | 212 - .../ippcp/crypto_mb/src/sm2/ifma_arith_nsm2.c | 219 - .../ippcp/crypto_mb/src/sm2/ifma_arith_psm2.c | 503 -- .../ippcp/crypto_mb/src/sm2/ifma_ecdh_sm2.c | 256 - .../ippcp/crypto_mb/src/sm2/ifma_ecdsa_sm2.c | 884 -- .../crypto_mb/src/sm2/ifma_ecpoint_sm2.c | 695 -- .../crypto_mb/src/sm2/ifma_ecpubkey_sm2.c | 214 - .../ippcp/crypto_mb/src/sm3/sm3_avx512_mb16.c | 330 - .../ippcp/crypto_mb/src/sm3/sm3_avx512_mb8.c | 224 - .../ippcp/crypto_mb/src/sm3/sm3_final_mb16.c | 115 - .../ippcp/crypto_mb/src/sm3/sm3_final_mb8.c | 101 - .../ippcp/crypto_mb/src/sm3/sm3_init_mb16.c | 70 - .../ippcp/crypto_mb/src/sm3/sm3_init_mb8.c | 62 - .../src/sm3/sm3_messagedigest_mb16.c | 58 - .../crypto_mb/src/sm3/sm3_messagedigest_mb8.c | 55 - .../ippcp/crypto_mb/src/sm3/sm3_update_mb16.c | 150 - .../ippcp/crypto_mb/src/sm3/sm3_update_mb8.c | 136 - .../sm4/ccm/internal/sm4_ccm_decrypt_mb16.c | 91 - .../sm4/ccm/internal/sm4_ccm_encrypt_mb16.c | 86 - .../sm4/ccm/internal/sm4_ccm_get_tag_mb16.c | 102 - .../ccm/internal/sm4_ccm_set_msg_len_mb16.c | 28 - .../ccm/internal/sm4_ccm_set_tag_len_mb16.c | 30 - .../ccm/internal/sm4_ccm_update_aad_mb16.c | 161 - .../sm4/ccm/internal/sm4_ccm_update_iv_mb16.c | 55 - .../src/sm4/ccm/sm4_ccm_decrypt_mb16_api.c | 70 - .../src/sm4/ccm/sm4_ccm_encrypt_mb16_api.c | 72 - .../src/sm4/ccm/sm4_ccm_get_tag_mb16_api.c | 69 - .../src/sm4/ccm/sm4_ccm_init_mb16_api.c | 106 - .../src/sm4/ccm/sm4_ccm_update_aad_mb16_api.c | 59 - .../sm4/gcm/internal/sm4_gcm_decrypt_mb16.c | 101 - .../gcm/internal/sm4_gcm_encrypt_j0_mb16.c | 74 - .../sm4/gcm/internal/sm4_gcm_encrypt_mb16.c | 102 - .../gcm/internal/sm4_gcm_finalize_iv_mb16.c | 175 - .../gcm/internal/sm4_gcm_gctr_kernel_mb16.c | 339 - .../sm4/gcm/internal/sm4_gcm_get_tag_mb16.c | 98 - .../sm4_gcm_ghash_mul_single_block_mb16.c | 131 - .../sm4_gcm_precompute_hashkey_mb16.c | 140 - .../gcm/internal/sm4_gcm_update_aad_mb16.c | 90 - .../sm4_gcm_update_ghash_full_blocks_mb16.c | 691 -- ...sm4_gcm_update_ghash_partial_blocks_mb16.c | 183 - .../sm4/gcm/internal/sm4_gcm_update_iv_mb16.c | 86 - .../src/sm4/gcm/sm4_gcm_decrypt_mb16_api.c | 77 - .../src/sm4/gcm/sm4_gcm_encrypt_mb16_api.c | 77 - .../src/sm4/gcm/sm4_gcm_get_tag_mb16_api.c | 59 - .../src/sm4/gcm/sm4_gcm_init_mb16_api.c | 97 - .../src/sm4/gcm/sm4_gcm_update_aad_mb16_api.c | 64 - .../src/sm4/gcm/sm4_gcm_update_iv_mb16_api.c | 64 - .../crypto_mb/src/sm4/sm4_cbc_dec_mb16.c | 55 - .../crypto_mb/src/sm4/sm4_cbc_enc_mb16.c | 55 - .../ippcp/crypto_mb/src/sm4/sm4_cbc_mb16.c | 559 -- .../crypto_mb/src/sm4/sm4_cfb_dec_mb16.c | 55 - .../crypto_mb/src/sm4/sm4_cfb_enc_mb16.c | 55 - .../ippcp/crypto_mb/src/sm4/sm4_cfb_mb16.c | 427 - .../crypto_mb/src/sm4/sm4_ctr_dec_mb16.c | 28 - .../crypto_mb/src/sm4/sm4_ctr_enc_mb16.c | 55 - .../ippcp/crypto_mb/src/sm4/sm4_ctr_mb16.c | 321 - .../crypto_mb/src/sm4/sm4_ecb_dec_mb16.c | 55 - .../crypto_mb/src/sm4/sm4_ecb_enc_mb16.c | 55 - .../ippcp/crypto_mb/src/sm4/sm4_ecb_mb16.c | 284 - .../crypto_mb/src/sm4/sm4_ofb_dec_mb16.c | 28 - .../crypto_mb/src/sm4/sm4_ofb_enc_mb16.c | 55 - .../ippcp/crypto_mb/src/sm4/sm4_ofb_mb16.c | 86 - .../ippcp/crypto_mb/src/sm4/sm4_setkey_mb16.c | 151 - .../crypto_mb/src/sm4/sm4_xts_dec_mb16.c | 64 - .../crypto_mb/src/sm4/sm4_xts_enc_mb16.c | 64 - .../ippcp/crypto_mb/src/sm4/sm4_xts_mb16.c | 529 -- .../ippcp/crypto_mb/src/x25519/ifma_x25519.c | 1713 ---- .../sources/ippcp/ecnist/ifma_alias_avx512.h | 92 - .../ippcp/ecnist/ifma_alias_avx512vl.h | 78 - .../sources/ippcp/ecnist/ifma_arith_method.h | 95 - .../ippcp/ecnist/ifma_arith_method_n256.c | 52 - .../ippcp/ecnist/ifma_arith_method_n384.c | 52 - .../ippcp/ecnist/ifma_arith_method_n521.c | 51 - .../ippcp/ecnist/ifma_arith_method_p256.c | 51 - .../ippcp/ecnist/ifma_arith_method_p384.c | 51 - .../ippcp/ecnist/ifma_arith_method_p521.c | 50 - .../ippcp/ecnist/ifma_arith_method_p521.h | 85 - .../sources/ippcp/ecnist/ifma_arith_n256.c | 255 - .../sources/ippcp/ecnist/ifma_arith_n256.h | 95 - .../sources/ippcp/ecnist/ifma_arith_n384.c | 299 - .../sources/ippcp/ecnist/ifma_arith_n384.h | 95 - .../sources/ippcp/ecnist/ifma_arith_n521.c | 351 - .../sources/ippcp/ecnist/ifma_arith_n521.h | 79 - .../sources/ippcp/ecnist/ifma_arith_p256.c | 443 - .../sources/ippcp/ecnist/ifma_arith_p256.h | 163 - .../sources/ippcp/ecnist/ifma_arith_p384.c | 432 - .../sources/ippcp/ecnist/ifma_arith_p384.h | 162 - .../sources/ippcp/ecnist/ifma_arith_p521.c | 1175 --- .../sources/ippcp/ecnist/ifma_arith_p521.h | 266 - .../src/sources/ippcp/ecnist/ifma_defs.h | 71 - .../src/sources/ippcp/ecnist/ifma_defs_p521.h | 88 - .../ippcp/ecnist/ifma_ec_addpoint_p256.c | 60 - .../ippcp/ecnist/ifma_ec_addpoint_p384.c | 60 - .../ippcp/ecnist/ifma_ec_addpoint_p521.c | 60 - .../sources/ippcp/ecnist/ifma_ec_dh_p256.c | 81 - .../sources/ippcp/ecnist/ifma_ec_dh_p384.c | 81 - .../sources/ippcp/ecnist/ifma_ec_dh_p521.c | 80 - .../ippcp/ecnist/ifma_ec_dsasign_p256.c | 143 - .../ippcp/ecnist/ifma_ec_dsasign_p384.c | 143 - .../ippcp/ecnist/ifma_ec_dsasign_p521.c | 146 - .../ippcp/ecnist/ifma_ec_dsaverify_p256.c | 145 - .../ippcp/ecnist/ifma_ec_dsaverify_p384.c | 147 - .../ippcp/ecnist/ifma_ec_dsaverify_p521.c | 147 - .../ippcp/ecnist/ifma_ec_mulpoint_p256.c | 65 - .../ippcp/ecnist/ifma_ec_mulpoint_p384.c | 65 - .../ippcp/ecnist/ifma_ec_mulpoint_p521.c | 65 - .../ippcp/ecnist/ifma_ec_on_curve_p256.c | 45 - .../ippcp/ecnist/ifma_ec_on_curve_p384.c | 45 - .../ippcp/ecnist/ifma_ec_on_curve_p521.c | 45 - .../ippcp/ecnist/ifma_ec_pubkey_p256.c | 75 - .../ippcp/ecnist/ifma_ec_pubkey_p384.c | 75 - .../ippcp/ecnist/ifma_ec_pubkey_p521.c | 75 - .../sources/ippcp/ecnist/ifma_ecpoint_p256.c | 766 -- .../sources/ippcp/ecnist/ifma_ecpoint_p256.h | 200 - .../sources/ippcp/ecnist/ifma_ecpoint_p384.c | 798 -- .../sources/ippcp/ecnist/ifma_ecpoint_p384.h | 200 - .../sources/ippcp/ecnist/ifma_ecpoint_p521.c | 764 -- .../sources/ippcp/ecnist/ifma_ecpoint_p521.h | 162 - .../ippcp/ecnist/ifma_ecprecomp4_p256.h | 716 -- .../ippcp/ecnist/ifma_ecprecomp4_p384.h | 1129 --- .../ippcp/ecnist/ifma_ecprecomp4_p521.h | 1373 ---- .../ippcp/ecnist/ifma_ecprecomp7_p256.h | 2544 ------ .../src/sources/ippcp/ecnist/ifma_norm.c | 269 - .../src/sources/ippcp/ecnist/ifma_norm.h | 73 - .../library/src/sources/ippcp/emptyfile.c | 20 - .../sources/ippcp/exports.linux.lib-export | 1123 --- .../sources/ippcp/exports.macosx.lib-export | 558 -- .../src/sources/ippcp/gsmod_almmontinv.c | 105 - .../src/sources/ippcp/gsmod_almmontinv_ct.c | 136 - .../src/sources/ippcp/gsmod_enginegetsize.c | 68 - .../src/sources/ippcp/gsmod_engineinit.c | 108 - .../library/src/sources/ippcp/gsmod_getpool.c | 40 - .../library/src/sources/ippcp/gsmod_inv.c | 69 - .../src/sources/ippcp/gsmod_montfactor.c | 53 - .../library/src/sources/ippcp/gsmod_montinv.c | 85 - .../library/src/sources/ippcp/gsmod_packctx.c | 52 - .../src/sources/ippcp/gsmod_unpackctx.c | 50 - .../library/src/sources/ippcp/gsmodmethod.c | 70 - .../library/src/sources/ippcp/gsmodmethod.h | 101 - .../src/sources/ippcp/gsmodmethod_dlp.c | 72 - .../src/sources/ippcp/gsmodmethod_gfp.c | 71 - .../src/sources/ippcp/gsmodmethod_mont.c | 72 - .../src/sources/ippcp/gsmodmethod_rsa.c | 72 - .../src/sources/ippcp/gsmodmethodstuff.h | 500 -- .../library/src/sources/ippcp/gsmodstuff.h | 162 - .../library/src/sources/ippcp/gsscramble.c | 58 - .../library/src/sources/ippcp/gsscramble.h | 49 - .../src/sources/ippcp/gsscramble_sscm.c | 98 - .../library/src/sources/ippcp/ifma_amm52x20.c | 304 - .../src/sources/ippcp/ifma_amm52x20_dual.c | 182 - .../library/src/sources/ippcp/ifma_amm52x30.c | 142 - .../src/sources/ippcp/ifma_amm52x30_dual.c | 210 - .../library/src/sources/ippcp/ifma_amm52x40.c | 150 - .../src/sources/ippcp/ifma_amm52x40_dual.c | 224 - .../library/src/sources/ippcp/ifma_exp52x20.c | 161 - .../src/sources/ippcp/ifma_exp52x20_dual.c | 185 - .../src/sources/ippcp/ifma_exp52x30_dual.c | 190 - .../src/sources/ippcp/ifma_exp52x40_dual.c | 195 - .../src/sources/ippcp/ifma_exp52x_dual.c | 136 - .../src/sources/ippcp/ifma_math_avx512vl.h | 208 - .../library/src/sources/ippcp/ifma_norm52x.h | 315 - .../src/sources/ippcp/ifma_rsa_arith.h | 97 - .../sources/ippcp/internal_hashmessage_mb.c | 36 - .../sources/ippcp/internal_hashmessage_mb.h | 23 - .../ippcp/library/src/sources/ippcp/ippcp.def | 560 -- .../ippcp/library/src/sources/ippcp/owncp.h | 207 - .../sources/ippcp/pcpaes_128keyexpansion_ni.c | 106 - .../sources/ippcp/pcpaes_192keyexpansion_ni.c | 115 - .../sources/ippcp/pcpaes_256keyexpansion_ni.c | 129 - .../src/sources/ippcp/pcpaes_avx2_vaes.h | 199 - .../sources/ippcp/pcpaes_avx2_vaes_decrypt.c | 188 - .../sources/ippcp/pcpaes_avx2_vaes_encrypt.c | 186 - .../src/sources/ippcp/pcpaes_cbc_decrypt.c | 131 - .../src/sources/ippcp/pcpaes_cbc_decrypt.h | 39 - .../src/sources/ippcp/pcpaes_cbc_encrypt.c | 89 - .../src/sources/ippcp/pcpaes_cbc_encrypt.h | 39 - .../src/sources/ippcp/pcpaes_cbc_vaes512.c | 170 - .../src/sources/ippcp/pcpaes_cbcdecrypt.c | 83 - .../src/sources/ippcp/pcpaes_cbcdecrypt_cs1.c | 132 - .../src/sources/ippcp/pcpaes_cbcdecrypt_cs2.c | 132 - .../src/sources/ippcp/pcpaes_cbcdecrypt_cs3.c | 129 - .../src/sources/ippcp/pcpaes_cbcencrypt.c | 83 - .../src/sources/ippcp/pcpaes_cbcencrypt_cs1.c | 110 - .../src/sources/ippcp/pcpaes_cbcencrypt_cs2.c | 117 - .../src/sources/ippcp/pcpaes_cbcencrypt_cs3.c | 117 - .../src/sources/ippcp/pcpaes_ccmdecrypt.c | 214 - .../src/sources/ippcp/pcpaes_ccmencrypt.c | 211 - .../src/sources/ippcp/pcpaes_ccmgetsize.c | 56 - .../src/sources/ippcp/pcpaes_ccmgettag.c | 92 - .../src/sources/ippcp/pcpaes_ccminit.c | 75 - .../src/sources/ippcp/pcpaes_ccmmessagelen.c | 60 - .../src/sources/ippcp/pcpaes_ccmstart.c | 214 - .../src/sources/ippcp/pcpaes_ccmtaglen.c | 65 - .../ippcp/pcpaes_cfb128decrypt_vaes512.c | 173 - .../ippcp/pcpaes_cfb64decrypt_vaes512.c | 236 - .../src/sources/ippcp/pcpaes_cfb_mb_encrypt.c | 234 - .../src/sources/ippcp/pcpaes_cfbdecrypt.c | 180 - .../sources/ippcp/pcpaes_cfbdecrypt_vaes512.c | 246 - .../src/sources/ippcp/pcpaes_cfbencrypt.c | 144 - .../src/sources/ippcp/pcpaes_cmac_stuff.h | 51 - .../src/sources/ippcp/pcpaes_cmacfinal.c | 80 - .../src/sources/ippcp/pcpaes_cmacgetsize.c | 57 - .../src/sources/ippcp/pcpaes_cmacgettag.c | 101 - .../src/sources/ippcp/pcpaes_cmacinit.c | 117 - .../src/sources/ippcp/pcpaes_cmacupdate.c | 198 - .../src/sources/ippcp/pcpaes_ctr_process.h | 255 - .../src/sources/ippcp/pcpaes_ctrdecrypt.c | 83 - .../pcpaes_ctrencrypt_rij128pipe_vaes512.c | 265 - .../ippcp/pcpaes_ctrencrypt_stream_vaes512.c | 238 - .../src/sources/ippcp/pcpaes_ctrencryptr.c | 84 - .../sources/ippcp/pcpaes_deckeyexpansion_ni.c | 52 - .../sources/ippcp/pcpaes_decrypt_vaes512.h | 192 - .../src/sources/ippcp/pcpaes_ecb_vaes512.c | 199 - .../src/sources/ippcp/pcpaes_ecbdecrypt.c | 157 - .../src/sources/ippcp/pcpaes_ecbencrypt.c | 159 - .../sources/ippcp/pcpaes_encrypt_vaes512.h | 193 - .../src/sources/ippcp/pcpaes_expandkey_ni.c | 51 - .../src/sources/ippcp/pcpaes_gcm_vaes512.h | 146 - .../sources/ippcp/pcpaes_gcmauth_vaes512.c | 231 - .../src/sources/ippcp/pcpaes_gcmdecrypt.c | 216 - .../sources/ippcp/pcpaes_gcmdecrypt_vaes512.c | 347 - .../src/sources/ippcp/pcpaes_gcmencrypt.c | 216 - .../sources/ippcp/pcpaes_gcmencrypt_vaes512.c | 362 - .../src/sources/ippcp/pcpaes_gcmgetsize.c | 62 - .../src/sources/ippcp/pcpaes_gcmgettag.c | 111 - .../src/sources/ippcp/pcpaes_gcminit.c | 179 - .../src/sources/ippcp/pcpaes_gcmmul_vaes512.c | 242 - .../src/sources/ippcp/pcpaes_gcmprocessaad.c | 224 - .../src/sources/ippcp/pcpaes_gcmprocessiv.c | 158 - .../src/sources/ippcp/pcpaes_gcmreinit.c | 87 - .../src/sources/ippcp/pcpaes_gcmreset.c | 83 - .../src/sources/ippcp/pcpaes_gcmstart.c | 72 - .../src/sources/ippcp/pcpaes_keys_ni.h | 51 - .../library/src/sources/ippcp/pcpaes_ofb.h | 49 - .../src/sources/ippcp/pcpaes_process_ofb8.c | 95 - .../src/sources/ippcp/pcpaes_randomnoise.c | 120 - .../src/sources/ippcp/pcpaes_s2v_cmac.c | 107 - .../src/sources/ippcp/pcpaes_setupnoise.c | 79 - .../src/sources/ippcp/pcpaes_sivdecrypt.c | 140 - .../src/sources/ippcp/pcpaes_sivencrypt.c | 133 - .../src/sources/ippcp/pcpaes_sivstuff.h | 91 - .../sources/ippcp/pcpaes_wrpaesgcmdec_avx.c | 78 - .../sources/ippcp/pcpaes_wrpaesgcmenc_avx.c | 59 - .../src/sources/ippcp/pcpaes_xts_vaes512.c | 506 -- .../src/sources/ippcp/pcpaes_xtsdecrypt.c | 181 - .../sources/ippcp/pcpaes_xtsdecrypt_direct.c | 229 - .../src/sources/ippcp/pcpaes_xtsencrypt.c | 175 - .../sources/ippcp/pcpaes_xtsencrypt_direct.c | 224 - .../src/sources/ippcp/pcpaes_xtsinit.c | 89 - .../library/src/sources/ippcp/pcpaesauthccm.h | 99 - .../library/src/sources/ippcp/pcpaesauthgcm.h | 237 - .../src/sources/ippcp/pcpaesauthgcm_avx512.h | 153 - .../src/sources/ippcp/pcpaescmac_setupnoise.c | 79 - .../src/sources/ippcp/pcpaesdecryptofb.c | 91 - .../src/sources/ippcp/pcpaesencryptofb.c | 91 - .../src/sources/ippcp/pcpaesgcm_setupnoise.c | 86 - .../src/sources/ippcp/pcpaesgcmtableca.c | 54 - .../src/sources/ippcp/pcpaesgcmtbl2k_mulpx.c | 350 - .../src/sources/ippcp/pcpaesgcmtbl2k_precom.c | 93 - .../src/sources/ippcp/pcpaesgcmtbl2kca.c | 82 - .../sources/ippcp/pcpaesgcmtbl2kca_decpx.c | 80 - .../sources/ippcp/pcpaesgcmtbl2kca_encpx.c | 81 - .../library/src/sources/ippcp/pcpaesgetsize.c | 56 - .../ippcp/library/src/sources/ippcp/pcpaesm.h | 80 - .../src/sources/ippcp/pcpaesminit_internal.c | 172 - .../src/sources/ippcp/pcpaesminit_internal.h | 39 - .../library/src/sources/ippcp/pcpaesminitca.c | 146 - .../library/src/sources/ippcp/pcpaesmxts.h | 79 - .../src/sources/ippcp/pcpaesmxtsctxca.c | 56 - .../src/sources/ippcp/pcpaesmxtsstuff.h | 82 - .../library/src/sources/ippcp/pcpaesnoise.h | 61 - .../library/src/sources/ippcp/pcpaespack.c | 83 - .../library/src/sources/ippcp/pcpaessetkey.c | 69 - .../library/src/sources/ippcp/pcpaesunpack.c | 105 - .../library/src/sources/ippcp/pcparcfour.h | 74 - .../sources/ippcp/pcparcfour_processdata.c | 69 - .../library/src/sources/ippcp/pcparcfourca.c | 78 - .../src/sources/ippcp/pcparcfourcheckkey.c | 67 - .../src/sources/ippcp/pcparcfourdecrypt.c | 69 - .../src/sources/ippcp/pcparcfourencrypt.c | 69 - .../src/sources/ippcp/pcparcfourgetsize.c | 51 - .../src/sources/ippcp/pcparcfourpack.c | 58 - .../src/sources/ippcp/pcparcfourreset.c | 65 - .../src/sources/ippcp/pcparcfourunpack.c | 55 - .../ippcp/library/src/sources/ippcp/pcpbn.h | 207 - .../library/src/sources/ippcp/pcpbn_pack.c | 55 - .../library/src/sources/ippcp/pcpbn_unpack.c | 61 - .../library/src/sources/ippcp/pcpbn_val1.c | 56 - .../library/src/sources/ippcp/pcpbn_val2.c | 55 - .../library/src/sources/ippcp/pcpbn_val3.c | 55 - .../library/src/sources/ippcp/pcpbnarithadd.c | 124 - .../library/src/sources/ippcp/pcpbnarithcmp.c | 86 - .../src/sources/ippcp/pcpbnarithcmpz.c | 63 - .../library/src/sources/ippcp/pcpbnarithdiv.c | 98 - .../library/src/sources/ippcp/pcpbnarithgcd.c | 274 - .../library/src/sources/ippcp/pcpbnarithmac.c | 125 - .../src/sources/ippcp/pcpbnarithminv.c | 84 - .../library/src/sources/ippcp/pcpbnarithmod.c | 101 - .../library/src/sources/ippcp/pcpbnarithmul.c | 115 - .../library/src/sources/ippcp/pcpbnarithsub.c | 124 - .../library/src/sources/ippcp/pcpbngetext.c | 72 - .../library/src/sources/ippcp/pcpbngetlen.c | 58 - .../src/sources/ippcp/pcpbngetoctstr.c | 66 - .../library/src/sources/ippcp/pcpbngetref.c | 90 - .../library/src/sources/ippcp/pcpbngetsize.c | 70 - .../library/src/sources/ippcp/pcpbngetwords.c | 71 - .../library/src/sources/ippcp/pcpbninit.c | 83 - .../library/src/sources/ippcp/pcpbnresource.h | 49 - .../src/sources/ippcp/pcpbnresourceca.c | 121 - .../src/sources/ippcp/pcpbnsetoctstr.c | 83 - .../library/src/sources/ippcp/pcpbnsetwords.c | 78 - .../src/sources/ippcp/pcpbnu32_arith_add.c | 59 - .../src/sources/ippcp/pcpbnu32_arith_dec.c | 59 - .../src/sources/ippcp/pcpbnu32_arith_div.c | 175 - .../src/sources/ippcp/pcpbnu32_arith_inc.c | 59 - .../sources/ippcp/pcpbnu32_arith_muldigit.c | 59 - .../src/sources/ippcp/pcpbnu32_arith_sub.c | 59 - .../ippcp/pcpbnu32_arith_submuldigit.c | 64 - .../src/sources/ippcp/pcpbnu32_getoctstr.c | 77 - .../library/src/sources/ippcp/pcpbnu32_nlz.c | 60 - .../src/sources/ippcp/pcpbnu32_setoctstr.c | 74 - .../library/src/sources/ippcp/pcpbnu32arith.h | 51 - .../library/src/sources/ippcp/pcpbnu32misc.h | 98 - .../src/sources/ippcp/pcpbnu_arith_add.c | 68 - .../sources/ippcp/pcpbnu_arith_addmuldigit.c | 71 - .../src/sources/ippcp/pcpbnu_arith_dec.c | 66 - .../src/sources/ippcp/pcpbnu_arith_gcd.c | 64 - .../src/sources/ippcp/pcpbnu_arith_inc.c | 72 - .../src/sources/ippcp/pcpbnu_arith_minv.c | 153 - .../src/sources/ippcp/pcpbnu_arith_mul_adc.c | 83 - .../src/sources/ippcp/pcpbnu_arith_sqr_adc.c | 101 - .../src/sources/ippcp/pcpbnu_arith_sub.c | 68 - .../sources/ippcp/pcpbnu_arith_submuldigit.c | 72 - .../src/sources/ippcp/pcpbnu_getoctstr.c | 92 - .../library/src/sources/ippcp/pcpbnu_lsr.c | 76 - .../library/src/sources/ippcp/pcpbnu_msbit.c | 53 - .../library/src/sources/ippcp/pcpbnu_nlz.c | 119 - .../library/src/sources/ippcp/pcpbnu_ntz.c | 66 - .../src/sources/ippcp/pcpbnu_setoctstr.c | 78 - .../library/src/sources/ippcp/pcpbnuarith.h | 189 - .../library/src/sources/ippcp/pcpbnuimpl.h | 133 - .../library/src/sources/ippcp/pcpbnumisc.h | 239 - .../ippcp/library/src/sources/ippcp/pcpcmac.h | 71 - .../ippcp/library/src/sources/ippcp/pcpdes.h | 96 - .../library/src/sources/ippcp/pcpdescipherm.c | 177 - .../library/src/sources/ippcp/pcpdesgetsize.c | 55 - .../library/src/sources/ippcp/pcpdesinitca.c | 61 - .../src/sources/ippcp/pcpdesinitpxca.c | 159 - .../library/src/sources/ippcp/pcpdespack.c | 62 - .../library/src/sources/ippcp/pcpdesspbox.c | 92 - .../library/src/sources/ippcp/pcpdesunpack.c | 58 - .../ippcp/library/src/sources/ippcp/pcpdlp.h | 122 - .../src/sources/ippcp/pcpdlp_packctx.c | 65 - .../src/sources/ippcp/pcpdlp_unpackctx.c | 63 - .../src/sources/ippcp/pcpdlpgeneratedh.c | 346 - .../src/sources/ippcp/pcpdlpgeneratedsa.c | 326 - .../src/sources/ippcp/pcpdlpgenkeypair.c | 114 - .../library/src/sources/ippcp/pcpdlpget.c | 96 - .../library/src/sources/ippcp/pcpdlpgetdp.c | 100 - .../library/src/sources/ippcp/pcpdlpgetsize.c | 125 - .../library/src/sources/ippcp/pcpdlpinit.c | 160 - .../library/src/sources/ippcp/pcpdlppack.c | 61 - .../src/sources/ippcp/pcpdlppublickey.c | 103 - .../src/sources/ippcp/pcpdlpresultca.c | 56 - .../src/sources/ippcp/pcpdlpsecretdhca.c | 111 - .../library/src/sources/ippcp/pcpdlpset.c | 109 - .../library/src/sources/ippcp/pcpdlpsetdp.c | 106 - .../src/sources/ippcp/pcpdlpsetkeypair.c | 116 - .../src/sources/ippcp/pcpdlpsigndsaca.c | 193 - .../library/src/sources/ippcp/pcpdlpunpack.c | 58 - .../src/sources/ippcp/pcpdlpvalidatedh.c | 208 - .../src/sources/ippcp/pcpdlpvalidatedsa.c | 208 - .../src/sources/ippcp/pcpdlpvalidatekeypair.c | 129 - .../src/sources/ippcp/pcpdlpverifydsaca.c | 185 - .../library/src/sources/ippcp/pcpecc_psetdp.c | 124 - .../ippcp/library/src/sources/ippcp/pcpeccp.h | 190 - .../src/sources/ippcp/pcpeccpaddpoint.c | 64 - .../sources/ippcp/pcpeccpbindgxytblstd192r1.c | 59 - .../sources/ippcp/pcpeccpbindgxytblstd224r1.c | 59 - .../sources/ippcp/pcpeccpbindgxytblstd256r1.c | 60 - .../sources/ippcp/pcpeccpbindgxytblstd384r1.c | 60 - .../sources/ippcp/pcpeccpbindgxytblstd521r1.c | 60 - .../sources/ippcp/pcpeccpbindgxytblstdsm2.c | 60 - .../src/sources/ippcp/pcpeccpcheckpoint.c | 64 - .../src/sources/ippcp/pcpeccpcomparepoint.c | 65 - .../src/sources/ippcp/pcpeccpgenkeyca.c | 108 - .../library/src/sources/ippcp/pcpeccpget.c | 141 - .../sources/ippcp/pcpeccpgetorderbitsize.c | 62 - .../src/sources/ippcp/pcpeccpgetpoint.c | 105 - .../src/sources/ippcp/pcpeccpgetsize.c | 76 - .../sources/ippcp/pcpeccpgetsizestd128r1.c | 49 - .../sources/ippcp/pcpeccpgetsizestd128r2.c | 50 - .../sources/ippcp/pcpeccpgetsizestd192r1.c | 50 - .../sources/ippcp/pcpeccpgetsizestd224r1.c | 50 - .../sources/ippcp/pcpeccpgetsizestd256r1.c | 50 - .../sources/ippcp/pcpeccpgetsizestd384r1.c | 50 - .../sources/ippcp/pcpeccpgetsizestd521r1.c | 50 - .../src/sources/ippcp/pcpeccpgetsizestdsm2.c | 50 - .../library/src/sources/ippcp/pcpeccpinit.c | 81 - .../src/sources/ippcp/pcpeccpinitstd128r1.c | 50 - .../src/sources/ippcp/pcpeccpinitstd128r2.c | 50 - .../src/sources/ippcp/pcpeccpinitstd192r1.c | 50 - .../src/sources/ippcp/pcpeccpinitstd224r1.c | 50 - .../src/sources/ippcp/pcpeccpinitstd256r1.c | 50 - .../src/sources/ippcp/pcpeccpinitstd384r1.c | 50 - .../src/sources/ippcp/pcpeccpinitstd521r1.c | 50 - .../src/sources/ippcp/pcpeccpinitstdsm2.c | 50 - .../src/sources/ippcp/pcpeccpmulpointscalar.c | 68 - .../src/sources/ippcp/pcpeccpnegativepoint.c | 60 - .../src/sources/ippcp/pcpeccppointgetsize.c | 64 - .../src/sources/ippcp/pcpeccppointinit.c | 69 - .../src/sources/ippcp/pcpeccppublickeyca.c | 67 - .../src/sources/ippcp/pcpeccpsecretdhca.c | 74 - .../src/sources/ippcp/pcpeccpsecretdhcca.c | 74 - .../library/src/sources/ippcp/pcpeccpset.c | 119 - .../src/sources/ippcp/pcpeccpsetkeyca.c | 102 - .../src/sources/ippcp/pcpeccpsetpoint.c | 106 - .../sources/ippcp/pcpeccpsetpointatinfinity.c | 55 - .../library/src/sources/ippcp/pcpeccpsetstd.c | 127 - .../src/sources/ippcp/pcpeccpsetstd128r1.c | 64 - .../src/sources/ippcp/pcpeccpsetstd128r2.c | 64 - .../src/sources/ippcp/pcpeccpsetstd192r1.c | 63 - .../src/sources/ippcp/pcpeccpsetstd224r1.c | 63 - .../src/sources/ippcp/pcpeccpsetstd256r1.c | 63 - .../src/sources/ippcp/pcpeccpsetstd384r1.c | 64 - .../src/sources/ippcp/pcpeccpsetstd521r1.c | 63 - .../src/sources/ippcp/pcpeccpsetstdsm2.c | 64 - .../src/sources/ippcp/pcpeccpsigndsaca.c | 205 - .../src/sources/ippcp/pcpeccpsignnrca.c | 188 - .../src/sources/ippcp/pcpeccpsignsm2ca.c | 95 - .../src/sources/ippcp/pcpeccpstdca_112r1.c | 53 - .../src/sources/ippcp/pcpeccpstdca_112r2.c | 53 - .../src/sources/ippcp/pcpeccpstdca_128r1.c | 56 - .../src/sources/ippcp/pcpeccpstdca_128r2.c | 53 - .../src/sources/ippcp/pcpeccpstdca_160r1.c | 53 - .../src/sources/ippcp/pcpeccpstdca_160r2.c | 53 - .../src/sources/ippcp/pcpeccpstdca_192r1.c | 56 - .../src/sources/ippcp/pcpeccpstdca_224r1.c | 63 - .../src/sources/ippcp/pcpeccpstdca_256r1.c | 63 - .../src/sources/ippcp/pcpeccpstdca_384r1.c | 64 - .../src/sources/ippcp/pcpeccpstdca_521r1.c | 70 - .../src/sources/ippcp/pcpeccpstdca_BN_256.c | 55 - .../src/sources/ippcp/pcpeccpstdca_SM2_256.c | 71 - .../src/sources/ippcp/pcpeccpvalidateca.c | 91 - .../src/sources/ippcp/pcpeccpvalidatekeyca.c | 69 - .../src/sources/ippcp/pcpeccpverifydsaca.c | 178 - .../src/sources/ippcp/pcpeccpverifynrca.c | 168 - .../src/sources/ippcp/pcpeccpverifysm2ca.c | 173 - .../src/sources/ippcp/pcpeccresultca.c | 67 - .../library/src/sources/ippcp/pcpecprime.h | 56 - .../ippcp/library/src/sources/ippcp/pcpgfp.c | 109 - .../library/src/sources/ippcp/pcpgfp_exp.c | 37 - .../library/src/sources/ippcp/pcpgfp_get.c | 45 - .../src/sources/ippcp/pcpgfp_getoctstring.c | 46 - .../library/src/sources/ippcp/pcpgfp_gfeqnr.c | 60 - .../library/src/sources/ippcp/pcpgfp_inv.c | 37 - .../library/src/sources/ippcp/pcpgfp_rand.c | 56 - .../library/src/sources/ippcp/pcpgfp_set.c | 50 - .../library/src/sources/ippcp/pcpgfp_setgfp.c | 70 - .../src/sources/ippcp/pcpgfp_setoctstring.c | 51 - .../library/src/sources/ippcp/pcpgfp_sqrt.c | 148 - .../library/src/sources/ippcp/pcpgfpadd.c | 77 - .../library/src/sources/ippcp/pcpgfpaddpe.c | 81 - .../library/src/sources/ippcp/pcpgfpbufsize.c | 79 - .../library/src/sources/ippcp/pcpgfpcmpelem.c | 93 - .../library/src/sources/ippcp/pcpgfpconj.c | 76 - .../library/src/sources/ippcp/pcpgfpcpyelem.c | 71 - .../library/src/sources/ippcp/pcpgfpec.c | 61 - .../library/src/sources/ippcp/pcpgfpec_add.c | 138 - .../src/sources/ippcp/pcpgfpec_addaffine.c | 110 - .../src/sources/ippcp/pcpgfpec_baseprod.c | 74 - .../src/sources/ippcp/pcpgfpec_comppont.c | 103 - .../src/sources/ippcp/pcpgfpec_dblpoint.c | 111 - .../src/sources/ippcp/pcpgfpec_getpoint.c | 84 - .../src/sources/ippcp/pcpgfpec_makepoint.c | 72 - .../library/src/sources/ippcp/pcpgfpec_mul.c | 112 - .../library/src/sources/ippcp/pcpgfpec_mul1.c | 75 - .../src/sources/ippcp/pcpgfpec_mulbase.c | 92 - .../src/sources/ippcp/pcpgfpec_mulbase1.c | 58 - .../src/sources/ippcp/pcpgfpec_negpoint.c | 44 - .../library/src/sources/ippcp/pcpgfpec_prod.c | 145 - .../sources/ippcp/pcpgfpec_selectp192r1w7.c | 64 - .../sources/ippcp/pcpgfpec_selectp224r1w7.c | 64 - .../sources/ippcp/pcpgfpec_selectp256r1w7.c | 64 - .../sources/ippcp/pcpgfpec_selectp384r1w5.c | 64 - .../sources/ippcp/pcpgfpec_selectp521r1w5.c | 64 - .../src/sources/ippcp/pcpgfpec_setpoint.c | 82 - .../src/sources/ippcp/pcpgfpec_setuptable.c | 130 - .../src/sources/ippcp/pcpgfpecaddpoint.c | 110 - .../src/sources/ippcp/pcpgfpecbindstd192r1.c | 98 - .../src/sources/ippcp/pcpgfpecbindstd224r1.c | 98 - .../src/sources/ippcp/pcpgfpecbindstd256r1.c | 110 - .../src/sources/ippcp/pcpgfpecbindstd384r1.c | 110 - .../src/sources/ippcp/pcpgfpecbindstd521r1.c | 110 - .../src/sources/ippcp/pcpgfpecbindstdsm2.c | 109 - .../src/sources/ippcp/pcpgfpecbufsize.c | 71 - .../src/sources/ippcp/pcpgfpeccmppoint.c | 77 - .../src/sources/ippcp/pcpgfpeccpypoint.c | 75 - .../library/src/sources/ippcp/pcpgfpecdh.c | 184 - .../library/src/sources/ippcp/pcpgfpecdhc.c | 141 - .../src/sources/ippcp/pcpgfpecesdecryptsm2.c | 66 - .../src/sources/ippcp/pcpgfpecesencryptsm2.c | 66 - .../src/sources/ippcp/pcpgfpecesfinalsm2.c | 73 - .../ippcp/pcpgfpecesgetbufferssizesm2.c | 61 - .../src/sources/ippcp/pcpgfpecesgetsizesm2.c | 62 - .../src/sources/ippcp/pcpgfpecesinitsm2.c | 78 - .../src/sources/ippcp/pcpgfpecessetkeysm2.c | 98 - .../library/src/sources/ippcp/pcpgfpecessm2.h | 77 - .../src/sources/ippcp/pcpgfpecesstartsm2.c | 56 - .../library/src/sources/ippcp/pcpgfpecget.c | 86 - .../src/sources/ippcp/pcpgfpecgetinfo.c | 67 - .../src/sources/ippcp/pcpgfpecgetpoint.c | 85 - .../sources/ippcp/pcpgfpecgetpointoctstring.c | 89 - .../src/sources/ippcp/pcpgfpecgetpointreg.c | 107 - .../src/sources/ippcp/pcpgfpecgetsize.c | 61 - .../src/sources/ippcp/pcpgfpecgetsubgroup.c | 121 - .../library/src/sources/ippcp/pcpgfpecinit.c | 122 - .../src/sources/ippcp/pcpgfpecinitstd128r1.c | 117 - .../src/sources/ippcp/pcpgfpecinitstd128r2.c | 117 - .../src/sources/ippcp/pcpgfpecinitstd192r1.c | 117 - .../src/sources/ippcp/pcpgfpecinitstd224r1.c | 117 - .../src/sources/ippcp/pcpgfpecinitstd256r1.c | 126 - .../src/sources/ippcp/pcpgfpecinitstd384r1.c | 125 - .../src/sources/ippcp/pcpgfpecinitstd521r1.c | 126 - .../src/sources/ippcp/pcpgfpecinitstdbn256.c | 117 - .../src/sources/ippcp/pcpgfpecinitstdsm2.c | 128 - .../library/src/sources/ippcp/pcpgfpeckeys.c | 157 - .../src/sources/ippcp/pcpgfpecmakepoint.c | 87 - .../src/sources/ippcp/pcpgfpecmulpoint.c | 155 - .../src/sources/ippcp/pcpgfpecnegpoint.c | 76 - .../library/src/sources/ippcp/pcpgfpecpoint.c | 112 - .../src/sources/ippcp/pcpgfpecpointstuff.c | 133 - .../src/sources/ippcp/pcpgfpecprivatekey.c | 95 - .../src/sources/ippcp/pcpgfpecpublickey.c | 123 - .../library/src/sources/ippcp/pcpgfpecset.c | 99 - .../src/sources/ippcp/pcpgfpecsetpoint.c | 85 - .../src/sources/ippcp/pcpgfpecsetpointatinf.c | 67 - .../src/sources/ippcp/pcpgfpecsetpointhash.c | 154 - .../ippcp/pcpgfpecsetpointhash_backc.c | 155 - .../ippcp/pcpgfpecsetpointhash_backc_rmf.c | 151 - .../sources/ippcp/pcpgfpecsetpointhash_rmf.c | 150 - .../sources/ippcp/pcpgfpecsetpointoctstring.c | 89 - .../src/sources/ippcp/pcpgfpecsetpointrand.c | 135 - .../src/sources/ippcp/pcpgfpecsetpointreg.c | 106 - .../src/sources/ippcp/pcpgfpecsetsubgroup.c | 120 - .../src/sources/ippcp/pcpgfpecsigndsa.c | 252 - .../src/sources/ippcp/pcpgfpecsignnr.c | 206 - .../src/sources/ippcp/pcpgfpecsignsm2.c | 226 - .../library/src/sources/ippcp/pcpgfpecstuff.h | 407 - .../src/sources/ippcp/pcpgfpectstpoint.c | 80 - .../ippcp/pcpgfpectstpointinsubgroup.c | 91 - .../src/sources/ippcp/pcpgfpecverify.c | 142 - .../src/sources/ippcp/pcpgfpecverifydsa.c | 205 - .../src/sources/ippcp/pcpgfpecverifynr.c | 166 - .../src/sources/ippcp/pcpgfpecverifysm2.c | 184 - .../src/sources/ippcp/pcpgfpelemgetsize.c | 62 - .../src/sources/ippcp/pcpgfpeleminit.c | 78 - .../library/src/sources/ippcp/pcpgfpexp.c | 80 - .../library/src/sources/ippcp/pcpgfpgetelem.c | 83 - .../src/sources/ippcp/pcpgfpgetelemoctstr.c | 91 - .../library/src/sources/ippcp/pcpgfpgetsize.c | 58 - .../library/src/sources/ippcp/pcpgfpinfo.c | 64 - .../library/src/sources/ippcp/pcpgfpinit.c | 110 - .../src/sources/ippcp/pcpgfpinitarbitrary.c | 83 - .../src/sources/ippcp/pcpgfpinitfixed.c | 75 - .../library/src/sources/ippcp/pcpgfpinv.c | 77 - .../src/sources/ippcp/pcpgfpisunityelem.c | 84 - .../src/sources/ippcp/pcpgfpiszeroelem.c | 74 - .../library/src/sources/ippcp/pcpgfpmethod.h | 64 - .../src/sources/ippcp/pcpgfpmethod_192r1.c | 207 - .../src/sources/ippcp/pcpgfpmethod_224r1.c | 207 - .../src/sources/ippcp/pcpgfpmethod_256.c | 51 - .../src/sources/ippcp/pcpgfpmethod_256.h | 130 - .../src/sources/ippcp/pcpgfpmethod_256bn.c | 53 - .../src/sources/ippcp/pcpgfpmethod_256r1.c | 215 - .../src/sources/ippcp/pcpgfpmethod_384r1.c | 213 - .../src/sources/ippcp/pcpgfpmethod_521r1.c | 220 - .../src/sources/ippcp/pcpgfpmethod_com.c | 48 - .../src/sources/ippcp/pcpgfpmethod_sm2.c | 219 - .../library/src/sources/ippcp/pcpgfpmul.c | 79 - .../library/src/sources/ippcp/pcpgfpmulexp.c | 133 - .../library/src/sources/ippcp/pcpgfpmulpe.c | 83 - .../library/src/sources/ippcp/pcpgfpneg.c | 73 - .../library/src/sources/ippcp/pcpgfpsetelem.c | 89 - .../src/sources/ippcp/pcpgfpsetelemhash.c | 99 - .../src/sources/ippcp/pcpgfpsetelemhashrmf.c | 99 - .../src/sources/ippcp/pcpgfpsetelemoctstr.c | 96 - .../src/sources/ippcp/pcpgfpsetelemrand.c | 73 - .../src/sources/ippcp/pcpgfpsetelemreg.c | 63 - .../library/src/sources/ippcp/pcpgfpsqr.c | 74 - .../library/src/sources/ippcp/pcpgfpsqrt.c | 79 - .../library/src/sources/ippcp/pcpgfpstuff.h | 210 - .../library/src/sources/ippcp/pcpgfpsub.c | 76 - .../library/src/sources/ippcp/pcpgfpsubpe.c | 80 - .../ippcp/library/src/sources/ippcp/pcpgfpx.c | 71 - .../src/sources/ippcp/pcpgfpx_add_gfe.c | 43 - .../library/src/sources/ippcp/pcpgfpx_conj.c | 42 - .../library/src/sources/ippcp/pcpgfpx_exp.c | 142 - .../library/src/sources/ippcp/pcpgfpx_get.c | 58 - .../src/sources/ippcp/pcpgfpx_getpolyterm.c | 36 - .../library/src/sources/ippcp/pcpgfpx_inv.c | 223 - .../src/sources/ippcp/pcpgfpx_mul_gfe.c | 48 - .../src/sources/ippcp/pcpgfpx_multiexp.c | 184 - .../library/src/sources/ippcp/pcpgfpx_neg.c | 46 - .../library/src/sources/ippcp/pcpgfpx_rand.c | 52 - .../library/src/sources/ippcp/pcpgfpx_set.c | 56 - .../src/sources/ippcp/pcpgfpx_setpolyterm.c | 36 - .../src/sources/ippcp/pcpgfpx_sub_gfe.c | 43 - .../src/sources/ippcp/pcpgfpxgetsize.c | 85 - .../library/src/sources/ippcp/pcpgfpxinit.c | 108 - .../src/sources/ippcp/pcpgfpxinitbinomial.c | 92 - .../src/sources/ippcp/pcpgfpxmethod_binom.c | 123 - .../src/sources/ippcp/pcpgfpxmethod_binom2.c | 191 - .../src/sources/ippcp/pcpgfpxmethod_binom3.c | 195 - .../ippcp/pcpgfpxmethod_binom3_epid2.c | 254 - .../sources/ippcp/pcpgfpxmethod_binom_epid2.c | 274 - .../sources/ippcp/pcpgfpxmethod_binom_epid2.h | 99 - .../sources/ippcp/pcpgfpxmethod_binom_mulc.h | 57 - .../src/sources/ippcp/pcpgfpxmethod_com.c | 74 - .../src/sources/ippcp/pcpgfpxmethod_com.h | 53 - .../src/sources/ippcp/pcpgfpxmethod_com_add.c | 45 - .../sources/ippcp/pcpgfpxmethod_com_decode.c | 44 - .../sources/ippcp/pcpgfpxmethod_com_div2.c | 44 - .../sources/ippcp/pcpgfpxmethod_com_encode.c | 44 - .../src/sources/ippcp/pcpgfpxmethod_com_mul.c | 84 - .../sources/ippcp/pcpgfpxmethod_com_mul2.c | 44 - .../sources/ippcp/pcpgfpxmethod_com_mul3.c | 44 - .../src/sources/ippcp/pcpgfpxmethod_com_neg.c | 44 - .../src/sources/ippcp/pcpgfpxmethod_com_sqr.c | 84 - .../src/sources/ippcp/pcpgfpxmethod_com_sub.c | 45 - .../library/src/sources/ippcp/pcpgfpxstuff.c | 56 - .../library/src/sources/ippcp/pcpgfpxstuff.h | 144 - .../ippcp/library/src/sources/ippcp/pcphash.h | 235 - .../src/sources/ippcp/pcphash_digest.c | 126 - .../library/src/sources/ippcp/pcphash_func.h | 108 - .../library/src/sources/ippcp/pcphash_init.c | 61 - .../src/sources/ippcp/pcphash_reinit.c | 61 - .../library/src/sources/ippcp/pcphash_rmf.h | 48 - .../library/src/sources/ippcp/pcphashca_rmf.c | 57 - .../library/src/sources/ippcp/pcphashcnt.c | 435 - .../src/sources/ippcp/pcphashduplicate.c | 67 - .../src/sources/ippcp/pcphashduplicate_rmf.c | 67 - .../library/src/sources/ippcp/pcphashfinal.c | 68 - .../src/sources/ippcp/pcphashfinal_rmf.c | 76 - .../src/sources/ippcp/pcphashgetinfo_rmf.c | 89 - .../src/sources/ippcp/pcphashgetsize.c | 55 - .../src/sources/ippcp/pcphashgetsize_rmf.c | 56 - .../library/src/sources/ippcp/pcphashgettag.c | 69 - .../src/sources/ippcp/pcphashgettag_rmf.c | 77 - .../library/src/sources/ippcp/pcphashinit.c | 68 - .../src/sources/ippcp/pcphashinit_rmf.c | 60 - .../library/src/sources/ippcp/pcphashmd5px.c | 206 - .../src/sources/ippcp/pcphashmessage.c | 145 - .../src/sources/ippcp/pcphashmessage_rmf.c | 86 - .../src/sources/ippcp/pcphashmethod_md5.c | 67 - .../src/sources/ippcp/pcphashmethod_rmf.h | 45 - .../src/sources/ippcp/pcphashmethod_sha1.c | 64 - .../src/sources/ippcp/pcphashmethod_sha1_ni.c | 69 - .../src/sources/ippcp/pcphashmethod_sha1_tt.c | 73 - .../src/sources/ippcp/pcphashmethod_sha224.c | 65 - .../sources/ippcp/pcphashmethod_sha224_ni.c | 70 - .../sources/ippcp/pcphashmethod_sha224_tt.c | 73 - .../src/sources/ippcp/pcphashmethod_sha256.c | 64 - .../sources/ippcp/pcphashmethod_sha256_ni.c | 69 - .../sources/ippcp/pcphashmethod_sha256_tt.c | 73 - .../src/sources/ippcp/pcphashmethod_sha384.c | 65 - .../src/sources/ippcp/pcphashmethod_sha512.c | 65 - .../sources/ippcp/pcphashmethod_sha512_224.c | 65 - .../sources/ippcp/pcphashmethod_sha512_256.c | 65 - .../src/sources/ippcp/pcphashmethod_sm3.c | 64 - .../src/sources/ippcp/pcphashmethodgetsize.c | 55 - .../src/sources/ippcp/pcphashmethodset_md5.c | 64 - .../src/sources/ippcp/pcphashmethodset_sha1.c | 62 - .../sources/ippcp/pcphashmethodset_sha1_ni.c | 76 - .../sources/ippcp/pcphashmethodset_sha1_tt.c | 69 - .../sources/ippcp/pcphashmethodset_sha224.c | 62 - .../ippcp/pcphashmethodset_sha224_ni.c | 77 - .../ippcp/pcphashmethodset_sha224_tt.c | 69 - .../sources/ippcp/pcphashmethodset_sha256.c | 61 - .../ippcp/pcphashmethodset_sha256_ni.c | 76 - .../ippcp/pcphashmethodset_sha256_tt.c | 69 - .../sources/ippcp/pcphashmethodset_sha384.c | 62 - .../sources/ippcp/pcphashmethodset_sha512.c | 61 - .../ippcp/pcphashmethodset_sha512_224.c | 62 - .../ippcp/pcphashmethodset_sha512_256.c | 62 - .../src/sources/ippcp/pcphashmethodset_sm3.c | 61 - .../library/src/sources/ippcp/pcphashpack.c | 67 - .../src/sources/ippcp/pcphashpack_rmf.c | 65 - .../library/src/sources/ippcp/pcphashsha1px.c | 177 - .../src/sources/ippcp/pcphashsha256px.c | 208 - .../src/sources/ippcp/pcphashsha512px.c | 215 - .../library/src/sources/ippcp/pcphashsm3px.c | 338 - .../ippcp/pcphashstatemethodset_sha224.c | 64 - .../ippcp/pcphashstatemethodset_sha224_ni.c | 79 - .../ippcp/pcphashstatemethodset_sha224_tt.c | 71 - .../ippcp/pcphashstatemethodset_sha256.c | 63 - .../ippcp/pcphashstatemethodset_sha256_ni.c | 78 - .../ippcp/pcphashstatemethodset_sha256_tt.c | 71 - .../ippcp/pcphashstatemethodset_sha384.c | 64 - .../ippcp/pcphashstatemethodset_sha512.c | 64 - .../ippcp/pcphashstatemethodset_sha512_224.c | 64 - .../ippcp/pcphashstatemethodset_sha512_256.c | 64 - .../sources/ippcp/pcphashstatemethodset_sm3.c | 63 - .../library/src/sources/ippcp/pcphashunpack.c | 58 - .../src/sources/ippcp/pcphashunpack_rmf.c | 58 - .../library/src/sources/ippcp/pcphashupdate.c | 137 - .../src/sources/ippcp/pcphashupdate_rmf.c | 115 - .../ippcp/library/src/sources/ippcp/pcphmac.h | 52 - .../src/sources/ippcp/pcphmac_duplicate.c | 68 - .../library/src/sources/ippcp/pcphmac_final.c | 93 - .../src/sources/ippcp/pcphmac_getsize.c | 55 - .../src/sources/ippcp/pcphmac_gettag.c | 70 - .../library/src/sources/ippcp/pcphmac_init.c | 113 - .../src/sources/ippcp/pcphmac_message.c | 95 - .../library/src/sources/ippcp/pcphmac_pack.c | 74 - .../library/src/sources/ippcp/pcphmac_rmf.h | 41 - .../src/sources/ippcp/pcphmac_unpack.c | 60 - .../src/sources/ippcp/pcphmac_update.c | 68 - .../library/src/sources/ippcp/pcphmacca_rmf.c | 107 - .../src/sources/ippcp/pcphmacduplicate_rmf.c | 69 - .../src/sources/ippcp/pcphmacfinal_rmf.c | 95 - .../src/sources/ippcp/pcphmacgetsize_rmf.c | 56 - .../src/sources/ippcp/pcphmacgettag_rmf.c | 72 - .../src/sources/ippcp/pcphmacmessage_rmf.c | 93 - .../src/sources/ippcp/pcphmacpack_rmf.c | 75 - .../src/sources/ippcp/pcphmacunpack_rmf.c | 63 - .../src/sources/ippcp/pcphmacupdate_rmf.c | 69 - .../library/src/sources/ippcp/pcpmask_ct.h | 162 - .../library/src/sources/ippcp/pcpmd5ca.c | 62 - .../src/sources/ippcp/pcpmd5duplicate.c | 69 - .../library/src/sources/ippcp/pcpmd5final.c | 73 - .../library/src/sources/ippcp/pcpmd5getsize.c | 59 - .../library/src/sources/ippcp/pcpmd5gettag.c | 76 - .../library/src/sources/ippcp/pcpmd5init.c | 61 - .../src/sources/ippcp/pcpmd5messagedigest.c | 87 - .../library/src/sources/ippcp/pcpmd5pack.c | 63 - .../library/src/sources/ippcp/pcpmd5stuff.h | 100 - .../library/src/sources/ippcp/pcpmd5unpack.c | 60 - .../library/src/sources/ippcp/pcpmd5update.c | 116 - .../library/src/sources/ippcp/pcpmgf1ca_rmf.c | 99 - .../library/src/sources/ippcp/pcpmgf2ca_rmf.c | 100 - .../src/sources/ippcp/pcpmont_exp_bufsize.h | 51 - .../src/sources/ippcp/pcpmont_expbinbnu.c | 117 - .../sources/ippcp/pcpmont_expbinbnu_sscm.c | 122 - .../src/sources/ippcp/pcpmont_expsafebinary.c | 341 - .../src/sources/ippcp/pcpmont_expwinbnu.c | 161 - .../sources/ippcp/pcpmont_expwinbnu_sscm.c | 171 - .../src/sources/ippcp/pcpmont_getsize.c | 61 - .../library/src/sources/ippcp/pcpmont_init.c | 63 - .../src/sources/ippcp/pcpmont_multiexp_fast.c | 85 - .../sources/ippcp/pcpmont_multiexpinitarray.c | 87 - .../src/sources/ippcp/pcpmont_packctx.c | 52 - .../library/src/sources/ippcp/pcpmont_set.c | 76 - .../src/sources/ippcp/pcpmont_unpackctx.c | 52 - .../library/src/sources/ippcp/pcpmontexp.c | 82 - .../src/sources/ippcp/pcpmontexp_winsize.c | 80 - .../library/src/sources/ippcp/pcpmontform.c | 85 - .../library/src/sources/ippcp/pcpmontget.c | 66 - .../src/sources/ippcp/pcpmontgetsize.c | 62 - .../library/src/sources/ippcp/pcpmontgomery.h | 285 - .../library/src/sources/ippcp/pcpmontinit.c | 61 - .../library/src/sources/ippcp/pcpmontmul.c | 96 - .../library/src/sources/ippcp/pcpmontred.c | 70 - .../library/src/sources/ippcp/pcpmontred.h | 52 - .../library/src/sources/ippcp/pcpmontset.c | 67 - .../ippcp/library/src/sources/ippcp/pcpname.h | 49 - .../src/sources/ippcp/pcpngmontexpstuff.h | 129 - .../sources/ippcp/pcpngmontexpstuff_avx2.c | 682 -- .../sources/ippcp/pcpngmontexpstuff_avx2.h | 100 - .../sources/ippcp/pcpngmontexpstuff_avx512.c | 1089 --- .../sources/ippcp/pcpngmontexpstuff_avx512.h | 171 - .../src/sources/ippcp/pcpngmontexpstuff_bin.c | 122 - .../ippcp/pcpngmontexpstuff_bin_sscm.c | 112 - .../sources/ippcp/pcpngmontexpstuff_sse2.c | 879 -- .../sources/ippcp/pcpngmontexpstuff_sse2.h | 78 - .../src/sources/ippcp/pcpngmontexpstuff_win.c | 162 - .../ippcp/pcpngmontexpstuff_win_sscm.c | 149 - .../library/src/sources/ippcp/pcpngrsa.h | 123 - .../src/sources/ippcp/pcpngrsamethod.h | 76 - .../src/sources/ippcp/pcpp192r1precomca.c | 1937 ----- .../src/sources/ippcp/pcpp224r1precomca.c | 4489 ----------- .../src/sources/ippcp/pcpp256r1precomca.c | 2540 ------ .../src/sources/ippcp/pcpp384r1precomca.c | 1524 ---- .../src/sources/ippcp/pcpp521r1precomca.c | 4057 ---------- .../library/src/sources/ippcp/pcpprime_isco.h | 63 - .../src/sources/ippcp/pcpprime_isprob.h | 137 - .../src/sources/ippcp/pcpprime_mimimaltest.c | 341 - .../src/sources/ippcp/pcpprime_packctx.c | 56 - .../library/src/sources/ippcp/pcpprime_test.c | 187 - .../src/sources/ippcp/pcpprime_unpackctx.c | 68 - .../library/src/sources/ippcp/pcpprimeg.h | 91 - .../src/sources/ippcp/pcpprimegen_bn.c | 124 - .../library/src/sources/ippcp/pcpprimegenca.c | 117 - .../library/src/sources/ippcp/pcpprimeget.c | 65 - .../src/sources/ippcp/pcpprimeget_bn.c | 69 - .../src/sources/ippcp/pcpprimegetsize.c | 67 - .../src/sources/ippcp/pcpprimeginitca.c | 78 - .../src/sources/ippcp/pcpprimegsetca.c | 74 - .../src/sources/ippcp/pcpprimeset_bn.c | 72 - .../library/src/sources/ippcp/pcpprimetest.c | 78 - .../src/sources/ippcp/pcpprimetest_bn.c | 81 - .../ippcp/library/src/sources/ippcp/pcpprng.h | 65 - .../library/src/sources/ippcp/pcpprng_gen.c | 149 - .../library/src/sources/ippcp/pcpprng_genhw.h | 107 - .../library/src/sources/ippcp/pcpprngen_bn.c | 90 - .../src/sources/ippcp/pcpprngen_pattern.c | 53 - .../src/sources/ippcp/pcpprngen_range.c | 63 - .../library/src/sources/ippcp/pcpprngenca.c | 77 - .../src/sources/ippcp/pcpprngenhw_bn.c | 93 - .../library/src/sources/ippcp/pcpprngenhwca.c | 83 - .../src/sources/ippcp/pcpprnggetseed.c | 67 - .../src/sources/ippcp/pcpprnggetsize.c | 56 - .../library/src/sources/ippcp/pcpprnginitca.c | 87 - .../src/sources/ippcp/pcpprngsetaugment.c | 73 - .../library/src/sources/ippcp/pcpprngsetca.c | 69 - .../src/sources/ippcp/pcpprngsetmodulus.c | 67 - .../src/sources/ippcp/pcpprngsetseed.c | 72 - .../ippcp/library/src/sources/ippcp/pcprij.h | 286 - .../library/src/sources/ippcp/pcprij128safe.c | 243 - .../library/src/sources/ippcp/pcprij128safe.h | 94 - .../src/sources/ippcp/pcprij128safe2.h | 74 - .../src/sources/ippcp/pcprij128safedec2pxca.c | 157 - .../src/sources/ippcp/pcprij128safedecpxca.c | 411 - .../src/sources/ippcp/pcprij128safeenc2pxca.c | 113 - .../src/sources/ippcp/pcprij128safeencpxca.c | 380 - .../src/sources/ippcp/pcprijdecsboxca.c | 47 - .../src/sources/ippcp/pcprijencsboxca.c | 47 - .../library/src/sources/ippcp/pcprijkeysca.c | 301 - .../library/src/sources/ippcp/pcprijtables.h | 197 - .../src/sources/ippcp/pcprsa_decrypt.c | 93 - .../src/sources/ippcp/pcprsa_emsa_pkcs1v15.h | 59 - .../src/sources/ippcp/pcprsa_encrypt.c | 88 - .../src/sources/ippcp/pcprsa_generatekeys.c | 300 - .../ippcp/pcprsa_generatesign_pkcs1v15.h | 85 - .../ippcp/pcprsa_getbuffersizeprivatekey.c | 91 - .../ippcp/pcprsa_getbuffersizepublickey.c | 77 - .../sources/ippcp/pcprsa_getdefmeth_priv.h | 67 - .../src/sources/ippcp/pcprsa_getdefmeth_pub.h | 50 - .../sources/ippcp/pcprsa_getprivatekeytype1.c | 85 - .../sources/ippcp/pcprsa_getprivatekeytype2.c | 126 - .../src/sources/ippcp/pcprsa_getpublickey.c | 85 - .../ippcp/pcprsa_getsizeprivatekeytype1.c | 67 - .../ippcp/pcprsa_getsizeprivatekeytype2.c | 68 - .../sources/ippcp/pcprsa_getsizepublickey.c | 65 - .../ippcp/pcprsa_gsmethod__avx2_private.c | 56 - .../ippcp/pcprsa_gsmethod__avx2_public.c | 51 - .../ippcp/pcprsa_gsmethod__avx512_private.c | 85 - .../ippcp/pcprsa_gsmethod__avx512_public.c | 51 - .../ippcp/pcprsa_gsmethod__gpr_private.c | 55 - .../ippcp/pcprsa_gsmethod__gpr_public.c | 47 - .../ippcp/pcprsa_gsmethod__sse2_private.c | 57 - .../ippcp/pcprsa_gsmethod__sse2_public.c | 52 - .../src/sources/ippcp/pcprsa_gsprv_cipher.c | 49 - .../sources/ippcp/pcprsa_gsprv_cipher_crt.c | 159 - .../src/sources/ippcp/pcprsa_gspub_cipher.c | 49 - .../ippcp/pcprsa_initprivatekeytype1.c | 110 - .../ippcp/pcprsa_initprivatekeytype2.c | 129 - .../src/sources/ippcp/pcprsa_initpublickey.c | 97 - .../src/sources/ippcp/pcprsa_montexpgetsize.c | 47 - .../src/sources/ippcp/pcprsa_pkcs1c15_data.h | 60 - .../sources/ippcp/pcprsa_pkcs1v15_preproc.h | 76 - .../src/sources/ippcp/pcprsa_pss_preproc.h | 80 - .../sources/ippcp/pcprsa_setprivatekeytype1.c | 89 - .../sources/ippcp/pcprsa_setprivatekeytype2.c | 142 - .../src/sources/ippcp/pcprsa_setpublickey.c | 92 - .../sources/ippcp/pcprsa_sizeof_privkey1.h | 37 - .../sources/ippcp/pcprsa_sizeof_privkey2.h | 48 - .../src/sources/ippcp/pcprsa_sizeof_pubkey.h | 38 - .../src/sources/ippcp/pcprsa_validatekeys.c | 355 - .../ippcp/pcprsa_verifysign_pkcs1v15.h | 73 - .../src/sources/ippcp/pcprsadecrypt_oaep.c | 215 - .../sources/ippcp/pcprsadecrypt_oaep_rmf.c | 210 - .../src/sources/ippcp/pcprsadecrypt_pkcsv15.c | 153 - .../src/sources/ippcp/pcprsaencrypt_oaep.c | 159 - .../sources/ippcp/pcprsaencrypt_oaep_rmf.c | 153 - .../src/sources/ippcp/pcprsaencrypt_pkcsv15.c | 136 - .../src/sources/ippcp/pcprsasign_pkcs1v15.c | 86 - .../sources/ippcp/pcprsasign_pkcs1v15_rmf.c | 73 - .../src/sources/ippcp/pcprsasign_pss.c | 218 - .../src/sources/ippcp/pcprsasign_pss_rmf.c | 201 - .../sources/ippcp/pcprsasignhash_pkcs1v15.c | 85 - .../ippcp/pcprsasignhash_pkcs1v15_rmf.c | 84 - .../src/sources/ippcp/pcprsaverify_pkcs1v15.c | 73 - .../sources/ippcp/pcprsaverify_pkcs1v15_rmf.c | 64 - .../src/sources/ippcp/pcprsaverify_pss.c | 194 - .../src/sources/ippcp/pcprsaverify_pss_rmf.c | 186 - .../sources/ippcp/pcprsaverifyhash_pkcs1v15.c | 72 - .../ippcp/pcprsaverifyhash_pkcs1v15_rmf.c | 72 - .../library/src/sources/ippcp/pcpscramble.h | 169 - .../library/src/sources/ippcp/pcpsha1ca.c | 66 - .../src/sources/ippcp/pcpsha1duplicate.c | 66 - .../library/src/sources/ippcp/pcpsha1final.c | 75 - .../src/sources/ippcp/pcpsha1getsize.c | 56 - .../library/src/sources/ippcp/pcpsha1gettag.c | 78 - .../library/src/sources/ippcp/pcpsha1init.c | 58 - .../src/sources/ippcp/pcpsha1messagedigest.c | 98 - .../library/src/sources/ippcp/pcpsha1pack.c | 61 - .../library/src/sources/ippcp/pcpsha1stuff.h | 87 - .../library/src/sources/ippcp/pcpsha1unpack.c | 59 - .../library/src/sources/ippcp/pcpsha1update.c | 122 - .../src/sources/ippcp/pcpsha224duplicate.c | 59 - .../src/sources/ippcp/pcpsha224final.c | 78 - .../src/sources/ippcp/pcpsha224getsize.c | 53 - .../src/sources/ippcp/pcpsha224gettag.c | 82 - .../library/src/sources/ippcp/pcpsha224init.c | 53 - .../sources/ippcp/pcpsha224messagedigest.c | 66 - .../library/src/sources/ippcp/pcpsha224pack.c | 54 - .../src/sources/ippcp/pcpsha224unpack.c | 54 - .../src/sources/ippcp/pcpsha224update.c | 57 - .../sources/ippcp/pcpsha256_messagedigest.c | 87 - .../library/src/sources/ippcp/pcpsha256ca.c | 65 - .../src/sources/ippcp/pcpsha256duplicate.c | 67 - .../src/sources/ippcp/pcpsha256final.c | 79 - .../src/sources/ippcp/pcpsha256getsize.c | 52 - .../src/sources/ippcp/pcpsha256gettag.c | 81 - .../library/src/sources/ippcp/pcpsha256init.c | 52 - .../sources/ippcp/pcpsha256messagedigest.c | 65 - .../library/src/sources/ippcp/pcpsha256pack.c | 61 - .../src/sources/ippcp/pcpsha256stuff.h | 175 - .../src/sources/ippcp/pcpsha256unpack.c | 59 - .../src/sources/ippcp/pcpsha256update.c | 122 - .../src/sources/ippcp/pcpsha384duplicate.c | 58 - .../src/sources/ippcp/pcpsha384final.c | 80 - .../src/sources/ippcp/pcpsha384getsize.c | 53 - .../src/sources/ippcp/pcpsha384gettag.c | 82 - .../library/src/sources/ippcp/pcpsha384init.c | 53 - .../sources/ippcp/pcpsha384messagedigest.c | 66 - .../library/src/sources/ippcp/pcpsha384pack.c | 54 - .../src/sources/ippcp/pcpsha384unpack.c | 54 - .../src/sources/ippcp/pcpsha384update.c | 57 - .../src/sources/ippcp/pcpsha512_init.c | 52 - .../sources/ippcp/pcpsha512_messagedigest.c | 71 - .../src/sources/ippcp/pcpsha512duplicate.c | 66 - .../src/sources/ippcp/pcpsha512final.c | 81 - .../src/sources/ippcp/pcpsha512getsize.c | 52 - .../src/sources/ippcp/pcpsha512gettag.c | 83 - .../library/src/sources/ippcp/pcpsha512init.c | 52 - .../sources/ippcp/pcpsha512messagedigest.c | 65 - .../library/src/sources/ippcp/pcpsha512pack.c | 61 - .../src/sources/ippcp/pcpsha512stuff.h | 200 - .../src/sources/ippcp/pcpsha512unpack.c | 58 - .../src/sources/ippcp/pcpsha512update.c | 116 - .../library/src/sources/ippcp/pcpshsmgfca.c | 113 - .../src/sources/ippcp/pcpsm2pprecomca.c | 2540 ------ .../library/src/sources/ippcp/pcpsm3ca.c | 56 - .../src/sources/ippcp/pcpsm3duplicate.c | 66 - .../library/src/sources/ippcp/pcpsm3final.c | 78 - .../library/src/sources/ippcp/pcpsm3getsize.c | 56 - .../library/src/sources/ippcp/pcpsm3gettag.c | 81 - .../library/src/sources/ippcp/pcpsm3init.c | 58 - .../src/sources/ippcp/pcpsm3messagedigest.c | 95 - .../library/src/sources/ippcp/pcpsm3pack.c | 61 - .../library/src/sources/ippcp/pcpsm3stuff.h | 96 - .../library/src/sources/ippcp/pcpsm3unpack.c | 58 - .../library/src/sources/ippcp/pcpsm3update.c | 113 - .../ippcp/library/src/sources/ippcp/pcpsms4.h | 185 - .../src/sources/ippcp/pcpsms4_cbc_gfni.c | 1267 --- .../src/sources/ippcp/pcpsms4_ccmdecrypt.c | 188 - .../src/sources/ippcp/pcpsms4_ccmencrypt.c | 187 - .../src/sources/ippcp/pcpsms4_ccmgetsize.c | 54 - .../src/sources/ippcp/pcpsms4_ccmgettag.c | 100 - .../src/sources/ippcp/pcpsms4_ccminit.c | 71 - .../src/sources/ippcp/pcpsms4_ccmmessagelen.c | 58 - .../src/sources/ippcp/pcpsms4_ccmstart.c | 205 - .../src/sources/ippcp/pcpsms4_ccmtaglen.c | 63 - .../src/sources/ippcp/pcpsms4_cfb_gfni.c | 1597 ---- .../src/sources/ippcp/pcpsms4_cipher.c | 79 - .../src/sources/ippcp/pcpsms4_ctr_gfni.c | 1427 ---- .../src/sources/ippcp/pcpsms4_decrypt_cbc.c | 104 - .../src/sources/ippcp/pcpsms4_decrypt_cbc.h | 37 - .../src/sources/ippcp/pcpsms4_ecb_gfni.c | 1170 --- .../src/sources/ippcp/pcpsms4_ecb_x1_aesni.c | 114 - .../src/sources/ippcp/pcpsms4_ecb_x1_gfni.c | 119 - .../src/sources/ippcp/pcpsms4_encrypt_cbc.c | 73 - .../src/sources/ippcp/pcpsms4_encrypt_cbc.h | 37 - .../library/src/sources/ippcp/pcpsms4_gfni.h | 302 - .../library/src/sources/ippcp/pcpsms4_l9cn.h | 186 - .../src/sources/ippcp/pcpsms4_process_ctr.c | 187 - .../src/sources/ippcp/pcpsms4_process_ofb8.c | 81 - .../src/sources/ippcp/pcpsms4_process_ofb8.h | 37 - .../library/src/sources/ippcp/pcpsms4_y8cn.h | 161 - .../src/sources/ippcp/pcpsms4authccm.h | 89 - .../src/sources/ippcp/pcpsms4cbcl9cn.c | 239 - .../src/sources/ippcp/pcpsms4cbcy8cn.c | 568 -- .../library/src/sources/ippcp/pcpsms4cnt.c | 71 - .../src/sources/ippcp/pcpsms4ctrl9cn.c | 248 - .../src/sources/ippcp/pcpsms4ctry8cn.c | 165 - .../src/sources/ippcp/pcpsms4decryptcbc.c | 78 - .../src/sources/ippcp/pcpsms4decryptcbc_cs1.c | 125 - .../src/sources/ippcp/pcpsms4decryptcbc_cs2.c | 126 - .../src/sources/ippcp/pcpsms4decryptcbc_cs3.c | 121 - .../src/sources/ippcp/pcpsms4decryptcfb.c | 162 - .../src/sources/ippcp/pcpsms4decryptctr.c | 66 - .../src/sources/ippcp/pcpsms4decryptecb.c | 95 - .../src/sources/ippcp/pcpsms4decryptofb.c | 78 - .../sources/ippcp/pcpsms4ecb_aesni_x12y8cn.c | 588 -- .../sources/ippcp/pcpsms4ecb_setkeysy8cn.c | 128 - .../src/sources/ippcp/pcpsms4ecbl9cn.c | 223 - .../src/sources/ippcp/pcpsms4encryptcbc.c | 78 - .../src/sources/ippcp/pcpsms4encryptcbc_cs1.c | 102 - .../src/sources/ippcp/pcpsms4encryptcbc_cs2.c | 116 - .../src/sources/ippcp/pcpsms4encryptcbc_cs3.c | 115 - .../src/sources/ippcp/pcpsms4encryptcfb.c | 125 - .../src/sources/ippcp/pcpsms4encryptctr.c | 66 - .../src/sources/ippcp/pcpsms4encryptecb.c | 95 - .../src/sources/ippcp/pcpsms4encryptofb.c | 78 - .../src/sources/ippcp/pcpsms4getsize.c | 55 - .../library/src/sources/ippcp/pcpsms4initca.c | 73 - .../library/src/sources/ippcp/pcpsms4setkey.c | 114 - .../library/src/sources/ippcp/pcptdesctrca.c | 180 - .../src/sources/ippcp/pcptdesdecryptcbcca.c | 129 - .../src/sources/ippcp/pcptdesdecryptcbcpxca.c | 47 - .../src/sources/ippcp/pcptdesdecryptcfbca.c | 130 - .../src/sources/ippcp/pcptdesdecryptecbca.c | 119 - .../src/sources/ippcp/pcptdesecbpxca.c | 44 - .../src/sources/ippcp/pcptdesencryptcbcca.c | 128 - .../src/sources/ippcp/pcptdesencryptcbcpx.c | 47 - .../src/sources/ippcp/pcptdesencryptcfbca.c | 130 - .../src/sources/ippcp/pcptdesencryptecbca.c | 119 - .../library/src/sources/ippcp/pcptdesofbca.c | 185 - .../ippcp/library/src/sources/ippcp/pcptool.c | 65 - .../ippcp/library/src/sources/ippcp/pcptool.h | 640 -- .../library/src/sources/ippcp/pcptrngenhwca.c | 202 - .../library/src/sources/ippcp/pcpvariant.h | 419 - .../ippcp/library/src/sources/ippcp/pcpver.c | 91 - .../ippcp/library/src/sources/ippcp/pcpver.h | 31 - .../ippcp/library/src/sources/ippcp/pcpver.rc | 30 - .../ippcp/sm2/ifma_arith_method_nsm2.c | 50 - .../ippcp/sm2/ifma_arith_method_psm2.c | 49 - .../sources/ippcp/sm2/ifma_arith_method_sm2.h | 38 - .../src/sources/ippcp/sm2/ifma_arith_nsm2.c | 251 - .../src/sources/ippcp/sm2/ifma_arith_nsm2.h | 111 - .../src/sources/ippcp/sm2/ifma_arith_psm2.c | 388 - .../src/sources/ippcp/sm2/ifma_arith_psm2.h | 175 - .../src/sources/ippcp/sm2/ifma_defs_sm2.h | 78 - .../sources/ippcp/sm2/ifma_ec_addpoint_sm2.c | 59 - .../src/sources/ippcp/sm2/ifma_ec_dh_sm2.c | 80 - .../sources/ippcp/sm2/ifma_ec_mulpoint_sm2.c | 65 - .../sources/ippcp/sm2/ifma_ec_on_curve_sm2.c | 45 - .../sources/ippcp/sm2/ifma_ec_pubkey_sm2.c | 75 - .../src/sources/ippcp/sm2/ifma_ec_sign_sm2.c | 165 - .../sources/ippcp/sm2/ifma_ec_verify_sm2.c | 148 - .../src/sources/ippcp/sm2/ifma_ecpoint_sm2.c | 748 -- .../src/sources/ippcp/sm2/ifma_ecpoint_sm2.h | 193 - .../sources/ippcp/sm2/ifma_ecprecomp7_sm2.h | 2536 ------ .../sm2/ifma_sm2_key_exchange_shared_key.c | 264 - .../src/sources/ippcp/sm2/sm2_decrypt_ext.c | 186 - .../ippcp/sm2/sm2_decrypt_ext_dec_msg_size.c | 65 - .../src/sources/ippcp/sm2/sm2_encrypt_ext.c | 199 - .../ippcp/sm2/sm2_encrypt_ext_enc_msg_size.c | 68 - .../ippcp/sm2/sm2_key_exchange_confirmation.c | 116 - .../ippcp/sm2/sm2_key_exchange_get_size.c | 58 - .../sources/ippcp/sm2/sm2_key_exchange_init.c | 108 - .../ippcp/sm2/sm2_key_exchange_method.h | 63 - .../ippcp/sm2/sm2_key_exchange_setup.c | 145 - .../ippcp/sm2/sm2_key_exchange_shared_key.c | 310 - .../ippcp/sm2/sm2_message_representation.c | 107 - .../library/src/sources/ippcp/sm2/sm2_stuff.c | 179 - .../library/src/sources/ippcp/sm2/sm2_stuff.h | 181 - .../src/sources/ippcp/sm2/sm2_user_id_hash.c | 125 - .../ipp_custom_library_tool_python/gui/app.py | 118 - .../gui/controller.py | 204 - .../gui/custom_functions_panel.py | 67 - .../gui/selection_panel.py | 133 - .../gui/settings_panel.py | 204 - .../ipp_custom_library_tool_python/icon.ico | Bin 46189 -> 0 bytes .../ipp_custom_library_tool_python/main.py | 166 - .../requirements.txt | 2 - .../tests/functions_tests.py | 86 - .../tests/utils.py | 58 - .../tool/core.py | 89 - .../tool/generators.py | 224 - .../tool/generators_utils.py | 326 - .../tool/package.py | 231 - .../tool/utils.py | 348 - .../rocksdb/plugin/ippcp/security.md | 5 - .../rocksdb/plugin/ippcp/test_linux/Makefile | 12 - .../plugin/ippcp/test_linux/ippcp_example.cc | 69 - .../rocksdb/plugin/ippcp/test_macos/Makefile | 12 - .../plugin/ippcp/test_macos/ippcp_example.cc | 68 - .../rocksdb/plugin/ippcp/test_plain/Makefile | 12 - .../plugin/ippcp/test_plain/ippcp_example.cc | 68 - .../rocksdb/plugin/ippcp/tests/CMakeLists.txt | 61 - .../ippcp/tests/ippcp_encryptor_test.cc | 430 - 1498 files changed, 326786 deletions(-) delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/.gitignore delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/CODE_OF_CONDUCT.md delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/CONTRIBUTING.md delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/LICENSE delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/README.md delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/ippcp.mk delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/ippcp_db_bench_env.cc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/ippcp_provider.cc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/ippcp_provider.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/cpu_features.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/defs.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/ec_nistp256.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/ec_nistp384.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/ec_nistp521.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/ec_sm2.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/ed25519.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/exp.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/rsa.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/sm3.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/sm4.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/sm4_ccm.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/sm4_gcm.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/status.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/version.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/x25519.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/ippcp.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/ippcpdefs.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/ippversion.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_e9.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_g9.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_h9.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_k0.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_k1.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_l9.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_m7.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_n0.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_n8.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_p8.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_s8.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_w7.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_y8.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/linux/lib/libippcp.a delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/macos/lib/libippcp.a delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/.clang-format delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/.gitattributes delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/BUILD.md delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/CHANGELOG.md delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/CMakeLists.txt delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/CONST_TIME_EXECUTION_TESTING.md delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/DEPRECATION_NOTES.md delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/LICENSE delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/MAC.md delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/OVERVIEW.md delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/README.md delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/SECURITY.md delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/THIRD-PARTY-PROGRAMS.txt delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/data/images/README-pictures-0-dispatcher.png delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/data/images/README-pictures-1-library-configurations.png delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/data/images/README-pictures-1a-build-targets.png delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/data/images/README-pictures-2-merged-library.png delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/data/images/README-pictures-3-cpu-specific-libraries.png delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/data/images/README-pictures-4a-1CPU.png delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/data/images/README-pictures-4b-1CPU.png delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/examples/CMakeLists.txt delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/examples/README.md delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/examples/aes/aes-256-ctr-decryption.cpp delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/examples/aes/aes-256-ctr-encryption.cpp delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/examples/dsa/dsa-dlp-sha-1-verification.cpp delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/examples/dsa/dsa-dlp-sha-256-verification.cpp delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/examples/rsa/rsa-1k-oaep-sha1-encryption.cpp delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/examples/rsa/rsa-1k-oaep-sha1-type2-decryption.cpp delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/examples/rsa/rsa-1k-pss-sha1-verification.cpp delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/examples/rsa/rsa-3k-pss-sha384-type1-signature.cpp delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/examples/sms4/sms4-128-cbc-decryption.cpp delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/examples/sms4/sms4-128-cbc-encryption.cpp delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/examples/utils/bignum.cpp delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/examples/utils/bignum.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/examples/utils/examples_common.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/examples/utils/requests.cpp delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/examples/utils/requests.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/examples/utils/utils.cpp delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/examples/utils/utils.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/include/ippcp.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/include/ippcpdefs.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/include/ippversion.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/cmake/CMakeASM_NASMOptions.txt delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/cmake/ippcp-config-version.cmake.in delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/cmake/ippcp-config.cmake.in delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/cmake/linux/sanitizers_ignorelist.txt delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/cmake/pkg-config/crypto_mb-dynamic.pc.in delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/cmake/pkg-config/crypto_mb-static.pc.in delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/cmake/pkg-config/ippcp-dynamic.pc.in delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/cmake/pkg-config/ippcp-static.pc.in delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/dispatcher/gen_disp_common.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/dispatcher/gen_disp_lin32.nonpic.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/dispatcher/gen_disp_lin32.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/dispatcher/gen_disp_lin64.nonpic.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/dispatcher/gen_disp_lin64.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/dispatcher/gen_disp_mac64.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/dispatcher/gen_disp_win32.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/dispatcher/gen_disp_win64.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/gen_cpu_spc_header/gen_cpu_spc_1cpu_header.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/gen_cpu_spc_header/gen_cpu_spc_header.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/include/asmdefs.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/include/dispatcher.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/include/ia_32e.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/include/ia_common.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/include/ia_emm.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/include/ippres.gen delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/include/ippver.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/include/owndefs.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/include/utils.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/CMakeLists.txt delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/aes_cfb_aesni_mb.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/aes_cfb_aesni_mb4.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/aes_cfb_vaes_mb.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/aes_cfb_vaes_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/aes_cfb_vaes_mb4.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/aes_cfb_vaes_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/aes_gcm_avx512.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/aes_gcm_avx512_structures.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/aes_gcm_vaes.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/aes_keyexp.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/cpinitas.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/emulator.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpaesgcmg9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpaesgcmtable2kv8as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpbnu.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpbnuaddw7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpbnuincw7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpbnumuldgtw7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpbnumulschoolv8as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpbnusqrw7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpbnusubw7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpdelay.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpmd5w7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpmontreductionv8as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpmontreductionw7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpp192r1arith_mont_slm.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpp224r1arith_mont_slm.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpp256r1arith_mont_slm.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpp384r1arith_mont_slm.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpp521r1arith_mont_slm.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcppurgeblkw7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcprc4v8as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcprc4w7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcprij128ccmg9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcprij128cmacg9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcprij128decryptcbcpipeg9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcprij128decryptcfbpipeg9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcprij128decryptecbpipeg9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcprij128decryptg9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcprij128decryptxtsg9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcprij128encryptcbcg9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcprij128encryptcfbg9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcprij128encryptctrpipeg9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcprij128encryptecbpipeg9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcprij128encryptg9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcprij128encryptofbg9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcprij128encryptxtsg9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcprij128safedecm5as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcprij128safedecv8as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcprij128safeencv8as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcprijnkeyw7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpsha1nias.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpsha1w7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpsha256g9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpsha256nias.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpsha256v8as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpsha256w7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpsha512g9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpsha512w7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpsm2arith_mont_slm.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpvariant.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpvariant_txt_acm.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_ia32/pcpvariant_xmm7560.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/aes_common.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/aes_keyexp_128.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/aes_keyexp_192.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/aes_keyexp_256.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/clear_regs.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/cpinitas.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/emulator.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/gcm128_api_vaes_avx512.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/gcm128_avx512.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/gcm192_api_vaes_avx512.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/gcm192_avx512.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/gcm256_api_vaes_avx512.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/gcm256_avx512.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/gcm_api_vaes_avx512.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/gcm_avx512.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/gcm_defines.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/gcm_ippcp_api_vaes_avx512.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/gcm_keys_avx512.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/gcm_keys_vaes_avx512.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/gcm_vaes_avx512.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/ia_32e_regs.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/memcpy.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/os.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpaesgcme9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpaesgcmtable2ku8as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpbnuaddm7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpbnudivm7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpbnuincm7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpbnum7.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpbnumaconem7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpbnumul.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpbnumul_basic.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpbnumul_fix.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpbnumulpp.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpbnumulpp_basic.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpbnumulpp_fix.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpbnumulschool.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpbnumulschoolm7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpbnumulschoolsrvl9.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpbnumulschoolsrvl9pp.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpbnusqr.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpbnusqr_basic.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpbnusqrpp.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpbnusqrpp_basic.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpbnusqrschool.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpbnusqrschoolm7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpbnusubm7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpdelay.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpmd5m7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpmontmul1024_avx2as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpmontmul_avx2as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpmontreductionm7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpmontsqr1024_avx2as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpmontsqr_avx2as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpmred.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpmred_basic.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpmredpp.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpmredpp_basic.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpmulx.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpp192r1funcs_montas.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpp224r1funcs_montas.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpp256funcs_montas.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpp256r1funcs_montas.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpp384r1funcs_montas.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpp521r1funcs_montas.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcppurgeblkm7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcprc4m7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcprij128ccme9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcprij128cmace9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcprij128decryptcbcpipee9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcprij128decryptcfbpipee9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcprij128decrypte9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcprij128decryptecbpipee9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcprij128decryptxtse9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcprij128encryptcbce9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcprij128encryptcfbe9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcprij128encryptctr128pipee9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcprij128encryptctrpipee9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcprij128encrypte9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcprij128encryptecbpipee9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcprij128encryptofbe9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcprij128encryptxtse9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcprij128safedecu8as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcprij128safeencu8as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcprijnkeym7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpsha1e9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpsha1l9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpsha1m7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpsha1nias.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpsha1u8as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpsha256e9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpsha256l9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpsha256m7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpsha256nias.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpsha256u8as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpsha512e9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpsha512l9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpsha512m7as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpsm2pfuncs_montas.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpsm3e9as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpsm3u8as.asm delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpvariant.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/pcpvariant_txt_acm.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/asm_intel64/reg_sizes.inc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/cpinit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/CMakeLists.txt delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/Readme.md delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/crypto_mb/cpu_features.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/crypto_mb/defs.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/crypto_mb/ec_nistp256.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/crypto_mb/ec_nistp384.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/crypto_mb/ec_nistp521.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/crypto_mb/ec_sm2.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/crypto_mb/ed25519.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/crypto_mb/exp.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/crypto_mb/rsa.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/crypto_mb/sm3.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/crypto_mb/sm4.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/crypto_mb/sm4_ccm.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/crypto_mb/sm4_gcm.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/crypto_mb/status.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/crypto_mb/version.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/crypto_mb/x25519.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/common/crypto_mb_ver.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/common/ifma_cvt52.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/common/ifma_defs.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/common/ifma_math.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/common/mem_fns.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/ecnist/ifma_arith_p256.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/ecnist/ifma_arith_p384.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/ecnist/ifma_arith_p521.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/ecnist/ifma_ecpoint_p256.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/ecnist/ifma_ecpoint_p384.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/ecnist/ifma_ecpoint_p521.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/ecnist/ifma_ecprecomp4_p256.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/ecnist/ifma_ecprecomp4_p384.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/ecnist/ifma_ecprecomp4_p521.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/ecnist/ifma_ecprecomp5_p256.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/ecnist/ifma_ecprecomp7_p256.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/ed25519/ifma_arith_ed25519.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/ed25519/ifma_arith_n25519.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/ed25519/ifma_arith_p25519.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/ed25519/ifma_ed25519_precomp4.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/ed25519/sha512.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/exp/ifma_exp_method.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/rsa/ifma_div_104_by_52.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/rsa/ifma_rsa_arith.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/rsa/ifma_rsa_layer_cp.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/rsa/ifma_rsa_layer_ssl.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/rsa/ifma_rsa_method.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/sm2/ifma_arith_sm2.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/sm2/ifma_ecpoint_sm2.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/sm2/ifma_ecprecomp4_psm2.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/sm3/sm3_common.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/sm3/sm3_mb16.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/sm3/sm3_mb8.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/sm4/sm4_ccm_mb.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/sm4/sm4_gcm_mb.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/include/internal/sm4/sm4_mb.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/CMakeLists.txt delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/cmake/dll_export/crypto_mb.defs delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/cmake/dll_export/crypto_mb.linux.lib-export delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/cmake/dll_export/crypto_mb.macosx.lib-export delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/common/cpu_features.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/common/crypto_mb_res.gen delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/common/crypto_mb_ver.rc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/common/ifma52_mb8_template.cxx delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/common/ifma_cvt52.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/common/ifma_version.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ecnist/ifma_arith_m256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ecnist/ifma_arith_n256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ecnist/ifma_arith_n384.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ecnist/ifma_arith_n521.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ecnist/ifma_arith_p256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ecnist/ifma_arith_p384.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ecnist/ifma_arith_p521.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ecnist/ifma_ecdh_p256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ecnist/ifma_ecdh_p384.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ecnist/ifma_ecdh_p521.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ecnist/ifma_ecdsa_p256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ecnist/ifma_ecdsa_p384.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ecnist/ifma_ecdsa_p521.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ecnist/ifma_ecpoint_p256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ecnist/ifma_ecpoint_p384.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ecnist/ifma_ecpoint_p521.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ecnist/ifma_ecpubkey_p256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ecnist/ifma_ecpubkey_p384.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ecnist/ifma_ecpubkey_p521.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ed25519/ifma_arith_ed25519.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ed25519/ifma_arith_n25519.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ed25519/ifma_arith_p25519.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ed25519/ifma_ed25519.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/ed25519/sha512.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/exp/ifma_exp1k_mb.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/exp/ifma_exp2k_mb.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/exp/ifma_exp3k_mb.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/exp/ifma_exp4k_mb.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/exp/ifma_exp_mb.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/exp/ifma_exp_method.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/avx512_primitives/AMS4x52x20_diagonal_stitched_with_extract_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/avx512_primitives/ifma_ahmm52x20_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/avx512_primitives/ifma_ahmr52x20_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/avx512_primitives/ifma_amm52x10_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/avx512_primitives/ifma_amm52x20_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/avx512_primitives/ifma_amm52x30_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/avx512_primitives/ifma_amm52x40_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/avx512_primitives/ifma_amm52x60_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/avx512_primitives/ifma_amm52x79_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/avx512_primitives/ifma_ams52x10_diagonal_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/avx512_primitives/ifma_ams52x20_diagonal_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/avx512_primitives/ifma_ams52x30_diagonal_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/avx512_primitives/ifma_ams52x40_diagonal_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/avx512_primitives/ifma_ams52x60_diagonal_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/avx512_primitives/ifma_ams52x79_diagonal_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/avx512_primitives/ifma_ams5x52x10_diagonal_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/avx512_primitives/ifma_ams5x52x20_diagonal_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/avx512_primitives/ifma_ams5x52x40_diagonal_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/avx512_primitives/ifma_extract_amm52x20_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/ifma_div_104_by_52.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/ifma_exp52x10_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/ifma_exp52x20_65537_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/ifma_exp52x20_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/ifma_exp52x30_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/ifma_exp52x40_65537_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/ifma_exp52x40_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/ifma_exp52x60_65537_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/ifma_exp52x60_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/ifma_exp52x79_65537_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/ifma_exp52x79_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/ifma_method.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/ifma_other52x_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/ifma_rsa_layer_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/ifma_rsa_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/ifma_rsa_ssl_prv2_layer_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/ifma_rsa_ssl_prv2_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/ifma_rsa_ssl_prv5_layer_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/ifma_rsa_ssl_prv5_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/ifma_rsa_ssl_pub65537_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/rsa/ifma_rsa_ssl_pub_layer_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm2/ifma_arith_nsm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm2/ifma_arith_psm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm2/ifma_ecdh_sm2.c delete mode 100755 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm2/ifma_ecdsa_sm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm2/ifma_ecpoint_sm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm2/ifma_ecpubkey_sm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm3/sm3_avx512_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm3/sm3_avx512_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm3/sm3_final_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm3/sm3_final_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm3/sm3_init_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm3/sm3_init_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm3/sm3_messagedigest_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm3/sm3_messagedigest_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm3/sm3_update_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm3/sm3_update_mb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/ccm/internal/sm4_ccm_decrypt_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/ccm/internal/sm4_ccm_encrypt_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/ccm/internal/sm4_ccm_get_tag_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/ccm/internal/sm4_ccm_set_msg_len_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/ccm/internal/sm4_ccm_set_tag_len_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/ccm/internal/sm4_ccm_update_aad_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/ccm/internal/sm4_ccm_update_iv_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/ccm/sm4_ccm_decrypt_mb16_api.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/ccm/sm4_ccm_encrypt_mb16_api.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/ccm/sm4_ccm_get_tag_mb16_api.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/ccm/sm4_ccm_init_mb16_api.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/ccm/sm4_ccm_update_aad_mb16_api.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/gcm/internal/sm4_gcm_decrypt_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/gcm/internal/sm4_gcm_encrypt_j0_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/gcm/internal/sm4_gcm_encrypt_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/gcm/internal/sm4_gcm_finalize_iv_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/gcm/internal/sm4_gcm_gctr_kernel_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/gcm/internal/sm4_gcm_get_tag_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/gcm/internal/sm4_gcm_ghash_mul_single_block_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/gcm/internal/sm4_gcm_precompute_hashkey_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/gcm/internal/sm4_gcm_update_aad_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/gcm/internal/sm4_gcm_update_ghash_full_blocks_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/gcm/internal/sm4_gcm_update_ghash_partial_blocks_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/gcm/internal/sm4_gcm_update_iv_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/gcm/sm4_gcm_decrypt_mb16_api.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/gcm/sm4_gcm_encrypt_mb16_api.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/gcm/sm4_gcm_get_tag_mb16_api.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/gcm/sm4_gcm_init_mb16_api.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/gcm/sm4_gcm_update_aad_mb16_api.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/gcm/sm4_gcm_update_iv_mb16_api.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/sm4_cbc_dec_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/sm4_cbc_enc_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/sm4_cbc_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/sm4_cfb_dec_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/sm4_cfb_enc_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/sm4_cfb_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/sm4_ctr_dec_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/sm4_ctr_enc_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/sm4_ctr_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/sm4_ecb_dec_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/sm4_ecb_enc_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/sm4_ecb_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/sm4_ofb_dec_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/sm4_ofb_enc_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/sm4_ofb_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/sm4_setkey_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/sm4_xts_dec_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/sm4_xts_enc_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/sm4/sm4_xts_mb16.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/crypto_mb/src/x25519/ifma_x25519.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_alias_avx512.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_alias_avx512vl.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_arith_method.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_arith_method_n256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_arith_method_n384.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_arith_method_n521.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_arith_method_p256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_arith_method_p384.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_arith_method_p521.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_arith_method_p521.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_arith_n256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_arith_n256.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_arith_n384.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_arith_n384.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_arith_n521.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_arith_n521.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_arith_p256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_arith_p256.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_arith_p384.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_arith_p384.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_arith_p521.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_arith_p521.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_defs.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_defs_p521.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ec_addpoint_p256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ec_addpoint_p384.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ec_addpoint_p521.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ec_dh_p256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ec_dh_p384.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ec_dh_p521.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ec_dsasign_p256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ec_dsasign_p384.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ec_dsasign_p521.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ec_dsaverify_p256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ec_dsaverify_p384.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ec_dsaverify_p521.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ec_mulpoint_p256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ec_mulpoint_p384.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ec_mulpoint_p521.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ec_on_curve_p256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ec_on_curve_p384.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ec_on_curve_p521.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ec_pubkey_p256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ec_pubkey_p384.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ec_pubkey_p521.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ecpoint_p256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ecpoint_p256.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ecpoint_p384.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ecpoint_p384.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ecpoint_p521.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ecpoint_p521.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ecprecomp4_p256.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ecprecomp4_p384.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ecprecomp4_p521.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_ecprecomp7_p256.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_norm.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ecnist/ifma_norm.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/emptyfile.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/exports.linux.lib-export delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/exports.macosx.lib-export delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/gsmod_almmontinv.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/gsmod_almmontinv_ct.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/gsmod_enginegetsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/gsmod_engineinit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/gsmod_getpool.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/gsmod_inv.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/gsmod_montfactor.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/gsmod_montinv.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/gsmod_packctx.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/gsmod_unpackctx.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/gsmodmethod.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/gsmodmethod.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/gsmodmethod_dlp.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/gsmodmethod_gfp.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/gsmodmethod_mont.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/gsmodmethod_rsa.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/gsmodmethodstuff.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/gsmodstuff.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/gsscramble.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/gsscramble.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/gsscramble_sscm.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ifma_amm52x20.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ifma_amm52x20_dual.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ifma_amm52x30.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ifma_amm52x30_dual.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ifma_amm52x40.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ifma_amm52x40_dual.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ifma_exp52x20.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ifma_exp52x20_dual.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ifma_exp52x30_dual.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ifma_exp52x40_dual.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ifma_exp52x_dual.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ifma_math_avx512vl.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ifma_norm52x.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ifma_rsa_arith.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/internal_hashmessage_mb.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/internal_hashmessage_mb.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/ippcp.def delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/owncp.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_128keyexpansion_ni.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_192keyexpansion_ni.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_256keyexpansion_ni.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_avx2_vaes.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_avx2_vaes_decrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_avx2_vaes_encrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cbc_decrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cbc_decrypt.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cbc_encrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cbc_encrypt.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cbc_vaes512.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cbcdecrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cbcdecrypt_cs1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cbcdecrypt_cs2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cbcdecrypt_cs3.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cbcencrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cbcencrypt_cs1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cbcencrypt_cs2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cbcencrypt_cs3.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_ccmdecrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_ccmencrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_ccmgetsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_ccmgettag.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_ccminit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_ccmmessagelen.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_ccmstart.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_ccmtaglen.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cfb128decrypt_vaes512.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cfb64decrypt_vaes512.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cfb_mb_encrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cfbdecrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cfbdecrypt_vaes512.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cfbencrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cmac_stuff.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cmacfinal.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cmacgetsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cmacgettag.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cmacinit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_cmacupdate.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_ctr_process.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_ctrdecrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_ctrencrypt_rij128pipe_vaes512.c delete mode 100755 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_ctrencrypt_stream_vaes512.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_ctrencryptr.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_deckeyexpansion_ni.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_decrypt_vaes512.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_ecb_vaes512.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_ecbdecrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_ecbencrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_encrypt_vaes512.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_expandkey_ni.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_gcm_vaes512.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_gcmauth_vaes512.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_gcmdecrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_gcmdecrypt_vaes512.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_gcmencrypt.c delete mode 100755 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_gcmencrypt_vaes512.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_gcmgetsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_gcmgettag.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_gcminit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_gcmmul_vaes512.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_gcmprocessaad.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_gcmprocessiv.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_gcmreinit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_gcmreset.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_gcmstart.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_keys_ni.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_ofb.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_process_ofb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_randomnoise.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_s2v_cmac.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_setupnoise.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_sivdecrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_sivencrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_sivstuff.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_wrpaesgcmdec_avx.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_wrpaesgcmenc_avx.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_xts_vaes512.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_xtsdecrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_xtsdecrypt_direct.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_xtsencrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_xtsencrypt_direct.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaes_xtsinit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaesauthccm.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaesauthgcm.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaesauthgcm_avx512.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaescmac_setupnoise.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaesdecryptofb.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaesencryptofb.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaesgcm_setupnoise.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaesgcmtableca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaesgcmtbl2k_mulpx.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaesgcmtbl2k_precom.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaesgcmtbl2kca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaesgcmtbl2kca_decpx.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaesgcmtbl2kca_encpx.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaesgetsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaesm.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaesminit_internal.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaesminit_internal.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaesminitca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaesmxts.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaesmxtsctxca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaesmxtsstuff.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaesnoise.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaespack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaessetkey.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpaesunpack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcparcfour.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcparcfour_processdata.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcparcfourca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcparcfourcheckkey.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcparcfourdecrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcparcfourencrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcparcfourgetsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcparcfourpack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcparcfourreset.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcparcfourunpack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbn.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbn_pack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbn_unpack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbn_val1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbn_val2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbn_val3.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnarithadd.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnarithcmp.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnarithcmpz.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnarithdiv.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnarithgcd.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnarithmac.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnarithminv.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnarithmod.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnarithmul.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnarithsub.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbngetext.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbngetlen.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbngetoctstr.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbngetref.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbngetsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbngetwords.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbninit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnresource.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnresourceca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnsetoctstr.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnsetwords.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu32_arith_add.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu32_arith_dec.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu32_arith_div.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu32_arith_inc.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu32_arith_muldigit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu32_arith_sub.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu32_arith_submuldigit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu32_getoctstr.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu32_nlz.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu32_setoctstr.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu32arith.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu32misc.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu_arith_add.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu_arith_addmuldigit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu_arith_dec.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu_arith_gcd.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu_arith_inc.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu_arith_minv.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu_arith_mul_adc.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu_arith_sqr_adc.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu_arith_sub.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu_arith_submuldigit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu_getoctstr.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu_lsr.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu_msbit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu_nlz.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu_ntz.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnu_setoctstr.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnuarith.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnuimpl.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpbnumisc.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpcmac.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdes.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdescipherm.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdesgetsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdesinitca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdesinitpxca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdespack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdesspbox.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdesunpack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlp.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlp_packctx.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlp_unpackctx.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlpgeneratedh.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlpgeneratedsa.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlpgenkeypair.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlpget.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlpgetdp.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlpgetsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlpinit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlppack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlppublickey.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlpresultca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlpsecretdhca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlpset.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlpsetdp.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlpsetkeypair.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlpsigndsaca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlpunpack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlpvalidatedh.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlpvalidatedsa.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlpvalidatekeypair.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpdlpverifydsaca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpecc_psetdp.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccp.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpaddpoint.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpbindgxytblstd192r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpbindgxytblstd224r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpbindgxytblstd256r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpbindgxytblstd384r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpbindgxytblstd521r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpbindgxytblstdsm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpcheckpoint.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpcomparepoint.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpgenkeyca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpget.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpgetorderbitsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpgetpoint.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpgetsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpgetsizestd128r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpgetsizestd128r2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpgetsizestd192r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpgetsizestd224r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpgetsizestd256r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpgetsizestd384r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpgetsizestd521r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpgetsizestdsm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpinit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpinitstd128r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpinitstd128r2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpinitstd192r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpinitstd224r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpinitstd256r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpinitstd384r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpinitstd521r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpinitstdsm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpmulpointscalar.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpnegativepoint.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccppointgetsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccppointinit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccppublickeyca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpsecretdhca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpsecretdhcca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpset.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpsetkeyca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpsetpoint.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpsetpointatinfinity.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpsetstd.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpsetstd128r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpsetstd128r2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpsetstd192r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpsetstd224r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpsetstd256r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpsetstd384r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpsetstd521r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpsetstdsm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpsigndsaca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpsignnrca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpsignsm2ca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpstdca_112r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpstdca_112r2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpstdca_128r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpstdca_128r2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpstdca_160r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpstdca_160r2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpstdca_192r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpstdca_224r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpstdca_256r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpstdca_384r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpstdca_521r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpstdca_BN_256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpstdca_SM2_256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpvalidateca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpvalidatekeyca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpverifydsaca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpverifynrca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccpverifysm2ca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpeccresultca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpecprime.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfp.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfp_exp.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfp_get.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfp_getoctstring.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfp_gfeqnr.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfp_inv.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfp_rand.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfp_set.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfp_setgfp.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfp_setoctstring.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfp_sqrt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpadd.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpaddpe.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpbufsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpcmpelem.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpconj.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpcpyelem.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpec.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpec_add.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpec_addaffine.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpec_baseprod.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpec_comppont.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpec_dblpoint.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpec_getpoint.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpec_makepoint.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpec_mul.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpec_mul1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpec_mulbase.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpec_mulbase1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpec_negpoint.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpec_prod.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpec_selectp192r1w7.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpec_selectp224r1w7.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpec_selectp256r1w7.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpec_selectp384r1w5.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpec_selectp521r1w5.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpec_setpoint.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpec_setuptable.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecaddpoint.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecbindstd192r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecbindstd224r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecbindstd256r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecbindstd384r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecbindstd521r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecbindstdsm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecbufsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpeccmppoint.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpeccpypoint.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecdh.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecdhc.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecesdecryptsm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecesencryptsm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecesfinalsm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecesgetbufferssizesm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecesgetsizesm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecesinitsm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecessetkeysm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecessm2.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecesstartsm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecget.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecgetinfo.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecgetpoint.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecgetpointoctstring.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecgetpointreg.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecgetsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecgetsubgroup.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecinit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecinitstd128r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecinitstd128r2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecinitstd192r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecinitstd224r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecinitstd256r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecinitstd384r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecinitstd521r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecinitstdbn256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecinitstdsm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpeckeys.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecmakepoint.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecmulpoint.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecnegpoint.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecpoint.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecpointstuff.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecprivatekey.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecpublickey.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecset.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecsetpoint.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecsetpointatinf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecsetpointhash.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecsetpointhash_backc.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecsetpointhash_backc_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecsetpointhash_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecsetpointoctstring.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecsetpointrand.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecsetpointreg.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecsetsubgroup.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecsigndsa.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecsignnr.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecsignsm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecstuff.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpectstpoint.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpectstpointinsubgroup.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecverify.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecverifydsa.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecverifynr.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpecverifysm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpelemgetsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpeleminit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpexp.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpgetelem.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpgetelemoctstr.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpgetsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpinfo.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpinit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpinitarbitrary.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpinitfixed.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpinv.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpisunityelem.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpiszeroelem.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpmethod.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpmethod_192r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpmethod_224r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpmethod_256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpmethod_256.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpmethod_256bn.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpmethod_256r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpmethod_384r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpmethod_521r1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpmethod_com.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpmethod_sm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpmul.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpmulexp.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpmulpe.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpneg.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpsetelem.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpsetelemhash.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpsetelemhashrmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpsetelemoctstr.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpsetelemrand.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpsetelemreg.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpsqr.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpsqrt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpstuff.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpsub.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpsubpe.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpx.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpx_add_gfe.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpx_conj.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpx_exp.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpx_get.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpx_getpolyterm.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpx_inv.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpx_mul_gfe.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpx_multiexp.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpx_neg.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpx_rand.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpx_set.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpx_setpolyterm.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpx_sub_gfe.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxgetsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxinit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxinitbinomial.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxmethod_binom.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxmethod_binom2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxmethod_binom3.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxmethod_binom3_epid2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxmethod_binom_epid2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxmethod_binom_epid2.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxmethod_binom_mulc.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxmethod_com.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxmethod_com.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxmethod_com_add.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxmethod_com_decode.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxmethod_com_div2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxmethod_com_encode.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxmethod_com_mul.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxmethod_com_mul2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxmethod_com_mul3.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxmethod_com_neg.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxmethod_com_sqr.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxmethod_com_sub.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxstuff.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpgfpxstuff.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphash.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphash_digest.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphash_func.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphash_init.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphash_reinit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphash_rmf.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashca_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashcnt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashduplicate.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashduplicate_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashfinal.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashfinal_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashgetinfo_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashgetsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashgetsize_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashgettag.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashgettag_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashinit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashinit_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmd5px.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmessage.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmessage_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethod_md5.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethod_rmf.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethod_sha1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethod_sha1_ni.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethod_sha1_tt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethod_sha224.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethod_sha224_ni.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethod_sha224_tt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethod_sha256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethod_sha256_ni.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethod_sha256_tt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethod_sha384.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethod_sha512.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethod_sha512_224.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethod_sha512_256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethod_sm3.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethodgetsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethodset_md5.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethodset_sha1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethodset_sha1_ni.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethodset_sha1_tt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethodset_sha224.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethodset_sha224_ni.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethodset_sha224_tt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethodset_sha256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethodset_sha256_ni.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethodset_sha256_tt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethodset_sha384.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethodset_sha512.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethodset_sha512_224.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethodset_sha512_256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashmethodset_sm3.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashpack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashpack_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashsha1px.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashsha256px.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashsha512px.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashsm3px.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashstatemethodset_sha224.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashstatemethodset_sha224_ni.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashstatemethodset_sha224_tt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashstatemethodset_sha256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashstatemethodset_sha256_ni.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashstatemethodset_sha256_tt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashstatemethodset_sha384.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashstatemethodset_sha512.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashstatemethodset_sha512_224.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashstatemethodset_sha512_256.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashstatemethodset_sm3.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashunpack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashunpack_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashupdate.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphashupdate_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphmac.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphmac_duplicate.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphmac_final.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphmac_getsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphmac_gettag.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphmac_init.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphmac_message.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphmac_pack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphmac_rmf.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphmac_unpack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphmac_update.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphmacca_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphmacduplicate_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphmacfinal_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphmacgetsize_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphmacgettag_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphmacmessage_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphmacpack_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphmacunpack_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcphmacupdate_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmask_ct.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmd5ca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmd5duplicate.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmd5final.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmd5getsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmd5gettag.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmd5init.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmd5messagedigest.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmd5pack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmd5stuff.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmd5unpack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmd5update.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmgf1ca_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmgf2ca_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmont_exp_bufsize.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmont_expbinbnu.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmont_expbinbnu_sscm.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmont_expsafebinary.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmont_expwinbnu.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmont_expwinbnu_sscm.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmont_getsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmont_init.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmont_multiexp_fast.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmont_multiexpinitarray.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmont_packctx.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmont_set.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmont_unpackctx.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmontexp.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmontexp_winsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmontform.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmontget.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmontgetsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmontgomery.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmontinit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmontmul.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmontred.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmontred.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpmontset.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpname.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpngmontexpstuff.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpngmontexpstuff_avx2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpngmontexpstuff_avx2.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpngmontexpstuff_avx512.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpngmontexpstuff_avx512.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpngmontexpstuff_bin.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpngmontexpstuff_bin_sscm.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpngmontexpstuff_sse2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpngmontexpstuff_sse2.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpngmontexpstuff_win.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpngmontexpstuff_win_sscm.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpngrsa.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpngrsamethod.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpp192r1precomca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpp224r1precomca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpp256r1precomca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpp384r1precomca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpp521r1precomca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprime_isco.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprime_isprob.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprime_mimimaltest.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprime_packctx.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprime_test.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprime_unpackctx.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprimeg.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprimegen_bn.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprimegenca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprimeget.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprimeget_bn.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprimegetsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprimeginitca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprimegsetca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprimeset_bn.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprimetest.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprimetest_bn.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprng.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprng_gen.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprng_genhw.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprngen_bn.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprngen_pattern.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprngen_range.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprngenca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprngenhw_bn.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprngenhwca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprnggetseed.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprnggetsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprnginitca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprngsetaugment.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprngsetca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprngsetmodulus.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpprngsetseed.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprij.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprij128safe.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprij128safe.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprij128safe2.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprij128safedec2pxca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprij128safedecpxca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprij128safeenc2pxca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprij128safeencpxca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprijdecsboxca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprijencsboxca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprijkeysca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprijtables.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_decrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_emsa_pkcs1v15.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_encrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_generatekeys.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_generatesign_pkcs1v15.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_getbuffersizeprivatekey.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_getbuffersizepublickey.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_getdefmeth_priv.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_getdefmeth_pub.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_getprivatekeytype1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_getprivatekeytype2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_getpublickey.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_getsizeprivatekeytype1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_getsizeprivatekeytype2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_getsizepublickey.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_gsmethod__avx2_private.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_gsmethod__avx2_public.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_gsmethod__avx512_private.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_gsmethod__avx512_public.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_gsmethod__gpr_private.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_gsmethod__gpr_public.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_gsmethod__sse2_private.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_gsmethod__sse2_public.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_gsprv_cipher.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_gsprv_cipher_crt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_gspub_cipher.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_initprivatekeytype1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_initprivatekeytype2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_initpublickey.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_montexpgetsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_pkcs1c15_data.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_pkcs1v15_preproc.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_pss_preproc.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_setprivatekeytype1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_setprivatekeytype2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_setpublickey.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_sizeof_privkey1.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_sizeof_privkey2.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_sizeof_pubkey.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_validatekeys.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsa_verifysign_pkcs1v15.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsadecrypt_oaep.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsadecrypt_oaep_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsadecrypt_pkcsv15.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsaencrypt_oaep.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsaencrypt_oaep_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsaencrypt_pkcsv15.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsasign_pkcs1v15.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsasign_pkcs1v15_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsasign_pss.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsasign_pss_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsasignhash_pkcs1v15.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsasignhash_pkcs1v15_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsaverify_pkcs1v15.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsaverify_pkcs1v15_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsaverify_pss.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsaverify_pss_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsaverifyhash_pkcs1v15.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcprsaverifyhash_pkcs1v15_rmf.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpscramble.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha1ca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha1duplicate.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha1final.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha1getsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha1gettag.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha1init.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha1messagedigest.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha1pack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha1stuff.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha1unpack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha1update.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha224duplicate.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha224final.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha224getsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha224gettag.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha224init.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha224messagedigest.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha224pack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha224unpack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha224update.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha256_messagedigest.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha256ca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha256duplicate.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha256final.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha256getsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha256gettag.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha256init.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha256messagedigest.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha256pack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha256stuff.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha256unpack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha256update.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha384duplicate.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha384final.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha384getsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha384gettag.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha384init.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha384messagedigest.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha384pack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha384unpack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha384update.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha512_init.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha512_messagedigest.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha512duplicate.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha512final.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha512getsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha512gettag.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha512init.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha512messagedigest.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha512pack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha512stuff.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha512unpack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsha512update.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpshsmgfca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsm2pprecomca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsm3ca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsm3duplicate.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsm3final.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsm3getsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsm3gettag.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsm3init.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsm3messagedigest.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsm3pack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsm3stuff.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsm3unpack.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsm3update.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_cbc_gfni.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_ccmdecrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_ccmencrypt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_ccmgetsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_ccmgettag.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_ccminit.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_ccmmessagelen.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_ccmstart.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_ccmtaglen.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_cfb_gfni.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_cipher.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_ctr_gfni.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_decrypt_cbc.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_decrypt_cbc.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_ecb_gfni.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_ecb_x1_aesni.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_ecb_x1_gfni.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_encrypt_cbc.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_encrypt_cbc.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_gfni.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_l9cn.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_process_ctr.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_process_ofb8.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_process_ofb8.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4_y8cn.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4authccm.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4cbcl9cn.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4cbcy8cn.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4cnt.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4ctrl9cn.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4ctry8cn.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4decryptcbc.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4decryptcbc_cs1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4decryptcbc_cs2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4decryptcbc_cs3.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4decryptcfb.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4decryptctr.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4decryptecb.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4decryptofb.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4ecb_aesni_x12y8cn.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4ecb_setkeysy8cn.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4ecbl9cn.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4encryptcbc.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4encryptcbc_cs1.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4encryptcbc_cs2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4encryptcbc_cs3.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4encryptcfb.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4encryptctr.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4encryptecb.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4encryptofb.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4getsize.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4initca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpsms4setkey.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcptdesctrca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcptdesdecryptcbcca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcptdesdecryptcbcpxca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcptdesdecryptcfbca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcptdesdecryptecbca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcptdesecbpxca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcptdesencryptcbcca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcptdesencryptcbcpx.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcptdesencryptcfbca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcptdesencryptecbca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcptdesofbca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcptool.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcptool.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcptrngenhwca.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpvariant.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpver.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpver.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/pcpver.rc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/ifma_arith_method_nsm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/ifma_arith_method_psm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/ifma_arith_method_sm2.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/ifma_arith_nsm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/ifma_arith_nsm2.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/ifma_arith_psm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/ifma_arith_psm2.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/ifma_defs_sm2.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/ifma_ec_addpoint_sm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/ifma_ec_dh_sm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/ifma_ec_mulpoint_sm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/ifma_ec_on_curve_sm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/ifma_ec_pubkey_sm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/ifma_ec_sign_sm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/ifma_ec_verify_sm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/ifma_ecpoint_sm2.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/ifma_ecpoint_sm2.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/ifma_ecprecomp7_sm2.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/ifma_sm2_key_exchange_shared_key.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/sm2_decrypt_ext.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/sm2_decrypt_ext_dec_msg_size.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/sm2_encrypt_ext.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/sm2_encrypt_ext_enc_msg_size.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/sm2_key_exchange_confirmation.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/sm2_key_exchange_get_size.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/sm2_key_exchange_init.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/sm2_key_exchange_method.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/sm2_key_exchange_setup.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/sm2_key_exchange_shared_key.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/sm2_message_representation.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/sm2_stuff.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/sm2_stuff.h delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/sources/ippcp/sm2/sm2_user_id_hash.c delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/tools/ipp_custom_library_tool_python/gui/app.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/tools/ipp_custom_library_tool_python/gui/controller.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/tools/ipp_custom_library_tool_python/gui/custom_functions_panel.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/tools/ipp_custom_library_tool_python/gui/selection_panel.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/tools/ipp_custom_library_tool_python/gui/settings_panel.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/tools/ipp_custom_library_tool_python/icon.ico delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/tools/ipp_custom_library_tool_python/main.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/tools/ipp_custom_library_tool_python/requirements.txt delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/tools/ipp_custom_library_tool_python/tests/functions_tests.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/tools/ipp_custom_library_tool_python/tests/utils.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/tools/ipp_custom_library_tool_python/tool/core.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/tools/ipp_custom_library_tool_python/tool/generators.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/tools/ipp_custom_library_tool_python/tool/generators_utils.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/tools/ipp_custom_library_tool_python/tool/package.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/library/src/tools/ipp_custom_library_tool_python/tool/utils.py delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/security.md delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/test_linux/Makefile delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/test_linux/ippcp_example.cc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/test_macos/Makefile delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/test_macos/ippcp_example.cc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/test_plain/Makefile delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/test_plain/ippcp_example.cc delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/tests/CMakeLists.txt delete mode 100644 librocksdb-sys/rocksdb/plugin/ippcp/tests/ippcp_encryptor_test.cc diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/.gitignore b/librocksdb-sys/rocksdb/plugin/ippcp/.gitignore deleted file mode 100644 index f772ac3..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/.gitignore +++ /dev/null @@ -1 +0,0 @@ -ippcp_example diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/CODE_OF_CONDUCT.md b/librocksdb-sys/rocksdb/plugin/ippcp/CODE_OF_CONDUCT.md deleted file mode 100644 index 58dba18..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,131 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -We as members, contributors, and leaders pledge to make participation in our -community a harassment-free experience for everyone, regardless of age, body -size, visible or invisible disability, ethnicity, sex characteristics, gender -identity and expression, level of experience, education, socio-economic status, -nationality, personal appearance, race, caste, color, religion, or sexual -identity and orientation. - -We pledge to act and interact in ways that contribute to an open, welcoming, -diverse, inclusive, and healthy community. - -## Our Standards - -Examples of behavior that contributes to a positive environment for our -community include: - -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, - and learning from the experience -* Focusing on what is best not just for us as individuals, but for the overall - community - -Examples of unacceptable behavior include: - -* The use of sexualized language or imagery, and sexual attention or advances of - any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or email address, - without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Enforcement Responsibilities - -Community leaders are responsible for clarifying and enforcing our standards of -acceptable behavior and will take appropriate and fair corrective action in -response to any behavior that they deem inappropriate, threatening, offensive, -or harmful. - -Community leaders have the right and responsibility to remove, edit, or reject -comments, commits, code, wiki edits, issues, and other contributions that are -not aligned to this Code of Conduct, and will communicate reasons for moderation -decisions when appropriate. - -## Scope - -This Code of Conduct applies within all community spaces, and also applies when -an individual is officially representing the community in public spaces. -Examples of representing our community include using an official e-mail address, -posting via an official social media account, or acting as an appointed -representative at an online or offline event. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported to the community leaders responsible for enforcement at -CommunityCodeOfConduct AT intel DOT com. -All complaints will be reviewed and investigated promptly and fairly. - -All community leaders are obligated to respect the privacy and security of the -reporter of any incident. - -## Enforcement Guidelines - -Community leaders will follow these Community Impact Guidelines in determining -the consequences for any action they deem in violation of this Code of Conduct: - -### 1. Correction - -**Community Impact**: Use of inappropriate language or other behavior deemed -unprofessional or unwelcome in the community. - -**Consequence**: A private, written warning from community leaders, providing -clarity around the nature of the violation and an explanation of why the -behavior was inappropriate. A public apology may be requested. - -### 2. Warning - -**Community Impact**: A violation through a single incident or series of -actions. - -**Consequence**: A warning with consequences for continued behavior. No -interaction with the people involved, including unsolicited interaction with -those enforcing the Code of Conduct, for a specified period of time. This -includes avoiding interactions in community spaces as well as external channels -like social media. Violating these terms may lead to a temporary or permanent -ban. - -### 3. Temporary Ban - -**Community Impact**: A serious violation of community standards, including -sustained inappropriate behavior. - -**Consequence**: A temporary ban from any sort of interaction or public -communication with the community for a specified period of time. No public or -private interaction with the people involved, including unsolicited interaction -with those enforcing the Code of Conduct, is allowed during this period. -Violating these terms may lead to a permanent ban. - -### 4. Permanent Ban - -**Community Impact**: Demonstrating a pattern of violation of community -standards, including sustained inappropriate behavior, harassment of an -individual, or aggression toward or disparagement of classes of individuals. - -**Consequence**: A permanent ban from any sort of public interaction within the -community. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], -version 2.1, available at -[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. - -Community Impact Guidelines were inspired by -[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. - -For answers to common questions about this code of conduct, see the FAQ at -[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at -[https://www.contributor-covenant.org/translations][translations]. - -[homepage]: https://www.contributor-covenant.org -[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html -[Mozilla CoC]: https://github.com/mozilla/diversity -[FAQ]: https://www.contributor-covenant.org/faq diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/CONTRIBUTING.md b/librocksdb-sys/rocksdb/plugin/ippcp/CONTRIBUTING.md deleted file mode 100644 index 4fbf8d1..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/CONTRIBUTING.md +++ /dev/null @@ -1,57 +0,0 @@ -# Contributing - -### License - -Intel® Integrated Performance Primitives Cryptography Plugin for RocksDB* Storage Engine is licensed under the terms in [Apache License](LICENSE). By contributing to the project, you agree to the license and copyright terms therein and release your contribution under these terms. - -### Sign your work - -Please use the sign-off line at the end of the patch. Your signature certifies that you wrote the patch or otherwise have the right to pass it on as an open-source patch. The rules are pretty simple: if you can certify -the below (from [developercertificate.org](http://developercertificate.org/)): - -``` -Developer Certificate of Origin -Version 1.1 - -Copyright (C) 2004, 2006 The Linux Foundation and its contributors. -660 York Street, Suite 102, -San Francisco, CA 94110 USA - -Everyone is permitted to copy and distribute verbatim copies of this -license document, but changing it is not allowed. - -Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -(a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -(b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -(c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -(d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. -``` - -Then you just add a line to every git commit message: - - Signed-off-by: Joe Smith - -Use your real name (sorry, no pseudonyms or anonymous contributions.) - -If you set your `user.name` and `user.email` git configs, you can sign your -commit automatically with `git commit -s`. diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/LICENSE b/librocksdb-sys/rocksdb/plugin/ippcp/LICENSE deleted file mode 100644 index 9c8f3ea..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/README.md b/librocksdb-sys/rocksdb/plugin/ippcp/README.md deleted file mode 100644 index 6c6a35d..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/README.md +++ /dev/null @@ -1,62 +0,0 @@ -# Intel® Integrated Performance Primitives Cryptography Plugin for RocksDB* Storage Engine - -`ippcp` is an encryption provider for RocksDB that is based on Intel's Integrated Performance Primitives for Cryptography (IPPCP). IPPCP is a lightweight cryptography library that is highly optimized for various Intel CPUs. It's used here to provide AES-128/192/256 encryption, with a CTR mode of operation, for RocksDB. - -## Prerequisite - -There is a dependency on ipp cryptograhy library (ippcp) which needs to be installed. Please refer below link for installtion. -https://www.intel.com/content/www/us/en/develop/documentation/get-started-with-ipp-crypto-for-oneapi-linux/top.html - -Once Installed source /opt/intel/oneapi/ippcp/latest/env/var.sh - - -## Build - -The code first needs to be linked under RocksDB's "plugin/" directory. In your RocksDB directory, run: - -``` -$ pushd ./plugin/ -$ git clone https://github.com/intel/ippcp-plugin-rocksdb.git ippcp -``` - -Next, we can build and install RocksDB with this plugin as follows: - -``` -$ popd -$ make clean && ROCKSDB_PLUGINS=ippcp make -j48 release -``` - -## Testing - -* Install ipp cryptograhy library (ippcp) as described in the previous section. -* Install https://github.com/google/googletest -* Build RocksDB as a shared library - -``` -LIB_MODE=shared make -j release - -``` - -* Go to the tests directory of ippcp plugin and build as mentioned below: - -``` -cd plugin/ippcp/tests/ -mkdir build -cd build -cmake -DROCKSDB_PATH= -DIPPCRYPTOROOT= .. -make run - -``` -## Tool usage - -For RocksDB binaries (such as the `db_bench` we built above), the plugin can be enabled through configuration. `db_bench` in particular takes a `--fs_uri` where we can specify "dedupfs" , which is the name registered by this plugin. Example usage: - -``` -$ ./db_bench --benchmarks=fillseq --env_uri=ippcp_db_bench_env --compression_type=none -``` - -## Application usage - -The plugin's interface is also exposed to applications, which can enable it either through configuration or through code. Example available under the "examples/" directory. - -``` \ No newline at end of file diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/ippcp.mk b/librocksdb-sys/rocksdb/plugin/ippcp/ippcp.mk deleted file mode 100644 index fc1d09c..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/ippcp.mk +++ /dev/null @@ -1,4 +0,0 @@ -ippcp_SOURCES = ippcp_provider.cc -ippcp_HEADERS = ippcp_provider.h -ippcp_LDFLAGS = -lippcp -Lplugin/ippcp/library/linux/lib -ippcp_CXXFLAGS = -Iplugin/ippcp/library/include diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/ippcp_db_bench_env.cc b/librocksdb-sys/rocksdb/plugin/ippcp/ippcp_db_bench_env.cc deleted file mode 100644 index 5a7e5af..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/ippcp_db_bench_env.cc +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright (c) 2021-present, Facebook, Inc. All rights reserved. -// This source code is licensed under both the GPLv2 (found in the -// COPYING file in the root directory) and Apache 2.0 License -// (found in the LICENSE.Apache file in the root directory). - -#include - -#include "ippcp_provider.h" - -namespace ROCKSDB_NAMESPACE { - -#ifndef ROCKSDB_LITE - -extern "C" FactoryFunc ippcp_db_bench_env; - -// Registers a sample ippcp encrypted environment that can be used in db_bench -// by passing --env_uri=ippcp_db_bench_env parameter. - -FactoryFunc ippcp_db_bench_env = ObjectLibrary::Default()->AddFactory( - "ippcp_db_bench_env", - [](const std::string& /* uri */, std::unique_ptr* f, - std::string* /* errmsg */) { - auto provider = - std::shared_ptr(IppcpProvider::CreateProvider()); - provider->AddCipher("", "a6d2ae2816157e2b3c4fcf098815f7xb", 32, false); - *f = std::unique_ptr(NewEncryptedEnv(Env::Default(), provider)); - return f->get(); - }); - -#endif // ROCKSDB_LITE - -} // namespace ROCKSDB_NAMESPACE diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/ippcp_provider.cc b/librocksdb-sys/rocksdb/plugin/ippcp/ippcp_provider.cc deleted file mode 100644 index e819a91..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/ippcp_provider.cc +++ /dev/null @@ -1,250 +0,0 @@ -// Copyright (c) 2011-present, Facebook, Inc. All rights reserved. -// Copyright (c) 2020 Intel Corporation -// This source code is licensed under both the GPLv2 (found in the -// COPYING file in the root directory) and Apache 2.0 License -// (found in the LICENSE.Apache file in the root directory). - -#ifndef ROCKSDB_LITE - -#include "ippcp_provider.h" - -#include -#include -#include -#include "rocksdb/utilities/customizable_util.h" -#include - -#endif - -namespace ROCKSDB_NAMESPACE { - -#ifndef ROCKSDB_LITE - - -static void RegisterEncryptionAES() { - static std::once_flag once; - std::call_once(once, [&]() { - - ObjectLibrary::Default()->AddFactory( - IppcpProvider::kName(), - [](const std::string& /* uri */, std::unique_ptr* f, - std::string* /* errmsg */) { - *f = IppcpProvider::CreateProvider(); - return f->get(); - }); - - }); -} - -Status EncryptionProvider::CreateFromString( - const ConfigOptions& config_options, const std::string& value, - std::shared_ptr* result) { - RegisterEncryptionAES(); - return LoadSharedObject(config_options, value, result); -} - -// extern "C" FactoryFunc ippcp_reg; - -// FactoryFunc ippcp_reg = -// ObjectLibrary::Default()->AddFactory( -// IppcpProvider::kName(), -// [](const std::string& /* uri */, std::unique_ptr* f, -// std::string* /* errmsg */) { -// *f = IppcpProvider::CreateProvider(); -// return f->get(); -// }); - -// IppcpCipherStream implements BlockAccessCipherStream using AES block -// cipher and a CTR mode of operation. -// -// Since ipp-crypto can handle block sizes larger than kBlockSize (16 bytes for -// AES) by chopping them internally into KBlockSize bytes, there is no need to -// support the EncryptBlock and DecryptBlock member functions (and they will -// never be called). -// -// See https://github.com/intel/ipp-crypto#documentation -class IppcpCipherStream : public BlockAccessCipherStream { - public: - static constexpr size_t kBlockSize = 16; // in bytes - static constexpr size_t kCounterLen = 64; // in bits - - IppcpCipherStream(IppsAESSpec* aes_ctx, const char* init_vector); - - virtual Status Encrypt(uint64_t fileOffset, char* data, - size_t dataSize) override; - virtual Status Decrypt(uint64_t fileOffset, char* data, - size_t dataSize) override; - virtual size_t BlockSize() override { return kBlockSize; } - - protected: - // These functions are not needed and will never be called! - virtual void AllocateScratch(std::string&) override {} - virtual Status EncryptBlock(uint64_t, char*, char*) override { - return Status::NotSupported("Operation not supported."); - } - virtual Status DecryptBlock(uint64_t, char*, char*) override { - return Status::NotSupported("Operation not supported."); - } - - private: - IppsAESSpec* aes_ctx_; - __m128i init_vector_; -}; - -IppcpCipherStream::IppcpCipherStream(IppsAESSpec* aes_ctx, - const char* init_vector) - : aes_ctx_(aes_ctx) { - init_vector_ = _mm_loadu_si128((__m128i*)init_vector); -} - -Status IppcpCipherStream::Encrypt(uint64_t fileOffset, char* data, - size_t dataSize) { - if (dataSize == 0) return Status::OK(); - - size_t index = fileOffset / kBlockSize; - size_t offset = fileOffset % kBlockSize; - - Ipp8u ctr_block[kBlockSize]; - - // evaluate the counter block from the block index - __m128i counter = _mm_add_epi64(init_vector_, _mm_cvtsi64_si128(index)); - Ipp8u* ptr_counter = (Ipp8u*)&counter; - for (size_t i = 0; i < kBlockSize; ++i) - ctr_block[i] = ptr_counter[kBlockSize - 1 - i]; - - IppStatus ipp_status = ippStsNoErr; - - //- If offset is != 0, that means we would have first encrypt a partial block at the - //beginning of the offset. That requires us to take the block index at that position and - //manually do the xor operation – first we encrypt a block (called zero_block), and then - //xor it starting at the offset. - //Once that block is encrypted, we may exit (if the dataSize is less than kBlockSize) or - //let ippcrypto start encrypting beginning a kBlockSize aligned offset - //kCounterLen is 64 bits same as index size so that 64 bits are incremented - // and counter stream generated by ipp and above match - // https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38a.pdf - - if (offset == 0) { - ipp_status = ippsAESEncryptCTR((Ipp8u*)(data), (Ipp8u*)data, static_cast(dataSize), - aes_ctx_, ctr_block, kCounterLen); - } else { - Ipp8u zero_block[kBlockSize]{0}; - ipp_status = ippsAESEncryptCTR(zero_block, zero_block, kBlockSize, aes_ctx_, - ctr_block, kCounterLen); - if (ipp_status != ippStsNoErr) - return Status::Aborted(ippcpGetStatusString(ipp_status)); - - size_t n = std::min(kBlockSize - offset, dataSize); - for (size_t i = 0; i < n; ++i) data[i] ^= zero_block[offset + i]; - memset(zero_block, 0, kBlockSize); - - n = kBlockSize - offset; - if (dataSize > n) { - Ipp8u* ptr = (Ipp8u*)(data + n); - ipp_status = ippsAESEncryptCTR(ptr, ptr, static_cast(dataSize - n), aes_ctx_, - ctr_block, kCounterLen); - } - } - if (ipp_status == ippStsNoErr) return Status::OK(); - - return Status::Aborted(ippcpGetStatusString(ipp_status)); -} - -Status IppcpCipherStream::Decrypt(uint64_t fileOffset, char* data, - size_t dataSize) { - // Decryption is implemented as encryption in CTR mode of operation - return Encrypt(fileOffset, data, dataSize); -} - -std::unique_ptr IppcpProvider::CreateProvider() { - return std::unique_ptr(new IppcpProvider); -} - -Status IppcpProvider::AddCipher(const std::string& /*descriptor*/, - const char* cipher, size_t len, - bool /*for_write*/) { - // We currently don't support more than one encryption key - if (aes_ctx_ != nullptr) { - return Status::InvalidArgument("Multiple encryption keys not supported."); - } - - // AES supports key sizes of only 16, 24, or 32 bytes - if (len != 16 && len != 24 && len != 32) { - return Status::InvalidArgument("Invalid key size in provider."); - } - - // len is in bytes - switch (len) { - case 16: - key_size_ = KeySize::AES_128; - break; - case 24: - key_size_ = KeySize::AES_192; - break; - case 32: - key_size_ = KeySize::AES_256; - break; - } - - // get size for context - IppStatus ipp_status = ippsAESGetSize(&ctx_size_); - if (ipp_status != ippStsNoErr) { - return Status::Aborted("Failed to create provider."); - } - - // allocate memory for context - aes_ctx_ = (IppsAESSpec*)(new Ipp8u[ctx_size_]); - assert(aes_ctx_ != nullptr); - - // initialize context - const Ipp8u* key = (const Ipp8u*)(cipher); - ipp_status = - ippsAESInit(key, static_cast(key_size_), aes_ctx_, ctx_size_); - - if (ipp_status != ippStsNoErr) { - // clean up context and abort! - ippsAESInit(0, static_cast(key_size_), aes_ctx_, ctx_size_); - delete[](Ipp8u*) aes_ctx_; - return Status::Aborted("Failed to create provider."); - } - return Status::OK(); -} - -Status IppcpProvider::CreateNewPrefix(const std::string& /*fname*/, - char* prefix, size_t prefixLength) const { - IppStatus ipp_status; - Ipp32u rnd; - const size_t rnd_size = sizeof(Ipp32u); - assert(prefixLength % rnd_size == 0); - for (size_t i = 0; i < prefixLength; i += rnd_size) { - // generate a cryptographically secured random number - ipp_status = ippsPRNGenRDRAND(&rnd, rnd_size << 3, nullptr); - if (ipp_status != ippStsNoErr) - return Status::Aborted(ippcpGetStatusString(ipp_status)); - memcpy(prefix + i, &rnd, rnd_size); - } - IppcpCipherStream cs(aes_ctx_, prefix); - return cs.Encrypt(0, prefix + IppcpCipherStream::kBlockSize, - prefixLength - IppcpCipherStream::kBlockSize); -} - -Status IppcpProvider::CreateCipherStream( - const std::string& /*fname*/, const EnvOptions& /*options*/, Slice& prefix, - std::unique_ptr* result) { - assert(result != nullptr); - assert(prefix.size() >= IppcpCipherStream::kBlockSize); - result->reset(new IppcpCipherStream(aes_ctx_, prefix.data())); - Status ipp_status = (*result)->Decrypt( - 0, (char*)prefix.data() + IppcpCipherStream::kBlockSize, - prefix.size() - IppcpCipherStream::kBlockSize); - return ipp_status; -} - -IppcpProvider::~IppcpProvider() { - ippsAESInit(0, static_cast(key_size_), aes_ctx_, ctx_size_); - delete[](Ipp8u*) aes_ctx_; -} - -#endif // ROCKSDB_LITE - -} // namespace ROCKSDB_NAMESPACE diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/ippcp_provider.h b/librocksdb-sys/rocksdb/plugin/ippcp/ippcp_provider.h deleted file mode 100644 index 939a4cd..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/ippcp_provider.h +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright (c) 2011-present, Facebook, Inc. All rights reserved. -// Copyright (c) 2020 Intel Corporation -// This source code is licensed under both the GPLv2 (found in the -// COPYING file in the root directory) and Apache 2.0 License -// (found in the LICENSE.Apache file in the root directory). - -#pragma once - -#if !defined(ROCKSDB_LITE) - -// Includes Intel's Integrated Performance Primitives for Cryptography (IPPCP). -// IPPCP is lightweight cryptography library that is highly-optimized for -// various Intel CPUs. -// -// We use it here to provide an AES-128/192/256 encryption with a CTR mode of -// operation. -// -// Download URL: https://github.com/intel/ipp-crypto. -// - -#include -#include - -#include - -namespace ROCKSDB_NAMESPACE { - -// AES-128, AES-192, and AES-256 encryptions are all supported. -enum struct KeySize { AES_128 = 16, AES_192 = 24, AES_256 = 32 }; - -// This encryption provider uses AES block cipher and a CTR mode of operation -// with a cryptographically secure IV that is randomly generated. -// -// Note: a prefix size of 4096 (4K) is chosen for optimal performance. -// -class IppcpProvider : public EncryptionProvider { - public: - static constexpr size_t kPrefixSize = 4096; - - static std::unique_ptr CreateProvider(); - - static const char* kName() { return "ippcp"; } - - virtual const char* Name() const override { return kName(); } - - virtual size_t GetPrefixLength() const override { return kPrefixSize; } - - virtual Status AddCipher(const std::string& /*descriptor*/, - const char* /*cipher*/, size_t /*len*/, - bool /*for_write*/) override; - - virtual Status CreateNewPrefix(const std::string& fname, char* prefix, - size_t prefixLength) const override; - - virtual Status CreateCipherStream( - const std::string& fname, const EnvOptions& options, Slice& prefix, - std::unique_ptr* result) override; - - virtual ~IppcpProvider(); - - private: - int ctx_size_; - KeySize key_size_; - IppsAESSpec* aes_ctx_; - IppcpProvider() - : ctx_size_(0), key_size_(KeySize::AES_256), aes_ctx_(nullptr) {} - IppcpProvider(const IppcpProvider&) = delete; - IppcpProvider& operator=(const IppcpProvider&) = delete; -}; - -} // namespace ROCKSDB_NAMESPACE - -#endif // !defined(ROCKSDB_LITE) diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/cpu_features.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/cpu_features.h deleted file mode 100644 index 577f81d..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/cpu_features.h +++ /dev/null @@ -1,113 +0,0 @@ -/******************************************************************************* -* Copyright (C) 2019 Intel Corporation -* -* Licensed under the Apache License, Version 2.0 (the 'License'); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an 'AS IS' BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions -* and limitations under the License. -* -*******************************************************************************/ - -#ifndef CPU_FEATURES_H -#define CPU_FEATURES_H - -#include - -/* definition of cpu features */ -#define mbcpCPUID_MMX 0x00000001LL /* Intel® architecture with MMX(TM) technology supported */ -#define mbcpCPUID_SSE 0x00000002LL /* Intel® Streaming SIMD Extensions (Intel® SSE) instruction set */ -#define mbcpCPUID_SSE2 0x00000004LL /* Intel® Streaming SIMD Extensions 2 (Intel® SSE2) instruction set */ -#define mbcpCPUID_SSE3 0x00000008LL /* Intel® Streaming SIMD Extensions 3 (Intel® SSE3) instruction set */ -#define mbcpCPUID_SSSE3 0x00000010LL /* Supplemental Streaming SIMD Extensions 3 (SSSE3) instruction set */ -#define mbcpCPUID_MOVBE 0x00000020LL /* Intel® instruction MOVBE */ -#define mbcpCPUID_SSE41 0x00000040LL /* Intel® Streaming SIMD Extensions 4.1 (Intel® SSE4.1) instruction set */ -#define mbcpCPUID_SSE42 0x00000080LL /* Intel® Streaming SIMD Extensions 4.2 (Intel® SSE4.2) instruction set */ -#define mbcpCPUID_AVX 0x00000100LL /* Intel® Advanced Vector Extensions (Intel® AVX) instruction set */ -#define mbcpAVX_ENABLEDBYOS 0x00000200LL /* Intel® Advanced Vector Extensions (Intel® AVX) instruction set is supported by OS */ -#define mbcpCPUID_AES 0x00000400LL /* AES */ -#define mbcpCPUID_CLMUL 0x00000800LL /* Intel® instruction PCLMULQDQ */ -#define mbcpCPUID_ABR 0x00001000LL /* Reserved */ -#define mbcpCPUID_RDRAND 0x00002000LL /* Intel® instruction RDRAND */ -#define mbcpCPUID_F16C 0x00004000LL /* Intel® instruction F16C */ -#define mbcpCPUID_AVX2 0x00008000LL /* Intel® Advanced Vector Extensions 2 (Intel® AVX2) */ -#define mbcpCPUID_ADX 0x00010000LL /* Intel® instructions ADOX/ADCX */ -#define mbcpCPUID_RDSEED 0x00020000LL /* Intel® instruction RDSEED */ -#define mbcpCPUID_PREFETCHW 0x00040000LL /* Intel® instruction PREFETCHW */ -#define mbcpCPUID_SHA 0x00080000LL /* Intel® Secure Hash Algorithm Extensions (Intel® SHA Extensions) */ -#define mbcpCPUID_AVX512F 0x00100000LL /* Intel® Advanced Vector Extensions 512 (Intel® AVX-512) Foundation instruction set */ -#define mbcpCPUID_AVX512CD 0x00200000LL /* Intel® Advanced Vector Extensions 512 (Intel® AVX-512) CD instruction set */ -#define mbcpCPUID_AVX512ER 0x00400000LL /* Intel® Advanced Vector Extensions 512 (Intel® AVX-512) ER instruction set */ -#define mbcpCPUID_AVX512PF 0x00800000LL /* Intel® Advanced Vector Extensions 512 (Intel® AVX-512) PF instruction set */ -#define mbcpCPUID_AVX512BW 0x01000000LL /* Intel® Advanced Vector Extensions 512 (Intel® AVX-512) BW instruction set */ -#define mbcpCPUID_AVX512DQ 0x02000000LL /* Intel® Advanced Vector Extensions 512 (Intel® AVX-512) DQ instruction set */ -#define mbcpCPUID_AVX512VL 0x04000000LL /* Intel® Advanced Vector Extensions 512 (Intel® AVX-512) VL instruction set */ -#define mbcpCPUID_AVX512VBMI 0x08000000LL /* Intel® Advanced Vector Extensions 512 (Intel® AVX-512) Bit Manipulation instructions */ -#define mbcpCPUID_MPX 0x10000000LL /* Intel® Memory Protection Extensions (Intel® MPX) */ -#define mbcpCPUID_AVX512_4FMADDPS 0x20000000LL /* Intel® Advanced Vector Extensions 512 (Intel® AVX-512) DL floating-point single precision */ -#define mbcpCPUID_AVX512_4VNNIW 0x40000000LL /* Intel® Advanced Vector Extensions 512 (Intel® AVX-512) DL enhanced word variable precision */ -#define mbcpCPUID_KNC 0x80000000LL /* Intel® Xeon® Phi(TM) Coprocessor */ -#define mbcpCPUID_AVX512IFMA 0x100000000LL /* Intel® Advanced Vector Extensions 512 (Intel® AVX-512) IFMA (PMADD52) instruction set */ -#define mbcpAVX512_ENABLEDBYOS 0x200000000LL /* Intel® Advanced Vector Extensions 512 (Intel® AVX-512) is supported by OS */ -#define mbcpCPUID_AVX512GFNI 0x400000000LL /* GFNI */ -#define mbcpCPUID_AVX512VAES 0x800000000LL /* VAES */ -#define mbcpCPUID_AVX512VCLMUL 0x1000000000LL /* VCLMUL */ -#define mbcpCPUID_AVX512VBMI2 0x2000000000LL /* Intel® Advanced Vector Extensions 512 (Intel® AVX-512) Bit Manipulation instructions 2 */ -#define mbcpCPUID_BMI1 0x4000000000LL /* BMI1 */ -#define mbcpCPUID_BMI2 0x8000000000LL /* BMI2 */ - -/* map cpu features */ -EXTERN_C int64u mbx_get_cpu_features(void); - -/* check if crypto_mb is applicable */ -EXTERN_C int mbx_is_crypto_mb_applicable(int64u cpu_features); - -/* supported algorithm */ -enum MBX_ALGO { - MBX_ALGO_RSA_1K, - MBX_ALGO_RSA_2K, - MBX_ALGO_RSA_3K, - MBX_ALGO_RSA_4K, - MBX_ALGO_X25519, - MBX_ALGO_EC_NIST_P256, - MBX_ALGO_ECDHE_NIST_P256 = MBX_ALGO_EC_NIST_P256, - MBX_ALGO_ECDSA_NIST_P256 = MBX_ALGO_EC_NIST_P256, - MBX_ALGO_EC_NIST_P384, - MBX_ALGO_ECDHE_NIST_P384 = MBX_ALGO_EC_NIST_P384, - MBX_ALGO_ECDSA_NIST_P384 = MBX_ALGO_EC_NIST_P384, - MBX_ALGO_EC_NIST_P521, - MBX_ALGO_ECDHE_NIST_P521 = MBX_ALGO_EC_NIST_P521, - MBX_ALGO_ECDSA_NIST_P521 = MBX_ALGO_EC_NIST_P521, - MBX_ALGO_EC_SM2, - MBX_ALGO_ECDHE_SM2 = MBX_ALGO_EC_SM2, - MBX_ALGO_ECDSA_SM2 = MBX_ALGO_EC_SM2, - MBX_ALGO_SM3, - MBX_ALGO_SM4, - MBX_ALGO_ECB_SM4 = MBX_ALGO_SM4, - MBX_ALGO_CBC_SM4 = MBX_ALGO_SM4, - MBX_ALGO_CTR_SM4 = MBX_ALGO_SM4, - MBX_ALGO_OFB_SM4 = MBX_ALGO_SM4, - MBX_ALGO_OFB128_SM4 = MBX_ALGO_SM4, -}; - -/* multi-buffer width implemented by library */ -enum MBX_WIDTH { - MBX_WIDTH_MB8 = 8, - MBX_WIDTH_MB16 = 16, - MBX_WIDTH_ANY = (1 << 16) - 1 -}; - -typedef int64u MBX_ALGO_INFO; - -/* check if algorithm is supported on current platform - * returns: multi-buffer width mask or 0 if algorithm not supported -*/ -EXTERN_C MBX_ALGO_INFO mbx_get_algo_info(enum MBX_ALGO algo); - -#endif /* CPU_FEATURES_H */ diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/defs.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/defs.h deleted file mode 100644 index aa5a234..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/defs.h +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************* -* Copyright (C) 2019 Intel Corporation -* -* Licensed under the Apache License, Version 2.0 (the 'License'); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an 'AS IS' BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions -* and limitations under the License. -* -*******************************************************************************/ - -#ifndef DEFS_H -#define DEFS_H - -/* data types */ -typedef unsigned char int8u; -typedef unsigned short int16u; -typedef unsigned int int32u; -typedef unsigned long long int64u; - -#ifndef NULL - #define NULL ((void *)0) -#endif - -/* alignment & inline */ -#if defined(__GNUC__) - #if !defined(__ALIGN64) - #define __ALIGN64 __attribute__((aligned(64))) - #endif - - #if !defined(__INLINE) - #define __INLINE static __inline__ - #endif - - #if !defined(__NOINLINE) - #define __NOINLINE __attribute__((noinline)) - #endif -#else - #if !defined(__ALIGN64) - #define __ALIGN64 __declspec(align(64)) - #endif - - #if !defined(__INLINE) - #define __INLINE static __forceinline - #endif - - #if !defined(__NOINLINE) - #define __NOINLINE __declspec(noinline) - #endif -#endif - - -/* externals */ -#undef EXTERN_C - -#ifdef __cplusplus - #define EXTERN_C extern "C" -#else - #define EXTERN_C -#endif - -#endif /* DEFS_H */ diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/ec_nistp256.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/ec_nistp256.h deleted file mode 100644 index 2ffa7c5..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/ec_nistp256.h +++ /dev/null @@ -1,187 +0,0 @@ -/******************************************************************************* -* Copyright (C) 2019 Intel Corporation -* -* Licensed under the Apache License, Version 2.0 (the 'License'); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an 'AS IS' BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions -* and limitations under the License. -* -*******************************************************************************/ - -#ifndef EC_NISTP256_H -#define EC_NISTP256_H - -#include -#include - -#ifndef BN_OPENSSL_DISABLE - #include - #include -#endif // BN_OPENSSL_DISABLE - - -/* -// ECDHE -*/ - -/* -// Computes public key -// pa_pubx[] array of pointers to the public keys X-coordinates -// pa_puby[] array of pointers to the public keys Y-coordinates -// pa_pubz[] array of pointers to the public keys Z-coordinates -// pa_skey[] array of pointers to the private keys -// pBuffer pointer to the scratch buffer -// -// Note: -// output public key is represented by (X:Y:Z) projective Jacobian coordinates -*/ -#ifndef BN_OPENSSL_DISABLE -EXTERN_C mbx_status mbx_nistp256_ecpublic_key_ssl_mb8(BIGNUM* pa_pubx[8], - BIGNUM* pa_puby[8], - BIGNUM* pa_pubz[8], - const BIGNUM* const pa_skey[8], - int8u* pBuffer); -#endif // BN_OPENSSL_DISABLE - - -EXTERN_C mbx_status mbx_nistp256_ecpublic_key_mb8(int64u* pa_pubx[8], - int64u* pa_puby[8], - int64u* pa_pubz[8], - const int64u* const pa_skey[8], - int8u* pBuffer); -/* -// Computes shared key -// pa_shared_key[] array of pointers to the shared keys -// pa_skey[] array of pointers to the own (ephemeral) private keys -// pa_pubx[] array of pointers to the party's public keys X-coordinates -// pa_puby[] array of pointers to the party's public keys Y-coordinates -// pa_pubz[] array of pointers to the party's public keys Z-coordinates -// pBuffer pointer to the scratch buffer -// -// Note: -// input party's public key is represented by (X:Y:Z) projective Jacobian coordinates -*/ -#ifndef BN_OPENSSL_DISABLE -EXTERN_C mbx_status mbx_nistp256_ecdh_ssl_mb8(int8u* pa_shared_key[8], - const BIGNUM* const pa_skey[8], - const BIGNUM* const pa_pubx[8], - const BIGNUM* const pa_puby[8], - const BIGNUM* const pa_pubz[8], - int8u* pBuffer); -#endif // BN_OPENSSL_DISABLE - - -EXTERN_C mbx_status mbx_nistp256_ecdh_mb8(int8u* pa_shared_key[8], - const int64u* const pa_skey[8], - const int64u* const pa_pubx[8], - const int64u* const pa_puby[8], - const int64u* const pa_pubz[8], - int8u* pBuffer); - - -/* -// ECDSA signature generation -*/ - -/* -// Pre-computes ECDSA signature -// pa_inv_eph_skey[] array of pointers to the inversion of signer's ephemeral private keys -// pa_sign_rp[] array of pointers to the pre-computed r-components of the signatures -// pa_eph_skey[] array of pointers to the signer's ephemeral private keys -// pBuffer pointer to the scratch buffer -*/ -EXTERN_C mbx_status mbx_nistp256_ecdsa_sign_setup_mb8(int64u* pa_inv_eph_skey[8], - int64u* pa_sign_rp[8], - const int64u* const pa_eph_skey[8], - int8u* pBuffer); -/* -// computes ECDSA signature -// -// pa_sign_pr[] array of pointers to the r-components of the signatures -// pa_sign_ps[] array of pointers to the s-components of the signatures -// pa_msg[] array of pointers to the messages are being signed -// pa_sign_rp[] array of pointers to the pre-computed r-components of the signatures -// pa_inv_eph_skey[] array of pointers to the inversion of signer's ephemeral private keys -// pa_reg_skey[] array of pointers to the regular signer's ephemeral private keys -// pBuffer pointer to the scratch buffer -*/ -EXTERN_C mbx_status mbx_nistp256_ecdsa_sign_complete_mb8(int8u* pa_sign_r[8], - int8u* pa_sign_s[8], - const int8u* const pa_msg[8], - const int64u* const pa_sgn_rp[8], - const int64u* const pa_inv_eph_skey[8], - const int64u* const pa_reg_skey[8], - int8u* pBuffer); -/* -// Computes ECDSA signature -// pa_sign_r[] array of pointers to the computed r-components of the signatures -// pa_sign_s[] array of pointers to the computed s-components of the signatures -// pa_msg[] array of pointers to the messages are being signed -// pa_eph_skey[] array of pointers to the signer's ephemeral private keys -// pa_reg_skey[] array of pointers to the signer's regular private keys -// pBuffer pointer to the scratch buffer -*/ -EXTERN_C mbx_status mbx_nistp256_ecdsa_sign_mb8(int8u* pa_sign_r[8], - int8u* pa_sign_s[8], - const int8u* const pa_msg[8], - const int64u* const pa_eph_skey[8], - const int64u* const pa_reg_skey[8], - int8u* pBuffer); - -/* -// Verifies ECDSA signature -// pa_sign_r[] array of pointers to the computed r-components of the signatures -// pa_sign_s[] array of pointers to the computed s-components of the signatures -// pa_msg[] array of pointers to the messages that have been signed -// pa_pubx[] array of pointers to the signer's public keys X-coordinates -// pa_puby[] array of pointers to the signer's public keys Y-coordinates -// pa_pubz[] array of pointers to the signer's public keys Z-coordinates (or NULL, if affine coordinate requested) -// pBuffer pointer to the scratch buffer -*/ -EXTERN_C mbx_status mbx_nistp256_ecdsa_verify_mb8(const int8u* const pa_sign_r[8], - const int8u* const pa_sign_s[8], - const int8u* const pa_msg[8], - const int64u* const pa_pubx[8], - const int64u* const pa_puby[8], - const int64u* const pa_pubz[8], - int8u* pBuffer); -/* -// OpenSSL's specific similar APIs -*/ -#ifndef BN_OPENSSL_DISABLE -EXTERN_C mbx_status mbx_nistp256_ecdsa_sign_setup_ssl_mb8(BIGNUM* pa_inv_eph_skey[8], - BIGNUM* pa_sign_pr[8], - const BIGNUM* const pa_eph_skey[8], - int8u* pBuffer); - -EXTERN_C mbx_status mbx_nistp256_ecdsa_sign_complete_ssl_mb8(int8u* pa_sign_r[8], - int8u* pa_sign_s[8], - const int8u* const pa_msg[8], - const BIGNUM* const pa_sgn_rp[8], - const BIGNUM* const pa_inv_eph_skey[8], - const BIGNUM* const pa_reg_skey[8], - int8u* pBuffer); - -EXTERN_C mbx_status mbx_nistp256_ecdsa_sign_ssl_mb8(int8u* pa_sign_r[8], - int8u* pa_sign_s[8], - const int8u* const pa_msg[8], - const BIGNUM* const pa_eph_skey[8], - const BIGNUM* const pa_reg_skey[8], - int8u* pBuffer); - -EXTERN_C mbx_status mbx_nistp256_ecdsa_verify_ssl_mb8(const ECDSA_SIG* const pa_sig[8], - const int8u* const pa_msg[8], - const BIGNUM* const pa_pubx[8], - const BIGNUM* const pa_puby[8], - const BIGNUM* const pa_pubz[8], - int8u* pBuffer); - -#endif // BN_OPENSSL_DISABLE -#endif /* EC_NISTP256_H */ diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/ec_nistp384.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/ec_nistp384.h deleted file mode 100644 index 4c3fa98..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/ec_nistp384.h +++ /dev/null @@ -1,186 +0,0 @@ -/******************************************************************************* -* Copyright (C) 2019 Intel Corporation -* -* Licensed under the Apache License, Version 2.0 (the 'License'); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an 'AS IS' BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions -* and limitations under the License. -* -*******************************************************************************/ - -#ifndef EC_NISTP384_H -#define EC_NISTP384_H - -#include -#include - -#ifndef BN_OPENSSL_DISABLE - #include - #include -#endif // BN_OPENSSL_DISABLE - - -/* -// ECDHE -*/ - -/* -// Computes public key -// pa_pubx[] array of pointers to the public keys X-coordinates -// pa_puby[] array of pointers to the public keys Y-coordinates -// pa_pubz[] array of pointers to the public keys Z-coordinates -// pa_skey[] array of pointers to the private keys -// pBuffer pointer to the scratch buffer -// -// Note: -// output public key is represented by (X:Y:Z) projective Jacobian coordinates -*/ -#ifndef BN_OPENSSL_DISABLE -EXTERN_C mbx_status mbx_nistp384_ecpublic_key_ssl_mb8(BIGNUM* pa_pubx[8], - BIGNUM* pa_puby[8], - BIGNUM* pa_pubz[8], - const BIGNUM* const pa_skey[8], - int8u* pBuffer); -#endif // BN_OPENSSL_DISABLE - - -EXTERN_C mbx_status mbx_nistp384_ecpublic_key_mb8(int64u* pa_pubx[8], - int64u* pa_puby[8], - int64u* pa_pubz[8], - const int64u* const pa_skey[8], - int8u* pBuffer); -/* -// Computes shared key -// pa_shared_key[] array of pointers to the shared keys -// pa_skey[] array of pointers to the own (ephemeral) private keys -// pa_pubx[] array of pointers to the party's public keys X-coordinates -// pa_puby[] array of pointers to the party's public keys Y-coordinates -// pa_pubz[] array of pointers to the party's public keys Z-coordinates -// pBuffer pointer to the scratch buffer -// -// Note: -// input party's public key is represented by (X:Y:Z) projective Jacobian coordinates -*/ -#ifndef BN_OPENSSL_DISABLE -EXTERN_C mbx_status mbx_nistp384_ecdh_ssl_mb8(int8u* pa_shared_key[8], - const BIGNUM* const pa_skey[8], - const BIGNUM* const pa_pubx[8], - const BIGNUM* const pa_puby[8], - const BIGNUM* const pa_pubz[8], - int8u* pBuffer); -#endif // BN_OPENSSL_DISABLE - - -EXTERN_C mbx_status mbx_nistp384_ecdh_mb8(int8u* pa_shared_key[8], - const int64u* const pa_skey[8], - const int64u* const pa_pubx[8], - const int64u* const pa_puby[8], - const int64u* const pa_pubz[8], - int8u* pBuffer); - - -/* -// ECDSA signature generation -*/ - -/* -// Pre-computes ECDSA signature -// pa_inv_eph_skey[] array of pointers to the inversion of signer's ephemeral private keys -// pa_sign_rp[] array of pointers to the pre-computed r-components of the signatures -// pa_eph_skey[] array of pointers to the signer's ephemeral private keys -// pBuffer pointer to the scratch buffer -*/ -EXTERN_C mbx_status mbx_nistp384_ecdsa_sign_setup_mb8(int64u* pa_inv_eph_skey[8], - int64u* pa_sign_rp[8], - const int64u* const pa_eph_skey[8], - int8u* pBuffer); -/* -// computes ECDSA signature -// -// pa_sign_pr[] array of pointers to the r-components of the signatures -// pa_sign_ps[] array of pointers to the s-components of the signatures -// pa_msg[] array of pointers to the messages are being signed -// pa_sign_rp[] array of pointers to the pre-computed r-components of the signatures -// pa_inv_eph_skey[] array of pointers to the inversion of signer's ephemeral private keys -// pa_reg_skey[] array of pointers to the regular signer's ephemeral private keys -// pBuffer pointer to the scratch buffer -*/ -EXTERN_C mbx_status mbx_nistp384_ecdsa_sign_complete_mb8(int8u* pa_sign_r[8], - int8u* pa_sign_s[8], - const int8u* const pa_msg[8], - const int64u* const pa_sgn_rp[8], - const int64u* const pa_inv_eph_skey[8], - const int64u* const pa_reg_skey[8], - int8u* pBuffer); -/* -// Computes ECDSA signature -// pa_sign_r[] array of pointers to the computed r-components of the signatures -// pa_sign_s[] array of pointers to the computed s-components of the signatures -// pa_msg[] array of pointers to the messages are being signed -// pa_eph_skey[] array of pointers to the signer's ephemeral private keys -// pa_reg_skey[] array of pointers to the signer's regular private keys -// pBuffer pointer to the scratch buffer -*/ -EXTERN_C mbx_status mbx_nistp384_ecdsa_sign_mb8(int8u* pa_sign_r[8], - int8u* pa_sign_s[8], - const int8u* const pa_msg[8], - const int64u* const pa_eph_skey[8], - const int64u* const pa_reg_skey[8], - int8u* pBuffer); - -/* -// Verifies ECDSA signature -// pa_sign_r[] array of pointers to the computed r-components of the signatures -// pa_sign_s[] array of pointers to the computed s-components of the signatures -// pa_msg[] array of pointers to the messages that have been signed -// pa_pubx[] array of pointers to the signer's public keys X-coordinates -// pa_puby[] array of pointers to the signer's public keys Y-coordinates -// pa_pubz[] array of pointers to the signer's public keys Z-coordinates (or NULL, if affine coordinate requested) -// pBuffer pointer to the scratch buffer -*/ -EXTERN_C mbx_status mbx_nistp384_ecdsa_verify_mb8(const int8u* const pa_sign_r[8], - const int8u* const pa_sign_s[8], - const int8u* const pa_msg[8], - const int64u* const pa_pubx[8], - const int64u* const pa_puby[8], - const int64u* const pa_pubz[8], - int8u* pBuffer); -/* -// OpenSSL's specific similar APIs -*/ -#ifndef BN_OPENSSL_DISABLE -EXTERN_C mbx_status mbx_nistp384_ecdsa_sign_setup_ssl_mb8(BIGNUM* pa_inv_eph_skey[8], - BIGNUM* pa_sign_pr[8], - const BIGNUM* const pa_eph_skey[8], - int8u* pBuffer); - -EXTERN_C mbx_status mbx_nistp384_ecdsa_sign_complete_ssl_mb8(int8u* pa_sign_r[8], - int8u* pa_sign_s[8], - const int8u* const pa_msg[8], - const BIGNUM* const pa_sgn_rp[8], - const BIGNUM* const pa_inv_eph_skey[8], - const BIGNUM* const pa_reg_skey[8], - int8u* pBuffer); - -EXTERN_C mbx_status mbx_nistp384_ecdsa_sign_ssl_mb8(int8u* pa_sign_r[8], - int8u* pa_sign_s[8], - const int8u* const pa_msg[8], - const BIGNUM* const pa_eph_skey[8], - const BIGNUM* const pa_reg_skey[8], - int8u* pBuffer); - -EXTERN_C mbx_status mbx_nistp384_ecdsa_verify_ssl_mb8(const ECDSA_SIG* const pa_sign[8], - const int8u* const pa_msg[8], - const BIGNUM* const pa_pubx[8], - const BIGNUM* const pa_puby[8], - const BIGNUM* const pa_pubz[8], - int8u* pBuffer); -#endif // BN_OPENSSL_DISABLE -#endif /* EC_NISTP384_H */ diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/ec_nistp521.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/ec_nistp521.h deleted file mode 100644 index 1e938c3..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/ec_nistp521.h +++ /dev/null @@ -1,187 +0,0 @@ -/******************************************************************************* -* Copyright (C) 2019 Intel Corporation -* -* Licensed under the Apache License, Version 2.0 (the 'License'); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an 'AS IS' BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions -* and limitations under the License. -* -*******************************************************************************/ - -#ifndef EC_NISTP521_H -#define EC_NISTP521_H - -#include -#include - -#ifndef BN_OPENSSL_DISABLE - #include - #include -#endif // BN_OPENSSL_DISABLE - - -/* -// ECDHE -*/ - -/* -// Computes public key -// pa_pubx[] array of pointers to the public keys X-coordinates -// pa_puby[] array of pointers to the public keys Y-coordinates -// pa_pubz[] array of pointers to the public keys Z-coordinates -// pa_skey[] array of pointers to the private keys -// pBuffer pointer to the scratch buffer -// -// Note: -// output public key is represented by (X:Y:Z) projective Jacobian coordinates -*/ -#ifndef BN_OPENSSL_DISABLE -EXTERN_C mbx_status mbx_nistp521_ecpublic_key_ssl_mb8(BIGNUM* pa_pubx[8], - BIGNUM* pa_puby[8], - BIGNUM* pa_pubz[8], - const BIGNUM* const pa_skey[8], - int8u* pBuffer); -#endif // BN_OPENSSL_DISABLE - - -EXTERN_C mbx_status mbx_nistp521_ecpublic_key_mb8(int64u* pa_pubx[8], - int64u* pa_puby[8], - int64u* pa_pubz[8], - const int64u* const pa_skey[8], - int8u* pBuffer); -/* -// Computes shared key -// pa_shared_key[] array of pointers to the shared keys -// pa_skey[] array of pointers to the own (ephemeral) private keys -// pa_pubx[] array of pointers to the party's public keys X-coordinates -// pa_puby[] array of pointers to the party's public keys Y-coordinates -// pa_pubz[] array of pointers to the party's public keys Z-coordinates -// pBuffer pointer to the scratch buffer -// -// Note: -// input party's public key is represented by (X:Y:Z) projective Jacobian coordinates -*/ -#ifndef BN_OPENSSL_DISABLE -EXTERN_C mbx_status mbx_nistp521_ecdh_ssl_mb8(int8u* pa_shared_key[8], - const BIGNUM* const pa_skey[8], - const BIGNUM* const pa_pubx[8], - const BIGNUM* const pa_puby[8], - const BIGNUM* const pa_pubz[8], - int8u* pBuffer); -#endif // BN_OPENSSL_DISABLE - - -EXTERN_C mbx_status mbx_nistp521_ecdh_mb8(int8u* pa_shared_key[8], - const int64u* const pa_skey[8], - const int64u* const pa_pubx[8], - const int64u* const pa_puby[8], - const int64u* const pa_pubz[8], - int8u* pBuffer); - - -/* -// ECDSA signature generation -*/ - -/* -// Pre-computes ECDSA signature -// pa_inv_eph_skey[] array of pointers to the inversion of signer's ephemeral private keys -// pa_sign_rp[] array of pointers to the pre-computed r-components of the signatures -// pa_eph_skey[] array of pointers to the signer's ephemeral private keys -// pBuffer pointer to the scratch buffer -*/ -EXTERN_C mbx_status mbx_nistp521_ecdsa_sign_setup_mb8(int64u* pa_inv_eph_skey[8], - int64u* pa_sign_rp[8], - const int64u* const pa_eph_skey[8], - int8u* pBuffer); -/* -// computes ECDSA signature -// -// pa_sign_pr[] array of pointers to the r-components of the signatures -// pa_sign_ps[] array of pointers to the s-components of the signatures -// pa_msg[] array of pointers to the messages are being signed -// pa_sign_rp[] array of pointers to the pre-computed r-components of the signatures -// pa_inv_eph_skey[] array of pointers to the inversion of signer's ephemeral private keys -// pa_reg_skey[] array of pointers to the regular signer's ephemeral private keys -// pBuffer pointer to the scratch buffer -*/ -EXTERN_C mbx_status mbx_nistp521_ecdsa_sign_complete_mb8(int8u* pa_sign_r[8], - int8u* pa_sign_s[8], - const int8u* const pa_msg[8], - const int64u* const pa_sgn_rp[8], - const int64u* const pa_inv_eph_skey[8], - const int64u* const pa_reg_skey[8], - int8u* pBuffer); -/* -// Computes ECDSA signature -// pa_sign_r[] array of pointers to the computed r-components of the signatures -// pa_sign_s[] array of pointers to the computed s-components of the signatures -// pa_msg[] array of pointers to the messages are being signed -// pa_eph_skey[] array of pointers to the signer's ephemeral private keys -// pa_reg_skey[] array of pointers to the signer's regular private keys -// pBuffer pointer to the scratch buffer -*/ -EXTERN_C mbx_status mbx_nistp521_ecdsa_sign_mb8(int8u* pa_sign_r[8], - int8u* pa_sign_s[8], - const int8u* const pa_msg[8], - const int64u* const pa_eph_skey[8], - const int64u* const pa_reg_skey[8], - int8u* pBuffer); - -/* -// Verifies ECDSA signature -// pa_sign_r[] array of pointers to the computed r-components of the signatures -// pa_sign_s[] array of pointers to the computed s-components of the signatures -// pa_msg[] array of pointers to the messages are being signed -// pa_pubx[] array of pointers to the public keys X-coordinates -// pa_puby[] array of pointers to the public keys Y-coordinates -// pa_pubz[] array of pointers to the public keys Z-coordinates -// pBuffer pointer to the scratch buffer -*/ -EXTERN_C mbx_status mbx_nistp521_ecdsa_verify_mb8(const int8u* const pa_sign_r[8], - const int8u* const pa_sign_s[8], - const int8u* const pa_msg[8], - const int64u* const pa_pubx[8], - const int64u* const pa_puby[8], - const int64u* const pa_pubz[8], - int8u* pBuffer); -/* -// OpenSSL's specific similar APIs -*/ -#ifndef BN_OPENSSL_DISABLE -EXTERN_C mbx_status mbx_nistp521_ecdsa_sign_setup_ssl_mb8(BIGNUM* pa_inv_eph_skey[8], - BIGNUM* pa_sign_pr[8], - const BIGNUM* const pa_eph_skey[8], - int8u* pBuffer); - -EXTERN_C mbx_status mbx_nistp521_ecdsa_sign_complete_ssl_mb8(int8u* pa_sign_r[8], - int8u* pa_sign_s[8], - const int8u* const pa_msg[8], - const BIGNUM* const pa_sgn_rp[8], - const BIGNUM* const pa_inv_eph_skey[8], - const BIGNUM* const pa_reg_skey[8], - int8u* pBuffer); - -EXTERN_C mbx_status mbx_nistp521_ecdsa_sign_ssl_mb8(int8u* pa_sign_r[8], - int8u* pa_sign_s[8], - const int8u* const pa_msg[8], - const BIGNUM* const pa_eph_skey[8], - const BIGNUM* const pa_reg_skey[8], - int8u* pBuffer); - -EXTERN_C mbx_status mbx_nistp521_ecdsa_verify_ssl_mb8(const ECDSA_SIG* const pa_sig[8], - const int8u* const pa_msg[8], - const BIGNUM* const pa_pubx[8], - const BIGNUM* const pa_puby[8], - const BIGNUM* const pa_pubz[8], - int8u* pBuffer); - -#endif // BN_OPENSSL_DISABLE -#endif /* EC_NISTP521_H */ diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/ec_sm2.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/ec_sm2.h deleted file mode 100644 index 43d6f97..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/ec_sm2.h +++ /dev/null @@ -1,154 +0,0 @@ -/******************************************************************************* -* Copyright (C) 2021 Intel Corporation -* -* Licensed under the Apache License, Version 2.0 (the 'License'); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an 'AS IS' BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions -* and limitations under the License. -* -*******************************************************************************/ - -#ifndef EC_SM2_H -#define EC_SM2_H - -#include -#include - -#ifndef BN_OPENSSL_DISABLE - #include - #include -#endif // BN_OPENSSL_DISABLE - -/* -// Computes public key -// pa_pubx[] array of pointers to the public keys X-coordinates -// pa_puby[] array of pointers to the public keys Y-coordinates -// pa_pubz[] array of pointers to the public keys Z-coordinates (or NULL, if affine coordinate requested) -// pa_skey[] array of pointers to the private keys -// pBuffer pointer to the scratch buffer -*/ -EXTERN_C mbx_status mbx_sm2_ecpublic_key_mb8(int64u* pa_pubx[8], - int64u* pa_puby[8], - int64u* pa_pubz[8], - const int64u* const pa_skey[8], - int8u* pBuffer); - -/* -// Computes shared key -// pa_shared_key[] array of pointers to the shared keys -// pa_skey[] array of pointers to the own (ephemeral) private keys -// pa_pubx[] array of pointers to the party's public keys X-coordinates -// pa_puby[] array of pointers to the party's public keys Y-coordinates -// pa_pubz[] array of pointers to the party's public keys Z-coordinates (or NULL, if affine coordinate requested) -// pBuffer pointer to the scratch buffer -// -// Note: -// This function implements ECDHE over SM2 curve according to IEEE 1363-2000 standard. -*/ -EXTERN_C mbx_status mbx_sm2_ecdh_mb8(int8u* pa_shared_key[8], - const int64u* const pa_skey[8], - const int64u* const pa_pubx[8], - const int64u* const pa_puby[8], - const int64u* const pa_pubz[8], - int8u* pBuffer); - -/* -// Computes SM2 ECDSA signature -// pa_sign_r[] array of pointers to the computed r-components of the signatures -// pa_sign_s[] array of pointers to the computed s-components of the signatures -// pa_user_id[] array of pointers to the users ID -// user_id_len[] array of users ID length -// pa_msg[] array of pointers to the messages are being signed -// msg_len[] array of messages length -// pa_eph_skey[] array of pointers to the signer's ephemeral private keys -// pa_reg_skey[] array of pointers to the signer's regular private keys -// pa_pubx[] array of pointers to the party's public keys X-coordinates -// pa_puby[] array of pointers to the party's public keys Y-coordinates -// pa_pubz[] array of pointers to the party's public keys Z-coordinates (or NULL, if affine coordinate requested) -// pBuffer pointer to the scratch buffer -*/ -EXTERN_C mbx_status mbx_sm2_ecdsa_sign_mb8(int8u* pa_sign_r[8], - int8u* pa_sign_s[8], - const int8u* const pa_user_id[8], - const int user_id_len[8], - const int8u* const pa_msg[8], - const int msg_len[8], - const int64u* const pa_eph_skey[8], - const int64u* const pa_reg_skey[8], - const int64u* const pa_pubx[8], - const int64u* const pa_puby[8], - const int64u* const pa_pubz[8], - int8u* pBuffer); - -/* -// Verifies SM2 ECDSA signature -// pa_sign_r[] array of pointers to the computed r-components of the signatures -// pa_sign_s[] array of pointers to the computed s-components of the signatures -// pa_user_id[] array of pointers to the users ID -// user_id_len[] array of users ID length -// pa_msg[] array of pointers to the messages are being signed -// msg_len[] array of messages length -// pa_pubx[] array of pointers to the signer's public keys X-coordinates -// pa_puby[] array of pointers to the signer's public keys Y-coordinates -// pa_pubz[] array of pointers to the signer's public keys Z-coordinates (or NULL, if affine coordinate requested) -// pBuffer pointer to the scratch buffer -*/ -EXTERN_C mbx_status mbx_sm2_ecdsa_verify_mb8(const int8u* const pa_sign_r[8], - const int8u* const pa_sign_s[8], - const int8u* const pa_user_id[8], - const int user_id_len[8], - const int8u* const pa_msg[8], - const int msg_len[8], - const int64u* const pa_pubx[8], - const int64u* const pa_puby[8], - const int64u* const pa_pubz[8], - int8u* pBuffer); - -/* -// OpenSSL's specific similar APIs -*/ -#ifndef BN_OPENSSL_DISABLE -EXTERN_C mbx_status mbx_sm2_ecpublic_key_ssl_mb8(BIGNUM* pa_pubx[8], - BIGNUM* pa_puby[8], - BIGNUM* pa_pubz[8], - const BIGNUM* const pa_skey[8], - int8u* pBuffer); - -EXTERN_C mbx_status mbx_sm2_ecdh_ssl_mb8(int8u* pa_shared_key[8], - const BIGNUM* const pa_skey[8], - const BIGNUM* const pa_pubx[8], - const BIGNUM* const pa_puby[8], - const BIGNUM* const pa_pubz[8], - int8u* pBuffer); - -EXTERN_C mbx_status mbx_sm2_ecdsa_sign_ssl_mb8(int8u* pa_sign_r[8], - int8u* pa_sign_s[8], - const int8u* const pa_user_id[8], - const int user_id_len[8], - const int8u* const pa_msg[8], - const int msg_len[8], - const BIGNUM* const pa_eph_skey[8], - const BIGNUM* const pa_reg_skey[8], - const BIGNUM* const pa_pubx[8], - const BIGNUM* const pa_puby[8], - const BIGNUM* const pa_pubz[8], - int8u* pBuffer); - -EXTERN_C mbx_status mbx_sm2_ecdsa_verify_ssl_mb8(const ECDSA_SIG* const pa_sig[8], - const int8u* const pa_user_id[8], - const int user_id_len[8], - const int8u* const pa_msg[8], - const int msg_len[8], - const BIGNUM* const pa_pubx[8], - const BIGNUM* const pa_puby[8], - const BIGNUM* const pa_pubz[8], - int8u* pBuffer); -#endif // BN_OPENSSL_DISABLE -#endif /* EC_SM2_H */ diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/ed25519.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/ed25519.h deleted file mode 100644 index 8cc737d..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/ed25519.h +++ /dev/null @@ -1,66 +0,0 @@ -/******************************************************************************* -* Copyright (C) 2019 Intel Corporation -* -* Licensed under the Apache License, Version 2.0 (the 'License'); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an 'AS IS' BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions -* and limitations under the License. -* -*******************************************************************************/ - -#ifndef ED25519_H -#define ED25519_H - -#include -#include - -typedef int8u ed25519_sign_component[32]; -typedef ed25519_sign_component ed25519_sign[2]; - -typedef int8u ed25519_public_key[32]; -typedef int8u ed25519_private_key[32]; - -/* -// Computes ed25519 public key -// pa_public_key[] array of pointers to the public keys -// pa_private_key[] array of pointers to the public keys Y-coordinates -*/ -EXTERN_C mbx_status mbx_ed25519_public_key_mb8(ed25519_public_key* pa_public_key[8], - const ed25519_private_key* const pa_private_key[8]); - -/* -// Computes ed25519 signature -// pa_sign_r[] array of pointers to the computed r-components of the signatures -// pa_sign_s[] array of pointers to the computed s-components of the signatures -// pa_msg[] array of pointers to the messages are being signed -// msgLen[] lengths of the messages are being signed -// pa_private_key[] array of pointers to the signer's private keys -// pa_public_key[] array of pointers to the signer's public keys -*/ -EXTERN_C mbx_status mbx_ed25519_sign_mb8(ed25519_sign_component* pa_sign_r[8], - ed25519_sign_component* pa_sign_s[8], - const int8u* const pa_msg[8], const int32u msgLen[8], - const ed25519_private_key* const pa_private_key[8], - const ed25519_public_key* const pa_public_key[8]); - -/* -// Verifies ed25519 signature -// pa_sign_r[] array of pointers to the r-components of the verified signatures -// pa_sign_s[] array of pointers to the s-components of the verified signatures -// pa_msg[] array of pointers to the signed messages -// msgLen[] array of signed messages lengths -// pa_public_key[] array of pointers to the signer's public keys -*/ -EXTERN_C mbx_status mbx_ed25519_verify_mb8(const ed25519_sign_component* const pa_sign_r[8], - const ed25519_sign_component* const pa_sign_s[8], - const int8u* const pa_msg[8], const int32u msgLen[8], - const ed25519_public_key* const pa_public_key[8]); - -#endif /* ED25519_H */ diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/exp.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/exp.h deleted file mode 100644 index b5a76b8..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/exp.h +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* -* Copyright (C) 2021 Intel Corporation -* -* Licensed under the Apache License, Version 2.0 (the 'License'); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an 'AS IS' BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions -* and limitations under the License. -* -*******************************************************************************/ - -#ifndef EXP_H -#define EXP_H - -#include -#include - - -/* size of scratch buffer */ -EXTERN_C int mbx_exp_BufferSize(int modulusBits); - -/* exp operation */ -EXTERN_C mbx_status mbx_exp1024_mb8(int64u* const out_pa[8], - const int64u* const base_pa[8], - const int64u* const exp_pa[8], int exp_bits, - const int64u* const mod_pa[8], int mod_bits, - int8u* pBuffer, int bufferLen); - -EXTERN_C mbx_status mbx_exp2048_mb8(int64u* const out_pa[8], - const int64u* const base_pa[8], - const int64u* const exp_pa[8], int exp_bits, - const int64u* const mod_pa[8], int mod_bits, - int8u* pBuffer, int bufferLen); - -EXTERN_C mbx_status mbx_exp3072_mb8(int64u* const out_pa[8], - const int64u* const base_pa[8], - const int64u* const exp_pa[8], int exp_bits, - const int64u* const mod_pa[8], int mod_bits, - int8u* pBuffer, int bufferLen); - -EXTERN_C mbx_status mbx_exp4096_mb8(int64u* const out_pa[8], - const int64u* const base_pa[8], - const int64u* const exp_pa[8], int exp_bits, - const int64u* const mod_pa[8], int mod_bits, - int8u* pBuffer, int bufferLen); - -EXTERN_C mbx_status mbx_exp_mb8(int64u* const out_pa[8], - const int64u* const base_pa[8], - const int64u* const exp_pa[8], int exp_bits, - const int64u* const mod_pa[8], int mod_bits, - int8u* pBuffer, int bufferLen); - -#endif /* EXP_H */ diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/rsa.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/rsa.h deleted file mode 100644 index f71f2d5..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/rsa.h +++ /dev/null @@ -1,104 +0,0 @@ -/******************************************************************************* -* Copyright (C) 2019 Intel Corporation -* -* Licensed under the Apache License, Version 2.0 (the 'License'); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an 'AS IS' BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions -* and limitations under the License. -* -*******************************************************************************/ - -#ifndef RSA_H -#define RSA_H - -#include -#include - -#ifndef BN_OPENSSL_DISABLE -#include - -EXTERN_C mbx_status mbx_rsa_public_ssl_mb8(const int8u* const from_pa[8], - int8u* const to_pa[8], - const BIGNUM* const e_pa[8], - const BIGNUM* const n_pa[8], - int expected_rsa_bitsize); - -EXTERN_C mbx_status mbx_rsa_private_ssl_mb8(const int8u* const from_pa[8], - int8u* const to_pa[8], - const BIGNUM* const d_pa[8], - const BIGNUM* const n_pa[8], - int expected_rsa_bitsize); - -EXTERN_C mbx_status mbx_rsa_private_crt_ssl_mb8(const int8u* const from_pa[8], - int8u* const to_pa[8], - const BIGNUM* const p_pa[8], - const BIGNUM* const q_pa[8], - const BIGNUM* const dp_pa[8], - const BIGNUM* const dq_pa[8], - const BIGNUM* const iq_pa[8], - int expected_rsa_bitsize); -#endif /* BN_OPENSSL_DISABLE */ - - -/* -// rsa cp methods -*/ -typedef struct _ifma_rsa_method mbx_RSA_Method; - -/* rsa public key opertaion */ -EXTERN_C const mbx_RSA_Method* mbx_RSA1K_pub65537_Method(void); -EXTERN_C const mbx_RSA_Method* mbx_RSA2K_pub65537_Method(void); -EXTERN_C const mbx_RSA_Method* mbx_RSA3K_pub65537_Method(void); -EXTERN_C const mbx_RSA_Method* mbx_RSA4K_pub65537_Method(void); -EXTERN_C const mbx_RSA_Method* mbx_RSA_pub65537_Method(int rsaBitsize); - -/* rsa private key opertaion */ -EXTERN_C const mbx_RSA_Method* mbx_RSA1K_private_Method(void); -EXTERN_C const mbx_RSA_Method* mbx_RSA2K_private_Method(void); -EXTERN_C const mbx_RSA_Method* mbx_RSA3K_private_Method(void); -EXTERN_C const mbx_RSA_Method* mbx_RSA4K_private_Method(void); -EXTERN_C const mbx_RSA_Method* mbx_RSA_private_Method(int rsaBitsize); - -/* rsa private key opertaion (ctr) */ -EXTERN_C const mbx_RSA_Method* mbx_RSA1K_private_crt_Method(void); -EXTERN_C const mbx_RSA_Method* mbx_RSA2K_private_crt_Method(void); -EXTERN_C const mbx_RSA_Method* mbx_RSA3K_private_crt_Method(void); -EXTERN_C const mbx_RSA_Method* mbx_RSA4K_private_crt_Method(void); -EXTERN_C const mbx_RSA_Method* mbx_RSA_private_crt_Method(int rsaBitsize); - -EXTERN_C int mbx_RSA_Method_BufSize(const mbx_RSA_Method* m); - - -EXTERN_C mbx_status mbx_rsa_public_mb8(const int8u* const from_pa[8], - int8u* const to_pa[8], - const int64u* const n_pa[8], - int rsaBitlen, - const mbx_RSA_Method* m, - int8u* pBuffer); - -EXTERN_C mbx_status mbx_rsa_private_mb8(const int8u* const from_pa[8], - int8u* const to_pa[8], - const int64u* const d_pa[8], - const int64u* const n_pa[8], - int rsaBitlen, - const mbx_RSA_Method* m, - int8u* pBuffer); - -EXTERN_C mbx_status mbx_rsa_private_crt_mb8(const int8u* const from_pa[8], - int8u* const to_pa[8], - const int64u* const p_pa[8], - const int64u* const q_pa[8], - const int64u* const dp_pa[8], - const int64u* const dq_pa[8], - const int64u* const iq_pa[8], - int rsaBitlen, - const mbx_RSA_Method* m, - int8u* pBuffer); -#endif /* RSA_H */ diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/sm3.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/sm3.h deleted file mode 100644 index 8f7f7d8..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/sm3.h +++ /dev/null @@ -1,60 +0,0 @@ -/******************************************************************************* -* Copyright (C) 2020 Intel Corporation -* -* Licensed under the Apache License, Version 2.0 (the 'License'); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an 'AS IS' BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions -* and limitations under the License. -* -*******************************************************************************/ - - -#ifndef SM3_H -#define SM3_H - -#include -#include - -#define SM3_SIZE_IN_BITS (256) /* sm3 size in bits */ -#define SM3_SIZE_IN_WORDS (SM3_SIZE_IN_BITS/(sizeof(int32u)*8)) /* sm3 hash size in words */ -#define SM3_MSG_BLOCK_SIZE (64) /* messge block size */ - -#define SM3_NUM_BUFFERS (16) /* max number of buffers in sm3 multi-buffer */ - -/* -// sm3 context for mb16 -*/ - -typedef int32u sm3_hash_mb[SM3_SIZE_IN_WORDS][SM3_NUM_BUFFERS]; /* sm3 hash value in multi-buffer format */ - -struct _sm3_context_mb16 { - int msg_buff_idx[SM3_NUM_BUFFERS]; /* buffer entry */ - int64u msg_len[SM3_NUM_BUFFERS]; /* message length */ - int8u msg_buffer[SM3_NUM_BUFFERS][SM3_MSG_BLOCK_SIZE]; /* buffer */ - __ALIGN64 - sm3_hash_mb msg_hash; /* intermediate hash */ -}; - -typedef struct _sm3_context_mb16 SM3_CTX_mb16; - -EXTERN_C mbx_status16 mbx_sm3_init_mb16(SM3_CTX_mb16* p_state); - -EXTERN_C mbx_status16 mbx_sm3_update_mb16(const int8u* const msg_pa[16], - int len[16], - SM3_CTX_mb16* p_state); - -EXTERN_C mbx_status16 mbx_sm3_final_mb16(int8u* hash_pa[16], - SM3_CTX_mb16* p_state); - -EXTERN_C mbx_status16 mbx_sm3_msg_digest_mb16(const int8u* const msg_pa[16], - int len[16], - int8u* hash_pa[16]); - -#endif /* SM3_H */ diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/sm4.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/sm4.h deleted file mode 100644 index 144fb6f..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/sm4.h +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* -* Copyright (C) 2021 Intel Corporation -* -* Licensed under the Apache License, Version 2.0 (the 'License'); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an 'AS IS' BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions -* and limitations under the License. -* -*******************************************************************************/ - - -#ifndef SM4_H -#define SM4_H - -#include -#include - -#define SM4_LINES (16) /* Max number of buffers */ -#define SM4_BLOCK_SIZE (16) /* SM4 data block size (bytes) */ -#define SM4_KEY_SIZE (16) /* SM4 key size (bytes) */ -#define SM4_ROUNDS (32) /* SM4 number of rounds */ -#define SM4_XTS_MAX_SIZE ((1 << 20) * SM4_BLOCK_SIZE) /* SM4 max buffer size (bytes) */ - -typedef int8u sm4_key[SM4_KEY_SIZE]; -typedef int8u sm4_xts_key[SM4_KEY_SIZE*2]; -typedef int32u mbx_sm4_key_schedule[SM4_ROUNDS][SM4_LINES]; - -EXTERN_C mbx_status16 mbx_sm4_set_key_mb16(mbx_sm4_key_schedule* key_sched, const sm4_key* pa_key[SM4_LINES]); -EXTERN_C mbx_status16 mbx_sm4_xts_set_keys_mb16(mbx_sm4_key_schedule* key_sched1, mbx_sm4_key_schedule* key_sched2, const sm4_xts_key* pa_key[SM4_LINES]); - -EXTERN_C mbx_status16 mbx_sm4_encrypt_ecb_mb16(int8u* pa_out[SM4_LINES], const int8u* pa_inp[SM4_LINES], const int len[SM4_LINES], const mbx_sm4_key_schedule* key_sched); -EXTERN_C mbx_status16 mbx_sm4_decrypt_ecb_mb16(int8u* pa_out[SM4_LINES], const int8u* pa_inp[SM4_LINES], const int len[SM4_LINES], const mbx_sm4_key_schedule* key_sched); - -EXTERN_C mbx_status16 mbx_sm4_encrypt_cbc_mb16(int8u* pa_out[SM4_LINES], const int8u* pa_inp[SM4_LINES], const int len[SM4_LINES], const mbx_sm4_key_schedule* key_sched, const int8u* pa_iv[SM4_LINES]); -EXTERN_C mbx_status16 mbx_sm4_decrypt_cbc_mb16(int8u* pa_out[SM4_LINES], const int8u* pa_inp[SM4_LINES], const int len[SM4_LINES], const mbx_sm4_key_schedule* key_sched, const int8u* pa_iv[SM4_LINES]); - -EXTERN_C mbx_status16 mbx_sm4_encrypt_ctr128_mb16(int8u* pa_out[SM4_LINES], const int8u* pa_inp[SM4_LINES], const int len[SM4_LINES], const mbx_sm4_key_schedule* key_sched, int8u* pa_ctr[SM4_LINES]); -EXTERN_C mbx_status16 mbx_sm4_decrypt_ctr128_mb16(int8u* pa_out[SM4_LINES], const int8u* pa_inp[SM4_LINES], const int len[SM4_LINES], const mbx_sm4_key_schedule* key_sched, int8u* pa_ctr[SM4_LINES]); - -EXTERN_C mbx_status16 mbx_sm4_encrypt_ofb_mb16(int8u* pa_out[SM4_LINES], const int8u* pa_inp[SM4_LINES], const int len[SM4_LINES], const mbx_sm4_key_schedule* key_sched, int8u* pa_iv[SM4_LINES]); -EXTERN_C mbx_status16 mbx_sm4_decrypt_ofb_mb16(int8u* pa_out[SM4_LINES], const int8u* pa_inp[SM4_LINES], const int len[SM4_LINES], const mbx_sm4_key_schedule* key_sched, int8u* pa_iv[SM4_LINES]); - -EXTERN_C mbx_status16 mbx_sm4_encrypt_cfb128_mb16(int8u* pa_out[SM4_LINES], const int8u* pa_inp[SM4_LINES], const int len[SM4_LINES], const mbx_sm4_key_schedule* key_sched, const int8u* pa_iv[SM4_LINES]); -EXTERN_C mbx_status16 mbx_sm4_decrypt_cfb128_mb16(int8u* pa_out[SM4_LINES], const int8u* pa_inp[SM4_LINES], const int len[SM4_LINES], const mbx_sm4_key_schedule* key_sched, const int8u* pa_iv[SM4_LINES]); - -EXTERN_C mbx_status16 mbx_sm4_xts_encrypt_mb16(int8u* pa_out[SM4_LINES], const int8u* pa_inp[SM4_LINES], const int len[SM4_LINES], - const mbx_sm4_key_schedule* key_sched1, const mbx_sm4_key_schedule* key_sched2, - const int8u* pa_tweak[SM4_LINES]); -EXTERN_C mbx_status16 mbx_sm4_xts_decrypt_mb16(int8u* pa_out[SM4_LINES], const int8u* pa_inp[SM4_LINES], const int len[SM4_LINES], - const mbx_sm4_key_schedule* key_sched1, const mbx_sm4_key_schedule* key_sched2, - const int8u* pa_tweak[SM4_LINES]); -#endif /* SM4_H */ diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/sm4_ccm.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/sm4_ccm.h deleted file mode 100644 index 45128b7..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/sm4_ccm.h +++ /dev/null @@ -1,143 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2022 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the 'License'); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an 'AS IS' BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions - * and limitations under the License. - * - *******************************************************************************/ - -#ifndef SM4_CCM_H -#define SM4_CCM_H - -#include - -#include - -#define MIN_CCM_IV_LENGTH 7 -#define MAX_CCM_IV_LENGTH 13 -#define MIN_CCM_TAG_LENGTH 4 -#define MAX_CCM_TAG_LENGTH 16 -#define MAX_CCM_AAD_LENGTH 65280 /* 2^16 - 2^8 */ - -#define SM4_CCM_CONTEXT_BUFFER_SLOT_TYPE int64u - -#define SM4_CCM_CONTEXT_BUFFER_SLOT_SIZE_BYTES (sizeof(SM4_CCM_CONTEXT_BUFFER_SLOT_TYPE)) -#define SM4_CCM_CONTEXT_BUFFER_SIZE_BYTES ((SM4_LINES * SM4_BLOCK_SIZE) / SM4_CCM_CONTEXT_BUFFER_SLOT_SIZE_BYTES) - -/* -// Enum to control call sequence -// -// Valid call sequence: -// -// 1) mbx_sm4_ccm_init_mb16 -// 2) mbx_sm4_ccm_update_aad_mb16 – optional -// 3) mbx_sm4_ccm_encrypt_mb16/mbx_sm4_ccm_decrypt_mb16 – optional, can be called as many times as necessary -// 4) mbx_sm4_ccm_get_tag_mb16 -// -// Call sequence restrictions: -// -// * mbx_sm4_ccm_get_tag_mb16 can be called after mbx_sm4_ccm_init_mb16 has been called. -// * functions at steps 2-3 can be called as many times as needed to process payload while this functions processes buffers -// with full blocks (Blocks of 16 bytes size) or empty buffers and length of processed payload is not overflowed. -// * if functions at steps 2-3 called to process a partial block, it can’t be called again. -// * if mbx_sm4_ccm_encrypt_mb16 or mbx_sm4_ccm_decrypt_mb16 was called, mbx_sm4_ccm_update_aad_mb16 can’t be called. -// * if mbx_sm4_ccm_encrypt_mb16 was called, mbx_sm4_ccm_decrypt_mb16 can’t be called. -// * if mbx_sm4_ccm_decrypt_mb16 was called, mbx_sm4_ccm_encrypt_mb16 can’t be called. -*/ -typedef enum { sm4_ccm_update_aad = 0xF0A1, sm4_ccm_start_encdec, sm4_ccm_enc, sm4_ccm_dec, sm4_ccm_get_tag } sm4_ccm_state; - -struct _sm4_ccm_context_mb16 { - int64u msg_len[SM4_LINES]; /* Message length (in bytes) of all lines */ - int64u total_processed_len[SM4_LINES]; /* Total processed plaintext/ciphertext length (in bytes) of all lines */ - int tag_len[SM4_LINES]; /* Tag length (in bytes) of all lines */ - int iv_len[SM4_LINES]; /* Total IV length (in bytes) of all lines */ - __m128i ctr0[SM4_LINES]; /* CTR0 content */ - __m128i ctr[SM4_LINES]; /* CTR content */ - __m128i hash[SM4_LINES]; /* hash value accumulator for AAD and TXT processing */ - - mbx_sm4_key_schedule key_sched; /* SM4 key schedule */ - sm4_ccm_state state; /* call sequence state */ -}; - -typedef struct _sm4_ccm_context_mb16 SM4_CCM_CTX_mb16; - -/* - * Initializes SM4-CCM context. - * - * @param[in] pa_key Array of key pointers - * @param[in] pa_iv Array of IV pointers - * @param[in] iv_len Array of IV lengths - * @param[in] tag_len Array of authentication tag lengths - * @param[in] msg_len Array of total message lengths - * @param[in/out] p_context SM4-CCM context - * - * @return Bitmask of operation status - */ -EXTERN_C mbx_status16 mbx_sm4_ccm_init_mb16(const sm4_key *const pa_key[SM4_LINES], - const int8u *const pa_iv[SM4_LINES], - const int iv_len[SM4_LINES], - const int tag_len[SM4_LINES], - const int64u msg_len[SM4_LINES], - SM4_CCM_CTX_mb16 *p_context); -/* - * Digests additional authenticated data (AAD) for 16 buffers - * - * @param[in] pa_aad Array of AAD pointers - * @param[in] aad_len Array of AAD lengths - * @param[in/out] p_context SM4-CCM context - * - * @return Bitmask of operation status - */ -EXTERN_C mbx_status16 mbx_sm4_ccm_update_aad_mb16(const int8u *const pa_aad[SM4_LINES], - const int aad_len[SM4_LINES], - SM4_CCM_CTX_mb16 *p_context); -/* - * Retrieves authentication tag for 16 buffers - * - * @param[out] pa_tag Array of authentication tag pointers - * @param[in] tag_len Array of tag lengths - * @param[in/out] p_context SM4-CCM context - * - * @return Bitmask of operation status - */ -EXTERN_C mbx_status16 mbx_sm4_ccm_get_tag_mb16(int8u *pa_tag[SM4_LINES], - const int tag_len[SM4_LINES], - SM4_CCM_CTX_mb16 *p_context); -/* - * Encrypts 16 buffers with SM4-CCM. - * - * @param[out] pa_out Array of ciphertext pointers - * @param[in] pa_in Array of plaintext pointers - * @param[in] in_len Array of plaintext lengths - * @param[in/out] p_context SM4-CCM context - * - * @return Bitmask of operation status - */ -EXTERN_C mbx_status16 mbx_sm4_ccm_encrypt_mb16(int8u *pa_out[SM4_LINES], - const int8u *const pa_in[SM4_LINES], - const int in_len[SM4_LINES], - SM4_CCM_CTX_mb16 *p_context); -/* - * Decrypts 16 buffers with SM4-CCM. - * - * @param[out] pa_out Array of plaintext pointers - * @param[in] pa_in Array of ciphertext pointers - * @param[in] in_len Array of ciphertext lengths - * @param[in/out] p_context SM4-CCM context - * - * @return Bitmask of operation status - */ -EXTERN_C mbx_status16 mbx_sm4_ccm_decrypt_mb16(int8u *pa_out[SM4_LINES], - const int8u *const pa_in[SM4_LINES], - const int in_len[SM4_LINES], - SM4_CCM_CTX_mb16 *p_context); -#endif /* SM4_CCM_H */ diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/sm4_gcm.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/sm4_gcm.h deleted file mode 100644 index 9dede98..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/sm4_gcm.h +++ /dev/null @@ -1,113 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2022 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the 'License'); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an 'AS IS' BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions - * and limitations under the License. - * - *******************************************************************************/ - -#ifndef SM4_GCM_H -#define SM4_GCM_H - -#include - -#include - -#define SM4_GCM_CONTEXT_BUFFER_SLOT_TYPE int64u - -#define SM4_GCM_CONTEXT_BUFFER_SLOT_SIZE_BYTES (sizeof(SM4_GCM_CONTEXT_BUFFER_SLOT_TYPE)) -#define SM4_GCM_CONTEXT_BUFFER_SIZE_BYTES ((SM4_LINES * SM4_BLOCK_SIZE) / SM4_GCM_CONTEXT_BUFFER_SLOT_SIZE_BYTES) - -#define SM4_GCM_HASHKEY_PWR_NUM 8 - -/* -// Enum to control call sequence -// -// Valid call sequence: -// -// 1) mbx_sm4_gcm_init_mb16 -// 2) mbx_sm4_gcm_update_iv_mb16 – optional, can be called as many times as necessary -// 3) mbx_sm4_gcm_update_aad_mb16 – optional, can be called as many times as necessary -// 4) mbx_sm4_gcm_encrypt_mb16/mbx_sm4_gcm_decrypt_mb16 – optional, can be called as many times as necessary -// 5) mbx_sm4_gcm_get_tag_mb16 -// -// Call sequence restrictions: -// -// * mbx_sm4_gcm_get_tag_mb16 can be called after IV is fully processed. -// IV is fully processed if buffer with partial block (Block of less than 16 bytes size) was processed or if mbx_sm4_gcm_update_aad_mb16 was called -// * functions at steps 2-4 can be called as many times as needed to process payload while this functions processes buffers -// with full blocks (Blocks of 16 bytes size) or empty buffers and length of processed payload is not overflowed. -// * if functions at steps 2-4 called to process a partial block, it can’t be called again. -// * if mbx_sm4_gcm_update_aad_mb16 was called, mbx_sm4_gcm_update_iv_mb16 can’t be called. -// * if mbx_sm4_gcm_encrypt_mb16 or mbx_sm4_gcm_decrypt_mb16 was called, mbx_sm4_gcm_update_aad_mb16 and mbx_sm4_gcm_update_iv_mb16 can’t be called. -// * if mbx_sm4_gcm_encrypt_mb16 was called, mbx_sm4_gcm_decrypt_mb16 can’t be called. -// * if mbx_sm4_gcm_decrypt_mb16 was called, mbx_sm4_gcm_encrypt_mb16 can’t be called. -*/ -typedef enum { sm4_gcm_update_iv = 0xF0A1, sm4_gcm_update_aad, sm4_gcm_start_encdec, sm4_gcm_enc, sm4_gcm_dec, sm4_gcm_get_tag } sm4_gcm_state; - -struct _sm4_gcm_context_mb16 { - __m128i hashkey[SM4_GCM_HASHKEY_PWR_NUM][SM4_LINES]; /* Set of hashkeys for ghash computation */ - __m128i j0[SM4_LINES]; /* J0 value accumulator for IV processing */ - __m128i ghash[SM4_LINES]; /* ghash value accumulator for AAD and TXT processing */ - __m128i ctr[SM4_LINES]; /* counter for gctr encryption */ - - /* - // buffer to store IV, AAD and TXT length in bytes - // - // this buffer is used to store IV length to compute J0 block - // and reused to store AAD and TXT length to compute ghash - // - // length is stored as follow: - // - // J0 computation: - // [64 bits with IV len (buffer 0)] - // [64 bits with IV len (buffer 1)] - // .. - // [64 bits with IV len (buffer SM4_LINES-1)] - // - // Only half of buffer is used for J0 computation - // - // ghash computation: - // [64 bits with AAD len (buffer 0)][64 bits with TXT len (buffer 0)] - // [64 bits with AAD len (buffer 1)][64 bits with TXT len (buffer 1)] - // .. - // [64 bits with AAD len (buffer SM4_LINES-1)][64 bits with TXT len (buffer SM4_LINES-1)] - // - */ - int64u len[SM4_LINES * 2]; - - mbx_sm4_key_schedule key_sched; /* SM4 key schedule */ - sm4_gcm_state state; /* call sequence state */ -}; - -typedef struct _sm4_gcm_context_mb16 SM4_GCM_CTX_mb16; - -EXTERN_C mbx_status16 mbx_sm4_gcm_init_mb16(const sm4_key *const pa_key[SM4_LINES], - const int8u *const pa_iv[SM4_LINES], - const int iv_len[SM4_LINES], - SM4_GCM_CTX_mb16 *p_context); - -EXTERN_C mbx_status16 mbx_sm4_gcm_update_iv_mb16(const int8u *const pa_iv[SM4_LINES], const int iv_len[SM4_LINES], SM4_GCM_CTX_mb16 *p_state); -EXTERN_C mbx_status16 mbx_sm4_gcm_update_aad_mb16(const int8u *const pa_aad[SM4_LINES], const int aad_len[SM4_LINES], SM4_GCM_CTX_mb16 *p_state); - -EXTERN_C mbx_status16 mbx_sm4_gcm_encrypt_mb16(int8u *pa_out[SM4_LINES], - const int8u *const pa_in[SM4_LINES], - const int in_len[SM4_LINES], - SM4_GCM_CTX_mb16 *p_context); -EXTERN_C mbx_status16 mbx_sm4_gcm_decrypt_mb16(int8u *pa_out[SM4_LINES], - const int8u *const pa_in[SM4_LINES], - const int in_len[SM4_LINES], - SM4_GCM_CTX_mb16 *p_context); - -EXTERN_C mbx_status16 mbx_sm4_gcm_get_tag_mb16(int8u *pa_tag[SM4_LINES], const int tag_len[SM4_LINES], SM4_GCM_CTX_mb16 *p_context); - -#endif /* SM4_GCM_H */ diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/status.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/status.h deleted file mode 100644 index add3b5c..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/status.h +++ /dev/null @@ -1,117 +0,0 @@ -/******************************************************************************* -* Copyright (C) 2019 Intel Corporation -* -* Licensed under the Apache License, Version 2.0 (the 'License'); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an 'AS IS' BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions -* and limitations under the License. -* -*******************************************************************************/ - -#ifndef STATUS_H -#define STATUS_H - -#include - -typedef int32u mbx_status; -typedef int64u mbx_status16; - -// error statuses and manipulators -#define MBX_STATUS_OK (0) -#define MBX_STATUS_MISMATCH_PARAM_ERR (1) -#define MBX_STATUS_NULL_PARAM_ERR (2) -#define MBX_STATUS_LOW_ORDER_ERR (4) -#define MBX_STATUS_SIGNATURE_ERR (8) - -__INLINE mbx_status MBX_SET_STS(mbx_status status, int numb, mbx_status sttVal) -{ - numb &= 7; /* 0 <= numb < 8 */ - status &= (mbx_status)(~(0xF << (numb*4))); - return status |= (sttVal & 0xF) << (numb*4); -} - -__INLINE mbx_status MBX_GET_STS(mbx_status status, int numb) -{ - return (status >>(numb*4)) & 0xF; -} -__INLINE mbx_status MBX_SET_STS_ALL(mbx_status stsVal) -{ - return (stsVal<<4*7) | (stsVal<<4*6) | (stsVal<<4*5) | (stsVal<<4*4) | (stsVal<<4*3) | (stsVal<<4*2) | (stsVal<<4*1) | stsVal; -} - -__INLINE mbx_status MBX_SET_STS_BY_MASK(mbx_status status, int8u mask, mbx_status sttVal) -{ - int numb; - - for(numb=0; numb<8; numb++) { - mbx_status buf_stt = (0 - ((mask>>numb) &1)) & sttVal; - status = MBX_SET_STS(status, numb, buf_stt); - } - return status; -} - -__INLINE int MBX_IS_ANY_OK_STS(mbx_status status) -{ - int ret = MBX_STATUS_OK==MBX_GET_STS(status, 0) - || MBX_STATUS_OK==MBX_GET_STS(status, 1) - || MBX_STATUS_OK==MBX_GET_STS(status, 2) - || MBX_STATUS_OK==MBX_GET_STS(status, 3) - || MBX_STATUS_OK==MBX_GET_STS(status, 4) - || MBX_STATUS_OK==MBX_GET_STS(status, 5) - || MBX_STATUS_OK==MBX_GET_STS(status, 6) - || MBX_STATUS_OK==MBX_GET_STS(status, 7); - return ret; -} - -/* -// Helpers for 64-bit status mbx_status16 -*/ - -/* Accessors for the low and high part of 64-bit status */ -__INLINE mbx_status MBX_GET_HIGH_PART_STS16(mbx_status16 status16) -{ - return ((mbx_status)(((mbx_status16)(status16) >> 32) & 0xFFFFFFFF)); -} - -__INLINE mbx_status MBX_GET_LOW_PART_STS16(mbx_status16 status16) -{ - return ((mbx_status)(status16)); -} - -__INLINE mbx_status16 MBX_SET_STS16_ALL(mbx_status16 stsVal) -{ - return (stsVal<<4*15) | (stsVal<<4*14) | (stsVal<<4*13) | (stsVal<<4*12) | (stsVal<<4*11) | (stsVal<<4*10) | (stsVal<<4*9) | (stsVal<<4*8) | \ - (stsVal<<4*7) | (stsVal<<4*6) | (stsVal<<4*5) | (stsVal<<4*4) | (stsVal<<4*3) | (stsVal<<4*2) | (stsVal<<4*1) | stsVal; -} - -__INLINE mbx_status16 MBX_SET_STS16(mbx_status16 status, int numb, mbx_status16 sttVal) -{ - numb &= 15; /* 0 <= numb < 16 */ - status &= (mbx_status16)(~((int64u)0xF << (numb*4))); - return status |= (sttVal & 0xF) << (numb*4); -} - -__INLINE mbx_status16 MBX_SET_STS16_BY_MASK(mbx_status16 status, int16u mask, mbx_status16 sttVal) -{ - int numb; - for (numb = 0; numb < 16; numb++) { - mbx_status16 buf_stt = (0 - ((mask >> numb) & 1)) & sttVal; - status = MBX_SET_STS16(status, numb, buf_stt); - } - return status; -} - -__INLINE int MBX_IS_ANY_OK_STS16(mbx_status16 status) -{ - return MBX_IS_ANY_OK_STS(MBX_GET_HIGH_PART_STS16(status)) || \ - MBX_IS_ANY_OK_STS(MBX_GET_LOW_PART_STS16(status)); -} - -#endif /* STATUS_H */ diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/version.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/version.h deleted file mode 100644 index 8e6c863..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/version.h +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* -* Copyright (C) 2019 Intel Corporation -* -* Licensed under the Apache License, Version 2.0 (the 'License'); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an 'AS IS' BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions -* and limitations under the License. -* -*******************************************************************************/ - -#ifndef VERSION_H -#define VERSION_H - -#include - -/* crypto_mb name & version */ -#define MBX_LIB_NAME() "crypto_mb" -#define MBX_VER_MAJOR 1 -#define MBX_VER_MINOR 0 -#define MBX_VER_REV 9 - -/* major interface version */ -#define MBX_INTERFACE_VERSION_MAJOR 11 -/* minor interface version */ -#define MBX_INTERFACE_VERSION_MINOR 9 - -typedef struct { - int major; /* e.g. 1 */ - int minor; /* e.g. 2 */ - int revision; /* e.g. 3 */ - const char* name; /* e,g. "crypto_mb" */ - const char* buildDate; /* e.g. "Oct 28 2019" */ - const char* strVersion;/* e.g. "crypto_mb (ver 1.2.3 Oct 28 2019)" */ -} mbxVersion; - -EXTERN_C const mbxVersion* mbx_getversion(void); - -#endif /* VERSION_H */ diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/x25519.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/x25519.h deleted file mode 100644 index ab0231f..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/crypto_mb/x25519.h +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************* -* Copyright (C) 2019 Intel Corporation -* -* Licensed under the Apache License, Version 2.0 (the 'License'); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an 'AS IS' BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions -* and limitations under the License. -* -*******************************************************************************/ - -#ifndef X25519_H -#define X25519_H - -#include -#include - -EXTERN_C mbx_status mbx_x25519_public_key_mb8(int8u* const pa_public_key[8], - const int8u* const pa_private_key[8]); - -EXTERN_C mbx_status mbx_x25519_mb8(int8u* const pa_shared_key[8], - const int8u* const pa_private_key[8], - const int8u* const pa_public_key[8]); - -#endif /* X25519_H */ diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/ippcp.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/ippcp.h deleted file mode 100644 index 9d7e467..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/ippcp.h +++ /dev/null @@ -1,1541 +0,0 @@ -/******************************************************************************* -* Copyright (C) 2002 Intel Corporation -* -* Licensed under the Apache License, Version 2.0 (the 'License'); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an 'AS IS' BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions -* and limitations under the License. -* -*******************************************************************************/ - -/* -// -// Intel® Integrated Performance Primitives Cryptography (Intel® IPP Cryptography) -// -*/ - -#if !defined( IPPCP_H__ ) || defined( _OWN_BLDPCS ) -#define IPPCP_H__ - - -#ifndef IPPCPDEFS_H__ - #include "ippcpdefs.h" -#endif - - -#ifdef __cplusplus -extern "C" { -#endif - -#if !defined( IPP_NO_DEFAULT_LIB ) - #if defined( _IPP_SEQUENTIAL_DYNAMIC ) - #pragma comment( lib, __FILE__ "/../../lib/" INTEL_PLATFORM "ippcp" ) - #elif defined( _IPP_SEQUENTIAL_STATIC ) - #pragma comment( lib, __FILE__ "/../../lib/" INTEL_PLATFORM "ippcpmt" ) - #endif -#endif - -#if defined(_MSC_VER) && !defined(__INTEL_COMPILER) && !defined(__INTEL_LLVM_COMPILER) -#pragma warning(push) -#pragma warning(disable : 4100) // for MSVC, unreferenced parameter -#endif - -/* ///////////////////////////////////////////////////////////////////////////// -// Name: ippcpGetLibVersion -// Purpose: getting of the library version -// Returns: the structure of information about version of ippCP library -// Parameters: -// -// Notes: not necessary to release the returned structure -*/ -IPPAPI( const IppLibraryVersion*, ippcpGetLibVersion, (void) ) - - -/* -// ========================================================= -// Symmetric Ciphers -// ========================================================= -*/ - -/* TDES */ - -#define TDES_DEPRECATED "This algorithm is considered weak due to known attacks on it. \ -The functionality remains in the library, but the implementation will no be longer \ -optimized and no security patches will be applied. A more secure alternative is available: AES" - -IPP_DEPRECATED(TDES_DEPRECATED) \ -IPPAPI(IppStatus, ippsDESGetSize,(int *size)) -IPP_DEPRECATED(TDES_DEPRECATED) \ -IPPAPI(IppStatus, ippsDESInit,(const Ipp8u* pKey, IppsDESSpec* pCtx)) - -IPP_DEPRECATED(TDES_DEPRECATED) \ -IPPAPI(IppStatus, ippsDESPack,(const IppsDESSpec* pCtx, Ipp8u* pBuffer)) -IPP_DEPRECATED(TDES_DEPRECATED) \ -IPPAPI(IppStatus, ippsDESUnpack,(const Ipp8u* pBuffer, IppsDESSpec* pCtx)) - -IPP_DEPRECATED(TDES_DEPRECATED) \ -IPPAPI(IppStatus, ippsTDESEncryptECB,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsDESSpec* pCtx1, const IppsDESSpec* pCtx2, const IppsDESSpec* pCtx3, - IppsCPPadding padding)) -IPP_DEPRECATED(TDES_DEPRECATED) \ -IPPAPI(IppStatus, ippsTDESDecryptECB,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsDESSpec* pCtx1, const IppsDESSpec* pCtx2, const IppsDESSpec* pCtx3, - IppsCPPadding padding)) - -IPP_DEPRECATED(TDES_DEPRECATED) \ -IPPAPI(IppStatus, ippsTDESEncryptCBC,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsDESSpec* pCtx1, const IppsDESSpec* pCtx2, const IppsDESSpec* pCtx3, - const Ipp8u* pIV, - IppsCPPadding padding)) -IPP_DEPRECATED(TDES_DEPRECATED) \ -IPPAPI(IppStatus, ippsTDESDecryptCBC,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsDESSpec* pCtx1, const IppsDESSpec* pCtx2, const IppsDESSpec* pCtx3, - const Ipp8u* pIV, - IppsCPPadding padding)) - -IPP_DEPRECATED(TDES_DEPRECATED) \ -IPPAPI(IppStatus, ippsTDESEncryptCFB,(const Ipp8u* pSrc, Ipp8u* pDst, int len, int cfbBlkSize, - const IppsDESSpec* pCtx1, const IppsDESSpec* pCtx2, const IppsDESSpec* pCtx3, - const Ipp8u* pIV, - IppsCPPadding padding)) -IPP_DEPRECATED(TDES_DEPRECATED) \ -IPPAPI(IppStatus, ippsTDESDecryptCFB,(const Ipp8u* pSrc, Ipp8u* pDst, int len, int cfbBlkSize, - const IppsDESSpec* pCtx1, const IppsDESSpec* pCtx2, const IppsDESSpec* pCtx3, - const Ipp8u* pIV, - IppsCPPadding padding)) - -IPP_DEPRECATED(TDES_DEPRECATED) \ -IPPAPI(IppStatus, ippsTDESEncryptOFB,(const Ipp8u* pSrc, Ipp8u* pDst, int len, int ofbBlkSize, - const IppsDESSpec* pCtx1, - const IppsDESSpec* pCtx2, - const IppsDESSpec* pCtx3, - Ipp8u* pIV)) -IPP_DEPRECATED(TDES_DEPRECATED) \ -IPPAPI(IppStatus, ippsTDESDecryptOFB,(const Ipp8u* pSrc, Ipp8u* pDst, int len, int ofbBlkSize, - const IppsDESSpec* pCtx1, - const IppsDESSpec* pCtx2, - const IppsDESSpec* pCtx3, - Ipp8u* pIV)) - -IPP_DEPRECATED(TDES_DEPRECATED) \ -IPPAPI(IppStatus, ippsTDESEncryptCTR,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsDESSpec* pCtx1, - const IppsDESSpec* pCtx2, - const IppsDESSpec* pCtx3, - Ipp8u* pCtrValue, int ctrNumBitSize)) -IPP_DEPRECATED(TDES_DEPRECATED) \ -IPPAPI(IppStatus, ippsTDESDecryptCTR,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsDESSpec* pCtx1, - const IppsDESSpec* pCtx2, - const IppsDESSpec* pCtx3, - Ipp8u* pCtrValue, int ctrNumBitSize)) - -/* AES */ -IPPAPI(IppStatus, ippsAESGetSize,(int *pSize)) -IPPAPI(IppStatus, ippsAESInit,(const Ipp8u* pKey, int keyLen, IppsAESSpec* pCtx, int ctxSize)) -IPPAPI(IppStatus, ippsAESSetKey,(const Ipp8u* pKey, int keyLen, IppsAESSpec* pCtx)) - -IPPAPI(IppStatus, ippsAESPack,(const IppsAESSpec* pCtx, Ipp8u* pBuffer, int bufSize)) -IPPAPI(IppStatus, ippsAESUnpack,(const Ipp8u* pBuffer, IppsAESSpec* pCtx, int ctxSize)) - -#define ECB_DEPRECATED "ECB functionality remains in the library, but it is not safe when used as is. \ -It is recommended to use any other mode, for example CBC." - -IPP_DEPRECATED(ECB_DEPRECATED) \ -IPPAPI(IppStatus, ippsAESEncryptECB,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsAESSpec* pCtx)) -IPP_DEPRECATED(ECB_DEPRECATED) \ -IPPAPI(IppStatus, ippsAESDecryptECB,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsAESSpec* pCtx)) - -IPPAPI(IppStatus, ippsAESEncryptCBC,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsAESSpec* pCtx, - const Ipp8u* pIV)) -IPPAPI(IppStatus, ippsAESEncryptCBC_CS1,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsAESSpec* pCtx, - const Ipp8u* pIV)) -IPPAPI(IppStatus, ippsAESEncryptCBC_CS2,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsAESSpec* pCtx, - const Ipp8u* pIV)) -IPPAPI(IppStatus, ippsAESEncryptCBC_CS3,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsAESSpec* pCtx, - const Ipp8u* pIV)) -IPPAPI(IppStatus, ippsAESDecryptCBC,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsAESSpec* pCtx, - const Ipp8u* pIV)) -IPPAPI(IppStatus, ippsAESDecryptCBC_CS1,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsAESSpec* pCtx, - const Ipp8u* pIV)) -IPPAPI(IppStatus, ippsAESDecryptCBC_CS2,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsAESSpec* pCtx, - const Ipp8u* pIV)) -IPPAPI(IppStatus, ippsAESDecryptCBC_CS3,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsAESSpec* pCtx, - const Ipp8u* pIV)) - -IPPAPI(IppStatus, ippsAESEncryptCFB,(const Ipp8u* pSrc, Ipp8u* pDst, int len, int cfbBlkSize, - const IppsAESSpec* pCtx, - const Ipp8u* pIV)) -IPPAPI(IppStatus, ippsAESDecryptCFB,(const Ipp8u* pSrc, Ipp8u* pDst, int len, int cfbBlkSize, - const IppsAESSpec* pCtx, - const Ipp8u* pIV)) - -IPPAPI(IppStatus, ippsAESEncryptOFB,(const Ipp8u* pSrc, Ipp8u* pDst, int len, int ofbBlkSize, - const IppsAESSpec* pCtx, - Ipp8u* pIV)) -IPPAPI(IppStatus, ippsAESDecryptOFB,(const Ipp8u* pSrc, Ipp8u* pDst, int len, int ofbBlkSize, - const IppsAESSpec* pCtx, - Ipp8u* pIV)) - -IPPAPI(IppStatus, ippsAESEncryptCTR,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsAESSpec* pCtx, - Ipp8u* pCtrValue, int ctrNumBitSize)) -IPPAPI(IppStatus, ippsAESDecryptCTR,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsAESSpec* pCtx, - Ipp8u* pCtrValue, int ctrNumBitSize)) - -IPPAPI(IppStatus, ippsAESEncryptXTS_Direct,(const Ipp8u* pSrc, Ipp8u* pDst, int encBitsize, int aesBlkNo, - const Ipp8u* pTweakPT, - const Ipp8u* pKey, int keyBitsize, - int dataUnitBitsize)) -IPPAPI(IppStatus, ippsAESDecryptXTS_Direct,(const Ipp8u* pSrc, Ipp8u* pDst, int encBitsize, int aesBlkNo, - const Ipp8u* pTweakPT, - const Ipp8u* pKey, int keyBitsize, - int dataUnitBitsize)) - -IPPAPI(IppStatus, ippsAESSetupNoise,(Ipp32u noiseLevel, IppsAESSpec* pCtx)) -IPPAPI(IppStatus, ippsAES_GCMSetupNoise,(Ipp32u noiseLevel, IppsAES_GCMState* pState)) -IPPAPI(IppStatus, ippsAES_CMACSetupNoise,(Ipp32u noiseLevel, IppsAES_CMACState* pState)) - -/* AES multi-buffer functions */ -IPPAPI(IppStatus, ippsAES_EncryptCFB16_MB, (const Ipp8u* pSrc[], Ipp8u* pDst[], int len[], - const IppsAESSpec* pCtx[], - const Ipp8u* pIV[], - IppStatus status[], - int numBuffers)) - -/* SMS4 */ -IPPAPI(IppStatus, ippsSMS4GetSize,(int *pSize)) -IPPAPI(IppStatus, ippsSMS4Init,(const Ipp8u* pKey, int keyLen, IppsSMS4Spec* pCtx, int ctxSize)) -IPPAPI(IppStatus, ippsSMS4SetKey,(const Ipp8u* pKey, int keyLen, IppsSMS4Spec* pCtx)) - -IPP_DEPRECATED(ECB_DEPRECATED) \ -IPPAPI(IppStatus, ippsSMS4EncryptECB,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsSMS4Spec* pCtx)) -IPP_DEPRECATED(ECB_DEPRECATED) \ -IPPAPI(IppStatus, ippsSMS4DecryptECB,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsSMS4Spec* pCtx)) - -IPPAPI(IppStatus, ippsSMS4EncryptCBC,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsSMS4Spec* pCtx, - const Ipp8u* pIV)) -IPPAPI(IppStatus, ippsSMS4EncryptCBC_CS1,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsSMS4Spec* pCtx, - const Ipp8u* pIV)) -IPPAPI(IppStatus, ippsSMS4EncryptCBC_CS2,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsSMS4Spec* pCtx, - const Ipp8u* pIV)) -IPPAPI(IppStatus, ippsSMS4EncryptCBC_CS3,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsSMS4Spec* pCtx, - const Ipp8u* pIV)) -IPPAPI(IppStatus, ippsSMS4DecryptCBC,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsSMS4Spec* pCtx, - const Ipp8u* pIV)) -IPPAPI(IppStatus, ippsSMS4DecryptCBC_CS1,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsSMS4Spec* pCtx, - const Ipp8u* pIV)) -IPPAPI(IppStatus, ippsSMS4DecryptCBC_CS2,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsSMS4Spec* pCtx, - const Ipp8u* pIV)) -IPPAPI(IppStatus, ippsSMS4DecryptCBC_CS3,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsSMS4Spec* pCtx, - const Ipp8u* pIV)) - -IPPAPI(IppStatus, ippsSMS4EncryptCFB,(const Ipp8u* pSrc, Ipp8u* pDst, int len, int cfbBlkSize, - const IppsSMS4Spec* pCtx, - const Ipp8u* pIV)) -IPPAPI(IppStatus, ippsSMS4DecryptCFB,(const Ipp8u* pSrc, Ipp8u* pDst, int len, int cfbBlkSize, - const IppsSMS4Spec* pCtx, - const Ipp8u* pIV)) - -IPPAPI(IppStatus, ippsSMS4EncryptOFB,(const Ipp8u* pSrc, Ipp8u* pDst, int len, int ofbBlkSize, - const IppsSMS4Spec* pCtx, - Ipp8u* pIV)) -IPPAPI(IppStatus, ippsSMS4DecryptOFB,(const Ipp8u* pSrc, Ipp8u* pDst, int len, int ofbBlkSize, - const IppsSMS4Spec* pCtx, - Ipp8u* pIV)) - -IPPAPI(IppStatus, ippsSMS4EncryptCTR,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsSMS4Spec* pCtx, - Ipp8u* pCtrValue, int ctrNumBitSize)) -IPPAPI(IppStatus, ippsSMS4DecryptCTR,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - const IppsSMS4Spec* pCtx, - Ipp8u* pCtrValue, int ctrNumBitSize)) - -/* SMS4-CCM */ -IPPAPI(IppStatus, ippsSMS4_CCMGetSize,(int* pSize)) -IPPAPI(IppStatus, ippsSMS4_CCMInit,(const Ipp8u* pKey, int keyLen, IppsSMS4_CCMState* pCtx, int ctxSize)) - -IPPAPI(IppStatus, ippsSMS4_CCMMessageLen,(Ipp64u msgLen, IppsSMS4_CCMState* pCtx)) -IPPAPI(IppStatus, ippsSMS4_CCMTagLen,(int tagLen, IppsSMS4_CCMState* pCtx)) - -IPPAPI(IppStatus, ippsSMS4_CCMStart,(const Ipp8u* pIV, int ivLen, const Ipp8u* pAD, int adLen, IppsSMS4_CCMState* pCtx)) -IPPAPI(IppStatus, ippsSMS4_CCMEncrypt,(const Ipp8u* pSrc, Ipp8u* pDst, int len, IppsSMS4_CCMState* pCtx)) -IPPAPI(IppStatus, ippsSMS4_CCMDecrypt,(const Ipp8u* pSrc, Ipp8u* pDst, int len, IppsSMS4_CCMState* pCtx)) -IPPAPI(IppStatus, ippsSMS4_CCMGetTag,(Ipp8u* pTag, int tagLen, const IppsSMS4_CCMState* pCtx)) - -/* -// ========================================================= -// AES based authentication & confidence Primitives -// ========================================================= -*/ - -/* AES-CCM */ -IPPAPI(IppStatus, ippsAES_CCMGetSize,(int* pSize)) -IPPAPI(IppStatus, ippsAES_CCMInit,(const Ipp8u* pKey, int keyLen, IppsAES_CCMState* pState, int ctxSize)) - -IPPAPI(IppStatus, ippsAES_CCMMessageLen,(Ipp64u msgLen, IppsAES_CCMState* pState)) -IPPAPI(IppStatus, ippsAES_CCMTagLen,(int tagLen, IppsAES_CCMState* pState)) - -IPPAPI(IppStatus, ippsAES_CCMStart,(const Ipp8u* pIV, int ivLen, const Ipp8u* pAD, int adLen, IppsAES_CCMState* pState)) -IPPAPI(IppStatus, ippsAES_CCMEncrypt,(const Ipp8u* pSrc, Ipp8u* pDst, int len, IppsAES_CCMState* pState)) -IPPAPI(IppStatus, ippsAES_CCMDecrypt,(const Ipp8u* pSrc, Ipp8u* pDst, int len, IppsAES_CCMState* pState)) -IPPAPI(IppStatus, ippsAES_CCMGetTag,(Ipp8u* pTag, int tagLen, const IppsAES_CCMState* pState)) - -/* AES-GCM */ -IPPAPI(IppStatus, ippsAES_GCMGetSize,(int * pSize)) -IPPAPI(IppStatus, ippsAES_GCMInit,(const Ipp8u* pKey, int keyLen, IppsAES_GCMState* pState, int ctxSize)) -IPPAPI(IppStatus, ippsAES_GCMReinit,(IppsAES_GCMState* pState)) - -IPPAPI(IppStatus, ippsAES_GCMReset,(IppsAES_GCMState* pState)) -IPPAPI(IppStatus, ippsAES_GCMProcessIV,(const Ipp8u* pIV, int ivLen, - IppsAES_GCMState* pState)) -IPPAPI(IppStatus, ippsAES_GCMProcessAAD,(const Ipp8u* pAAD, int aadLen, - IppsAES_GCMState* pState)) -IPPAPI(IppStatus, ippsAES_GCMStart,(const Ipp8u* pIV, int ivLen, - const Ipp8u* pAAD, int aadLen, - IppsAES_GCMState* pState)) -IPPAPI(IppStatus, ippsAES_GCMEncrypt,(const Ipp8u* pSrc, Ipp8u* pDst, int len, IppsAES_GCMState* pState)) -IPPAPI(IppStatus, ippsAES_GCMDecrypt,(const Ipp8u* pSrc, Ipp8u* pDst, int len, IppsAES_GCMState* pState)) -IPPAPI(IppStatus, ippsAES_GCMGetTag,(Ipp8u* pDstTag, int tagLen, const IppsAES_GCMState* pState)) - -/* AES-XTS */ -IPPAPI(IppStatus, ippsAES_XTSGetSize,(int * pSize)) -IPPAPI(IppStatus, ippsAES_XTSInit,(const Ipp8u* pKey, int keyLen, - int duBitsize, - IppsAES_XTSSpec* pCtx,int ctxSize)) -IPPAPI(IppStatus, ippsAES_XTSEncrypt,(const Ipp8u* pSrc, Ipp8u* pDst, int bitSizeLen, - const IppsAES_XTSSpec* pCtx, - const Ipp8u* pTweak, - int startCipherBlkNo)) -IPPAPI(IppStatus, ippsAES_XTSDecrypt,(const Ipp8u* pSrc, Ipp8u* pDst, int bitSizeLen, - const IppsAES_XTSSpec* pCtx, - const Ipp8u* pTweak, - int startCipherBlkNo)) - -/* AES-SIV (RFC 5297) */ -IPPAPI(IppStatus, ippsAES_S2V_CMAC,(const Ipp8u* pKey, int keyLen, - const Ipp8u* pAD[], const int pADlen[], int numAD, - Ipp8u* pV)) -IPPAPI(IppStatus, ippsAES_SIVEncrypt,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - Ipp8u* pSIV, - const Ipp8u* pAuthKey, const Ipp8u* pConfKey, int keyLen, - const Ipp8u* pAD[], const int pADlen[], int numAD)) -IPPAPI(IppStatus, ippsAES_SIVDecrypt,(const Ipp8u* pSrc, Ipp8u* pDst, int len, - int* pAuthPassed, - const Ipp8u* pAuthKey, const Ipp8u* pConfKey, int keyLen, - const Ipp8u* pAD[], const int pADlen[], int numAD, - const Ipp8u* pSIV)) - -/* AES-CMAC */ -IPPAPI(IppStatus, ippsAES_CMACGetSize,(int* pSize)) -IPPAPI(IppStatus, ippsAES_CMACInit,(const Ipp8u* pKey, int keyLen, IppsAES_CMACState* pState, int ctxSize)) - -IPPAPI(IppStatus, ippsAES_CMACUpdate,(const Ipp8u* pSrc, int len, IppsAES_CMACState* pState)) -IPPAPI(IppStatus, ippsAES_CMACFinal,(Ipp8u* pMD, int mdLen, IppsAES_CMACState* pState)) -IPPAPI(IppStatus, ippsAES_CMACGetTag,(Ipp8u* pMD, int mdLen, const IppsAES_CMACState* pState)) - - -/* -// ========================================================= -// RC4 Stream Ciphers -// ========================================================= -*/ - -#define RC4_DEPRECATED "is deprecated. This algorithm is considered weak due to known attacks on it. \ -It is obsolete and will be removed in one of the future Intel IPP Cryptography releases." - -IPP_DEPRECATED(RC4_DEPRECATED) \ -IPPAPI(IppStatus, ippsARCFourCheckKey, (const Ipp8u *pKey, int keyLen, IppBool* pIsWeak)) - -IPP_DEPRECATED(RC4_DEPRECATED) \ -IPPAPI(IppStatus, ippsARCFourGetSize, (int* pSize)) -IPP_DEPRECATED(RC4_DEPRECATED) \ -IPPAPI(IppStatus, ippsARCFourInit, (const Ipp8u *pKey, int keyLen, IppsARCFourState *pCtx)) -IPP_DEPRECATED(RC4_DEPRECATED) \ -IPPAPI(IppStatus, ippsARCFourReset, (IppsARCFourState* pCtx)) - -IPP_DEPRECATED(RC4_DEPRECATED) \ -IPPAPI(IppStatus, ippsARCFourPack,(const IppsARCFourState* pCtx, Ipp8u* pBuffer)) -IPP_DEPRECATED(RC4_DEPRECATED) \ -IPPAPI(IppStatus, ippsARCFourUnpack,(const Ipp8u* pBuffer, IppsARCFourState* pCtx)) - -IPP_DEPRECATED(RC4_DEPRECATED) \ -IPPAPI(IppStatus, ippsARCFourEncrypt, (const Ipp8u *pSrc, Ipp8u *pDst, int length, IppsARCFourState *pCtx)) -IPP_DEPRECATED(RC4_DEPRECATED) \ -IPPAPI(IppStatus, ippsARCFourDecrypt, (const Ipp8u *pSrc, Ipp8u *pDst, int length, IppsARCFourState *pCtx)) - - -/* -// ========================================================= -// One-Way Hash Functions -// ========================================================= -*/ - -#define OBSOLETE_API "is deprecated. This API is considered obsolete and will be removed in one of future Intel IPP Cryptography releases. \ -Use the following link for opening a ticket and providing feedback: https://supporttickets.intel.com/ if you have concerns." - -#define SHA1_DEPRECATED "This algorithm is considered weak due to known attacks on it. \ -The functionality remains in the library, but the implementation will no be longer \ -optimized and no security patches will be applied. A more secure alternative is available: SHA-2" - -/* SHA1 Hash Primitives */ -IPP_DEPRECATED(SHA1_DEPRECATED) \ -IPPAPI(IppStatus, ippsSHA1GetSize,(int* pSize)) -IPP_DEPRECATED(SHA1_DEPRECATED) \ -IPPAPI(IppStatus, ippsSHA1Init,(IppsSHA1State* pState)) -IPP_DEPRECATED(SHA1_DEPRECATED) \ -IPPAPI(IppStatus, ippsSHA1Duplicate,(const IppsSHA1State* pSrcState, IppsSHA1State* pDstState)) - -IPP_DEPRECATED(SHA1_DEPRECATED) \ -IPPAPI(IppStatus, ippsSHA1Pack,(const IppsSHA1State* pState, Ipp8u* pBuffer)) -IPP_DEPRECATED(SHA1_DEPRECATED) \ -IPPAPI(IppStatus, ippsSHA1Unpack,(const Ipp8u* pBuffer, IppsSHA1State* pState)) - -IPP_DEPRECATED(SHA1_DEPRECATED) \ -IPPAPI(IppStatus, ippsSHA1Update,(const Ipp8u* pSrc, int len, IppsSHA1State* pState)) -IPP_DEPRECATED(SHA1_DEPRECATED) \ -IPPAPI(IppStatus, ippsSHA1GetTag,(Ipp8u* pTag, Ipp32u tagLen, const IppsSHA1State* pState)) -IPP_DEPRECATED(SHA1_DEPRECATED) \ -IPPAPI(IppStatus, ippsSHA1Final,(Ipp8u* pMD, IppsSHA1State* pState)) -IPP_DEPRECATED(SHA1_DEPRECATED) \ -IPPAPI(IppStatus, ippsSHA1MessageDigest,(const Ipp8u* pMsg, int len, Ipp8u* pMD)) - -/* SHA224 Hash Primitives */ -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA224GetSize,(int* pSize)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA224Init,(IppsSHA224State* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA224Duplicate,(const IppsSHA224State* pSrcState, IppsSHA224State* pDstState)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA224Pack,(const IppsSHA224State* pState, Ipp8u* pBuffer)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA224Unpack,(const Ipp8u* pBuffer, IppsSHA224State* pState)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA224Update,(const Ipp8u* pSrc, int len, IppsSHA224State* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA224GetTag,(Ipp8u* pTag, Ipp32u tagLen, const IppsSHA224State* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA224Final,(Ipp8u* pMD, IppsSHA224State* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA224MessageDigest,(const Ipp8u* pMsg, int len, Ipp8u* pMD)) - -/* SHA256 Hash Primitives */ -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA256GetSize,(int* pSize)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA256Init,(IppsSHA256State* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA256Duplicate,(const IppsSHA256State* pSrcState, IppsSHA256State* pDstState)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA256Pack,(const IppsSHA256State* pState, Ipp8u* pBuffer)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA256Unpack,(const Ipp8u* pBuffer, IppsSHA256State* pState)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA256Update,(const Ipp8u* pSrc, int len, IppsSHA256State* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA256GetTag,(Ipp8u* pTag, Ipp32u tagLen, const IppsSHA256State* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA256Final,(Ipp8u* pMD, IppsSHA256State* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA256MessageDigest,(const Ipp8u* pMsg, int len, Ipp8u* pMD)) - -/* SHA384 Hash Primitives */ -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA384GetSize,(int* pSize)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA384Init,(IppsSHA384State* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA384Duplicate,(const IppsSHA384State* pSrcState, IppsSHA384State* pDstState)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA384Pack,(const IppsSHA384State* pState, Ipp8u* pBuffer)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA384Unpack,(const Ipp8u* pBuffer, IppsSHA384State* pState)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA384Update,(const Ipp8u* pSrc, int len, IppsSHA384State* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA384GetTag,(Ipp8u* pTag, Ipp32u tagLen, const IppsSHA384State* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA384Final,(Ipp8u* pMD, IppsSHA384State* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA384MessageDigest,(const Ipp8u* pMsg, int len, Ipp8u* pMD)) - -/* SHA512 Hash Primitives */ -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA512GetSize,(int* pSize)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA512Init,(IppsSHA512State* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA512Duplicate,(const IppsSHA512State* pSrcState, IppsSHA512State* pDstState)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA512Pack,(const IppsSHA512State* pState, Ipp8u* pBuffer)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA512Unpack,(const Ipp8u* pBuffer, IppsSHA512State* pState)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA512Update,(const Ipp8u* pSrc, int len, IppsSHA512State* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA512GetTag,(Ipp8u* pTag, Ipp32u tagLen, const IppsSHA512State* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA512Final,(Ipp8u* pMD, IppsSHA512State* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSHA512MessageDigest,(const Ipp8u* pMsg, int len, Ipp8u* pMD)) - -/* MD5 Hash Primitives */ - -#define MD5_DEPRECATED "This algorithm is considered weak due to known attacks on it. \ -The functionality remains in the library, but the implementation will no be longer \ -optimized and no security patches will be applied. A more secure alternative is available: SHA-2" - -IPP_DEPRECATED(MD5_DEPRECATED) \ -IPPAPI(IppStatus, ippsMD5GetSize,(int* pSize)) -IPP_DEPRECATED(MD5_DEPRECATED) \ -IPPAPI(IppStatus, ippsMD5Init,(IppsMD5State* pState)) -IPP_DEPRECATED(MD5_DEPRECATED) \ -IPPAPI(IppStatus, ippsMD5Duplicate,(const IppsMD5State* pSrcState, IppsMD5State* pDstState)) - -IPP_DEPRECATED(MD5_DEPRECATED) \ -IPPAPI(IppStatus, ippsMD5Pack,(const IppsMD5State* pState, Ipp8u* pBuffer)) -IPP_DEPRECATED(MD5_DEPRECATED) \ -IPPAPI(IppStatus, ippsMD5Unpack,(const Ipp8u* pBuffer, IppsMD5State* pState)) - -IPP_DEPRECATED(MD5_DEPRECATED) \ -IPPAPI(IppStatus, ippsMD5Update,(const Ipp8u* pSrc, int len, IppsMD5State* pState)) -IPP_DEPRECATED(MD5_DEPRECATED) \ -IPPAPI(IppStatus, ippsMD5GetTag,(Ipp8u* pTag, Ipp32u tagLen, const IppsMD5State* pState)) -IPP_DEPRECATED(MD5_DEPRECATED) \ -IPPAPI(IppStatus, ippsMD5Final,(Ipp8u* pMD, IppsMD5State* pState)) -IPP_DEPRECATED(MD5_DEPRECATED) \ -IPPAPI(IppStatus, ippsMD5MessageDigest,(const Ipp8u* pMsg, int len, Ipp8u* pMD)) - -/* SM3 Hash Primitives */ -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSM3GetSize,(int* pSize)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSM3Init,(IppsSM3State* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSM3Duplicate,(const IppsSM3State* pSrcState, IppsSM3State* pDstState)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSM3Pack,(const IppsSM3State* pState, Ipp8u* pBuffer)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSM3Unpack,(const Ipp8u* pBuffer, IppsSM3State* pState)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSM3Update,(const Ipp8u* pSrc, int len, IppsSM3State* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSM3GetTag,(Ipp8u* pTag, Ipp32u tagLen, const IppsSM3State* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSM3Final,(Ipp8u* pMD, IppsSM3State* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsSM3MessageDigest,(const Ipp8u* pMsg, int len, Ipp8u* pMD)) - -/* generalized Hash Primitives */ -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsHashGetSize,(int* pSize)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsHashInit,(IppsHashState* pState, IppHashAlgId hashAlg)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsHashPack,(const IppsHashState* pState, Ipp8u* pBuffer, int bufSize)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsHashUnpack,(const Ipp8u* pBuffer, IppsHashState* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsHashDuplicate,(const IppsHashState* pSrcState, IppsHashState* pDstState)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsHashUpdate,(const Ipp8u* pSrc, int len, IppsHashState* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsHashGetTag,(Ipp8u* pTag, int tagLen, const IppsHashState* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsHashFinal,(Ipp8u* pMD, IppsHashState* pState)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsHashMessage,(const Ipp8u* pMsg, int len, Ipp8u* pMD, IppHashAlgId hashAlg)) - -/* method based generalized (reduced memory footprint) Hash Primitives */ -IPP_DEPRECATED(MD5_DEPRECATED) \ -IPPAPI( const IppsHashMethod*, ippsHashMethod_MD5, (void) ) -IPPAPI( const IppsHashMethod*, ippsHashMethod_SM3, (void) ) - -IPP_DEPRECATED(SHA1_DEPRECATED) \ -IPPAPI( const IppsHashMethod*, ippsHashMethod_SHA1, (void) ) -IPP_DEPRECATED(SHA1_DEPRECATED) \ -IPPAPI( const IppsHashMethod*, ippsHashMethod_SHA1_NI, (void) ) -IPP_DEPRECATED(SHA1_DEPRECATED) \ -IPPAPI( const IppsHashMethod*, ippsHashMethod_SHA1_TT, (void) ) - -IPPAPI( const IppsHashMethod*, ippsHashMethod_SHA256, (void) ) -IPPAPI( const IppsHashMethod*, ippsHashMethod_SHA256_NI, (void) ) -IPPAPI( const IppsHashMethod*, ippsHashMethod_SHA256_TT, (void) ) - -IPPAPI( const IppsHashMethod*, ippsHashMethod_SHA224, (void) ) -IPPAPI( const IppsHashMethod*, ippsHashMethod_SHA224_NI, (void) ) -IPPAPI( const IppsHashMethod*, ippsHashMethod_SHA224_TT, (void) ) - -IPPAPI( const IppsHashMethod*, ippsHashMethod_SHA512, (void) ) -IPPAPI( const IppsHashMethod*, ippsHashMethod_SHA384, (void) ) -IPPAPI( const IppsHashMethod*, ippsHashMethod_SHA512_256, (void) ) -IPPAPI( const IppsHashMethod*, ippsHashMethod_SHA512_224, (void) ) - -IPPAPI( IppStatus, ippsHashMethodGetSize, (int* pSize) ) -IPP_DEPRECATED(MD5_DEPRECATED) \ -IPPAPI( IppStatus, ippsHashMethodSet_MD5, (IppsHashMethod* pMethod) ) -IPPAPI( IppStatus, ippsHashMethodSet_SM3, (IppsHashMethod* pMethod) ) - -IPPAPI( IppStatus, ippsHashStateMethodSet_SM3, (IppsHashState_rmf* pState, IppsHashMethod* pMethod) ) - -IPP_DEPRECATED(SHA1_DEPRECATED) \ -IPPAPI( IppStatus, ippsHashMethodSet_SHA1, (IppsHashMethod* pMethod) ) -IPP_DEPRECATED(SHA1_DEPRECATED) \ -IPPAPI( IppStatus, ippsHashMethodSet_SHA1_NI, (IppsHashMethod* pMethod) ) -IPP_DEPRECATED(SHA1_DEPRECATED) \ -IPPAPI( IppStatus, ippsHashMethodSet_SHA1_TT, (IppsHashMethod* pMethod) ) - -IPPAPI( IppStatus, ippsHashMethodSet_SHA256, (IppsHashMethod* pMethod) ) -IPPAPI( IppStatus, ippsHashMethodSet_SHA256_NI, (IppsHashMethod* pMethod) ) -IPPAPI( IppStatus, ippsHashMethodSet_SHA256_TT, (IppsHashMethod* pMethod) ) - -IPPAPI( IppStatus, ippsHashStateMethodSet_SHA256, (IppsHashState_rmf* pState, IppsHashMethod* pMethod) ) -IPPAPI( IppStatus, ippsHashStateMethodSet_SHA256_NI, (IppsHashState_rmf* pState, IppsHashMethod* pMethod) ) -IPPAPI( IppStatus, ippsHashStateMethodSet_SHA256_TT, (IppsHashState_rmf* pState, IppsHashMethod* pMethod) ) - -IPPAPI( IppStatus, ippsHashMethodSet_SHA224, (IppsHashMethod* pMethod) ) -IPPAPI( IppStatus, ippsHashMethodSet_SHA224_NI, (IppsHashMethod* pMethod) ) -IPPAPI( IppStatus, ippsHashMethodSet_SHA224_TT, (IppsHashMethod* pMethod) ) - -IPPAPI( IppStatus, ippsHashStateMethodSet_SHA224, (IppsHashState_rmf* pState, IppsHashMethod* pMethod) ) -IPPAPI( IppStatus, ippsHashStateMethodSet_SHA224_NI, (IppsHashState_rmf* pState, IppsHashMethod* pMethod) ) -IPPAPI( IppStatus, ippsHashStateMethodSet_SHA224_TT, (IppsHashState_rmf* pState, IppsHashMethod* pMethod) ) - -IPPAPI( IppStatus, ippsHashMethodSet_SHA512, (IppsHashMethod* pMethod) ) -IPPAPI( IppStatus, ippsHashMethodSet_SHA384, (IppsHashMethod* pMethod) ) -IPPAPI( IppStatus, ippsHashMethodSet_SHA512_256, (IppsHashMethod* pMethod) ) -IPPAPI( IppStatus, ippsHashMethodSet_SHA512_224, (IppsHashMethod* pMethod) ) - -IPPAPI( IppStatus, ippsHashStateMethodSet_SHA512, (IppsHashState_rmf* pState, IppsHashMethod* pMethod) ) -IPPAPI( IppStatus, ippsHashStateMethodSet_SHA384, (IppsHashState_rmf* pState, IppsHashMethod* pMethod) ) -IPPAPI( IppStatus, ippsHashStateMethodSet_SHA512_256, (IppsHashState_rmf* pState, IppsHashMethod* pMethod) ) -IPPAPI( IppStatus, ippsHashStateMethodSet_SHA512_224, (IppsHashState_rmf* pState, IppsHashMethod* pMethod) ) - -IPPAPI(IppStatus, ippsHashGetSize_rmf,(int* pSize)) -IPPAPI(IppStatus, ippsHashInit_rmf,(IppsHashState_rmf* pState, const IppsHashMethod* pMethod)) - -IPPAPI(IppStatus, ippsHashPack_rmf,(const IppsHashState_rmf* pState, Ipp8u* pBuffer, int bufSize)) -IPPAPI(IppStatus, ippsHashUnpack_rmf,(const Ipp8u* pBuffer, IppsHashState_rmf* pState)) -IPPAPI(IppStatus, ippsHashDuplicate_rmf,(const IppsHashState_rmf* pSrcState, IppsHashState_rmf* pDstState)) - -IPPAPI(IppStatus, ippsHashUpdate_rmf,(const Ipp8u* pSrc, int len, IppsHashState_rmf* pState)) -IPPAPI(IppStatus, ippsHashGetTag_rmf,(Ipp8u* pMD, int tagLen, const IppsHashState_rmf* pState)) -IPPAPI(IppStatus, ippsHashFinal_rmf,(Ipp8u* pMD, IppsHashState_rmf* pState)) -IPPAPI(IppStatus, ippsHashMessage_rmf,(const Ipp8u* pMsg, int len, Ipp8u* pMD, const IppsHashMethod* pMethod)) - -IPPAPI(IppStatus, ippsHashMethodGetInfo,(IppsHashInfo* pInfo, const IppsHashMethod* pMethod)) -IPPAPI(IppStatus, ippsHashGetInfo_rmf,(IppsHashInfo* pInfo, const IppsHashState_rmf* pState)) - -/* general MGF Primitives*/ -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsMGF,(const Ipp8u* pSeed, int seedLen, Ipp8u* pMask, int maskLen, IppHashAlgId hashAlg)) -IPPAPI(IppStatus, ippsMGF1_rmf,(const Ipp8u* pSeed, int seedLen, Ipp8u* pMask, int maskLen, const IppsHashMethod* pMethod)) -IPPAPI(IppStatus, ippsMGF2_rmf,(const Ipp8u* pSeed, int seedLen, Ipp8u* pMask, int maskLen, const IppsHashMethod* pMethod)) - - -/* -// ========================================================= -// Keyed-Hash Message Authentication Codes -// ========================================================= -*/ - -/* generalized Keyed HMAC primitives */ -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsHMAC_GetSize,(int* pSize)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsHMAC_Init,(const Ipp8u* pKey, int keyLen, IppsHMACState* pCtx, IppHashAlgId hashAlg)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsHMAC_Pack,(const IppsHMACState* pCtx, Ipp8u* pBuffer, int bufSize)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsHMAC_Unpack,(const Ipp8u* pBuffer, IppsHMACState* pCtx)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsHMAC_Duplicate,(const IppsHMACState* pSrcCtx, IppsHMACState* pDstCtx)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsHMAC_Update,(const Ipp8u* pSrc, int len, IppsHMACState* pCtx)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsHMAC_Final,(Ipp8u* pMD, int mdLen, IppsHMACState* pCtx)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsHMAC_GetTag,(Ipp8u* pMD, int mdLen, const IppsHMACState* pCtx)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsHMAC_Message,(const Ipp8u* pMsg, int msgLen, - const Ipp8u* pKey, int keyLen, - Ipp8u* pMD, int mdLen, - IppHashAlgId hashAlg)) - -/* method based generalized (reduced memory footprint) Keyed HMAC primitives */ -IPPAPI(IppStatus, ippsHMACGetSize_rmf,(int* pSize)) -IPPAPI(IppStatus, ippsHMACInit_rmf,(const Ipp8u* pKey, int keyLen, - IppsHMACState_rmf* pCtx, - const IppsHashMethod* pMethod)) - -IPPAPI(IppStatus, ippsHMACPack_rmf,(const IppsHMACState_rmf* pCtx, Ipp8u* pBuffer, int bufSize)) -IPPAPI(IppStatus, ippsHMACUnpack_rmf,(const Ipp8u* pBuffer, IppsHMACState_rmf* pCtx)) -IPPAPI(IppStatus, ippsHMACDuplicate_rmf,(const IppsHMACState_rmf* pSrcCtx, IppsHMACState_rmf* pDstCtx)) - -IPPAPI(IppStatus, ippsHMACUpdate_rmf,(const Ipp8u* pSrc, int len, IppsHMACState_rmf* pCtx)) -IPPAPI(IppStatus, ippsHMACFinal_rmf,(Ipp8u* pMD, int mdLen, IppsHMACState_rmf* pCtx)) -IPPAPI(IppStatus, ippsHMACGetTag_rmf,(Ipp8u* pMD, int mdLen, const IppsHMACState_rmf* pCtx)) -IPPAPI(IppStatus, ippsHMACMessage_rmf,(const Ipp8u* pMsg, int msgLen, - const Ipp8u* pKey, int keyLen, - Ipp8u* pMD, int mdLen, - const IppsHashMethod* pMethod)) - - -/* -// ========================================================= -// Big Number Integer Arithmetic -// ========================================================= -*/ - -/* Signed BigNum Operations */ -IPPAPI(IppStatus, ippsBigNumGetSize,(int length, int* pSize)) -IPPAPI(IppStatus, ippsBigNumInit,(int length, IppsBigNumState* pBN)) - -IPPAPI(IppStatus, ippsCmpZero_BN,(const IppsBigNumState* pBN, Ipp32u* pResult)) -IPPAPI(IppStatus, ippsCmp_BN,(const IppsBigNumState* pA, const IppsBigNumState* pB, Ipp32u* pResult)) - -IPPAPI(IppStatus, ippsGetSize_BN,(const IppsBigNumState* pBN, int* pSize)) -IPPAPI(IppStatus, ippsSet_BN,(IppsBigNumSGN sgn, - int length, const Ipp32u* pData, - IppsBigNumState* pBN)) -IPPAPI(IppStatus, ippsGet_BN,(IppsBigNumSGN* pSgn, - int* pLength, Ipp32u* pData, - const IppsBigNumState* pBN)) -IPPAPI(IppStatus, ippsRef_BN,(IppsBigNumSGN* pSgn, int* bitSize, Ipp32u** const ppData, - const IppsBigNumState* pBN)) -IPPAPI(IppStatus, ippsExtGet_BN,(IppsBigNumSGN* pSgn, - int* pBitSize, Ipp32u* pData, - const IppsBigNumState* pBN)) - -IPPAPI(IppStatus, ippsAdd_BN, (IppsBigNumState* pA, IppsBigNumState* pB, IppsBigNumState* pR)) -IPPAPI(IppStatus, ippsSub_BN, (IppsBigNumState* pA, IppsBigNumState* pB, IppsBigNumState* pR)) -IPPAPI(IppStatus, ippsMul_BN, (IppsBigNumState* pA, IppsBigNumState* pB, IppsBigNumState* pR)) -IPPAPI(IppStatus, ippsMAC_BN_I, (IppsBigNumState* pA, IppsBigNumState* pB, IppsBigNumState* pR)) -IPPAPI(IppStatus, ippsDiv_BN, (IppsBigNumState* pA, IppsBigNumState* pB, IppsBigNumState* pQ, IppsBigNumState* pR)) -IPPAPI(IppStatus, ippsMod_BN, (IppsBigNumState* pA, IppsBigNumState* pM, IppsBigNumState* pR)) -IPPAPI(IppStatus, ippsGcd_BN, (IppsBigNumState* pA, IppsBigNumState* pB, IppsBigNumState* pGCD)) -IPPAPI(IppStatus, ippsModInv_BN,(IppsBigNumState* pA, IppsBigNumState* pM, IppsBigNumState* pInv)) - -IPPAPI(IppStatus, ippsSetOctString_BN,(const Ipp8u* pStr, int strLen, IppsBigNumState* pBN)) -IPPAPI(IppStatus, ippsGetOctString_BN,(Ipp8u* pStr, int strLen, const IppsBigNumState* pBN)) - -/* Montgomery Operations */ -IPPAPI(IppStatus, ippsMontGetSize,(IppsExpMethod method, int length, int* pSize)) -IPPAPI(IppStatus, ippsMontInit,(IppsExpMethod method, int length, IppsMontState* pCtx)) - -IPPAPI(IppStatus, ippsMontSet,(const Ipp32u* pModulo, int size, IppsMontState* pCtx)) -IPPAPI(IppStatus, ippsMontGet,(Ipp32u* pModulo, int* pSize, const IppsMontState* pCtx)) - -IPPAPI(IppStatus, ippsMontForm,(const IppsBigNumState* pA, IppsMontState* pCtx, IppsBigNumState* pR)) -IPPAPI(IppStatus, ippsMontMul, (const IppsBigNumState* pA, const IppsBigNumState* pB, IppsMontState* m, IppsBigNumState* pR)) -IPPAPI(IppStatus, ippsMontExp, (const IppsBigNumState* pA, const IppsBigNumState* pE, IppsMontState* m, IppsBigNumState* pR)) - -/* Pseudo-Random Number Generation */ -IPPAPI(IppStatus, ippsPRNGGetSize,(int* pSize)) -IPPAPI(IppStatus, ippsPRNGInit, (int seedBits, IppsPRNGState* pCtx)) - -IPPAPI(IppStatus, ippsPRNGSetModulus,(const IppsBigNumState* pMod, IppsPRNGState* pCtx)) -IPPAPI(IppStatus, ippsPRNGSetH0, (const IppsBigNumState* pH0, IppsPRNGState* pCtx)) -IPPAPI(IppStatus, ippsPRNGSetAugment,(const IppsBigNumState* pAug, IppsPRNGState* pCtx)) -IPPAPI(IppStatus, ippsPRNGSetSeed, (const IppsBigNumState* pSeed,IppsPRNGState* pCtx)) -IPPAPI(IppStatus, ippsPRNGGetSeed, (const IppsPRNGState* pCtx,IppsBigNumState* pSeed)) - -IPPAPI(IppStatus, ippsPRNGen, (Ipp32u* pRand, int nBits, void* pCtx)) -IPPAPI(IppStatus, ippsPRNGen_BN, (IppsBigNumState* pRand, int nBits, void* pCtx)) -IPPAPI(IppStatus, ippsPRNGenRDRAND, (Ipp32u* pRand, int nBits, void* pCtx)) -IPPAPI(IppStatus, ippsPRNGenRDRAND_BN,(IppsBigNumState* pRand, int nBits, void* pCtx)) -IPPAPI(IppStatus, ippsTRNGenRDSEED, (Ipp32u* pRand, int nBits, void* pCtx)) -IPPAPI(IppStatus, ippsTRNGenRDSEED_BN,(IppsBigNumState* pRand, int nBits, void* pCtx)) - -/* Probable Prime Number Generation */ -IPPAPI(IppStatus, ippsPrimeGetSize,(int nMaxBits, int* pSize)) -IPPAPI(IppStatus, ippsPrimeInit, (int nMaxBits, IppsPrimeState* pCtx)) - -IPPAPI(IppStatus, ippsPrimeGen, (int nBits, int nTrials, IppsPrimeState* pCtx, - IppBitSupplier rndFunc, void* pRndParam)) -IPPAPI(IppStatus, ippsPrimeTest,(int nTrials, Ipp32u* pResult, IppsPrimeState* pCtx, - IppBitSupplier rndFunc, void* pRndParam)) -IPPAPI(IppStatus, ippsPrimeGen_BN,(IppsBigNumState* pPrime, int nBits, int nTrials, IppsPrimeState* pCtx, - IppBitSupplier rndFunc, void* pRndParam)) -IPPAPI(IppStatus, ippsPrimeTest_BN,(const IppsBigNumState* pPrime, int nTrials, Ipp32u* pResult, IppsPrimeState* pCtx, - IppBitSupplier rndFunc, void* pRndParam)) - -IPPAPI(IppStatus, ippsPrimeGet, (Ipp32u* pPrime, int* pLen, const IppsPrimeState* pCtx)) -IPPAPI(IppStatus, ippsPrimeGet_BN,(IppsBigNumState* pPrime, const IppsPrimeState* pCtx)) - -IPPAPI(IppStatus, ippsPrimeSet, (const Ipp32u* pPrime, int nBits, IppsPrimeState* pCtx)) -IPPAPI(IppStatus, ippsPrimeSet_BN,(const IppsBigNumState* pPrime, IppsPrimeState* pCtx)) - - -/* -// ========================================================= -// RSA Cryptography -// ========================================================= -*/ -IPPAPI(IppStatus, ippsRSA_GetSizePublicKey,(int rsaModulusBitSize, int pubicExpBitSize, int* pKeySize)) -IPPAPI(IppStatus, ippsRSA_InitPublicKey,(int rsaModulusBitSize, int publicExpBitSize, - IppsRSAPublicKeyState* pKey, int keyCtxSize)) -IPPAPI(IppStatus, ippsRSA_SetPublicKey,(const IppsBigNumState* pModulus, - const IppsBigNumState* pPublicExp, - IppsRSAPublicKeyState* pKey)) -IPPAPI(IppStatus, ippsRSA_GetPublicKey,(IppsBigNumState* pModulus, - IppsBigNumState* pPublicExp, - const IppsRSAPublicKeyState* pKey)) - -IPPAPI(IppStatus, ippsRSA_GetSizePrivateKeyType1,(int rsaModulusBitSize, int privateExpBitSize, int* pKeySize)) -IPPAPI(IppStatus, ippsRSA_InitPrivateKeyType1,(int rsaModulusBitSize, int privateExpBitSize, - IppsRSAPrivateKeyState* pKey, int keyCtxSize)) -IPPAPI(IppStatus, ippsRSA_SetPrivateKeyType1,(const IppsBigNumState* pModulus, - const IppsBigNumState* pPrivateExp, - IppsRSAPrivateKeyState* pKey)) -IPPAPI(IppStatus, ippsRSA_GetPrivateKeyType1,(IppsBigNumState* pModulus, - IppsBigNumState* pPrivateExp, - const IppsRSAPrivateKeyState* pKey)) - -IPPAPI(IppStatus, ippsRSA_GetSizePrivateKeyType2,(int factorPbitSize, int factorQbitSize, int* pKeySize)) -IPPAPI(IppStatus, ippsRSA_InitPrivateKeyType2,(int factorPbitSize, int factorQbitSize, - IppsRSAPrivateKeyState* pKey, int keyCtxSize)) -IPPAPI(IppStatus, ippsRSA_SetPrivateKeyType2,(const IppsBigNumState* pFactorP, - const IppsBigNumState* pFactorQ, - const IppsBigNumState* pCrtExpP, - const IppsBigNumState* pCrtExpQ, - const IppsBigNumState* pInverseQ, - IppsRSAPrivateKeyState* pKey)) -IPPAPI(IppStatus, ippsRSA_GetPrivateKeyType2,(IppsBigNumState* pFactorP, - IppsBigNumState* pFactorQ, - IppsBigNumState* pCrtExpP, - IppsBigNumState* pCrtExpQ, - IppsBigNumState* pInverseQ, - const IppsRSAPrivateKeyState* pKey)) - -IPPAPI(IppStatus, ippsRSA_GetBufferSizePublicKey,(int* pBufferSize, const IppsRSAPublicKeyState* pKey)) -IPPAPI(IppStatus, ippsRSA_GetBufferSizePrivateKey,(int* pBufferSize, const IppsRSAPrivateKeyState* pKey)) - -IPPAPI(IppStatus, ippsRSA_Encrypt,(const IppsBigNumState* pPtxt, - IppsBigNumState* pCtxt, - const IppsRSAPublicKeyState* pKey, - Ipp8u* pScratchBuffer)) -IPPAPI(IppStatus, ippsRSA_Decrypt,(const IppsBigNumState* pCtxt, - IppsBigNumState* pPtxt, - const IppsRSAPrivateKeyState* pKey, - Ipp8u* pScratchBuffer)) - -IPPAPI(IppStatus, ippsRSA_GenerateKeys,(const IppsBigNumState* pSrcPublicExp, - IppsBigNumState* pModulus, - IppsBigNumState* pPublicExp, - IppsBigNumState* pPrivateExp, - IppsRSAPrivateKeyState* pPrivateKeyType2, - Ipp8u* pScratchBuffer, - int nTrials, - IppsPrimeState* pPrimeGen, - IppBitSupplier rndFunc, void* pRndParam)) - -IPPAPI(IppStatus, ippsRSA_ValidateKeys,(int* pResult, - const IppsRSAPublicKeyState* pPublicKey, - const IppsRSAPrivateKeyState* pPrivateKeyType2, - const IppsRSAPrivateKeyState* pPrivateKeyType1, - Ipp8u* pScratchBuffer, - int nTrials, - IppsPrimeState* pPrimeGen, - IppBitSupplier rndFunc, void* pRndParam)) - -/* encryption scheme: RSAES-OAEP */ -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsRSAEncrypt_OAEP,(const Ipp8u* pSrc, int srcLen, - const Ipp8u* pLabel, int labLen, - const Ipp8u* pSeed, - Ipp8u* pDst, - const IppsRSAPublicKeyState* pKey, - IppHashAlgId hashAlg, - Ipp8u* pBuffer)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsRSADecrypt_OAEP,(const Ipp8u* pSrc, - const Ipp8u* pLab, int labLen, - Ipp8u* pDst, int* pDstLen, - const IppsRSAPrivateKeyState* pKey, - IppHashAlgId hashAlg, - Ipp8u* pBuffer)) - -IPPAPI(IppStatus, ippsRSAEncrypt_OAEP_rmf,(const Ipp8u* pSrc, int srcLen, - const Ipp8u* pLabel, int labLen, - const Ipp8u* pSeed, - Ipp8u* pDst, - const IppsRSAPublicKeyState* pKey, - const IppsHashMethod* pMethod, - Ipp8u* pBuffer)) - -IPPAPI(IppStatus, ippsRSADecrypt_OAEP_rmf,(const Ipp8u* pSrc, - const Ipp8u* pLab, int labLen, - Ipp8u* pDst, int* pDstLen, - const IppsRSAPrivateKeyState* pKey, - const IppsHashMethod* pMethod, - Ipp8u* pBuffer)) - -/* encryption scheme: RSAES-PKCS_v1_5 */ - -#define PKCS_DEPRECATED "This algorithm is considered weak due to known attacks on it. \ -The functionality remains in the library, but the implementation will no be longer \ -optimized and no security patches will be applied. A more secure alternative is available: RSA-OAEP" - -IPP_DEPRECATED(PKCS_DEPRECATED) \ -IPPAPI(IppStatus, ippsRSAEncrypt_PKCSv15,(const Ipp8u* pSrc, int srcLen, - const Ipp8u* pRndPS, - Ipp8u* pDst, - const IppsRSAPublicKeyState* pKey, - Ipp8u* pBuffer)) - -IPP_DEPRECATED(PKCS_DEPRECATED) \ -IPPAPI(IppStatus, ippsRSADecrypt_PKCSv15,(const Ipp8u* pSrc, - Ipp8u* pDst, int* pDstLen, - const IppsRSAPrivateKeyState* pKey, - Ipp8u* pBuffer)) - -/* signature scheme : RSA-SSA-PSS */ -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsRSASign_PSS,(const Ipp8u* pMsg, int msgLen, - const Ipp8u* pSalt, int saltLen, - Ipp8u* pSign, - const IppsRSAPrivateKeyState* pPrvKey, - const IppsRSAPublicKeyState* pPubKey, - IppHashAlgId hashAlg, - Ipp8u* pBuffer)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsRSAVerify_PSS,(const Ipp8u* pMsg, int msgLen, - const Ipp8u* pSign, - int* pIsValid, - const IppsRSAPublicKeyState* pKey, - IppHashAlgId hashAlg, - Ipp8u* pBuffer)) - -IPPAPI(IppStatus, ippsRSASign_PSS_rmf,(const Ipp8u* pMsg, int msgLen, - const Ipp8u* pSalt, int saltLen, - Ipp8u* pSign, - const IppsRSAPrivateKeyState* pPrvKey, - const IppsRSAPublicKeyState* pPubKey, - const IppsHashMethod* pMethod, - Ipp8u* pBuffer)) - -IPPAPI(IppStatus, ippsRSAVerify_PSS_rmf,(const Ipp8u* pMsg, int msgLen, - const Ipp8u* pSign, - int* pIsValid, - const IppsRSAPublicKeyState* pKey, - const IppsHashMethod* pMethod, - Ipp8u* pBuffer)) - -/* signature scheme : RSA-SSA-PKCS1-v1_5 */ -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsRSASign_PKCS1v15,(const Ipp8u* pMsg, int msgLen, - Ipp8u* pSign, - const IppsRSAPrivateKeyState* pPrvKey, - const IppsRSAPublicKeyState* pPubKey, - IppHashAlgId hashAlg, - Ipp8u* pBuffer)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsRSAVerify_PKCS1v15,(const Ipp8u* pMsg, int msgLen, - const Ipp8u* pSign, int* pIsValid, - const IppsRSAPublicKeyState* pKey, - IppHashAlgId hashAlg, - Ipp8u* pBuffer)) - -IPPAPI(IppStatus, ippsRSASign_PKCS1v15_rmf,(const Ipp8u* pMsg, int msgLen, - Ipp8u* pSign, - const IppsRSAPrivateKeyState* pPrvKey, - const IppsRSAPublicKeyState* pPubKey, - const IppsHashMethod* pMethod, - Ipp8u* pBuffer)) - -IPPAPI(IppStatus, ippsRSAVerify_PKCS1v15_rmf,(const Ipp8u* pMsg, int msgLen, - const Ipp8u* pSign, int* pIsValid, - const IppsRSAPublicKeyState* pKey, - const IppsHashMethod* pMethod, - Ipp8u* pBuffer)) - -/* -// ========================================================= -// DL Cryptography -// ========================================================= -*/ -IPPAPI( const char*, ippsDLGetResultString, (IppDLResult code)) - -/* Initialization */ -IPPAPI(IppStatus, ippsDLPGetSize,(int bitSizeP, int bitSizeR, int* pSize)) -IPPAPI(IppStatus, ippsDLPInit, (int bitSizeP, int bitSizeR, IppsDLPState* pCtx)) - -IPPAPI(IppStatus, ippsDLPPack,(const IppsDLPState* pCtx, Ipp8u* pBuffer)) -IPPAPI(IppStatus, ippsDLPUnpack,(const Ipp8u* pBuffer, IppsDLPState* pCtx)) - -/* Set Up and Retrieve Domain Parameters */ -IPPAPI(IppStatus, ippsDLPSet,(const IppsBigNumState* pP, - const IppsBigNumState* pR, - const IppsBigNumState* pG, - IppsDLPState* pCtx)) -IPPAPI(IppStatus, ippsDLPGet,(IppsBigNumState* pP, - IppsBigNumState* pR, - IppsBigNumState* pG, - IppsDLPState* pCtx)) -IPPAPI(IppStatus, ippsDLPSetDP,(const IppsBigNumState* pDP, IppDLPKeyTag tag, IppsDLPState* pCtx)) -IPPAPI(IppStatus, ippsDLPGetDP,(IppsBigNumState* pDP, IppDLPKeyTag tag, const IppsDLPState* pCtx)) - -/* Key Generation, Validation and Set Up */ -IPPAPI(IppStatus, ippsDLPGenKeyPair,(IppsBigNumState* pPrvKey, IppsBigNumState* pPubKey, - IppsDLPState* pCtx, - IppBitSupplier rndFunc, void* pRndParam)) -IPPAPI(IppStatus, ippsDLPPublicKey, (const IppsBigNumState* pPrvKey, - IppsBigNumState* pPubKey, - IppsDLPState* pCtx)) -IPPAPI(IppStatus, ippsDLPValidateKeyPair,(const IppsBigNumState* pPrvKey, - const IppsBigNumState* pPubKey, - IppDLResult* pResult, - IppsDLPState* pCtx)) - -IPPAPI(IppStatus, ippsDLPSetKeyPair,(const IppsBigNumState* pPrvKey, - const IppsBigNumState* pPubKey, - IppsDLPState* pCtx)) - -/* Signing/Verifying (DSA version) */ -IPPAPI(IppStatus, ippsDLPSignDSA, (const IppsBigNumState* pMsgDigest, - const IppsBigNumState* pPrvKey, - IppsBigNumState* pSignR, IppsBigNumState* pSignS, - IppsDLPState* pCtx)) -IPPAPI(IppStatus, ippsDLPVerifyDSA,(const IppsBigNumState* pMsgDigest, - const IppsBigNumState* pSignR, const IppsBigNumState* pSignS, - IppDLResult* pResult, - IppsDLPState* pCtx)) - -/* Shared Secret Element (DH version) */ -IPPAPI(IppStatus, ippsDLPSharedSecretDH,(const IppsBigNumState* pPrvKeyA, - const IppsBigNumState* pPubKeyB, - IppsBigNumState* pShare, - IppsDLPState* pCtx)) - -/* DSA's parameter Generation and Validation */ -IPPAPI(IppStatus, ippsDLPGenerateDSA,(const IppsBigNumState* pSeedIn, - int nTrials, IppsDLPState* pCtx, - IppsBigNumState* pSeedOut, int* pCounter, - IppBitSupplier rndFunc, void* pRndParam)) -IPPAPI(IppStatus, ippsDLPValidateDSA,(int nTrials, IppDLResult* pResult, IppsDLPState* pCtx, - IppBitSupplier rndFunc, void* pRndParam)) - -/* DH parameter's Generation and Validation */ -IPPAPI(IppStatus, ippsDLPGenerateDH,(const IppsBigNumState* pSeedIn, - int nTrials, IppsDLPState* pCtx, - IppsBigNumState* pSeedOut, int* pCounter, - IppBitSupplier rndFunc, void* pRndParam)) -IPPAPI(IppStatus, ippsDLPValidateDH,(int nTrials, IppDLResult* pResult, IppsDLPState* pCtx, - IppBitSupplier rndFunc, void* pRndParam)) - - -/* -// ========================================================= -// EC Cryptography -// ========================================================= -*/ -IPPAPI( const char*, ippsECCGetResultString, (IppECResult code)) - -/* -// EC over Prime Fields -*/ -/* general EC initialization */ -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPGetSize,(int feBitSize, int* pSize)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPGetSizeStd128r1,(int* pSize)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPGetSizeStd128r2,(int* pSize)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPGetSizeStd192r1,(int* pSize)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPGetSizeStd224r1,(int* pSize)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPGetSizeStd256r1,(int* pSize)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPGetSizeStd384r1,(int* pSize)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPGetSizeStd521r1,(int* pSize)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPGetSizeStdSM2, (int* pSize)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPInit,(int feBitSize, IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPInitStd128r1,(IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPInitStd128r2,(IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPInitStd192r1,(IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPInitStd224r1,(IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPInitStd256r1,(IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPInitStd384r1,(IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPInitStd521r1,(IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPInitStdSM2, (IppsECCPState* pEC)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPSet,(const IppsBigNumState* pPrime, - const IppsBigNumState* pA, const IppsBigNumState* pB, - const IppsBigNumState* pGX,const IppsBigNumState* pGY,const IppsBigNumState* pOrder, - int cofactor, - IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPSetStd,(IppECCType flag, IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPSetStd128r1,(IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPSetStd128r2,(IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPSetStd192r1,(IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPSetStd224r1,(IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPSetStd256r1,(IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPSetStd384r1,(IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPSetStd521r1,(IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPSetStdSM2, (IppsECCPState* pEC)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPBindGxyTblStd192r1,(IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPBindGxyTblStd224r1,(IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPBindGxyTblStd256r1,(IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPBindGxyTblStd384r1,(IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPBindGxyTblStd521r1,(IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPBindGxyTblStdSM2, (IppsECCPState* pEC)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPGet,(IppsBigNumState* pPrime, - IppsBigNumState* pA, IppsBigNumState* pB, - IppsBigNumState* pGX,IppsBigNumState* pGY,IppsBigNumState* pOrder, - int* cofactor, - IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPGetOrderBitSize,(int* pBitSize, IppsECCPState* pEC)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPValidate,(int nTrials, IppECResult* pResult, IppsECCPState* pEC, - IppBitSupplier rndFunc, void* pRndParam)) - -/* EC Point */ -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPPointGetSize,(int feBitSize, int* pSize)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPPointInit,(int feBitSize, IppsECCPPointState* pPoint)) - -/* Setup/retrieve point's coordinates */ -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPSetPoint,(const IppsBigNumState* pX, const IppsBigNumState* pY, - IppsECCPPointState* pPoint, IppsECCPState* pEC)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPSetPointAtInfinity,(IppsECCPPointState* pPoint, IppsECCPState* pEC)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPGetPoint,(IppsBigNumState* pX, IppsBigNumState* pY, - const IppsECCPPointState* pPoint, IppsECCPState* pEC)) - -/* EC Point Operations */ -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPCheckPoint,(const IppsECCPPointState* pP, - IppECResult* pResult, IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPComparePoint,(const IppsECCPPointState* pP, const IppsECCPPointState* pQ, - IppECResult* pResult, IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPNegativePoint,(const IppsECCPPointState* pP, - IppsECCPPointState* pR, IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPAddPoint,(const IppsECCPPointState* pP, const IppsECCPPointState* pQ, - IppsECCPPointState* pR, IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPMulPointScalar,(const IppsECCPPointState* pP, const IppsBigNumState* pK, - IppsECCPPointState* pR, IppsECCPState* pEC)) - -/* Key Generation, Setup and Validation */ -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPGenKeyPair,(IppsBigNumState* pPrivate, IppsECCPPointState* pPublic, - IppsECCPState* pEC, - IppBitSupplier rndFunc, void* pRndParam)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPPublicKey,(const IppsBigNumState* pPrivate, - IppsECCPPointState* pPublic, - IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPValidateKeyPair,(const IppsBigNumState* pPrivate, const IppsECCPPointState* pPublic, - IppECResult* pResult, - IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPSetKeyPair,(const IppsBigNumState* pPrivate, const IppsECCPPointState* pPublic, - IppBool regular, - IppsECCPState* pEC)) - -/* Shared Secret (DH scheme ) */ -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPSharedSecretDH,(const IppsBigNumState* pPrivateA, - const IppsECCPPointState* pPublicB, - IppsBigNumState* pShare, - IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPSharedSecretDHC,(const IppsBigNumState* pPrivateA, - const IppsECCPPointState* pPublicB, - IppsBigNumState* pShare, - IppsECCPState* pEC)) - -/* Sign/Verify */ -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPSignDSA,(const IppsBigNumState* pMsgDigest, - const IppsBigNumState* pPrivate, - IppsBigNumState* pSignX, IppsBigNumState* pSignY, - IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPVerifyDSA,(const IppsBigNumState* pMsgDigest, - const IppsBigNumState* pSignX, const IppsBigNumState* pSignY, - IppECResult* pResult, - IppsECCPState* pEC)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPSignNR,(const IppsBigNumState* pMsgDigest, - const IppsBigNumState* pPrivate, - IppsBigNumState* pSignX, IppsBigNumState* pSignY, - IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPVerifyNR,(const IppsBigNumState* pMsgDigest, - const IppsBigNumState* pSignX, const IppsBigNumState* pSignY, - IppECResult* pResult, - IppsECCPState* pEC)) - -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPSignSM2,(const IppsBigNumState* pMsgDigest, - const IppsBigNumState* pRegPrivate, - IppsBigNumState* pEphPrivate, - IppsBigNumState* pSignR, IppsBigNumState* pSignS, - IppsECCPState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsECCPVerifySM2,(const IppsBigNumState* pMsgDigest, - const IppsECCPPointState* pRegPublic, - const IppsBigNumState* pSignR, const IppsBigNumState* pSignS, - IppECResult* pResult, - IppsECCPState* pEC)) - -/* -// GF over prime and its extension -*/ -IPPAPI(IppStatus, ippsGFpGetSize, (int feBitSize, int* pSize)) -IPPAPI(IppStatus, ippsGFpInitArbitrary,(const IppsBigNumState* pPrime, int primeBitSize, IppsGFpState* pGFp)) -IPPAPI(IppStatus, ippsGFpInitFixed,(int primeBitSize, const IppsGFpMethod* pGFpMethod, IppsGFpState* pGFp)) -IPPAPI(IppStatus, ippsGFpInit, (const IppsBigNumState* pPrime, int primeBitSize, const IppsGFpMethod* pGFpMethod, IppsGFpState* pGFp)) -IPPAPI( const IppsGFpMethod*, ippsGFpMethod_p192r1, (void) ) -IPPAPI( const IppsGFpMethod*, ippsGFpMethod_p224r1, (void) ) -IPPAPI( const IppsGFpMethod*, ippsGFpMethod_p256r1, (void) ) -IPPAPI( const IppsGFpMethod*, ippsGFpMethod_p384r1, (void) ) -IPPAPI( const IppsGFpMethod*, ippsGFpMethod_p521r1, (void) ) -IPPAPI( const IppsGFpMethod*, ippsGFpMethod_p256sm2,(void) ) -IPPAPI( const IppsGFpMethod*, ippsGFpMethod_p256bn, (void) ) -IPPAPI( const IppsGFpMethod*, ippsGFpMethod_p256, (void) ) -IPPAPI( const IppsGFpMethod*, ippsGFpMethod_pArb, (void) ) - -IPPAPI(IppStatus, ippsGFpxGetSize,(const IppsGFpState* pGroundGF, int degree, int* pSize)) -IPPAPI(IppStatus, ippsGFpxInit, (const IppsGFpState* pGroundGF, int extDeg, const IppsGFpElement* const ppGroundElm[], int nElm, const IppsGFpMethod* pGFpMethod, IppsGFpState* pGFpx)) -IPPAPI(IppStatus, ippsGFpxInitBinomial,(const IppsGFpState* pGroundGF, int extDeg, const IppsGFpElement* pGroundElm, const IppsGFpMethod* pGFpMethod, IppsGFpState* pGFpx)) -IPPAPI( const IppsGFpMethod*, ippsGFpxMethod_binom2_epid2,(void) ) -IPPAPI( const IppsGFpMethod*, ippsGFpxMethod_binom3_epid2,(void) ) -IPPAPI( const IppsGFpMethod*, ippsGFpxMethod_binom2, (void) ) -IPPAPI( const IppsGFpMethod*, ippsGFpxMethod_binom3, (void) ) -IPPAPI( const IppsGFpMethod*, ippsGFpxMethod_binom, (void) ) -IPPAPI( const IppsGFpMethod*, ippsGFpxMethod_com, (void) ) - -IPPAPI(IppStatus, ippsGFpScratchBufferSize,(int nExponents, int ExpBitSize, const IppsGFpState* pGFp, int* pBufferSize)) - -IPPAPI(IppStatus, ippsGFpElementGetSize,(const IppsGFpState* pGFp, int* pElementSize)) -IPPAPI(IppStatus, ippsGFpElementInit, (const Ipp32u* pA, int lenA, IppsGFpElement* pR, IppsGFpState* pGFp)) - -IPPAPI(IppStatus, ippsGFpSetElement, (const Ipp32u* pA, int lenA, IppsGFpElement* pR, IppsGFpState* pGFp)) -IPPAPI(IppStatus, ippsGFpSetElementRegular,(const IppsBigNumState* pBN, IppsGFpElement* pR, IppsGFpState* pGFp)) -IPPAPI(IppStatus, ippsGFpSetElementOctString,(const Ipp8u* pStr, int strSize, IppsGFpElement* pR, IppsGFpState* pGFp)) -IPPAPI(IppStatus, ippsGFpSetElementRandom,(IppsGFpElement* pR, IppsGFpState* pGFp, IppBitSupplier rndFunc, void* pRndParam)) -IPPAPI(IppStatus, ippsGFpSetElementHash,(const Ipp8u* pMsg, int msgLen, IppsGFpElement* pElm, IppsGFpState* pGFp, IppHashAlgId hashID)) -IPPAPI(IppStatus, ippsGFpSetElementHash_rmf,(const Ipp8u* pMsg, int msgLen, IppsGFpElement* pElm, IppsGFpState* pGFp, const IppsHashMethod* pMethod)) -IPPAPI(IppStatus, ippsGFpCpyElement,(const IppsGFpElement* pA, IppsGFpElement* pR, IppsGFpState* pGFp)) -IPPAPI(IppStatus, ippsGFpGetElement,(const IppsGFpElement* pA, Ipp32u* pDataA, int lenA, IppsGFpState* pGFp)) -IPPAPI(IppStatus, ippsGFpGetElementOctString,(const IppsGFpElement* pA, Ipp8u* pStr, int strSize, IppsGFpState* pGFp)) - -IPPAPI(IppStatus, ippsGFpCmpElement,(const IppsGFpElement* pA, const IppsGFpElement* pB, int* pResult, const IppsGFpState* pGFp)) -IPPAPI(IppStatus, ippsGFpIsZeroElement,(const IppsGFpElement* pA, int* pResult, const IppsGFpState* pGFp)) -IPPAPI(IppStatus, ippsGFpIsUnityElement,(const IppsGFpElement* pA, int* pResult, const IppsGFpState* pGFp)) - -IPPAPI(IppStatus, ippsGFpConj,(const IppsGFpElement* pA, IppsGFpElement* pR, IppsGFpState* pGFp)) -IPPAPI(IppStatus, ippsGFpNeg, (const IppsGFpElement* pA, IppsGFpElement* pR, IppsGFpState* pGFp)) -IPPAPI(IppStatus, ippsGFpInv, (const IppsGFpElement* pA, IppsGFpElement* pR, IppsGFpState* pGFp)) -IPPAPI(IppStatus, ippsGFpSqrt,(const IppsGFpElement* pA, IppsGFpElement* pR, IppsGFpState* pGFp)) -IPPAPI(IppStatus, ippsGFpSqr, (const IppsGFpElement* pA, IppsGFpElement* pR, IppsGFpState* pGFp)) -IPPAPI(IppStatus, ippsGFpAdd, (const IppsGFpElement* pA, const IppsGFpElement* pB, IppsGFpElement* pR, IppsGFpState* pGFp)) -IPPAPI(IppStatus, ippsGFpSub, (const IppsGFpElement* pA, const IppsGFpElement* pB, IppsGFpElement* pR, IppsGFpState* pGFp)) -IPPAPI(IppStatus, ippsGFpMul, (const IppsGFpElement* pA, const IppsGFpElement* pB, IppsGFpElement* pR, IppsGFpState* pGFp)) -IPPAPI(IppStatus, ippsGFpExp, (const IppsGFpElement* pA, const IppsBigNumState* pE, IppsGFpElement* pR, IppsGFpState* pGFp, Ipp8u* pScratchBuffer)) -IPPAPI(IppStatus, ippsGFpMultiExp,(const IppsGFpElement* const ppElmA[], const IppsBigNumState* const ppE[], int nItems, IppsGFpElement* pR, IppsGFpState* pGFp, Ipp8u* pScratchBuffer)) - -IPPAPI(IppStatus, ippsGFpAdd_PE,(const IppsGFpElement* pA, const IppsGFpElement* pParentB, IppsGFpElement* pR, IppsGFpState* pGFp)) -IPPAPI(IppStatus, ippsGFpSub_PE,(const IppsGFpElement* pA, const IppsGFpElement* pParentB, IppsGFpElement* pR, IppsGFpState* pGFp)) -IPPAPI(IppStatus, ippsGFpMul_PE,(const IppsGFpElement* pA, const IppsGFpElement* pParentB, IppsGFpElement* pR, IppsGFpState* pGFp)) - -IPPAPI(IppStatus, ippsGFpGetInfo, (IppsGFpInfo* pInfo, const IppsGFpState* pGFp)) - -/* ================== */ -IPPAPI(IppStatus, ippsGFpECGetSize,(const IppsGFpState* pGFp, int* pSize)) -IPPAPI(IppStatus, ippsGFpECInit, (const IppsGFpState* pGFp, - const IppsGFpElement* pA, const IppsGFpElement* pB, - IppsGFpECState* pEC)) - -IPPAPI(IppStatus, ippsGFpECSet,(const IppsGFpElement* pA, const IppsGFpElement* pB, - IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECSetSubgroup,(const IppsGFpElement* pX, const IppsGFpElement* pY, - const IppsBigNumState* pOrder, - const IppsBigNumState* pCofactor, - IppsGFpECState* pEC)) - -IPPAPI(IppStatus, ippsGFpECInitStd128r1,(const IppsGFpState* pGFp, IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECInitStd128r2,(const IppsGFpState* pGFp, IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECInitStd192r1,(const IppsGFpState* pGFp, IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECInitStd224r1,(const IppsGFpState* pGFp, IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECInitStd256r1,(const IppsGFpState* pGFp, IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECInitStd384r1,(const IppsGFpState* pGFp, IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECInitStd521r1,(const IppsGFpState* pGFp, IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECInitStdSM2, (const IppsGFpState* pGFp, IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECInitStdBN256,(const IppsGFpState* pGFp, IppsGFpECState* pEC)) - -IPPAPI(IppStatus, ippsGFpECBindGxyTblStd192r1,(IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECBindGxyTblStd224r1,(IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECBindGxyTblStd256r1,(IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECBindGxyTblStd384r1,(IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECBindGxyTblStd521r1,(IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECBindGxyTblStdSM2, (IppsGFpECState* pEC)) - -IPPAPI(IppStatus, ippsGFpECGet,(IppsGFpState** const ppGFp, - IppsGFpElement* pA, IppsGFpElement* pB, - const IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECGetSubgroup,(IppsGFpState** const ppGFp, - IppsGFpElement* pX, IppsGFpElement* pY, - IppsBigNumState* pOrder,IppsBigNumState* pCofactor, - const IppsGFpECState* pEC)) - -IPPAPI(IppStatus, ippsGFpECScratchBufferSize,(int nScalars, const IppsGFpECState* pEC, int* pBufferSize)) - -IPPAPI(IppStatus, ippsGFpECVerify,(IppECResult* pResult, IppsGFpECState* pEC, Ipp8u* pScratchBuffer)) - -IPPAPI(IppStatus, ippsGFpECPointGetSize,(const IppsGFpECState* pEC, int* pSize)) -IPPAPI(IppStatus, ippsGFpECPointInit, (const IppsGFpElement* pX, const IppsGFpElement* pY, IppsGFpECPoint* pPoint, IppsGFpECState* pEC)) - -IPPAPI(IppStatus, ippsGFpECSetPointAtInfinity,(IppsGFpECPoint* pPoint, IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECSetPoint,(const IppsGFpElement* pX, const IppsGFpElement* pY, IppsGFpECPoint* pPoint, IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECSetPointRegular,(const IppsBigNumState* pX, const IppsBigNumState* pY, IppsGFpECPoint* pPoint, IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECSetPointRandom,(IppsGFpECPoint* pPoint, IppsGFpECState* pEC, IppBitSupplier rndFunc, void* pRndParam, Ipp8u* pScratchBuffer)) -IPPAPI(IppStatus, ippsGFpECMakePoint,(const IppsGFpElement* pX, IppsGFpECPoint* pPoint, IppsGFpECState* pEC)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsGFpECSetPointHash,(Ipp32u hdr, const Ipp8u* pMsg, int msgLen, IppsGFpECPoint* pPoint, IppsGFpECState* pEC, IppHashAlgId hashID, Ipp8u* pScratchBuffer)) -IPP_DEPRECATED(OBSOLETE_API) \ -IPPAPI(IppStatus, ippsGFpECSetPointHashBackCompatible,(Ipp32u hdr, const Ipp8u* pMsg, int msgLen, IppsGFpECPoint* pPoint, IppsGFpECState* pEC, IppHashAlgId hashID, Ipp8u* pScratchBuffer)) -IPPAPI(IppStatus, ippsGFpECSetPointHash_rmf,(Ipp32u hdr, const Ipp8u* pMsg, int msgLen, IppsGFpECPoint* pPoint, IppsGFpECState* pEC, const IppsHashMethod* pMethod, Ipp8u* pScratchBuffer)) -IPPAPI(IppStatus, ippsGFpECSetPointHashBackCompatible_rmf,(Ipp32u hdr, const Ipp8u* pMsg, int msgLen, IppsGFpECPoint* pPoint, IppsGFpECState* pEC, const IppsHashMethod* pMethod, Ipp8u* pScratchBuffer)) -IPPAPI(IppStatus, ippsGFpECGetPoint,(const IppsGFpECPoint* pPoint, IppsGFpElement* pX, IppsGFpElement* pY, IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECGetPointRegular,(const IppsGFpECPoint* pPoint, IppsBigNumState* pX, IppsBigNumState* pY, IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECSetPointOctString,(const Ipp8u* pStr, int strLen, IppsGFpECPoint* pPoint, IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECGetPointOctString,(const IppsGFpECPoint* pPoint, Ipp8u* pStr, int strLen, IppsGFpECState* pEC)) - -IPPAPI(IppStatus, ippsGFpECTstPoint,(const IppsGFpECPoint* pP, IppECResult* pResult, IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECTstPointInSubgroup,(const IppsGFpECPoint* pP, IppECResult* pResult, IppsGFpECState* pEC, Ipp8u* pScratchBuffer)) -IPPAPI(IppStatus, ippsGFpECCpyPoint,(const IppsGFpECPoint* pA, IppsGFpECPoint* pR, IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECCmpPoint,(const IppsGFpECPoint* pP, const IppsGFpECPoint* pQ, IppECResult* pResult, IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECNegPoint,(const IppsGFpECPoint* pP, IppsGFpECPoint* pR, IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECAddPoint,(const IppsGFpECPoint* pP, const IppsGFpECPoint* pQ, IppsGFpECPoint* pR, IppsGFpECState* pEC)) -IPPAPI(IppStatus, ippsGFpECMulPoint,(const IppsGFpECPoint* pP, const IppsBigNumState* pN, IppsGFpECPoint* pR, IppsGFpECState* pEC, Ipp8u* pScratchBuffer)) - -/* keys */ -IPPAPI(IppStatus, ippsGFpECPrivateKey,(IppsBigNumState* pPrivate, IppsGFpECState* pEC, - IppBitSupplier rndFunc, void* pRndParam)) -IPPAPI(IppStatus, ippsGFpECPublicKey,(const IppsBigNumState* pPrivate, IppsGFpECPoint* pPublic, - IppsGFpECState* pEC, Ipp8u* pScratchBuffer)) -IPPAPI(IppStatus, ippsGFpECTstKeyPair,(const IppsBigNumState* pPrivate, const IppsGFpECPoint* pPublic, IppECResult* pResult, - IppsGFpECState* pEC, Ipp8u* pScratchBuffer)) - -/* DH shared secret */ -IPPAPI(IppStatus, ippsGFpECSharedSecretDH,(const IppsBigNumState* pPrivateA, const IppsGFpECPoint* pPublicB, - IppsBigNumState* pShare, - IppsGFpECState* pEC, Ipp8u* pScratchBuffer)) -IPPAPI(IppStatus, ippsGFpECSharedSecretDHC,(const IppsBigNumState* pPrivateA, - const IppsGFpECPoint* pPublicB, - IppsBigNumState* pShare, - IppsGFpECState* pEC, Ipp8u* pScratchBuffer)) - -/* sign generation/verification of DSA, NR, SM2 */ -IPPAPI(IppStatus, ippsGFpECMessageRepresentationSM2, (IppsBigNumState* pMsgDigest, - const Ipp8u* pMsg, int msgLen, - const Ipp8u* pUserID, int userIDLen, - const IppsGFpECPoint* pRegPublic, - IppsGFpECState* pEC, Ipp8u* pScratchBuffer)) -IPPAPI(IppStatus, ippsGFpECSignDSA, (const IppsBigNumState* pMsgDigest, - const IppsBigNumState* pRegPrivate, - IppsBigNumState* pEphPrivate, - IppsBigNumState* pSignR, IppsBigNumState* pSignS, - IppsGFpECState* pEC, Ipp8u* pScratchBuffer)) -IPPAPI(IppStatus, ippsGFpECVerifyDSA, (const IppsBigNumState* pMsgDigest, - const IppsGFpECPoint* pRegPublic, - const IppsBigNumState* pSignR, const IppsBigNumState* pSignS, - IppECResult* pResult, - IppsGFpECState* pEC, Ipp8u* pScratchBuffer)) - -IPPAPI(IppStatus, ippsGFpECSignNR, (const IppsBigNumState* pMsgDigest, - const IppsBigNumState* pRegPrivate, - IppsBigNumState* pEphPrivate, - IppsBigNumState* pSignR, IppsBigNumState* pSignS, - IppsGFpECState* pEC, Ipp8u* pScratchBuffer)) -IPPAPI(IppStatus, ippsGFpECVerifyNR, (const IppsBigNumState* pMsgDigest, - const IppsGFpECPoint* pRegPublic, - const IppsBigNumState* pSignR, const IppsBigNumState* pSignS, - IppECResult* pResult, - IppsGFpECState* pEC, Ipp8u* pScratchBuffer)) - -IPPAPI(IppStatus, ippsGFpECSignSM2, (const IppsBigNumState* pMsgDigest, - const IppsBigNumState* pRegPrivate, - IppsBigNumState* pEphPrivate, - IppsBigNumState* pSignR, IppsBigNumState* pSignS, - IppsGFpECState* pEC, Ipp8u* pScratchBuffer)) -IPPAPI(IppStatus, ippsGFpECVerifySM2, (const IppsBigNumState* pMsgDigest, - const IppsGFpECPoint* pRegPublic, - const IppsBigNumState* pSignR, const IppsBigNumState* pSignS, - IppECResult* pResult, - IppsGFpECState* pEC, Ipp8u* pScratchBuffer)) - -/* SM2 UserIDHash */ -IPPAPI(IppStatus, ippsGFpECUserIDHashSM2, (Ipp8u* pZaDigest, - const Ipp8u* pUserID, int userIDLen, - const IppsGFpECPoint* pPublicKey, - IppsGFpECState* pEC, Ipp8u* pScratchBuffer)) - - -/* SM2 Key Exchange */ -IPPAPI(IppStatus, ippsGFpECKeyExchangeSM2_GetSize, (const IppsGFpECState* pEC, int* pSize)) -IPPAPI(IppStatus, ippsGFpECKeyExchangeSM2_Init, (IppsGFpECKeyExchangeSM2State* pKE, IppsKeyExchangeRoleSM2 role, IppsGFpECState* pEC)) - -IPPAPI(IppStatus, ippsGFpECKeyExchangeSM2_Setup, (const Ipp8u pZSelf[IPP_SM3_DIGEST_BYTESIZE], - const Ipp8u pZPeer[IPP_SM3_DIGEST_BYTESIZE], - const IppsGFpECPoint *pPublicKeySelf, - const IppsGFpECPoint *pPublicKeyPeer, - const IppsGFpECPoint *pEphPublicKeySelf, - const IppsGFpECPoint *pEphPublicKeyPeer, - IppsGFpECKeyExchangeSM2State *pKE)) - -IPPAPI(IppStatus, ippsGFpECKeyExchangeSM2_SharedKey, (Ipp8u* pSharedKey, int sharedKeySize, - Ipp8u* pSSelf, - const IppsBigNumState* pPrvKey, - IppsBigNumState* pEphPrvKey, - IppsGFpECKeyExchangeSM2State *pKE, Ipp8u* pScratchBuffer)) - -IPPAPI(IppStatus, ippsGFpECKeyExchangeSM2_Confirm, (const Ipp8u pSPeer[IPP_SM3_DIGEST_BYTESIZE], - int* pStatus, - IppsGFpECKeyExchangeSM2State* pKE)) - -/* SM2 Encryption/Decryption */ -IPPAPI(IppStatus, ippsGFpECGetInfo_GF,(IppsGFpInfo* pInfo, const IppsGFpECState* pEC)) - -IPPAPI(IppStatus, ippsGFpECESGetSize_SM2, (const IppsGFpECState* pEC, int* pSize)) -IPPAPI(IppStatus, ippsGFpECESInit_SM2, (IppsGFpECState* pEC, - IppsECESState_SM2* pState, int avaliableCtxSize)) -IPPAPI(IppStatus, ippsGFpECESSetKey_SM2, (const IppsBigNumState* pPrivate, - const IppsGFpECPoint* pPublic, - IppsECESState_SM2* pState, - IppsGFpECState* pEC, - Ipp8u* pEcScratchBuffer)) -IPPAPI(IppStatus, ippsGFpECESStart_SM2, (IppsECESState_SM2* pState)) -IPPAPI(IppStatus, ippsGFpECESEncrypt_SM2, (const Ipp8u* pInput, Ipp8u* pOutput, - int dataLen, IppsECESState_SM2* pState)) -IPPAPI(IppStatus, ippsGFpECESDecrypt_SM2, (const Ipp8u* pInput, Ipp8u* pOutput, - int dataLen, IppsECESState_SM2* pState)) -IPPAPI(IppStatus, ippsGFpECESFinal_SM2, (Ipp8u* pTag, int tagLen, IppsECESState_SM2* pState)) -IPPAPI(IppStatus, ippsGFpECESGetBuffersSize_SM2, (int* pPublicKeySize, - int* pMaximumTagSize, const IppsECESState_SM2* pState)) - -/* SM2 Encryption/Decryption Extended API */ -/* Encryption */ -IPPAPI(IppStatus, ippsGFpECEncryptSM2_Ext_EncMsgSize, (const IppsGFpECState *pEC, int ptMsgSize, int *pSize)) - -IPPAPI(IppStatus, ippsGFpECEncryptSM2_Ext, (Ipp8u *pOut, int maxOutLen, - int *pOutSize, - const Ipp8u *pInp, int inpLen, - const IppsGFpECPoint *pPublicKey, - IppsGFpECPoint *pEhpPublicKey, IppsBigNumState *pEphPrvKey, - IppsGFpECState *pEC, Ipp8u *pScratchBuffer)) - -/* Decryption */ -IPPAPI(IppStatus, ippsGFpECDecryptSM2_Ext_DecMsgSize, (const IppsGFpECState *pEC, int ctMsgSize, int *pSize)) - -IPPAPI(IppStatus, ippsGFpECDecryptSM2_Ext, (Ipp8u *pOut, int maxOutLen, - int *pOutSize, - const Ipp8u *pInp, int inpLen, - const IppsBigNumState *pPrvKey, - IppsGFpECState *pEC, Ipp8u *pScratchBuffer)) - -#if defined(_MSC_VER) && !defined(__INTEL_COMPILER) && !defined(__INTEL_LLVM_COMPILER) -#pragma warning(pop) -#endif -#ifdef __cplusplus -} -#endif - - -#endif /* IPPCP_H__ */ diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/ippcpdefs.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/ippcpdefs.h deleted file mode 100644 index 50417c6..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/ippcpdefs.h +++ /dev/null @@ -1,860 +0,0 @@ -/******************************************************************************* -* Copyright (C) 2012 Intel Corporation -* -* Licensed under the Apache License, Version 2.0 (the 'License'); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an 'AS IS' BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions -* and limitations under the License. -* -*******************************************************************************/ - -/* -// -// Intel® Integrated Performance Primitives Cryptography (Intel® IPP Cryptography) -// -// Purpose: Basic Types and Macro Definitions -// -*/ - - -#ifndef IPPBASE_H__ -#define IPPBASE_H__ - -#ifdef __cplusplus -extern "C" { -#endif -#if defined (_WIN64) -#define INTEL_PLATFORM "intel64/" -#elif defined (_WIN32) -#define INTEL_PLATFORM "ia32/" -#endif - -#if !defined( IPPAPI ) - - /* Specify explicit calling convention for public functions */ - #if defined( IPP_W32DLL ) && (defined( _WIN32 ) || defined( _WIN64 )) - #if defined( _MSC_VER ) || defined( __ICL ) - #define IPPAPI( type,name,arg ) \ - __declspec(dllimport) type IPP_CALL name arg; - #else - #define IPPAPI( type,name,arg ) type IPP_CALL name arg; - #endif - #else - #define IPPAPI( type,name,arg ) type IPP_CALL name arg; - #endif - -#endif - -/* icc 2021 supports short float data type, icx supports _Float16 data type */ -#define _FLOAT_16 2 -#define _SHORT_FLOAT 1 -#define _NO_FLOAT_16 0 -#if defined(__INTEL_LLVM_COMPILER) && defined(__AVX512FP16__) -# define COMPILER_SUPPORT_SHORT_FLOAT _FLOAT_16 -#else -# if defined(__INTEL_COMPILER) -# if(__INTEL_COMPILER >= 2021) -# define COMPILER_SUPPORT_SHORT_FLOAT _SHORT_FLOAT -# endif -# endif -#endif -#if !(defined(COMPILER_SUPPORT_SHORT_FLOAT)) -# define COMPILER_SUPPORT_SHORT_FLOAT _NO_FLOAT_16 -#endif - -#if !defined(_NO_IPP_DEPRECATED) - #if (defined( __ICL ) || defined( __ECL ) || defined(_MSC_VER)) && !defined( _PCS ) && !defined( _PCS_GENSTUBS ) - #if( __INTEL_COMPILER >= 1100 ) /* icl 11.0 supports additional comment */ - #if( _MSC_VER >= 1400 ) - #define IPP_DEPRECATED( comment ) __declspec( deprecated ( comment )) - #else - #pragma message ("your icl version supports additional comment for deprecated functions but it can't be displayed") - #pragma message ("because internal _MSC_VER macro variable setting requires compatibility with MSVC7.1") - #pragma message ("use -Qvc8 switch for icl command line to see these additional comments") - #define IPP_DEPRECATED( comment ) __declspec( deprecated ) - #endif - #elif( _MSC_FULL_VER >= 140050727 )&&( !defined( __INTEL_COMPILER ))&&( !defined(__INTEL_LLVM_COMPILER)) /* VS2005 supports additional comment */ - #define IPP_DEPRECATED( comment ) __declspec( deprecated ( comment )) - #elif( _MSC_VER <= 1200 )&&( !defined( __INTEL_COMPILER ))&&( !defined(__INTEL_LLVM_COMPILER)) /* VS 6 doesn't support deprecation */ - #define IPP_DEPRECATED( comment ) - #else - #define IPP_DEPRECATED( comment ) __declspec( deprecated ) - #endif - #elif (defined(__ICC) || defined(__ECC) || defined( __GNUC__ )) && !defined( _PCS ) && !defined( _PCS_GENSTUBS ) - #if defined( __GNUC__ ) - #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 - #define IPP_DEPRECATED( message ) __attribute__(( deprecated( message ))) - #else - #define IPP_DEPRECATED( message ) __attribute__(( deprecated )) - #endif - #else - #define IPP_DEPRECATED( comment ) __attribute__(( deprecated )) - #endif - #else - #define IPP_DEPRECATED( comment ) - #endif -#else - #define IPP_DEPRECATED( comment ) -#endif - -#if (defined( __ICL ) || defined( __ECL ) || defined(_MSC_VER)) - #if !defined( IPP_NO_DEFAULT_LIB ) - #if ((defined( _IPP_SEQUENTIAL_DYNAMIC ) && !defined( _IPP_SEQUENTIAL_STATIC )) || \ - (!defined( _IPP_SEQUENTIAL_DYNAMIC ) && defined( _IPP_SEQUENTIAL_STATIC ))) - #elif (!defined( _IPP_SEQUENTIAL_DYNAMIC ) && !defined( _IPP_SEQUENTIAL_STATIC )) - #define IPP_NO_DEFAULT_LIB - #else - #error Illegal combination of _IPP_SEQUENTIAL_DYNAMIC/_IPP_SEQUENTIAL_STATIC, only one definition can be defined - #endif - #endif -#else - #define IPP_NO_DEFAULT_LIB - #if (defined(_IPP_SEQUENTIAL_DYNAMIC) || defined(_IPP_SEQUENTIAL_STATIC)) - #pragma message ("defines _IPP_SEQUENTIAL_DYNAMIC/_IPP_SEQUENTIAL_STATIC do not have any effect in current configuration") - #endif -#endif - - -#if defined (_MSC_VER) - #define IPP_CDECL __cdecl -#elif (defined (__INTEL_COMPILER) || defined (__INTEL_LLVM_COMPILER) || defined (__GNUC__ ) || defined (__clang__)) && defined (_ARCH_IA32) - #define IPP_CDECL __attribute((cdecl)) -#else - #define IPP_CDECL -#endif - -#if defined( _WIN32 ) || defined( _WIN64 ) - #define IPP_STDCALL __stdcall - #define IPP_CALL IPP_STDCALL - #define IPP_INT64 __int64 - #define IPP_UINT64 unsigned __int64 -#else - #define IPP_STDCALL - #define IPP_CALL IPP_CDECL - #define IPP_INT64 long long - #define IPP_UINT64 unsigned long long -#endif - -#define IPP_COUNT_OF( obj ) (sizeof(obj)/sizeof(obj[0])) - -#define IPP_PI ( 3.14159265358979323846 ) /* ANSI C does not support M_PI */ -#define IPP_2PI ( 6.28318530717958647692 ) /* 2*pi */ -#define IPP_PI2 ( 1.57079632679489661923 ) /* pi/2 */ -#define IPP_PI4 ( 0.78539816339744830961 ) /* pi/4 */ -#define IPP_PI180 ( 0.01745329251994329577 ) /* pi/180 */ -#define IPP_RPI ( 0.31830988618379067154 ) /* 1/pi */ -#define IPP_SQRT2 ( 1.41421356237309504880 ) /* sqrt(2) */ -#define IPP_SQRT3 ( 1.73205080756887729353 ) /* sqrt(3) */ -#define IPP_LN2 ( 0.69314718055994530942 ) /* ln(2) */ -#define IPP_LN3 ( 1.09861228866810969139 ) /* ln(3) */ -#define IPP_E ( 2.71828182845904523536 ) /* e */ -#define IPP_RE ( 0.36787944117144232159 ) /* 1/e */ -#define IPP_EPS23 ( 1.19209289e-07f ) -#define IPP_EPS52 ( 2.2204460492503131e-016 ) - -#define IPP_MAX_8U ( 0xFF ) -#define IPP_MAX_16U ( 0xFFFF ) -#define IPP_MAX_32U ( 0xFFFFFFFF ) -#define IPP_MIN_8U ( 0 ) -#define IPP_MIN_16U ( 0 ) -#define IPP_MIN_32U ( 0 ) -#define IPP_MIN_8S (-128 ) -#define IPP_MAX_8S ( 127 ) -#define IPP_MIN_16S (-32768 ) -#define IPP_MAX_16S ( 32767 ) -#define IPP_MIN_32S (-2147483647 - 1 ) -#define IPP_MAX_32S ( 2147483647 ) -#define IPP_MIN_64U ( 0 ) - -#if defined( _WIN32 ) || defined ( _WIN64 ) - #define IPP_MAX_64S ( 9223372036854775807i64 ) - #define IPP_MIN_64S (-9223372036854775807i64 - 1 ) - #define IPP_MAX_64U ( 0xffffffffffffffffL ) /* 18446744073709551615 */ -#else - #define IPP_MAX_64S ( 9223372036854775807LL ) - #define IPP_MIN_64S (-9223372036854775807LL - 1 ) - #define IPP_MAX_64U ( 0xffffffffffffffffLL ) /* 18446744073709551615 */ -#endif - -#define IPP_MINABS_32F ( 1.175494351e-38f ) -#define IPP_MAXABS_32F ( 3.402823466e+38f ) -#define IPP_EPS_32F ( 1.192092890e-07f ) -#define IPP_MINABS_64F ( 2.2250738585072014e-308 ) -#define IPP_MAXABS_64F ( 1.7976931348623158e+308 ) -#define IPP_EPS_64F ( 2.2204460492503131e-016 ) - -#define IPP_MAX( a, b ) ( ((a) > (b)) ? (a) : (b) ) -#define IPP_MIN( a, b ) ( ((a) < (b)) ? (a) : (b) ) - -#define IPP_ABS( a ) ( ((a) < 0) ? (-(a)) : (a) ) - -typedef struct { - int major; /* e.g. 1 */ - int minor; /* e.g. 2 */ - int majorBuild; /* e.g. 3 */ - unsigned int revision; /* e.g. 0xf6f5e5bc */ - char targetCpu[4]; /* corresponding to Intel® processor */ - const char* Name; /* e.g. "ippsw7" */ - const char* Version; /* e.g. "v1.2 Beta" */ - const char* BuildDate; /* e.g. "Jul 20 99" */ -} IppLibraryVersion; - -typedef unsigned char Ipp8u; -typedef unsigned short Ipp16u; -typedef unsigned int Ipp32u; -typedef signed char Ipp8s; -typedef signed short Ipp16s; -typedef signed int Ipp32s; -typedef float Ipp32f; -typedef IPP_INT64 Ipp64s; -typedef IPP_UINT64 Ipp64u; -typedef double Ipp64f; - -#if (COMPILER_SUPPORT_SHORT_FLOAT == _FLOAT_16) - typedef _Float16 Ipp16f; -#endif -#if (COMPILER_SUPPORT_SHORT_FLOAT == _SHORT_FLOAT) - typedef short float Ipp16f; -#endif -#if (COMPILER_SUPPORT_SHORT_FLOAT == _NO_FLOAT_16) - typedef Ipp16s Ipp16f; -#endif - -typedef struct { - Ipp8s re; - Ipp8s im; -} Ipp8sc; - -typedef struct { - Ipp16s re; - Ipp16s im; -} Ipp16sc; - -typedef struct { - Ipp16u re; - Ipp16u im; -} Ipp16uc; - -typedef struct { - Ipp32s re; - Ipp32s im; -} Ipp32sc; - -typedef struct { - Ipp32f re; - Ipp32f im; -} Ipp32fc; - -typedef struct { - Ipp64s re; - Ipp64s im; -} Ipp64sc; - -typedef struct { - Ipp64f re; - Ipp64f im; -} Ipp64fc; - -typedef struct { - Ipp16f re; - Ipp16f im; -} Ipp16fc; - -typedef enum { - ippUndef = -1, - ipp1u = 0, - ipp8u = 1, - ipp8uc = 2, - ipp8s = 3, - ipp8sc = 4, - ipp16u = 5, - ipp16uc = 6, - ipp16s = 7, - ipp16sc = 8, - ipp32u = 9, - ipp32uc = 10, - ipp32s = 11, - ipp32sc = 12, - ipp32f = 13, - ipp32fc = 14, - ipp64u = 15, - ipp64uc = 16, - ipp64s = 17, - ipp64sc = 18, - ipp64f = 19, - ipp64fc = 20, - ipp16fc = 21 /* This is necessary for TS */ -} IppDataType; - -typedef enum { - ippFalse = 0, - ippTrue = 1 -} IppBool; - -#ifdef __cplusplus -} -#endif - -#endif /* IPPBASE_H__ */ - -#ifndef IPP_CPU_FEATURES__ -#define IPP_CPU_FEATURES__ - -#define ippCPUID_MMX 0x00000001 /* Intel® architecture with MMX(TM) technology supported */ -#define ippCPUID_SSE 0x00000002 /* Intel® Streaming SIMD Extensions (Intel® SSE) instruction set */ -#define ippCPUID_SSE2 0x00000004 /* Intel® Streaming SIMD Extensions 2 (Intel® SSE2) instruction set */ -#define ippCPUID_SSE3 0x00000008 /* Intel® Streaming SIMD Extensions 3 (Intel® SSE3) instruction set */ -#define ippCPUID_SSSE3 0x00000010 /* Supplemental Streaming SIMD Extensions 3 (SSSE3) instruction set */ -#define ippCPUID_MOVBE 0x00000020 /* Intel® instruction MOVBE */ -#define ippCPUID_SSE41 0x00000040 /* Intel® Streaming SIMD Extensions 4.1 (Intel® SSE4.1) instruction set */ -#define ippCPUID_SSE42 0x00000080 /* Intel® Streaming SIMD Extensions 4.2 (Intel® SSE4.2) instruction set */ -#define ippCPUID_AVX 0x00000100 /* Intel® Advanced Vector Extensions instruction set */ -#define ippAVX_ENABLEDBYOS 0x00000200 /* Intel® Advanced Vector Extensions instruction set is supported by OS */ -#define ippCPUID_AES 0x00000400 /* */ -#define ippCPUID_CLMUL 0x00000800 /* Intel® instruction PCLMULQDQ */ -#define ippCPUID_ABR 0x00001000 /* Reserved */ -#define ippCPUID_RDRAND 0x00002000 /* Intel® instruction RDRAND */ -#define ippCPUID_F16C 0x00004000 /* Intel® instruction F16C */ -#define ippCPUID_AVX2 0x00008000 /* Intel® Advanced Vector Extensions 2 */ -#define ippCPUID_ADCOX 0x00010000 /* Intel® instructions ADOX/ADCX */ -#define ippCPUID_RDSEED 0x00020000 /* Intel® instruction RDSEED */ -#define ippCPUID_PREFETCHW 0x00040000 /* Intel® instruction PREFETCHW */ -#define ippCPUID_SHA 0x00080000 /* Intel® Secure Hash Algorithm Extensions */ -#define ippCPUID_AVX512F 0x00100000 /* Intel® Advanced Vector Extensions 512 Foundation instruction set */ -#define ippCPUID_AVX512CD 0x00200000 /* Intel® Advanced Vector Extensions 512 CD instruction set */ -#define ippCPUID_AVX512ER 0x00400000 /* Intel® Advanced Vector Extensions 512 ER instruction set */ -#define ippCPUID_AVX512PF 0x00800000 /* Intel® Advanced Vector Extensions 512 PF instruction set */ -#define ippCPUID_AVX512BW 0x01000000 /* Intel® Advanced Vector Extensions 512 BW instruction set */ -#define ippCPUID_AVX512DQ 0x02000000 /* Intel® Advanced Vector Extensions 512 DQ instruction set */ -#define ippCPUID_AVX512VL 0x04000000 /* Intel® Advanced Vector Extensions 512 VL instruction set */ -#define ippCPUID_AVX512VBMI 0x08000000 /* Intel® Advanced Vector Extensions 512 Bit Manipulation instructions */ -#define ippCPUID_MPX 0x10000000 /* Intel® Memory Protection Extensions */ -#define ippCPUID_AVX512_4FMADDPS 0x20000000 /* Intel® Advanced Vector Extensions 512 DL floating-point single precision */ -#define ippCPUID_AVX512_4VNNIW 0x40000000 /* Intel® Advanced Vector Extensions 512 DL enhanced word variable precision */ -#define ippCPUID_KNC 0x80000000 /* Intel® Xeon® Phi(TM) Coprocessor */ -#if defined( _WIN32 ) || defined ( _WIN64 ) - #define INT64_SUFFIX(name) name##L -#else - #define INT64_SUFFIX(name) name##LL -#endif - #define ippCPUID_AVX512IFMA INT64_SUFFIX(0x100000000) /* Intel® Advanced Vector Extensions 512 IFMA (PMADD52) instruction set */ - #define ippCPUID_NOCHECK INT64_SUFFIX(0x8000000000000000) /* Force ippSetCpuFeatures to set CPU features without check */ - #define ippCPUID_GETINFO_A INT64_SUFFIX(0x616f666e69746567) /* Force ippGetCpuFeatures to work as cpuid instruction */ - #define ippAVX512_ENABLEDBYOS INT64_SUFFIX(0x200000000) /* Intel® Advanced Vector Extensions 512 is supported by OS */ - - #define ippCPUID_AVX512GFNI INT64_SUFFIX(0x400000000) /* */ - #define ippCPUID_AVX512VAES INT64_SUFFIX(0x800000000) /* */ - #define ippCPUID_AVX512VCLMUL INT64_SUFFIX(0x1000000000) /* */ - #define ippCPUID_AVX512VBMI2 INT64_SUFFIX(0x2000000000) /* Intel® Advanced Vector Extensions 512 Bit Manipulation instructions 2 */ - #define ippCPUID_AVX512_FP16 INT64_SUFFIX(0x1000000000) /* Intel(R) Advanced Vector Extensions 512 16-bit floating point (FP16) instruction set */ - - #define ippCPUID_AVX2VAES INT64_SUFFIX(0x4000000000) /* Intel® Advanced Vector Extensions 256 Bit Vector AES instructions */ - #define ippCPUID_AVX2VCLMUL INT64_SUFFIX(0x8000000000) /* Intel® instruction VPCLMULQDQ */ - -#endif /* IPP_CPU_FEATURES__ */ - -/* Macros are necessary to build custom Intel® IPP Cryptography static 1cpu library (enable specific features at compile-time) */ -#if (!defined(_MERGED_BLD) && defined(IPPCP_CUSTOM_BUILD)) - -#ifndef IPP_CUSTOM_CPU_FEATURES__ -#define IPP_CUSTOM_CPU_FEATURES__ - -#ifndef IPPCP_AES_ON -#define IPPCP_AES_ON (0) -#endif -#ifndef IPPCP_CLMUL_ON -#define IPPCP_CLMUL_ON (0) -#endif -#ifndef IPPCP_VAES_ON -#define IPPCP_VAES_ON (0) -#endif -#ifndef IPPCP_VCLMUL_ON -#define IPPCP_VCLMUL_ON (0) -#endif -#define IPP_CUSTOM_ENABLED_FEATURES (ippCPUID_AES*IPPCP_AES_ON | ippCPUID_CLMUL*IPPCP_CLMUL_ON | ippCPUID_AVX512VAES*IPPCP_VAES_ON | ippCPUID_AVX512VCLMUL*IPPCP_VCLMUL_ON) - -#endif /* IPP_CUSTOM_CPU_FEATURES__ */ -#endif /* !defined(_MERGED_BLD) && defined(IPPCP_CUSTOM_BUILD) */ - -#ifndef IPPSTATUS_H__ -#define IPPSTATUS_H__ - -#ifdef __cplusplus -extern "C" { -#endif -typedef signed int IppStatus; - - /* start of common with ippCrypto part - any changes MUST be done in both repositories - IPP & ippCrypto */ -#define ippStsCpuNotSupportedErr -9999 /* The target CPU is not supported. */ -#define ippStsUnknownStatusCodeErr -216 /* Unknown status code. */ -#define ippStsLoadDynErr -221 /* Error when loading the dynamic library. */ -#define ippStsLengthErr -15 /* Incorrect value for string length. */ -#define ippStsNotSupportedModeErr -14 /* The requested mode is currently not supported. */ -#define ippStsContextMatchErr -13 /* Context parameter does not match the operation. */ -#define ippStsScaleRangeErr -12 /* Scale bounds are out of range. */ -#define ippStsOutOfRangeErr -11 /* Argument is out of range, or point is outside the image. */ -#define ippStsDivByZeroErr -10 /* An attempt to divide by zero. */ -#define ippStsMemAllocErr -9 /* Memory allocated for the operation is not enough. */ -#define ippStsNullPtrErr -8 /* Null pointer error. */ -#define ippStsRangeErr -7 /* Incorrect values for bounds: the lower bound is greater than the upper bound. */ -#define ippStsSizeErr -6 /* Incorrect value for data size. */ -#define ippStsBadArgErr -5 /* Incorrect arg/param of the function. */ -#define ippStsNoMemErr -4 /* Not enough memory for the operation. */ -#define ippStsErr -2 /* Unknown/unspecified error */ - /* no errors */ -#define ippStsNoErr 0 /* No errors. */ - /* warnings */ -#define ippStsNoOperation 1 /* No operation has been executed. */ -#define ippStsDivByZero 2 /* Zero value(s) for the divisor in the Div function. */ -#define ippStsWaterfall 43 /* Cannot load required library, waterfall is used. */ -#define ippStsFeaturesCombination 51 /* Wrong combination of features. */ - /* end of common with ippCrypto part */ - -#ifdef __cplusplus -} -#endif - -#endif /* IPPSTATUS_H__ */ - - /* ippCrypto specific statuses - any changes MUST be done in both repositories - IPP & ippCrypto */ -#define ippStsInvalidPoint -1017 /* ippStsInvalidPoint ECC: Invalid point (out of EC).*/ -#define ippStsQuadraticNonResidueErr -1016 /* SQRT operation on quadratic non-residue value. */ -#define ippStsPointAtInfinity -1015 /* Point at infinity is detected. */ -#define ippStsOFBSizeErr -1014 /* Incorrect value for crypto OFB block size. */ -#define ippStsIncompleteContextErr -1013 /* Crypto: set up of context is not complete. */ -#define ippStsCTRSizeErr -1012 /* Incorrect value for crypto CTR block size. */ -#define ippStsEphemeralKeyErr -1011 /* ECC: Invalid ephemeral key. */ -#define ippStsMessageErr -1010 /* ECC: Invalid message digest. */ -#define ippStsShareKeyErr -1009 /* ECC: Invalid share key. */ -#define ippStsInvalidPrivateKey -1008 /* ECC: Invalid private key. */ -#define ippStsOutOfECErr -1007 /* ECC: Point out of EC. */ -#define ippStsECCInvalidFlagErr -1006 /* ECC: Invalid Flag. */ -#define ippStsUnderRunErr -1005 /* Error in data under run. */ -#define ippStsPaddingErr -1004 /* Detected padding error indicates the possible data corruption. */ -#define ippStsCFBSizeErr -1003 /* Incorrect value for crypto CFB block size. */ -#define ippStsPaddingSchemeErr -1002 /* Invalid padding scheme. */ -#define ippStsBadModulusErr -1001 /* Bad modulus caused a failure in module inversion. */ -#define ippStsInsufficientEntropy 25 /* Generation of the prime/key failed due to insufficient entropy in the random seed and stimulus bit string. */ -#define ippStsNotSupportedCpu 36 /* The CPU is not supported. */ -#define ippStsMbWarning 53 /* Error(s) in statuses array. */ - /* end of ippCrypto specific statuses - any changes MUST be done in both repositories - IPP & ippCrypto */ - -#if (!defined IPPCPDEFS_H__) || defined( _OWN_BLDPCS ) -#define IPPCPDEFS_H__ - -#ifdef __cplusplus -extern "C" { -#endif - - - -#if !defined( _OWN_BLDPCS ) - -typedef Ipp32u IppAlgId; - -/* -// ========================================================= -// Symmetric Ciphers -// ========================================================= -*/ -typedef enum { - ippPaddingNONE = 0, /*NONE = 0,*/ IppsCPPaddingNONE = 0, - ippPaddingPKCS7 = 1, /*PKCS7 = 1,*/ IppsCPPaddingPKCS7 = 1, - ippPaddingZEROS = 2, /*ZEROS = 2,*/ IppsCPPaddingZEROS = 2 -} IppsPadding, IppsCPPadding; - -typedef struct _cpDES IppsDESSpec; -typedef struct _cpRijndael128 IppsAESSpec; -typedef struct _cpRijndael128 IppsRijndael128Spec; -typedef struct _cpSMS4 IppsSMS4Spec; - -/* TDES */ -#define DES_BLOCKSIZE (64) /* cipher blocksize (bits) */ -#define TDES_BLOCKSIZE DES_BLOCKSIZE - -#define DES_KEYSIZE (64) /* cipher keysize (bits) */ -#define TDES_KEYSIZE DES_KEYSIZE - -/* AES */ -#define IPP_AES_BLOCK_BITSIZE (128) /* cipher blocksizes (bits) */ - -/* Rijndael */ -typedef enum { - ippRijndaelKey128 = 128, IppsRijndaelKey128 = 128, /* 128-bit key */ - ippRijndaelKey192 = 192, IppsRijndaelKey192 = 192, /* 192-bit key */ - ippRijndaelKey256 = 256, IppsRijndaelKey256 = 256 /* 256-bit key */ -} IppsRijndaelKeyLength; - -/* AES-CCM (authentication & confidence) */ -typedef struct _cpAES_CCM IppsAES_CCMState; -/* AES-GCM (authentication & confidence) */ -typedef struct _cpAES_GCM IppsAES_GCMState; -/* AES-XTS (confidence) */ -typedef struct _cpAES_XTS IppsAES_XTSSpec; - -/* SMS4-CCM (authentication & confidence) */ -typedef struct _cpSMS4_CCM IppsSMS4_CCMState; - -/* -// ========================================================= -// ARCFOUR Stream Cipher -// ========================================================= -*/ -typedef struct _cpARCfour IppsARCFourState; - -#define IPP_ARCFOUR_KEYMAX_SIZE (256) /* max key length (bytes) */ -#define MAX_ARCFOUR_KEY_LEN IPP_ARCFOUR_KEYMAX_SIZE /* obsolete */ - -/* -// ========================================================= -// One-Way Hash Functions -// ========================================================= -*/ -typedef enum { - ippHashAlg_Unknown, - ippHashAlg_SHA1, - ippHashAlg_SHA256, - ippHashAlg_SHA224, - ippHashAlg_SHA512, - ippHashAlg_SHA384, - ippHashAlg_MD5, - ippHashAlg_SM3, - ippHashAlg_SHA512_224, - ippHashAlg_SHA512_256, - ippHashAlg_MaxNo -} IppHashAlgId; - -#define IPP_ALG_HASH_UNKNOWN (ippHashAlg_Unknown) /* unknown */ -#define IPP_ALG_HASH_SHA1 (ippHashAlg_SHA1) /* SHA1 */ -#define IPP_ALG_HASH_SHA256 (ippHashAlg_SHA256) /* SHA256 */ -#define IPP_ALG_HASH_SHA224 (ippHashAlg_SHA224) /* SHA224 or SHA256/224 */ -#define IPP_ALG_HASH_SHA512 (ippHashAlg_SHA512) /* SHA512 */ -#define IPP_ALG_HASH_SHA384 (ippHashAlg_SHA384) /* SHA384 or SHA512/384 */ -#define IPP_ALG_HASH_MD5 (ippHashAlg_MD5) /* MD5 */ -#define IPP_ALG_HASH_SM3 (ippHashAlg_SM3) /* SM3 */ -#define IPP_ALG_HASH_SHA512_224 (ippHashAlg_SHA512_224) /* SHA512/224 */ -#define IPP_ALG_HASH_SHA512_256 (ippHashAlg_SHA512_256) /* SHA512/256 */ -#define IPP_ALG_HASH_LIMIT (ippHashAlg_MaxNo) /* hash alg limiter*/ - -typedef struct _cpSHA1 IppsSHA1State; -typedef struct _cpSHA256 IppsSHA256State; -typedef struct _cpSHA256 IppsSHA224State; -typedef struct _cpSHA512 IppsSHA512State; -typedef struct _cpSHA512 IppsSHA384State; -typedef struct _cpMD5 IppsMD5State; -typedef struct _cpSM3 IppsSM3State; -typedef struct _cpHashCtx IppsHashState; - -typedef struct _cpHashMethod_rmf IppsHashMethod; -typedef struct _cpHashCtx_rmf IppsHashState_rmf; - -#define IPP_SHA1_DIGEST_BITSIZE 160 /* digest size (bits) */ -#define IPP_SHA256_DIGEST_BITSIZE 256 -#define IPP_SHA224_DIGEST_BITSIZE 224 -#define IPP_SHA384_DIGEST_BITSIZE 384 -#define IPP_SHA512_DIGEST_BITSIZE 512 -#define IPP_MD5_DIGEST_BITSIZE 128 -#define IPP_SM3_DIGEST_BITSIZE 256 -#define IPP_SHA512_224_DIGEST_BITSIZE 224 -#define IPP_SHA512_256_DIGEST_BITSIZE 256 - -/* -// ========================================================= -// Keyed-Hash Message Authentication Codes -// ========================================================= -*/ -typedef struct _cpHMAC IppsHMACState; -typedef struct _cpHMAC IppsHMACSHA1State; -typedef struct _cpHMAC IppsHMACSHA256State; -typedef struct _cpHMAC IppsHMACSHA224State; -typedef struct _cpHMAC IppsHMACSHA384State; -typedef struct _cpHMAC IppsHMACSHA512State; -typedef struct _cpHMAC IppsHMACMD5State; -typedef struct _cpHMAC_rmf IppsHMACState_rmf; - -/* -// ========================================================= -// Data Authentication Codes -// ========================================================= -*/ -typedef struct _cpAES_CMAC IppsAES_CMACState; - -/* -// ========================================================= -// Big Number Integer Arithmetic -// ========================================================= -*/ -#define BN_MAXBITSIZE (16*1024) /* bn max size (bits) */ - - -typedef enum { - ippBigNumNEG = 0, IppsBigNumNEG = 0, - ippBigNumPOS = 1, IppsBigNumPOS = 1 -} IppsBigNumSGN; - -typedef enum { - ippBinaryMethod = 0, IppsBinaryMethod = 0, - ippSlidingWindows = 1, IppsSlidingWindows = 1 -} IppsExpMethod; - -typedef struct _cpBigNum IppsBigNumState; -typedef struct _cpMontgomery IppsMontState; -typedef struct _cpPRNG IppsPRNGState; -typedef struct _cpPrime IppsPrimeState; - -/* External Bit Supplier */ -typedef IppStatus (IPP_CALL *IppBitSupplier)(Ipp32u* pRand, int nBits, void* pEbsParams); - -#define IPP_IS_EQ (0) -#define IPP_IS_GT (1) -#define IPP_IS_LT (2) -#define IPP_IS_NE (3) -#define IPP_IS_NA (4) - -#define IPP_IS_PRIME (5) -#define IPP_IS_COMPOSITE (6) - -#define IPP_IS_VALID (7) -#define IPP_IS_INVALID (8) -#define IPP_IS_INCOMPLETE (9) -#define IPP_IS_ATINFINITY (10) - -#define IS_ZERO IPP_IS_EQ -#define GREATER_THAN_ZERO IPP_IS_GT -#define LESS_THAN_ZERO IPP_IS_LT -#define IS_PRIME IPP_IS_PRIME -#define IS_COMPOSITE IPP_IS_COMPOSITE -#define IS_VALID_KEY IPP_IS_VALID -#define IS_INVALID_KEY IPP_IS_INVALID -#define IS_INCOMPLETED_KEY IPP_IS_INCOMPLETE - -/* -// ========================================================= -// RSA Cryptography -// ========================================================= -*/ -#define MIN_RSA_SIZE (8) -#define MAX_RSA_SIZE (16*1024) - -typedef struct _cpRSA IppsRSAState; - -/* key types */ -typedef enum { - ippRSApublic = 0x20000000, IppRSApublic = 0x20000000, - ippRSAprivate = 0x40000000, IppRSAprivate = 0x40000000 -} IppRSAKeyType; - -/* key component's tag */ -typedef enum { - ippRSAkeyN = 0x01, IppRSAkeyN = 0x01, - ippRSAkeyE = 0x02, IppRSAkeyE = 0x02, - ippRSAkeyD = 0x04, IppRSAkeyD = 0x04, - ippRSAkeyP = 0x08, IppRSAkeyP = 0x08, - ippRSAkeyQ = 0x10, IppRSAkeyQ = 0x10, - ippRSAkeyDp = 0x20, IppRSAkeyDp = 0x20, - ippRSAkeyDq = 0x40, IppRSAkeyDq = 0x40, - ippRSAkeyQinv = 0x80, IppRSAkeyQinv = 0x80 -} IppRSAKeyTag; - -typedef struct _cpRSA_public_key IppsRSAPublicKeyState; -typedef struct _cpRSA_private_key IppsRSAPrivateKeyState; - - -/* -// ========================================================= -// DL Cryptography -// ========================================================= -*/ -#define MIN_DLP_BITSIZE (512) -#define MIN_DLP_BITSIZER (160) - -#define MIN_DLPDH_BITSIZE (512) -#define MIN_DLPDH_BITSIZER (160) -#define DEF_DLPDH_BITSIZER (160) - -#define MIN_DLPDSA_BITSIZE (512) -#define MAX_DLPDSA_BITSIZE (1024) -#define MIN_DLPDSA_BITSIZER (160) -#define DEF_DLPDSA_BITSIZER (160) -#define MAX_DLPDSA_BITSIZER (160) -#define MIN_DLPDSA_SEEDSIZE (160) - -typedef struct _cpDLP IppsDLPState; - -/* domain parameter tags */ -typedef enum { - ippDLPkeyP = 0x01, IppDLPkeyP = 0x01, - ippDLPkeyR = 0x02, IppDLPkeyR = 0x02, - ippDLPkeyG = 0x04, IppDLPkeyG = 0x04 -} IppDLPKeyTag; - -typedef enum { - ippDLValid, /* validation pass successfully */ - - ippDLBaseIsEven, /* !(P is odd) */ - ippDLOrderIsEven, /* !(R is odd) */ - ippDLInvalidBaseRange, /* !(2^(L-1) < P < 2^L) */ - ippDLInvalidOrderRange, /* !(2^(M-1) < R < 2^M) */ - ippDLCompositeBase, - ippDLCompositeOrder, - ippDLInvalidCofactor, /* !( R|(P-1) ) */ - ippDLInvalidGenerator, /* !( G^R == 1 (mod P) ) */ - /* !(1 < G < (P-1)) */ - ippDLInvalidPrivateKey, /* !(1 < private < (R-1)) */ - ippDLInvalidPublicKey, /* !(1 < public <=(P-1)) */ - ippDLInvalidKeyPair, /* !(G^private == public */ - - ippDLInvalidSignature /* invalid signature */ -} IppDLResult; - -/* -// ========================================================= -// EC Cryptography -// ========================================================= -*/ -#define EC_GFP_MAXBITSIZE (1024) - -/* operation result */ -typedef enum { - ippECValid, /* validation pass successfully */ - - ippECCompositeBase, /* field based on composite */ - ippECComplicatedBase, /* number of non-zero terms in the polynomial (> PRIME_ARR_MAX) */ - ippECIsZeroDiscriminant,/* zero discriminant */ - ippECCompositeOrder, /* composite order of base point */ - ippECInvalidOrder, /* invalid base point order */ - ippECIsWeakMOV, /* weak Meneze-Okamoto-Vanstone reduction attack */ - ippECIsWeakSSSA, /* weak Semaev-Smart,Satoh-Araki reduction attack */ - ippECIsSupersingular, /* supersingular curve */ - - ippECInvalidPrivateKey, /* !(0 < Private < order) */ - ippECInvalidPublicKey, /* (order*PublicKey != Infinity) */ - ippECInvalidKeyPair, /* (Private*BasePoint != PublicKey) */ - - ippECPointOutOfGroup, /* out of group (order*P != Infinity) */ - ippECPointIsAtInfinite, /* point (P=(Px,Py)) at Infinity */ - ippECPointIsNotValid, /* point (P=(Px,Py)) out-of EC */ - - ippECPointIsEqual, /* compared points are equal */ - ippECPointIsNotEqual, /* compared points are different */ - - ippECInvalidSignature /* invalid signature */ -} IppECResult; - -/* domain parameter set/get flags */ -typedef enum { - ippECarbitrary =0x00000, IppECCArbitrary = 0x00000, /* arbitrary ECC */ - - ippECPstd = 0x10000, IppECCPStd = 0x10000, /* random (recommended) EC over FG(p): */ - ippECPstd112r1 = ippECPstd, IppECCPStd112r1 = IppECCPStd, /* secp112r1 curve */ - ippECPstd112r2 = ippECPstd+1, IppECCPStd112r2 = IppECCPStd+1, /* secp112r2 curve */ - ippECPstd128r1 = ippECPstd+2, IppECCPStd128r1 = IppECCPStd+2, /* secp128r1 curve */ - ippECPstd128r2 = ippECPstd+3, IppECCPStd128r2 = IppECCPStd+3, /* secp128r2 curve */ - ippECPstd160r1 = ippECPstd+4, IppECCPStd160r1 = IppECCPStd+4, /* secp160r1 curve */ - ippECPstd160r2 = ippECPstd+5, IppECCPStd160r2 = IppECCPStd+5, /* secp160r2 curve */ - ippECPstd192r1 = ippECPstd+6, IppECCPStd192r1 = IppECCPStd+6, /* secp192r1 curve */ - ippECPstd224r1 = ippECPstd+7, IppECCPStd224r1 = IppECCPStd+7, /* secp224r1 curve */ - ippECPstd256r1 = ippECPstd+8, IppECCPStd256r1 = IppECCPStd+8, /* secp256r1 curve */ - ippECPstd384r1 = ippECPstd+9, IppECCPStd384r1 = IppECCPStd+9, /* secp384r1 curve */ - ippECPstd521r1 = ippECPstd+10, IppECCPStd521r1 = IppECCPStd+10, /* secp521r1 curve */ - ippECPstdSM2 = ippECPstd+11, IppECCPStdSM2 = IppECCPStd+11, /* TMP SM2 curve */ - ippEC_TPM_SM2_P256= ippECPstd+11, - ippEC_TPM_BN_P256 = ippECPstd+12, /* TPM BN_P256 curve */ - - /* curves over binary finit fields are not supported in Intel® IPP 9.0 */ - IppECCBStd = 0x20000, /* random (recommended) EC over FG(2^m): */ - IppECCBStd113r1 = IppECCBStd, /* sect113r1 curve */ - IppECCBStd113r2 = IppECCBStd+1, /* sect113r2 curve */ - IppECCBStd131r1 = IppECCBStd+2, /* sect131r1 curve */ - IppECCBStd131r2 = IppECCBStd+3, /* sect131r2 curve */ - IppECCBStd163r1 = IppECCBStd+4, /* sect163r1 curve */ - IppECCBStd163r2 = IppECCBStd+5, /* sect163r2 curve */ - IppECCBStd193r1 = IppECCBStd+6, /* sect193r1 curve */ - IppECCBStd193r2 = IppECCBStd+7, /* sect193r2 curve */ - IppECCBStd233r1 = IppECCBStd+8, /* sect233r1 curve */ - IppECCBStd283r1 = IppECCBStd+9, /* sect283r1 curve */ - IppECCBStd409r1 = IppECCBStd+10, /* sect409r1 curve */ - IppECCBStd571r1 = IppECCBStd+11, /* sect571r1 curve */ - - IppECCKStd = 0x40000, /* Koblitz (recommended) EC over FG(2^m): */ - IppECCBStd163k1 = IppECCKStd, /* Koblitz 163 curve */ - IppECCBStd233k1 = IppECCKStd+1, /* Koblitz 233 curve */ - IppECCBStd239k1 = IppECCKStd+2, /* Koblitz 239 curve */ - IppECCBStd283k1 = IppECCKStd+3, /* Koblitz 283 curve */ - IppECCBStd409k1 = IppECCKStd+4, /* Koblitz 409 curve */ - IppECCBStd571k1 = IppECCKStd+5 /* Koblitz 571 curve */ -} IppsECType, IppECCType; - -/* -// GF over prime and its extension -*/ -#define IPP_MIN_GF_CHAR (3) /* min characteristic of GF */ - -#define IPP_MIN_GF_BITSIZE (2) /* min bitsize of element over prime GF */ -#define IPP_MAX_GF_BITSIZE (1024) /* max bitsize of element over prime GF */ - -#define IPP_MIN_GF_EXTDEG (2) /* min GF extension degree */ -#define IPP_MAX_GF_EXTDEG (8) /* max GF extension degree */ - -#define IPP_MAX_EXPONENT_NUM (6) /* max number of exponents, equals to LOG_CACHE_LINE_SIZE */ - -typedef struct _cpGFpMethod IppsGFpMethod; - -typedef struct _cpGFp IppsGFpState; -typedef struct _cpGFpElement IppsGFpElement; - -typedef struct _cpGFpEC IppsGFpECState; -typedef struct _cpGFpECPoint IppsGFpECPoint; - -typedef struct _cpGFpEC IppsECCPState; -typedef struct _cpGFpECPoint IppsECCPPointState; - -typedef struct { - int hashSize; - int msgBlockSize; -} IppsHashInfo; - -typedef struct { - //const IppsGFpState* pBasicGF; - //const IppsGFpState* pGroundGF; - int parentGFdegree; - int basicGFdegree; - int basicElmBitSize; -} IppsGFpInfo; - -/* SM3 Digest Bytes Size */ -#define IPP_SM3_DIGEST_BYTESIZE ((IPP_SM3_DIGEST_BITSIZE + 7) / 8) - -typedef struct _cpStateECES_SM2 IppsECESState_SM2; - -typedef enum { - ippKESM2Requester = 0xF, /* corresponds to A user/participant */ - ippKESM2Responder /* corresponds to B user/participant */ -} IppsKeyExchangeRoleSM2; - -typedef struct _GFpECKeyExchangeSM2 IppsGFpECKeyExchangeSM2State; - -#endif /* !defined( _OWN_BLDPCS ) */ - -IPPAPI( IppStatus, ippcpGetCpuFeatures, ( Ipp64u* pFeaturesMask )) -IPPAPI( IppStatus, ippcpSetCpuFeatures, ( Ipp64u features )) -IPPAPI( Ipp64u, ippcpGetEnabledCpuFeatures, ( void ) ) -IPPAPI( IppStatus, ippcpSetNumThreads, ( int numThr )) -IPPAPI( IppStatus, ippcpInit,( void )) -IPPAPI( IppStatus, ippcpGetNumThreads, (int* pNumThr) ) -IPPAPI( const char*, ippcpGetStatusString, ( IppStatus StsCode )) -IPPAPI( int, ippcpGetEnabledNumThreads, ( void ) ) -IPPAPI( Ipp64u, ippcpGetCpuClocks, (void) ) - -#ifdef __cplusplus -} -#endif - -#endif /* !defined IPPCPDEFS_H__ || defined( _OWN_BLDPCS ) */ diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/ippversion.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/ippversion.h deleted file mode 100644 index 7137614..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/ippversion.h +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* -* Copyright (C) 2001 Intel Corporation -* -* Licensed under the Apache License, Version 2.0 (the 'License'); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an 'AS IS' BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions -* and limitations under the License. -* -*******************************************************************************/ - -/* -// -// Intel® Integrated Performance Primitives Cryptography (Intel® IPP Cryptography) -// -// Purpose: Describes the Intel IPP Cryptography version -// -*/ - - -#if !defined( IPPVERSION_H__ ) -#define IPPVERSION_H__ - -#define IPP_VERSION_MAJOR 2021 -#define IPP_VERSION_MINOR 9 -#define IPP_VERSION_UPDATE 0 - -// Major interface version -#define IPP_INTERFACE_VERSION_MAJOR 11 -// Minor interface version -#define IPP_INTERFACE_VERSION_MINOR 9 - -#define IPP_VERSION_STR STR(IPP_VERSION_MAJOR) "." STR(IPP_VERSION_MINOR) "." STR(IPP_VERSION_UPDATE) " (" STR(IPP_INTERFACE_VERSION_MAJOR) "." STR(IPP_INTERFACE_VERSION_MINOR) " )" - -#endif /* IPPVERSION_H__ */ diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_e9.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_e9.h deleted file mode 100644 index 80c52e2..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_e9.h +++ /dev/null @@ -1,557 +0,0 @@ -/******************************************************************************* - * Copyright 2023 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *******************************************************************************/ - - #define ippcpGetLibVersion e9_ippcpGetLibVersion -#define ippsDESGetSize e9_ippsDESGetSize -#define ippsDESInit e9_ippsDESInit -#define ippsDESPack e9_ippsDESPack -#define ippsDESUnpack e9_ippsDESUnpack -#define ippsTDESEncryptECB e9_ippsTDESEncryptECB -#define ippsTDESDecryptECB e9_ippsTDESDecryptECB -#define ippsTDESEncryptCBC e9_ippsTDESEncryptCBC -#define ippsTDESDecryptCBC e9_ippsTDESDecryptCBC -#define ippsTDESEncryptCFB e9_ippsTDESEncryptCFB -#define ippsTDESDecryptCFB e9_ippsTDESDecryptCFB -#define ippsTDESEncryptOFB e9_ippsTDESEncryptOFB -#define ippsTDESDecryptOFB e9_ippsTDESDecryptOFB -#define ippsTDESEncryptCTR e9_ippsTDESEncryptCTR -#define ippsTDESDecryptCTR e9_ippsTDESDecryptCTR -#define ippsAESGetSize e9_ippsAESGetSize -#define ippsAESInit e9_ippsAESInit -#define ippsAESSetKey e9_ippsAESSetKey -#define ippsAESPack e9_ippsAESPack -#define ippsAESUnpack e9_ippsAESUnpack -#define ippsAESEncryptECB e9_ippsAESEncryptECB -#define ippsAESDecryptECB e9_ippsAESDecryptECB -#define ippsAESEncryptCBC e9_ippsAESEncryptCBC -#define ippsAESEncryptCBC_CS1 e9_ippsAESEncryptCBC_CS1 -#define ippsAESEncryptCBC_CS2 e9_ippsAESEncryptCBC_CS2 -#define ippsAESEncryptCBC_CS3 e9_ippsAESEncryptCBC_CS3 -#define ippsAESDecryptCBC e9_ippsAESDecryptCBC -#define ippsAESDecryptCBC_CS1 e9_ippsAESDecryptCBC_CS1 -#define ippsAESDecryptCBC_CS2 e9_ippsAESDecryptCBC_CS2 -#define ippsAESDecryptCBC_CS3 e9_ippsAESDecryptCBC_CS3 -#define ippsAESEncryptCFB e9_ippsAESEncryptCFB -#define ippsAESDecryptCFB e9_ippsAESDecryptCFB -#define ippsAESEncryptOFB e9_ippsAESEncryptOFB -#define ippsAESDecryptOFB e9_ippsAESDecryptOFB -#define ippsAESEncryptCTR e9_ippsAESEncryptCTR -#define ippsAESDecryptCTR e9_ippsAESDecryptCTR -#define ippsAESEncryptXTS_Direct e9_ippsAESEncryptXTS_Direct -#define ippsAESDecryptXTS_Direct e9_ippsAESDecryptXTS_Direct -#define ippsAESSetupNoise e9_ippsAESSetupNoise -#define ippsAES_GCMSetupNoise e9_ippsAES_GCMSetupNoise -#define ippsAES_CMACSetupNoise e9_ippsAES_CMACSetupNoise -#define ippsAES_EncryptCFB16_MB e9_ippsAES_EncryptCFB16_MB -#define ippsSMS4GetSize e9_ippsSMS4GetSize -#define ippsSMS4Init e9_ippsSMS4Init -#define ippsSMS4SetKey e9_ippsSMS4SetKey -#define ippsSMS4EncryptECB e9_ippsSMS4EncryptECB -#define ippsSMS4DecryptECB e9_ippsSMS4DecryptECB -#define ippsSMS4EncryptCBC e9_ippsSMS4EncryptCBC -#define ippsSMS4EncryptCBC_CS1 e9_ippsSMS4EncryptCBC_CS1 -#define ippsSMS4EncryptCBC_CS2 e9_ippsSMS4EncryptCBC_CS2 -#define ippsSMS4EncryptCBC_CS3 e9_ippsSMS4EncryptCBC_CS3 -#define ippsSMS4DecryptCBC e9_ippsSMS4DecryptCBC -#define ippsSMS4DecryptCBC_CS1 e9_ippsSMS4DecryptCBC_CS1 -#define ippsSMS4DecryptCBC_CS2 e9_ippsSMS4DecryptCBC_CS2 -#define ippsSMS4DecryptCBC_CS3 e9_ippsSMS4DecryptCBC_CS3 -#define ippsSMS4EncryptCFB e9_ippsSMS4EncryptCFB -#define ippsSMS4DecryptCFB e9_ippsSMS4DecryptCFB -#define ippsSMS4EncryptOFB e9_ippsSMS4EncryptOFB -#define ippsSMS4DecryptOFB e9_ippsSMS4DecryptOFB -#define ippsSMS4EncryptCTR e9_ippsSMS4EncryptCTR -#define ippsSMS4DecryptCTR e9_ippsSMS4DecryptCTR -#define ippsSMS4_CCMGetSize e9_ippsSMS4_CCMGetSize -#define ippsSMS4_CCMInit e9_ippsSMS4_CCMInit -#define ippsSMS4_CCMMessageLen e9_ippsSMS4_CCMMessageLen -#define ippsSMS4_CCMTagLen e9_ippsSMS4_CCMTagLen -#define ippsSMS4_CCMStart e9_ippsSMS4_CCMStart -#define ippsSMS4_CCMEncrypt e9_ippsSMS4_CCMEncrypt -#define ippsSMS4_CCMDecrypt e9_ippsSMS4_CCMDecrypt -#define ippsSMS4_CCMGetTag e9_ippsSMS4_CCMGetTag -#define ippsAES_CCMGetSize e9_ippsAES_CCMGetSize -#define ippsAES_CCMInit e9_ippsAES_CCMInit -#define ippsAES_CCMMessageLen e9_ippsAES_CCMMessageLen -#define ippsAES_CCMTagLen e9_ippsAES_CCMTagLen -#define ippsAES_CCMStart e9_ippsAES_CCMStart -#define ippsAES_CCMEncrypt e9_ippsAES_CCMEncrypt -#define ippsAES_CCMDecrypt e9_ippsAES_CCMDecrypt -#define ippsAES_CCMGetTag e9_ippsAES_CCMGetTag -#define ippsAES_GCMGetSize e9_ippsAES_GCMGetSize -#define ippsAES_GCMInit e9_ippsAES_GCMInit -#define ippsAES_GCMReinit e9_ippsAES_GCMReinit -#define ippsAES_GCMReset e9_ippsAES_GCMReset -#define ippsAES_GCMProcessIV e9_ippsAES_GCMProcessIV -#define ippsAES_GCMProcessAAD e9_ippsAES_GCMProcessAAD -#define ippsAES_GCMStart e9_ippsAES_GCMStart -#define ippsAES_GCMEncrypt e9_ippsAES_GCMEncrypt -#define ippsAES_GCMDecrypt e9_ippsAES_GCMDecrypt -#define ippsAES_GCMGetTag e9_ippsAES_GCMGetTag -#define ippsAES_XTSGetSize e9_ippsAES_XTSGetSize -#define ippsAES_XTSInit e9_ippsAES_XTSInit -#define ippsAES_XTSEncrypt e9_ippsAES_XTSEncrypt -#define ippsAES_XTSDecrypt e9_ippsAES_XTSDecrypt -#define ippsAES_S2V_CMAC e9_ippsAES_S2V_CMAC -#define ippsAES_SIVEncrypt e9_ippsAES_SIVEncrypt -#define ippsAES_SIVDecrypt e9_ippsAES_SIVDecrypt -#define ippsAES_CMACGetSize e9_ippsAES_CMACGetSize -#define ippsAES_CMACInit e9_ippsAES_CMACInit -#define ippsAES_CMACUpdate e9_ippsAES_CMACUpdate -#define ippsAES_CMACFinal e9_ippsAES_CMACFinal -#define ippsAES_CMACGetTag e9_ippsAES_CMACGetTag -#define ippsARCFourCheckKey e9_ippsARCFourCheckKey -#define ippsARCFourGetSize e9_ippsARCFourGetSize -#define ippsARCFourInit e9_ippsARCFourInit -#define ippsARCFourReset e9_ippsARCFourReset -#define ippsARCFourPack e9_ippsARCFourPack -#define ippsARCFourUnpack e9_ippsARCFourUnpack -#define ippsARCFourEncrypt e9_ippsARCFourEncrypt -#define ippsARCFourDecrypt e9_ippsARCFourDecrypt -#define ippsSHA1GetSize e9_ippsSHA1GetSize -#define ippsSHA1Init e9_ippsSHA1Init -#define ippsSHA1Duplicate e9_ippsSHA1Duplicate -#define ippsSHA1Pack e9_ippsSHA1Pack -#define ippsSHA1Unpack e9_ippsSHA1Unpack -#define ippsSHA1Update e9_ippsSHA1Update -#define ippsSHA1GetTag e9_ippsSHA1GetTag -#define ippsSHA1Final e9_ippsSHA1Final -#define ippsSHA1MessageDigest e9_ippsSHA1MessageDigest -#define ippsSHA224GetSize e9_ippsSHA224GetSize -#define ippsSHA224Init e9_ippsSHA224Init -#define ippsSHA224Duplicate e9_ippsSHA224Duplicate -#define ippsSHA224Pack e9_ippsSHA224Pack -#define ippsSHA224Unpack e9_ippsSHA224Unpack -#define ippsSHA224Update e9_ippsSHA224Update -#define ippsSHA224GetTag e9_ippsSHA224GetTag -#define ippsSHA224Final e9_ippsSHA224Final -#define ippsSHA224MessageDigest e9_ippsSHA224MessageDigest -#define ippsSHA256GetSize e9_ippsSHA256GetSize -#define ippsSHA256Init e9_ippsSHA256Init -#define ippsSHA256Duplicate e9_ippsSHA256Duplicate -#define ippsSHA256Pack e9_ippsSHA256Pack -#define ippsSHA256Unpack e9_ippsSHA256Unpack -#define ippsSHA256Update e9_ippsSHA256Update -#define ippsSHA256GetTag e9_ippsSHA256GetTag -#define ippsSHA256Final e9_ippsSHA256Final -#define ippsSHA256MessageDigest e9_ippsSHA256MessageDigest -#define ippsSHA384GetSize e9_ippsSHA384GetSize -#define ippsSHA384Init e9_ippsSHA384Init -#define ippsSHA384Duplicate e9_ippsSHA384Duplicate -#define ippsSHA384Pack e9_ippsSHA384Pack -#define ippsSHA384Unpack e9_ippsSHA384Unpack -#define ippsSHA384Update e9_ippsSHA384Update -#define ippsSHA384GetTag e9_ippsSHA384GetTag -#define ippsSHA384Final e9_ippsSHA384Final -#define ippsSHA384MessageDigest e9_ippsSHA384MessageDigest -#define ippsSHA512GetSize e9_ippsSHA512GetSize -#define ippsSHA512Init e9_ippsSHA512Init -#define ippsSHA512Duplicate e9_ippsSHA512Duplicate -#define ippsSHA512Pack e9_ippsSHA512Pack -#define ippsSHA512Unpack e9_ippsSHA512Unpack -#define ippsSHA512Update e9_ippsSHA512Update -#define ippsSHA512GetTag e9_ippsSHA512GetTag -#define ippsSHA512Final e9_ippsSHA512Final -#define ippsSHA512MessageDigest e9_ippsSHA512MessageDigest -#define ippsMD5GetSize e9_ippsMD5GetSize -#define ippsMD5Init e9_ippsMD5Init -#define ippsMD5Duplicate e9_ippsMD5Duplicate -#define ippsMD5Pack e9_ippsMD5Pack -#define ippsMD5Unpack e9_ippsMD5Unpack -#define ippsMD5Update e9_ippsMD5Update -#define ippsMD5GetTag e9_ippsMD5GetTag -#define ippsMD5Final e9_ippsMD5Final -#define ippsMD5MessageDigest e9_ippsMD5MessageDigest -#define ippsSM3GetSize e9_ippsSM3GetSize -#define ippsSM3Init e9_ippsSM3Init -#define ippsSM3Duplicate e9_ippsSM3Duplicate -#define ippsSM3Pack e9_ippsSM3Pack -#define ippsSM3Unpack e9_ippsSM3Unpack -#define ippsSM3Update e9_ippsSM3Update -#define ippsSM3GetTag e9_ippsSM3GetTag -#define ippsSM3Final e9_ippsSM3Final -#define ippsSM3MessageDigest e9_ippsSM3MessageDigest -#define ippsHashGetSize e9_ippsHashGetSize -#define ippsHashInit e9_ippsHashInit -#define ippsHashPack e9_ippsHashPack -#define ippsHashUnpack e9_ippsHashUnpack -#define ippsHashDuplicate e9_ippsHashDuplicate -#define ippsHashUpdate e9_ippsHashUpdate -#define ippsHashGetTag e9_ippsHashGetTag -#define ippsHashFinal e9_ippsHashFinal -#define ippsHashMessage e9_ippsHashMessage -#define ippsHashMethod_MD5 e9_ippsHashMethod_MD5 -#define ippsHashMethod_SM3 e9_ippsHashMethod_SM3 -#define ippsHashMethod_SHA1 e9_ippsHashMethod_SHA1 -#define ippsHashMethod_SHA1_NI e9_ippsHashMethod_SHA1_NI -#define ippsHashMethod_SHA1_TT e9_ippsHashMethod_SHA1_TT -#define ippsHashMethod_SHA256 e9_ippsHashMethod_SHA256 -#define ippsHashMethod_SHA256_NI e9_ippsHashMethod_SHA256_NI -#define ippsHashMethod_SHA256_TT e9_ippsHashMethod_SHA256_TT -#define ippsHashMethod_SHA224 e9_ippsHashMethod_SHA224 -#define ippsHashMethod_SHA224_NI e9_ippsHashMethod_SHA224_NI -#define ippsHashMethod_SHA224_TT e9_ippsHashMethod_SHA224_TT -#define ippsHashMethod_SHA512 e9_ippsHashMethod_SHA512 -#define ippsHashMethod_SHA384 e9_ippsHashMethod_SHA384 -#define ippsHashMethod_SHA512_256 e9_ippsHashMethod_SHA512_256 -#define ippsHashMethod_SHA512_224 e9_ippsHashMethod_SHA512_224 -#define ippsHashMethodGetSize e9_ippsHashMethodGetSize -#define ippsHashMethodSet_MD5 e9_ippsHashMethodSet_MD5 -#define ippsHashMethodSet_SM3 e9_ippsHashMethodSet_SM3 -#define ippsHashStateMethodSet_SM3 e9_ippsHashStateMethodSet_SM3 -#define ippsHashMethodSet_SHA1 e9_ippsHashMethodSet_SHA1 -#define ippsHashMethodSet_SHA1_NI e9_ippsHashMethodSet_SHA1_NI -#define ippsHashMethodSet_SHA1_TT e9_ippsHashMethodSet_SHA1_TT -#define ippsHashMethodSet_SHA256 e9_ippsHashMethodSet_SHA256 -#define ippsHashMethodSet_SHA256_NI e9_ippsHashMethodSet_SHA256_NI -#define ippsHashMethodSet_SHA256_TT e9_ippsHashMethodSet_SHA256_TT -#define ippsHashStateMethodSet_SHA256 e9_ippsHashStateMethodSet_SHA256 -#define ippsHashStateMethodSet_SHA256_NI e9_ippsHashStateMethodSet_SHA256_NI -#define ippsHashStateMethodSet_SHA256_TT e9_ippsHashStateMethodSet_SHA256_TT -#define ippsHashMethodSet_SHA224 e9_ippsHashMethodSet_SHA224 -#define ippsHashMethodSet_SHA224_NI e9_ippsHashMethodSet_SHA224_NI -#define ippsHashMethodSet_SHA224_TT e9_ippsHashMethodSet_SHA224_TT -#define ippsHashStateMethodSet_SHA224 e9_ippsHashStateMethodSet_SHA224 -#define ippsHashStateMethodSet_SHA224_NI e9_ippsHashStateMethodSet_SHA224_NI -#define ippsHashStateMethodSet_SHA224_TT e9_ippsHashStateMethodSet_SHA224_TT -#define ippsHashMethodSet_SHA512 e9_ippsHashMethodSet_SHA512 -#define ippsHashMethodSet_SHA384 e9_ippsHashMethodSet_SHA384 -#define ippsHashMethodSet_SHA512_256 e9_ippsHashMethodSet_SHA512_256 -#define ippsHashMethodSet_SHA512_224 e9_ippsHashMethodSet_SHA512_224 -#define ippsHashStateMethodSet_SHA512 e9_ippsHashStateMethodSet_SHA512 -#define ippsHashStateMethodSet_SHA384 e9_ippsHashStateMethodSet_SHA384 -#define ippsHashStateMethodSet_SHA512_256 e9_ippsHashStateMethodSet_SHA512_256 -#define ippsHashStateMethodSet_SHA512_224 e9_ippsHashStateMethodSet_SHA512_224 -#define ippsHashGetSize_rmf e9_ippsHashGetSize_rmf -#define ippsHashInit_rmf e9_ippsHashInit_rmf -#define ippsHashPack_rmf e9_ippsHashPack_rmf -#define ippsHashUnpack_rmf e9_ippsHashUnpack_rmf -#define ippsHashDuplicate_rmf e9_ippsHashDuplicate_rmf -#define ippsHashUpdate_rmf e9_ippsHashUpdate_rmf -#define ippsHashGetTag_rmf e9_ippsHashGetTag_rmf -#define ippsHashFinal_rmf e9_ippsHashFinal_rmf -#define ippsHashMessage_rmf e9_ippsHashMessage_rmf -#define ippsHashMethodGetInfo e9_ippsHashMethodGetInfo -#define ippsHashGetInfo_rmf e9_ippsHashGetInfo_rmf -#define ippsMGF e9_ippsMGF -#define ippsMGF1_rmf e9_ippsMGF1_rmf -#define ippsMGF2_rmf e9_ippsMGF2_rmf -#define ippsHMAC_GetSize e9_ippsHMAC_GetSize -#define ippsHMAC_Init e9_ippsHMAC_Init -#define ippsHMAC_Pack e9_ippsHMAC_Pack -#define ippsHMAC_Unpack e9_ippsHMAC_Unpack -#define ippsHMAC_Duplicate e9_ippsHMAC_Duplicate -#define ippsHMAC_Update e9_ippsHMAC_Update -#define ippsHMAC_Final e9_ippsHMAC_Final -#define ippsHMAC_GetTag e9_ippsHMAC_GetTag -#define ippsHMAC_Message e9_ippsHMAC_Message -#define ippsHMACGetSize_rmf e9_ippsHMACGetSize_rmf -#define ippsHMACInit_rmf e9_ippsHMACInit_rmf -#define ippsHMACPack_rmf e9_ippsHMACPack_rmf -#define ippsHMACUnpack_rmf e9_ippsHMACUnpack_rmf -#define ippsHMACDuplicate_rmf e9_ippsHMACDuplicate_rmf -#define ippsHMACUpdate_rmf e9_ippsHMACUpdate_rmf -#define ippsHMACFinal_rmf e9_ippsHMACFinal_rmf -#define ippsHMACGetTag_rmf e9_ippsHMACGetTag_rmf -#define ippsHMACMessage_rmf e9_ippsHMACMessage_rmf -#define ippsBigNumGetSize e9_ippsBigNumGetSize -#define ippsBigNumInit e9_ippsBigNumInit -#define ippsCmpZero_BN e9_ippsCmpZero_BN -#define ippsCmp_BN e9_ippsCmp_BN -#define ippsGetSize_BN e9_ippsGetSize_BN -#define ippsSet_BN e9_ippsSet_BN -#define ippsGet_BN e9_ippsGet_BN -#define ippsRef_BN e9_ippsRef_BN -#define ippsExtGet_BN e9_ippsExtGet_BN -#define ippsAdd_BN e9_ippsAdd_BN -#define ippsSub_BN e9_ippsSub_BN -#define ippsMul_BN e9_ippsMul_BN -#define ippsMAC_BN_I e9_ippsMAC_BN_I -#define ippsDiv_BN e9_ippsDiv_BN -#define ippsMod_BN e9_ippsMod_BN -#define ippsGcd_BN e9_ippsGcd_BN -#define ippsModInv_BN e9_ippsModInv_BN -#define ippsSetOctString_BN e9_ippsSetOctString_BN -#define ippsGetOctString_BN e9_ippsGetOctString_BN -#define ippsMontGetSize e9_ippsMontGetSize -#define ippsMontInit e9_ippsMontInit -#define ippsMontSet e9_ippsMontSet -#define ippsMontGet e9_ippsMontGet -#define ippsMontForm e9_ippsMontForm -#define ippsMontMul e9_ippsMontMul -#define ippsMontExp e9_ippsMontExp -#define ippsPRNGGetSize e9_ippsPRNGGetSize -#define ippsPRNGInit e9_ippsPRNGInit -#define ippsPRNGSetModulus e9_ippsPRNGSetModulus -#define ippsPRNGSetH0 e9_ippsPRNGSetH0 -#define ippsPRNGSetAugment e9_ippsPRNGSetAugment -#define ippsPRNGSetSeed e9_ippsPRNGSetSeed -#define ippsPRNGGetSeed e9_ippsPRNGGetSeed -#define ippsPRNGen e9_ippsPRNGen -#define ippsPRNGen_BN e9_ippsPRNGen_BN -#define ippsPRNGenRDRAND e9_ippsPRNGenRDRAND -#define ippsPRNGenRDRAND_BN e9_ippsPRNGenRDRAND_BN -#define ippsTRNGenRDSEED e9_ippsTRNGenRDSEED -#define ippsTRNGenRDSEED_BN e9_ippsTRNGenRDSEED_BN -#define ippsPrimeGetSize e9_ippsPrimeGetSize -#define ippsPrimeInit e9_ippsPrimeInit -#define ippsPrimeGen e9_ippsPrimeGen -#define ippsPrimeTest e9_ippsPrimeTest -#define ippsPrimeGen_BN e9_ippsPrimeGen_BN -#define ippsPrimeTest_BN e9_ippsPrimeTest_BN -#define ippsPrimeGet e9_ippsPrimeGet -#define ippsPrimeGet_BN e9_ippsPrimeGet_BN -#define ippsPrimeSet e9_ippsPrimeSet -#define ippsPrimeSet_BN e9_ippsPrimeSet_BN -#define ippsRSA_GetSizePublicKey e9_ippsRSA_GetSizePublicKey -#define ippsRSA_InitPublicKey e9_ippsRSA_InitPublicKey -#define ippsRSA_SetPublicKey e9_ippsRSA_SetPublicKey -#define ippsRSA_GetPublicKey e9_ippsRSA_GetPublicKey -#define ippsRSA_GetSizePrivateKeyType1 e9_ippsRSA_GetSizePrivateKeyType1 -#define ippsRSA_InitPrivateKeyType1 e9_ippsRSA_InitPrivateKeyType1 -#define ippsRSA_SetPrivateKeyType1 e9_ippsRSA_SetPrivateKeyType1 -#define ippsRSA_GetPrivateKeyType1 e9_ippsRSA_GetPrivateKeyType1 -#define ippsRSA_GetSizePrivateKeyType2 e9_ippsRSA_GetSizePrivateKeyType2 -#define ippsRSA_InitPrivateKeyType2 e9_ippsRSA_InitPrivateKeyType2 -#define ippsRSA_SetPrivateKeyType2 e9_ippsRSA_SetPrivateKeyType2 -#define ippsRSA_GetPrivateKeyType2 e9_ippsRSA_GetPrivateKeyType2 -#define ippsRSA_GetBufferSizePublicKey e9_ippsRSA_GetBufferSizePublicKey -#define ippsRSA_GetBufferSizePrivateKey e9_ippsRSA_GetBufferSizePrivateKey -#define ippsRSA_Encrypt e9_ippsRSA_Encrypt -#define ippsRSA_Decrypt e9_ippsRSA_Decrypt -#define ippsRSA_GenerateKeys e9_ippsRSA_GenerateKeys -#define ippsRSA_ValidateKeys e9_ippsRSA_ValidateKeys -#define ippsRSAEncrypt_OAEP e9_ippsRSAEncrypt_OAEP -#define ippsRSADecrypt_OAEP e9_ippsRSADecrypt_OAEP -#define ippsRSAEncrypt_OAEP_rmf e9_ippsRSAEncrypt_OAEP_rmf -#define ippsRSADecrypt_OAEP_rmf e9_ippsRSADecrypt_OAEP_rmf -#define ippsRSAEncrypt_PKCSv15 e9_ippsRSAEncrypt_PKCSv15 -#define ippsRSADecrypt_PKCSv15 e9_ippsRSADecrypt_PKCSv15 -#define ippsRSASign_PSS e9_ippsRSASign_PSS -#define ippsRSAVerify_PSS e9_ippsRSAVerify_PSS -#define ippsRSASign_PSS_rmf e9_ippsRSASign_PSS_rmf -#define ippsRSAVerify_PSS_rmf e9_ippsRSAVerify_PSS_rmf -#define ippsRSASign_PKCS1v15 e9_ippsRSASign_PKCS1v15 -#define ippsRSAVerify_PKCS1v15 e9_ippsRSAVerify_PKCS1v15 -#define ippsRSASign_PKCS1v15_rmf e9_ippsRSASign_PKCS1v15_rmf -#define ippsRSAVerify_PKCS1v15_rmf e9_ippsRSAVerify_PKCS1v15_rmf -#define ippsDLGetResultString e9_ippsDLGetResultString -#define ippsDLPGetSize e9_ippsDLPGetSize -#define ippsDLPInit e9_ippsDLPInit -#define ippsDLPPack e9_ippsDLPPack -#define ippsDLPUnpack e9_ippsDLPUnpack -#define ippsDLPSet e9_ippsDLPSet -#define ippsDLPGet e9_ippsDLPGet -#define ippsDLPSetDP e9_ippsDLPSetDP -#define ippsDLPGetDP e9_ippsDLPGetDP -#define ippsDLPGenKeyPair e9_ippsDLPGenKeyPair -#define ippsDLPPublicKey e9_ippsDLPPublicKey -#define ippsDLPValidateKeyPair e9_ippsDLPValidateKeyPair -#define ippsDLPSetKeyPair e9_ippsDLPSetKeyPair -#define ippsDLPSignDSA e9_ippsDLPSignDSA -#define ippsDLPVerifyDSA e9_ippsDLPVerifyDSA -#define ippsDLPSharedSecretDH e9_ippsDLPSharedSecretDH -#define ippsDLPGenerateDSA e9_ippsDLPGenerateDSA -#define ippsDLPValidateDSA e9_ippsDLPValidateDSA -#define ippsDLPGenerateDH e9_ippsDLPGenerateDH -#define ippsDLPValidateDH e9_ippsDLPValidateDH -#define ippsECCGetResultString e9_ippsECCGetResultString -#define ippsECCPGetSize e9_ippsECCPGetSize -#define ippsECCPGetSizeStd128r1 e9_ippsECCPGetSizeStd128r1 -#define ippsECCPGetSizeStd128r2 e9_ippsECCPGetSizeStd128r2 -#define ippsECCPGetSizeStd192r1 e9_ippsECCPGetSizeStd192r1 -#define ippsECCPGetSizeStd224r1 e9_ippsECCPGetSizeStd224r1 -#define ippsECCPGetSizeStd256r1 e9_ippsECCPGetSizeStd256r1 -#define ippsECCPGetSizeStd384r1 e9_ippsECCPGetSizeStd384r1 -#define ippsECCPGetSizeStd521r1 e9_ippsECCPGetSizeStd521r1 -#define ippsECCPGetSizeStdSM2 e9_ippsECCPGetSizeStdSM2 -#define ippsECCPInit e9_ippsECCPInit -#define ippsECCPInitStd128r1 e9_ippsECCPInitStd128r1 -#define ippsECCPInitStd128r2 e9_ippsECCPInitStd128r2 -#define ippsECCPInitStd192r1 e9_ippsECCPInitStd192r1 -#define ippsECCPInitStd224r1 e9_ippsECCPInitStd224r1 -#define ippsECCPInitStd256r1 e9_ippsECCPInitStd256r1 -#define ippsECCPInitStd384r1 e9_ippsECCPInitStd384r1 -#define ippsECCPInitStd521r1 e9_ippsECCPInitStd521r1 -#define ippsECCPInitStdSM2 e9_ippsECCPInitStdSM2 -#define ippsECCPSet e9_ippsECCPSet -#define ippsECCPSetStd e9_ippsECCPSetStd -#define ippsECCPSetStd128r1 e9_ippsECCPSetStd128r1 -#define ippsECCPSetStd128r2 e9_ippsECCPSetStd128r2 -#define ippsECCPSetStd192r1 e9_ippsECCPSetStd192r1 -#define ippsECCPSetStd224r1 e9_ippsECCPSetStd224r1 -#define ippsECCPSetStd256r1 e9_ippsECCPSetStd256r1 -#define ippsECCPSetStd384r1 e9_ippsECCPSetStd384r1 -#define ippsECCPSetStd521r1 e9_ippsECCPSetStd521r1 -#define ippsECCPSetStdSM2 e9_ippsECCPSetStdSM2 -#define ippsECCPBindGxyTblStd192r1 e9_ippsECCPBindGxyTblStd192r1 -#define ippsECCPBindGxyTblStd224r1 e9_ippsECCPBindGxyTblStd224r1 -#define ippsECCPBindGxyTblStd256r1 e9_ippsECCPBindGxyTblStd256r1 -#define ippsECCPBindGxyTblStd384r1 e9_ippsECCPBindGxyTblStd384r1 -#define ippsECCPBindGxyTblStd521r1 e9_ippsECCPBindGxyTblStd521r1 -#define ippsECCPBindGxyTblStdSM2 e9_ippsECCPBindGxyTblStdSM2 -#define ippsECCPGet e9_ippsECCPGet -#define ippsECCPGetOrderBitSize e9_ippsECCPGetOrderBitSize -#define ippsECCPValidate e9_ippsECCPValidate -#define ippsECCPPointGetSize e9_ippsECCPPointGetSize -#define ippsECCPPointInit e9_ippsECCPPointInit -#define ippsECCPSetPoint e9_ippsECCPSetPoint -#define ippsECCPSetPointAtInfinity e9_ippsECCPSetPointAtInfinity -#define ippsECCPGetPoint e9_ippsECCPGetPoint -#define ippsECCPCheckPoint e9_ippsECCPCheckPoint -#define ippsECCPComparePoint e9_ippsECCPComparePoint -#define ippsECCPNegativePoint e9_ippsECCPNegativePoint -#define ippsECCPAddPoint e9_ippsECCPAddPoint -#define ippsECCPMulPointScalar e9_ippsECCPMulPointScalar -#define ippsECCPGenKeyPair e9_ippsECCPGenKeyPair -#define ippsECCPPublicKey e9_ippsECCPPublicKey -#define ippsECCPValidateKeyPair e9_ippsECCPValidateKeyPair -#define ippsECCPSetKeyPair e9_ippsECCPSetKeyPair -#define ippsECCPSharedSecretDH e9_ippsECCPSharedSecretDH -#define ippsECCPSharedSecretDHC e9_ippsECCPSharedSecretDHC -#define ippsECCPSignDSA e9_ippsECCPSignDSA -#define ippsECCPVerifyDSA e9_ippsECCPVerifyDSA -#define ippsECCPSignNR e9_ippsECCPSignNR -#define ippsECCPVerifyNR e9_ippsECCPVerifyNR -#define ippsECCPSignSM2 e9_ippsECCPSignSM2 -#define ippsECCPVerifySM2 e9_ippsECCPVerifySM2 -#define ippsGFpGetSize e9_ippsGFpGetSize -#define ippsGFpInitArbitrary e9_ippsGFpInitArbitrary -#define ippsGFpInitFixed e9_ippsGFpInitFixed -#define ippsGFpInit e9_ippsGFpInit -#define ippsGFpMethod_p192r1 e9_ippsGFpMethod_p192r1 -#define ippsGFpMethod_p224r1 e9_ippsGFpMethod_p224r1 -#define ippsGFpMethod_p256r1 e9_ippsGFpMethod_p256r1 -#define ippsGFpMethod_p384r1 e9_ippsGFpMethod_p384r1 -#define ippsGFpMethod_p521r1 e9_ippsGFpMethod_p521r1 -#define ippsGFpMethod_p256sm2 e9_ippsGFpMethod_p256sm2 -#define ippsGFpMethod_p256bn e9_ippsGFpMethod_p256bn -#define ippsGFpMethod_p256 e9_ippsGFpMethod_p256 -#define ippsGFpMethod_pArb e9_ippsGFpMethod_pArb -#define ippsGFpxGetSize e9_ippsGFpxGetSize -#define ippsGFpxInit e9_ippsGFpxInit -#define ippsGFpxInitBinomial e9_ippsGFpxInitBinomial -#define ippsGFpxMethod_binom2_epid2 e9_ippsGFpxMethod_binom2_epid2 -#define ippsGFpxMethod_binom3_epid2 e9_ippsGFpxMethod_binom3_epid2 -#define ippsGFpxMethod_binom2 e9_ippsGFpxMethod_binom2 -#define ippsGFpxMethod_binom3 e9_ippsGFpxMethod_binom3 -#define ippsGFpxMethod_binom e9_ippsGFpxMethod_binom -#define ippsGFpxMethod_com e9_ippsGFpxMethod_com -#define ippsGFpScratchBufferSize e9_ippsGFpScratchBufferSize -#define ippsGFpElementGetSize e9_ippsGFpElementGetSize -#define ippsGFpElementInit e9_ippsGFpElementInit -#define ippsGFpSetElement e9_ippsGFpSetElement -#define ippsGFpSetElementRegular e9_ippsGFpSetElementRegular -#define ippsGFpSetElementOctString e9_ippsGFpSetElementOctString -#define ippsGFpSetElementRandom e9_ippsGFpSetElementRandom -#define ippsGFpSetElementHash e9_ippsGFpSetElementHash -#define ippsGFpSetElementHash_rmf e9_ippsGFpSetElementHash_rmf -#define ippsGFpCpyElement e9_ippsGFpCpyElement -#define ippsGFpGetElement e9_ippsGFpGetElement -#define ippsGFpGetElementOctString e9_ippsGFpGetElementOctString -#define ippsGFpCmpElement e9_ippsGFpCmpElement -#define ippsGFpIsZeroElement e9_ippsGFpIsZeroElement -#define ippsGFpIsUnityElement e9_ippsGFpIsUnityElement -#define ippsGFpConj e9_ippsGFpConj -#define ippsGFpNeg e9_ippsGFpNeg -#define ippsGFpInv e9_ippsGFpInv -#define ippsGFpSqrt e9_ippsGFpSqrt -#define ippsGFpSqr e9_ippsGFpSqr -#define ippsGFpAdd e9_ippsGFpAdd -#define ippsGFpSub e9_ippsGFpSub -#define ippsGFpMul e9_ippsGFpMul -#define ippsGFpExp e9_ippsGFpExp -#define ippsGFpMultiExp e9_ippsGFpMultiExp -#define ippsGFpAdd_PE e9_ippsGFpAdd_PE -#define ippsGFpSub_PE e9_ippsGFpSub_PE -#define ippsGFpMul_PE e9_ippsGFpMul_PE -#define ippsGFpGetInfo e9_ippsGFpGetInfo -#define ippsGFpECGetSize e9_ippsGFpECGetSize -#define ippsGFpECInit e9_ippsGFpECInit -#define ippsGFpECSet e9_ippsGFpECSet -#define ippsGFpECSetSubgroup e9_ippsGFpECSetSubgroup -#define ippsGFpECInitStd128r1 e9_ippsGFpECInitStd128r1 -#define ippsGFpECInitStd128r2 e9_ippsGFpECInitStd128r2 -#define ippsGFpECInitStd192r1 e9_ippsGFpECInitStd192r1 -#define ippsGFpECInitStd224r1 e9_ippsGFpECInitStd224r1 -#define ippsGFpECInitStd256r1 e9_ippsGFpECInitStd256r1 -#define ippsGFpECInitStd384r1 e9_ippsGFpECInitStd384r1 -#define ippsGFpECInitStd521r1 e9_ippsGFpECInitStd521r1 -#define ippsGFpECInitStdSM2 e9_ippsGFpECInitStdSM2 -#define ippsGFpECInitStdBN256 e9_ippsGFpECInitStdBN256 -#define ippsGFpECBindGxyTblStd192r1 e9_ippsGFpECBindGxyTblStd192r1 -#define ippsGFpECBindGxyTblStd224r1 e9_ippsGFpECBindGxyTblStd224r1 -#define ippsGFpECBindGxyTblStd256r1 e9_ippsGFpECBindGxyTblStd256r1 -#define ippsGFpECBindGxyTblStd384r1 e9_ippsGFpECBindGxyTblStd384r1 -#define ippsGFpECBindGxyTblStd521r1 e9_ippsGFpECBindGxyTblStd521r1 -#define ippsGFpECBindGxyTblStdSM2 e9_ippsGFpECBindGxyTblStdSM2 -#define ippsGFpECGet e9_ippsGFpECGet -#define ippsGFpECGetSubgroup e9_ippsGFpECGetSubgroup -#define ippsGFpECScratchBufferSize e9_ippsGFpECScratchBufferSize -#define ippsGFpECVerify e9_ippsGFpECVerify -#define ippsGFpECPointGetSize e9_ippsGFpECPointGetSize -#define ippsGFpECPointInit e9_ippsGFpECPointInit -#define ippsGFpECSetPointAtInfinity e9_ippsGFpECSetPointAtInfinity -#define ippsGFpECSetPoint e9_ippsGFpECSetPoint -#define ippsGFpECSetPointRegular e9_ippsGFpECSetPointRegular -#define ippsGFpECSetPointRandom e9_ippsGFpECSetPointRandom -#define ippsGFpECMakePoint e9_ippsGFpECMakePoint -#define ippsGFpECSetPointHash e9_ippsGFpECSetPointHash -#define ippsGFpECSetPointHashBackCompatible e9_ippsGFpECSetPointHashBackCompatible -#define ippsGFpECSetPointHash_rmf e9_ippsGFpECSetPointHash_rmf -#define ippsGFpECSetPointHashBackCompatible_rmf e9_ippsGFpECSetPointHashBackCompatible_rmf -#define ippsGFpECGetPoint e9_ippsGFpECGetPoint -#define ippsGFpECGetPointRegular e9_ippsGFpECGetPointRegular -#define ippsGFpECSetPointOctString e9_ippsGFpECSetPointOctString -#define ippsGFpECGetPointOctString e9_ippsGFpECGetPointOctString -#define ippsGFpECTstPoint e9_ippsGFpECTstPoint -#define ippsGFpECTstPointInSubgroup e9_ippsGFpECTstPointInSubgroup -#define ippsGFpECCpyPoint e9_ippsGFpECCpyPoint -#define ippsGFpECCmpPoint e9_ippsGFpECCmpPoint -#define ippsGFpECNegPoint e9_ippsGFpECNegPoint -#define ippsGFpECAddPoint e9_ippsGFpECAddPoint -#define ippsGFpECMulPoint e9_ippsGFpECMulPoint -#define ippsGFpECPrivateKey e9_ippsGFpECPrivateKey -#define ippsGFpECPublicKey e9_ippsGFpECPublicKey -#define ippsGFpECTstKeyPair e9_ippsGFpECTstKeyPair -#define ippsGFpECSharedSecretDH e9_ippsGFpECSharedSecretDH -#define ippsGFpECSharedSecretDHC e9_ippsGFpECSharedSecretDHC -#define ippsGFpECMessageRepresentationSM2 e9_ippsGFpECMessageRepresentationSM2 -#define ippsGFpECSignDSA e9_ippsGFpECSignDSA -#define ippsGFpECVerifyDSA e9_ippsGFpECVerifyDSA -#define ippsGFpECSignNR e9_ippsGFpECSignNR -#define ippsGFpECVerifyNR e9_ippsGFpECVerifyNR -#define ippsGFpECSignSM2 e9_ippsGFpECSignSM2 -#define ippsGFpECVerifySM2 e9_ippsGFpECVerifySM2 -#define ippsGFpECUserIDHashSM2 e9_ippsGFpECUserIDHashSM2 -#define ippsGFpECKeyExchangeSM2_GetSize e9_ippsGFpECKeyExchangeSM2_GetSize -#define ippsGFpECKeyExchangeSM2_Init e9_ippsGFpECKeyExchangeSM2_Init -#define ippsGFpECKeyExchangeSM2_Setup e9_ippsGFpECKeyExchangeSM2_Setup -#define ippsGFpECKeyExchangeSM2_SharedKey e9_ippsGFpECKeyExchangeSM2_SharedKey -#define ippsGFpECKeyExchangeSM2_Confirm e9_ippsGFpECKeyExchangeSM2_Confirm -#define ippsGFpECGetInfo_GF e9_ippsGFpECGetInfo_GF -#define ippsGFpECESGetSize_SM2 e9_ippsGFpECESGetSize_SM2 -#define ippsGFpECESInit_SM2 e9_ippsGFpECESInit_SM2 -#define ippsGFpECESSetKey_SM2 e9_ippsGFpECESSetKey_SM2 -#define ippsGFpECESStart_SM2 e9_ippsGFpECESStart_SM2 -#define ippsGFpECESEncrypt_SM2 e9_ippsGFpECESEncrypt_SM2 -#define ippsGFpECESDecrypt_SM2 e9_ippsGFpECESDecrypt_SM2 -#define ippsGFpECESFinal_SM2 e9_ippsGFpECESFinal_SM2 -#define ippsGFpECESGetBuffersSize_SM2 e9_ippsGFpECESGetBuffersSize_SM2 -#define ippsGFpECEncryptSM2_Ext_EncMsgSize e9_ippsGFpECEncryptSM2_Ext_EncMsgSize -#define ippsGFpECEncryptSM2_Ext e9_ippsGFpECEncryptSM2_Ext -#define ippsGFpECDecryptSM2_Ext_DecMsgSize e9_ippsGFpECDecryptSM2_Ext_DecMsgSize -#define ippsGFpECDecryptSM2_Ext e9_ippsGFpECDecryptSM2_Ext diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_g9.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_g9.h deleted file mode 100644 index de27b94..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_g9.h +++ /dev/null @@ -1,557 +0,0 @@ -/******************************************************************************* - * Copyright 2023 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *******************************************************************************/ - - #define ippcpGetLibVersion g9_ippcpGetLibVersion -#define ippsDESGetSize g9_ippsDESGetSize -#define ippsDESInit g9_ippsDESInit -#define ippsDESPack g9_ippsDESPack -#define ippsDESUnpack g9_ippsDESUnpack -#define ippsTDESEncryptECB g9_ippsTDESEncryptECB -#define ippsTDESDecryptECB g9_ippsTDESDecryptECB -#define ippsTDESEncryptCBC g9_ippsTDESEncryptCBC -#define ippsTDESDecryptCBC g9_ippsTDESDecryptCBC -#define ippsTDESEncryptCFB g9_ippsTDESEncryptCFB -#define ippsTDESDecryptCFB g9_ippsTDESDecryptCFB -#define ippsTDESEncryptOFB g9_ippsTDESEncryptOFB -#define ippsTDESDecryptOFB g9_ippsTDESDecryptOFB -#define ippsTDESEncryptCTR g9_ippsTDESEncryptCTR -#define ippsTDESDecryptCTR g9_ippsTDESDecryptCTR -#define ippsAESGetSize g9_ippsAESGetSize -#define ippsAESInit g9_ippsAESInit -#define ippsAESSetKey g9_ippsAESSetKey -#define ippsAESPack g9_ippsAESPack -#define ippsAESUnpack g9_ippsAESUnpack -#define ippsAESEncryptECB g9_ippsAESEncryptECB -#define ippsAESDecryptECB g9_ippsAESDecryptECB -#define ippsAESEncryptCBC g9_ippsAESEncryptCBC -#define ippsAESEncryptCBC_CS1 g9_ippsAESEncryptCBC_CS1 -#define ippsAESEncryptCBC_CS2 g9_ippsAESEncryptCBC_CS2 -#define ippsAESEncryptCBC_CS3 g9_ippsAESEncryptCBC_CS3 -#define ippsAESDecryptCBC g9_ippsAESDecryptCBC -#define ippsAESDecryptCBC_CS1 g9_ippsAESDecryptCBC_CS1 -#define ippsAESDecryptCBC_CS2 g9_ippsAESDecryptCBC_CS2 -#define ippsAESDecryptCBC_CS3 g9_ippsAESDecryptCBC_CS3 -#define ippsAESEncryptCFB g9_ippsAESEncryptCFB -#define ippsAESDecryptCFB g9_ippsAESDecryptCFB -#define ippsAESEncryptOFB g9_ippsAESEncryptOFB -#define ippsAESDecryptOFB g9_ippsAESDecryptOFB -#define ippsAESEncryptCTR g9_ippsAESEncryptCTR -#define ippsAESDecryptCTR g9_ippsAESDecryptCTR -#define ippsAESEncryptXTS_Direct g9_ippsAESEncryptXTS_Direct -#define ippsAESDecryptXTS_Direct g9_ippsAESDecryptXTS_Direct -#define ippsAESSetupNoise g9_ippsAESSetupNoise -#define ippsAES_GCMSetupNoise g9_ippsAES_GCMSetupNoise -#define ippsAES_CMACSetupNoise g9_ippsAES_CMACSetupNoise -#define ippsAES_EncryptCFB16_MB g9_ippsAES_EncryptCFB16_MB -#define ippsSMS4GetSize g9_ippsSMS4GetSize -#define ippsSMS4Init g9_ippsSMS4Init -#define ippsSMS4SetKey g9_ippsSMS4SetKey -#define ippsSMS4EncryptECB g9_ippsSMS4EncryptECB -#define ippsSMS4DecryptECB g9_ippsSMS4DecryptECB -#define ippsSMS4EncryptCBC g9_ippsSMS4EncryptCBC -#define ippsSMS4EncryptCBC_CS1 g9_ippsSMS4EncryptCBC_CS1 -#define ippsSMS4EncryptCBC_CS2 g9_ippsSMS4EncryptCBC_CS2 -#define ippsSMS4EncryptCBC_CS3 g9_ippsSMS4EncryptCBC_CS3 -#define ippsSMS4DecryptCBC g9_ippsSMS4DecryptCBC -#define ippsSMS4DecryptCBC_CS1 g9_ippsSMS4DecryptCBC_CS1 -#define ippsSMS4DecryptCBC_CS2 g9_ippsSMS4DecryptCBC_CS2 -#define ippsSMS4DecryptCBC_CS3 g9_ippsSMS4DecryptCBC_CS3 -#define ippsSMS4EncryptCFB g9_ippsSMS4EncryptCFB -#define ippsSMS4DecryptCFB g9_ippsSMS4DecryptCFB -#define ippsSMS4EncryptOFB g9_ippsSMS4EncryptOFB -#define ippsSMS4DecryptOFB g9_ippsSMS4DecryptOFB -#define ippsSMS4EncryptCTR g9_ippsSMS4EncryptCTR -#define ippsSMS4DecryptCTR g9_ippsSMS4DecryptCTR -#define ippsSMS4_CCMGetSize g9_ippsSMS4_CCMGetSize -#define ippsSMS4_CCMInit g9_ippsSMS4_CCMInit -#define ippsSMS4_CCMMessageLen g9_ippsSMS4_CCMMessageLen -#define ippsSMS4_CCMTagLen g9_ippsSMS4_CCMTagLen -#define ippsSMS4_CCMStart g9_ippsSMS4_CCMStart -#define ippsSMS4_CCMEncrypt g9_ippsSMS4_CCMEncrypt -#define ippsSMS4_CCMDecrypt g9_ippsSMS4_CCMDecrypt -#define ippsSMS4_CCMGetTag g9_ippsSMS4_CCMGetTag -#define ippsAES_CCMGetSize g9_ippsAES_CCMGetSize -#define ippsAES_CCMInit g9_ippsAES_CCMInit -#define ippsAES_CCMMessageLen g9_ippsAES_CCMMessageLen -#define ippsAES_CCMTagLen g9_ippsAES_CCMTagLen -#define ippsAES_CCMStart g9_ippsAES_CCMStart -#define ippsAES_CCMEncrypt g9_ippsAES_CCMEncrypt -#define ippsAES_CCMDecrypt g9_ippsAES_CCMDecrypt -#define ippsAES_CCMGetTag g9_ippsAES_CCMGetTag -#define ippsAES_GCMGetSize g9_ippsAES_GCMGetSize -#define ippsAES_GCMInit g9_ippsAES_GCMInit -#define ippsAES_GCMReinit g9_ippsAES_GCMReinit -#define ippsAES_GCMReset g9_ippsAES_GCMReset -#define ippsAES_GCMProcessIV g9_ippsAES_GCMProcessIV -#define ippsAES_GCMProcessAAD g9_ippsAES_GCMProcessAAD -#define ippsAES_GCMStart g9_ippsAES_GCMStart -#define ippsAES_GCMEncrypt g9_ippsAES_GCMEncrypt -#define ippsAES_GCMDecrypt g9_ippsAES_GCMDecrypt -#define ippsAES_GCMGetTag g9_ippsAES_GCMGetTag -#define ippsAES_XTSGetSize g9_ippsAES_XTSGetSize -#define ippsAES_XTSInit g9_ippsAES_XTSInit -#define ippsAES_XTSEncrypt g9_ippsAES_XTSEncrypt -#define ippsAES_XTSDecrypt g9_ippsAES_XTSDecrypt -#define ippsAES_S2V_CMAC g9_ippsAES_S2V_CMAC -#define ippsAES_SIVEncrypt g9_ippsAES_SIVEncrypt -#define ippsAES_SIVDecrypt g9_ippsAES_SIVDecrypt -#define ippsAES_CMACGetSize g9_ippsAES_CMACGetSize -#define ippsAES_CMACInit g9_ippsAES_CMACInit -#define ippsAES_CMACUpdate g9_ippsAES_CMACUpdate -#define ippsAES_CMACFinal g9_ippsAES_CMACFinal -#define ippsAES_CMACGetTag g9_ippsAES_CMACGetTag -#define ippsARCFourCheckKey g9_ippsARCFourCheckKey -#define ippsARCFourGetSize g9_ippsARCFourGetSize -#define ippsARCFourInit g9_ippsARCFourInit -#define ippsARCFourReset g9_ippsARCFourReset -#define ippsARCFourPack g9_ippsARCFourPack -#define ippsARCFourUnpack g9_ippsARCFourUnpack -#define ippsARCFourEncrypt g9_ippsARCFourEncrypt -#define ippsARCFourDecrypt g9_ippsARCFourDecrypt -#define ippsSHA1GetSize g9_ippsSHA1GetSize -#define ippsSHA1Init g9_ippsSHA1Init -#define ippsSHA1Duplicate g9_ippsSHA1Duplicate -#define ippsSHA1Pack g9_ippsSHA1Pack -#define ippsSHA1Unpack g9_ippsSHA1Unpack -#define ippsSHA1Update g9_ippsSHA1Update -#define ippsSHA1GetTag g9_ippsSHA1GetTag -#define ippsSHA1Final g9_ippsSHA1Final -#define ippsSHA1MessageDigest g9_ippsSHA1MessageDigest -#define ippsSHA224GetSize g9_ippsSHA224GetSize -#define ippsSHA224Init g9_ippsSHA224Init -#define ippsSHA224Duplicate g9_ippsSHA224Duplicate -#define ippsSHA224Pack g9_ippsSHA224Pack -#define ippsSHA224Unpack g9_ippsSHA224Unpack -#define ippsSHA224Update g9_ippsSHA224Update -#define ippsSHA224GetTag g9_ippsSHA224GetTag -#define ippsSHA224Final g9_ippsSHA224Final -#define ippsSHA224MessageDigest g9_ippsSHA224MessageDigest -#define ippsSHA256GetSize g9_ippsSHA256GetSize -#define ippsSHA256Init g9_ippsSHA256Init -#define ippsSHA256Duplicate g9_ippsSHA256Duplicate -#define ippsSHA256Pack g9_ippsSHA256Pack -#define ippsSHA256Unpack g9_ippsSHA256Unpack -#define ippsSHA256Update g9_ippsSHA256Update -#define ippsSHA256GetTag g9_ippsSHA256GetTag -#define ippsSHA256Final g9_ippsSHA256Final -#define ippsSHA256MessageDigest g9_ippsSHA256MessageDigest -#define ippsSHA384GetSize g9_ippsSHA384GetSize -#define ippsSHA384Init g9_ippsSHA384Init -#define ippsSHA384Duplicate g9_ippsSHA384Duplicate -#define ippsSHA384Pack g9_ippsSHA384Pack -#define ippsSHA384Unpack g9_ippsSHA384Unpack -#define ippsSHA384Update g9_ippsSHA384Update -#define ippsSHA384GetTag g9_ippsSHA384GetTag -#define ippsSHA384Final g9_ippsSHA384Final -#define ippsSHA384MessageDigest g9_ippsSHA384MessageDigest -#define ippsSHA512GetSize g9_ippsSHA512GetSize -#define ippsSHA512Init g9_ippsSHA512Init -#define ippsSHA512Duplicate g9_ippsSHA512Duplicate -#define ippsSHA512Pack g9_ippsSHA512Pack -#define ippsSHA512Unpack g9_ippsSHA512Unpack -#define ippsSHA512Update g9_ippsSHA512Update -#define ippsSHA512GetTag g9_ippsSHA512GetTag -#define ippsSHA512Final g9_ippsSHA512Final -#define ippsSHA512MessageDigest g9_ippsSHA512MessageDigest -#define ippsMD5GetSize g9_ippsMD5GetSize -#define ippsMD5Init g9_ippsMD5Init -#define ippsMD5Duplicate g9_ippsMD5Duplicate -#define ippsMD5Pack g9_ippsMD5Pack -#define ippsMD5Unpack g9_ippsMD5Unpack -#define ippsMD5Update g9_ippsMD5Update -#define ippsMD5GetTag g9_ippsMD5GetTag -#define ippsMD5Final g9_ippsMD5Final -#define ippsMD5MessageDigest g9_ippsMD5MessageDigest -#define ippsSM3GetSize g9_ippsSM3GetSize -#define ippsSM3Init g9_ippsSM3Init -#define ippsSM3Duplicate g9_ippsSM3Duplicate -#define ippsSM3Pack g9_ippsSM3Pack -#define ippsSM3Unpack g9_ippsSM3Unpack -#define ippsSM3Update g9_ippsSM3Update -#define ippsSM3GetTag g9_ippsSM3GetTag -#define ippsSM3Final g9_ippsSM3Final -#define ippsSM3MessageDigest g9_ippsSM3MessageDigest -#define ippsHashGetSize g9_ippsHashGetSize -#define ippsHashInit g9_ippsHashInit -#define ippsHashPack g9_ippsHashPack -#define ippsHashUnpack g9_ippsHashUnpack -#define ippsHashDuplicate g9_ippsHashDuplicate -#define ippsHashUpdate g9_ippsHashUpdate -#define ippsHashGetTag g9_ippsHashGetTag -#define ippsHashFinal g9_ippsHashFinal -#define ippsHashMessage g9_ippsHashMessage -#define ippsHashMethod_MD5 g9_ippsHashMethod_MD5 -#define ippsHashMethod_SM3 g9_ippsHashMethod_SM3 -#define ippsHashMethod_SHA1 g9_ippsHashMethod_SHA1 -#define ippsHashMethod_SHA1_NI g9_ippsHashMethod_SHA1_NI -#define ippsHashMethod_SHA1_TT g9_ippsHashMethod_SHA1_TT -#define ippsHashMethod_SHA256 g9_ippsHashMethod_SHA256 -#define ippsHashMethod_SHA256_NI g9_ippsHashMethod_SHA256_NI -#define ippsHashMethod_SHA256_TT g9_ippsHashMethod_SHA256_TT -#define ippsHashMethod_SHA224 g9_ippsHashMethod_SHA224 -#define ippsHashMethod_SHA224_NI g9_ippsHashMethod_SHA224_NI -#define ippsHashMethod_SHA224_TT g9_ippsHashMethod_SHA224_TT -#define ippsHashMethod_SHA512 g9_ippsHashMethod_SHA512 -#define ippsHashMethod_SHA384 g9_ippsHashMethod_SHA384 -#define ippsHashMethod_SHA512_256 g9_ippsHashMethod_SHA512_256 -#define ippsHashMethod_SHA512_224 g9_ippsHashMethod_SHA512_224 -#define ippsHashMethodGetSize g9_ippsHashMethodGetSize -#define ippsHashMethodSet_MD5 g9_ippsHashMethodSet_MD5 -#define ippsHashMethodSet_SM3 g9_ippsHashMethodSet_SM3 -#define ippsHashStateMethodSet_SM3 g9_ippsHashStateMethodSet_SM3 -#define ippsHashMethodSet_SHA1 g9_ippsHashMethodSet_SHA1 -#define ippsHashMethodSet_SHA1_NI g9_ippsHashMethodSet_SHA1_NI -#define ippsHashMethodSet_SHA1_TT g9_ippsHashMethodSet_SHA1_TT -#define ippsHashMethodSet_SHA256 g9_ippsHashMethodSet_SHA256 -#define ippsHashMethodSet_SHA256_NI g9_ippsHashMethodSet_SHA256_NI -#define ippsHashMethodSet_SHA256_TT g9_ippsHashMethodSet_SHA256_TT -#define ippsHashStateMethodSet_SHA256 g9_ippsHashStateMethodSet_SHA256 -#define ippsHashStateMethodSet_SHA256_NI g9_ippsHashStateMethodSet_SHA256_NI -#define ippsHashStateMethodSet_SHA256_TT g9_ippsHashStateMethodSet_SHA256_TT -#define ippsHashMethodSet_SHA224 g9_ippsHashMethodSet_SHA224 -#define ippsHashMethodSet_SHA224_NI g9_ippsHashMethodSet_SHA224_NI -#define ippsHashMethodSet_SHA224_TT g9_ippsHashMethodSet_SHA224_TT -#define ippsHashStateMethodSet_SHA224 g9_ippsHashStateMethodSet_SHA224 -#define ippsHashStateMethodSet_SHA224_NI g9_ippsHashStateMethodSet_SHA224_NI -#define ippsHashStateMethodSet_SHA224_TT g9_ippsHashStateMethodSet_SHA224_TT -#define ippsHashMethodSet_SHA512 g9_ippsHashMethodSet_SHA512 -#define ippsHashMethodSet_SHA384 g9_ippsHashMethodSet_SHA384 -#define ippsHashMethodSet_SHA512_256 g9_ippsHashMethodSet_SHA512_256 -#define ippsHashMethodSet_SHA512_224 g9_ippsHashMethodSet_SHA512_224 -#define ippsHashStateMethodSet_SHA512 g9_ippsHashStateMethodSet_SHA512 -#define ippsHashStateMethodSet_SHA384 g9_ippsHashStateMethodSet_SHA384 -#define ippsHashStateMethodSet_SHA512_256 g9_ippsHashStateMethodSet_SHA512_256 -#define ippsHashStateMethodSet_SHA512_224 g9_ippsHashStateMethodSet_SHA512_224 -#define ippsHashGetSize_rmf g9_ippsHashGetSize_rmf -#define ippsHashInit_rmf g9_ippsHashInit_rmf -#define ippsHashPack_rmf g9_ippsHashPack_rmf -#define ippsHashUnpack_rmf g9_ippsHashUnpack_rmf -#define ippsHashDuplicate_rmf g9_ippsHashDuplicate_rmf -#define ippsHashUpdate_rmf g9_ippsHashUpdate_rmf -#define ippsHashGetTag_rmf g9_ippsHashGetTag_rmf -#define ippsHashFinal_rmf g9_ippsHashFinal_rmf -#define ippsHashMessage_rmf g9_ippsHashMessage_rmf -#define ippsHashMethodGetInfo g9_ippsHashMethodGetInfo -#define ippsHashGetInfo_rmf g9_ippsHashGetInfo_rmf -#define ippsMGF g9_ippsMGF -#define ippsMGF1_rmf g9_ippsMGF1_rmf -#define ippsMGF2_rmf g9_ippsMGF2_rmf -#define ippsHMAC_GetSize g9_ippsHMAC_GetSize -#define ippsHMAC_Init g9_ippsHMAC_Init -#define ippsHMAC_Pack g9_ippsHMAC_Pack -#define ippsHMAC_Unpack g9_ippsHMAC_Unpack -#define ippsHMAC_Duplicate g9_ippsHMAC_Duplicate -#define ippsHMAC_Update g9_ippsHMAC_Update -#define ippsHMAC_Final g9_ippsHMAC_Final -#define ippsHMAC_GetTag g9_ippsHMAC_GetTag -#define ippsHMAC_Message g9_ippsHMAC_Message -#define ippsHMACGetSize_rmf g9_ippsHMACGetSize_rmf -#define ippsHMACInit_rmf g9_ippsHMACInit_rmf -#define ippsHMACPack_rmf g9_ippsHMACPack_rmf -#define ippsHMACUnpack_rmf g9_ippsHMACUnpack_rmf -#define ippsHMACDuplicate_rmf g9_ippsHMACDuplicate_rmf -#define ippsHMACUpdate_rmf g9_ippsHMACUpdate_rmf -#define ippsHMACFinal_rmf g9_ippsHMACFinal_rmf -#define ippsHMACGetTag_rmf g9_ippsHMACGetTag_rmf -#define ippsHMACMessage_rmf g9_ippsHMACMessage_rmf -#define ippsBigNumGetSize g9_ippsBigNumGetSize -#define ippsBigNumInit g9_ippsBigNumInit -#define ippsCmpZero_BN g9_ippsCmpZero_BN -#define ippsCmp_BN g9_ippsCmp_BN -#define ippsGetSize_BN g9_ippsGetSize_BN -#define ippsSet_BN g9_ippsSet_BN -#define ippsGet_BN g9_ippsGet_BN -#define ippsRef_BN g9_ippsRef_BN -#define ippsExtGet_BN g9_ippsExtGet_BN -#define ippsAdd_BN g9_ippsAdd_BN -#define ippsSub_BN g9_ippsSub_BN -#define ippsMul_BN g9_ippsMul_BN -#define ippsMAC_BN_I g9_ippsMAC_BN_I -#define ippsDiv_BN g9_ippsDiv_BN -#define ippsMod_BN g9_ippsMod_BN -#define ippsGcd_BN g9_ippsGcd_BN -#define ippsModInv_BN g9_ippsModInv_BN -#define ippsSetOctString_BN g9_ippsSetOctString_BN -#define ippsGetOctString_BN g9_ippsGetOctString_BN -#define ippsMontGetSize g9_ippsMontGetSize -#define ippsMontInit g9_ippsMontInit -#define ippsMontSet g9_ippsMontSet -#define ippsMontGet g9_ippsMontGet -#define ippsMontForm g9_ippsMontForm -#define ippsMontMul g9_ippsMontMul -#define ippsMontExp g9_ippsMontExp -#define ippsPRNGGetSize g9_ippsPRNGGetSize -#define ippsPRNGInit g9_ippsPRNGInit -#define ippsPRNGSetModulus g9_ippsPRNGSetModulus -#define ippsPRNGSetH0 g9_ippsPRNGSetH0 -#define ippsPRNGSetAugment g9_ippsPRNGSetAugment -#define ippsPRNGSetSeed g9_ippsPRNGSetSeed -#define ippsPRNGGetSeed g9_ippsPRNGGetSeed -#define ippsPRNGen g9_ippsPRNGen -#define ippsPRNGen_BN g9_ippsPRNGen_BN -#define ippsPRNGenRDRAND g9_ippsPRNGenRDRAND -#define ippsPRNGenRDRAND_BN g9_ippsPRNGenRDRAND_BN -#define ippsTRNGenRDSEED g9_ippsTRNGenRDSEED -#define ippsTRNGenRDSEED_BN g9_ippsTRNGenRDSEED_BN -#define ippsPrimeGetSize g9_ippsPrimeGetSize -#define ippsPrimeInit g9_ippsPrimeInit -#define ippsPrimeGen g9_ippsPrimeGen -#define ippsPrimeTest g9_ippsPrimeTest -#define ippsPrimeGen_BN g9_ippsPrimeGen_BN -#define ippsPrimeTest_BN g9_ippsPrimeTest_BN -#define ippsPrimeGet g9_ippsPrimeGet -#define ippsPrimeGet_BN g9_ippsPrimeGet_BN -#define ippsPrimeSet g9_ippsPrimeSet -#define ippsPrimeSet_BN g9_ippsPrimeSet_BN -#define ippsRSA_GetSizePublicKey g9_ippsRSA_GetSizePublicKey -#define ippsRSA_InitPublicKey g9_ippsRSA_InitPublicKey -#define ippsRSA_SetPublicKey g9_ippsRSA_SetPublicKey -#define ippsRSA_GetPublicKey g9_ippsRSA_GetPublicKey -#define ippsRSA_GetSizePrivateKeyType1 g9_ippsRSA_GetSizePrivateKeyType1 -#define ippsRSA_InitPrivateKeyType1 g9_ippsRSA_InitPrivateKeyType1 -#define ippsRSA_SetPrivateKeyType1 g9_ippsRSA_SetPrivateKeyType1 -#define ippsRSA_GetPrivateKeyType1 g9_ippsRSA_GetPrivateKeyType1 -#define ippsRSA_GetSizePrivateKeyType2 g9_ippsRSA_GetSizePrivateKeyType2 -#define ippsRSA_InitPrivateKeyType2 g9_ippsRSA_InitPrivateKeyType2 -#define ippsRSA_SetPrivateKeyType2 g9_ippsRSA_SetPrivateKeyType2 -#define ippsRSA_GetPrivateKeyType2 g9_ippsRSA_GetPrivateKeyType2 -#define ippsRSA_GetBufferSizePublicKey g9_ippsRSA_GetBufferSizePublicKey -#define ippsRSA_GetBufferSizePrivateKey g9_ippsRSA_GetBufferSizePrivateKey -#define ippsRSA_Encrypt g9_ippsRSA_Encrypt -#define ippsRSA_Decrypt g9_ippsRSA_Decrypt -#define ippsRSA_GenerateKeys g9_ippsRSA_GenerateKeys -#define ippsRSA_ValidateKeys g9_ippsRSA_ValidateKeys -#define ippsRSAEncrypt_OAEP g9_ippsRSAEncrypt_OAEP -#define ippsRSADecrypt_OAEP g9_ippsRSADecrypt_OAEP -#define ippsRSAEncrypt_OAEP_rmf g9_ippsRSAEncrypt_OAEP_rmf -#define ippsRSADecrypt_OAEP_rmf g9_ippsRSADecrypt_OAEP_rmf -#define ippsRSAEncrypt_PKCSv15 g9_ippsRSAEncrypt_PKCSv15 -#define ippsRSADecrypt_PKCSv15 g9_ippsRSADecrypt_PKCSv15 -#define ippsRSASign_PSS g9_ippsRSASign_PSS -#define ippsRSAVerify_PSS g9_ippsRSAVerify_PSS -#define ippsRSASign_PSS_rmf g9_ippsRSASign_PSS_rmf -#define ippsRSAVerify_PSS_rmf g9_ippsRSAVerify_PSS_rmf -#define ippsRSASign_PKCS1v15 g9_ippsRSASign_PKCS1v15 -#define ippsRSAVerify_PKCS1v15 g9_ippsRSAVerify_PKCS1v15 -#define ippsRSASign_PKCS1v15_rmf g9_ippsRSASign_PKCS1v15_rmf -#define ippsRSAVerify_PKCS1v15_rmf g9_ippsRSAVerify_PKCS1v15_rmf -#define ippsDLGetResultString g9_ippsDLGetResultString -#define ippsDLPGetSize g9_ippsDLPGetSize -#define ippsDLPInit g9_ippsDLPInit -#define ippsDLPPack g9_ippsDLPPack -#define ippsDLPUnpack g9_ippsDLPUnpack -#define ippsDLPSet g9_ippsDLPSet -#define ippsDLPGet g9_ippsDLPGet -#define ippsDLPSetDP g9_ippsDLPSetDP -#define ippsDLPGetDP g9_ippsDLPGetDP -#define ippsDLPGenKeyPair g9_ippsDLPGenKeyPair -#define ippsDLPPublicKey g9_ippsDLPPublicKey -#define ippsDLPValidateKeyPair g9_ippsDLPValidateKeyPair -#define ippsDLPSetKeyPair g9_ippsDLPSetKeyPair -#define ippsDLPSignDSA g9_ippsDLPSignDSA -#define ippsDLPVerifyDSA g9_ippsDLPVerifyDSA -#define ippsDLPSharedSecretDH g9_ippsDLPSharedSecretDH -#define ippsDLPGenerateDSA g9_ippsDLPGenerateDSA -#define ippsDLPValidateDSA g9_ippsDLPValidateDSA -#define ippsDLPGenerateDH g9_ippsDLPGenerateDH -#define ippsDLPValidateDH g9_ippsDLPValidateDH -#define ippsECCGetResultString g9_ippsECCGetResultString -#define ippsECCPGetSize g9_ippsECCPGetSize -#define ippsECCPGetSizeStd128r1 g9_ippsECCPGetSizeStd128r1 -#define ippsECCPGetSizeStd128r2 g9_ippsECCPGetSizeStd128r2 -#define ippsECCPGetSizeStd192r1 g9_ippsECCPGetSizeStd192r1 -#define ippsECCPGetSizeStd224r1 g9_ippsECCPGetSizeStd224r1 -#define ippsECCPGetSizeStd256r1 g9_ippsECCPGetSizeStd256r1 -#define ippsECCPGetSizeStd384r1 g9_ippsECCPGetSizeStd384r1 -#define ippsECCPGetSizeStd521r1 g9_ippsECCPGetSizeStd521r1 -#define ippsECCPGetSizeStdSM2 g9_ippsECCPGetSizeStdSM2 -#define ippsECCPInit g9_ippsECCPInit -#define ippsECCPInitStd128r1 g9_ippsECCPInitStd128r1 -#define ippsECCPInitStd128r2 g9_ippsECCPInitStd128r2 -#define ippsECCPInitStd192r1 g9_ippsECCPInitStd192r1 -#define ippsECCPInitStd224r1 g9_ippsECCPInitStd224r1 -#define ippsECCPInitStd256r1 g9_ippsECCPInitStd256r1 -#define ippsECCPInitStd384r1 g9_ippsECCPInitStd384r1 -#define ippsECCPInitStd521r1 g9_ippsECCPInitStd521r1 -#define ippsECCPInitStdSM2 g9_ippsECCPInitStdSM2 -#define ippsECCPSet g9_ippsECCPSet -#define ippsECCPSetStd g9_ippsECCPSetStd -#define ippsECCPSetStd128r1 g9_ippsECCPSetStd128r1 -#define ippsECCPSetStd128r2 g9_ippsECCPSetStd128r2 -#define ippsECCPSetStd192r1 g9_ippsECCPSetStd192r1 -#define ippsECCPSetStd224r1 g9_ippsECCPSetStd224r1 -#define ippsECCPSetStd256r1 g9_ippsECCPSetStd256r1 -#define ippsECCPSetStd384r1 g9_ippsECCPSetStd384r1 -#define ippsECCPSetStd521r1 g9_ippsECCPSetStd521r1 -#define ippsECCPSetStdSM2 g9_ippsECCPSetStdSM2 -#define ippsECCPBindGxyTblStd192r1 g9_ippsECCPBindGxyTblStd192r1 -#define ippsECCPBindGxyTblStd224r1 g9_ippsECCPBindGxyTblStd224r1 -#define ippsECCPBindGxyTblStd256r1 g9_ippsECCPBindGxyTblStd256r1 -#define ippsECCPBindGxyTblStd384r1 g9_ippsECCPBindGxyTblStd384r1 -#define ippsECCPBindGxyTblStd521r1 g9_ippsECCPBindGxyTblStd521r1 -#define ippsECCPBindGxyTblStdSM2 g9_ippsECCPBindGxyTblStdSM2 -#define ippsECCPGet g9_ippsECCPGet -#define ippsECCPGetOrderBitSize g9_ippsECCPGetOrderBitSize -#define ippsECCPValidate g9_ippsECCPValidate -#define ippsECCPPointGetSize g9_ippsECCPPointGetSize -#define ippsECCPPointInit g9_ippsECCPPointInit -#define ippsECCPSetPoint g9_ippsECCPSetPoint -#define ippsECCPSetPointAtInfinity g9_ippsECCPSetPointAtInfinity -#define ippsECCPGetPoint g9_ippsECCPGetPoint -#define ippsECCPCheckPoint g9_ippsECCPCheckPoint -#define ippsECCPComparePoint g9_ippsECCPComparePoint -#define ippsECCPNegativePoint g9_ippsECCPNegativePoint -#define ippsECCPAddPoint g9_ippsECCPAddPoint -#define ippsECCPMulPointScalar g9_ippsECCPMulPointScalar -#define ippsECCPGenKeyPair g9_ippsECCPGenKeyPair -#define ippsECCPPublicKey g9_ippsECCPPublicKey -#define ippsECCPValidateKeyPair g9_ippsECCPValidateKeyPair -#define ippsECCPSetKeyPair g9_ippsECCPSetKeyPair -#define ippsECCPSharedSecretDH g9_ippsECCPSharedSecretDH -#define ippsECCPSharedSecretDHC g9_ippsECCPSharedSecretDHC -#define ippsECCPSignDSA g9_ippsECCPSignDSA -#define ippsECCPVerifyDSA g9_ippsECCPVerifyDSA -#define ippsECCPSignNR g9_ippsECCPSignNR -#define ippsECCPVerifyNR g9_ippsECCPVerifyNR -#define ippsECCPSignSM2 g9_ippsECCPSignSM2 -#define ippsECCPVerifySM2 g9_ippsECCPVerifySM2 -#define ippsGFpGetSize g9_ippsGFpGetSize -#define ippsGFpInitArbitrary g9_ippsGFpInitArbitrary -#define ippsGFpInitFixed g9_ippsGFpInitFixed -#define ippsGFpInit g9_ippsGFpInit -#define ippsGFpMethod_p192r1 g9_ippsGFpMethod_p192r1 -#define ippsGFpMethod_p224r1 g9_ippsGFpMethod_p224r1 -#define ippsGFpMethod_p256r1 g9_ippsGFpMethod_p256r1 -#define ippsGFpMethod_p384r1 g9_ippsGFpMethod_p384r1 -#define ippsGFpMethod_p521r1 g9_ippsGFpMethod_p521r1 -#define ippsGFpMethod_p256sm2 g9_ippsGFpMethod_p256sm2 -#define ippsGFpMethod_p256bn g9_ippsGFpMethod_p256bn -#define ippsGFpMethod_p256 g9_ippsGFpMethod_p256 -#define ippsGFpMethod_pArb g9_ippsGFpMethod_pArb -#define ippsGFpxGetSize g9_ippsGFpxGetSize -#define ippsGFpxInit g9_ippsGFpxInit -#define ippsGFpxInitBinomial g9_ippsGFpxInitBinomial -#define ippsGFpxMethod_binom2_epid2 g9_ippsGFpxMethod_binom2_epid2 -#define ippsGFpxMethod_binom3_epid2 g9_ippsGFpxMethod_binom3_epid2 -#define ippsGFpxMethod_binom2 g9_ippsGFpxMethod_binom2 -#define ippsGFpxMethod_binom3 g9_ippsGFpxMethod_binom3 -#define ippsGFpxMethod_binom g9_ippsGFpxMethod_binom -#define ippsGFpxMethod_com g9_ippsGFpxMethod_com -#define ippsGFpScratchBufferSize g9_ippsGFpScratchBufferSize -#define ippsGFpElementGetSize g9_ippsGFpElementGetSize -#define ippsGFpElementInit g9_ippsGFpElementInit -#define ippsGFpSetElement g9_ippsGFpSetElement -#define ippsGFpSetElementRegular g9_ippsGFpSetElementRegular -#define ippsGFpSetElementOctString g9_ippsGFpSetElementOctString -#define ippsGFpSetElementRandom g9_ippsGFpSetElementRandom -#define ippsGFpSetElementHash g9_ippsGFpSetElementHash -#define ippsGFpSetElementHash_rmf g9_ippsGFpSetElementHash_rmf -#define ippsGFpCpyElement g9_ippsGFpCpyElement -#define ippsGFpGetElement g9_ippsGFpGetElement -#define ippsGFpGetElementOctString g9_ippsGFpGetElementOctString -#define ippsGFpCmpElement g9_ippsGFpCmpElement -#define ippsGFpIsZeroElement g9_ippsGFpIsZeroElement -#define ippsGFpIsUnityElement g9_ippsGFpIsUnityElement -#define ippsGFpConj g9_ippsGFpConj -#define ippsGFpNeg g9_ippsGFpNeg -#define ippsGFpInv g9_ippsGFpInv -#define ippsGFpSqrt g9_ippsGFpSqrt -#define ippsGFpSqr g9_ippsGFpSqr -#define ippsGFpAdd g9_ippsGFpAdd -#define ippsGFpSub g9_ippsGFpSub -#define ippsGFpMul g9_ippsGFpMul -#define ippsGFpExp g9_ippsGFpExp -#define ippsGFpMultiExp g9_ippsGFpMultiExp -#define ippsGFpAdd_PE g9_ippsGFpAdd_PE -#define ippsGFpSub_PE g9_ippsGFpSub_PE -#define ippsGFpMul_PE g9_ippsGFpMul_PE -#define ippsGFpGetInfo g9_ippsGFpGetInfo -#define ippsGFpECGetSize g9_ippsGFpECGetSize -#define ippsGFpECInit g9_ippsGFpECInit -#define ippsGFpECSet g9_ippsGFpECSet -#define ippsGFpECSetSubgroup g9_ippsGFpECSetSubgroup -#define ippsGFpECInitStd128r1 g9_ippsGFpECInitStd128r1 -#define ippsGFpECInitStd128r2 g9_ippsGFpECInitStd128r2 -#define ippsGFpECInitStd192r1 g9_ippsGFpECInitStd192r1 -#define ippsGFpECInitStd224r1 g9_ippsGFpECInitStd224r1 -#define ippsGFpECInitStd256r1 g9_ippsGFpECInitStd256r1 -#define ippsGFpECInitStd384r1 g9_ippsGFpECInitStd384r1 -#define ippsGFpECInitStd521r1 g9_ippsGFpECInitStd521r1 -#define ippsGFpECInitStdSM2 g9_ippsGFpECInitStdSM2 -#define ippsGFpECInitStdBN256 g9_ippsGFpECInitStdBN256 -#define ippsGFpECBindGxyTblStd192r1 g9_ippsGFpECBindGxyTblStd192r1 -#define ippsGFpECBindGxyTblStd224r1 g9_ippsGFpECBindGxyTblStd224r1 -#define ippsGFpECBindGxyTblStd256r1 g9_ippsGFpECBindGxyTblStd256r1 -#define ippsGFpECBindGxyTblStd384r1 g9_ippsGFpECBindGxyTblStd384r1 -#define ippsGFpECBindGxyTblStd521r1 g9_ippsGFpECBindGxyTblStd521r1 -#define ippsGFpECBindGxyTblStdSM2 g9_ippsGFpECBindGxyTblStdSM2 -#define ippsGFpECGet g9_ippsGFpECGet -#define ippsGFpECGetSubgroup g9_ippsGFpECGetSubgroup -#define ippsGFpECScratchBufferSize g9_ippsGFpECScratchBufferSize -#define ippsGFpECVerify g9_ippsGFpECVerify -#define ippsGFpECPointGetSize g9_ippsGFpECPointGetSize -#define ippsGFpECPointInit g9_ippsGFpECPointInit -#define ippsGFpECSetPointAtInfinity g9_ippsGFpECSetPointAtInfinity -#define ippsGFpECSetPoint g9_ippsGFpECSetPoint -#define ippsGFpECSetPointRegular g9_ippsGFpECSetPointRegular -#define ippsGFpECSetPointRandom g9_ippsGFpECSetPointRandom -#define ippsGFpECMakePoint g9_ippsGFpECMakePoint -#define ippsGFpECSetPointHash g9_ippsGFpECSetPointHash -#define ippsGFpECSetPointHashBackCompatible g9_ippsGFpECSetPointHashBackCompatible -#define ippsGFpECSetPointHash_rmf g9_ippsGFpECSetPointHash_rmf -#define ippsGFpECSetPointHashBackCompatible_rmf g9_ippsGFpECSetPointHashBackCompatible_rmf -#define ippsGFpECGetPoint g9_ippsGFpECGetPoint -#define ippsGFpECGetPointRegular g9_ippsGFpECGetPointRegular -#define ippsGFpECSetPointOctString g9_ippsGFpECSetPointOctString -#define ippsGFpECGetPointOctString g9_ippsGFpECGetPointOctString -#define ippsGFpECTstPoint g9_ippsGFpECTstPoint -#define ippsGFpECTstPointInSubgroup g9_ippsGFpECTstPointInSubgroup -#define ippsGFpECCpyPoint g9_ippsGFpECCpyPoint -#define ippsGFpECCmpPoint g9_ippsGFpECCmpPoint -#define ippsGFpECNegPoint g9_ippsGFpECNegPoint -#define ippsGFpECAddPoint g9_ippsGFpECAddPoint -#define ippsGFpECMulPoint g9_ippsGFpECMulPoint -#define ippsGFpECPrivateKey g9_ippsGFpECPrivateKey -#define ippsGFpECPublicKey g9_ippsGFpECPublicKey -#define ippsGFpECTstKeyPair g9_ippsGFpECTstKeyPair -#define ippsGFpECSharedSecretDH g9_ippsGFpECSharedSecretDH -#define ippsGFpECSharedSecretDHC g9_ippsGFpECSharedSecretDHC -#define ippsGFpECMessageRepresentationSM2 g9_ippsGFpECMessageRepresentationSM2 -#define ippsGFpECSignDSA g9_ippsGFpECSignDSA -#define ippsGFpECVerifyDSA g9_ippsGFpECVerifyDSA -#define ippsGFpECSignNR g9_ippsGFpECSignNR -#define ippsGFpECVerifyNR g9_ippsGFpECVerifyNR -#define ippsGFpECSignSM2 g9_ippsGFpECSignSM2 -#define ippsGFpECVerifySM2 g9_ippsGFpECVerifySM2 -#define ippsGFpECUserIDHashSM2 g9_ippsGFpECUserIDHashSM2 -#define ippsGFpECKeyExchangeSM2_GetSize g9_ippsGFpECKeyExchangeSM2_GetSize -#define ippsGFpECKeyExchangeSM2_Init g9_ippsGFpECKeyExchangeSM2_Init -#define ippsGFpECKeyExchangeSM2_Setup g9_ippsGFpECKeyExchangeSM2_Setup -#define ippsGFpECKeyExchangeSM2_SharedKey g9_ippsGFpECKeyExchangeSM2_SharedKey -#define ippsGFpECKeyExchangeSM2_Confirm g9_ippsGFpECKeyExchangeSM2_Confirm -#define ippsGFpECGetInfo_GF g9_ippsGFpECGetInfo_GF -#define ippsGFpECESGetSize_SM2 g9_ippsGFpECESGetSize_SM2 -#define ippsGFpECESInit_SM2 g9_ippsGFpECESInit_SM2 -#define ippsGFpECESSetKey_SM2 g9_ippsGFpECESSetKey_SM2 -#define ippsGFpECESStart_SM2 g9_ippsGFpECESStart_SM2 -#define ippsGFpECESEncrypt_SM2 g9_ippsGFpECESEncrypt_SM2 -#define ippsGFpECESDecrypt_SM2 g9_ippsGFpECESDecrypt_SM2 -#define ippsGFpECESFinal_SM2 g9_ippsGFpECESFinal_SM2 -#define ippsGFpECESGetBuffersSize_SM2 g9_ippsGFpECESGetBuffersSize_SM2 -#define ippsGFpECEncryptSM2_Ext_EncMsgSize g9_ippsGFpECEncryptSM2_Ext_EncMsgSize -#define ippsGFpECEncryptSM2_Ext g9_ippsGFpECEncryptSM2_Ext -#define ippsGFpECDecryptSM2_Ext_DecMsgSize g9_ippsGFpECDecryptSM2_Ext_DecMsgSize -#define ippsGFpECDecryptSM2_Ext g9_ippsGFpECDecryptSM2_Ext diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_h9.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_h9.h deleted file mode 100644 index 94eae24..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_h9.h +++ /dev/null @@ -1,557 +0,0 @@ -/******************************************************************************* - * Copyright 2023 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *******************************************************************************/ - - #define ippcpGetLibVersion h9_ippcpGetLibVersion -#define ippsDESGetSize h9_ippsDESGetSize -#define ippsDESInit h9_ippsDESInit -#define ippsDESPack h9_ippsDESPack -#define ippsDESUnpack h9_ippsDESUnpack -#define ippsTDESEncryptECB h9_ippsTDESEncryptECB -#define ippsTDESDecryptECB h9_ippsTDESDecryptECB -#define ippsTDESEncryptCBC h9_ippsTDESEncryptCBC -#define ippsTDESDecryptCBC h9_ippsTDESDecryptCBC -#define ippsTDESEncryptCFB h9_ippsTDESEncryptCFB -#define ippsTDESDecryptCFB h9_ippsTDESDecryptCFB -#define ippsTDESEncryptOFB h9_ippsTDESEncryptOFB -#define ippsTDESDecryptOFB h9_ippsTDESDecryptOFB -#define ippsTDESEncryptCTR h9_ippsTDESEncryptCTR -#define ippsTDESDecryptCTR h9_ippsTDESDecryptCTR -#define ippsAESGetSize h9_ippsAESGetSize -#define ippsAESInit h9_ippsAESInit -#define ippsAESSetKey h9_ippsAESSetKey -#define ippsAESPack h9_ippsAESPack -#define ippsAESUnpack h9_ippsAESUnpack -#define ippsAESEncryptECB h9_ippsAESEncryptECB -#define ippsAESDecryptECB h9_ippsAESDecryptECB -#define ippsAESEncryptCBC h9_ippsAESEncryptCBC -#define ippsAESEncryptCBC_CS1 h9_ippsAESEncryptCBC_CS1 -#define ippsAESEncryptCBC_CS2 h9_ippsAESEncryptCBC_CS2 -#define ippsAESEncryptCBC_CS3 h9_ippsAESEncryptCBC_CS3 -#define ippsAESDecryptCBC h9_ippsAESDecryptCBC -#define ippsAESDecryptCBC_CS1 h9_ippsAESDecryptCBC_CS1 -#define ippsAESDecryptCBC_CS2 h9_ippsAESDecryptCBC_CS2 -#define ippsAESDecryptCBC_CS3 h9_ippsAESDecryptCBC_CS3 -#define ippsAESEncryptCFB h9_ippsAESEncryptCFB -#define ippsAESDecryptCFB h9_ippsAESDecryptCFB -#define ippsAESEncryptOFB h9_ippsAESEncryptOFB -#define ippsAESDecryptOFB h9_ippsAESDecryptOFB -#define ippsAESEncryptCTR h9_ippsAESEncryptCTR -#define ippsAESDecryptCTR h9_ippsAESDecryptCTR -#define ippsAESEncryptXTS_Direct h9_ippsAESEncryptXTS_Direct -#define ippsAESDecryptXTS_Direct h9_ippsAESDecryptXTS_Direct -#define ippsAESSetupNoise h9_ippsAESSetupNoise -#define ippsAES_GCMSetupNoise h9_ippsAES_GCMSetupNoise -#define ippsAES_CMACSetupNoise h9_ippsAES_CMACSetupNoise -#define ippsAES_EncryptCFB16_MB h9_ippsAES_EncryptCFB16_MB -#define ippsSMS4GetSize h9_ippsSMS4GetSize -#define ippsSMS4Init h9_ippsSMS4Init -#define ippsSMS4SetKey h9_ippsSMS4SetKey -#define ippsSMS4EncryptECB h9_ippsSMS4EncryptECB -#define ippsSMS4DecryptECB h9_ippsSMS4DecryptECB -#define ippsSMS4EncryptCBC h9_ippsSMS4EncryptCBC -#define ippsSMS4EncryptCBC_CS1 h9_ippsSMS4EncryptCBC_CS1 -#define ippsSMS4EncryptCBC_CS2 h9_ippsSMS4EncryptCBC_CS2 -#define ippsSMS4EncryptCBC_CS3 h9_ippsSMS4EncryptCBC_CS3 -#define ippsSMS4DecryptCBC h9_ippsSMS4DecryptCBC -#define ippsSMS4DecryptCBC_CS1 h9_ippsSMS4DecryptCBC_CS1 -#define ippsSMS4DecryptCBC_CS2 h9_ippsSMS4DecryptCBC_CS2 -#define ippsSMS4DecryptCBC_CS3 h9_ippsSMS4DecryptCBC_CS3 -#define ippsSMS4EncryptCFB h9_ippsSMS4EncryptCFB -#define ippsSMS4DecryptCFB h9_ippsSMS4DecryptCFB -#define ippsSMS4EncryptOFB h9_ippsSMS4EncryptOFB -#define ippsSMS4DecryptOFB h9_ippsSMS4DecryptOFB -#define ippsSMS4EncryptCTR h9_ippsSMS4EncryptCTR -#define ippsSMS4DecryptCTR h9_ippsSMS4DecryptCTR -#define ippsSMS4_CCMGetSize h9_ippsSMS4_CCMGetSize -#define ippsSMS4_CCMInit h9_ippsSMS4_CCMInit -#define ippsSMS4_CCMMessageLen h9_ippsSMS4_CCMMessageLen -#define ippsSMS4_CCMTagLen h9_ippsSMS4_CCMTagLen -#define ippsSMS4_CCMStart h9_ippsSMS4_CCMStart -#define ippsSMS4_CCMEncrypt h9_ippsSMS4_CCMEncrypt -#define ippsSMS4_CCMDecrypt h9_ippsSMS4_CCMDecrypt -#define ippsSMS4_CCMGetTag h9_ippsSMS4_CCMGetTag -#define ippsAES_CCMGetSize h9_ippsAES_CCMGetSize -#define ippsAES_CCMInit h9_ippsAES_CCMInit -#define ippsAES_CCMMessageLen h9_ippsAES_CCMMessageLen -#define ippsAES_CCMTagLen h9_ippsAES_CCMTagLen -#define ippsAES_CCMStart h9_ippsAES_CCMStart -#define ippsAES_CCMEncrypt h9_ippsAES_CCMEncrypt -#define ippsAES_CCMDecrypt h9_ippsAES_CCMDecrypt -#define ippsAES_CCMGetTag h9_ippsAES_CCMGetTag -#define ippsAES_GCMGetSize h9_ippsAES_GCMGetSize -#define ippsAES_GCMInit h9_ippsAES_GCMInit -#define ippsAES_GCMReinit h9_ippsAES_GCMReinit -#define ippsAES_GCMReset h9_ippsAES_GCMReset -#define ippsAES_GCMProcessIV h9_ippsAES_GCMProcessIV -#define ippsAES_GCMProcessAAD h9_ippsAES_GCMProcessAAD -#define ippsAES_GCMStart h9_ippsAES_GCMStart -#define ippsAES_GCMEncrypt h9_ippsAES_GCMEncrypt -#define ippsAES_GCMDecrypt h9_ippsAES_GCMDecrypt -#define ippsAES_GCMGetTag h9_ippsAES_GCMGetTag -#define ippsAES_XTSGetSize h9_ippsAES_XTSGetSize -#define ippsAES_XTSInit h9_ippsAES_XTSInit -#define ippsAES_XTSEncrypt h9_ippsAES_XTSEncrypt -#define ippsAES_XTSDecrypt h9_ippsAES_XTSDecrypt -#define ippsAES_S2V_CMAC h9_ippsAES_S2V_CMAC -#define ippsAES_SIVEncrypt h9_ippsAES_SIVEncrypt -#define ippsAES_SIVDecrypt h9_ippsAES_SIVDecrypt -#define ippsAES_CMACGetSize h9_ippsAES_CMACGetSize -#define ippsAES_CMACInit h9_ippsAES_CMACInit -#define ippsAES_CMACUpdate h9_ippsAES_CMACUpdate -#define ippsAES_CMACFinal h9_ippsAES_CMACFinal -#define ippsAES_CMACGetTag h9_ippsAES_CMACGetTag -#define ippsARCFourCheckKey h9_ippsARCFourCheckKey -#define ippsARCFourGetSize h9_ippsARCFourGetSize -#define ippsARCFourInit h9_ippsARCFourInit -#define ippsARCFourReset h9_ippsARCFourReset -#define ippsARCFourPack h9_ippsARCFourPack -#define ippsARCFourUnpack h9_ippsARCFourUnpack -#define ippsARCFourEncrypt h9_ippsARCFourEncrypt -#define ippsARCFourDecrypt h9_ippsARCFourDecrypt -#define ippsSHA1GetSize h9_ippsSHA1GetSize -#define ippsSHA1Init h9_ippsSHA1Init -#define ippsSHA1Duplicate h9_ippsSHA1Duplicate -#define ippsSHA1Pack h9_ippsSHA1Pack -#define ippsSHA1Unpack h9_ippsSHA1Unpack -#define ippsSHA1Update h9_ippsSHA1Update -#define ippsSHA1GetTag h9_ippsSHA1GetTag -#define ippsSHA1Final h9_ippsSHA1Final -#define ippsSHA1MessageDigest h9_ippsSHA1MessageDigest -#define ippsSHA224GetSize h9_ippsSHA224GetSize -#define ippsSHA224Init h9_ippsSHA224Init -#define ippsSHA224Duplicate h9_ippsSHA224Duplicate -#define ippsSHA224Pack h9_ippsSHA224Pack -#define ippsSHA224Unpack h9_ippsSHA224Unpack -#define ippsSHA224Update h9_ippsSHA224Update -#define ippsSHA224GetTag h9_ippsSHA224GetTag -#define ippsSHA224Final h9_ippsSHA224Final -#define ippsSHA224MessageDigest h9_ippsSHA224MessageDigest -#define ippsSHA256GetSize h9_ippsSHA256GetSize -#define ippsSHA256Init h9_ippsSHA256Init -#define ippsSHA256Duplicate h9_ippsSHA256Duplicate -#define ippsSHA256Pack h9_ippsSHA256Pack -#define ippsSHA256Unpack h9_ippsSHA256Unpack -#define ippsSHA256Update h9_ippsSHA256Update -#define ippsSHA256GetTag h9_ippsSHA256GetTag -#define ippsSHA256Final h9_ippsSHA256Final -#define ippsSHA256MessageDigest h9_ippsSHA256MessageDigest -#define ippsSHA384GetSize h9_ippsSHA384GetSize -#define ippsSHA384Init h9_ippsSHA384Init -#define ippsSHA384Duplicate h9_ippsSHA384Duplicate -#define ippsSHA384Pack h9_ippsSHA384Pack -#define ippsSHA384Unpack h9_ippsSHA384Unpack -#define ippsSHA384Update h9_ippsSHA384Update -#define ippsSHA384GetTag h9_ippsSHA384GetTag -#define ippsSHA384Final h9_ippsSHA384Final -#define ippsSHA384MessageDigest h9_ippsSHA384MessageDigest -#define ippsSHA512GetSize h9_ippsSHA512GetSize -#define ippsSHA512Init h9_ippsSHA512Init -#define ippsSHA512Duplicate h9_ippsSHA512Duplicate -#define ippsSHA512Pack h9_ippsSHA512Pack -#define ippsSHA512Unpack h9_ippsSHA512Unpack -#define ippsSHA512Update h9_ippsSHA512Update -#define ippsSHA512GetTag h9_ippsSHA512GetTag -#define ippsSHA512Final h9_ippsSHA512Final -#define ippsSHA512MessageDigest h9_ippsSHA512MessageDigest -#define ippsMD5GetSize h9_ippsMD5GetSize -#define ippsMD5Init h9_ippsMD5Init -#define ippsMD5Duplicate h9_ippsMD5Duplicate -#define ippsMD5Pack h9_ippsMD5Pack -#define ippsMD5Unpack h9_ippsMD5Unpack -#define ippsMD5Update h9_ippsMD5Update -#define ippsMD5GetTag h9_ippsMD5GetTag -#define ippsMD5Final h9_ippsMD5Final -#define ippsMD5MessageDigest h9_ippsMD5MessageDigest -#define ippsSM3GetSize h9_ippsSM3GetSize -#define ippsSM3Init h9_ippsSM3Init -#define ippsSM3Duplicate h9_ippsSM3Duplicate -#define ippsSM3Pack h9_ippsSM3Pack -#define ippsSM3Unpack h9_ippsSM3Unpack -#define ippsSM3Update h9_ippsSM3Update -#define ippsSM3GetTag h9_ippsSM3GetTag -#define ippsSM3Final h9_ippsSM3Final -#define ippsSM3MessageDigest h9_ippsSM3MessageDigest -#define ippsHashGetSize h9_ippsHashGetSize -#define ippsHashInit h9_ippsHashInit -#define ippsHashPack h9_ippsHashPack -#define ippsHashUnpack h9_ippsHashUnpack -#define ippsHashDuplicate h9_ippsHashDuplicate -#define ippsHashUpdate h9_ippsHashUpdate -#define ippsHashGetTag h9_ippsHashGetTag -#define ippsHashFinal h9_ippsHashFinal -#define ippsHashMessage h9_ippsHashMessage -#define ippsHashMethod_MD5 h9_ippsHashMethod_MD5 -#define ippsHashMethod_SM3 h9_ippsHashMethod_SM3 -#define ippsHashMethod_SHA1 h9_ippsHashMethod_SHA1 -#define ippsHashMethod_SHA1_NI h9_ippsHashMethod_SHA1_NI -#define ippsHashMethod_SHA1_TT h9_ippsHashMethod_SHA1_TT -#define ippsHashMethod_SHA256 h9_ippsHashMethod_SHA256 -#define ippsHashMethod_SHA256_NI h9_ippsHashMethod_SHA256_NI -#define ippsHashMethod_SHA256_TT h9_ippsHashMethod_SHA256_TT -#define ippsHashMethod_SHA224 h9_ippsHashMethod_SHA224 -#define ippsHashMethod_SHA224_NI h9_ippsHashMethod_SHA224_NI -#define ippsHashMethod_SHA224_TT h9_ippsHashMethod_SHA224_TT -#define ippsHashMethod_SHA512 h9_ippsHashMethod_SHA512 -#define ippsHashMethod_SHA384 h9_ippsHashMethod_SHA384 -#define ippsHashMethod_SHA512_256 h9_ippsHashMethod_SHA512_256 -#define ippsHashMethod_SHA512_224 h9_ippsHashMethod_SHA512_224 -#define ippsHashMethodGetSize h9_ippsHashMethodGetSize -#define ippsHashMethodSet_MD5 h9_ippsHashMethodSet_MD5 -#define ippsHashMethodSet_SM3 h9_ippsHashMethodSet_SM3 -#define ippsHashStateMethodSet_SM3 h9_ippsHashStateMethodSet_SM3 -#define ippsHashMethodSet_SHA1 h9_ippsHashMethodSet_SHA1 -#define ippsHashMethodSet_SHA1_NI h9_ippsHashMethodSet_SHA1_NI -#define ippsHashMethodSet_SHA1_TT h9_ippsHashMethodSet_SHA1_TT -#define ippsHashMethodSet_SHA256 h9_ippsHashMethodSet_SHA256 -#define ippsHashMethodSet_SHA256_NI h9_ippsHashMethodSet_SHA256_NI -#define ippsHashMethodSet_SHA256_TT h9_ippsHashMethodSet_SHA256_TT -#define ippsHashStateMethodSet_SHA256 h9_ippsHashStateMethodSet_SHA256 -#define ippsHashStateMethodSet_SHA256_NI h9_ippsHashStateMethodSet_SHA256_NI -#define ippsHashStateMethodSet_SHA256_TT h9_ippsHashStateMethodSet_SHA256_TT -#define ippsHashMethodSet_SHA224 h9_ippsHashMethodSet_SHA224 -#define ippsHashMethodSet_SHA224_NI h9_ippsHashMethodSet_SHA224_NI -#define ippsHashMethodSet_SHA224_TT h9_ippsHashMethodSet_SHA224_TT -#define ippsHashStateMethodSet_SHA224 h9_ippsHashStateMethodSet_SHA224 -#define ippsHashStateMethodSet_SHA224_NI h9_ippsHashStateMethodSet_SHA224_NI -#define ippsHashStateMethodSet_SHA224_TT h9_ippsHashStateMethodSet_SHA224_TT -#define ippsHashMethodSet_SHA512 h9_ippsHashMethodSet_SHA512 -#define ippsHashMethodSet_SHA384 h9_ippsHashMethodSet_SHA384 -#define ippsHashMethodSet_SHA512_256 h9_ippsHashMethodSet_SHA512_256 -#define ippsHashMethodSet_SHA512_224 h9_ippsHashMethodSet_SHA512_224 -#define ippsHashStateMethodSet_SHA512 h9_ippsHashStateMethodSet_SHA512 -#define ippsHashStateMethodSet_SHA384 h9_ippsHashStateMethodSet_SHA384 -#define ippsHashStateMethodSet_SHA512_256 h9_ippsHashStateMethodSet_SHA512_256 -#define ippsHashStateMethodSet_SHA512_224 h9_ippsHashStateMethodSet_SHA512_224 -#define ippsHashGetSize_rmf h9_ippsHashGetSize_rmf -#define ippsHashInit_rmf h9_ippsHashInit_rmf -#define ippsHashPack_rmf h9_ippsHashPack_rmf -#define ippsHashUnpack_rmf h9_ippsHashUnpack_rmf -#define ippsHashDuplicate_rmf h9_ippsHashDuplicate_rmf -#define ippsHashUpdate_rmf h9_ippsHashUpdate_rmf -#define ippsHashGetTag_rmf h9_ippsHashGetTag_rmf -#define ippsHashFinal_rmf h9_ippsHashFinal_rmf -#define ippsHashMessage_rmf h9_ippsHashMessage_rmf -#define ippsHashMethodGetInfo h9_ippsHashMethodGetInfo -#define ippsHashGetInfo_rmf h9_ippsHashGetInfo_rmf -#define ippsMGF h9_ippsMGF -#define ippsMGF1_rmf h9_ippsMGF1_rmf -#define ippsMGF2_rmf h9_ippsMGF2_rmf -#define ippsHMAC_GetSize h9_ippsHMAC_GetSize -#define ippsHMAC_Init h9_ippsHMAC_Init -#define ippsHMAC_Pack h9_ippsHMAC_Pack -#define ippsHMAC_Unpack h9_ippsHMAC_Unpack -#define ippsHMAC_Duplicate h9_ippsHMAC_Duplicate -#define ippsHMAC_Update h9_ippsHMAC_Update -#define ippsHMAC_Final h9_ippsHMAC_Final -#define ippsHMAC_GetTag h9_ippsHMAC_GetTag -#define ippsHMAC_Message h9_ippsHMAC_Message -#define ippsHMACGetSize_rmf h9_ippsHMACGetSize_rmf -#define ippsHMACInit_rmf h9_ippsHMACInit_rmf -#define ippsHMACPack_rmf h9_ippsHMACPack_rmf -#define ippsHMACUnpack_rmf h9_ippsHMACUnpack_rmf -#define ippsHMACDuplicate_rmf h9_ippsHMACDuplicate_rmf -#define ippsHMACUpdate_rmf h9_ippsHMACUpdate_rmf -#define ippsHMACFinal_rmf h9_ippsHMACFinal_rmf -#define ippsHMACGetTag_rmf h9_ippsHMACGetTag_rmf -#define ippsHMACMessage_rmf h9_ippsHMACMessage_rmf -#define ippsBigNumGetSize h9_ippsBigNumGetSize -#define ippsBigNumInit h9_ippsBigNumInit -#define ippsCmpZero_BN h9_ippsCmpZero_BN -#define ippsCmp_BN h9_ippsCmp_BN -#define ippsGetSize_BN h9_ippsGetSize_BN -#define ippsSet_BN h9_ippsSet_BN -#define ippsGet_BN h9_ippsGet_BN -#define ippsRef_BN h9_ippsRef_BN -#define ippsExtGet_BN h9_ippsExtGet_BN -#define ippsAdd_BN h9_ippsAdd_BN -#define ippsSub_BN h9_ippsSub_BN -#define ippsMul_BN h9_ippsMul_BN -#define ippsMAC_BN_I h9_ippsMAC_BN_I -#define ippsDiv_BN h9_ippsDiv_BN -#define ippsMod_BN h9_ippsMod_BN -#define ippsGcd_BN h9_ippsGcd_BN -#define ippsModInv_BN h9_ippsModInv_BN -#define ippsSetOctString_BN h9_ippsSetOctString_BN -#define ippsGetOctString_BN h9_ippsGetOctString_BN -#define ippsMontGetSize h9_ippsMontGetSize -#define ippsMontInit h9_ippsMontInit -#define ippsMontSet h9_ippsMontSet -#define ippsMontGet h9_ippsMontGet -#define ippsMontForm h9_ippsMontForm -#define ippsMontMul h9_ippsMontMul -#define ippsMontExp h9_ippsMontExp -#define ippsPRNGGetSize h9_ippsPRNGGetSize -#define ippsPRNGInit h9_ippsPRNGInit -#define ippsPRNGSetModulus h9_ippsPRNGSetModulus -#define ippsPRNGSetH0 h9_ippsPRNGSetH0 -#define ippsPRNGSetAugment h9_ippsPRNGSetAugment -#define ippsPRNGSetSeed h9_ippsPRNGSetSeed -#define ippsPRNGGetSeed h9_ippsPRNGGetSeed -#define ippsPRNGen h9_ippsPRNGen -#define ippsPRNGen_BN h9_ippsPRNGen_BN -#define ippsPRNGenRDRAND h9_ippsPRNGenRDRAND -#define ippsPRNGenRDRAND_BN h9_ippsPRNGenRDRAND_BN -#define ippsTRNGenRDSEED h9_ippsTRNGenRDSEED -#define ippsTRNGenRDSEED_BN h9_ippsTRNGenRDSEED_BN -#define ippsPrimeGetSize h9_ippsPrimeGetSize -#define ippsPrimeInit h9_ippsPrimeInit -#define ippsPrimeGen h9_ippsPrimeGen -#define ippsPrimeTest h9_ippsPrimeTest -#define ippsPrimeGen_BN h9_ippsPrimeGen_BN -#define ippsPrimeTest_BN h9_ippsPrimeTest_BN -#define ippsPrimeGet h9_ippsPrimeGet -#define ippsPrimeGet_BN h9_ippsPrimeGet_BN -#define ippsPrimeSet h9_ippsPrimeSet -#define ippsPrimeSet_BN h9_ippsPrimeSet_BN -#define ippsRSA_GetSizePublicKey h9_ippsRSA_GetSizePublicKey -#define ippsRSA_InitPublicKey h9_ippsRSA_InitPublicKey -#define ippsRSA_SetPublicKey h9_ippsRSA_SetPublicKey -#define ippsRSA_GetPublicKey h9_ippsRSA_GetPublicKey -#define ippsRSA_GetSizePrivateKeyType1 h9_ippsRSA_GetSizePrivateKeyType1 -#define ippsRSA_InitPrivateKeyType1 h9_ippsRSA_InitPrivateKeyType1 -#define ippsRSA_SetPrivateKeyType1 h9_ippsRSA_SetPrivateKeyType1 -#define ippsRSA_GetPrivateKeyType1 h9_ippsRSA_GetPrivateKeyType1 -#define ippsRSA_GetSizePrivateKeyType2 h9_ippsRSA_GetSizePrivateKeyType2 -#define ippsRSA_InitPrivateKeyType2 h9_ippsRSA_InitPrivateKeyType2 -#define ippsRSA_SetPrivateKeyType2 h9_ippsRSA_SetPrivateKeyType2 -#define ippsRSA_GetPrivateKeyType2 h9_ippsRSA_GetPrivateKeyType2 -#define ippsRSA_GetBufferSizePublicKey h9_ippsRSA_GetBufferSizePublicKey -#define ippsRSA_GetBufferSizePrivateKey h9_ippsRSA_GetBufferSizePrivateKey -#define ippsRSA_Encrypt h9_ippsRSA_Encrypt -#define ippsRSA_Decrypt h9_ippsRSA_Decrypt -#define ippsRSA_GenerateKeys h9_ippsRSA_GenerateKeys -#define ippsRSA_ValidateKeys h9_ippsRSA_ValidateKeys -#define ippsRSAEncrypt_OAEP h9_ippsRSAEncrypt_OAEP -#define ippsRSADecrypt_OAEP h9_ippsRSADecrypt_OAEP -#define ippsRSAEncrypt_OAEP_rmf h9_ippsRSAEncrypt_OAEP_rmf -#define ippsRSADecrypt_OAEP_rmf h9_ippsRSADecrypt_OAEP_rmf -#define ippsRSAEncrypt_PKCSv15 h9_ippsRSAEncrypt_PKCSv15 -#define ippsRSADecrypt_PKCSv15 h9_ippsRSADecrypt_PKCSv15 -#define ippsRSASign_PSS h9_ippsRSASign_PSS -#define ippsRSAVerify_PSS h9_ippsRSAVerify_PSS -#define ippsRSASign_PSS_rmf h9_ippsRSASign_PSS_rmf -#define ippsRSAVerify_PSS_rmf h9_ippsRSAVerify_PSS_rmf -#define ippsRSASign_PKCS1v15 h9_ippsRSASign_PKCS1v15 -#define ippsRSAVerify_PKCS1v15 h9_ippsRSAVerify_PKCS1v15 -#define ippsRSASign_PKCS1v15_rmf h9_ippsRSASign_PKCS1v15_rmf -#define ippsRSAVerify_PKCS1v15_rmf h9_ippsRSAVerify_PKCS1v15_rmf -#define ippsDLGetResultString h9_ippsDLGetResultString -#define ippsDLPGetSize h9_ippsDLPGetSize -#define ippsDLPInit h9_ippsDLPInit -#define ippsDLPPack h9_ippsDLPPack -#define ippsDLPUnpack h9_ippsDLPUnpack -#define ippsDLPSet h9_ippsDLPSet -#define ippsDLPGet h9_ippsDLPGet -#define ippsDLPSetDP h9_ippsDLPSetDP -#define ippsDLPGetDP h9_ippsDLPGetDP -#define ippsDLPGenKeyPair h9_ippsDLPGenKeyPair -#define ippsDLPPublicKey h9_ippsDLPPublicKey -#define ippsDLPValidateKeyPair h9_ippsDLPValidateKeyPair -#define ippsDLPSetKeyPair h9_ippsDLPSetKeyPair -#define ippsDLPSignDSA h9_ippsDLPSignDSA -#define ippsDLPVerifyDSA h9_ippsDLPVerifyDSA -#define ippsDLPSharedSecretDH h9_ippsDLPSharedSecretDH -#define ippsDLPGenerateDSA h9_ippsDLPGenerateDSA -#define ippsDLPValidateDSA h9_ippsDLPValidateDSA -#define ippsDLPGenerateDH h9_ippsDLPGenerateDH -#define ippsDLPValidateDH h9_ippsDLPValidateDH -#define ippsECCGetResultString h9_ippsECCGetResultString -#define ippsECCPGetSize h9_ippsECCPGetSize -#define ippsECCPGetSizeStd128r1 h9_ippsECCPGetSizeStd128r1 -#define ippsECCPGetSizeStd128r2 h9_ippsECCPGetSizeStd128r2 -#define ippsECCPGetSizeStd192r1 h9_ippsECCPGetSizeStd192r1 -#define ippsECCPGetSizeStd224r1 h9_ippsECCPGetSizeStd224r1 -#define ippsECCPGetSizeStd256r1 h9_ippsECCPGetSizeStd256r1 -#define ippsECCPGetSizeStd384r1 h9_ippsECCPGetSizeStd384r1 -#define ippsECCPGetSizeStd521r1 h9_ippsECCPGetSizeStd521r1 -#define ippsECCPGetSizeStdSM2 h9_ippsECCPGetSizeStdSM2 -#define ippsECCPInit h9_ippsECCPInit -#define ippsECCPInitStd128r1 h9_ippsECCPInitStd128r1 -#define ippsECCPInitStd128r2 h9_ippsECCPInitStd128r2 -#define ippsECCPInitStd192r1 h9_ippsECCPInitStd192r1 -#define ippsECCPInitStd224r1 h9_ippsECCPInitStd224r1 -#define ippsECCPInitStd256r1 h9_ippsECCPInitStd256r1 -#define ippsECCPInitStd384r1 h9_ippsECCPInitStd384r1 -#define ippsECCPInitStd521r1 h9_ippsECCPInitStd521r1 -#define ippsECCPInitStdSM2 h9_ippsECCPInitStdSM2 -#define ippsECCPSet h9_ippsECCPSet -#define ippsECCPSetStd h9_ippsECCPSetStd -#define ippsECCPSetStd128r1 h9_ippsECCPSetStd128r1 -#define ippsECCPSetStd128r2 h9_ippsECCPSetStd128r2 -#define ippsECCPSetStd192r1 h9_ippsECCPSetStd192r1 -#define ippsECCPSetStd224r1 h9_ippsECCPSetStd224r1 -#define ippsECCPSetStd256r1 h9_ippsECCPSetStd256r1 -#define ippsECCPSetStd384r1 h9_ippsECCPSetStd384r1 -#define ippsECCPSetStd521r1 h9_ippsECCPSetStd521r1 -#define ippsECCPSetStdSM2 h9_ippsECCPSetStdSM2 -#define ippsECCPBindGxyTblStd192r1 h9_ippsECCPBindGxyTblStd192r1 -#define ippsECCPBindGxyTblStd224r1 h9_ippsECCPBindGxyTblStd224r1 -#define ippsECCPBindGxyTblStd256r1 h9_ippsECCPBindGxyTblStd256r1 -#define ippsECCPBindGxyTblStd384r1 h9_ippsECCPBindGxyTblStd384r1 -#define ippsECCPBindGxyTblStd521r1 h9_ippsECCPBindGxyTblStd521r1 -#define ippsECCPBindGxyTblStdSM2 h9_ippsECCPBindGxyTblStdSM2 -#define ippsECCPGet h9_ippsECCPGet -#define ippsECCPGetOrderBitSize h9_ippsECCPGetOrderBitSize -#define ippsECCPValidate h9_ippsECCPValidate -#define ippsECCPPointGetSize h9_ippsECCPPointGetSize -#define ippsECCPPointInit h9_ippsECCPPointInit -#define ippsECCPSetPoint h9_ippsECCPSetPoint -#define ippsECCPSetPointAtInfinity h9_ippsECCPSetPointAtInfinity -#define ippsECCPGetPoint h9_ippsECCPGetPoint -#define ippsECCPCheckPoint h9_ippsECCPCheckPoint -#define ippsECCPComparePoint h9_ippsECCPComparePoint -#define ippsECCPNegativePoint h9_ippsECCPNegativePoint -#define ippsECCPAddPoint h9_ippsECCPAddPoint -#define ippsECCPMulPointScalar h9_ippsECCPMulPointScalar -#define ippsECCPGenKeyPair h9_ippsECCPGenKeyPair -#define ippsECCPPublicKey h9_ippsECCPPublicKey -#define ippsECCPValidateKeyPair h9_ippsECCPValidateKeyPair -#define ippsECCPSetKeyPair h9_ippsECCPSetKeyPair -#define ippsECCPSharedSecretDH h9_ippsECCPSharedSecretDH -#define ippsECCPSharedSecretDHC h9_ippsECCPSharedSecretDHC -#define ippsECCPSignDSA h9_ippsECCPSignDSA -#define ippsECCPVerifyDSA h9_ippsECCPVerifyDSA -#define ippsECCPSignNR h9_ippsECCPSignNR -#define ippsECCPVerifyNR h9_ippsECCPVerifyNR -#define ippsECCPSignSM2 h9_ippsECCPSignSM2 -#define ippsECCPVerifySM2 h9_ippsECCPVerifySM2 -#define ippsGFpGetSize h9_ippsGFpGetSize -#define ippsGFpInitArbitrary h9_ippsGFpInitArbitrary -#define ippsGFpInitFixed h9_ippsGFpInitFixed -#define ippsGFpInit h9_ippsGFpInit -#define ippsGFpMethod_p192r1 h9_ippsGFpMethod_p192r1 -#define ippsGFpMethod_p224r1 h9_ippsGFpMethod_p224r1 -#define ippsGFpMethod_p256r1 h9_ippsGFpMethod_p256r1 -#define ippsGFpMethod_p384r1 h9_ippsGFpMethod_p384r1 -#define ippsGFpMethod_p521r1 h9_ippsGFpMethod_p521r1 -#define ippsGFpMethod_p256sm2 h9_ippsGFpMethod_p256sm2 -#define ippsGFpMethod_p256bn h9_ippsGFpMethod_p256bn -#define ippsGFpMethod_p256 h9_ippsGFpMethod_p256 -#define ippsGFpMethod_pArb h9_ippsGFpMethod_pArb -#define ippsGFpxGetSize h9_ippsGFpxGetSize -#define ippsGFpxInit h9_ippsGFpxInit -#define ippsGFpxInitBinomial h9_ippsGFpxInitBinomial -#define ippsGFpxMethod_binom2_epid2 h9_ippsGFpxMethod_binom2_epid2 -#define ippsGFpxMethod_binom3_epid2 h9_ippsGFpxMethod_binom3_epid2 -#define ippsGFpxMethod_binom2 h9_ippsGFpxMethod_binom2 -#define ippsGFpxMethod_binom3 h9_ippsGFpxMethod_binom3 -#define ippsGFpxMethod_binom h9_ippsGFpxMethod_binom -#define ippsGFpxMethod_com h9_ippsGFpxMethod_com -#define ippsGFpScratchBufferSize h9_ippsGFpScratchBufferSize -#define ippsGFpElementGetSize h9_ippsGFpElementGetSize -#define ippsGFpElementInit h9_ippsGFpElementInit -#define ippsGFpSetElement h9_ippsGFpSetElement -#define ippsGFpSetElementRegular h9_ippsGFpSetElementRegular -#define ippsGFpSetElementOctString h9_ippsGFpSetElementOctString -#define ippsGFpSetElementRandom h9_ippsGFpSetElementRandom -#define ippsGFpSetElementHash h9_ippsGFpSetElementHash -#define ippsGFpSetElementHash_rmf h9_ippsGFpSetElementHash_rmf -#define ippsGFpCpyElement h9_ippsGFpCpyElement -#define ippsGFpGetElement h9_ippsGFpGetElement -#define ippsGFpGetElementOctString h9_ippsGFpGetElementOctString -#define ippsGFpCmpElement h9_ippsGFpCmpElement -#define ippsGFpIsZeroElement h9_ippsGFpIsZeroElement -#define ippsGFpIsUnityElement h9_ippsGFpIsUnityElement -#define ippsGFpConj h9_ippsGFpConj -#define ippsGFpNeg h9_ippsGFpNeg -#define ippsGFpInv h9_ippsGFpInv -#define ippsGFpSqrt h9_ippsGFpSqrt -#define ippsGFpSqr h9_ippsGFpSqr -#define ippsGFpAdd h9_ippsGFpAdd -#define ippsGFpSub h9_ippsGFpSub -#define ippsGFpMul h9_ippsGFpMul -#define ippsGFpExp h9_ippsGFpExp -#define ippsGFpMultiExp h9_ippsGFpMultiExp -#define ippsGFpAdd_PE h9_ippsGFpAdd_PE -#define ippsGFpSub_PE h9_ippsGFpSub_PE -#define ippsGFpMul_PE h9_ippsGFpMul_PE -#define ippsGFpGetInfo h9_ippsGFpGetInfo -#define ippsGFpECGetSize h9_ippsGFpECGetSize -#define ippsGFpECInit h9_ippsGFpECInit -#define ippsGFpECSet h9_ippsGFpECSet -#define ippsGFpECSetSubgroup h9_ippsGFpECSetSubgroup -#define ippsGFpECInitStd128r1 h9_ippsGFpECInitStd128r1 -#define ippsGFpECInitStd128r2 h9_ippsGFpECInitStd128r2 -#define ippsGFpECInitStd192r1 h9_ippsGFpECInitStd192r1 -#define ippsGFpECInitStd224r1 h9_ippsGFpECInitStd224r1 -#define ippsGFpECInitStd256r1 h9_ippsGFpECInitStd256r1 -#define ippsGFpECInitStd384r1 h9_ippsGFpECInitStd384r1 -#define ippsGFpECInitStd521r1 h9_ippsGFpECInitStd521r1 -#define ippsGFpECInitStdSM2 h9_ippsGFpECInitStdSM2 -#define ippsGFpECInitStdBN256 h9_ippsGFpECInitStdBN256 -#define ippsGFpECBindGxyTblStd192r1 h9_ippsGFpECBindGxyTblStd192r1 -#define ippsGFpECBindGxyTblStd224r1 h9_ippsGFpECBindGxyTblStd224r1 -#define ippsGFpECBindGxyTblStd256r1 h9_ippsGFpECBindGxyTblStd256r1 -#define ippsGFpECBindGxyTblStd384r1 h9_ippsGFpECBindGxyTblStd384r1 -#define ippsGFpECBindGxyTblStd521r1 h9_ippsGFpECBindGxyTblStd521r1 -#define ippsGFpECBindGxyTblStdSM2 h9_ippsGFpECBindGxyTblStdSM2 -#define ippsGFpECGet h9_ippsGFpECGet -#define ippsGFpECGetSubgroup h9_ippsGFpECGetSubgroup -#define ippsGFpECScratchBufferSize h9_ippsGFpECScratchBufferSize -#define ippsGFpECVerify h9_ippsGFpECVerify -#define ippsGFpECPointGetSize h9_ippsGFpECPointGetSize -#define ippsGFpECPointInit h9_ippsGFpECPointInit -#define ippsGFpECSetPointAtInfinity h9_ippsGFpECSetPointAtInfinity -#define ippsGFpECSetPoint h9_ippsGFpECSetPoint -#define ippsGFpECSetPointRegular h9_ippsGFpECSetPointRegular -#define ippsGFpECSetPointRandom h9_ippsGFpECSetPointRandom -#define ippsGFpECMakePoint h9_ippsGFpECMakePoint -#define ippsGFpECSetPointHash h9_ippsGFpECSetPointHash -#define ippsGFpECSetPointHashBackCompatible h9_ippsGFpECSetPointHashBackCompatible -#define ippsGFpECSetPointHash_rmf h9_ippsGFpECSetPointHash_rmf -#define ippsGFpECSetPointHashBackCompatible_rmf h9_ippsGFpECSetPointHashBackCompatible_rmf -#define ippsGFpECGetPoint h9_ippsGFpECGetPoint -#define ippsGFpECGetPointRegular h9_ippsGFpECGetPointRegular -#define ippsGFpECSetPointOctString h9_ippsGFpECSetPointOctString -#define ippsGFpECGetPointOctString h9_ippsGFpECGetPointOctString -#define ippsGFpECTstPoint h9_ippsGFpECTstPoint -#define ippsGFpECTstPointInSubgroup h9_ippsGFpECTstPointInSubgroup -#define ippsGFpECCpyPoint h9_ippsGFpECCpyPoint -#define ippsGFpECCmpPoint h9_ippsGFpECCmpPoint -#define ippsGFpECNegPoint h9_ippsGFpECNegPoint -#define ippsGFpECAddPoint h9_ippsGFpECAddPoint -#define ippsGFpECMulPoint h9_ippsGFpECMulPoint -#define ippsGFpECPrivateKey h9_ippsGFpECPrivateKey -#define ippsGFpECPublicKey h9_ippsGFpECPublicKey -#define ippsGFpECTstKeyPair h9_ippsGFpECTstKeyPair -#define ippsGFpECSharedSecretDH h9_ippsGFpECSharedSecretDH -#define ippsGFpECSharedSecretDHC h9_ippsGFpECSharedSecretDHC -#define ippsGFpECMessageRepresentationSM2 h9_ippsGFpECMessageRepresentationSM2 -#define ippsGFpECSignDSA h9_ippsGFpECSignDSA -#define ippsGFpECVerifyDSA h9_ippsGFpECVerifyDSA -#define ippsGFpECSignNR h9_ippsGFpECSignNR -#define ippsGFpECVerifyNR h9_ippsGFpECVerifyNR -#define ippsGFpECSignSM2 h9_ippsGFpECSignSM2 -#define ippsGFpECVerifySM2 h9_ippsGFpECVerifySM2 -#define ippsGFpECUserIDHashSM2 h9_ippsGFpECUserIDHashSM2 -#define ippsGFpECKeyExchangeSM2_GetSize h9_ippsGFpECKeyExchangeSM2_GetSize -#define ippsGFpECKeyExchangeSM2_Init h9_ippsGFpECKeyExchangeSM2_Init -#define ippsGFpECKeyExchangeSM2_Setup h9_ippsGFpECKeyExchangeSM2_Setup -#define ippsGFpECKeyExchangeSM2_SharedKey h9_ippsGFpECKeyExchangeSM2_SharedKey -#define ippsGFpECKeyExchangeSM2_Confirm h9_ippsGFpECKeyExchangeSM2_Confirm -#define ippsGFpECGetInfo_GF h9_ippsGFpECGetInfo_GF -#define ippsGFpECESGetSize_SM2 h9_ippsGFpECESGetSize_SM2 -#define ippsGFpECESInit_SM2 h9_ippsGFpECESInit_SM2 -#define ippsGFpECESSetKey_SM2 h9_ippsGFpECESSetKey_SM2 -#define ippsGFpECESStart_SM2 h9_ippsGFpECESStart_SM2 -#define ippsGFpECESEncrypt_SM2 h9_ippsGFpECESEncrypt_SM2 -#define ippsGFpECESDecrypt_SM2 h9_ippsGFpECESDecrypt_SM2 -#define ippsGFpECESFinal_SM2 h9_ippsGFpECESFinal_SM2 -#define ippsGFpECESGetBuffersSize_SM2 h9_ippsGFpECESGetBuffersSize_SM2 -#define ippsGFpECEncryptSM2_Ext_EncMsgSize h9_ippsGFpECEncryptSM2_Ext_EncMsgSize -#define ippsGFpECEncryptSM2_Ext h9_ippsGFpECEncryptSM2_Ext -#define ippsGFpECDecryptSM2_Ext_DecMsgSize h9_ippsGFpECDecryptSM2_Ext_DecMsgSize -#define ippsGFpECDecryptSM2_Ext h9_ippsGFpECDecryptSM2_Ext diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_k0.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_k0.h deleted file mode 100644 index 8e1a740..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_k0.h +++ /dev/null @@ -1,557 +0,0 @@ -/******************************************************************************* - * Copyright 2023 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *******************************************************************************/ - - #define ippcpGetLibVersion k0_ippcpGetLibVersion -#define ippsDESGetSize k0_ippsDESGetSize -#define ippsDESInit k0_ippsDESInit -#define ippsDESPack k0_ippsDESPack -#define ippsDESUnpack k0_ippsDESUnpack -#define ippsTDESEncryptECB k0_ippsTDESEncryptECB -#define ippsTDESDecryptECB k0_ippsTDESDecryptECB -#define ippsTDESEncryptCBC k0_ippsTDESEncryptCBC -#define ippsTDESDecryptCBC k0_ippsTDESDecryptCBC -#define ippsTDESEncryptCFB k0_ippsTDESEncryptCFB -#define ippsTDESDecryptCFB k0_ippsTDESDecryptCFB -#define ippsTDESEncryptOFB k0_ippsTDESEncryptOFB -#define ippsTDESDecryptOFB k0_ippsTDESDecryptOFB -#define ippsTDESEncryptCTR k0_ippsTDESEncryptCTR -#define ippsTDESDecryptCTR k0_ippsTDESDecryptCTR -#define ippsAESGetSize k0_ippsAESGetSize -#define ippsAESInit k0_ippsAESInit -#define ippsAESSetKey k0_ippsAESSetKey -#define ippsAESPack k0_ippsAESPack -#define ippsAESUnpack k0_ippsAESUnpack -#define ippsAESEncryptECB k0_ippsAESEncryptECB -#define ippsAESDecryptECB k0_ippsAESDecryptECB -#define ippsAESEncryptCBC k0_ippsAESEncryptCBC -#define ippsAESEncryptCBC_CS1 k0_ippsAESEncryptCBC_CS1 -#define ippsAESEncryptCBC_CS2 k0_ippsAESEncryptCBC_CS2 -#define ippsAESEncryptCBC_CS3 k0_ippsAESEncryptCBC_CS3 -#define ippsAESDecryptCBC k0_ippsAESDecryptCBC -#define ippsAESDecryptCBC_CS1 k0_ippsAESDecryptCBC_CS1 -#define ippsAESDecryptCBC_CS2 k0_ippsAESDecryptCBC_CS2 -#define ippsAESDecryptCBC_CS3 k0_ippsAESDecryptCBC_CS3 -#define ippsAESEncryptCFB k0_ippsAESEncryptCFB -#define ippsAESDecryptCFB k0_ippsAESDecryptCFB -#define ippsAESEncryptOFB k0_ippsAESEncryptOFB -#define ippsAESDecryptOFB k0_ippsAESDecryptOFB -#define ippsAESEncryptCTR k0_ippsAESEncryptCTR -#define ippsAESDecryptCTR k0_ippsAESDecryptCTR -#define ippsAESEncryptXTS_Direct k0_ippsAESEncryptXTS_Direct -#define ippsAESDecryptXTS_Direct k0_ippsAESDecryptXTS_Direct -#define ippsAESSetupNoise k0_ippsAESSetupNoise -#define ippsAES_GCMSetupNoise k0_ippsAES_GCMSetupNoise -#define ippsAES_CMACSetupNoise k0_ippsAES_CMACSetupNoise -#define ippsAES_EncryptCFB16_MB k0_ippsAES_EncryptCFB16_MB -#define ippsSMS4GetSize k0_ippsSMS4GetSize -#define ippsSMS4Init k0_ippsSMS4Init -#define ippsSMS4SetKey k0_ippsSMS4SetKey -#define ippsSMS4EncryptECB k0_ippsSMS4EncryptECB -#define ippsSMS4DecryptECB k0_ippsSMS4DecryptECB -#define ippsSMS4EncryptCBC k0_ippsSMS4EncryptCBC -#define ippsSMS4EncryptCBC_CS1 k0_ippsSMS4EncryptCBC_CS1 -#define ippsSMS4EncryptCBC_CS2 k0_ippsSMS4EncryptCBC_CS2 -#define ippsSMS4EncryptCBC_CS3 k0_ippsSMS4EncryptCBC_CS3 -#define ippsSMS4DecryptCBC k0_ippsSMS4DecryptCBC -#define ippsSMS4DecryptCBC_CS1 k0_ippsSMS4DecryptCBC_CS1 -#define ippsSMS4DecryptCBC_CS2 k0_ippsSMS4DecryptCBC_CS2 -#define ippsSMS4DecryptCBC_CS3 k0_ippsSMS4DecryptCBC_CS3 -#define ippsSMS4EncryptCFB k0_ippsSMS4EncryptCFB -#define ippsSMS4DecryptCFB k0_ippsSMS4DecryptCFB -#define ippsSMS4EncryptOFB k0_ippsSMS4EncryptOFB -#define ippsSMS4DecryptOFB k0_ippsSMS4DecryptOFB -#define ippsSMS4EncryptCTR k0_ippsSMS4EncryptCTR -#define ippsSMS4DecryptCTR k0_ippsSMS4DecryptCTR -#define ippsSMS4_CCMGetSize k0_ippsSMS4_CCMGetSize -#define ippsSMS4_CCMInit k0_ippsSMS4_CCMInit -#define ippsSMS4_CCMMessageLen k0_ippsSMS4_CCMMessageLen -#define ippsSMS4_CCMTagLen k0_ippsSMS4_CCMTagLen -#define ippsSMS4_CCMStart k0_ippsSMS4_CCMStart -#define ippsSMS4_CCMEncrypt k0_ippsSMS4_CCMEncrypt -#define ippsSMS4_CCMDecrypt k0_ippsSMS4_CCMDecrypt -#define ippsSMS4_CCMGetTag k0_ippsSMS4_CCMGetTag -#define ippsAES_CCMGetSize k0_ippsAES_CCMGetSize -#define ippsAES_CCMInit k0_ippsAES_CCMInit -#define ippsAES_CCMMessageLen k0_ippsAES_CCMMessageLen -#define ippsAES_CCMTagLen k0_ippsAES_CCMTagLen -#define ippsAES_CCMStart k0_ippsAES_CCMStart -#define ippsAES_CCMEncrypt k0_ippsAES_CCMEncrypt -#define ippsAES_CCMDecrypt k0_ippsAES_CCMDecrypt -#define ippsAES_CCMGetTag k0_ippsAES_CCMGetTag -#define ippsAES_GCMGetSize k0_ippsAES_GCMGetSize -#define ippsAES_GCMInit k0_ippsAES_GCMInit -#define ippsAES_GCMReinit k0_ippsAES_GCMReinit -#define ippsAES_GCMReset k0_ippsAES_GCMReset -#define ippsAES_GCMProcessIV k0_ippsAES_GCMProcessIV -#define ippsAES_GCMProcessAAD k0_ippsAES_GCMProcessAAD -#define ippsAES_GCMStart k0_ippsAES_GCMStart -#define ippsAES_GCMEncrypt k0_ippsAES_GCMEncrypt -#define ippsAES_GCMDecrypt k0_ippsAES_GCMDecrypt -#define ippsAES_GCMGetTag k0_ippsAES_GCMGetTag -#define ippsAES_XTSGetSize k0_ippsAES_XTSGetSize -#define ippsAES_XTSInit k0_ippsAES_XTSInit -#define ippsAES_XTSEncrypt k0_ippsAES_XTSEncrypt -#define ippsAES_XTSDecrypt k0_ippsAES_XTSDecrypt -#define ippsAES_S2V_CMAC k0_ippsAES_S2V_CMAC -#define ippsAES_SIVEncrypt k0_ippsAES_SIVEncrypt -#define ippsAES_SIVDecrypt k0_ippsAES_SIVDecrypt -#define ippsAES_CMACGetSize k0_ippsAES_CMACGetSize -#define ippsAES_CMACInit k0_ippsAES_CMACInit -#define ippsAES_CMACUpdate k0_ippsAES_CMACUpdate -#define ippsAES_CMACFinal k0_ippsAES_CMACFinal -#define ippsAES_CMACGetTag k0_ippsAES_CMACGetTag -#define ippsARCFourCheckKey k0_ippsARCFourCheckKey -#define ippsARCFourGetSize k0_ippsARCFourGetSize -#define ippsARCFourInit k0_ippsARCFourInit -#define ippsARCFourReset k0_ippsARCFourReset -#define ippsARCFourPack k0_ippsARCFourPack -#define ippsARCFourUnpack k0_ippsARCFourUnpack -#define ippsARCFourEncrypt k0_ippsARCFourEncrypt -#define ippsARCFourDecrypt k0_ippsARCFourDecrypt -#define ippsSHA1GetSize k0_ippsSHA1GetSize -#define ippsSHA1Init k0_ippsSHA1Init -#define ippsSHA1Duplicate k0_ippsSHA1Duplicate -#define ippsSHA1Pack k0_ippsSHA1Pack -#define ippsSHA1Unpack k0_ippsSHA1Unpack -#define ippsSHA1Update k0_ippsSHA1Update -#define ippsSHA1GetTag k0_ippsSHA1GetTag -#define ippsSHA1Final k0_ippsSHA1Final -#define ippsSHA1MessageDigest k0_ippsSHA1MessageDigest -#define ippsSHA224GetSize k0_ippsSHA224GetSize -#define ippsSHA224Init k0_ippsSHA224Init -#define ippsSHA224Duplicate k0_ippsSHA224Duplicate -#define ippsSHA224Pack k0_ippsSHA224Pack -#define ippsSHA224Unpack k0_ippsSHA224Unpack -#define ippsSHA224Update k0_ippsSHA224Update -#define ippsSHA224GetTag k0_ippsSHA224GetTag -#define ippsSHA224Final k0_ippsSHA224Final -#define ippsSHA224MessageDigest k0_ippsSHA224MessageDigest -#define ippsSHA256GetSize k0_ippsSHA256GetSize -#define ippsSHA256Init k0_ippsSHA256Init -#define ippsSHA256Duplicate k0_ippsSHA256Duplicate -#define ippsSHA256Pack k0_ippsSHA256Pack -#define ippsSHA256Unpack k0_ippsSHA256Unpack -#define ippsSHA256Update k0_ippsSHA256Update -#define ippsSHA256GetTag k0_ippsSHA256GetTag -#define ippsSHA256Final k0_ippsSHA256Final -#define ippsSHA256MessageDigest k0_ippsSHA256MessageDigest -#define ippsSHA384GetSize k0_ippsSHA384GetSize -#define ippsSHA384Init k0_ippsSHA384Init -#define ippsSHA384Duplicate k0_ippsSHA384Duplicate -#define ippsSHA384Pack k0_ippsSHA384Pack -#define ippsSHA384Unpack k0_ippsSHA384Unpack -#define ippsSHA384Update k0_ippsSHA384Update -#define ippsSHA384GetTag k0_ippsSHA384GetTag -#define ippsSHA384Final k0_ippsSHA384Final -#define ippsSHA384MessageDigest k0_ippsSHA384MessageDigest -#define ippsSHA512GetSize k0_ippsSHA512GetSize -#define ippsSHA512Init k0_ippsSHA512Init -#define ippsSHA512Duplicate k0_ippsSHA512Duplicate -#define ippsSHA512Pack k0_ippsSHA512Pack -#define ippsSHA512Unpack k0_ippsSHA512Unpack -#define ippsSHA512Update k0_ippsSHA512Update -#define ippsSHA512GetTag k0_ippsSHA512GetTag -#define ippsSHA512Final k0_ippsSHA512Final -#define ippsSHA512MessageDigest k0_ippsSHA512MessageDigest -#define ippsMD5GetSize k0_ippsMD5GetSize -#define ippsMD5Init k0_ippsMD5Init -#define ippsMD5Duplicate k0_ippsMD5Duplicate -#define ippsMD5Pack k0_ippsMD5Pack -#define ippsMD5Unpack k0_ippsMD5Unpack -#define ippsMD5Update k0_ippsMD5Update -#define ippsMD5GetTag k0_ippsMD5GetTag -#define ippsMD5Final k0_ippsMD5Final -#define ippsMD5MessageDigest k0_ippsMD5MessageDigest -#define ippsSM3GetSize k0_ippsSM3GetSize -#define ippsSM3Init k0_ippsSM3Init -#define ippsSM3Duplicate k0_ippsSM3Duplicate -#define ippsSM3Pack k0_ippsSM3Pack -#define ippsSM3Unpack k0_ippsSM3Unpack -#define ippsSM3Update k0_ippsSM3Update -#define ippsSM3GetTag k0_ippsSM3GetTag -#define ippsSM3Final k0_ippsSM3Final -#define ippsSM3MessageDigest k0_ippsSM3MessageDigest -#define ippsHashGetSize k0_ippsHashGetSize -#define ippsHashInit k0_ippsHashInit -#define ippsHashPack k0_ippsHashPack -#define ippsHashUnpack k0_ippsHashUnpack -#define ippsHashDuplicate k0_ippsHashDuplicate -#define ippsHashUpdate k0_ippsHashUpdate -#define ippsHashGetTag k0_ippsHashGetTag -#define ippsHashFinal k0_ippsHashFinal -#define ippsHashMessage k0_ippsHashMessage -#define ippsHashMethod_MD5 k0_ippsHashMethod_MD5 -#define ippsHashMethod_SM3 k0_ippsHashMethod_SM3 -#define ippsHashMethod_SHA1 k0_ippsHashMethod_SHA1 -#define ippsHashMethod_SHA1_NI k0_ippsHashMethod_SHA1_NI -#define ippsHashMethod_SHA1_TT k0_ippsHashMethod_SHA1_TT -#define ippsHashMethod_SHA256 k0_ippsHashMethod_SHA256 -#define ippsHashMethod_SHA256_NI k0_ippsHashMethod_SHA256_NI -#define ippsHashMethod_SHA256_TT k0_ippsHashMethod_SHA256_TT -#define ippsHashMethod_SHA224 k0_ippsHashMethod_SHA224 -#define ippsHashMethod_SHA224_NI k0_ippsHashMethod_SHA224_NI -#define ippsHashMethod_SHA224_TT k0_ippsHashMethod_SHA224_TT -#define ippsHashMethod_SHA512 k0_ippsHashMethod_SHA512 -#define ippsHashMethod_SHA384 k0_ippsHashMethod_SHA384 -#define ippsHashMethod_SHA512_256 k0_ippsHashMethod_SHA512_256 -#define ippsHashMethod_SHA512_224 k0_ippsHashMethod_SHA512_224 -#define ippsHashMethodGetSize k0_ippsHashMethodGetSize -#define ippsHashMethodSet_MD5 k0_ippsHashMethodSet_MD5 -#define ippsHashMethodSet_SM3 k0_ippsHashMethodSet_SM3 -#define ippsHashStateMethodSet_SM3 k0_ippsHashStateMethodSet_SM3 -#define ippsHashMethodSet_SHA1 k0_ippsHashMethodSet_SHA1 -#define ippsHashMethodSet_SHA1_NI k0_ippsHashMethodSet_SHA1_NI -#define ippsHashMethodSet_SHA1_TT k0_ippsHashMethodSet_SHA1_TT -#define ippsHashMethodSet_SHA256 k0_ippsHashMethodSet_SHA256 -#define ippsHashMethodSet_SHA256_NI k0_ippsHashMethodSet_SHA256_NI -#define ippsHashMethodSet_SHA256_TT k0_ippsHashMethodSet_SHA256_TT -#define ippsHashStateMethodSet_SHA256 k0_ippsHashStateMethodSet_SHA256 -#define ippsHashStateMethodSet_SHA256_NI k0_ippsHashStateMethodSet_SHA256_NI -#define ippsHashStateMethodSet_SHA256_TT k0_ippsHashStateMethodSet_SHA256_TT -#define ippsHashMethodSet_SHA224 k0_ippsHashMethodSet_SHA224 -#define ippsHashMethodSet_SHA224_NI k0_ippsHashMethodSet_SHA224_NI -#define ippsHashMethodSet_SHA224_TT k0_ippsHashMethodSet_SHA224_TT -#define ippsHashStateMethodSet_SHA224 k0_ippsHashStateMethodSet_SHA224 -#define ippsHashStateMethodSet_SHA224_NI k0_ippsHashStateMethodSet_SHA224_NI -#define ippsHashStateMethodSet_SHA224_TT k0_ippsHashStateMethodSet_SHA224_TT -#define ippsHashMethodSet_SHA512 k0_ippsHashMethodSet_SHA512 -#define ippsHashMethodSet_SHA384 k0_ippsHashMethodSet_SHA384 -#define ippsHashMethodSet_SHA512_256 k0_ippsHashMethodSet_SHA512_256 -#define ippsHashMethodSet_SHA512_224 k0_ippsHashMethodSet_SHA512_224 -#define ippsHashStateMethodSet_SHA512 k0_ippsHashStateMethodSet_SHA512 -#define ippsHashStateMethodSet_SHA384 k0_ippsHashStateMethodSet_SHA384 -#define ippsHashStateMethodSet_SHA512_256 k0_ippsHashStateMethodSet_SHA512_256 -#define ippsHashStateMethodSet_SHA512_224 k0_ippsHashStateMethodSet_SHA512_224 -#define ippsHashGetSize_rmf k0_ippsHashGetSize_rmf -#define ippsHashInit_rmf k0_ippsHashInit_rmf -#define ippsHashPack_rmf k0_ippsHashPack_rmf -#define ippsHashUnpack_rmf k0_ippsHashUnpack_rmf -#define ippsHashDuplicate_rmf k0_ippsHashDuplicate_rmf -#define ippsHashUpdate_rmf k0_ippsHashUpdate_rmf -#define ippsHashGetTag_rmf k0_ippsHashGetTag_rmf -#define ippsHashFinal_rmf k0_ippsHashFinal_rmf -#define ippsHashMessage_rmf k0_ippsHashMessage_rmf -#define ippsHashMethodGetInfo k0_ippsHashMethodGetInfo -#define ippsHashGetInfo_rmf k0_ippsHashGetInfo_rmf -#define ippsMGF k0_ippsMGF -#define ippsMGF1_rmf k0_ippsMGF1_rmf -#define ippsMGF2_rmf k0_ippsMGF2_rmf -#define ippsHMAC_GetSize k0_ippsHMAC_GetSize -#define ippsHMAC_Init k0_ippsHMAC_Init -#define ippsHMAC_Pack k0_ippsHMAC_Pack -#define ippsHMAC_Unpack k0_ippsHMAC_Unpack -#define ippsHMAC_Duplicate k0_ippsHMAC_Duplicate -#define ippsHMAC_Update k0_ippsHMAC_Update -#define ippsHMAC_Final k0_ippsHMAC_Final -#define ippsHMAC_GetTag k0_ippsHMAC_GetTag -#define ippsHMAC_Message k0_ippsHMAC_Message -#define ippsHMACGetSize_rmf k0_ippsHMACGetSize_rmf -#define ippsHMACInit_rmf k0_ippsHMACInit_rmf -#define ippsHMACPack_rmf k0_ippsHMACPack_rmf -#define ippsHMACUnpack_rmf k0_ippsHMACUnpack_rmf -#define ippsHMACDuplicate_rmf k0_ippsHMACDuplicate_rmf -#define ippsHMACUpdate_rmf k0_ippsHMACUpdate_rmf -#define ippsHMACFinal_rmf k0_ippsHMACFinal_rmf -#define ippsHMACGetTag_rmf k0_ippsHMACGetTag_rmf -#define ippsHMACMessage_rmf k0_ippsHMACMessage_rmf -#define ippsBigNumGetSize k0_ippsBigNumGetSize -#define ippsBigNumInit k0_ippsBigNumInit -#define ippsCmpZero_BN k0_ippsCmpZero_BN -#define ippsCmp_BN k0_ippsCmp_BN -#define ippsGetSize_BN k0_ippsGetSize_BN -#define ippsSet_BN k0_ippsSet_BN -#define ippsGet_BN k0_ippsGet_BN -#define ippsRef_BN k0_ippsRef_BN -#define ippsExtGet_BN k0_ippsExtGet_BN -#define ippsAdd_BN k0_ippsAdd_BN -#define ippsSub_BN k0_ippsSub_BN -#define ippsMul_BN k0_ippsMul_BN -#define ippsMAC_BN_I k0_ippsMAC_BN_I -#define ippsDiv_BN k0_ippsDiv_BN -#define ippsMod_BN k0_ippsMod_BN -#define ippsGcd_BN k0_ippsGcd_BN -#define ippsModInv_BN k0_ippsModInv_BN -#define ippsSetOctString_BN k0_ippsSetOctString_BN -#define ippsGetOctString_BN k0_ippsGetOctString_BN -#define ippsMontGetSize k0_ippsMontGetSize -#define ippsMontInit k0_ippsMontInit -#define ippsMontSet k0_ippsMontSet -#define ippsMontGet k0_ippsMontGet -#define ippsMontForm k0_ippsMontForm -#define ippsMontMul k0_ippsMontMul -#define ippsMontExp k0_ippsMontExp -#define ippsPRNGGetSize k0_ippsPRNGGetSize -#define ippsPRNGInit k0_ippsPRNGInit -#define ippsPRNGSetModulus k0_ippsPRNGSetModulus -#define ippsPRNGSetH0 k0_ippsPRNGSetH0 -#define ippsPRNGSetAugment k0_ippsPRNGSetAugment -#define ippsPRNGSetSeed k0_ippsPRNGSetSeed -#define ippsPRNGGetSeed k0_ippsPRNGGetSeed -#define ippsPRNGen k0_ippsPRNGen -#define ippsPRNGen_BN k0_ippsPRNGen_BN -#define ippsPRNGenRDRAND k0_ippsPRNGenRDRAND -#define ippsPRNGenRDRAND_BN k0_ippsPRNGenRDRAND_BN -#define ippsTRNGenRDSEED k0_ippsTRNGenRDSEED -#define ippsTRNGenRDSEED_BN k0_ippsTRNGenRDSEED_BN -#define ippsPrimeGetSize k0_ippsPrimeGetSize -#define ippsPrimeInit k0_ippsPrimeInit -#define ippsPrimeGen k0_ippsPrimeGen -#define ippsPrimeTest k0_ippsPrimeTest -#define ippsPrimeGen_BN k0_ippsPrimeGen_BN -#define ippsPrimeTest_BN k0_ippsPrimeTest_BN -#define ippsPrimeGet k0_ippsPrimeGet -#define ippsPrimeGet_BN k0_ippsPrimeGet_BN -#define ippsPrimeSet k0_ippsPrimeSet -#define ippsPrimeSet_BN k0_ippsPrimeSet_BN -#define ippsRSA_GetSizePublicKey k0_ippsRSA_GetSizePublicKey -#define ippsRSA_InitPublicKey k0_ippsRSA_InitPublicKey -#define ippsRSA_SetPublicKey k0_ippsRSA_SetPublicKey -#define ippsRSA_GetPublicKey k0_ippsRSA_GetPublicKey -#define ippsRSA_GetSizePrivateKeyType1 k0_ippsRSA_GetSizePrivateKeyType1 -#define ippsRSA_InitPrivateKeyType1 k0_ippsRSA_InitPrivateKeyType1 -#define ippsRSA_SetPrivateKeyType1 k0_ippsRSA_SetPrivateKeyType1 -#define ippsRSA_GetPrivateKeyType1 k0_ippsRSA_GetPrivateKeyType1 -#define ippsRSA_GetSizePrivateKeyType2 k0_ippsRSA_GetSizePrivateKeyType2 -#define ippsRSA_InitPrivateKeyType2 k0_ippsRSA_InitPrivateKeyType2 -#define ippsRSA_SetPrivateKeyType2 k0_ippsRSA_SetPrivateKeyType2 -#define ippsRSA_GetPrivateKeyType2 k0_ippsRSA_GetPrivateKeyType2 -#define ippsRSA_GetBufferSizePublicKey k0_ippsRSA_GetBufferSizePublicKey -#define ippsRSA_GetBufferSizePrivateKey k0_ippsRSA_GetBufferSizePrivateKey -#define ippsRSA_Encrypt k0_ippsRSA_Encrypt -#define ippsRSA_Decrypt k0_ippsRSA_Decrypt -#define ippsRSA_GenerateKeys k0_ippsRSA_GenerateKeys -#define ippsRSA_ValidateKeys k0_ippsRSA_ValidateKeys -#define ippsRSAEncrypt_OAEP k0_ippsRSAEncrypt_OAEP -#define ippsRSADecrypt_OAEP k0_ippsRSADecrypt_OAEP -#define ippsRSAEncrypt_OAEP_rmf k0_ippsRSAEncrypt_OAEP_rmf -#define ippsRSADecrypt_OAEP_rmf k0_ippsRSADecrypt_OAEP_rmf -#define ippsRSAEncrypt_PKCSv15 k0_ippsRSAEncrypt_PKCSv15 -#define ippsRSADecrypt_PKCSv15 k0_ippsRSADecrypt_PKCSv15 -#define ippsRSASign_PSS k0_ippsRSASign_PSS -#define ippsRSAVerify_PSS k0_ippsRSAVerify_PSS -#define ippsRSASign_PSS_rmf k0_ippsRSASign_PSS_rmf -#define ippsRSAVerify_PSS_rmf k0_ippsRSAVerify_PSS_rmf -#define ippsRSASign_PKCS1v15 k0_ippsRSASign_PKCS1v15 -#define ippsRSAVerify_PKCS1v15 k0_ippsRSAVerify_PKCS1v15 -#define ippsRSASign_PKCS1v15_rmf k0_ippsRSASign_PKCS1v15_rmf -#define ippsRSAVerify_PKCS1v15_rmf k0_ippsRSAVerify_PKCS1v15_rmf -#define ippsDLGetResultString k0_ippsDLGetResultString -#define ippsDLPGetSize k0_ippsDLPGetSize -#define ippsDLPInit k0_ippsDLPInit -#define ippsDLPPack k0_ippsDLPPack -#define ippsDLPUnpack k0_ippsDLPUnpack -#define ippsDLPSet k0_ippsDLPSet -#define ippsDLPGet k0_ippsDLPGet -#define ippsDLPSetDP k0_ippsDLPSetDP -#define ippsDLPGetDP k0_ippsDLPGetDP -#define ippsDLPGenKeyPair k0_ippsDLPGenKeyPair -#define ippsDLPPublicKey k0_ippsDLPPublicKey -#define ippsDLPValidateKeyPair k0_ippsDLPValidateKeyPair -#define ippsDLPSetKeyPair k0_ippsDLPSetKeyPair -#define ippsDLPSignDSA k0_ippsDLPSignDSA -#define ippsDLPVerifyDSA k0_ippsDLPVerifyDSA -#define ippsDLPSharedSecretDH k0_ippsDLPSharedSecretDH -#define ippsDLPGenerateDSA k0_ippsDLPGenerateDSA -#define ippsDLPValidateDSA k0_ippsDLPValidateDSA -#define ippsDLPGenerateDH k0_ippsDLPGenerateDH -#define ippsDLPValidateDH k0_ippsDLPValidateDH -#define ippsECCGetResultString k0_ippsECCGetResultString -#define ippsECCPGetSize k0_ippsECCPGetSize -#define ippsECCPGetSizeStd128r1 k0_ippsECCPGetSizeStd128r1 -#define ippsECCPGetSizeStd128r2 k0_ippsECCPGetSizeStd128r2 -#define ippsECCPGetSizeStd192r1 k0_ippsECCPGetSizeStd192r1 -#define ippsECCPGetSizeStd224r1 k0_ippsECCPGetSizeStd224r1 -#define ippsECCPGetSizeStd256r1 k0_ippsECCPGetSizeStd256r1 -#define ippsECCPGetSizeStd384r1 k0_ippsECCPGetSizeStd384r1 -#define ippsECCPGetSizeStd521r1 k0_ippsECCPGetSizeStd521r1 -#define ippsECCPGetSizeStdSM2 k0_ippsECCPGetSizeStdSM2 -#define ippsECCPInit k0_ippsECCPInit -#define ippsECCPInitStd128r1 k0_ippsECCPInitStd128r1 -#define ippsECCPInitStd128r2 k0_ippsECCPInitStd128r2 -#define ippsECCPInitStd192r1 k0_ippsECCPInitStd192r1 -#define ippsECCPInitStd224r1 k0_ippsECCPInitStd224r1 -#define ippsECCPInitStd256r1 k0_ippsECCPInitStd256r1 -#define ippsECCPInitStd384r1 k0_ippsECCPInitStd384r1 -#define ippsECCPInitStd521r1 k0_ippsECCPInitStd521r1 -#define ippsECCPInitStdSM2 k0_ippsECCPInitStdSM2 -#define ippsECCPSet k0_ippsECCPSet -#define ippsECCPSetStd k0_ippsECCPSetStd -#define ippsECCPSetStd128r1 k0_ippsECCPSetStd128r1 -#define ippsECCPSetStd128r2 k0_ippsECCPSetStd128r2 -#define ippsECCPSetStd192r1 k0_ippsECCPSetStd192r1 -#define ippsECCPSetStd224r1 k0_ippsECCPSetStd224r1 -#define ippsECCPSetStd256r1 k0_ippsECCPSetStd256r1 -#define ippsECCPSetStd384r1 k0_ippsECCPSetStd384r1 -#define ippsECCPSetStd521r1 k0_ippsECCPSetStd521r1 -#define ippsECCPSetStdSM2 k0_ippsECCPSetStdSM2 -#define ippsECCPBindGxyTblStd192r1 k0_ippsECCPBindGxyTblStd192r1 -#define ippsECCPBindGxyTblStd224r1 k0_ippsECCPBindGxyTblStd224r1 -#define ippsECCPBindGxyTblStd256r1 k0_ippsECCPBindGxyTblStd256r1 -#define ippsECCPBindGxyTblStd384r1 k0_ippsECCPBindGxyTblStd384r1 -#define ippsECCPBindGxyTblStd521r1 k0_ippsECCPBindGxyTblStd521r1 -#define ippsECCPBindGxyTblStdSM2 k0_ippsECCPBindGxyTblStdSM2 -#define ippsECCPGet k0_ippsECCPGet -#define ippsECCPGetOrderBitSize k0_ippsECCPGetOrderBitSize -#define ippsECCPValidate k0_ippsECCPValidate -#define ippsECCPPointGetSize k0_ippsECCPPointGetSize -#define ippsECCPPointInit k0_ippsECCPPointInit -#define ippsECCPSetPoint k0_ippsECCPSetPoint -#define ippsECCPSetPointAtInfinity k0_ippsECCPSetPointAtInfinity -#define ippsECCPGetPoint k0_ippsECCPGetPoint -#define ippsECCPCheckPoint k0_ippsECCPCheckPoint -#define ippsECCPComparePoint k0_ippsECCPComparePoint -#define ippsECCPNegativePoint k0_ippsECCPNegativePoint -#define ippsECCPAddPoint k0_ippsECCPAddPoint -#define ippsECCPMulPointScalar k0_ippsECCPMulPointScalar -#define ippsECCPGenKeyPair k0_ippsECCPGenKeyPair -#define ippsECCPPublicKey k0_ippsECCPPublicKey -#define ippsECCPValidateKeyPair k0_ippsECCPValidateKeyPair -#define ippsECCPSetKeyPair k0_ippsECCPSetKeyPair -#define ippsECCPSharedSecretDH k0_ippsECCPSharedSecretDH -#define ippsECCPSharedSecretDHC k0_ippsECCPSharedSecretDHC -#define ippsECCPSignDSA k0_ippsECCPSignDSA -#define ippsECCPVerifyDSA k0_ippsECCPVerifyDSA -#define ippsECCPSignNR k0_ippsECCPSignNR -#define ippsECCPVerifyNR k0_ippsECCPVerifyNR -#define ippsECCPSignSM2 k0_ippsECCPSignSM2 -#define ippsECCPVerifySM2 k0_ippsECCPVerifySM2 -#define ippsGFpGetSize k0_ippsGFpGetSize -#define ippsGFpInitArbitrary k0_ippsGFpInitArbitrary -#define ippsGFpInitFixed k0_ippsGFpInitFixed -#define ippsGFpInit k0_ippsGFpInit -#define ippsGFpMethod_p192r1 k0_ippsGFpMethod_p192r1 -#define ippsGFpMethod_p224r1 k0_ippsGFpMethod_p224r1 -#define ippsGFpMethod_p256r1 k0_ippsGFpMethod_p256r1 -#define ippsGFpMethod_p384r1 k0_ippsGFpMethod_p384r1 -#define ippsGFpMethod_p521r1 k0_ippsGFpMethod_p521r1 -#define ippsGFpMethod_p256sm2 k0_ippsGFpMethod_p256sm2 -#define ippsGFpMethod_p256bn k0_ippsGFpMethod_p256bn -#define ippsGFpMethod_p256 k0_ippsGFpMethod_p256 -#define ippsGFpMethod_pArb k0_ippsGFpMethod_pArb -#define ippsGFpxGetSize k0_ippsGFpxGetSize -#define ippsGFpxInit k0_ippsGFpxInit -#define ippsGFpxInitBinomial k0_ippsGFpxInitBinomial -#define ippsGFpxMethod_binom2_epid2 k0_ippsGFpxMethod_binom2_epid2 -#define ippsGFpxMethod_binom3_epid2 k0_ippsGFpxMethod_binom3_epid2 -#define ippsGFpxMethod_binom2 k0_ippsGFpxMethod_binom2 -#define ippsGFpxMethod_binom3 k0_ippsGFpxMethod_binom3 -#define ippsGFpxMethod_binom k0_ippsGFpxMethod_binom -#define ippsGFpxMethod_com k0_ippsGFpxMethod_com -#define ippsGFpScratchBufferSize k0_ippsGFpScratchBufferSize -#define ippsGFpElementGetSize k0_ippsGFpElementGetSize -#define ippsGFpElementInit k0_ippsGFpElementInit -#define ippsGFpSetElement k0_ippsGFpSetElement -#define ippsGFpSetElementRegular k0_ippsGFpSetElementRegular -#define ippsGFpSetElementOctString k0_ippsGFpSetElementOctString -#define ippsGFpSetElementRandom k0_ippsGFpSetElementRandom -#define ippsGFpSetElementHash k0_ippsGFpSetElementHash -#define ippsGFpSetElementHash_rmf k0_ippsGFpSetElementHash_rmf -#define ippsGFpCpyElement k0_ippsGFpCpyElement -#define ippsGFpGetElement k0_ippsGFpGetElement -#define ippsGFpGetElementOctString k0_ippsGFpGetElementOctString -#define ippsGFpCmpElement k0_ippsGFpCmpElement -#define ippsGFpIsZeroElement k0_ippsGFpIsZeroElement -#define ippsGFpIsUnityElement k0_ippsGFpIsUnityElement -#define ippsGFpConj k0_ippsGFpConj -#define ippsGFpNeg k0_ippsGFpNeg -#define ippsGFpInv k0_ippsGFpInv -#define ippsGFpSqrt k0_ippsGFpSqrt -#define ippsGFpSqr k0_ippsGFpSqr -#define ippsGFpAdd k0_ippsGFpAdd -#define ippsGFpSub k0_ippsGFpSub -#define ippsGFpMul k0_ippsGFpMul -#define ippsGFpExp k0_ippsGFpExp -#define ippsGFpMultiExp k0_ippsGFpMultiExp -#define ippsGFpAdd_PE k0_ippsGFpAdd_PE -#define ippsGFpSub_PE k0_ippsGFpSub_PE -#define ippsGFpMul_PE k0_ippsGFpMul_PE -#define ippsGFpGetInfo k0_ippsGFpGetInfo -#define ippsGFpECGetSize k0_ippsGFpECGetSize -#define ippsGFpECInit k0_ippsGFpECInit -#define ippsGFpECSet k0_ippsGFpECSet -#define ippsGFpECSetSubgroup k0_ippsGFpECSetSubgroup -#define ippsGFpECInitStd128r1 k0_ippsGFpECInitStd128r1 -#define ippsGFpECInitStd128r2 k0_ippsGFpECInitStd128r2 -#define ippsGFpECInitStd192r1 k0_ippsGFpECInitStd192r1 -#define ippsGFpECInitStd224r1 k0_ippsGFpECInitStd224r1 -#define ippsGFpECInitStd256r1 k0_ippsGFpECInitStd256r1 -#define ippsGFpECInitStd384r1 k0_ippsGFpECInitStd384r1 -#define ippsGFpECInitStd521r1 k0_ippsGFpECInitStd521r1 -#define ippsGFpECInitStdSM2 k0_ippsGFpECInitStdSM2 -#define ippsGFpECInitStdBN256 k0_ippsGFpECInitStdBN256 -#define ippsGFpECBindGxyTblStd192r1 k0_ippsGFpECBindGxyTblStd192r1 -#define ippsGFpECBindGxyTblStd224r1 k0_ippsGFpECBindGxyTblStd224r1 -#define ippsGFpECBindGxyTblStd256r1 k0_ippsGFpECBindGxyTblStd256r1 -#define ippsGFpECBindGxyTblStd384r1 k0_ippsGFpECBindGxyTblStd384r1 -#define ippsGFpECBindGxyTblStd521r1 k0_ippsGFpECBindGxyTblStd521r1 -#define ippsGFpECBindGxyTblStdSM2 k0_ippsGFpECBindGxyTblStdSM2 -#define ippsGFpECGet k0_ippsGFpECGet -#define ippsGFpECGetSubgroup k0_ippsGFpECGetSubgroup -#define ippsGFpECScratchBufferSize k0_ippsGFpECScratchBufferSize -#define ippsGFpECVerify k0_ippsGFpECVerify -#define ippsGFpECPointGetSize k0_ippsGFpECPointGetSize -#define ippsGFpECPointInit k0_ippsGFpECPointInit -#define ippsGFpECSetPointAtInfinity k0_ippsGFpECSetPointAtInfinity -#define ippsGFpECSetPoint k0_ippsGFpECSetPoint -#define ippsGFpECSetPointRegular k0_ippsGFpECSetPointRegular -#define ippsGFpECSetPointRandom k0_ippsGFpECSetPointRandom -#define ippsGFpECMakePoint k0_ippsGFpECMakePoint -#define ippsGFpECSetPointHash k0_ippsGFpECSetPointHash -#define ippsGFpECSetPointHashBackCompatible k0_ippsGFpECSetPointHashBackCompatible -#define ippsGFpECSetPointHash_rmf k0_ippsGFpECSetPointHash_rmf -#define ippsGFpECSetPointHashBackCompatible_rmf k0_ippsGFpECSetPointHashBackCompatible_rmf -#define ippsGFpECGetPoint k0_ippsGFpECGetPoint -#define ippsGFpECGetPointRegular k0_ippsGFpECGetPointRegular -#define ippsGFpECSetPointOctString k0_ippsGFpECSetPointOctString -#define ippsGFpECGetPointOctString k0_ippsGFpECGetPointOctString -#define ippsGFpECTstPoint k0_ippsGFpECTstPoint -#define ippsGFpECTstPointInSubgroup k0_ippsGFpECTstPointInSubgroup -#define ippsGFpECCpyPoint k0_ippsGFpECCpyPoint -#define ippsGFpECCmpPoint k0_ippsGFpECCmpPoint -#define ippsGFpECNegPoint k0_ippsGFpECNegPoint -#define ippsGFpECAddPoint k0_ippsGFpECAddPoint -#define ippsGFpECMulPoint k0_ippsGFpECMulPoint -#define ippsGFpECPrivateKey k0_ippsGFpECPrivateKey -#define ippsGFpECPublicKey k0_ippsGFpECPublicKey -#define ippsGFpECTstKeyPair k0_ippsGFpECTstKeyPair -#define ippsGFpECSharedSecretDH k0_ippsGFpECSharedSecretDH -#define ippsGFpECSharedSecretDHC k0_ippsGFpECSharedSecretDHC -#define ippsGFpECMessageRepresentationSM2 k0_ippsGFpECMessageRepresentationSM2 -#define ippsGFpECSignDSA k0_ippsGFpECSignDSA -#define ippsGFpECVerifyDSA k0_ippsGFpECVerifyDSA -#define ippsGFpECSignNR k0_ippsGFpECSignNR -#define ippsGFpECVerifyNR k0_ippsGFpECVerifyNR -#define ippsGFpECSignSM2 k0_ippsGFpECSignSM2 -#define ippsGFpECVerifySM2 k0_ippsGFpECVerifySM2 -#define ippsGFpECUserIDHashSM2 k0_ippsGFpECUserIDHashSM2 -#define ippsGFpECKeyExchangeSM2_GetSize k0_ippsGFpECKeyExchangeSM2_GetSize -#define ippsGFpECKeyExchangeSM2_Init k0_ippsGFpECKeyExchangeSM2_Init -#define ippsGFpECKeyExchangeSM2_Setup k0_ippsGFpECKeyExchangeSM2_Setup -#define ippsGFpECKeyExchangeSM2_SharedKey k0_ippsGFpECKeyExchangeSM2_SharedKey -#define ippsGFpECKeyExchangeSM2_Confirm k0_ippsGFpECKeyExchangeSM2_Confirm -#define ippsGFpECGetInfo_GF k0_ippsGFpECGetInfo_GF -#define ippsGFpECESGetSize_SM2 k0_ippsGFpECESGetSize_SM2 -#define ippsGFpECESInit_SM2 k0_ippsGFpECESInit_SM2 -#define ippsGFpECESSetKey_SM2 k0_ippsGFpECESSetKey_SM2 -#define ippsGFpECESStart_SM2 k0_ippsGFpECESStart_SM2 -#define ippsGFpECESEncrypt_SM2 k0_ippsGFpECESEncrypt_SM2 -#define ippsGFpECESDecrypt_SM2 k0_ippsGFpECESDecrypt_SM2 -#define ippsGFpECESFinal_SM2 k0_ippsGFpECESFinal_SM2 -#define ippsGFpECESGetBuffersSize_SM2 k0_ippsGFpECESGetBuffersSize_SM2 -#define ippsGFpECEncryptSM2_Ext_EncMsgSize k0_ippsGFpECEncryptSM2_Ext_EncMsgSize -#define ippsGFpECEncryptSM2_Ext k0_ippsGFpECEncryptSM2_Ext -#define ippsGFpECDecryptSM2_Ext_DecMsgSize k0_ippsGFpECDecryptSM2_Ext_DecMsgSize -#define ippsGFpECDecryptSM2_Ext k0_ippsGFpECDecryptSM2_Ext diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_k1.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_k1.h deleted file mode 100644 index 8f5aad3..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_k1.h +++ /dev/null @@ -1,557 +0,0 @@ -/******************************************************************************* - * Copyright 2023 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *******************************************************************************/ - - #define ippcpGetLibVersion k1_ippcpGetLibVersion -#define ippsDESGetSize k1_ippsDESGetSize -#define ippsDESInit k1_ippsDESInit -#define ippsDESPack k1_ippsDESPack -#define ippsDESUnpack k1_ippsDESUnpack -#define ippsTDESEncryptECB k1_ippsTDESEncryptECB -#define ippsTDESDecryptECB k1_ippsTDESDecryptECB -#define ippsTDESEncryptCBC k1_ippsTDESEncryptCBC -#define ippsTDESDecryptCBC k1_ippsTDESDecryptCBC -#define ippsTDESEncryptCFB k1_ippsTDESEncryptCFB -#define ippsTDESDecryptCFB k1_ippsTDESDecryptCFB -#define ippsTDESEncryptOFB k1_ippsTDESEncryptOFB -#define ippsTDESDecryptOFB k1_ippsTDESDecryptOFB -#define ippsTDESEncryptCTR k1_ippsTDESEncryptCTR -#define ippsTDESDecryptCTR k1_ippsTDESDecryptCTR -#define ippsAESGetSize k1_ippsAESGetSize -#define ippsAESInit k1_ippsAESInit -#define ippsAESSetKey k1_ippsAESSetKey -#define ippsAESPack k1_ippsAESPack -#define ippsAESUnpack k1_ippsAESUnpack -#define ippsAESEncryptECB k1_ippsAESEncryptECB -#define ippsAESDecryptECB k1_ippsAESDecryptECB -#define ippsAESEncryptCBC k1_ippsAESEncryptCBC -#define ippsAESEncryptCBC_CS1 k1_ippsAESEncryptCBC_CS1 -#define ippsAESEncryptCBC_CS2 k1_ippsAESEncryptCBC_CS2 -#define ippsAESEncryptCBC_CS3 k1_ippsAESEncryptCBC_CS3 -#define ippsAESDecryptCBC k1_ippsAESDecryptCBC -#define ippsAESDecryptCBC_CS1 k1_ippsAESDecryptCBC_CS1 -#define ippsAESDecryptCBC_CS2 k1_ippsAESDecryptCBC_CS2 -#define ippsAESDecryptCBC_CS3 k1_ippsAESDecryptCBC_CS3 -#define ippsAESEncryptCFB k1_ippsAESEncryptCFB -#define ippsAESDecryptCFB k1_ippsAESDecryptCFB -#define ippsAESEncryptOFB k1_ippsAESEncryptOFB -#define ippsAESDecryptOFB k1_ippsAESDecryptOFB -#define ippsAESEncryptCTR k1_ippsAESEncryptCTR -#define ippsAESDecryptCTR k1_ippsAESDecryptCTR -#define ippsAESEncryptXTS_Direct k1_ippsAESEncryptXTS_Direct -#define ippsAESDecryptXTS_Direct k1_ippsAESDecryptXTS_Direct -#define ippsAESSetupNoise k1_ippsAESSetupNoise -#define ippsAES_GCMSetupNoise k1_ippsAES_GCMSetupNoise -#define ippsAES_CMACSetupNoise k1_ippsAES_CMACSetupNoise -#define ippsAES_EncryptCFB16_MB k1_ippsAES_EncryptCFB16_MB -#define ippsSMS4GetSize k1_ippsSMS4GetSize -#define ippsSMS4Init k1_ippsSMS4Init -#define ippsSMS4SetKey k1_ippsSMS4SetKey -#define ippsSMS4EncryptECB k1_ippsSMS4EncryptECB -#define ippsSMS4DecryptECB k1_ippsSMS4DecryptECB -#define ippsSMS4EncryptCBC k1_ippsSMS4EncryptCBC -#define ippsSMS4EncryptCBC_CS1 k1_ippsSMS4EncryptCBC_CS1 -#define ippsSMS4EncryptCBC_CS2 k1_ippsSMS4EncryptCBC_CS2 -#define ippsSMS4EncryptCBC_CS3 k1_ippsSMS4EncryptCBC_CS3 -#define ippsSMS4DecryptCBC k1_ippsSMS4DecryptCBC -#define ippsSMS4DecryptCBC_CS1 k1_ippsSMS4DecryptCBC_CS1 -#define ippsSMS4DecryptCBC_CS2 k1_ippsSMS4DecryptCBC_CS2 -#define ippsSMS4DecryptCBC_CS3 k1_ippsSMS4DecryptCBC_CS3 -#define ippsSMS4EncryptCFB k1_ippsSMS4EncryptCFB -#define ippsSMS4DecryptCFB k1_ippsSMS4DecryptCFB -#define ippsSMS4EncryptOFB k1_ippsSMS4EncryptOFB -#define ippsSMS4DecryptOFB k1_ippsSMS4DecryptOFB -#define ippsSMS4EncryptCTR k1_ippsSMS4EncryptCTR -#define ippsSMS4DecryptCTR k1_ippsSMS4DecryptCTR -#define ippsSMS4_CCMGetSize k1_ippsSMS4_CCMGetSize -#define ippsSMS4_CCMInit k1_ippsSMS4_CCMInit -#define ippsSMS4_CCMMessageLen k1_ippsSMS4_CCMMessageLen -#define ippsSMS4_CCMTagLen k1_ippsSMS4_CCMTagLen -#define ippsSMS4_CCMStart k1_ippsSMS4_CCMStart -#define ippsSMS4_CCMEncrypt k1_ippsSMS4_CCMEncrypt -#define ippsSMS4_CCMDecrypt k1_ippsSMS4_CCMDecrypt -#define ippsSMS4_CCMGetTag k1_ippsSMS4_CCMGetTag -#define ippsAES_CCMGetSize k1_ippsAES_CCMGetSize -#define ippsAES_CCMInit k1_ippsAES_CCMInit -#define ippsAES_CCMMessageLen k1_ippsAES_CCMMessageLen -#define ippsAES_CCMTagLen k1_ippsAES_CCMTagLen -#define ippsAES_CCMStart k1_ippsAES_CCMStart -#define ippsAES_CCMEncrypt k1_ippsAES_CCMEncrypt -#define ippsAES_CCMDecrypt k1_ippsAES_CCMDecrypt -#define ippsAES_CCMGetTag k1_ippsAES_CCMGetTag -#define ippsAES_GCMGetSize k1_ippsAES_GCMGetSize -#define ippsAES_GCMInit k1_ippsAES_GCMInit -#define ippsAES_GCMReinit k1_ippsAES_GCMReinit -#define ippsAES_GCMReset k1_ippsAES_GCMReset -#define ippsAES_GCMProcessIV k1_ippsAES_GCMProcessIV -#define ippsAES_GCMProcessAAD k1_ippsAES_GCMProcessAAD -#define ippsAES_GCMStart k1_ippsAES_GCMStart -#define ippsAES_GCMEncrypt k1_ippsAES_GCMEncrypt -#define ippsAES_GCMDecrypt k1_ippsAES_GCMDecrypt -#define ippsAES_GCMGetTag k1_ippsAES_GCMGetTag -#define ippsAES_XTSGetSize k1_ippsAES_XTSGetSize -#define ippsAES_XTSInit k1_ippsAES_XTSInit -#define ippsAES_XTSEncrypt k1_ippsAES_XTSEncrypt -#define ippsAES_XTSDecrypt k1_ippsAES_XTSDecrypt -#define ippsAES_S2V_CMAC k1_ippsAES_S2V_CMAC -#define ippsAES_SIVEncrypt k1_ippsAES_SIVEncrypt -#define ippsAES_SIVDecrypt k1_ippsAES_SIVDecrypt -#define ippsAES_CMACGetSize k1_ippsAES_CMACGetSize -#define ippsAES_CMACInit k1_ippsAES_CMACInit -#define ippsAES_CMACUpdate k1_ippsAES_CMACUpdate -#define ippsAES_CMACFinal k1_ippsAES_CMACFinal -#define ippsAES_CMACGetTag k1_ippsAES_CMACGetTag -#define ippsARCFourCheckKey k1_ippsARCFourCheckKey -#define ippsARCFourGetSize k1_ippsARCFourGetSize -#define ippsARCFourInit k1_ippsARCFourInit -#define ippsARCFourReset k1_ippsARCFourReset -#define ippsARCFourPack k1_ippsARCFourPack -#define ippsARCFourUnpack k1_ippsARCFourUnpack -#define ippsARCFourEncrypt k1_ippsARCFourEncrypt -#define ippsARCFourDecrypt k1_ippsARCFourDecrypt -#define ippsSHA1GetSize k1_ippsSHA1GetSize -#define ippsSHA1Init k1_ippsSHA1Init -#define ippsSHA1Duplicate k1_ippsSHA1Duplicate -#define ippsSHA1Pack k1_ippsSHA1Pack -#define ippsSHA1Unpack k1_ippsSHA1Unpack -#define ippsSHA1Update k1_ippsSHA1Update -#define ippsSHA1GetTag k1_ippsSHA1GetTag -#define ippsSHA1Final k1_ippsSHA1Final -#define ippsSHA1MessageDigest k1_ippsSHA1MessageDigest -#define ippsSHA224GetSize k1_ippsSHA224GetSize -#define ippsSHA224Init k1_ippsSHA224Init -#define ippsSHA224Duplicate k1_ippsSHA224Duplicate -#define ippsSHA224Pack k1_ippsSHA224Pack -#define ippsSHA224Unpack k1_ippsSHA224Unpack -#define ippsSHA224Update k1_ippsSHA224Update -#define ippsSHA224GetTag k1_ippsSHA224GetTag -#define ippsSHA224Final k1_ippsSHA224Final -#define ippsSHA224MessageDigest k1_ippsSHA224MessageDigest -#define ippsSHA256GetSize k1_ippsSHA256GetSize -#define ippsSHA256Init k1_ippsSHA256Init -#define ippsSHA256Duplicate k1_ippsSHA256Duplicate -#define ippsSHA256Pack k1_ippsSHA256Pack -#define ippsSHA256Unpack k1_ippsSHA256Unpack -#define ippsSHA256Update k1_ippsSHA256Update -#define ippsSHA256GetTag k1_ippsSHA256GetTag -#define ippsSHA256Final k1_ippsSHA256Final -#define ippsSHA256MessageDigest k1_ippsSHA256MessageDigest -#define ippsSHA384GetSize k1_ippsSHA384GetSize -#define ippsSHA384Init k1_ippsSHA384Init -#define ippsSHA384Duplicate k1_ippsSHA384Duplicate -#define ippsSHA384Pack k1_ippsSHA384Pack -#define ippsSHA384Unpack k1_ippsSHA384Unpack -#define ippsSHA384Update k1_ippsSHA384Update -#define ippsSHA384GetTag k1_ippsSHA384GetTag -#define ippsSHA384Final k1_ippsSHA384Final -#define ippsSHA384MessageDigest k1_ippsSHA384MessageDigest -#define ippsSHA512GetSize k1_ippsSHA512GetSize -#define ippsSHA512Init k1_ippsSHA512Init -#define ippsSHA512Duplicate k1_ippsSHA512Duplicate -#define ippsSHA512Pack k1_ippsSHA512Pack -#define ippsSHA512Unpack k1_ippsSHA512Unpack -#define ippsSHA512Update k1_ippsSHA512Update -#define ippsSHA512GetTag k1_ippsSHA512GetTag -#define ippsSHA512Final k1_ippsSHA512Final -#define ippsSHA512MessageDigest k1_ippsSHA512MessageDigest -#define ippsMD5GetSize k1_ippsMD5GetSize -#define ippsMD5Init k1_ippsMD5Init -#define ippsMD5Duplicate k1_ippsMD5Duplicate -#define ippsMD5Pack k1_ippsMD5Pack -#define ippsMD5Unpack k1_ippsMD5Unpack -#define ippsMD5Update k1_ippsMD5Update -#define ippsMD5GetTag k1_ippsMD5GetTag -#define ippsMD5Final k1_ippsMD5Final -#define ippsMD5MessageDigest k1_ippsMD5MessageDigest -#define ippsSM3GetSize k1_ippsSM3GetSize -#define ippsSM3Init k1_ippsSM3Init -#define ippsSM3Duplicate k1_ippsSM3Duplicate -#define ippsSM3Pack k1_ippsSM3Pack -#define ippsSM3Unpack k1_ippsSM3Unpack -#define ippsSM3Update k1_ippsSM3Update -#define ippsSM3GetTag k1_ippsSM3GetTag -#define ippsSM3Final k1_ippsSM3Final -#define ippsSM3MessageDigest k1_ippsSM3MessageDigest -#define ippsHashGetSize k1_ippsHashGetSize -#define ippsHashInit k1_ippsHashInit -#define ippsHashPack k1_ippsHashPack -#define ippsHashUnpack k1_ippsHashUnpack -#define ippsHashDuplicate k1_ippsHashDuplicate -#define ippsHashUpdate k1_ippsHashUpdate -#define ippsHashGetTag k1_ippsHashGetTag -#define ippsHashFinal k1_ippsHashFinal -#define ippsHashMessage k1_ippsHashMessage -#define ippsHashMethod_MD5 k1_ippsHashMethod_MD5 -#define ippsHashMethod_SM3 k1_ippsHashMethod_SM3 -#define ippsHashMethod_SHA1 k1_ippsHashMethod_SHA1 -#define ippsHashMethod_SHA1_NI k1_ippsHashMethod_SHA1_NI -#define ippsHashMethod_SHA1_TT k1_ippsHashMethod_SHA1_TT -#define ippsHashMethod_SHA256 k1_ippsHashMethod_SHA256 -#define ippsHashMethod_SHA256_NI k1_ippsHashMethod_SHA256_NI -#define ippsHashMethod_SHA256_TT k1_ippsHashMethod_SHA256_TT -#define ippsHashMethod_SHA224 k1_ippsHashMethod_SHA224 -#define ippsHashMethod_SHA224_NI k1_ippsHashMethod_SHA224_NI -#define ippsHashMethod_SHA224_TT k1_ippsHashMethod_SHA224_TT -#define ippsHashMethod_SHA512 k1_ippsHashMethod_SHA512 -#define ippsHashMethod_SHA384 k1_ippsHashMethod_SHA384 -#define ippsHashMethod_SHA512_256 k1_ippsHashMethod_SHA512_256 -#define ippsHashMethod_SHA512_224 k1_ippsHashMethod_SHA512_224 -#define ippsHashMethodGetSize k1_ippsHashMethodGetSize -#define ippsHashMethodSet_MD5 k1_ippsHashMethodSet_MD5 -#define ippsHashMethodSet_SM3 k1_ippsHashMethodSet_SM3 -#define ippsHashStateMethodSet_SM3 k1_ippsHashStateMethodSet_SM3 -#define ippsHashMethodSet_SHA1 k1_ippsHashMethodSet_SHA1 -#define ippsHashMethodSet_SHA1_NI k1_ippsHashMethodSet_SHA1_NI -#define ippsHashMethodSet_SHA1_TT k1_ippsHashMethodSet_SHA1_TT -#define ippsHashMethodSet_SHA256 k1_ippsHashMethodSet_SHA256 -#define ippsHashMethodSet_SHA256_NI k1_ippsHashMethodSet_SHA256_NI -#define ippsHashMethodSet_SHA256_TT k1_ippsHashMethodSet_SHA256_TT -#define ippsHashStateMethodSet_SHA256 k1_ippsHashStateMethodSet_SHA256 -#define ippsHashStateMethodSet_SHA256_NI k1_ippsHashStateMethodSet_SHA256_NI -#define ippsHashStateMethodSet_SHA256_TT k1_ippsHashStateMethodSet_SHA256_TT -#define ippsHashMethodSet_SHA224 k1_ippsHashMethodSet_SHA224 -#define ippsHashMethodSet_SHA224_NI k1_ippsHashMethodSet_SHA224_NI -#define ippsHashMethodSet_SHA224_TT k1_ippsHashMethodSet_SHA224_TT -#define ippsHashStateMethodSet_SHA224 k1_ippsHashStateMethodSet_SHA224 -#define ippsHashStateMethodSet_SHA224_NI k1_ippsHashStateMethodSet_SHA224_NI -#define ippsHashStateMethodSet_SHA224_TT k1_ippsHashStateMethodSet_SHA224_TT -#define ippsHashMethodSet_SHA512 k1_ippsHashMethodSet_SHA512 -#define ippsHashMethodSet_SHA384 k1_ippsHashMethodSet_SHA384 -#define ippsHashMethodSet_SHA512_256 k1_ippsHashMethodSet_SHA512_256 -#define ippsHashMethodSet_SHA512_224 k1_ippsHashMethodSet_SHA512_224 -#define ippsHashStateMethodSet_SHA512 k1_ippsHashStateMethodSet_SHA512 -#define ippsHashStateMethodSet_SHA384 k1_ippsHashStateMethodSet_SHA384 -#define ippsHashStateMethodSet_SHA512_256 k1_ippsHashStateMethodSet_SHA512_256 -#define ippsHashStateMethodSet_SHA512_224 k1_ippsHashStateMethodSet_SHA512_224 -#define ippsHashGetSize_rmf k1_ippsHashGetSize_rmf -#define ippsHashInit_rmf k1_ippsHashInit_rmf -#define ippsHashPack_rmf k1_ippsHashPack_rmf -#define ippsHashUnpack_rmf k1_ippsHashUnpack_rmf -#define ippsHashDuplicate_rmf k1_ippsHashDuplicate_rmf -#define ippsHashUpdate_rmf k1_ippsHashUpdate_rmf -#define ippsHashGetTag_rmf k1_ippsHashGetTag_rmf -#define ippsHashFinal_rmf k1_ippsHashFinal_rmf -#define ippsHashMessage_rmf k1_ippsHashMessage_rmf -#define ippsHashMethodGetInfo k1_ippsHashMethodGetInfo -#define ippsHashGetInfo_rmf k1_ippsHashGetInfo_rmf -#define ippsMGF k1_ippsMGF -#define ippsMGF1_rmf k1_ippsMGF1_rmf -#define ippsMGF2_rmf k1_ippsMGF2_rmf -#define ippsHMAC_GetSize k1_ippsHMAC_GetSize -#define ippsHMAC_Init k1_ippsHMAC_Init -#define ippsHMAC_Pack k1_ippsHMAC_Pack -#define ippsHMAC_Unpack k1_ippsHMAC_Unpack -#define ippsHMAC_Duplicate k1_ippsHMAC_Duplicate -#define ippsHMAC_Update k1_ippsHMAC_Update -#define ippsHMAC_Final k1_ippsHMAC_Final -#define ippsHMAC_GetTag k1_ippsHMAC_GetTag -#define ippsHMAC_Message k1_ippsHMAC_Message -#define ippsHMACGetSize_rmf k1_ippsHMACGetSize_rmf -#define ippsHMACInit_rmf k1_ippsHMACInit_rmf -#define ippsHMACPack_rmf k1_ippsHMACPack_rmf -#define ippsHMACUnpack_rmf k1_ippsHMACUnpack_rmf -#define ippsHMACDuplicate_rmf k1_ippsHMACDuplicate_rmf -#define ippsHMACUpdate_rmf k1_ippsHMACUpdate_rmf -#define ippsHMACFinal_rmf k1_ippsHMACFinal_rmf -#define ippsHMACGetTag_rmf k1_ippsHMACGetTag_rmf -#define ippsHMACMessage_rmf k1_ippsHMACMessage_rmf -#define ippsBigNumGetSize k1_ippsBigNumGetSize -#define ippsBigNumInit k1_ippsBigNumInit -#define ippsCmpZero_BN k1_ippsCmpZero_BN -#define ippsCmp_BN k1_ippsCmp_BN -#define ippsGetSize_BN k1_ippsGetSize_BN -#define ippsSet_BN k1_ippsSet_BN -#define ippsGet_BN k1_ippsGet_BN -#define ippsRef_BN k1_ippsRef_BN -#define ippsExtGet_BN k1_ippsExtGet_BN -#define ippsAdd_BN k1_ippsAdd_BN -#define ippsSub_BN k1_ippsSub_BN -#define ippsMul_BN k1_ippsMul_BN -#define ippsMAC_BN_I k1_ippsMAC_BN_I -#define ippsDiv_BN k1_ippsDiv_BN -#define ippsMod_BN k1_ippsMod_BN -#define ippsGcd_BN k1_ippsGcd_BN -#define ippsModInv_BN k1_ippsModInv_BN -#define ippsSetOctString_BN k1_ippsSetOctString_BN -#define ippsGetOctString_BN k1_ippsGetOctString_BN -#define ippsMontGetSize k1_ippsMontGetSize -#define ippsMontInit k1_ippsMontInit -#define ippsMontSet k1_ippsMontSet -#define ippsMontGet k1_ippsMontGet -#define ippsMontForm k1_ippsMontForm -#define ippsMontMul k1_ippsMontMul -#define ippsMontExp k1_ippsMontExp -#define ippsPRNGGetSize k1_ippsPRNGGetSize -#define ippsPRNGInit k1_ippsPRNGInit -#define ippsPRNGSetModulus k1_ippsPRNGSetModulus -#define ippsPRNGSetH0 k1_ippsPRNGSetH0 -#define ippsPRNGSetAugment k1_ippsPRNGSetAugment -#define ippsPRNGSetSeed k1_ippsPRNGSetSeed -#define ippsPRNGGetSeed k1_ippsPRNGGetSeed -#define ippsPRNGen k1_ippsPRNGen -#define ippsPRNGen_BN k1_ippsPRNGen_BN -#define ippsPRNGenRDRAND k1_ippsPRNGenRDRAND -#define ippsPRNGenRDRAND_BN k1_ippsPRNGenRDRAND_BN -#define ippsTRNGenRDSEED k1_ippsTRNGenRDSEED -#define ippsTRNGenRDSEED_BN k1_ippsTRNGenRDSEED_BN -#define ippsPrimeGetSize k1_ippsPrimeGetSize -#define ippsPrimeInit k1_ippsPrimeInit -#define ippsPrimeGen k1_ippsPrimeGen -#define ippsPrimeTest k1_ippsPrimeTest -#define ippsPrimeGen_BN k1_ippsPrimeGen_BN -#define ippsPrimeTest_BN k1_ippsPrimeTest_BN -#define ippsPrimeGet k1_ippsPrimeGet -#define ippsPrimeGet_BN k1_ippsPrimeGet_BN -#define ippsPrimeSet k1_ippsPrimeSet -#define ippsPrimeSet_BN k1_ippsPrimeSet_BN -#define ippsRSA_GetSizePublicKey k1_ippsRSA_GetSizePublicKey -#define ippsRSA_InitPublicKey k1_ippsRSA_InitPublicKey -#define ippsRSA_SetPublicKey k1_ippsRSA_SetPublicKey -#define ippsRSA_GetPublicKey k1_ippsRSA_GetPublicKey -#define ippsRSA_GetSizePrivateKeyType1 k1_ippsRSA_GetSizePrivateKeyType1 -#define ippsRSA_InitPrivateKeyType1 k1_ippsRSA_InitPrivateKeyType1 -#define ippsRSA_SetPrivateKeyType1 k1_ippsRSA_SetPrivateKeyType1 -#define ippsRSA_GetPrivateKeyType1 k1_ippsRSA_GetPrivateKeyType1 -#define ippsRSA_GetSizePrivateKeyType2 k1_ippsRSA_GetSizePrivateKeyType2 -#define ippsRSA_InitPrivateKeyType2 k1_ippsRSA_InitPrivateKeyType2 -#define ippsRSA_SetPrivateKeyType2 k1_ippsRSA_SetPrivateKeyType2 -#define ippsRSA_GetPrivateKeyType2 k1_ippsRSA_GetPrivateKeyType2 -#define ippsRSA_GetBufferSizePublicKey k1_ippsRSA_GetBufferSizePublicKey -#define ippsRSA_GetBufferSizePrivateKey k1_ippsRSA_GetBufferSizePrivateKey -#define ippsRSA_Encrypt k1_ippsRSA_Encrypt -#define ippsRSA_Decrypt k1_ippsRSA_Decrypt -#define ippsRSA_GenerateKeys k1_ippsRSA_GenerateKeys -#define ippsRSA_ValidateKeys k1_ippsRSA_ValidateKeys -#define ippsRSAEncrypt_OAEP k1_ippsRSAEncrypt_OAEP -#define ippsRSADecrypt_OAEP k1_ippsRSADecrypt_OAEP -#define ippsRSAEncrypt_OAEP_rmf k1_ippsRSAEncrypt_OAEP_rmf -#define ippsRSADecrypt_OAEP_rmf k1_ippsRSADecrypt_OAEP_rmf -#define ippsRSAEncrypt_PKCSv15 k1_ippsRSAEncrypt_PKCSv15 -#define ippsRSADecrypt_PKCSv15 k1_ippsRSADecrypt_PKCSv15 -#define ippsRSASign_PSS k1_ippsRSASign_PSS -#define ippsRSAVerify_PSS k1_ippsRSAVerify_PSS -#define ippsRSASign_PSS_rmf k1_ippsRSASign_PSS_rmf -#define ippsRSAVerify_PSS_rmf k1_ippsRSAVerify_PSS_rmf -#define ippsRSASign_PKCS1v15 k1_ippsRSASign_PKCS1v15 -#define ippsRSAVerify_PKCS1v15 k1_ippsRSAVerify_PKCS1v15 -#define ippsRSASign_PKCS1v15_rmf k1_ippsRSASign_PKCS1v15_rmf -#define ippsRSAVerify_PKCS1v15_rmf k1_ippsRSAVerify_PKCS1v15_rmf -#define ippsDLGetResultString k1_ippsDLGetResultString -#define ippsDLPGetSize k1_ippsDLPGetSize -#define ippsDLPInit k1_ippsDLPInit -#define ippsDLPPack k1_ippsDLPPack -#define ippsDLPUnpack k1_ippsDLPUnpack -#define ippsDLPSet k1_ippsDLPSet -#define ippsDLPGet k1_ippsDLPGet -#define ippsDLPSetDP k1_ippsDLPSetDP -#define ippsDLPGetDP k1_ippsDLPGetDP -#define ippsDLPGenKeyPair k1_ippsDLPGenKeyPair -#define ippsDLPPublicKey k1_ippsDLPPublicKey -#define ippsDLPValidateKeyPair k1_ippsDLPValidateKeyPair -#define ippsDLPSetKeyPair k1_ippsDLPSetKeyPair -#define ippsDLPSignDSA k1_ippsDLPSignDSA -#define ippsDLPVerifyDSA k1_ippsDLPVerifyDSA -#define ippsDLPSharedSecretDH k1_ippsDLPSharedSecretDH -#define ippsDLPGenerateDSA k1_ippsDLPGenerateDSA -#define ippsDLPValidateDSA k1_ippsDLPValidateDSA -#define ippsDLPGenerateDH k1_ippsDLPGenerateDH -#define ippsDLPValidateDH k1_ippsDLPValidateDH -#define ippsECCGetResultString k1_ippsECCGetResultString -#define ippsECCPGetSize k1_ippsECCPGetSize -#define ippsECCPGetSizeStd128r1 k1_ippsECCPGetSizeStd128r1 -#define ippsECCPGetSizeStd128r2 k1_ippsECCPGetSizeStd128r2 -#define ippsECCPGetSizeStd192r1 k1_ippsECCPGetSizeStd192r1 -#define ippsECCPGetSizeStd224r1 k1_ippsECCPGetSizeStd224r1 -#define ippsECCPGetSizeStd256r1 k1_ippsECCPGetSizeStd256r1 -#define ippsECCPGetSizeStd384r1 k1_ippsECCPGetSizeStd384r1 -#define ippsECCPGetSizeStd521r1 k1_ippsECCPGetSizeStd521r1 -#define ippsECCPGetSizeStdSM2 k1_ippsECCPGetSizeStdSM2 -#define ippsECCPInit k1_ippsECCPInit -#define ippsECCPInitStd128r1 k1_ippsECCPInitStd128r1 -#define ippsECCPInitStd128r2 k1_ippsECCPInitStd128r2 -#define ippsECCPInitStd192r1 k1_ippsECCPInitStd192r1 -#define ippsECCPInitStd224r1 k1_ippsECCPInitStd224r1 -#define ippsECCPInitStd256r1 k1_ippsECCPInitStd256r1 -#define ippsECCPInitStd384r1 k1_ippsECCPInitStd384r1 -#define ippsECCPInitStd521r1 k1_ippsECCPInitStd521r1 -#define ippsECCPInitStdSM2 k1_ippsECCPInitStdSM2 -#define ippsECCPSet k1_ippsECCPSet -#define ippsECCPSetStd k1_ippsECCPSetStd -#define ippsECCPSetStd128r1 k1_ippsECCPSetStd128r1 -#define ippsECCPSetStd128r2 k1_ippsECCPSetStd128r2 -#define ippsECCPSetStd192r1 k1_ippsECCPSetStd192r1 -#define ippsECCPSetStd224r1 k1_ippsECCPSetStd224r1 -#define ippsECCPSetStd256r1 k1_ippsECCPSetStd256r1 -#define ippsECCPSetStd384r1 k1_ippsECCPSetStd384r1 -#define ippsECCPSetStd521r1 k1_ippsECCPSetStd521r1 -#define ippsECCPSetStdSM2 k1_ippsECCPSetStdSM2 -#define ippsECCPBindGxyTblStd192r1 k1_ippsECCPBindGxyTblStd192r1 -#define ippsECCPBindGxyTblStd224r1 k1_ippsECCPBindGxyTblStd224r1 -#define ippsECCPBindGxyTblStd256r1 k1_ippsECCPBindGxyTblStd256r1 -#define ippsECCPBindGxyTblStd384r1 k1_ippsECCPBindGxyTblStd384r1 -#define ippsECCPBindGxyTblStd521r1 k1_ippsECCPBindGxyTblStd521r1 -#define ippsECCPBindGxyTblStdSM2 k1_ippsECCPBindGxyTblStdSM2 -#define ippsECCPGet k1_ippsECCPGet -#define ippsECCPGetOrderBitSize k1_ippsECCPGetOrderBitSize -#define ippsECCPValidate k1_ippsECCPValidate -#define ippsECCPPointGetSize k1_ippsECCPPointGetSize -#define ippsECCPPointInit k1_ippsECCPPointInit -#define ippsECCPSetPoint k1_ippsECCPSetPoint -#define ippsECCPSetPointAtInfinity k1_ippsECCPSetPointAtInfinity -#define ippsECCPGetPoint k1_ippsECCPGetPoint -#define ippsECCPCheckPoint k1_ippsECCPCheckPoint -#define ippsECCPComparePoint k1_ippsECCPComparePoint -#define ippsECCPNegativePoint k1_ippsECCPNegativePoint -#define ippsECCPAddPoint k1_ippsECCPAddPoint -#define ippsECCPMulPointScalar k1_ippsECCPMulPointScalar -#define ippsECCPGenKeyPair k1_ippsECCPGenKeyPair -#define ippsECCPPublicKey k1_ippsECCPPublicKey -#define ippsECCPValidateKeyPair k1_ippsECCPValidateKeyPair -#define ippsECCPSetKeyPair k1_ippsECCPSetKeyPair -#define ippsECCPSharedSecretDH k1_ippsECCPSharedSecretDH -#define ippsECCPSharedSecretDHC k1_ippsECCPSharedSecretDHC -#define ippsECCPSignDSA k1_ippsECCPSignDSA -#define ippsECCPVerifyDSA k1_ippsECCPVerifyDSA -#define ippsECCPSignNR k1_ippsECCPSignNR -#define ippsECCPVerifyNR k1_ippsECCPVerifyNR -#define ippsECCPSignSM2 k1_ippsECCPSignSM2 -#define ippsECCPVerifySM2 k1_ippsECCPVerifySM2 -#define ippsGFpGetSize k1_ippsGFpGetSize -#define ippsGFpInitArbitrary k1_ippsGFpInitArbitrary -#define ippsGFpInitFixed k1_ippsGFpInitFixed -#define ippsGFpInit k1_ippsGFpInit -#define ippsGFpMethod_p192r1 k1_ippsGFpMethod_p192r1 -#define ippsGFpMethod_p224r1 k1_ippsGFpMethod_p224r1 -#define ippsGFpMethod_p256r1 k1_ippsGFpMethod_p256r1 -#define ippsGFpMethod_p384r1 k1_ippsGFpMethod_p384r1 -#define ippsGFpMethod_p521r1 k1_ippsGFpMethod_p521r1 -#define ippsGFpMethod_p256sm2 k1_ippsGFpMethod_p256sm2 -#define ippsGFpMethod_p256bn k1_ippsGFpMethod_p256bn -#define ippsGFpMethod_p256 k1_ippsGFpMethod_p256 -#define ippsGFpMethod_pArb k1_ippsGFpMethod_pArb -#define ippsGFpxGetSize k1_ippsGFpxGetSize -#define ippsGFpxInit k1_ippsGFpxInit -#define ippsGFpxInitBinomial k1_ippsGFpxInitBinomial -#define ippsGFpxMethod_binom2_epid2 k1_ippsGFpxMethod_binom2_epid2 -#define ippsGFpxMethod_binom3_epid2 k1_ippsGFpxMethod_binom3_epid2 -#define ippsGFpxMethod_binom2 k1_ippsGFpxMethod_binom2 -#define ippsGFpxMethod_binom3 k1_ippsGFpxMethod_binom3 -#define ippsGFpxMethod_binom k1_ippsGFpxMethod_binom -#define ippsGFpxMethod_com k1_ippsGFpxMethod_com -#define ippsGFpScratchBufferSize k1_ippsGFpScratchBufferSize -#define ippsGFpElementGetSize k1_ippsGFpElementGetSize -#define ippsGFpElementInit k1_ippsGFpElementInit -#define ippsGFpSetElement k1_ippsGFpSetElement -#define ippsGFpSetElementRegular k1_ippsGFpSetElementRegular -#define ippsGFpSetElementOctString k1_ippsGFpSetElementOctString -#define ippsGFpSetElementRandom k1_ippsGFpSetElementRandom -#define ippsGFpSetElementHash k1_ippsGFpSetElementHash -#define ippsGFpSetElementHash_rmf k1_ippsGFpSetElementHash_rmf -#define ippsGFpCpyElement k1_ippsGFpCpyElement -#define ippsGFpGetElement k1_ippsGFpGetElement -#define ippsGFpGetElementOctString k1_ippsGFpGetElementOctString -#define ippsGFpCmpElement k1_ippsGFpCmpElement -#define ippsGFpIsZeroElement k1_ippsGFpIsZeroElement -#define ippsGFpIsUnityElement k1_ippsGFpIsUnityElement -#define ippsGFpConj k1_ippsGFpConj -#define ippsGFpNeg k1_ippsGFpNeg -#define ippsGFpInv k1_ippsGFpInv -#define ippsGFpSqrt k1_ippsGFpSqrt -#define ippsGFpSqr k1_ippsGFpSqr -#define ippsGFpAdd k1_ippsGFpAdd -#define ippsGFpSub k1_ippsGFpSub -#define ippsGFpMul k1_ippsGFpMul -#define ippsGFpExp k1_ippsGFpExp -#define ippsGFpMultiExp k1_ippsGFpMultiExp -#define ippsGFpAdd_PE k1_ippsGFpAdd_PE -#define ippsGFpSub_PE k1_ippsGFpSub_PE -#define ippsGFpMul_PE k1_ippsGFpMul_PE -#define ippsGFpGetInfo k1_ippsGFpGetInfo -#define ippsGFpECGetSize k1_ippsGFpECGetSize -#define ippsGFpECInit k1_ippsGFpECInit -#define ippsGFpECSet k1_ippsGFpECSet -#define ippsGFpECSetSubgroup k1_ippsGFpECSetSubgroup -#define ippsGFpECInitStd128r1 k1_ippsGFpECInitStd128r1 -#define ippsGFpECInitStd128r2 k1_ippsGFpECInitStd128r2 -#define ippsGFpECInitStd192r1 k1_ippsGFpECInitStd192r1 -#define ippsGFpECInitStd224r1 k1_ippsGFpECInitStd224r1 -#define ippsGFpECInitStd256r1 k1_ippsGFpECInitStd256r1 -#define ippsGFpECInitStd384r1 k1_ippsGFpECInitStd384r1 -#define ippsGFpECInitStd521r1 k1_ippsGFpECInitStd521r1 -#define ippsGFpECInitStdSM2 k1_ippsGFpECInitStdSM2 -#define ippsGFpECInitStdBN256 k1_ippsGFpECInitStdBN256 -#define ippsGFpECBindGxyTblStd192r1 k1_ippsGFpECBindGxyTblStd192r1 -#define ippsGFpECBindGxyTblStd224r1 k1_ippsGFpECBindGxyTblStd224r1 -#define ippsGFpECBindGxyTblStd256r1 k1_ippsGFpECBindGxyTblStd256r1 -#define ippsGFpECBindGxyTblStd384r1 k1_ippsGFpECBindGxyTblStd384r1 -#define ippsGFpECBindGxyTblStd521r1 k1_ippsGFpECBindGxyTblStd521r1 -#define ippsGFpECBindGxyTblStdSM2 k1_ippsGFpECBindGxyTblStdSM2 -#define ippsGFpECGet k1_ippsGFpECGet -#define ippsGFpECGetSubgroup k1_ippsGFpECGetSubgroup -#define ippsGFpECScratchBufferSize k1_ippsGFpECScratchBufferSize -#define ippsGFpECVerify k1_ippsGFpECVerify -#define ippsGFpECPointGetSize k1_ippsGFpECPointGetSize -#define ippsGFpECPointInit k1_ippsGFpECPointInit -#define ippsGFpECSetPointAtInfinity k1_ippsGFpECSetPointAtInfinity -#define ippsGFpECSetPoint k1_ippsGFpECSetPoint -#define ippsGFpECSetPointRegular k1_ippsGFpECSetPointRegular -#define ippsGFpECSetPointRandom k1_ippsGFpECSetPointRandom -#define ippsGFpECMakePoint k1_ippsGFpECMakePoint -#define ippsGFpECSetPointHash k1_ippsGFpECSetPointHash -#define ippsGFpECSetPointHashBackCompatible k1_ippsGFpECSetPointHashBackCompatible -#define ippsGFpECSetPointHash_rmf k1_ippsGFpECSetPointHash_rmf -#define ippsGFpECSetPointHashBackCompatible_rmf k1_ippsGFpECSetPointHashBackCompatible_rmf -#define ippsGFpECGetPoint k1_ippsGFpECGetPoint -#define ippsGFpECGetPointRegular k1_ippsGFpECGetPointRegular -#define ippsGFpECSetPointOctString k1_ippsGFpECSetPointOctString -#define ippsGFpECGetPointOctString k1_ippsGFpECGetPointOctString -#define ippsGFpECTstPoint k1_ippsGFpECTstPoint -#define ippsGFpECTstPointInSubgroup k1_ippsGFpECTstPointInSubgroup -#define ippsGFpECCpyPoint k1_ippsGFpECCpyPoint -#define ippsGFpECCmpPoint k1_ippsGFpECCmpPoint -#define ippsGFpECNegPoint k1_ippsGFpECNegPoint -#define ippsGFpECAddPoint k1_ippsGFpECAddPoint -#define ippsGFpECMulPoint k1_ippsGFpECMulPoint -#define ippsGFpECPrivateKey k1_ippsGFpECPrivateKey -#define ippsGFpECPublicKey k1_ippsGFpECPublicKey -#define ippsGFpECTstKeyPair k1_ippsGFpECTstKeyPair -#define ippsGFpECSharedSecretDH k1_ippsGFpECSharedSecretDH -#define ippsGFpECSharedSecretDHC k1_ippsGFpECSharedSecretDHC -#define ippsGFpECMessageRepresentationSM2 k1_ippsGFpECMessageRepresentationSM2 -#define ippsGFpECSignDSA k1_ippsGFpECSignDSA -#define ippsGFpECVerifyDSA k1_ippsGFpECVerifyDSA -#define ippsGFpECSignNR k1_ippsGFpECSignNR -#define ippsGFpECVerifyNR k1_ippsGFpECVerifyNR -#define ippsGFpECSignSM2 k1_ippsGFpECSignSM2 -#define ippsGFpECVerifySM2 k1_ippsGFpECVerifySM2 -#define ippsGFpECUserIDHashSM2 k1_ippsGFpECUserIDHashSM2 -#define ippsGFpECKeyExchangeSM2_GetSize k1_ippsGFpECKeyExchangeSM2_GetSize -#define ippsGFpECKeyExchangeSM2_Init k1_ippsGFpECKeyExchangeSM2_Init -#define ippsGFpECKeyExchangeSM2_Setup k1_ippsGFpECKeyExchangeSM2_Setup -#define ippsGFpECKeyExchangeSM2_SharedKey k1_ippsGFpECKeyExchangeSM2_SharedKey -#define ippsGFpECKeyExchangeSM2_Confirm k1_ippsGFpECKeyExchangeSM2_Confirm -#define ippsGFpECGetInfo_GF k1_ippsGFpECGetInfo_GF -#define ippsGFpECESGetSize_SM2 k1_ippsGFpECESGetSize_SM2 -#define ippsGFpECESInit_SM2 k1_ippsGFpECESInit_SM2 -#define ippsGFpECESSetKey_SM2 k1_ippsGFpECESSetKey_SM2 -#define ippsGFpECESStart_SM2 k1_ippsGFpECESStart_SM2 -#define ippsGFpECESEncrypt_SM2 k1_ippsGFpECESEncrypt_SM2 -#define ippsGFpECESDecrypt_SM2 k1_ippsGFpECESDecrypt_SM2 -#define ippsGFpECESFinal_SM2 k1_ippsGFpECESFinal_SM2 -#define ippsGFpECESGetBuffersSize_SM2 k1_ippsGFpECESGetBuffersSize_SM2 -#define ippsGFpECEncryptSM2_Ext_EncMsgSize k1_ippsGFpECEncryptSM2_Ext_EncMsgSize -#define ippsGFpECEncryptSM2_Ext k1_ippsGFpECEncryptSM2_Ext -#define ippsGFpECDecryptSM2_Ext_DecMsgSize k1_ippsGFpECDecryptSM2_Ext_DecMsgSize -#define ippsGFpECDecryptSM2_Ext k1_ippsGFpECDecryptSM2_Ext diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_l9.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_l9.h deleted file mode 100644 index 76c5d16..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_l9.h +++ /dev/null @@ -1,557 +0,0 @@ -/******************************************************************************* - * Copyright 2023 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *******************************************************************************/ - - #define ippcpGetLibVersion l9_ippcpGetLibVersion -#define ippsDESGetSize l9_ippsDESGetSize -#define ippsDESInit l9_ippsDESInit -#define ippsDESPack l9_ippsDESPack -#define ippsDESUnpack l9_ippsDESUnpack -#define ippsTDESEncryptECB l9_ippsTDESEncryptECB -#define ippsTDESDecryptECB l9_ippsTDESDecryptECB -#define ippsTDESEncryptCBC l9_ippsTDESEncryptCBC -#define ippsTDESDecryptCBC l9_ippsTDESDecryptCBC -#define ippsTDESEncryptCFB l9_ippsTDESEncryptCFB -#define ippsTDESDecryptCFB l9_ippsTDESDecryptCFB -#define ippsTDESEncryptOFB l9_ippsTDESEncryptOFB -#define ippsTDESDecryptOFB l9_ippsTDESDecryptOFB -#define ippsTDESEncryptCTR l9_ippsTDESEncryptCTR -#define ippsTDESDecryptCTR l9_ippsTDESDecryptCTR -#define ippsAESGetSize l9_ippsAESGetSize -#define ippsAESInit l9_ippsAESInit -#define ippsAESSetKey l9_ippsAESSetKey -#define ippsAESPack l9_ippsAESPack -#define ippsAESUnpack l9_ippsAESUnpack -#define ippsAESEncryptECB l9_ippsAESEncryptECB -#define ippsAESDecryptECB l9_ippsAESDecryptECB -#define ippsAESEncryptCBC l9_ippsAESEncryptCBC -#define ippsAESEncryptCBC_CS1 l9_ippsAESEncryptCBC_CS1 -#define ippsAESEncryptCBC_CS2 l9_ippsAESEncryptCBC_CS2 -#define ippsAESEncryptCBC_CS3 l9_ippsAESEncryptCBC_CS3 -#define ippsAESDecryptCBC l9_ippsAESDecryptCBC -#define ippsAESDecryptCBC_CS1 l9_ippsAESDecryptCBC_CS1 -#define ippsAESDecryptCBC_CS2 l9_ippsAESDecryptCBC_CS2 -#define ippsAESDecryptCBC_CS3 l9_ippsAESDecryptCBC_CS3 -#define ippsAESEncryptCFB l9_ippsAESEncryptCFB -#define ippsAESDecryptCFB l9_ippsAESDecryptCFB -#define ippsAESEncryptOFB l9_ippsAESEncryptOFB -#define ippsAESDecryptOFB l9_ippsAESDecryptOFB -#define ippsAESEncryptCTR l9_ippsAESEncryptCTR -#define ippsAESDecryptCTR l9_ippsAESDecryptCTR -#define ippsAESEncryptXTS_Direct l9_ippsAESEncryptXTS_Direct -#define ippsAESDecryptXTS_Direct l9_ippsAESDecryptXTS_Direct -#define ippsAESSetupNoise l9_ippsAESSetupNoise -#define ippsAES_GCMSetupNoise l9_ippsAES_GCMSetupNoise -#define ippsAES_CMACSetupNoise l9_ippsAES_CMACSetupNoise -#define ippsAES_EncryptCFB16_MB l9_ippsAES_EncryptCFB16_MB -#define ippsSMS4GetSize l9_ippsSMS4GetSize -#define ippsSMS4Init l9_ippsSMS4Init -#define ippsSMS4SetKey l9_ippsSMS4SetKey -#define ippsSMS4EncryptECB l9_ippsSMS4EncryptECB -#define ippsSMS4DecryptECB l9_ippsSMS4DecryptECB -#define ippsSMS4EncryptCBC l9_ippsSMS4EncryptCBC -#define ippsSMS4EncryptCBC_CS1 l9_ippsSMS4EncryptCBC_CS1 -#define ippsSMS4EncryptCBC_CS2 l9_ippsSMS4EncryptCBC_CS2 -#define ippsSMS4EncryptCBC_CS3 l9_ippsSMS4EncryptCBC_CS3 -#define ippsSMS4DecryptCBC l9_ippsSMS4DecryptCBC -#define ippsSMS4DecryptCBC_CS1 l9_ippsSMS4DecryptCBC_CS1 -#define ippsSMS4DecryptCBC_CS2 l9_ippsSMS4DecryptCBC_CS2 -#define ippsSMS4DecryptCBC_CS3 l9_ippsSMS4DecryptCBC_CS3 -#define ippsSMS4EncryptCFB l9_ippsSMS4EncryptCFB -#define ippsSMS4DecryptCFB l9_ippsSMS4DecryptCFB -#define ippsSMS4EncryptOFB l9_ippsSMS4EncryptOFB -#define ippsSMS4DecryptOFB l9_ippsSMS4DecryptOFB -#define ippsSMS4EncryptCTR l9_ippsSMS4EncryptCTR -#define ippsSMS4DecryptCTR l9_ippsSMS4DecryptCTR -#define ippsSMS4_CCMGetSize l9_ippsSMS4_CCMGetSize -#define ippsSMS4_CCMInit l9_ippsSMS4_CCMInit -#define ippsSMS4_CCMMessageLen l9_ippsSMS4_CCMMessageLen -#define ippsSMS4_CCMTagLen l9_ippsSMS4_CCMTagLen -#define ippsSMS4_CCMStart l9_ippsSMS4_CCMStart -#define ippsSMS4_CCMEncrypt l9_ippsSMS4_CCMEncrypt -#define ippsSMS4_CCMDecrypt l9_ippsSMS4_CCMDecrypt -#define ippsSMS4_CCMGetTag l9_ippsSMS4_CCMGetTag -#define ippsAES_CCMGetSize l9_ippsAES_CCMGetSize -#define ippsAES_CCMInit l9_ippsAES_CCMInit -#define ippsAES_CCMMessageLen l9_ippsAES_CCMMessageLen -#define ippsAES_CCMTagLen l9_ippsAES_CCMTagLen -#define ippsAES_CCMStart l9_ippsAES_CCMStart -#define ippsAES_CCMEncrypt l9_ippsAES_CCMEncrypt -#define ippsAES_CCMDecrypt l9_ippsAES_CCMDecrypt -#define ippsAES_CCMGetTag l9_ippsAES_CCMGetTag -#define ippsAES_GCMGetSize l9_ippsAES_GCMGetSize -#define ippsAES_GCMInit l9_ippsAES_GCMInit -#define ippsAES_GCMReinit l9_ippsAES_GCMReinit -#define ippsAES_GCMReset l9_ippsAES_GCMReset -#define ippsAES_GCMProcessIV l9_ippsAES_GCMProcessIV -#define ippsAES_GCMProcessAAD l9_ippsAES_GCMProcessAAD -#define ippsAES_GCMStart l9_ippsAES_GCMStart -#define ippsAES_GCMEncrypt l9_ippsAES_GCMEncrypt -#define ippsAES_GCMDecrypt l9_ippsAES_GCMDecrypt -#define ippsAES_GCMGetTag l9_ippsAES_GCMGetTag -#define ippsAES_XTSGetSize l9_ippsAES_XTSGetSize -#define ippsAES_XTSInit l9_ippsAES_XTSInit -#define ippsAES_XTSEncrypt l9_ippsAES_XTSEncrypt -#define ippsAES_XTSDecrypt l9_ippsAES_XTSDecrypt -#define ippsAES_S2V_CMAC l9_ippsAES_S2V_CMAC -#define ippsAES_SIVEncrypt l9_ippsAES_SIVEncrypt -#define ippsAES_SIVDecrypt l9_ippsAES_SIVDecrypt -#define ippsAES_CMACGetSize l9_ippsAES_CMACGetSize -#define ippsAES_CMACInit l9_ippsAES_CMACInit -#define ippsAES_CMACUpdate l9_ippsAES_CMACUpdate -#define ippsAES_CMACFinal l9_ippsAES_CMACFinal -#define ippsAES_CMACGetTag l9_ippsAES_CMACGetTag -#define ippsARCFourCheckKey l9_ippsARCFourCheckKey -#define ippsARCFourGetSize l9_ippsARCFourGetSize -#define ippsARCFourInit l9_ippsARCFourInit -#define ippsARCFourReset l9_ippsARCFourReset -#define ippsARCFourPack l9_ippsARCFourPack -#define ippsARCFourUnpack l9_ippsARCFourUnpack -#define ippsARCFourEncrypt l9_ippsARCFourEncrypt -#define ippsARCFourDecrypt l9_ippsARCFourDecrypt -#define ippsSHA1GetSize l9_ippsSHA1GetSize -#define ippsSHA1Init l9_ippsSHA1Init -#define ippsSHA1Duplicate l9_ippsSHA1Duplicate -#define ippsSHA1Pack l9_ippsSHA1Pack -#define ippsSHA1Unpack l9_ippsSHA1Unpack -#define ippsSHA1Update l9_ippsSHA1Update -#define ippsSHA1GetTag l9_ippsSHA1GetTag -#define ippsSHA1Final l9_ippsSHA1Final -#define ippsSHA1MessageDigest l9_ippsSHA1MessageDigest -#define ippsSHA224GetSize l9_ippsSHA224GetSize -#define ippsSHA224Init l9_ippsSHA224Init -#define ippsSHA224Duplicate l9_ippsSHA224Duplicate -#define ippsSHA224Pack l9_ippsSHA224Pack -#define ippsSHA224Unpack l9_ippsSHA224Unpack -#define ippsSHA224Update l9_ippsSHA224Update -#define ippsSHA224GetTag l9_ippsSHA224GetTag -#define ippsSHA224Final l9_ippsSHA224Final -#define ippsSHA224MessageDigest l9_ippsSHA224MessageDigest -#define ippsSHA256GetSize l9_ippsSHA256GetSize -#define ippsSHA256Init l9_ippsSHA256Init -#define ippsSHA256Duplicate l9_ippsSHA256Duplicate -#define ippsSHA256Pack l9_ippsSHA256Pack -#define ippsSHA256Unpack l9_ippsSHA256Unpack -#define ippsSHA256Update l9_ippsSHA256Update -#define ippsSHA256GetTag l9_ippsSHA256GetTag -#define ippsSHA256Final l9_ippsSHA256Final -#define ippsSHA256MessageDigest l9_ippsSHA256MessageDigest -#define ippsSHA384GetSize l9_ippsSHA384GetSize -#define ippsSHA384Init l9_ippsSHA384Init -#define ippsSHA384Duplicate l9_ippsSHA384Duplicate -#define ippsSHA384Pack l9_ippsSHA384Pack -#define ippsSHA384Unpack l9_ippsSHA384Unpack -#define ippsSHA384Update l9_ippsSHA384Update -#define ippsSHA384GetTag l9_ippsSHA384GetTag -#define ippsSHA384Final l9_ippsSHA384Final -#define ippsSHA384MessageDigest l9_ippsSHA384MessageDigest -#define ippsSHA512GetSize l9_ippsSHA512GetSize -#define ippsSHA512Init l9_ippsSHA512Init -#define ippsSHA512Duplicate l9_ippsSHA512Duplicate -#define ippsSHA512Pack l9_ippsSHA512Pack -#define ippsSHA512Unpack l9_ippsSHA512Unpack -#define ippsSHA512Update l9_ippsSHA512Update -#define ippsSHA512GetTag l9_ippsSHA512GetTag -#define ippsSHA512Final l9_ippsSHA512Final -#define ippsSHA512MessageDigest l9_ippsSHA512MessageDigest -#define ippsMD5GetSize l9_ippsMD5GetSize -#define ippsMD5Init l9_ippsMD5Init -#define ippsMD5Duplicate l9_ippsMD5Duplicate -#define ippsMD5Pack l9_ippsMD5Pack -#define ippsMD5Unpack l9_ippsMD5Unpack -#define ippsMD5Update l9_ippsMD5Update -#define ippsMD5GetTag l9_ippsMD5GetTag -#define ippsMD5Final l9_ippsMD5Final -#define ippsMD5MessageDigest l9_ippsMD5MessageDigest -#define ippsSM3GetSize l9_ippsSM3GetSize -#define ippsSM3Init l9_ippsSM3Init -#define ippsSM3Duplicate l9_ippsSM3Duplicate -#define ippsSM3Pack l9_ippsSM3Pack -#define ippsSM3Unpack l9_ippsSM3Unpack -#define ippsSM3Update l9_ippsSM3Update -#define ippsSM3GetTag l9_ippsSM3GetTag -#define ippsSM3Final l9_ippsSM3Final -#define ippsSM3MessageDigest l9_ippsSM3MessageDigest -#define ippsHashGetSize l9_ippsHashGetSize -#define ippsHashInit l9_ippsHashInit -#define ippsHashPack l9_ippsHashPack -#define ippsHashUnpack l9_ippsHashUnpack -#define ippsHashDuplicate l9_ippsHashDuplicate -#define ippsHashUpdate l9_ippsHashUpdate -#define ippsHashGetTag l9_ippsHashGetTag -#define ippsHashFinal l9_ippsHashFinal -#define ippsHashMessage l9_ippsHashMessage -#define ippsHashMethod_MD5 l9_ippsHashMethod_MD5 -#define ippsHashMethod_SM3 l9_ippsHashMethod_SM3 -#define ippsHashMethod_SHA1 l9_ippsHashMethod_SHA1 -#define ippsHashMethod_SHA1_NI l9_ippsHashMethod_SHA1_NI -#define ippsHashMethod_SHA1_TT l9_ippsHashMethod_SHA1_TT -#define ippsHashMethod_SHA256 l9_ippsHashMethod_SHA256 -#define ippsHashMethod_SHA256_NI l9_ippsHashMethod_SHA256_NI -#define ippsHashMethod_SHA256_TT l9_ippsHashMethod_SHA256_TT -#define ippsHashMethod_SHA224 l9_ippsHashMethod_SHA224 -#define ippsHashMethod_SHA224_NI l9_ippsHashMethod_SHA224_NI -#define ippsHashMethod_SHA224_TT l9_ippsHashMethod_SHA224_TT -#define ippsHashMethod_SHA512 l9_ippsHashMethod_SHA512 -#define ippsHashMethod_SHA384 l9_ippsHashMethod_SHA384 -#define ippsHashMethod_SHA512_256 l9_ippsHashMethod_SHA512_256 -#define ippsHashMethod_SHA512_224 l9_ippsHashMethod_SHA512_224 -#define ippsHashMethodGetSize l9_ippsHashMethodGetSize -#define ippsHashMethodSet_MD5 l9_ippsHashMethodSet_MD5 -#define ippsHashMethodSet_SM3 l9_ippsHashMethodSet_SM3 -#define ippsHashStateMethodSet_SM3 l9_ippsHashStateMethodSet_SM3 -#define ippsHashMethodSet_SHA1 l9_ippsHashMethodSet_SHA1 -#define ippsHashMethodSet_SHA1_NI l9_ippsHashMethodSet_SHA1_NI -#define ippsHashMethodSet_SHA1_TT l9_ippsHashMethodSet_SHA1_TT -#define ippsHashMethodSet_SHA256 l9_ippsHashMethodSet_SHA256 -#define ippsHashMethodSet_SHA256_NI l9_ippsHashMethodSet_SHA256_NI -#define ippsHashMethodSet_SHA256_TT l9_ippsHashMethodSet_SHA256_TT -#define ippsHashStateMethodSet_SHA256 l9_ippsHashStateMethodSet_SHA256 -#define ippsHashStateMethodSet_SHA256_NI l9_ippsHashStateMethodSet_SHA256_NI -#define ippsHashStateMethodSet_SHA256_TT l9_ippsHashStateMethodSet_SHA256_TT -#define ippsHashMethodSet_SHA224 l9_ippsHashMethodSet_SHA224 -#define ippsHashMethodSet_SHA224_NI l9_ippsHashMethodSet_SHA224_NI -#define ippsHashMethodSet_SHA224_TT l9_ippsHashMethodSet_SHA224_TT -#define ippsHashStateMethodSet_SHA224 l9_ippsHashStateMethodSet_SHA224 -#define ippsHashStateMethodSet_SHA224_NI l9_ippsHashStateMethodSet_SHA224_NI -#define ippsHashStateMethodSet_SHA224_TT l9_ippsHashStateMethodSet_SHA224_TT -#define ippsHashMethodSet_SHA512 l9_ippsHashMethodSet_SHA512 -#define ippsHashMethodSet_SHA384 l9_ippsHashMethodSet_SHA384 -#define ippsHashMethodSet_SHA512_256 l9_ippsHashMethodSet_SHA512_256 -#define ippsHashMethodSet_SHA512_224 l9_ippsHashMethodSet_SHA512_224 -#define ippsHashStateMethodSet_SHA512 l9_ippsHashStateMethodSet_SHA512 -#define ippsHashStateMethodSet_SHA384 l9_ippsHashStateMethodSet_SHA384 -#define ippsHashStateMethodSet_SHA512_256 l9_ippsHashStateMethodSet_SHA512_256 -#define ippsHashStateMethodSet_SHA512_224 l9_ippsHashStateMethodSet_SHA512_224 -#define ippsHashGetSize_rmf l9_ippsHashGetSize_rmf -#define ippsHashInit_rmf l9_ippsHashInit_rmf -#define ippsHashPack_rmf l9_ippsHashPack_rmf -#define ippsHashUnpack_rmf l9_ippsHashUnpack_rmf -#define ippsHashDuplicate_rmf l9_ippsHashDuplicate_rmf -#define ippsHashUpdate_rmf l9_ippsHashUpdate_rmf -#define ippsHashGetTag_rmf l9_ippsHashGetTag_rmf -#define ippsHashFinal_rmf l9_ippsHashFinal_rmf -#define ippsHashMessage_rmf l9_ippsHashMessage_rmf -#define ippsHashMethodGetInfo l9_ippsHashMethodGetInfo -#define ippsHashGetInfo_rmf l9_ippsHashGetInfo_rmf -#define ippsMGF l9_ippsMGF -#define ippsMGF1_rmf l9_ippsMGF1_rmf -#define ippsMGF2_rmf l9_ippsMGF2_rmf -#define ippsHMAC_GetSize l9_ippsHMAC_GetSize -#define ippsHMAC_Init l9_ippsHMAC_Init -#define ippsHMAC_Pack l9_ippsHMAC_Pack -#define ippsHMAC_Unpack l9_ippsHMAC_Unpack -#define ippsHMAC_Duplicate l9_ippsHMAC_Duplicate -#define ippsHMAC_Update l9_ippsHMAC_Update -#define ippsHMAC_Final l9_ippsHMAC_Final -#define ippsHMAC_GetTag l9_ippsHMAC_GetTag -#define ippsHMAC_Message l9_ippsHMAC_Message -#define ippsHMACGetSize_rmf l9_ippsHMACGetSize_rmf -#define ippsHMACInit_rmf l9_ippsHMACInit_rmf -#define ippsHMACPack_rmf l9_ippsHMACPack_rmf -#define ippsHMACUnpack_rmf l9_ippsHMACUnpack_rmf -#define ippsHMACDuplicate_rmf l9_ippsHMACDuplicate_rmf -#define ippsHMACUpdate_rmf l9_ippsHMACUpdate_rmf -#define ippsHMACFinal_rmf l9_ippsHMACFinal_rmf -#define ippsHMACGetTag_rmf l9_ippsHMACGetTag_rmf -#define ippsHMACMessage_rmf l9_ippsHMACMessage_rmf -#define ippsBigNumGetSize l9_ippsBigNumGetSize -#define ippsBigNumInit l9_ippsBigNumInit -#define ippsCmpZero_BN l9_ippsCmpZero_BN -#define ippsCmp_BN l9_ippsCmp_BN -#define ippsGetSize_BN l9_ippsGetSize_BN -#define ippsSet_BN l9_ippsSet_BN -#define ippsGet_BN l9_ippsGet_BN -#define ippsRef_BN l9_ippsRef_BN -#define ippsExtGet_BN l9_ippsExtGet_BN -#define ippsAdd_BN l9_ippsAdd_BN -#define ippsSub_BN l9_ippsSub_BN -#define ippsMul_BN l9_ippsMul_BN -#define ippsMAC_BN_I l9_ippsMAC_BN_I -#define ippsDiv_BN l9_ippsDiv_BN -#define ippsMod_BN l9_ippsMod_BN -#define ippsGcd_BN l9_ippsGcd_BN -#define ippsModInv_BN l9_ippsModInv_BN -#define ippsSetOctString_BN l9_ippsSetOctString_BN -#define ippsGetOctString_BN l9_ippsGetOctString_BN -#define ippsMontGetSize l9_ippsMontGetSize -#define ippsMontInit l9_ippsMontInit -#define ippsMontSet l9_ippsMontSet -#define ippsMontGet l9_ippsMontGet -#define ippsMontForm l9_ippsMontForm -#define ippsMontMul l9_ippsMontMul -#define ippsMontExp l9_ippsMontExp -#define ippsPRNGGetSize l9_ippsPRNGGetSize -#define ippsPRNGInit l9_ippsPRNGInit -#define ippsPRNGSetModulus l9_ippsPRNGSetModulus -#define ippsPRNGSetH0 l9_ippsPRNGSetH0 -#define ippsPRNGSetAugment l9_ippsPRNGSetAugment -#define ippsPRNGSetSeed l9_ippsPRNGSetSeed -#define ippsPRNGGetSeed l9_ippsPRNGGetSeed -#define ippsPRNGen l9_ippsPRNGen -#define ippsPRNGen_BN l9_ippsPRNGen_BN -#define ippsPRNGenRDRAND l9_ippsPRNGenRDRAND -#define ippsPRNGenRDRAND_BN l9_ippsPRNGenRDRAND_BN -#define ippsTRNGenRDSEED l9_ippsTRNGenRDSEED -#define ippsTRNGenRDSEED_BN l9_ippsTRNGenRDSEED_BN -#define ippsPrimeGetSize l9_ippsPrimeGetSize -#define ippsPrimeInit l9_ippsPrimeInit -#define ippsPrimeGen l9_ippsPrimeGen -#define ippsPrimeTest l9_ippsPrimeTest -#define ippsPrimeGen_BN l9_ippsPrimeGen_BN -#define ippsPrimeTest_BN l9_ippsPrimeTest_BN -#define ippsPrimeGet l9_ippsPrimeGet -#define ippsPrimeGet_BN l9_ippsPrimeGet_BN -#define ippsPrimeSet l9_ippsPrimeSet -#define ippsPrimeSet_BN l9_ippsPrimeSet_BN -#define ippsRSA_GetSizePublicKey l9_ippsRSA_GetSizePublicKey -#define ippsRSA_InitPublicKey l9_ippsRSA_InitPublicKey -#define ippsRSA_SetPublicKey l9_ippsRSA_SetPublicKey -#define ippsRSA_GetPublicKey l9_ippsRSA_GetPublicKey -#define ippsRSA_GetSizePrivateKeyType1 l9_ippsRSA_GetSizePrivateKeyType1 -#define ippsRSA_InitPrivateKeyType1 l9_ippsRSA_InitPrivateKeyType1 -#define ippsRSA_SetPrivateKeyType1 l9_ippsRSA_SetPrivateKeyType1 -#define ippsRSA_GetPrivateKeyType1 l9_ippsRSA_GetPrivateKeyType1 -#define ippsRSA_GetSizePrivateKeyType2 l9_ippsRSA_GetSizePrivateKeyType2 -#define ippsRSA_InitPrivateKeyType2 l9_ippsRSA_InitPrivateKeyType2 -#define ippsRSA_SetPrivateKeyType2 l9_ippsRSA_SetPrivateKeyType2 -#define ippsRSA_GetPrivateKeyType2 l9_ippsRSA_GetPrivateKeyType2 -#define ippsRSA_GetBufferSizePublicKey l9_ippsRSA_GetBufferSizePublicKey -#define ippsRSA_GetBufferSizePrivateKey l9_ippsRSA_GetBufferSizePrivateKey -#define ippsRSA_Encrypt l9_ippsRSA_Encrypt -#define ippsRSA_Decrypt l9_ippsRSA_Decrypt -#define ippsRSA_GenerateKeys l9_ippsRSA_GenerateKeys -#define ippsRSA_ValidateKeys l9_ippsRSA_ValidateKeys -#define ippsRSAEncrypt_OAEP l9_ippsRSAEncrypt_OAEP -#define ippsRSADecrypt_OAEP l9_ippsRSADecrypt_OAEP -#define ippsRSAEncrypt_OAEP_rmf l9_ippsRSAEncrypt_OAEP_rmf -#define ippsRSADecrypt_OAEP_rmf l9_ippsRSADecrypt_OAEP_rmf -#define ippsRSAEncrypt_PKCSv15 l9_ippsRSAEncrypt_PKCSv15 -#define ippsRSADecrypt_PKCSv15 l9_ippsRSADecrypt_PKCSv15 -#define ippsRSASign_PSS l9_ippsRSASign_PSS -#define ippsRSAVerify_PSS l9_ippsRSAVerify_PSS -#define ippsRSASign_PSS_rmf l9_ippsRSASign_PSS_rmf -#define ippsRSAVerify_PSS_rmf l9_ippsRSAVerify_PSS_rmf -#define ippsRSASign_PKCS1v15 l9_ippsRSASign_PKCS1v15 -#define ippsRSAVerify_PKCS1v15 l9_ippsRSAVerify_PKCS1v15 -#define ippsRSASign_PKCS1v15_rmf l9_ippsRSASign_PKCS1v15_rmf -#define ippsRSAVerify_PKCS1v15_rmf l9_ippsRSAVerify_PKCS1v15_rmf -#define ippsDLGetResultString l9_ippsDLGetResultString -#define ippsDLPGetSize l9_ippsDLPGetSize -#define ippsDLPInit l9_ippsDLPInit -#define ippsDLPPack l9_ippsDLPPack -#define ippsDLPUnpack l9_ippsDLPUnpack -#define ippsDLPSet l9_ippsDLPSet -#define ippsDLPGet l9_ippsDLPGet -#define ippsDLPSetDP l9_ippsDLPSetDP -#define ippsDLPGetDP l9_ippsDLPGetDP -#define ippsDLPGenKeyPair l9_ippsDLPGenKeyPair -#define ippsDLPPublicKey l9_ippsDLPPublicKey -#define ippsDLPValidateKeyPair l9_ippsDLPValidateKeyPair -#define ippsDLPSetKeyPair l9_ippsDLPSetKeyPair -#define ippsDLPSignDSA l9_ippsDLPSignDSA -#define ippsDLPVerifyDSA l9_ippsDLPVerifyDSA -#define ippsDLPSharedSecretDH l9_ippsDLPSharedSecretDH -#define ippsDLPGenerateDSA l9_ippsDLPGenerateDSA -#define ippsDLPValidateDSA l9_ippsDLPValidateDSA -#define ippsDLPGenerateDH l9_ippsDLPGenerateDH -#define ippsDLPValidateDH l9_ippsDLPValidateDH -#define ippsECCGetResultString l9_ippsECCGetResultString -#define ippsECCPGetSize l9_ippsECCPGetSize -#define ippsECCPGetSizeStd128r1 l9_ippsECCPGetSizeStd128r1 -#define ippsECCPGetSizeStd128r2 l9_ippsECCPGetSizeStd128r2 -#define ippsECCPGetSizeStd192r1 l9_ippsECCPGetSizeStd192r1 -#define ippsECCPGetSizeStd224r1 l9_ippsECCPGetSizeStd224r1 -#define ippsECCPGetSizeStd256r1 l9_ippsECCPGetSizeStd256r1 -#define ippsECCPGetSizeStd384r1 l9_ippsECCPGetSizeStd384r1 -#define ippsECCPGetSizeStd521r1 l9_ippsECCPGetSizeStd521r1 -#define ippsECCPGetSizeStdSM2 l9_ippsECCPGetSizeStdSM2 -#define ippsECCPInit l9_ippsECCPInit -#define ippsECCPInitStd128r1 l9_ippsECCPInitStd128r1 -#define ippsECCPInitStd128r2 l9_ippsECCPInitStd128r2 -#define ippsECCPInitStd192r1 l9_ippsECCPInitStd192r1 -#define ippsECCPInitStd224r1 l9_ippsECCPInitStd224r1 -#define ippsECCPInitStd256r1 l9_ippsECCPInitStd256r1 -#define ippsECCPInitStd384r1 l9_ippsECCPInitStd384r1 -#define ippsECCPInitStd521r1 l9_ippsECCPInitStd521r1 -#define ippsECCPInitStdSM2 l9_ippsECCPInitStdSM2 -#define ippsECCPSet l9_ippsECCPSet -#define ippsECCPSetStd l9_ippsECCPSetStd -#define ippsECCPSetStd128r1 l9_ippsECCPSetStd128r1 -#define ippsECCPSetStd128r2 l9_ippsECCPSetStd128r2 -#define ippsECCPSetStd192r1 l9_ippsECCPSetStd192r1 -#define ippsECCPSetStd224r1 l9_ippsECCPSetStd224r1 -#define ippsECCPSetStd256r1 l9_ippsECCPSetStd256r1 -#define ippsECCPSetStd384r1 l9_ippsECCPSetStd384r1 -#define ippsECCPSetStd521r1 l9_ippsECCPSetStd521r1 -#define ippsECCPSetStdSM2 l9_ippsECCPSetStdSM2 -#define ippsECCPBindGxyTblStd192r1 l9_ippsECCPBindGxyTblStd192r1 -#define ippsECCPBindGxyTblStd224r1 l9_ippsECCPBindGxyTblStd224r1 -#define ippsECCPBindGxyTblStd256r1 l9_ippsECCPBindGxyTblStd256r1 -#define ippsECCPBindGxyTblStd384r1 l9_ippsECCPBindGxyTblStd384r1 -#define ippsECCPBindGxyTblStd521r1 l9_ippsECCPBindGxyTblStd521r1 -#define ippsECCPBindGxyTblStdSM2 l9_ippsECCPBindGxyTblStdSM2 -#define ippsECCPGet l9_ippsECCPGet -#define ippsECCPGetOrderBitSize l9_ippsECCPGetOrderBitSize -#define ippsECCPValidate l9_ippsECCPValidate -#define ippsECCPPointGetSize l9_ippsECCPPointGetSize -#define ippsECCPPointInit l9_ippsECCPPointInit -#define ippsECCPSetPoint l9_ippsECCPSetPoint -#define ippsECCPSetPointAtInfinity l9_ippsECCPSetPointAtInfinity -#define ippsECCPGetPoint l9_ippsECCPGetPoint -#define ippsECCPCheckPoint l9_ippsECCPCheckPoint -#define ippsECCPComparePoint l9_ippsECCPComparePoint -#define ippsECCPNegativePoint l9_ippsECCPNegativePoint -#define ippsECCPAddPoint l9_ippsECCPAddPoint -#define ippsECCPMulPointScalar l9_ippsECCPMulPointScalar -#define ippsECCPGenKeyPair l9_ippsECCPGenKeyPair -#define ippsECCPPublicKey l9_ippsECCPPublicKey -#define ippsECCPValidateKeyPair l9_ippsECCPValidateKeyPair -#define ippsECCPSetKeyPair l9_ippsECCPSetKeyPair -#define ippsECCPSharedSecretDH l9_ippsECCPSharedSecretDH -#define ippsECCPSharedSecretDHC l9_ippsECCPSharedSecretDHC -#define ippsECCPSignDSA l9_ippsECCPSignDSA -#define ippsECCPVerifyDSA l9_ippsECCPVerifyDSA -#define ippsECCPSignNR l9_ippsECCPSignNR -#define ippsECCPVerifyNR l9_ippsECCPVerifyNR -#define ippsECCPSignSM2 l9_ippsECCPSignSM2 -#define ippsECCPVerifySM2 l9_ippsECCPVerifySM2 -#define ippsGFpGetSize l9_ippsGFpGetSize -#define ippsGFpInitArbitrary l9_ippsGFpInitArbitrary -#define ippsGFpInitFixed l9_ippsGFpInitFixed -#define ippsGFpInit l9_ippsGFpInit -#define ippsGFpMethod_p192r1 l9_ippsGFpMethod_p192r1 -#define ippsGFpMethod_p224r1 l9_ippsGFpMethod_p224r1 -#define ippsGFpMethod_p256r1 l9_ippsGFpMethod_p256r1 -#define ippsGFpMethod_p384r1 l9_ippsGFpMethod_p384r1 -#define ippsGFpMethod_p521r1 l9_ippsGFpMethod_p521r1 -#define ippsGFpMethod_p256sm2 l9_ippsGFpMethod_p256sm2 -#define ippsGFpMethod_p256bn l9_ippsGFpMethod_p256bn -#define ippsGFpMethod_p256 l9_ippsGFpMethod_p256 -#define ippsGFpMethod_pArb l9_ippsGFpMethod_pArb -#define ippsGFpxGetSize l9_ippsGFpxGetSize -#define ippsGFpxInit l9_ippsGFpxInit -#define ippsGFpxInitBinomial l9_ippsGFpxInitBinomial -#define ippsGFpxMethod_binom2_epid2 l9_ippsGFpxMethod_binom2_epid2 -#define ippsGFpxMethod_binom3_epid2 l9_ippsGFpxMethod_binom3_epid2 -#define ippsGFpxMethod_binom2 l9_ippsGFpxMethod_binom2 -#define ippsGFpxMethod_binom3 l9_ippsGFpxMethod_binom3 -#define ippsGFpxMethod_binom l9_ippsGFpxMethod_binom -#define ippsGFpxMethod_com l9_ippsGFpxMethod_com -#define ippsGFpScratchBufferSize l9_ippsGFpScratchBufferSize -#define ippsGFpElementGetSize l9_ippsGFpElementGetSize -#define ippsGFpElementInit l9_ippsGFpElementInit -#define ippsGFpSetElement l9_ippsGFpSetElement -#define ippsGFpSetElementRegular l9_ippsGFpSetElementRegular -#define ippsGFpSetElementOctString l9_ippsGFpSetElementOctString -#define ippsGFpSetElementRandom l9_ippsGFpSetElementRandom -#define ippsGFpSetElementHash l9_ippsGFpSetElementHash -#define ippsGFpSetElementHash_rmf l9_ippsGFpSetElementHash_rmf -#define ippsGFpCpyElement l9_ippsGFpCpyElement -#define ippsGFpGetElement l9_ippsGFpGetElement -#define ippsGFpGetElementOctString l9_ippsGFpGetElementOctString -#define ippsGFpCmpElement l9_ippsGFpCmpElement -#define ippsGFpIsZeroElement l9_ippsGFpIsZeroElement -#define ippsGFpIsUnityElement l9_ippsGFpIsUnityElement -#define ippsGFpConj l9_ippsGFpConj -#define ippsGFpNeg l9_ippsGFpNeg -#define ippsGFpInv l9_ippsGFpInv -#define ippsGFpSqrt l9_ippsGFpSqrt -#define ippsGFpSqr l9_ippsGFpSqr -#define ippsGFpAdd l9_ippsGFpAdd -#define ippsGFpSub l9_ippsGFpSub -#define ippsGFpMul l9_ippsGFpMul -#define ippsGFpExp l9_ippsGFpExp -#define ippsGFpMultiExp l9_ippsGFpMultiExp -#define ippsGFpAdd_PE l9_ippsGFpAdd_PE -#define ippsGFpSub_PE l9_ippsGFpSub_PE -#define ippsGFpMul_PE l9_ippsGFpMul_PE -#define ippsGFpGetInfo l9_ippsGFpGetInfo -#define ippsGFpECGetSize l9_ippsGFpECGetSize -#define ippsGFpECInit l9_ippsGFpECInit -#define ippsGFpECSet l9_ippsGFpECSet -#define ippsGFpECSetSubgroup l9_ippsGFpECSetSubgroup -#define ippsGFpECInitStd128r1 l9_ippsGFpECInitStd128r1 -#define ippsGFpECInitStd128r2 l9_ippsGFpECInitStd128r2 -#define ippsGFpECInitStd192r1 l9_ippsGFpECInitStd192r1 -#define ippsGFpECInitStd224r1 l9_ippsGFpECInitStd224r1 -#define ippsGFpECInitStd256r1 l9_ippsGFpECInitStd256r1 -#define ippsGFpECInitStd384r1 l9_ippsGFpECInitStd384r1 -#define ippsGFpECInitStd521r1 l9_ippsGFpECInitStd521r1 -#define ippsGFpECInitStdSM2 l9_ippsGFpECInitStdSM2 -#define ippsGFpECInitStdBN256 l9_ippsGFpECInitStdBN256 -#define ippsGFpECBindGxyTblStd192r1 l9_ippsGFpECBindGxyTblStd192r1 -#define ippsGFpECBindGxyTblStd224r1 l9_ippsGFpECBindGxyTblStd224r1 -#define ippsGFpECBindGxyTblStd256r1 l9_ippsGFpECBindGxyTblStd256r1 -#define ippsGFpECBindGxyTblStd384r1 l9_ippsGFpECBindGxyTblStd384r1 -#define ippsGFpECBindGxyTblStd521r1 l9_ippsGFpECBindGxyTblStd521r1 -#define ippsGFpECBindGxyTblStdSM2 l9_ippsGFpECBindGxyTblStdSM2 -#define ippsGFpECGet l9_ippsGFpECGet -#define ippsGFpECGetSubgroup l9_ippsGFpECGetSubgroup -#define ippsGFpECScratchBufferSize l9_ippsGFpECScratchBufferSize -#define ippsGFpECVerify l9_ippsGFpECVerify -#define ippsGFpECPointGetSize l9_ippsGFpECPointGetSize -#define ippsGFpECPointInit l9_ippsGFpECPointInit -#define ippsGFpECSetPointAtInfinity l9_ippsGFpECSetPointAtInfinity -#define ippsGFpECSetPoint l9_ippsGFpECSetPoint -#define ippsGFpECSetPointRegular l9_ippsGFpECSetPointRegular -#define ippsGFpECSetPointRandom l9_ippsGFpECSetPointRandom -#define ippsGFpECMakePoint l9_ippsGFpECMakePoint -#define ippsGFpECSetPointHash l9_ippsGFpECSetPointHash -#define ippsGFpECSetPointHashBackCompatible l9_ippsGFpECSetPointHashBackCompatible -#define ippsGFpECSetPointHash_rmf l9_ippsGFpECSetPointHash_rmf -#define ippsGFpECSetPointHashBackCompatible_rmf l9_ippsGFpECSetPointHashBackCompatible_rmf -#define ippsGFpECGetPoint l9_ippsGFpECGetPoint -#define ippsGFpECGetPointRegular l9_ippsGFpECGetPointRegular -#define ippsGFpECSetPointOctString l9_ippsGFpECSetPointOctString -#define ippsGFpECGetPointOctString l9_ippsGFpECGetPointOctString -#define ippsGFpECTstPoint l9_ippsGFpECTstPoint -#define ippsGFpECTstPointInSubgroup l9_ippsGFpECTstPointInSubgroup -#define ippsGFpECCpyPoint l9_ippsGFpECCpyPoint -#define ippsGFpECCmpPoint l9_ippsGFpECCmpPoint -#define ippsGFpECNegPoint l9_ippsGFpECNegPoint -#define ippsGFpECAddPoint l9_ippsGFpECAddPoint -#define ippsGFpECMulPoint l9_ippsGFpECMulPoint -#define ippsGFpECPrivateKey l9_ippsGFpECPrivateKey -#define ippsGFpECPublicKey l9_ippsGFpECPublicKey -#define ippsGFpECTstKeyPair l9_ippsGFpECTstKeyPair -#define ippsGFpECSharedSecretDH l9_ippsGFpECSharedSecretDH -#define ippsGFpECSharedSecretDHC l9_ippsGFpECSharedSecretDHC -#define ippsGFpECMessageRepresentationSM2 l9_ippsGFpECMessageRepresentationSM2 -#define ippsGFpECSignDSA l9_ippsGFpECSignDSA -#define ippsGFpECVerifyDSA l9_ippsGFpECVerifyDSA -#define ippsGFpECSignNR l9_ippsGFpECSignNR -#define ippsGFpECVerifyNR l9_ippsGFpECVerifyNR -#define ippsGFpECSignSM2 l9_ippsGFpECSignSM2 -#define ippsGFpECVerifySM2 l9_ippsGFpECVerifySM2 -#define ippsGFpECUserIDHashSM2 l9_ippsGFpECUserIDHashSM2 -#define ippsGFpECKeyExchangeSM2_GetSize l9_ippsGFpECKeyExchangeSM2_GetSize -#define ippsGFpECKeyExchangeSM2_Init l9_ippsGFpECKeyExchangeSM2_Init -#define ippsGFpECKeyExchangeSM2_Setup l9_ippsGFpECKeyExchangeSM2_Setup -#define ippsGFpECKeyExchangeSM2_SharedKey l9_ippsGFpECKeyExchangeSM2_SharedKey -#define ippsGFpECKeyExchangeSM2_Confirm l9_ippsGFpECKeyExchangeSM2_Confirm -#define ippsGFpECGetInfo_GF l9_ippsGFpECGetInfo_GF -#define ippsGFpECESGetSize_SM2 l9_ippsGFpECESGetSize_SM2 -#define ippsGFpECESInit_SM2 l9_ippsGFpECESInit_SM2 -#define ippsGFpECESSetKey_SM2 l9_ippsGFpECESSetKey_SM2 -#define ippsGFpECESStart_SM2 l9_ippsGFpECESStart_SM2 -#define ippsGFpECESEncrypt_SM2 l9_ippsGFpECESEncrypt_SM2 -#define ippsGFpECESDecrypt_SM2 l9_ippsGFpECESDecrypt_SM2 -#define ippsGFpECESFinal_SM2 l9_ippsGFpECESFinal_SM2 -#define ippsGFpECESGetBuffersSize_SM2 l9_ippsGFpECESGetBuffersSize_SM2 -#define ippsGFpECEncryptSM2_Ext_EncMsgSize l9_ippsGFpECEncryptSM2_Ext_EncMsgSize -#define ippsGFpECEncryptSM2_Ext l9_ippsGFpECEncryptSM2_Ext -#define ippsGFpECDecryptSM2_Ext_DecMsgSize l9_ippsGFpECDecryptSM2_Ext_DecMsgSize -#define ippsGFpECDecryptSM2_Ext l9_ippsGFpECDecryptSM2_Ext diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_m7.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_m7.h deleted file mode 100644 index f9365f8..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_m7.h +++ /dev/null @@ -1,557 +0,0 @@ -/******************************************************************************* - * Copyright 2023 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *******************************************************************************/ - - #define ippcpGetLibVersion m7_ippcpGetLibVersion -#define ippsDESGetSize m7_ippsDESGetSize -#define ippsDESInit m7_ippsDESInit -#define ippsDESPack m7_ippsDESPack -#define ippsDESUnpack m7_ippsDESUnpack -#define ippsTDESEncryptECB m7_ippsTDESEncryptECB -#define ippsTDESDecryptECB m7_ippsTDESDecryptECB -#define ippsTDESEncryptCBC m7_ippsTDESEncryptCBC -#define ippsTDESDecryptCBC m7_ippsTDESDecryptCBC -#define ippsTDESEncryptCFB m7_ippsTDESEncryptCFB -#define ippsTDESDecryptCFB m7_ippsTDESDecryptCFB -#define ippsTDESEncryptOFB m7_ippsTDESEncryptOFB -#define ippsTDESDecryptOFB m7_ippsTDESDecryptOFB -#define ippsTDESEncryptCTR m7_ippsTDESEncryptCTR -#define ippsTDESDecryptCTR m7_ippsTDESDecryptCTR -#define ippsAESGetSize m7_ippsAESGetSize -#define ippsAESInit m7_ippsAESInit -#define ippsAESSetKey m7_ippsAESSetKey -#define ippsAESPack m7_ippsAESPack -#define ippsAESUnpack m7_ippsAESUnpack -#define ippsAESEncryptECB m7_ippsAESEncryptECB -#define ippsAESDecryptECB m7_ippsAESDecryptECB -#define ippsAESEncryptCBC m7_ippsAESEncryptCBC -#define ippsAESEncryptCBC_CS1 m7_ippsAESEncryptCBC_CS1 -#define ippsAESEncryptCBC_CS2 m7_ippsAESEncryptCBC_CS2 -#define ippsAESEncryptCBC_CS3 m7_ippsAESEncryptCBC_CS3 -#define ippsAESDecryptCBC m7_ippsAESDecryptCBC -#define ippsAESDecryptCBC_CS1 m7_ippsAESDecryptCBC_CS1 -#define ippsAESDecryptCBC_CS2 m7_ippsAESDecryptCBC_CS2 -#define ippsAESDecryptCBC_CS3 m7_ippsAESDecryptCBC_CS3 -#define ippsAESEncryptCFB m7_ippsAESEncryptCFB -#define ippsAESDecryptCFB m7_ippsAESDecryptCFB -#define ippsAESEncryptOFB m7_ippsAESEncryptOFB -#define ippsAESDecryptOFB m7_ippsAESDecryptOFB -#define ippsAESEncryptCTR m7_ippsAESEncryptCTR -#define ippsAESDecryptCTR m7_ippsAESDecryptCTR -#define ippsAESEncryptXTS_Direct m7_ippsAESEncryptXTS_Direct -#define ippsAESDecryptXTS_Direct m7_ippsAESDecryptXTS_Direct -#define ippsAESSetupNoise m7_ippsAESSetupNoise -#define ippsAES_GCMSetupNoise m7_ippsAES_GCMSetupNoise -#define ippsAES_CMACSetupNoise m7_ippsAES_CMACSetupNoise -#define ippsAES_EncryptCFB16_MB m7_ippsAES_EncryptCFB16_MB -#define ippsSMS4GetSize m7_ippsSMS4GetSize -#define ippsSMS4Init m7_ippsSMS4Init -#define ippsSMS4SetKey m7_ippsSMS4SetKey -#define ippsSMS4EncryptECB m7_ippsSMS4EncryptECB -#define ippsSMS4DecryptECB m7_ippsSMS4DecryptECB -#define ippsSMS4EncryptCBC m7_ippsSMS4EncryptCBC -#define ippsSMS4EncryptCBC_CS1 m7_ippsSMS4EncryptCBC_CS1 -#define ippsSMS4EncryptCBC_CS2 m7_ippsSMS4EncryptCBC_CS2 -#define ippsSMS4EncryptCBC_CS3 m7_ippsSMS4EncryptCBC_CS3 -#define ippsSMS4DecryptCBC m7_ippsSMS4DecryptCBC -#define ippsSMS4DecryptCBC_CS1 m7_ippsSMS4DecryptCBC_CS1 -#define ippsSMS4DecryptCBC_CS2 m7_ippsSMS4DecryptCBC_CS2 -#define ippsSMS4DecryptCBC_CS3 m7_ippsSMS4DecryptCBC_CS3 -#define ippsSMS4EncryptCFB m7_ippsSMS4EncryptCFB -#define ippsSMS4DecryptCFB m7_ippsSMS4DecryptCFB -#define ippsSMS4EncryptOFB m7_ippsSMS4EncryptOFB -#define ippsSMS4DecryptOFB m7_ippsSMS4DecryptOFB -#define ippsSMS4EncryptCTR m7_ippsSMS4EncryptCTR -#define ippsSMS4DecryptCTR m7_ippsSMS4DecryptCTR -#define ippsSMS4_CCMGetSize m7_ippsSMS4_CCMGetSize -#define ippsSMS4_CCMInit m7_ippsSMS4_CCMInit -#define ippsSMS4_CCMMessageLen m7_ippsSMS4_CCMMessageLen -#define ippsSMS4_CCMTagLen m7_ippsSMS4_CCMTagLen -#define ippsSMS4_CCMStart m7_ippsSMS4_CCMStart -#define ippsSMS4_CCMEncrypt m7_ippsSMS4_CCMEncrypt -#define ippsSMS4_CCMDecrypt m7_ippsSMS4_CCMDecrypt -#define ippsSMS4_CCMGetTag m7_ippsSMS4_CCMGetTag -#define ippsAES_CCMGetSize m7_ippsAES_CCMGetSize -#define ippsAES_CCMInit m7_ippsAES_CCMInit -#define ippsAES_CCMMessageLen m7_ippsAES_CCMMessageLen -#define ippsAES_CCMTagLen m7_ippsAES_CCMTagLen -#define ippsAES_CCMStart m7_ippsAES_CCMStart -#define ippsAES_CCMEncrypt m7_ippsAES_CCMEncrypt -#define ippsAES_CCMDecrypt m7_ippsAES_CCMDecrypt -#define ippsAES_CCMGetTag m7_ippsAES_CCMGetTag -#define ippsAES_GCMGetSize m7_ippsAES_GCMGetSize -#define ippsAES_GCMInit m7_ippsAES_GCMInit -#define ippsAES_GCMReinit m7_ippsAES_GCMReinit -#define ippsAES_GCMReset m7_ippsAES_GCMReset -#define ippsAES_GCMProcessIV m7_ippsAES_GCMProcessIV -#define ippsAES_GCMProcessAAD m7_ippsAES_GCMProcessAAD -#define ippsAES_GCMStart m7_ippsAES_GCMStart -#define ippsAES_GCMEncrypt m7_ippsAES_GCMEncrypt -#define ippsAES_GCMDecrypt m7_ippsAES_GCMDecrypt -#define ippsAES_GCMGetTag m7_ippsAES_GCMGetTag -#define ippsAES_XTSGetSize m7_ippsAES_XTSGetSize -#define ippsAES_XTSInit m7_ippsAES_XTSInit -#define ippsAES_XTSEncrypt m7_ippsAES_XTSEncrypt -#define ippsAES_XTSDecrypt m7_ippsAES_XTSDecrypt -#define ippsAES_S2V_CMAC m7_ippsAES_S2V_CMAC -#define ippsAES_SIVEncrypt m7_ippsAES_SIVEncrypt -#define ippsAES_SIVDecrypt m7_ippsAES_SIVDecrypt -#define ippsAES_CMACGetSize m7_ippsAES_CMACGetSize -#define ippsAES_CMACInit m7_ippsAES_CMACInit -#define ippsAES_CMACUpdate m7_ippsAES_CMACUpdate -#define ippsAES_CMACFinal m7_ippsAES_CMACFinal -#define ippsAES_CMACGetTag m7_ippsAES_CMACGetTag -#define ippsARCFourCheckKey m7_ippsARCFourCheckKey -#define ippsARCFourGetSize m7_ippsARCFourGetSize -#define ippsARCFourInit m7_ippsARCFourInit -#define ippsARCFourReset m7_ippsARCFourReset -#define ippsARCFourPack m7_ippsARCFourPack -#define ippsARCFourUnpack m7_ippsARCFourUnpack -#define ippsARCFourEncrypt m7_ippsARCFourEncrypt -#define ippsARCFourDecrypt m7_ippsARCFourDecrypt -#define ippsSHA1GetSize m7_ippsSHA1GetSize -#define ippsSHA1Init m7_ippsSHA1Init -#define ippsSHA1Duplicate m7_ippsSHA1Duplicate -#define ippsSHA1Pack m7_ippsSHA1Pack -#define ippsSHA1Unpack m7_ippsSHA1Unpack -#define ippsSHA1Update m7_ippsSHA1Update -#define ippsSHA1GetTag m7_ippsSHA1GetTag -#define ippsSHA1Final m7_ippsSHA1Final -#define ippsSHA1MessageDigest m7_ippsSHA1MessageDigest -#define ippsSHA224GetSize m7_ippsSHA224GetSize -#define ippsSHA224Init m7_ippsSHA224Init -#define ippsSHA224Duplicate m7_ippsSHA224Duplicate -#define ippsSHA224Pack m7_ippsSHA224Pack -#define ippsSHA224Unpack m7_ippsSHA224Unpack -#define ippsSHA224Update m7_ippsSHA224Update -#define ippsSHA224GetTag m7_ippsSHA224GetTag -#define ippsSHA224Final m7_ippsSHA224Final -#define ippsSHA224MessageDigest m7_ippsSHA224MessageDigest -#define ippsSHA256GetSize m7_ippsSHA256GetSize -#define ippsSHA256Init m7_ippsSHA256Init -#define ippsSHA256Duplicate m7_ippsSHA256Duplicate -#define ippsSHA256Pack m7_ippsSHA256Pack -#define ippsSHA256Unpack m7_ippsSHA256Unpack -#define ippsSHA256Update m7_ippsSHA256Update -#define ippsSHA256GetTag m7_ippsSHA256GetTag -#define ippsSHA256Final m7_ippsSHA256Final -#define ippsSHA256MessageDigest m7_ippsSHA256MessageDigest -#define ippsSHA384GetSize m7_ippsSHA384GetSize -#define ippsSHA384Init m7_ippsSHA384Init -#define ippsSHA384Duplicate m7_ippsSHA384Duplicate -#define ippsSHA384Pack m7_ippsSHA384Pack -#define ippsSHA384Unpack m7_ippsSHA384Unpack -#define ippsSHA384Update m7_ippsSHA384Update -#define ippsSHA384GetTag m7_ippsSHA384GetTag -#define ippsSHA384Final m7_ippsSHA384Final -#define ippsSHA384MessageDigest m7_ippsSHA384MessageDigest -#define ippsSHA512GetSize m7_ippsSHA512GetSize -#define ippsSHA512Init m7_ippsSHA512Init -#define ippsSHA512Duplicate m7_ippsSHA512Duplicate -#define ippsSHA512Pack m7_ippsSHA512Pack -#define ippsSHA512Unpack m7_ippsSHA512Unpack -#define ippsSHA512Update m7_ippsSHA512Update -#define ippsSHA512GetTag m7_ippsSHA512GetTag -#define ippsSHA512Final m7_ippsSHA512Final -#define ippsSHA512MessageDigest m7_ippsSHA512MessageDigest -#define ippsMD5GetSize m7_ippsMD5GetSize -#define ippsMD5Init m7_ippsMD5Init -#define ippsMD5Duplicate m7_ippsMD5Duplicate -#define ippsMD5Pack m7_ippsMD5Pack -#define ippsMD5Unpack m7_ippsMD5Unpack -#define ippsMD5Update m7_ippsMD5Update -#define ippsMD5GetTag m7_ippsMD5GetTag -#define ippsMD5Final m7_ippsMD5Final -#define ippsMD5MessageDigest m7_ippsMD5MessageDigest -#define ippsSM3GetSize m7_ippsSM3GetSize -#define ippsSM3Init m7_ippsSM3Init -#define ippsSM3Duplicate m7_ippsSM3Duplicate -#define ippsSM3Pack m7_ippsSM3Pack -#define ippsSM3Unpack m7_ippsSM3Unpack -#define ippsSM3Update m7_ippsSM3Update -#define ippsSM3GetTag m7_ippsSM3GetTag -#define ippsSM3Final m7_ippsSM3Final -#define ippsSM3MessageDigest m7_ippsSM3MessageDigest -#define ippsHashGetSize m7_ippsHashGetSize -#define ippsHashInit m7_ippsHashInit -#define ippsHashPack m7_ippsHashPack -#define ippsHashUnpack m7_ippsHashUnpack -#define ippsHashDuplicate m7_ippsHashDuplicate -#define ippsHashUpdate m7_ippsHashUpdate -#define ippsHashGetTag m7_ippsHashGetTag -#define ippsHashFinal m7_ippsHashFinal -#define ippsHashMessage m7_ippsHashMessage -#define ippsHashMethod_MD5 m7_ippsHashMethod_MD5 -#define ippsHashMethod_SM3 m7_ippsHashMethod_SM3 -#define ippsHashMethod_SHA1 m7_ippsHashMethod_SHA1 -#define ippsHashMethod_SHA1_NI m7_ippsHashMethod_SHA1_NI -#define ippsHashMethod_SHA1_TT m7_ippsHashMethod_SHA1_TT -#define ippsHashMethod_SHA256 m7_ippsHashMethod_SHA256 -#define ippsHashMethod_SHA256_NI m7_ippsHashMethod_SHA256_NI -#define ippsHashMethod_SHA256_TT m7_ippsHashMethod_SHA256_TT -#define ippsHashMethod_SHA224 m7_ippsHashMethod_SHA224 -#define ippsHashMethod_SHA224_NI m7_ippsHashMethod_SHA224_NI -#define ippsHashMethod_SHA224_TT m7_ippsHashMethod_SHA224_TT -#define ippsHashMethod_SHA512 m7_ippsHashMethod_SHA512 -#define ippsHashMethod_SHA384 m7_ippsHashMethod_SHA384 -#define ippsHashMethod_SHA512_256 m7_ippsHashMethod_SHA512_256 -#define ippsHashMethod_SHA512_224 m7_ippsHashMethod_SHA512_224 -#define ippsHashMethodGetSize m7_ippsHashMethodGetSize -#define ippsHashMethodSet_MD5 m7_ippsHashMethodSet_MD5 -#define ippsHashMethodSet_SM3 m7_ippsHashMethodSet_SM3 -#define ippsHashStateMethodSet_SM3 m7_ippsHashStateMethodSet_SM3 -#define ippsHashMethodSet_SHA1 m7_ippsHashMethodSet_SHA1 -#define ippsHashMethodSet_SHA1_NI m7_ippsHashMethodSet_SHA1_NI -#define ippsHashMethodSet_SHA1_TT m7_ippsHashMethodSet_SHA1_TT -#define ippsHashMethodSet_SHA256 m7_ippsHashMethodSet_SHA256 -#define ippsHashMethodSet_SHA256_NI m7_ippsHashMethodSet_SHA256_NI -#define ippsHashMethodSet_SHA256_TT m7_ippsHashMethodSet_SHA256_TT -#define ippsHashStateMethodSet_SHA256 m7_ippsHashStateMethodSet_SHA256 -#define ippsHashStateMethodSet_SHA256_NI m7_ippsHashStateMethodSet_SHA256_NI -#define ippsHashStateMethodSet_SHA256_TT m7_ippsHashStateMethodSet_SHA256_TT -#define ippsHashMethodSet_SHA224 m7_ippsHashMethodSet_SHA224 -#define ippsHashMethodSet_SHA224_NI m7_ippsHashMethodSet_SHA224_NI -#define ippsHashMethodSet_SHA224_TT m7_ippsHashMethodSet_SHA224_TT -#define ippsHashStateMethodSet_SHA224 m7_ippsHashStateMethodSet_SHA224 -#define ippsHashStateMethodSet_SHA224_NI m7_ippsHashStateMethodSet_SHA224_NI -#define ippsHashStateMethodSet_SHA224_TT m7_ippsHashStateMethodSet_SHA224_TT -#define ippsHashMethodSet_SHA512 m7_ippsHashMethodSet_SHA512 -#define ippsHashMethodSet_SHA384 m7_ippsHashMethodSet_SHA384 -#define ippsHashMethodSet_SHA512_256 m7_ippsHashMethodSet_SHA512_256 -#define ippsHashMethodSet_SHA512_224 m7_ippsHashMethodSet_SHA512_224 -#define ippsHashStateMethodSet_SHA512 m7_ippsHashStateMethodSet_SHA512 -#define ippsHashStateMethodSet_SHA384 m7_ippsHashStateMethodSet_SHA384 -#define ippsHashStateMethodSet_SHA512_256 m7_ippsHashStateMethodSet_SHA512_256 -#define ippsHashStateMethodSet_SHA512_224 m7_ippsHashStateMethodSet_SHA512_224 -#define ippsHashGetSize_rmf m7_ippsHashGetSize_rmf -#define ippsHashInit_rmf m7_ippsHashInit_rmf -#define ippsHashPack_rmf m7_ippsHashPack_rmf -#define ippsHashUnpack_rmf m7_ippsHashUnpack_rmf -#define ippsHashDuplicate_rmf m7_ippsHashDuplicate_rmf -#define ippsHashUpdate_rmf m7_ippsHashUpdate_rmf -#define ippsHashGetTag_rmf m7_ippsHashGetTag_rmf -#define ippsHashFinal_rmf m7_ippsHashFinal_rmf -#define ippsHashMessage_rmf m7_ippsHashMessage_rmf -#define ippsHashMethodGetInfo m7_ippsHashMethodGetInfo -#define ippsHashGetInfo_rmf m7_ippsHashGetInfo_rmf -#define ippsMGF m7_ippsMGF -#define ippsMGF1_rmf m7_ippsMGF1_rmf -#define ippsMGF2_rmf m7_ippsMGF2_rmf -#define ippsHMAC_GetSize m7_ippsHMAC_GetSize -#define ippsHMAC_Init m7_ippsHMAC_Init -#define ippsHMAC_Pack m7_ippsHMAC_Pack -#define ippsHMAC_Unpack m7_ippsHMAC_Unpack -#define ippsHMAC_Duplicate m7_ippsHMAC_Duplicate -#define ippsHMAC_Update m7_ippsHMAC_Update -#define ippsHMAC_Final m7_ippsHMAC_Final -#define ippsHMAC_GetTag m7_ippsHMAC_GetTag -#define ippsHMAC_Message m7_ippsHMAC_Message -#define ippsHMACGetSize_rmf m7_ippsHMACGetSize_rmf -#define ippsHMACInit_rmf m7_ippsHMACInit_rmf -#define ippsHMACPack_rmf m7_ippsHMACPack_rmf -#define ippsHMACUnpack_rmf m7_ippsHMACUnpack_rmf -#define ippsHMACDuplicate_rmf m7_ippsHMACDuplicate_rmf -#define ippsHMACUpdate_rmf m7_ippsHMACUpdate_rmf -#define ippsHMACFinal_rmf m7_ippsHMACFinal_rmf -#define ippsHMACGetTag_rmf m7_ippsHMACGetTag_rmf -#define ippsHMACMessage_rmf m7_ippsHMACMessage_rmf -#define ippsBigNumGetSize m7_ippsBigNumGetSize -#define ippsBigNumInit m7_ippsBigNumInit -#define ippsCmpZero_BN m7_ippsCmpZero_BN -#define ippsCmp_BN m7_ippsCmp_BN -#define ippsGetSize_BN m7_ippsGetSize_BN -#define ippsSet_BN m7_ippsSet_BN -#define ippsGet_BN m7_ippsGet_BN -#define ippsRef_BN m7_ippsRef_BN -#define ippsExtGet_BN m7_ippsExtGet_BN -#define ippsAdd_BN m7_ippsAdd_BN -#define ippsSub_BN m7_ippsSub_BN -#define ippsMul_BN m7_ippsMul_BN -#define ippsMAC_BN_I m7_ippsMAC_BN_I -#define ippsDiv_BN m7_ippsDiv_BN -#define ippsMod_BN m7_ippsMod_BN -#define ippsGcd_BN m7_ippsGcd_BN -#define ippsModInv_BN m7_ippsModInv_BN -#define ippsSetOctString_BN m7_ippsSetOctString_BN -#define ippsGetOctString_BN m7_ippsGetOctString_BN -#define ippsMontGetSize m7_ippsMontGetSize -#define ippsMontInit m7_ippsMontInit -#define ippsMontSet m7_ippsMontSet -#define ippsMontGet m7_ippsMontGet -#define ippsMontForm m7_ippsMontForm -#define ippsMontMul m7_ippsMontMul -#define ippsMontExp m7_ippsMontExp -#define ippsPRNGGetSize m7_ippsPRNGGetSize -#define ippsPRNGInit m7_ippsPRNGInit -#define ippsPRNGSetModulus m7_ippsPRNGSetModulus -#define ippsPRNGSetH0 m7_ippsPRNGSetH0 -#define ippsPRNGSetAugment m7_ippsPRNGSetAugment -#define ippsPRNGSetSeed m7_ippsPRNGSetSeed -#define ippsPRNGGetSeed m7_ippsPRNGGetSeed -#define ippsPRNGen m7_ippsPRNGen -#define ippsPRNGen_BN m7_ippsPRNGen_BN -#define ippsPRNGenRDRAND m7_ippsPRNGenRDRAND -#define ippsPRNGenRDRAND_BN m7_ippsPRNGenRDRAND_BN -#define ippsTRNGenRDSEED m7_ippsTRNGenRDSEED -#define ippsTRNGenRDSEED_BN m7_ippsTRNGenRDSEED_BN -#define ippsPrimeGetSize m7_ippsPrimeGetSize -#define ippsPrimeInit m7_ippsPrimeInit -#define ippsPrimeGen m7_ippsPrimeGen -#define ippsPrimeTest m7_ippsPrimeTest -#define ippsPrimeGen_BN m7_ippsPrimeGen_BN -#define ippsPrimeTest_BN m7_ippsPrimeTest_BN -#define ippsPrimeGet m7_ippsPrimeGet -#define ippsPrimeGet_BN m7_ippsPrimeGet_BN -#define ippsPrimeSet m7_ippsPrimeSet -#define ippsPrimeSet_BN m7_ippsPrimeSet_BN -#define ippsRSA_GetSizePublicKey m7_ippsRSA_GetSizePublicKey -#define ippsRSA_InitPublicKey m7_ippsRSA_InitPublicKey -#define ippsRSA_SetPublicKey m7_ippsRSA_SetPublicKey -#define ippsRSA_GetPublicKey m7_ippsRSA_GetPublicKey -#define ippsRSA_GetSizePrivateKeyType1 m7_ippsRSA_GetSizePrivateKeyType1 -#define ippsRSA_InitPrivateKeyType1 m7_ippsRSA_InitPrivateKeyType1 -#define ippsRSA_SetPrivateKeyType1 m7_ippsRSA_SetPrivateKeyType1 -#define ippsRSA_GetPrivateKeyType1 m7_ippsRSA_GetPrivateKeyType1 -#define ippsRSA_GetSizePrivateKeyType2 m7_ippsRSA_GetSizePrivateKeyType2 -#define ippsRSA_InitPrivateKeyType2 m7_ippsRSA_InitPrivateKeyType2 -#define ippsRSA_SetPrivateKeyType2 m7_ippsRSA_SetPrivateKeyType2 -#define ippsRSA_GetPrivateKeyType2 m7_ippsRSA_GetPrivateKeyType2 -#define ippsRSA_GetBufferSizePublicKey m7_ippsRSA_GetBufferSizePublicKey -#define ippsRSA_GetBufferSizePrivateKey m7_ippsRSA_GetBufferSizePrivateKey -#define ippsRSA_Encrypt m7_ippsRSA_Encrypt -#define ippsRSA_Decrypt m7_ippsRSA_Decrypt -#define ippsRSA_GenerateKeys m7_ippsRSA_GenerateKeys -#define ippsRSA_ValidateKeys m7_ippsRSA_ValidateKeys -#define ippsRSAEncrypt_OAEP m7_ippsRSAEncrypt_OAEP -#define ippsRSADecrypt_OAEP m7_ippsRSADecrypt_OAEP -#define ippsRSAEncrypt_OAEP_rmf m7_ippsRSAEncrypt_OAEP_rmf -#define ippsRSADecrypt_OAEP_rmf m7_ippsRSADecrypt_OAEP_rmf -#define ippsRSAEncrypt_PKCSv15 m7_ippsRSAEncrypt_PKCSv15 -#define ippsRSADecrypt_PKCSv15 m7_ippsRSADecrypt_PKCSv15 -#define ippsRSASign_PSS m7_ippsRSASign_PSS -#define ippsRSAVerify_PSS m7_ippsRSAVerify_PSS -#define ippsRSASign_PSS_rmf m7_ippsRSASign_PSS_rmf -#define ippsRSAVerify_PSS_rmf m7_ippsRSAVerify_PSS_rmf -#define ippsRSASign_PKCS1v15 m7_ippsRSASign_PKCS1v15 -#define ippsRSAVerify_PKCS1v15 m7_ippsRSAVerify_PKCS1v15 -#define ippsRSASign_PKCS1v15_rmf m7_ippsRSASign_PKCS1v15_rmf -#define ippsRSAVerify_PKCS1v15_rmf m7_ippsRSAVerify_PKCS1v15_rmf -#define ippsDLGetResultString m7_ippsDLGetResultString -#define ippsDLPGetSize m7_ippsDLPGetSize -#define ippsDLPInit m7_ippsDLPInit -#define ippsDLPPack m7_ippsDLPPack -#define ippsDLPUnpack m7_ippsDLPUnpack -#define ippsDLPSet m7_ippsDLPSet -#define ippsDLPGet m7_ippsDLPGet -#define ippsDLPSetDP m7_ippsDLPSetDP -#define ippsDLPGetDP m7_ippsDLPGetDP -#define ippsDLPGenKeyPair m7_ippsDLPGenKeyPair -#define ippsDLPPublicKey m7_ippsDLPPublicKey -#define ippsDLPValidateKeyPair m7_ippsDLPValidateKeyPair -#define ippsDLPSetKeyPair m7_ippsDLPSetKeyPair -#define ippsDLPSignDSA m7_ippsDLPSignDSA -#define ippsDLPVerifyDSA m7_ippsDLPVerifyDSA -#define ippsDLPSharedSecretDH m7_ippsDLPSharedSecretDH -#define ippsDLPGenerateDSA m7_ippsDLPGenerateDSA -#define ippsDLPValidateDSA m7_ippsDLPValidateDSA -#define ippsDLPGenerateDH m7_ippsDLPGenerateDH -#define ippsDLPValidateDH m7_ippsDLPValidateDH -#define ippsECCGetResultString m7_ippsECCGetResultString -#define ippsECCPGetSize m7_ippsECCPGetSize -#define ippsECCPGetSizeStd128r1 m7_ippsECCPGetSizeStd128r1 -#define ippsECCPGetSizeStd128r2 m7_ippsECCPGetSizeStd128r2 -#define ippsECCPGetSizeStd192r1 m7_ippsECCPGetSizeStd192r1 -#define ippsECCPGetSizeStd224r1 m7_ippsECCPGetSizeStd224r1 -#define ippsECCPGetSizeStd256r1 m7_ippsECCPGetSizeStd256r1 -#define ippsECCPGetSizeStd384r1 m7_ippsECCPGetSizeStd384r1 -#define ippsECCPGetSizeStd521r1 m7_ippsECCPGetSizeStd521r1 -#define ippsECCPGetSizeStdSM2 m7_ippsECCPGetSizeStdSM2 -#define ippsECCPInit m7_ippsECCPInit -#define ippsECCPInitStd128r1 m7_ippsECCPInitStd128r1 -#define ippsECCPInitStd128r2 m7_ippsECCPInitStd128r2 -#define ippsECCPInitStd192r1 m7_ippsECCPInitStd192r1 -#define ippsECCPInitStd224r1 m7_ippsECCPInitStd224r1 -#define ippsECCPInitStd256r1 m7_ippsECCPInitStd256r1 -#define ippsECCPInitStd384r1 m7_ippsECCPInitStd384r1 -#define ippsECCPInitStd521r1 m7_ippsECCPInitStd521r1 -#define ippsECCPInitStdSM2 m7_ippsECCPInitStdSM2 -#define ippsECCPSet m7_ippsECCPSet -#define ippsECCPSetStd m7_ippsECCPSetStd -#define ippsECCPSetStd128r1 m7_ippsECCPSetStd128r1 -#define ippsECCPSetStd128r2 m7_ippsECCPSetStd128r2 -#define ippsECCPSetStd192r1 m7_ippsECCPSetStd192r1 -#define ippsECCPSetStd224r1 m7_ippsECCPSetStd224r1 -#define ippsECCPSetStd256r1 m7_ippsECCPSetStd256r1 -#define ippsECCPSetStd384r1 m7_ippsECCPSetStd384r1 -#define ippsECCPSetStd521r1 m7_ippsECCPSetStd521r1 -#define ippsECCPSetStdSM2 m7_ippsECCPSetStdSM2 -#define ippsECCPBindGxyTblStd192r1 m7_ippsECCPBindGxyTblStd192r1 -#define ippsECCPBindGxyTblStd224r1 m7_ippsECCPBindGxyTblStd224r1 -#define ippsECCPBindGxyTblStd256r1 m7_ippsECCPBindGxyTblStd256r1 -#define ippsECCPBindGxyTblStd384r1 m7_ippsECCPBindGxyTblStd384r1 -#define ippsECCPBindGxyTblStd521r1 m7_ippsECCPBindGxyTblStd521r1 -#define ippsECCPBindGxyTblStdSM2 m7_ippsECCPBindGxyTblStdSM2 -#define ippsECCPGet m7_ippsECCPGet -#define ippsECCPGetOrderBitSize m7_ippsECCPGetOrderBitSize -#define ippsECCPValidate m7_ippsECCPValidate -#define ippsECCPPointGetSize m7_ippsECCPPointGetSize -#define ippsECCPPointInit m7_ippsECCPPointInit -#define ippsECCPSetPoint m7_ippsECCPSetPoint -#define ippsECCPSetPointAtInfinity m7_ippsECCPSetPointAtInfinity -#define ippsECCPGetPoint m7_ippsECCPGetPoint -#define ippsECCPCheckPoint m7_ippsECCPCheckPoint -#define ippsECCPComparePoint m7_ippsECCPComparePoint -#define ippsECCPNegativePoint m7_ippsECCPNegativePoint -#define ippsECCPAddPoint m7_ippsECCPAddPoint -#define ippsECCPMulPointScalar m7_ippsECCPMulPointScalar -#define ippsECCPGenKeyPair m7_ippsECCPGenKeyPair -#define ippsECCPPublicKey m7_ippsECCPPublicKey -#define ippsECCPValidateKeyPair m7_ippsECCPValidateKeyPair -#define ippsECCPSetKeyPair m7_ippsECCPSetKeyPair -#define ippsECCPSharedSecretDH m7_ippsECCPSharedSecretDH -#define ippsECCPSharedSecretDHC m7_ippsECCPSharedSecretDHC -#define ippsECCPSignDSA m7_ippsECCPSignDSA -#define ippsECCPVerifyDSA m7_ippsECCPVerifyDSA -#define ippsECCPSignNR m7_ippsECCPSignNR -#define ippsECCPVerifyNR m7_ippsECCPVerifyNR -#define ippsECCPSignSM2 m7_ippsECCPSignSM2 -#define ippsECCPVerifySM2 m7_ippsECCPVerifySM2 -#define ippsGFpGetSize m7_ippsGFpGetSize -#define ippsGFpInitArbitrary m7_ippsGFpInitArbitrary -#define ippsGFpInitFixed m7_ippsGFpInitFixed -#define ippsGFpInit m7_ippsGFpInit -#define ippsGFpMethod_p192r1 m7_ippsGFpMethod_p192r1 -#define ippsGFpMethod_p224r1 m7_ippsGFpMethod_p224r1 -#define ippsGFpMethod_p256r1 m7_ippsGFpMethod_p256r1 -#define ippsGFpMethod_p384r1 m7_ippsGFpMethod_p384r1 -#define ippsGFpMethod_p521r1 m7_ippsGFpMethod_p521r1 -#define ippsGFpMethod_p256sm2 m7_ippsGFpMethod_p256sm2 -#define ippsGFpMethod_p256bn m7_ippsGFpMethod_p256bn -#define ippsGFpMethod_p256 m7_ippsGFpMethod_p256 -#define ippsGFpMethod_pArb m7_ippsGFpMethod_pArb -#define ippsGFpxGetSize m7_ippsGFpxGetSize -#define ippsGFpxInit m7_ippsGFpxInit -#define ippsGFpxInitBinomial m7_ippsGFpxInitBinomial -#define ippsGFpxMethod_binom2_epid2 m7_ippsGFpxMethod_binom2_epid2 -#define ippsGFpxMethod_binom3_epid2 m7_ippsGFpxMethod_binom3_epid2 -#define ippsGFpxMethod_binom2 m7_ippsGFpxMethod_binom2 -#define ippsGFpxMethod_binom3 m7_ippsGFpxMethod_binom3 -#define ippsGFpxMethod_binom m7_ippsGFpxMethod_binom -#define ippsGFpxMethod_com m7_ippsGFpxMethod_com -#define ippsGFpScratchBufferSize m7_ippsGFpScratchBufferSize -#define ippsGFpElementGetSize m7_ippsGFpElementGetSize -#define ippsGFpElementInit m7_ippsGFpElementInit -#define ippsGFpSetElement m7_ippsGFpSetElement -#define ippsGFpSetElementRegular m7_ippsGFpSetElementRegular -#define ippsGFpSetElementOctString m7_ippsGFpSetElementOctString -#define ippsGFpSetElementRandom m7_ippsGFpSetElementRandom -#define ippsGFpSetElementHash m7_ippsGFpSetElementHash -#define ippsGFpSetElementHash_rmf m7_ippsGFpSetElementHash_rmf -#define ippsGFpCpyElement m7_ippsGFpCpyElement -#define ippsGFpGetElement m7_ippsGFpGetElement -#define ippsGFpGetElementOctString m7_ippsGFpGetElementOctString -#define ippsGFpCmpElement m7_ippsGFpCmpElement -#define ippsGFpIsZeroElement m7_ippsGFpIsZeroElement -#define ippsGFpIsUnityElement m7_ippsGFpIsUnityElement -#define ippsGFpConj m7_ippsGFpConj -#define ippsGFpNeg m7_ippsGFpNeg -#define ippsGFpInv m7_ippsGFpInv -#define ippsGFpSqrt m7_ippsGFpSqrt -#define ippsGFpSqr m7_ippsGFpSqr -#define ippsGFpAdd m7_ippsGFpAdd -#define ippsGFpSub m7_ippsGFpSub -#define ippsGFpMul m7_ippsGFpMul -#define ippsGFpExp m7_ippsGFpExp -#define ippsGFpMultiExp m7_ippsGFpMultiExp -#define ippsGFpAdd_PE m7_ippsGFpAdd_PE -#define ippsGFpSub_PE m7_ippsGFpSub_PE -#define ippsGFpMul_PE m7_ippsGFpMul_PE -#define ippsGFpGetInfo m7_ippsGFpGetInfo -#define ippsGFpECGetSize m7_ippsGFpECGetSize -#define ippsGFpECInit m7_ippsGFpECInit -#define ippsGFpECSet m7_ippsGFpECSet -#define ippsGFpECSetSubgroup m7_ippsGFpECSetSubgroup -#define ippsGFpECInitStd128r1 m7_ippsGFpECInitStd128r1 -#define ippsGFpECInitStd128r2 m7_ippsGFpECInitStd128r2 -#define ippsGFpECInitStd192r1 m7_ippsGFpECInitStd192r1 -#define ippsGFpECInitStd224r1 m7_ippsGFpECInitStd224r1 -#define ippsGFpECInitStd256r1 m7_ippsGFpECInitStd256r1 -#define ippsGFpECInitStd384r1 m7_ippsGFpECInitStd384r1 -#define ippsGFpECInitStd521r1 m7_ippsGFpECInitStd521r1 -#define ippsGFpECInitStdSM2 m7_ippsGFpECInitStdSM2 -#define ippsGFpECInitStdBN256 m7_ippsGFpECInitStdBN256 -#define ippsGFpECBindGxyTblStd192r1 m7_ippsGFpECBindGxyTblStd192r1 -#define ippsGFpECBindGxyTblStd224r1 m7_ippsGFpECBindGxyTblStd224r1 -#define ippsGFpECBindGxyTblStd256r1 m7_ippsGFpECBindGxyTblStd256r1 -#define ippsGFpECBindGxyTblStd384r1 m7_ippsGFpECBindGxyTblStd384r1 -#define ippsGFpECBindGxyTblStd521r1 m7_ippsGFpECBindGxyTblStd521r1 -#define ippsGFpECBindGxyTblStdSM2 m7_ippsGFpECBindGxyTblStdSM2 -#define ippsGFpECGet m7_ippsGFpECGet -#define ippsGFpECGetSubgroup m7_ippsGFpECGetSubgroup -#define ippsGFpECScratchBufferSize m7_ippsGFpECScratchBufferSize -#define ippsGFpECVerify m7_ippsGFpECVerify -#define ippsGFpECPointGetSize m7_ippsGFpECPointGetSize -#define ippsGFpECPointInit m7_ippsGFpECPointInit -#define ippsGFpECSetPointAtInfinity m7_ippsGFpECSetPointAtInfinity -#define ippsGFpECSetPoint m7_ippsGFpECSetPoint -#define ippsGFpECSetPointRegular m7_ippsGFpECSetPointRegular -#define ippsGFpECSetPointRandom m7_ippsGFpECSetPointRandom -#define ippsGFpECMakePoint m7_ippsGFpECMakePoint -#define ippsGFpECSetPointHash m7_ippsGFpECSetPointHash -#define ippsGFpECSetPointHashBackCompatible m7_ippsGFpECSetPointHashBackCompatible -#define ippsGFpECSetPointHash_rmf m7_ippsGFpECSetPointHash_rmf -#define ippsGFpECSetPointHashBackCompatible_rmf m7_ippsGFpECSetPointHashBackCompatible_rmf -#define ippsGFpECGetPoint m7_ippsGFpECGetPoint -#define ippsGFpECGetPointRegular m7_ippsGFpECGetPointRegular -#define ippsGFpECSetPointOctString m7_ippsGFpECSetPointOctString -#define ippsGFpECGetPointOctString m7_ippsGFpECGetPointOctString -#define ippsGFpECTstPoint m7_ippsGFpECTstPoint -#define ippsGFpECTstPointInSubgroup m7_ippsGFpECTstPointInSubgroup -#define ippsGFpECCpyPoint m7_ippsGFpECCpyPoint -#define ippsGFpECCmpPoint m7_ippsGFpECCmpPoint -#define ippsGFpECNegPoint m7_ippsGFpECNegPoint -#define ippsGFpECAddPoint m7_ippsGFpECAddPoint -#define ippsGFpECMulPoint m7_ippsGFpECMulPoint -#define ippsGFpECPrivateKey m7_ippsGFpECPrivateKey -#define ippsGFpECPublicKey m7_ippsGFpECPublicKey -#define ippsGFpECTstKeyPair m7_ippsGFpECTstKeyPair -#define ippsGFpECSharedSecretDH m7_ippsGFpECSharedSecretDH -#define ippsGFpECSharedSecretDHC m7_ippsGFpECSharedSecretDHC -#define ippsGFpECMessageRepresentationSM2 m7_ippsGFpECMessageRepresentationSM2 -#define ippsGFpECSignDSA m7_ippsGFpECSignDSA -#define ippsGFpECVerifyDSA m7_ippsGFpECVerifyDSA -#define ippsGFpECSignNR m7_ippsGFpECSignNR -#define ippsGFpECVerifyNR m7_ippsGFpECVerifyNR -#define ippsGFpECSignSM2 m7_ippsGFpECSignSM2 -#define ippsGFpECVerifySM2 m7_ippsGFpECVerifySM2 -#define ippsGFpECUserIDHashSM2 m7_ippsGFpECUserIDHashSM2 -#define ippsGFpECKeyExchangeSM2_GetSize m7_ippsGFpECKeyExchangeSM2_GetSize -#define ippsGFpECKeyExchangeSM2_Init m7_ippsGFpECKeyExchangeSM2_Init -#define ippsGFpECKeyExchangeSM2_Setup m7_ippsGFpECKeyExchangeSM2_Setup -#define ippsGFpECKeyExchangeSM2_SharedKey m7_ippsGFpECKeyExchangeSM2_SharedKey -#define ippsGFpECKeyExchangeSM2_Confirm m7_ippsGFpECKeyExchangeSM2_Confirm -#define ippsGFpECGetInfo_GF m7_ippsGFpECGetInfo_GF -#define ippsGFpECESGetSize_SM2 m7_ippsGFpECESGetSize_SM2 -#define ippsGFpECESInit_SM2 m7_ippsGFpECESInit_SM2 -#define ippsGFpECESSetKey_SM2 m7_ippsGFpECESSetKey_SM2 -#define ippsGFpECESStart_SM2 m7_ippsGFpECESStart_SM2 -#define ippsGFpECESEncrypt_SM2 m7_ippsGFpECESEncrypt_SM2 -#define ippsGFpECESDecrypt_SM2 m7_ippsGFpECESDecrypt_SM2 -#define ippsGFpECESFinal_SM2 m7_ippsGFpECESFinal_SM2 -#define ippsGFpECESGetBuffersSize_SM2 m7_ippsGFpECESGetBuffersSize_SM2 -#define ippsGFpECEncryptSM2_Ext_EncMsgSize m7_ippsGFpECEncryptSM2_Ext_EncMsgSize -#define ippsGFpECEncryptSM2_Ext m7_ippsGFpECEncryptSM2_Ext -#define ippsGFpECDecryptSM2_Ext_DecMsgSize m7_ippsGFpECDecryptSM2_Ext_DecMsgSize -#define ippsGFpECDecryptSM2_Ext m7_ippsGFpECDecryptSM2_Ext diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_n0.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_n0.h deleted file mode 100644 index a3d367b..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_n0.h +++ /dev/null @@ -1,557 +0,0 @@ -/******************************************************************************* - * Copyright 2023 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *******************************************************************************/ - - #define ippcpGetLibVersion n0_ippcpGetLibVersion -#define ippsDESGetSize n0_ippsDESGetSize -#define ippsDESInit n0_ippsDESInit -#define ippsDESPack n0_ippsDESPack -#define ippsDESUnpack n0_ippsDESUnpack -#define ippsTDESEncryptECB n0_ippsTDESEncryptECB -#define ippsTDESDecryptECB n0_ippsTDESDecryptECB -#define ippsTDESEncryptCBC n0_ippsTDESEncryptCBC -#define ippsTDESDecryptCBC n0_ippsTDESDecryptCBC -#define ippsTDESEncryptCFB n0_ippsTDESEncryptCFB -#define ippsTDESDecryptCFB n0_ippsTDESDecryptCFB -#define ippsTDESEncryptOFB n0_ippsTDESEncryptOFB -#define ippsTDESDecryptOFB n0_ippsTDESDecryptOFB -#define ippsTDESEncryptCTR n0_ippsTDESEncryptCTR -#define ippsTDESDecryptCTR n0_ippsTDESDecryptCTR -#define ippsAESGetSize n0_ippsAESGetSize -#define ippsAESInit n0_ippsAESInit -#define ippsAESSetKey n0_ippsAESSetKey -#define ippsAESPack n0_ippsAESPack -#define ippsAESUnpack n0_ippsAESUnpack -#define ippsAESEncryptECB n0_ippsAESEncryptECB -#define ippsAESDecryptECB n0_ippsAESDecryptECB -#define ippsAESEncryptCBC n0_ippsAESEncryptCBC -#define ippsAESEncryptCBC_CS1 n0_ippsAESEncryptCBC_CS1 -#define ippsAESEncryptCBC_CS2 n0_ippsAESEncryptCBC_CS2 -#define ippsAESEncryptCBC_CS3 n0_ippsAESEncryptCBC_CS3 -#define ippsAESDecryptCBC n0_ippsAESDecryptCBC -#define ippsAESDecryptCBC_CS1 n0_ippsAESDecryptCBC_CS1 -#define ippsAESDecryptCBC_CS2 n0_ippsAESDecryptCBC_CS2 -#define ippsAESDecryptCBC_CS3 n0_ippsAESDecryptCBC_CS3 -#define ippsAESEncryptCFB n0_ippsAESEncryptCFB -#define ippsAESDecryptCFB n0_ippsAESDecryptCFB -#define ippsAESEncryptOFB n0_ippsAESEncryptOFB -#define ippsAESDecryptOFB n0_ippsAESDecryptOFB -#define ippsAESEncryptCTR n0_ippsAESEncryptCTR -#define ippsAESDecryptCTR n0_ippsAESDecryptCTR -#define ippsAESEncryptXTS_Direct n0_ippsAESEncryptXTS_Direct -#define ippsAESDecryptXTS_Direct n0_ippsAESDecryptXTS_Direct -#define ippsAESSetupNoise n0_ippsAESSetupNoise -#define ippsAES_GCMSetupNoise n0_ippsAES_GCMSetupNoise -#define ippsAES_CMACSetupNoise n0_ippsAES_CMACSetupNoise -#define ippsAES_EncryptCFB16_MB n0_ippsAES_EncryptCFB16_MB -#define ippsSMS4GetSize n0_ippsSMS4GetSize -#define ippsSMS4Init n0_ippsSMS4Init -#define ippsSMS4SetKey n0_ippsSMS4SetKey -#define ippsSMS4EncryptECB n0_ippsSMS4EncryptECB -#define ippsSMS4DecryptECB n0_ippsSMS4DecryptECB -#define ippsSMS4EncryptCBC n0_ippsSMS4EncryptCBC -#define ippsSMS4EncryptCBC_CS1 n0_ippsSMS4EncryptCBC_CS1 -#define ippsSMS4EncryptCBC_CS2 n0_ippsSMS4EncryptCBC_CS2 -#define ippsSMS4EncryptCBC_CS3 n0_ippsSMS4EncryptCBC_CS3 -#define ippsSMS4DecryptCBC n0_ippsSMS4DecryptCBC -#define ippsSMS4DecryptCBC_CS1 n0_ippsSMS4DecryptCBC_CS1 -#define ippsSMS4DecryptCBC_CS2 n0_ippsSMS4DecryptCBC_CS2 -#define ippsSMS4DecryptCBC_CS3 n0_ippsSMS4DecryptCBC_CS3 -#define ippsSMS4EncryptCFB n0_ippsSMS4EncryptCFB -#define ippsSMS4DecryptCFB n0_ippsSMS4DecryptCFB -#define ippsSMS4EncryptOFB n0_ippsSMS4EncryptOFB -#define ippsSMS4DecryptOFB n0_ippsSMS4DecryptOFB -#define ippsSMS4EncryptCTR n0_ippsSMS4EncryptCTR -#define ippsSMS4DecryptCTR n0_ippsSMS4DecryptCTR -#define ippsSMS4_CCMGetSize n0_ippsSMS4_CCMGetSize -#define ippsSMS4_CCMInit n0_ippsSMS4_CCMInit -#define ippsSMS4_CCMMessageLen n0_ippsSMS4_CCMMessageLen -#define ippsSMS4_CCMTagLen n0_ippsSMS4_CCMTagLen -#define ippsSMS4_CCMStart n0_ippsSMS4_CCMStart -#define ippsSMS4_CCMEncrypt n0_ippsSMS4_CCMEncrypt -#define ippsSMS4_CCMDecrypt n0_ippsSMS4_CCMDecrypt -#define ippsSMS4_CCMGetTag n0_ippsSMS4_CCMGetTag -#define ippsAES_CCMGetSize n0_ippsAES_CCMGetSize -#define ippsAES_CCMInit n0_ippsAES_CCMInit -#define ippsAES_CCMMessageLen n0_ippsAES_CCMMessageLen -#define ippsAES_CCMTagLen n0_ippsAES_CCMTagLen -#define ippsAES_CCMStart n0_ippsAES_CCMStart -#define ippsAES_CCMEncrypt n0_ippsAES_CCMEncrypt -#define ippsAES_CCMDecrypt n0_ippsAES_CCMDecrypt -#define ippsAES_CCMGetTag n0_ippsAES_CCMGetTag -#define ippsAES_GCMGetSize n0_ippsAES_GCMGetSize -#define ippsAES_GCMInit n0_ippsAES_GCMInit -#define ippsAES_GCMReinit n0_ippsAES_GCMReinit -#define ippsAES_GCMReset n0_ippsAES_GCMReset -#define ippsAES_GCMProcessIV n0_ippsAES_GCMProcessIV -#define ippsAES_GCMProcessAAD n0_ippsAES_GCMProcessAAD -#define ippsAES_GCMStart n0_ippsAES_GCMStart -#define ippsAES_GCMEncrypt n0_ippsAES_GCMEncrypt -#define ippsAES_GCMDecrypt n0_ippsAES_GCMDecrypt -#define ippsAES_GCMGetTag n0_ippsAES_GCMGetTag -#define ippsAES_XTSGetSize n0_ippsAES_XTSGetSize -#define ippsAES_XTSInit n0_ippsAES_XTSInit -#define ippsAES_XTSEncrypt n0_ippsAES_XTSEncrypt -#define ippsAES_XTSDecrypt n0_ippsAES_XTSDecrypt -#define ippsAES_S2V_CMAC n0_ippsAES_S2V_CMAC -#define ippsAES_SIVEncrypt n0_ippsAES_SIVEncrypt -#define ippsAES_SIVDecrypt n0_ippsAES_SIVDecrypt -#define ippsAES_CMACGetSize n0_ippsAES_CMACGetSize -#define ippsAES_CMACInit n0_ippsAES_CMACInit -#define ippsAES_CMACUpdate n0_ippsAES_CMACUpdate -#define ippsAES_CMACFinal n0_ippsAES_CMACFinal -#define ippsAES_CMACGetTag n0_ippsAES_CMACGetTag -#define ippsARCFourCheckKey n0_ippsARCFourCheckKey -#define ippsARCFourGetSize n0_ippsARCFourGetSize -#define ippsARCFourInit n0_ippsARCFourInit -#define ippsARCFourReset n0_ippsARCFourReset -#define ippsARCFourPack n0_ippsARCFourPack -#define ippsARCFourUnpack n0_ippsARCFourUnpack -#define ippsARCFourEncrypt n0_ippsARCFourEncrypt -#define ippsARCFourDecrypt n0_ippsARCFourDecrypt -#define ippsSHA1GetSize n0_ippsSHA1GetSize -#define ippsSHA1Init n0_ippsSHA1Init -#define ippsSHA1Duplicate n0_ippsSHA1Duplicate -#define ippsSHA1Pack n0_ippsSHA1Pack -#define ippsSHA1Unpack n0_ippsSHA1Unpack -#define ippsSHA1Update n0_ippsSHA1Update -#define ippsSHA1GetTag n0_ippsSHA1GetTag -#define ippsSHA1Final n0_ippsSHA1Final -#define ippsSHA1MessageDigest n0_ippsSHA1MessageDigest -#define ippsSHA224GetSize n0_ippsSHA224GetSize -#define ippsSHA224Init n0_ippsSHA224Init -#define ippsSHA224Duplicate n0_ippsSHA224Duplicate -#define ippsSHA224Pack n0_ippsSHA224Pack -#define ippsSHA224Unpack n0_ippsSHA224Unpack -#define ippsSHA224Update n0_ippsSHA224Update -#define ippsSHA224GetTag n0_ippsSHA224GetTag -#define ippsSHA224Final n0_ippsSHA224Final -#define ippsSHA224MessageDigest n0_ippsSHA224MessageDigest -#define ippsSHA256GetSize n0_ippsSHA256GetSize -#define ippsSHA256Init n0_ippsSHA256Init -#define ippsSHA256Duplicate n0_ippsSHA256Duplicate -#define ippsSHA256Pack n0_ippsSHA256Pack -#define ippsSHA256Unpack n0_ippsSHA256Unpack -#define ippsSHA256Update n0_ippsSHA256Update -#define ippsSHA256GetTag n0_ippsSHA256GetTag -#define ippsSHA256Final n0_ippsSHA256Final -#define ippsSHA256MessageDigest n0_ippsSHA256MessageDigest -#define ippsSHA384GetSize n0_ippsSHA384GetSize -#define ippsSHA384Init n0_ippsSHA384Init -#define ippsSHA384Duplicate n0_ippsSHA384Duplicate -#define ippsSHA384Pack n0_ippsSHA384Pack -#define ippsSHA384Unpack n0_ippsSHA384Unpack -#define ippsSHA384Update n0_ippsSHA384Update -#define ippsSHA384GetTag n0_ippsSHA384GetTag -#define ippsSHA384Final n0_ippsSHA384Final -#define ippsSHA384MessageDigest n0_ippsSHA384MessageDigest -#define ippsSHA512GetSize n0_ippsSHA512GetSize -#define ippsSHA512Init n0_ippsSHA512Init -#define ippsSHA512Duplicate n0_ippsSHA512Duplicate -#define ippsSHA512Pack n0_ippsSHA512Pack -#define ippsSHA512Unpack n0_ippsSHA512Unpack -#define ippsSHA512Update n0_ippsSHA512Update -#define ippsSHA512GetTag n0_ippsSHA512GetTag -#define ippsSHA512Final n0_ippsSHA512Final -#define ippsSHA512MessageDigest n0_ippsSHA512MessageDigest -#define ippsMD5GetSize n0_ippsMD5GetSize -#define ippsMD5Init n0_ippsMD5Init -#define ippsMD5Duplicate n0_ippsMD5Duplicate -#define ippsMD5Pack n0_ippsMD5Pack -#define ippsMD5Unpack n0_ippsMD5Unpack -#define ippsMD5Update n0_ippsMD5Update -#define ippsMD5GetTag n0_ippsMD5GetTag -#define ippsMD5Final n0_ippsMD5Final -#define ippsMD5MessageDigest n0_ippsMD5MessageDigest -#define ippsSM3GetSize n0_ippsSM3GetSize -#define ippsSM3Init n0_ippsSM3Init -#define ippsSM3Duplicate n0_ippsSM3Duplicate -#define ippsSM3Pack n0_ippsSM3Pack -#define ippsSM3Unpack n0_ippsSM3Unpack -#define ippsSM3Update n0_ippsSM3Update -#define ippsSM3GetTag n0_ippsSM3GetTag -#define ippsSM3Final n0_ippsSM3Final -#define ippsSM3MessageDigest n0_ippsSM3MessageDigest -#define ippsHashGetSize n0_ippsHashGetSize -#define ippsHashInit n0_ippsHashInit -#define ippsHashPack n0_ippsHashPack -#define ippsHashUnpack n0_ippsHashUnpack -#define ippsHashDuplicate n0_ippsHashDuplicate -#define ippsHashUpdate n0_ippsHashUpdate -#define ippsHashGetTag n0_ippsHashGetTag -#define ippsHashFinal n0_ippsHashFinal -#define ippsHashMessage n0_ippsHashMessage -#define ippsHashMethod_MD5 n0_ippsHashMethod_MD5 -#define ippsHashMethod_SM3 n0_ippsHashMethod_SM3 -#define ippsHashMethod_SHA1 n0_ippsHashMethod_SHA1 -#define ippsHashMethod_SHA1_NI n0_ippsHashMethod_SHA1_NI -#define ippsHashMethod_SHA1_TT n0_ippsHashMethod_SHA1_TT -#define ippsHashMethod_SHA256 n0_ippsHashMethod_SHA256 -#define ippsHashMethod_SHA256_NI n0_ippsHashMethod_SHA256_NI -#define ippsHashMethod_SHA256_TT n0_ippsHashMethod_SHA256_TT -#define ippsHashMethod_SHA224 n0_ippsHashMethod_SHA224 -#define ippsHashMethod_SHA224_NI n0_ippsHashMethod_SHA224_NI -#define ippsHashMethod_SHA224_TT n0_ippsHashMethod_SHA224_TT -#define ippsHashMethod_SHA512 n0_ippsHashMethod_SHA512 -#define ippsHashMethod_SHA384 n0_ippsHashMethod_SHA384 -#define ippsHashMethod_SHA512_256 n0_ippsHashMethod_SHA512_256 -#define ippsHashMethod_SHA512_224 n0_ippsHashMethod_SHA512_224 -#define ippsHashMethodGetSize n0_ippsHashMethodGetSize -#define ippsHashMethodSet_MD5 n0_ippsHashMethodSet_MD5 -#define ippsHashMethodSet_SM3 n0_ippsHashMethodSet_SM3 -#define ippsHashStateMethodSet_SM3 n0_ippsHashStateMethodSet_SM3 -#define ippsHashMethodSet_SHA1 n0_ippsHashMethodSet_SHA1 -#define ippsHashMethodSet_SHA1_NI n0_ippsHashMethodSet_SHA1_NI -#define ippsHashMethodSet_SHA1_TT n0_ippsHashMethodSet_SHA1_TT -#define ippsHashMethodSet_SHA256 n0_ippsHashMethodSet_SHA256 -#define ippsHashMethodSet_SHA256_NI n0_ippsHashMethodSet_SHA256_NI -#define ippsHashMethodSet_SHA256_TT n0_ippsHashMethodSet_SHA256_TT -#define ippsHashStateMethodSet_SHA256 n0_ippsHashStateMethodSet_SHA256 -#define ippsHashStateMethodSet_SHA256_NI n0_ippsHashStateMethodSet_SHA256_NI -#define ippsHashStateMethodSet_SHA256_TT n0_ippsHashStateMethodSet_SHA256_TT -#define ippsHashMethodSet_SHA224 n0_ippsHashMethodSet_SHA224 -#define ippsHashMethodSet_SHA224_NI n0_ippsHashMethodSet_SHA224_NI -#define ippsHashMethodSet_SHA224_TT n0_ippsHashMethodSet_SHA224_TT -#define ippsHashStateMethodSet_SHA224 n0_ippsHashStateMethodSet_SHA224 -#define ippsHashStateMethodSet_SHA224_NI n0_ippsHashStateMethodSet_SHA224_NI -#define ippsHashStateMethodSet_SHA224_TT n0_ippsHashStateMethodSet_SHA224_TT -#define ippsHashMethodSet_SHA512 n0_ippsHashMethodSet_SHA512 -#define ippsHashMethodSet_SHA384 n0_ippsHashMethodSet_SHA384 -#define ippsHashMethodSet_SHA512_256 n0_ippsHashMethodSet_SHA512_256 -#define ippsHashMethodSet_SHA512_224 n0_ippsHashMethodSet_SHA512_224 -#define ippsHashStateMethodSet_SHA512 n0_ippsHashStateMethodSet_SHA512 -#define ippsHashStateMethodSet_SHA384 n0_ippsHashStateMethodSet_SHA384 -#define ippsHashStateMethodSet_SHA512_256 n0_ippsHashStateMethodSet_SHA512_256 -#define ippsHashStateMethodSet_SHA512_224 n0_ippsHashStateMethodSet_SHA512_224 -#define ippsHashGetSize_rmf n0_ippsHashGetSize_rmf -#define ippsHashInit_rmf n0_ippsHashInit_rmf -#define ippsHashPack_rmf n0_ippsHashPack_rmf -#define ippsHashUnpack_rmf n0_ippsHashUnpack_rmf -#define ippsHashDuplicate_rmf n0_ippsHashDuplicate_rmf -#define ippsHashUpdate_rmf n0_ippsHashUpdate_rmf -#define ippsHashGetTag_rmf n0_ippsHashGetTag_rmf -#define ippsHashFinal_rmf n0_ippsHashFinal_rmf -#define ippsHashMessage_rmf n0_ippsHashMessage_rmf -#define ippsHashMethodGetInfo n0_ippsHashMethodGetInfo -#define ippsHashGetInfo_rmf n0_ippsHashGetInfo_rmf -#define ippsMGF n0_ippsMGF -#define ippsMGF1_rmf n0_ippsMGF1_rmf -#define ippsMGF2_rmf n0_ippsMGF2_rmf -#define ippsHMAC_GetSize n0_ippsHMAC_GetSize -#define ippsHMAC_Init n0_ippsHMAC_Init -#define ippsHMAC_Pack n0_ippsHMAC_Pack -#define ippsHMAC_Unpack n0_ippsHMAC_Unpack -#define ippsHMAC_Duplicate n0_ippsHMAC_Duplicate -#define ippsHMAC_Update n0_ippsHMAC_Update -#define ippsHMAC_Final n0_ippsHMAC_Final -#define ippsHMAC_GetTag n0_ippsHMAC_GetTag -#define ippsHMAC_Message n0_ippsHMAC_Message -#define ippsHMACGetSize_rmf n0_ippsHMACGetSize_rmf -#define ippsHMACInit_rmf n0_ippsHMACInit_rmf -#define ippsHMACPack_rmf n0_ippsHMACPack_rmf -#define ippsHMACUnpack_rmf n0_ippsHMACUnpack_rmf -#define ippsHMACDuplicate_rmf n0_ippsHMACDuplicate_rmf -#define ippsHMACUpdate_rmf n0_ippsHMACUpdate_rmf -#define ippsHMACFinal_rmf n0_ippsHMACFinal_rmf -#define ippsHMACGetTag_rmf n0_ippsHMACGetTag_rmf -#define ippsHMACMessage_rmf n0_ippsHMACMessage_rmf -#define ippsBigNumGetSize n0_ippsBigNumGetSize -#define ippsBigNumInit n0_ippsBigNumInit -#define ippsCmpZero_BN n0_ippsCmpZero_BN -#define ippsCmp_BN n0_ippsCmp_BN -#define ippsGetSize_BN n0_ippsGetSize_BN -#define ippsSet_BN n0_ippsSet_BN -#define ippsGet_BN n0_ippsGet_BN -#define ippsRef_BN n0_ippsRef_BN -#define ippsExtGet_BN n0_ippsExtGet_BN -#define ippsAdd_BN n0_ippsAdd_BN -#define ippsSub_BN n0_ippsSub_BN -#define ippsMul_BN n0_ippsMul_BN -#define ippsMAC_BN_I n0_ippsMAC_BN_I -#define ippsDiv_BN n0_ippsDiv_BN -#define ippsMod_BN n0_ippsMod_BN -#define ippsGcd_BN n0_ippsGcd_BN -#define ippsModInv_BN n0_ippsModInv_BN -#define ippsSetOctString_BN n0_ippsSetOctString_BN -#define ippsGetOctString_BN n0_ippsGetOctString_BN -#define ippsMontGetSize n0_ippsMontGetSize -#define ippsMontInit n0_ippsMontInit -#define ippsMontSet n0_ippsMontSet -#define ippsMontGet n0_ippsMontGet -#define ippsMontForm n0_ippsMontForm -#define ippsMontMul n0_ippsMontMul -#define ippsMontExp n0_ippsMontExp -#define ippsPRNGGetSize n0_ippsPRNGGetSize -#define ippsPRNGInit n0_ippsPRNGInit -#define ippsPRNGSetModulus n0_ippsPRNGSetModulus -#define ippsPRNGSetH0 n0_ippsPRNGSetH0 -#define ippsPRNGSetAugment n0_ippsPRNGSetAugment -#define ippsPRNGSetSeed n0_ippsPRNGSetSeed -#define ippsPRNGGetSeed n0_ippsPRNGGetSeed -#define ippsPRNGen n0_ippsPRNGen -#define ippsPRNGen_BN n0_ippsPRNGen_BN -#define ippsPRNGenRDRAND n0_ippsPRNGenRDRAND -#define ippsPRNGenRDRAND_BN n0_ippsPRNGenRDRAND_BN -#define ippsTRNGenRDSEED n0_ippsTRNGenRDSEED -#define ippsTRNGenRDSEED_BN n0_ippsTRNGenRDSEED_BN -#define ippsPrimeGetSize n0_ippsPrimeGetSize -#define ippsPrimeInit n0_ippsPrimeInit -#define ippsPrimeGen n0_ippsPrimeGen -#define ippsPrimeTest n0_ippsPrimeTest -#define ippsPrimeGen_BN n0_ippsPrimeGen_BN -#define ippsPrimeTest_BN n0_ippsPrimeTest_BN -#define ippsPrimeGet n0_ippsPrimeGet -#define ippsPrimeGet_BN n0_ippsPrimeGet_BN -#define ippsPrimeSet n0_ippsPrimeSet -#define ippsPrimeSet_BN n0_ippsPrimeSet_BN -#define ippsRSA_GetSizePublicKey n0_ippsRSA_GetSizePublicKey -#define ippsRSA_InitPublicKey n0_ippsRSA_InitPublicKey -#define ippsRSA_SetPublicKey n0_ippsRSA_SetPublicKey -#define ippsRSA_GetPublicKey n0_ippsRSA_GetPublicKey -#define ippsRSA_GetSizePrivateKeyType1 n0_ippsRSA_GetSizePrivateKeyType1 -#define ippsRSA_InitPrivateKeyType1 n0_ippsRSA_InitPrivateKeyType1 -#define ippsRSA_SetPrivateKeyType1 n0_ippsRSA_SetPrivateKeyType1 -#define ippsRSA_GetPrivateKeyType1 n0_ippsRSA_GetPrivateKeyType1 -#define ippsRSA_GetSizePrivateKeyType2 n0_ippsRSA_GetSizePrivateKeyType2 -#define ippsRSA_InitPrivateKeyType2 n0_ippsRSA_InitPrivateKeyType2 -#define ippsRSA_SetPrivateKeyType2 n0_ippsRSA_SetPrivateKeyType2 -#define ippsRSA_GetPrivateKeyType2 n0_ippsRSA_GetPrivateKeyType2 -#define ippsRSA_GetBufferSizePublicKey n0_ippsRSA_GetBufferSizePublicKey -#define ippsRSA_GetBufferSizePrivateKey n0_ippsRSA_GetBufferSizePrivateKey -#define ippsRSA_Encrypt n0_ippsRSA_Encrypt -#define ippsRSA_Decrypt n0_ippsRSA_Decrypt -#define ippsRSA_GenerateKeys n0_ippsRSA_GenerateKeys -#define ippsRSA_ValidateKeys n0_ippsRSA_ValidateKeys -#define ippsRSAEncrypt_OAEP n0_ippsRSAEncrypt_OAEP -#define ippsRSADecrypt_OAEP n0_ippsRSADecrypt_OAEP -#define ippsRSAEncrypt_OAEP_rmf n0_ippsRSAEncrypt_OAEP_rmf -#define ippsRSADecrypt_OAEP_rmf n0_ippsRSADecrypt_OAEP_rmf -#define ippsRSAEncrypt_PKCSv15 n0_ippsRSAEncrypt_PKCSv15 -#define ippsRSADecrypt_PKCSv15 n0_ippsRSADecrypt_PKCSv15 -#define ippsRSASign_PSS n0_ippsRSASign_PSS -#define ippsRSAVerify_PSS n0_ippsRSAVerify_PSS -#define ippsRSASign_PSS_rmf n0_ippsRSASign_PSS_rmf -#define ippsRSAVerify_PSS_rmf n0_ippsRSAVerify_PSS_rmf -#define ippsRSASign_PKCS1v15 n0_ippsRSASign_PKCS1v15 -#define ippsRSAVerify_PKCS1v15 n0_ippsRSAVerify_PKCS1v15 -#define ippsRSASign_PKCS1v15_rmf n0_ippsRSASign_PKCS1v15_rmf -#define ippsRSAVerify_PKCS1v15_rmf n0_ippsRSAVerify_PKCS1v15_rmf -#define ippsDLGetResultString n0_ippsDLGetResultString -#define ippsDLPGetSize n0_ippsDLPGetSize -#define ippsDLPInit n0_ippsDLPInit -#define ippsDLPPack n0_ippsDLPPack -#define ippsDLPUnpack n0_ippsDLPUnpack -#define ippsDLPSet n0_ippsDLPSet -#define ippsDLPGet n0_ippsDLPGet -#define ippsDLPSetDP n0_ippsDLPSetDP -#define ippsDLPGetDP n0_ippsDLPGetDP -#define ippsDLPGenKeyPair n0_ippsDLPGenKeyPair -#define ippsDLPPublicKey n0_ippsDLPPublicKey -#define ippsDLPValidateKeyPair n0_ippsDLPValidateKeyPair -#define ippsDLPSetKeyPair n0_ippsDLPSetKeyPair -#define ippsDLPSignDSA n0_ippsDLPSignDSA -#define ippsDLPVerifyDSA n0_ippsDLPVerifyDSA -#define ippsDLPSharedSecretDH n0_ippsDLPSharedSecretDH -#define ippsDLPGenerateDSA n0_ippsDLPGenerateDSA -#define ippsDLPValidateDSA n0_ippsDLPValidateDSA -#define ippsDLPGenerateDH n0_ippsDLPGenerateDH -#define ippsDLPValidateDH n0_ippsDLPValidateDH -#define ippsECCGetResultString n0_ippsECCGetResultString -#define ippsECCPGetSize n0_ippsECCPGetSize -#define ippsECCPGetSizeStd128r1 n0_ippsECCPGetSizeStd128r1 -#define ippsECCPGetSizeStd128r2 n0_ippsECCPGetSizeStd128r2 -#define ippsECCPGetSizeStd192r1 n0_ippsECCPGetSizeStd192r1 -#define ippsECCPGetSizeStd224r1 n0_ippsECCPGetSizeStd224r1 -#define ippsECCPGetSizeStd256r1 n0_ippsECCPGetSizeStd256r1 -#define ippsECCPGetSizeStd384r1 n0_ippsECCPGetSizeStd384r1 -#define ippsECCPGetSizeStd521r1 n0_ippsECCPGetSizeStd521r1 -#define ippsECCPGetSizeStdSM2 n0_ippsECCPGetSizeStdSM2 -#define ippsECCPInit n0_ippsECCPInit -#define ippsECCPInitStd128r1 n0_ippsECCPInitStd128r1 -#define ippsECCPInitStd128r2 n0_ippsECCPInitStd128r2 -#define ippsECCPInitStd192r1 n0_ippsECCPInitStd192r1 -#define ippsECCPInitStd224r1 n0_ippsECCPInitStd224r1 -#define ippsECCPInitStd256r1 n0_ippsECCPInitStd256r1 -#define ippsECCPInitStd384r1 n0_ippsECCPInitStd384r1 -#define ippsECCPInitStd521r1 n0_ippsECCPInitStd521r1 -#define ippsECCPInitStdSM2 n0_ippsECCPInitStdSM2 -#define ippsECCPSet n0_ippsECCPSet -#define ippsECCPSetStd n0_ippsECCPSetStd -#define ippsECCPSetStd128r1 n0_ippsECCPSetStd128r1 -#define ippsECCPSetStd128r2 n0_ippsECCPSetStd128r2 -#define ippsECCPSetStd192r1 n0_ippsECCPSetStd192r1 -#define ippsECCPSetStd224r1 n0_ippsECCPSetStd224r1 -#define ippsECCPSetStd256r1 n0_ippsECCPSetStd256r1 -#define ippsECCPSetStd384r1 n0_ippsECCPSetStd384r1 -#define ippsECCPSetStd521r1 n0_ippsECCPSetStd521r1 -#define ippsECCPSetStdSM2 n0_ippsECCPSetStdSM2 -#define ippsECCPBindGxyTblStd192r1 n0_ippsECCPBindGxyTblStd192r1 -#define ippsECCPBindGxyTblStd224r1 n0_ippsECCPBindGxyTblStd224r1 -#define ippsECCPBindGxyTblStd256r1 n0_ippsECCPBindGxyTblStd256r1 -#define ippsECCPBindGxyTblStd384r1 n0_ippsECCPBindGxyTblStd384r1 -#define ippsECCPBindGxyTblStd521r1 n0_ippsECCPBindGxyTblStd521r1 -#define ippsECCPBindGxyTblStdSM2 n0_ippsECCPBindGxyTblStdSM2 -#define ippsECCPGet n0_ippsECCPGet -#define ippsECCPGetOrderBitSize n0_ippsECCPGetOrderBitSize -#define ippsECCPValidate n0_ippsECCPValidate -#define ippsECCPPointGetSize n0_ippsECCPPointGetSize -#define ippsECCPPointInit n0_ippsECCPPointInit -#define ippsECCPSetPoint n0_ippsECCPSetPoint -#define ippsECCPSetPointAtInfinity n0_ippsECCPSetPointAtInfinity -#define ippsECCPGetPoint n0_ippsECCPGetPoint -#define ippsECCPCheckPoint n0_ippsECCPCheckPoint -#define ippsECCPComparePoint n0_ippsECCPComparePoint -#define ippsECCPNegativePoint n0_ippsECCPNegativePoint -#define ippsECCPAddPoint n0_ippsECCPAddPoint -#define ippsECCPMulPointScalar n0_ippsECCPMulPointScalar -#define ippsECCPGenKeyPair n0_ippsECCPGenKeyPair -#define ippsECCPPublicKey n0_ippsECCPPublicKey -#define ippsECCPValidateKeyPair n0_ippsECCPValidateKeyPair -#define ippsECCPSetKeyPair n0_ippsECCPSetKeyPair -#define ippsECCPSharedSecretDH n0_ippsECCPSharedSecretDH -#define ippsECCPSharedSecretDHC n0_ippsECCPSharedSecretDHC -#define ippsECCPSignDSA n0_ippsECCPSignDSA -#define ippsECCPVerifyDSA n0_ippsECCPVerifyDSA -#define ippsECCPSignNR n0_ippsECCPSignNR -#define ippsECCPVerifyNR n0_ippsECCPVerifyNR -#define ippsECCPSignSM2 n0_ippsECCPSignSM2 -#define ippsECCPVerifySM2 n0_ippsECCPVerifySM2 -#define ippsGFpGetSize n0_ippsGFpGetSize -#define ippsGFpInitArbitrary n0_ippsGFpInitArbitrary -#define ippsGFpInitFixed n0_ippsGFpInitFixed -#define ippsGFpInit n0_ippsGFpInit -#define ippsGFpMethod_p192r1 n0_ippsGFpMethod_p192r1 -#define ippsGFpMethod_p224r1 n0_ippsGFpMethod_p224r1 -#define ippsGFpMethod_p256r1 n0_ippsGFpMethod_p256r1 -#define ippsGFpMethod_p384r1 n0_ippsGFpMethod_p384r1 -#define ippsGFpMethod_p521r1 n0_ippsGFpMethod_p521r1 -#define ippsGFpMethod_p256sm2 n0_ippsGFpMethod_p256sm2 -#define ippsGFpMethod_p256bn n0_ippsGFpMethod_p256bn -#define ippsGFpMethod_p256 n0_ippsGFpMethod_p256 -#define ippsGFpMethod_pArb n0_ippsGFpMethod_pArb -#define ippsGFpxGetSize n0_ippsGFpxGetSize -#define ippsGFpxInit n0_ippsGFpxInit -#define ippsGFpxInitBinomial n0_ippsGFpxInitBinomial -#define ippsGFpxMethod_binom2_epid2 n0_ippsGFpxMethod_binom2_epid2 -#define ippsGFpxMethod_binom3_epid2 n0_ippsGFpxMethod_binom3_epid2 -#define ippsGFpxMethod_binom2 n0_ippsGFpxMethod_binom2 -#define ippsGFpxMethod_binom3 n0_ippsGFpxMethod_binom3 -#define ippsGFpxMethod_binom n0_ippsGFpxMethod_binom -#define ippsGFpxMethod_com n0_ippsGFpxMethod_com -#define ippsGFpScratchBufferSize n0_ippsGFpScratchBufferSize -#define ippsGFpElementGetSize n0_ippsGFpElementGetSize -#define ippsGFpElementInit n0_ippsGFpElementInit -#define ippsGFpSetElement n0_ippsGFpSetElement -#define ippsGFpSetElementRegular n0_ippsGFpSetElementRegular -#define ippsGFpSetElementOctString n0_ippsGFpSetElementOctString -#define ippsGFpSetElementRandom n0_ippsGFpSetElementRandom -#define ippsGFpSetElementHash n0_ippsGFpSetElementHash -#define ippsGFpSetElementHash_rmf n0_ippsGFpSetElementHash_rmf -#define ippsGFpCpyElement n0_ippsGFpCpyElement -#define ippsGFpGetElement n0_ippsGFpGetElement -#define ippsGFpGetElementOctString n0_ippsGFpGetElementOctString -#define ippsGFpCmpElement n0_ippsGFpCmpElement -#define ippsGFpIsZeroElement n0_ippsGFpIsZeroElement -#define ippsGFpIsUnityElement n0_ippsGFpIsUnityElement -#define ippsGFpConj n0_ippsGFpConj -#define ippsGFpNeg n0_ippsGFpNeg -#define ippsGFpInv n0_ippsGFpInv -#define ippsGFpSqrt n0_ippsGFpSqrt -#define ippsGFpSqr n0_ippsGFpSqr -#define ippsGFpAdd n0_ippsGFpAdd -#define ippsGFpSub n0_ippsGFpSub -#define ippsGFpMul n0_ippsGFpMul -#define ippsGFpExp n0_ippsGFpExp -#define ippsGFpMultiExp n0_ippsGFpMultiExp -#define ippsGFpAdd_PE n0_ippsGFpAdd_PE -#define ippsGFpSub_PE n0_ippsGFpSub_PE -#define ippsGFpMul_PE n0_ippsGFpMul_PE -#define ippsGFpGetInfo n0_ippsGFpGetInfo -#define ippsGFpECGetSize n0_ippsGFpECGetSize -#define ippsGFpECInit n0_ippsGFpECInit -#define ippsGFpECSet n0_ippsGFpECSet -#define ippsGFpECSetSubgroup n0_ippsGFpECSetSubgroup -#define ippsGFpECInitStd128r1 n0_ippsGFpECInitStd128r1 -#define ippsGFpECInitStd128r2 n0_ippsGFpECInitStd128r2 -#define ippsGFpECInitStd192r1 n0_ippsGFpECInitStd192r1 -#define ippsGFpECInitStd224r1 n0_ippsGFpECInitStd224r1 -#define ippsGFpECInitStd256r1 n0_ippsGFpECInitStd256r1 -#define ippsGFpECInitStd384r1 n0_ippsGFpECInitStd384r1 -#define ippsGFpECInitStd521r1 n0_ippsGFpECInitStd521r1 -#define ippsGFpECInitStdSM2 n0_ippsGFpECInitStdSM2 -#define ippsGFpECInitStdBN256 n0_ippsGFpECInitStdBN256 -#define ippsGFpECBindGxyTblStd192r1 n0_ippsGFpECBindGxyTblStd192r1 -#define ippsGFpECBindGxyTblStd224r1 n0_ippsGFpECBindGxyTblStd224r1 -#define ippsGFpECBindGxyTblStd256r1 n0_ippsGFpECBindGxyTblStd256r1 -#define ippsGFpECBindGxyTblStd384r1 n0_ippsGFpECBindGxyTblStd384r1 -#define ippsGFpECBindGxyTblStd521r1 n0_ippsGFpECBindGxyTblStd521r1 -#define ippsGFpECBindGxyTblStdSM2 n0_ippsGFpECBindGxyTblStdSM2 -#define ippsGFpECGet n0_ippsGFpECGet -#define ippsGFpECGetSubgroup n0_ippsGFpECGetSubgroup -#define ippsGFpECScratchBufferSize n0_ippsGFpECScratchBufferSize -#define ippsGFpECVerify n0_ippsGFpECVerify -#define ippsGFpECPointGetSize n0_ippsGFpECPointGetSize -#define ippsGFpECPointInit n0_ippsGFpECPointInit -#define ippsGFpECSetPointAtInfinity n0_ippsGFpECSetPointAtInfinity -#define ippsGFpECSetPoint n0_ippsGFpECSetPoint -#define ippsGFpECSetPointRegular n0_ippsGFpECSetPointRegular -#define ippsGFpECSetPointRandom n0_ippsGFpECSetPointRandom -#define ippsGFpECMakePoint n0_ippsGFpECMakePoint -#define ippsGFpECSetPointHash n0_ippsGFpECSetPointHash -#define ippsGFpECSetPointHashBackCompatible n0_ippsGFpECSetPointHashBackCompatible -#define ippsGFpECSetPointHash_rmf n0_ippsGFpECSetPointHash_rmf -#define ippsGFpECSetPointHashBackCompatible_rmf n0_ippsGFpECSetPointHashBackCompatible_rmf -#define ippsGFpECGetPoint n0_ippsGFpECGetPoint -#define ippsGFpECGetPointRegular n0_ippsGFpECGetPointRegular -#define ippsGFpECSetPointOctString n0_ippsGFpECSetPointOctString -#define ippsGFpECGetPointOctString n0_ippsGFpECGetPointOctString -#define ippsGFpECTstPoint n0_ippsGFpECTstPoint -#define ippsGFpECTstPointInSubgroup n0_ippsGFpECTstPointInSubgroup -#define ippsGFpECCpyPoint n0_ippsGFpECCpyPoint -#define ippsGFpECCmpPoint n0_ippsGFpECCmpPoint -#define ippsGFpECNegPoint n0_ippsGFpECNegPoint -#define ippsGFpECAddPoint n0_ippsGFpECAddPoint -#define ippsGFpECMulPoint n0_ippsGFpECMulPoint -#define ippsGFpECPrivateKey n0_ippsGFpECPrivateKey -#define ippsGFpECPublicKey n0_ippsGFpECPublicKey -#define ippsGFpECTstKeyPair n0_ippsGFpECTstKeyPair -#define ippsGFpECSharedSecretDH n0_ippsGFpECSharedSecretDH -#define ippsGFpECSharedSecretDHC n0_ippsGFpECSharedSecretDHC -#define ippsGFpECMessageRepresentationSM2 n0_ippsGFpECMessageRepresentationSM2 -#define ippsGFpECSignDSA n0_ippsGFpECSignDSA -#define ippsGFpECVerifyDSA n0_ippsGFpECVerifyDSA -#define ippsGFpECSignNR n0_ippsGFpECSignNR -#define ippsGFpECVerifyNR n0_ippsGFpECVerifyNR -#define ippsGFpECSignSM2 n0_ippsGFpECSignSM2 -#define ippsGFpECVerifySM2 n0_ippsGFpECVerifySM2 -#define ippsGFpECUserIDHashSM2 n0_ippsGFpECUserIDHashSM2 -#define ippsGFpECKeyExchangeSM2_GetSize n0_ippsGFpECKeyExchangeSM2_GetSize -#define ippsGFpECKeyExchangeSM2_Init n0_ippsGFpECKeyExchangeSM2_Init -#define ippsGFpECKeyExchangeSM2_Setup n0_ippsGFpECKeyExchangeSM2_Setup -#define ippsGFpECKeyExchangeSM2_SharedKey n0_ippsGFpECKeyExchangeSM2_SharedKey -#define ippsGFpECKeyExchangeSM2_Confirm n0_ippsGFpECKeyExchangeSM2_Confirm -#define ippsGFpECGetInfo_GF n0_ippsGFpECGetInfo_GF -#define ippsGFpECESGetSize_SM2 n0_ippsGFpECESGetSize_SM2 -#define ippsGFpECESInit_SM2 n0_ippsGFpECESInit_SM2 -#define ippsGFpECESSetKey_SM2 n0_ippsGFpECESSetKey_SM2 -#define ippsGFpECESStart_SM2 n0_ippsGFpECESStart_SM2 -#define ippsGFpECESEncrypt_SM2 n0_ippsGFpECESEncrypt_SM2 -#define ippsGFpECESDecrypt_SM2 n0_ippsGFpECESDecrypt_SM2 -#define ippsGFpECESFinal_SM2 n0_ippsGFpECESFinal_SM2 -#define ippsGFpECESGetBuffersSize_SM2 n0_ippsGFpECESGetBuffersSize_SM2 -#define ippsGFpECEncryptSM2_Ext_EncMsgSize n0_ippsGFpECEncryptSM2_Ext_EncMsgSize -#define ippsGFpECEncryptSM2_Ext n0_ippsGFpECEncryptSM2_Ext -#define ippsGFpECDecryptSM2_Ext_DecMsgSize n0_ippsGFpECDecryptSM2_Ext_DecMsgSize -#define ippsGFpECDecryptSM2_Ext n0_ippsGFpECDecryptSM2_Ext diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_n8.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_n8.h deleted file mode 100644 index b036560..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_n8.h +++ /dev/null @@ -1,557 +0,0 @@ -/******************************************************************************* - * Copyright 2023 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *******************************************************************************/ - - #define ippcpGetLibVersion n8_ippcpGetLibVersion -#define ippsDESGetSize n8_ippsDESGetSize -#define ippsDESInit n8_ippsDESInit -#define ippsDESPack n8_ippsDESPack -#define ippsDESUnpack n8_ippsDESUnpack -#define ippsTDESEncryptECB n8_ippsTDESEncryptECB -#define ippsTDESDecryptECB n8_ippsTDESDecryptECB -#define ippsTDESEncryptCBC n8_ippsTDESEncryptCBC -#define ippsTDESDecryptCBC n8_ippsTDESDecryptCBC -#define ippsTDESEncryptCFB n8_ippsTDESEncryptCFB -#define ippsTDESDecryptCFB n8_ippsTDESDecryptCFB -#define ippsTDESEncryptOFB n8_ippsTDESEncryptOFB -#define ippsTDESDecryptOFB n8_ippsTDESDecryptOFB -#define ippsTDESEncryptCTR n8_ippsTDESEncryptCTR -#define ippsTDESDecryptCTR n8_ippsTDESDecryptCTR -#define ippsAESGetSize n8_ippsAESGetSize -#define ippsAESInit n8_ippsAESInit -#define ippsAESSetKey n8_ippsAESSetKey -#define ippsAESPack n8_ippsAESPack -#define ippsAESUnpack n8_ippsAESUnpack -#define ippsAESEncryptECB n8_ippsAESEncryptECB -#define ippsAESDecryptECB n8_ippsAESDecryptECB -#define ippsAESEncryptCBC n8_ippsAESEncryptCBC -#define ippsAESEncryptCBC_CS1 n8_ippsAESEncryptCBC_CS1 -#define ippsAESEncryptCBC_CS2 n8_ippsAESEncryptCBC_CS2 -#define ippsAESEncryptCBC_CS3 n8_ippsAESEncryptCBC_CS3 -#define ippsAESDecryptCBC n8_ippsAESDecryptCBC -#define ippsAESDecryptCBC_CS1 n8_ippsAESDecryptCBC_CS1 -#define ippsAESDecryptCBC_CS2 n8_ippsAESDecryptCBC_CS2 -#define ippsAESDecryptCBC_CS3 n8_ippsAESDecryptCBC_CS3 -#define ippsAESEncryptCFB n8_ippsAESEncryptCFB -#define ippsAESDecryptCFB n8_ippsAESDecryptCFB -#define ippsAESEncryptOFB n8_ippsAESEncryptOFB -#define ippsAESDecryptOFB n8_ippsAESDecryptOFB -#define ippsAESEncryptCTR n8_ippsAESEncryptCTR -#define ippsAESDecryptCTR n8_ippsAESDecryptCTR -#define ippsAESEncryptXTS_Direct n8_ippsAESEncryptXTS_Direct -#define ippsAESDecryptXTS_Direct n8_ippsAESDecryptXTS_Direct -#define ippsAESSetupNoise n8_ippsAESSetupNoise -#define ippsAES_GCMSetupNoise n8_ippsAES_GCMSetupNoise -#define ippsAES_CMACSetupNoise n8_ippsAES_CMACSetupNoise -#define ippsAES_EncryptCFB16_MB n8_ippsAES_EncryptCFB16_MB -#define ippsSMS4GetSize n8_ippsSMS4GetSize -#define ippsSMS4Init n8_ippsSMS4Init -#define ippsSMS4SetKey n8_ippsSMS4SetKey -#define ippsSMS4EncryptECB n8_ippsSMS4EncryptECB -#define ippsSMS4DecryptECB n8_ippsSMS4DecryptECB -#define ippsSMS4EncryptCBC n8_ippsSMS4EncryptCBC -#define ippsSMS4EncryptCBC_CS1 n8_ippsSMS4EncryptCBC_CS1 -#define ippsSMS4EncryptCBC_CS2 n8_ippsSMS4EncryptCBC_CS2 -#define ippsSMS4EncryptCBC_CS3 n8_ippsSMS4EncryptCBC_CS3 -#define ippsSMS4DecryptCBC n8_ippsSMS4DecryptCBC -#define ippsSMS4DecryptCBC_CS1 n8_ippsSMS4DecryptCBC_CS1 -#define ippsSMS4DecryptCBC_CS2 n8_ippsSMS4DecryptCBC_CS2 -#define ippsSMS4DecryptCBC_CS3 n8_ippsSMS4DecryptCBC_CS3 -#define ippsSMS4EncryptCFB n8_ippsSMS4EncryptCFB -#define ippsSMS4DecryptCFB n8_ippsSMS4DecryptCFB -#define ippsSMS4EncryptOFB n8_ippsSMS4EncryptOFB -#define ippsSMS4DecryptOFB n8_ippsSMS4DecryptOFB -#define ippsSMS4EncryptCTR n8_ippsSMS4EncryptCTR -#define ippsSMS4DecryptCTR n8_ippsSMS4DecryptCTR -#define ippsSMS4_CCMGetSize n8_ippsSMS4_CCMGetSize -#define ippsSMS4_CCMInit n8_ippsSMS4_CCMInit -#define ippsSMS4_CCMMessageLen n8_ippsSMS4_CCMMessageLen -#define ippsSMS4_CCMTagLen n8_ippsSMS4_CCMTagLen -#define ippsSMS4_CCMStart n8_ippsSMS4_CCMStart -#define ippsSMS4_CCMEncrypt n8_ippsSMS4_CCMEncrypt -#define ippsSMS4_CCMDecrypt n8_ippsSMS4_CCMDecrypt -#define ippsSMS4_CCMGetTag n8_ippsSMS4_CCMGetTag -#define ippsAES_CCMGetSize n8_ippsAES_CCMGetSize -#define ippsAES_CCMInit n8_ippsAES_CCMInit -#define ippsAES_CCMMessageLen n8_ippsAES_CCMMessageLen -#define ippsAES_CCMTagLen n8_ippsAES_CCMTagLen -#define ippsAES_CCMStart n8_ippsAES_CCMStart -#define ippsAES_CCMEncrypt n8_ippsAES_CCMEncrypt -#define ippsAES_CCMDecrypt n8_ippsAES_CCMDecrypt -#define ippsAES_CCMGetTag n8_ippsAES_CCMGetTag -#define ippsAES_GCMGetSize n8_ippsAES_GCMGetSize -#define ippsAES_GCMInit n8_ippsAES_GCMInit -#define ippsAES_GCMReinit n8_ippsAES_GCMReinit -#define ippsAES_GCMReset n8_ippsAES_GCMReset -#define ippsAES_GCMProcessIV n8_ippsAES_GCMProcessIV -#define ippsAES_GCMProcessAAD n8_ippsAES_GCMProcessAAD -#define ippsAES_GCMStart n8_ippsAES_GCMStart -#define ippsAES_GCMEncrypt n8_ippsAES_GCMEncrypt -#define ippsAES_GCMDecrypt n8_ippsAES_GCMDecrypt -#define ippsAES_GCMGetTag n8_ippsAES_GCMGetTag -#define ippsAES_XTSGetSize n8_ippsAES_XTSGetSize -#define ippsAES_XTSInit n8_ippsAES_XTSInit -#define ippsAES_XTSEncrypt n8_ippsAES_XTSEncrypt -#define ippsAES_XTSDecrypt n8_ippsAES_XTSDecrypt -#define ippsAES_S2V_CMAC n8_ippsAES_S2V_CMAC -#define ippsAES_SIVEncrypt n8_ippsAES_SIVEncrypt -#define ippsAES_SIVDecrypt n8_ippsAES_SIVDecrypt -#define ippsAES_CMACGetSize n8_ippsAES_CMACGetSize -#define ippsAES_CMACInit n8_ippsAES_CMACInit -#define ippsAES_CMACUpdate n8_ippsAES_CMACUpdate -#define ippsAES_CMACFinal n8_ippsAES_CMACFinal -#define ippsAES_CMACGetTag n8_ippsAES_CMACGetTag -#define ippsARCFourCheckKey n8_ippsARCFourCheckKey -#define ippsARCFourGetSize n8_ippsARCFourGetSize -#define ippsARCFourInit n8_ippsARCFourInit -#define ippsARCFourReset n8_ippsARCFourReset -#define ippsARCFourPack n8_ippsARCFourPack -#define ippsARCFourUnpack n8_ippsARCFourUnpack -#define ippsARCFourEncrypt n8_ippsARCFourEncrypt -#define ippsARCFourDecrypt n8_ippsARCFourDecrypt -#define ippsSHA1GetSize n8_ippsSHA1GetSize -#define ippsSHA1Init n8_ippsSHA1Init -#define ippsSHA1Duplicate n8_ippsSHA1Duplicate -#define ippsSHA1Pack n8_ippsSHA1Pack -#define ippsSHA1Unpack n8_ippsSHA1Unpack -#define ippsSHA1Update n8_ippsSHA1Update -#define ippsSHA1GetTag n8_ippsSHA1GetTag -#define ippsSHA1Final n8_ippsSHA1Final -#define ippsSHA1MessageDigest n8_ippsSHA1MessageDigest -#define ippsSHA224GetSize n8_ippsSHA224GetSize -#define ippsSHA224Init n8_ippsSHA224Init -#define ippsSHA224Duplicate n8_ippsSHA224Duplicate -#define ippsSHA224Pack n8_ippsSHA224Pack -#define ippsSHA224Unpack n8_ippsSHA224Unpack -#define ippsSHA224Update n8_ippsSHA224Update -#define ippsSHA224GetTag n8_ippsSHA224GetTag -#define ippsSHA224Final n8_ippsSHA224Final -#define ippsSHA224MessageDigest n8_ippsSHA224MessageDigest -#define ippsSHA256GetSize n8_ippsSHA256GetSize -#define ippsSHA256Init n8_ippsSHA256Init -#define ippsSHA256Duplicate n8_ippsSHA256Duplicate -#define ippsSHA256Pack n8_ippsSHA256Pack -#define ippsSHA256Unpack n8_ippsSHA256Unpack -#define ippsSHA256Update n8_ippsSHA256Update -#define ippsSHA256GetTag n8_ippsSHA256GetTag -#define ippsSHA256Final n8_ippsSHA256Final -#define ippsSHA256MessageDigest n8_ippsSHA256MessageDigest -#define ippsSHA384GetSize n8_ippsSHA384GetSize -#define ippsSHA384Init n8_ippsSHA384Init -#define ippsSHA384Duplicate n8_ippsSHA384Duplicate -#define ippsSHA384Pack n8_ippsSHA384Pack -#define ippsSHA384Unpack n8_ippsSHA384Unpack -#define ippsSHA384Update n8_ippsSHA384Update -#define ippsSHA384GetTag n8_ippsSHA384GetTag -#define ippsSHA384Final n8_ippsSHA384Final -#define ippsSHA384MessageDigest n8_ippsSHA384MessageDigest -#define ippsSHA512GetSize n8_ippsSHA512GetSize -#define ippsSHA512Init n8_ippsSHA512Init -#define ippsSHA512Duplicate n8_ippsSHA512Duplicate -#define ippsSHA512Pack n8_ippsSHA512Pack -#define ippsSHA512Unpack n8_ippsSHA512Unpack -#define ippsSHA512Update n8_ippsSHA512Update -#define ippsSHA512GetTag n8_ippsSHA512GetTag -#define ippsSHA512Final n8_ippsSHA512Final -#define ippsSHA512MessageDigest n8_ippsSHA512MessageDigest -#define ippsMD5GetSize n8_ippsMD5GetSize -#define ippsMD5Init n8_ippsMD5Init -#define ippsMD5Duplicate n8_ippsMD5Duplicate -#define ippsMD5Pack n8_ippsMD5Pack -#define ippsMD5Unpack n8_ippsMD5Unpack -#define ippsMD5Update n8_ippsMD5Update -#define ippsMD5GetTag n8_ippsMD5GetTag -#define ippsMD5Final n8_ippsMD5Final -#define ippsMD5MessageDigest n8_ippsMD5MessageDigest -#define ippsSM3GetSize n8_ippsSM3GetSize -#define ippsSM3Init n8_ippsSM3Init -#define ippsSM3Duplicate n8_ippsSM3Duplicate -#define ippsSM3Pack n8_ippsSM3Pack -#define ippsSM3Unpack n8_ippsSM3Unpack -#define ippsSM3Update n8_ippsSM3Update -#define ippsSM3GetTag n8_ippsSM3GetTag -#define ippsSM3Final n8_ippsSM3Final -#define ippsSM3MessageDigest n8_ippsSM3MessageDigest -#define ippsHashGetSize n8_ippsHashGetSize -#define ippsHashInit n8_ippsHashInit -#define ippsHashPack n8_ippsHashPack -#define ippsHashUnpack n8_ippsHashUnpack -#define ippsHashDuplicate n8_ippsHashDuplicate -#define ippsHashUpdate n8_ippsHashUpdate -#define ippsHashGetTag n8_ippsHashGetTag -#define ippsHashFinal n8_ippsHashFinal -#define ippsHashMessage n8_ippsHashMessage -#define ippsHashMethod_MD5 n8_ippsHashMethod_MD5 -#define ippsHashMethod_SM3 n8_ippsHashMethod_SM3 -#define ippsHashMethod_SHA1 n8_ippsHashMethod_SHA1 -#define ippsHashMethod_SHA1_NI n8_ippsHashMethod_SHA1_NI -#define ippsHashMethod_SHA1_TT n8_ippsHashMethod_SHA1_TT -#define ippsHashMethod_SHA256 n8_ippsHashMethod_SHA256 -#define ippsHashMethod_SHA256_NI n8_ippsHashMethod_SHA256_NI -#define ippsHashMethod_SHA256_TT n8_ippsHashMethod_SHA256_TT -#define ippsHashMethod_SHA224 n8_ippsHashMethod_SHA224 -#define ippsHashMethod_SHA224_NI n8_ippsHashMethod_SHA224_NI -#define ippsHashMethod_SHA224_TT n8_ippsHashMethod_SHA224_TT -#define ippsHashMethod_SHA512 n8_ippsHashMethod_SHA512 -#define ippsHashMethod_SHA384 n8_ippsHashMethod_SHA384 -#define ippsHashMethod_SHA512_256 n8_ippsHashMethod_SHA512_256 -#define ippsHashMethod_SHA512_224 n8_ippsHashMethod_SHA512_224 -#define ippsHashMethodGetSize n8_ippsHashMethodGetSize -#define ippsHashMethodSet_MD5 n8_ippsHashMethodSet_MD5 -#define ippsHashMethodSet_SM3 n8_ippsHashMethodSet_SM3 -#define ippsHashStateMethodSet_SM3 n8_ippsHashStateMethodSet_SM3 -#define ippsHashMethodSet_SHA1 n8_ippsHashMethodSet_SHA1 -#define ippsHashMethodSet_SHA1_NI n8_ippsHashMethodSet_SHA1_NI -#define ippsHashMethodSet_SHA1_TT n8_ippsHashMethodSet_SHA1_TT -#define ippsHashMethodSet_SHA256 n8_ippsHashMethodSet_SHA256 -#define ippsHashMethodSet_SHA256_NI n8_ippsHashMethodSet_SHA256_NI -#define ippsHashMethodSet_SHA256_TT n8_ippsHashMethodSet_SHA256_TT -#define ippsHashStateMethodSet_SHA256 n8_ippsHashStateMethodSet_SHA256 -#define ippsHashStateMethodSet_SHA256_NI n8_ippsHashStateMethodSet_SHA256_NI -#define ippsHashStateMethodSet_SHA256_TT n8_ippsHashStateMethodSet_SHA256_TT -#define ippsHashMethodSet_SHA224 n8_ippsHashMethodSet_SHA224 -#define ippsHashMethodSet_SHA224_NI n8_ippsHashMethodSet_SHA224_NI -#define ippsHashMethodSet_SHA224_TT n8_ippsHashMethodSet_SHA224_TT -#define ippsHashStateMethodSet_SHA224 n8_ippsHashStateMethodSet_SHA224 -#define ippsHashStateMethodSet_SHA224_NI n8_ippsHashStateMethodSet_SHA224_NI -#define ippsHashStateMethodSet_SHA224_TT n8_ippsHashStateMethodSet_SHA224_TT -#define ippsHashMethodSet_SHA512 n8_ippsHashMethodSet_SHA512 -#define ippsHashMethodSet_SHA384 n8_ippsHashMethodSet_SHA384 -#define ippsHashMethodSet_SHA512_256 n8_ippsHashMethodSet_SHA512_256 -#define ippsHashMethodSet_SHA512_224 n8_ippsHashMethodSet_SHA512_224 -#define ippsHashStateMethodSet_SHA512 n8_ippsHashStateMethodSet_SHA512 -#define ippsHashStateMethodSet_SHA384 n8_ippsHashStateMethodSet_SHA384 -#define ippsHashStateMethodSet_SHA512_256 n8_ippsHashStateMethodSet_SHA512_256 -#define ippsHashStateMethodSet_SHA512_224 n8_ippsHashStateMethodSet_SHA512_224 -#define ippsHashGetSize_rmf n8_ippsHashGetSize_rmf -#define ippsHashInit_rmf n8_ippsHashInit_rmf -#define ippsHashPack_rmf n8_ippsHashPack_rmf -#define ippsHashUnpack_rmf n8_ippsHashUnpack_rmf -#define ippsHashDuplicate_rmf n8_ippsHashDuplicate_rmf -#define ippsHashUpdate_rmf n8_ippsHashUpdate_rmf -#define ippsHashGetTag_rmf n8_ippsHashGetTag_rmf -#define ippsHashFinal_rmf n8_ippsHashFinal_rmf -#define ippsHashMessage_rmf n8_ippsHashMessage_rmf -#define ippsHashMethodGetInfo n8_ippsHashMethodGetInfo -#define ippsHashGetInfo_rmf n8_ippsHashGetInfo_rmf -#define ippsMGF n8_ippsMGF -#define ippsMGF1_rmf n8_ippsMGF1_rmf -#define ippsMGF2_rmf n8_ippsMGF2_rmf -#define ippsHMAC_GetSize n8_ippsHMAC_GetSize -#define ippsHMAC_Init n8_ippsHMAC_Init -#define ippsHMAC_Pack n8_ippsHMAC_Pack -#define ippsHMAC_Unpack n8_ippsHMAC_Unpack -#define ippsHMAC_Duplicate n8_ippsHMAC_Duplicate -#define ippsHMAC_Update n8_ippsHMAC_Update -#define ippsHMAC_Final n8_ippsHMAC_Final -#define ippsHMAC_GetTag n8_ippsHMAC_GetTag -#define ippsHMAC_Message n8_ippsHMAC_Message -#define ippsHMACGetSize_rmf n8_ippsHMACGetSize_rmf -#define ippsHMACInit_rmf n8_ippsHMACInit_rmf -#define ippsHMACPack_rmf n8_ippsHMACPack_rmf -#define ippsHMACUnpack_rmf n8_ippsHMACUnpack_rmf -#define ippsHMACDuplicate_rmf n8_ippsHMACDuplicate_rmf -#define ippsHMACUpdate_rmf n8_ippsHMACUpdate_rmf -#define ippsHMACFinal_rmf n8_ippsHMACFinal_rmf -#define ippsHMACGetTag_rmf n8_ippsHMACGetTag_rmf -#define ippsHMACMessage_rmf n8_ippsHMACMessage_rmf -#define ippsBigNumGetSize n8_ippsBigNumGetSize -#define ippsBigNumInit n8_ippsBigNumInit -#define ippsCmpZero_BN n8_ippsCmpZero_BN -#define ippsCmp_BN n8_ippsCmp_BN -#define ippsGetSize_BN n8_ippsGetSize_BN -#define ippsSet_BN n8_ippsSet_BN -#define ippsGet_BN n8_ippsGet_BN -#define ippsRef_BN n8_ippsRef_BN -#define ippsExtGet_BN n8_ippsExtGet_BN -#define ippsAdd_BN n8_ippsAdd_BN -#define ippsSub_BN n8_ippsSub_BN -#define ippsMul_BN n8_ippsMul_BN -#define ippsMAC_BN_I n8_ippsMAC_BN_I -#define ippsDiv_BN n8_ippsDiv_BN -#define ippsMod_BN n8_ippsMod_BN -#define ippsGcd_BN n8_ippsGcd_BN -#define ippsModInv_BN n8_ippsModInv_BN -#define ippsSetOctString_BN n8_ippsSetOctString_BN -#define ippsGetOctString_BN n8_ippsGetOctString_BN -#define ippsMontGetSize n8_ippsMontGetSize -#define ippsMontInit n8_ippsMontInit -#define ippsMontSet n8_ippsMontSet -#define ippsMontGet n8_ippsMontGet -#define ippsMontForm n8_ippsMontForm -#define ippsMontMul n8_ippsMontMul -#define ippsMontExp n8_ippsMontExp -#define ippsPRNGGetSize n8_ippsPRNGGetSize -#define ippsPRNGInit n8_ippsPRNGInit -#define ippsPRNGSetModulus n8_ippsPRNGSetModulus -#define ippsPRNGSetH0 n8_ippsPRNGSetH0 -#define ippsPRNGSetAugment n8_ippsPRNGSetAugment -#define ippsPRNGSetSeed n8_ippsPRNGSetSeed -#define ippsPRNGGetSeed n8_ippsPRNGGetSeed -#define ippsPRNGen n8_ippsPRNGen -#define ippsPRNGen_BN n8_ippsPRNGen_BN -#define ippsPRNGenRDRAND n8_ippsPRNGenRDRAND -#define ippsPRNGenRDRAND_BN n8_ippsPRNGenRDRAND_BN -#define ippsTRNGenRDSEED n8_ippsTRNGenRDSEED -#define ippsTRNGenRDSEED_BN n8_ippsTRNGenRDSEED_BN -#define ippsPrimeGetSize n8_ippsPrimeGetSize -#define ippsPrimeInit n8_ippsPrimeInit -#define ippsPrimeGen n8_ippsPrimeGen -#define ippsPrimeTest n8_ippsPrimeTest -#define ippsPrimeGen_BN n8_ippsPrimeGen_BN -#define ippsPrimeTest_BN n8_ippsPrimeTest_BN -#define ippsPrimeGet n8_ippsPrimeGet -#define ippsPrimeGet_BN n8_ippsPrimeGet_BN -#define ippsPrimeSet n8_ippsPrimeSet -#define ippsPrimeSet_BN n8_ippsPrimeSet_BN -#define ippsRSA_GetSizePublicKey n8_ippsRSA_GetSizePublicKey -#define ippsRSA_InitPublicKey n8_ippsRSA_InitPublicKey -#define ippsRSA_SetPublicKey n8_ippsRSA_SetPublicKey -#define ippsRSA_GetPublicKey n8_ippsRSA_GetPublicKey -#define ippsRSA_GetSizePrivateKeyType1 n8_ippsRSA_GetSizePrivateKeyType1 -#define ippsRSA_InitPrivateKeyType1 n8_ippsRSA_InitPrivateKeyType1 -#define ippsRSA_SetPrivateKeyType1 n8_ippsRSA_SetPrivateKeyType1 -#define ippsRSA_GetPrivateKeyType1 n8_ippsRSA_GetPrivateKeyType1 -#define ippsRSA_GetSizePrivateKeyType2 n8_ippsRSA_GetSizePrivateKeyType2 -#define ippsRSA_InitPrivateKeyType2 n8_ippsRSA_InitPrivateKeyType2 -#define ippsRSA_SetPrivateKeyType2 n8_ippsRSA_SetPrivateKeyType2 -#define ippsRSA_GetPrivateKeyType2 n8_ippsRSA_GetPrivateKeyType2 -#define ippsRSA_GetBufferSizePublicKey n8_ippsRSA_GetBufferSizePublicKey -#define ippsRSA_GetBufferSizePrivateKey n8_ippsRSA_GetBufferSizePrivateKey -#define ippsRSA_Encrypt n8_ippsRSA_Encrypt -#define ippsRSA_Decrypt n8_ippsRSA_Decrypt -#define ippsRSA_GenerateKeys n8_ippsRSA_GenerateKeys -#define ippsRSA_ValidateKeys n8_ippsRSA_ValidateKeys -#define ippsRSAEncrypt_OAEP n8_ippsRSAEncrypt_OAEP -#define ippsRSADecrypt_OAEP n8_ippsRSADecrypt_OAEP -#define ippsRSAEncrypt_OAEP_rmf n8_ippsRSAEncrypt_OAEP_rmf -#define ippsRSADecrypt_OAEP_rmf n8_ippsRSADecrypt_OAEP_rmf -#define ippsRSAEncrypt_PKCSv15 n8_ippsRSAEncrypt_PKCSv15 -#define ippsRSADecrypt_PKCSv15 n8_ippsRSADecrypt_PKCSv15 -#define ippsRSASign_PSS n8_ippsRSASign_PSS -#define ippsRSAVerify_PSS n8_ippsRSAVerify_PSS -#define ippsRSASign_PSS_rmf n8_ippsRSASign_PSS_rmf -#define ippsRSAVerify_PSS_rmf n8_ippsRSAVerify_PSS_rmf -#define ippsRSASign_PKCS1v15 n8_ippsRSASign_PKCS1v15 -#define ippsRSAVerify_PKCS1v15 n8_ippsRSAVerify_PKCS1v15 -#define ippsRSASign_PKCS1v15_rmf n8_ippsRSASign_PKCS1v15_rmf -#define ippsRSAVerify_PKCS1v15_rmf n8_ippsRSAVerify_PKCS1v15_rmf -#define ippsDLGetResultString n8_ippsDLGetResultString -#define ippsDLPGetSize n8_ippsDLPGetSize -#define ippsDLPInit n8_ippsDLPInit -#define ippsDLPPack n8_ippsDLPPack -#define ippsDLPUnpack n8_ippsDLPUnpack -#define ippsDLPSet n8_ippsDLPSet -#define ippsDLPGet n8_ippsDLPGet -#define ippsDLPSetDP n8_ippsDLPSetDP -#define ippsDLPGetDP n8_ippsDLPGetDP -#define ippsDLPGenKeyPair n8_ippsDLPGenKeyPair -#define ippsDLPPublicKey n8_ippsDLPPublicKey -#define ippsDLPValidateKeyPair n8_ippsDLPValidateKeyPair -#define ippsDLPSetKeyPair n8_ippsDLPSetKeyPair -#define ippsDLPSignDSA n8_ippsDLPSignDSA -#define ippsDLPVerifyDSA n8_ippsDLPVerifyDSA -#define ippsDLPSharedSecretDH n8_ippsDLPSharedSecretDH -#define ippsDLPGenerateDSA n8_ippsDLPGenerateDSA -#define ippsDLPValidateDSA n8_ippsDLPValidateDSA -#define ippsDLPGenerateDH n8_ippsDLPGenerateDH -#define ippsDLPValidateDH n8_ippsDLPValidateDH -#define ippsECCGetResultString n8_ippsECCGetResultString -#define ippsECCPGetSize n8_ippsECCPGetSize -#define ippsECCPGetSizeStd128r1 n8_ippsECCPGetSizeStd128r1 -#define ippsECCPGetSizeStd128r2 n8_ippsECCPGetSizeStd128r2 -#define ippsECCPGetSizeStd192r1 n8_ippsECCPGetSizeStd192r1 -#define ippsECCPGetSizeStd224r1 n8_ippsECCPGetSizeStd224r1 -#define ippsECCPGetSizeStd256r1 n8_ippsECCPGetSizeStd256r1 -#define ippsECCPGetSizeStd384r1 n8_ippsECCPGetSizeStd384r1 -#define ippsECCPGetSizeStd521r1 n8_ippsECCPGetSizeStd521r1 -#define ippsECCPGetSizeStdSM2 n8_ippsECCPGetSizeStdSM2 -#define ippsECCPInit n8_ippsECCPInit -#define ippsECCPInitStd128r1 n8_ippsECCPInitStd128r1 -#define ippsECCPInitStd128r2 n8_ippsECCPInitStd128r2 -#define ippsECCPInitStd192r1 n8_ippsECCPInitStd192r1 -#define ippsECCPInitStd224r1 n8_ippsECCPInitStd224r1 -#define ippsECCPInitStd256r1 n8_ippsECCPInitStd256r1 -#define ippsECCPInitStd384r1 n8_ippsECCPInitStd384r1 -#define ippsECCPInitStd521r1 n8_ippsECCPInitStd521r1 -#define ippsECCPInitStdSM2 n8_ippsECCPInitStdSM2 -#define ippsECCPSet n8_ippsECCPSet -#define ippsECCPSetStd n8_ippsECCPSetStd -#define ippsECCPSetStd128r1 n8_ippsECCPSetStd128r1 -#define ippsECCPSetStd128r2 n8_ippsECCPSetStd128r2 -#define ippsECCPSetStd192r1 n8_ippsECCPSetStd192r1 -#define ippsECCPSetStd224r1 n8_ippsECCPSetStd224r1 -#define ippsECCPSetStd256r1 n8_ippsECCPSetStd256r1 -#define ippsECCPSetStd384r1 n8_ippsECCPSetStd384r1 -#define ippsECCPSetStd521r1 n8_ippsECCPSetStd521r1 -#define ippsECCPSetStdSM2 n8_ippsECCPSetStdSM2 -#define ippsECCPBindGxyTblStd192r1 n8_ippsECCPBindGxyTblStd192r1 -#define ippsECCPBindGxyTblStd224r1 n8_ippsECCPBindGxyTblStd224r1 -#define ippsECCPBindGxyTblStd256r1 n8_ippsECCPBindGxyTblStd256r1 -#define ippsECCPBindGxyTblStd384r1 n8_ippsECCPBindGxyTblStd384r1 -#define ippsECCPBindGxyTblStd521r1 n8_ippsECCPBindGxyTblStd521r1 -#define ippsECCPBindGxyTblStdSM2 n8_ippsECCPBindGxyTblStdSM2 -#define ippsECCPGet n8_ippsECCPGet -#define ippsECCPGetOrderBitSize n8_ippsECCPGetOrderBitSize -#define ippsECCPValidate n8_ippsECCPValidate -#define ippsECCPPointGetSize n8_ippsECCPPointGetSize -#define ippsECCPPointInit n8_ippsECCPPointInit -#define ippsECCPSetPoint n8_ippsECCPSetPoint -#define ippsECCPSetPointAtInfinity n8_ippsECCPSetPointAtInfinity -#define ippsECCPGetPoint n8_ippsECCPGetPoint -#define ippsECCPCheckPoint n8_ippsECCPCheckPoint -#define ippsECCPComparePoint n8_ippsECCPComparePoint -#define ippsECCPNegativePoint n8_ippsECCPNegativePoint -#define ippsECCPAddPoint n8_ippsECCPAddPoint -#define ippsECCPMulPointScalar n8_ippsECCPMulPointScalar -#define ippsECCPGenKeyPair n8_ippsECCPGenKeyPair -#define ippsECCPPublicKey n8_ippsECCPPublicKey -#define ippsECCPValidateKeyPair n8_ippsECCPValidateKeyPair -#define ippsECCPSetKeyPair n8_ippsECCPSetKeyPair -#define ippsECCPSharedSecretDH n8_ippsECCPSharedSecretDH -#define ippsECCPSharedSecretDHC n8_ippsECCPSharedSecretDHC -#define ippsECCPSignDSA n8_ippsECCPSignDSA -#define ippsECCPVerifyDSA n8_ippsECCPVerifyDSA -#define ippsECCPSignNR n8_ippsECCPSignNR -#define ippsECCPVerifyNR n8_ippsECCPVerifyNR -#define ippsECCPSignSM2 n8_ippsECCPSignSM2 -#define ippsECCPVerifySM2 n8_ippsECCPVerifySM2 -#define ippsGFpGetSize n8_ippsGFpGetSize -#define ippsGFpInitArbitrary n8_ippsGFpInitArbitrary -#define ippsGFpInitFixed n8_ippsGFpInitFixed -#define ippsGFpInit n8_ippsGFpInit -#define ippsGFpMethod_p192r1 n8_ippsGFpMethod_p192r1 -#define ippsGFpMethod_p224r1 n8_ippsGFpMethod_p224r1 -#define ippsGFpMethod_p256r1 n8_ippsGFpMethod_p256r1 -#define ippsGFpMethod_p384r1 n8_ippsGFpMethod_p384r1 -#define ippsGFpMethod_p521r1 n8_ippsGFpMethod_p521r1 -#define ippsGFpMethod_p256sm2 n8_ippsGFpMethod_p256sm2 -#define ippsGFpMethod_p256bn n8_ippsGFpMethod_p256bn -#define ippsGFpMethod_p256 n8_ippsGFpMethod_p256 -#define ippsGFpMethod_pArb n8_ippsGFpMethod_pArb -#define ippsGFpxGetSize n8_ippsGFpxGetSize -#define ippsGFpxInit n8_ippsGFpxInit -#define ippsGFpxInitBinomial n8_ippsGFpxInitBinomial -#define ippsGFpxMethod_binom2_epid2 n8_ippsGFpxMethod_binom2_epid2 -#define ippsGFpxMethod_binom3_epid2 n8_ippsGFpxMethod_binom3_epid2 -#define ippsGFpxMethod_binom2 n8_ippsGFpxMethod_binom2 -#define ippsGFpxMethod_binom3 n8_ippsGFpxMethod_binom3 -#define ippsGFpxMethod_binom n8_ippsGFpxMethod_binom -#define ippsGFpxMethod_com n8_ippsGFpxMethod_com -#define ippsGFpScratchBufferSize n8_ippsGFpScratchBufferSize -#define ippsGFpElementGetSize n8_ippsGFpElementGetSize -#define ippsGFpElementInit n8_ippsGFpElementInit -#define ippsGFpSetElement n8_ippsGFpSetElement -#define ippsGFpSetElementRegular n8_ippsGFpSetElementRegular -#define ippsGFpSetElementOctString n8_ippsGFpSetElementOctString -#define ippsGFpSetElementRandom n8_ippsGFpSetElementRandom -#define ippsGFpSetElementHash n8_ippsGFpSetElementHash -#define ippsGFpSetElementHash_rmf n8_ippsGFpSetElementHash_rmf -#define ippsGFpCpyElement n8_ippsGFpCpyElement -#define ippsGFpGetElement n8_ippsGFpGetElement -#define ippsGFpGetElementOctString n8_ippsGFpGetElementOctString -#define ippsGFpCmpElement n8_ippsGFpCmpElement -#define ippsGFpIsZeroElement n8_ippsGFpIsZeroElement -#define ippsGFpIsUnityElement n8_ippsGFpIsUnityElement -#define ippsGFpConj n8_ippsGFpConj -#define ippsGFpNeg n8_ippsGFpNeg -#define ippsGFpInv n8_ippsGFpInv -#define ippsGFpSqrt n8_ippsGFpSqrt -#define ippsGFpSqr n8_ippsGFpSqr -#define ippsGFpAdd n8_ippsGFpAdd -#define ippsGFpSub n8_ippsGFpSub -#define ippsGFpMul n8_ippsGFpMul -#define ippsGFpExp n8_ippsGFpExp -#define ippsGFpMultiExp n8_ippsGFpMultiExp -#define ippsGFpAdd_PE n8_ippsGFpAdd_PE -#define ippsGFpSub_PE n8_ippsGFpSub_PE -#define ippsGFpMul_PE n8_ippsGFpMul_PE -#define ippsGFpGetInfo n8_ippsGFpGetInfo -#define ippsGFpECGetSize n8_ippsGFpECGetSize -#define ippsGFpECInit n8_ippsGFpECInit -#define ippsGFpECSet n8_ippsGFpECSet -#define ippsGFpECSetSubgroup n8_ippsGFpECSetSubgroup -#define ippsGFpECInitStd128r1 n8_ippsGFpECInitStd128r1 -#define ippsGFpECInitStd128r2 n8_ippsGFpECInitStd128r2 -#define ippsGFpECInitStd192r1 n8_ippsGFpECInitStd192r1 -#define ippsGFpECInitStd224r1 n8_ippsGFpECInitStd224r1 -#define ippsGFpECInitStd256r1 n8_ippsGFpECInitStd256r1 -#define ippsGFpECInitStd384r1 n8_ippsGFpECInitStd384r1 -#define ippsGFpECInitStd521r1 n8_ippsGFpECInitStd521r1 -#define ippsGFpECInitStdSM2 n8_ippsGFpECInitStdSM2 -#define ippsGFpECInitStdBN256 n8_ippsGFpECInitStdBN256 -#define ippsGFpECBindGxyTblStd192r1 n8_ippsGFpECBindGxyTblStd192r1 -#define ippsGFpECBindGxyTblStd224r1 n8_ippsGFpECBindGxyTblStd224r1 -#define ippsGFpECBindGxyTblStd256r1 n8_ippsGFpECBindGxyTblStd256r1 -#define ippsGFpECBindGxyTblStd384r1 n8_ippsGFpECBindGxyTblStd384r1 -#define ippsGFpECBindGxyTblStd521r1 n8_ippsGFpECBindGxyTblStd521r1 -#define ippsGFpECBindGxyTblStdSM2 n8_ippsGFpECBindGxyTblStdSM2 -#define ippsGFpECGet n8_ippsGFpECGet -#define ippsGFpECGetSubgroup n8_ippsGFpECGetSubgroup -#define ippsGFpECScratchBufferSize n8_ippsGFpECScratchBufferSize -#define ippsGFpECVerify n8_ippsGFpECVerify -#define ippsGFpECPointGetSize n8_ippsGFpECPointGetSize -#define ippsGFpECPointInit n8_ippsGFpECPointInit -#define ippsGFpECSetPointAtInfinity n8_ippsGFpECSetPointAtInfinity -#define ippsGFpECSetPoint n8_ippsGFpECSetPoint -#define ippsGFpECSetPointRegular n8_ippsGFpECSetPointRegular -#define ippsGFpECSetPointRandom n8_ippsGFpECSetPointRandom -#define ippsGFpECMakePoint n8_ippsGFpECMakePoint -#define ippsGFpECSetPointHash n8_ippsGFpECSetPointHash -#define ippsGFpECSetPointHashBackCompatible n8_ippsGFpECSetPointHashBackCompatible -#define ippsGFpECSetPointHash_rmf n8_ippsGFpECSetPointHash_rmf -#define ippsGFpECSetPointHashBackCompatible_rmf n8_ippsGFpECSetPointHashBackCompatible_rmf -#define ippsGFpECGetPoint n8_ippsGFpECGetPoint -#define ippsGFpECGetPointRegular n8_ippsGFpECGetPointRegular -#define ippsGFpECSetPointOctString n8_ippsGFpECSetPointOctString -#define ippsGFpECGetPointOctString n8_ippsGFpECGetPointOctString -#define ippsGFpECTstPoint n8_ippsGFpECTstPoint -#define ippsGFpECTstPointInSubgroup n8_ippsGFpECTstPointInSubgroup -#define ippsGFpECCpyPoint n8_ippsGFpECCpyPoint -#define ippsGFpECCmpPoint n8_ippsGFpECCmpPoint -#define ippsGFpECNegPoint n8_ippsGFpECNegPoint -#define ippsGFpECAddPoint n8_ippsGFpECAddPoint -#define ippsGFpECMulPoint n8_ippsGFpECMulPoint -#define ippsGFpECPrivateKey n8_ippsGFpECPrivateKey -#define ippsGFpECPublicKey n8_ippsGFpECPublicKey -#define ippsGFpECTstKeyPair n8_ippsGFpECTstKeyPair -#define ippsGFpECSharedSecretDH n8_ippsGFpECSharedSecretDH -#define ippsGFpECSharedSecretDHC n8_ippsGFpECSharedSecretDHC -#define ippsGFpECMessageRepresentationSM2 n8_ippsGFpECMessageRepresentationSM2 -#define ippsGFpECSignDSA n8_ippsGFpECSignDSA -#define ippsGFpECVerifyDSA n8_ippsGFpECVerifyDSA -#define ippsGFpECSignNR n8_ippsGFpECSignNR -#define ippsGFpECVerifyNR n8_ippsGFpECVerifyNR -#define ippsGFpECSignSM2 n8_ippsGFpECSignSM2 -#define ippsGFpECVerifySM2 n8_ippsGFpECVerifySM2 -#define ippsGFpECUserIDHashSM2 n8_ippsGFpECUserIDHashSM2 -#define ippsGFpECKeyExchangeSM2_GetSize n8_ippsGFpECKeyExchangeSM2_GetSize -#define ippsGFpECKeyExchangeSM2_Init n8_ippsGFpECKeyExchangeSM2_Init -#define ippsGFpECKeyExchangeSM2_Setup n8_ippsGFpECKeyExchangeSM2_Setup -#define ippsGFpECKeyExchangeSM2_SharedKey n8_ippsGFpECKeyExchangeSM2_SharedKey -#define ippsGFpECKeyExchangeSM2_Confirm n8_ippsGFpECKeyExchangeSM2_Confirm -#define ippsGFpECGetInfo_GF n8_ippsGFpECGetInfo_GF -#define ippsGFpECESGetSize_SM2 n8_ippsGFpECESGetSize_SM2 -#define ippsGFpECESInit_SM2 n8_ippsGFpECESInit_SM2 -#define ippsGFpECESSetKey_SM2 n8_ippsGFpECESSetKey_SM2 -#define ippsGFpECESStart_SM2 n8_ippsGFpECESStart_SM2 -#define ippsGFpECESEncrypt_SM2 n8_ippsGFpECESEncrypt_SM2 -#define ippsGFpECESDecrypt_SM2 n8_ippsGFpECESDecrypt_SM2 -#define ippsGFpECESFinal_SM2 n8_ippsGFpECESFinal_SM2 -#define ippsGFpECESGetBuffersSize_SM2 n8_ippsGFpECESGetBuffersSize_SM2 -#define ippsGFpECEncryptSM2_Ext_EncMsgSize n8_ippsGFpECEncryptSM2_Ext_EncMsgSize -#define ippsGFpECEncryptSM2_Ext n8_ippsGFpECEncryptSM2_Ext -#define ippsGFpECDecryptSM2_Ext_DecMsgSize n8_ippsGFpECDecryptSM2_Ext_DecMsgSize -#define ippsGFpECDecryptSM2_Ext n8_ippsGFpECDecryptSM2_Ext diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_p8.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_p8.h deleted file mode 100644 index 0fac050..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_p8.h +++ /dev/null @@ -1,557 +0,0 @@ -/******************************************************************************* - * Copyright 2023 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *******************************************************************************/ - - #define ippcpGetLibVersion p8_ippcpGetLibVersion -#define ippsDESGetSize p8_ippsDESGetSize -#define ippsDESInit p8_ippsDESInit -#define ippsDESPack p8_ippsDESPack -#define ippsDESUnpack p8_ippsDESUnpack -#define ippsTDESEncryptECB p8_ippsTDESEncryptECB -#define ippsTDESDecryptECB p8_ippsTDESDecryptECB -#define ippsTDESEncryptCBC p8_ippsTDESEncryptCBC -#define ippsTDESDecryptCBC p8_ippsTDESDecryptCBC -#define ippsTDESEncryptCFB p8_ippsTDESEncryptCFB -#define ippsTDESDecryptCFB p8_ippsTDESDecryptCFB -#define ippsTDESEncryptOFB p8_ippsTDESEncryptOFB -#define ippsTDESDecryptOFB p8_ippsTDESDecryptOFB -#define ippsTDESEncryptCTR p8_ippsTDESEncryptCTR -#define ippsTDESDecryptCTR p8_ippsTDESDecryptCTR -#define ippsAESGetSize p8_ippsAESGetSize -#define ippsAESInit p8_ippsAESInit -#define ippsAESSetKey p8_ippsAESSetKey -#define ippsAESPack p8_ippsAESPack -#define ippsAESUnpack p8_ippsAESUnpack -#define ippsAESEncryptECB p8_ippsAESEncryptECB -#define ippsAESDecryptECB p8_ippsAESDecryptECB -#define ippsAESEncryptCBC p8_ippsAESEncryptCBC -#define ippsAESEncryptCBC_CS1 p8_ippsAESEncryptCBC_CS1 -#define ippsAESEncryptCBC_CS2 p8_ippsAESEncryptCBC_CS2 -#define ippsAESEncryptCBC_CS3 p8_ippsAESEncryptCBC_CS3 -#define ippsAESDecryptCBC p8_ippsAESDecryptCBC -#define ippsAESDecryptCBC_CS1 p8_ippsAESDecryptCBC_CS1 -#define ippsAESDecryptCBC_CS2 p8_ippsAESDecryptCBC_CS2 -#define ippsAESDecryptCBC_CS3 p8_ippsAESDecryptCBC_CS3 -#define ippsAESEncryptCFB p8_ippsAESEncryptCFB -#define ippsAESDecryptCFB p8_ippsAESDecryptCFB -#define ippsAESEncryptOFB p8_ippsAESEncryptOFB -#define ippsAESDecryptOFB p8_ippsAESDecryptOFB -#define ippsAESEncryptCTR p8_ippsAESEncryptCTR -#define ippsAESDecryptCTR p8_ippsAESDecryptCTR -#define ippsAESEncryptXTS_Direct p8_ippsAESEncryptXTS_Direct -#define ippsAESDecryptXTS_Direct p8_ippsAESDecryptXTS_Direct -#define ippsAESSetupNoise p8_ippsAESSetupNoise -#define ippsAES_GCMSetupNoise p8_ippsAES_GCMSetupNoise -#define ippsAES_CMACSetupNoise p8_ippsAES_CMACSetupNoise -#define ippsAES_EncryptCFB16_MB p8_ippsAES_EncryptCFB16_MB -#define ippsSMS4GetSize p8_ippsSMS4GetSize -#define ippsSMS4Init p8_ippsSMS4Init -#define ippsSMS4SetKey p8_ippsSMS4SetKey -#define ippsSMS4EncryptECB p8_ippsSMS4EncryptECB -#define ippsSMS4DecryptECB p8_ippsSMS4DecryptECB -#define ippsSMS4EncryptCBC p8_ippsSMS4EncryptCBC -#define ippsSMS4EncryptCBC_CS1 p8_ippsSMS4EncryptCBC_CS1 -#define ippsSMS4EncryptCBC_CS2 p8_ippsSMS4EncryptCBC_CS2 -#define ippsSMS4EncryptCBC_CS3 p8_ippsSMS4EncryptCBC_CS3 -#define ippsSMS4DecryptCBC p8_ippsSMS4DecryptCBC -#define ippsSMS4DecryptCBC_CS1 p8_ippsSMS4DecryptCBC_CS1 -#define ippsSMS4DecryptCBC_CS2 p8_ippsSMS4DecryptCBC_CS2 -#define ippsSMS4DecryptCBC_CS3 p8_ippsSMS4DecryptCBC_CS3 -#define ippsSMS4EncryptCFB p8_ippsSMS4EncryptCFB -#define ippsSMS4DecryptCFB p8_ippsSMS4DecryptCFB -#define ippsSMS4EncryptOFB p8_ippsSMS4EncryptOFB -#define ippsSMS4DecryptOFB p8_ippsSMS4DecryptOFB -#define ippsSMS4EncryptCTR p8_ippsSMS4EncryptCTR -#define ippsSMS4DecryptCTR p8_ippsSMS4DecryptCTR -#define ippsSMS4_CCMGetSize p8_ippsSMS4_CCMGetSize -#define ippsSMS4_CCMInit p8_ippsSMS4_CCMInit -#define ippsSMS4_CCMMessageLen p8_ippsSMS4_CCMMessageLen -#define ippsSMS4_CCMTagLen p8_ippsSMS4_CCMTagLen -#define ippsSMS4_CCMStart p8_ippsSMS4_CCMStart -#define ippsSMS4_CCMEncrypt p8_ippsSMS4_CCMEncrypt -#define ippsSMS4_CCMDecrypt p8_ippsSMS4_CCMDecrypt -#define ippsSMS4_CCMGetTag p8_ippsSMS4_CCMGetTag -#define ippsAES_CCMGetSize p8_ippsAES_CCMGetSize -#define ippsAES_CCMInit p8_ippsAES_CCMInit -#define ippsAES_CCMMessageLen p8_ippsAES_CCMMessageLen -#define ippsAES_CCMTagLen p8_ippsAES_CCMTagLen -#define ippsAES_CCMStart p8_ippsAES_CCMStart -#define ippsAES_CCMEncrypt p8_ippsAES_CCMEncrypt -#define ippsAES_CCMDecrypt p8_ippsAES_CCMDecrypt -#define ippsAES_CCMGetTag p8_ippsAES_CCMGetTag -#define ippsAES_GCMGetSize p8_ippsAES_GCMGetSize -#define ippsAES_GCMInit p8_ippsAES_GCMInit -#define ippsAES_GCMReinit p8_ippsAES_GCMReinit -#define ippsAES_GCMReset p8_ippsAES_GCMReset -#define ippsAES_GCMProcessIV p8_ippsAES_GCMProcessIV -#define ippsAES_GCMProcessAAD p8_ippsAES_GCMProcessAAD -#define ippsAES_GCMStart p8_ippsAES_GCMStart -#define ippsAES_GCMEncrypt p8_ippsAES_GCMEncrypt -#define ippsAES_GCMDecrypt p8_ippsAES_GCMDecrypt -#define ippsAES_GCMGetTag p8_ippsAES_GCMGetTag -#define ippsAES_XTSGetSize p8_ippsAES_XTSGetSize -#define ippsAES_XTSInit p8_ippsAES_XTSInit -#define ippsAES_XTSEncrypt p8_ippsAES_XTSEncrypt -#define ippsAES_XTSDecrypt p8_ippsAES_XTSDecrypt -#define ippsAES_S2V_CMAC p8_ippsAES_S2V_CMAC -#define ippsAES_SIVEncrypt p8_ippsAES_SIVEncrypt -#define ippsAES_SIVDecrypt p8_ippsAES_SIVDecrypt -#define ippsAES_CMACGetSize p8_ippsAES_CMACGetSize -#define ippsAES_CMACInit p8_ippsAES_CMACInit -#define ippsAES_CMACUpdate p8_ippsAES_CMACUpdate -#define ippsAES_CMACFinal p8_ippsAES_CMACFinal -#define ippsAES_CMACGetTag p8_ippsAES_CMACGetTag -#define ippsARCFourCheckKey p8_ippsARCFourCheckKey -#define ippsARCFourGetSize p8_ippsARCFourGetSize -#define ippsARCFourInit p8_ippsARCFourInit -#define ippsARCFourReset p8_ippsARCFourReset -#define ippsARCFourPack p8_ippsARCFourPack -#define ippsARCFourUnpack p8_ippsARCFourUnpack -#define ippsARCFourEncrypt p8_ippsARCFourEncrypt -#define ippsARCFourDecrypt p8_ippsARCFourDecrypt -#define ippsSHA1GetSize p8_ippsSHA1GetSize -#define ippsSHA1Init p8_ippsSHA1Init -#define ippsSHA1Duplicate p8_ippsSHA1Duplicate -#define ippsSHA1Pack p8_ippsSHA1Pack -#define ippsSHA1Unpack p8_ippsSHA1Unpack -#define ippsSHA1Update p8_ippsSHA1Update -#define ippsSHA1GetTag p8_ippsSHA1GetTag -#define ippsSHA1Final p8_ippsSHA1Final -#define ippsSHA1MessageDigest p8_ippsSHA1MessageDigest -#define ippsSHA224GetSize p8_ippsSHA224GetSize -#define ippsSHA224Init p8_ippsSHA224Init -#define ippsSHA224Duplicate p8_ippsSHA224Duplicate -#define ippsSHA224Pack p8_ippsSHA224Pack -#define ippsSHA224Unpack p8_ippsSHA224Unpack -#define ippsSHA224Update p8_ippsSHA224Update -#define ippsSHA224GetTag p8_ippsSHA224GetTag -#define ippsSHA224Final p8_ippsSHA224Final -#define ippsSHA224MessageDigest p8_ippsSHA224MessageDigest -#define ippsSHA256GetSize p8_ippsSHA256GetSize -#define ippsSHA256Init p8_ippsSHA256Init -#define ippsSHA256Duplicate p8_ippsSHA256Duplicate -#define ippsSHA256Pack p8_ippsSHA256Pack -#define ippsSHA256Unpack p8_ippsSHA256Unpack -#define ippsSHA256Update p8_ippsSHA256Update -#define ippsSHA256GetTag p8_ippsSHA256GetTag -#define ippsSHA256Final p8_ippsSHA256Final -#define ippsSHA256MessageDigest p8_ippsSHA256MessageDigest -#define ippsSHA384GetSize p8_ippsSHA384GetSize -#define ippsSHA384Init p8_ippsSHA384Init -#define ippsSHA384Duplicate p8_ippsSHA384Duplicate -#define ippsSHA384Pack p8_ippsSHA384Pack -#define ippsSHA384Unpack p8_ippsSHA384Unpack -#define ippsSHA384Update p8_ippsSHA384Update -#define ippsSHA384GetTag p8_ippsSHA384GetTag -#define ippsSHA384Final p8_ippsSHA384Final -#define ippsSHA384MessageDigest p8_ippsSHA384MessageDigest -#define ippsSHA512GetSize p8_ippsSHA512GetSize -#define ippsSHA512Init p8_ippsSHA512Init -#define ippsSHA512Duplicate p8_ippsSHA512Duplicate -#define ippsSHA512Pack p8_ippsSHA512Pack -#define ippsSHA512Unpack p8_ippsSHA512Unpack -#define ippsSHA512Update p8_ippsSHA512Update -#define ippsSHA512GetTag p8_ippsSHA512GetTag -#define ippsSHA512Final p8_ippsSHA512Final -#define ippsSHA512MessageDigest p8_ippsSHA512MessageDigest -#define ippsMD5GetSize p8_ippsMD5GetSize -#define ippsMD5Init p8_ippsMD5Init -#define ippsMD5Duplicate p8_ippsMD5Duplicate -#define ippsMD5Pack p8_ippsMD5Pack -#define ippsMD5Unpack p8_ippsMD5Unpack -#define ippsMD5Update p8_ippsMD5Update -#define ippsMD5GetTag p8_ippsMD5GetTag -#define ippsMD5Final p8_ippsMD5Final -#define ippsMD5MessageDigest p8_ippsMD5MessageDigest -#define ippsSM3GetSize p8_ippsSM3GetSize -#define ippsSM3Init p8_ippsSM3Init -#define ippsSM3Duplicate p8_ippsSM3Duplicate -#define ippsSM3Pack p8_ippsSM3Pack -#define ippsSM3Unpack p8_ippsSM3Unpack -#define ippsSM3Update p8_ippsSM3Update -#define ippsSM3GetTag p8_ippsSM3GetTag -#define ippsSM3Final p8_ippsSM3Final -#define ippsSM3MessageDigest p8_ippsSM3MessageDigest -#define ippsHashGetSize p8_ippsHashGetSize -#define ippsHashInit p8_ippsHashInit -#define ippsHashPack p8_ippsHashPack -#define ippsHashUnpack p8_ippsHashUnpack -#define ippsHashDuplicate p8_ippsHashDuplicate -#define ippsHashUpdate p8_ippsHashUpdate -#define ippsHashGetTag p8_ippsHashGetTag -#define ippsHashFinal p8_ippsHashFinal -#define ippsHashMessage p8_ippsHashMessage -#define ippsHashMethod_MD5 p8_ippsHashMethod_MD5 -#define ippsHashMethod_SM3 p8_ippsHashMethod_SM3 -#define ippsHashMethod_SHA1 p8_ippsHashMethod_SHA1 -#define ippsHashMethod_SHA1_NI p8_ippsHashMethod_SHA1_NI -#define ippsHashMethod_SHA1_TT p8_ippsHashMethod_SHA1_TT -#define ippsHashMethod_SHA256 p8_ippsHashMethod_SHA256 -#define ippsHashMethod_SHA256_NI p8_ippsHashMethod_SHA256_NI -#define ippsHashMethod_SHA256_TT p8_ippsHashMethod_SHA256_TT -#define ippsHashMethod_SHA224 p8_ippsHashMethod_SHA224 -#define ippsHashMethod_SHA224_NI p8_ippsHashMethod_SHA224_NI -#define ippsHashMethod_SHA224_TT p8_ippsHashMethod_SHA224_TT -#define ippsHashMethod_SHA512 p8_ippsHashMethod_SHA512 -#define ippsHashMethod_SHA384 p8_ippsHashMethod_SHA384 -#define ippsHashMethod_SHA512_256 p8_ippsHashMethod_SHA512_256 -#define ippsHashMethod_SHA512_224 p8_ippsHashMethod_SHA512_224 -#define ippsHashMethodGetSize p8_ippsHashMethodGetSize -#define ippsHashMethodSet_MD5 p8_ippsHashMethodSet_MD5 -#define ippsHashMethodSet_SM3 p8_ippsHashMethodSet_SM3 -#define ippsHashStateMethodSet_SM3 p8_ippsHashStateMethodSet_SM3 -#define ippsHashMethodSet_SHA1 p8_ippsHashMethodSet_SHA1 -#define ippsHashMethodSet_SHA1_NI p8_ippsHashMethodSet_SHA1_NI -#define ippsHashMethodSet_SHA1_TT p8_ippsHashMethodSet_SHA1_TT -#define ippsHashMethodSet_SHA256 p8_ippsHashMethodSet_SHA256 -#define ippsHashMethodSet_SHA256_NI p8_ippsHashMethodSet_SHA256_NI -#define ippsHashMethodSet_SHA256_TT p8_ippsHashMethodSet_SHA256_TT -#define ippsHashStateMethodSet_SHA256 p8_ippsHashStateMethodSet_SHA256 -#define ippsHashStateMethodSet_SHA256_NI p8_ippsHashStateMethodSet_SHA256_NI -#define ippsHashStateMethodSet_SHA256_TT p8_ippsHashStateMethodSet_SHA256_TT -#define ippsHashMethodSet_SHA224 p8_ippsHashMethodSet_SHA224 -#define ippsHashMethodSet_SHA224_NI p8_ippsHashMethodSet_SHA224_NI -#define ippsHashMethodSet_SHA224_TT p8_ippsHashMethodSet_SHA224_TT -#define ippsHashStateMethodSet_SHA224 p8_ippsHashStateMethodSet_SHA224 -#define ippsHashStateMethodSet_SHA224_NI p8_ippsHashStateMethodSet_SHA224_NI -#define ippsHashStateMethodSet_SHA224_TT p8_ippsHashStateMethodSet_SHA224_TT -#define ippsHashMethodSet_SHA512 p8_ippsHashMethodSet_SHA512 -#define ippsHashMethodSet_SHA384 p8_ippsHashMethodSet_SHA384 -#define ippsHashMethodSet_SHA512_256 p8_ippsHashMethodSet_SHA512_256 -#define ippsHashMethodSet_SHA512_224 p8_ippsHashMethodSet_SHA512_224 -#define ippsHashStateMethodSet_SHA512 p8_ippsHashStateMethodSet_SHA512 -#define ippsHashStateMethodSet_SHA384 p8_ippsHashStateMethodSet_SHA384 -#define ippsHashStateMethodSet_SHA512_256 p8_ippsHashStateMethodSet_SHA512_256 -#define ippsHashStateMethodSet_SHA512_224 p8_ippsHashStateMethodSet_SHA512_224 -#define ippsHashGetSize_rmf p8_ippsHashGetSize_rmf -#define ippsHashInit_rmf p8_ippsHashInit_rmf -#define ippsHashPack_rmf p8_ippsHashPack_rmf -#define ippsHashUnpack_rmf p8_ippsHashUnpack_rmf -#define ippsHashDuplicate_rmf p8_ippsHashDuplicate_rmf -#define ippsHashUpdate_rmf p8_ippsHashUpdate_rmf -#define ippsHashGetTag_rmf p8_ippsHashGetTag_rmf -#define ippsHashFinal_rmf p8_ippsHashFinal_rmf -#define ippsHashMessage_rmf p8_ippsHashMessage_rmf -#define ippsHashMethodGetInfo p8_ippsHashMethodGetInfo -#define ippsHashGetInfo_rmf p8_ippsHashGetInfo_rmf -#define ippsMGF p8_ippsMGF -#define ippsMGF1_rmf p8_ippsMGF1_rmf -#define ippsMGF2_rmf p8_ippsMGF2_rmf -#define ippsHMAC_GetSize p8_ippsHMAC_GetSize -#define ippsHMAC_Init p8_ippsHMAC_Init -#define ippsHMAC_Pack p8_ippsHMAC_Pack -#define ippsHMAC_Unpack p8_ippsHMAC_Unpack -#define ippsHMAC_Duplicate p8_ippsHMAC_Duplicate -#define ippsHMAC_Update p8_ippsHMAC_Update -#define ippsHMAC_Final p8_ippsHMAC_Final -#define ippsHMAC_GetTag p8_ippsHMAC_GetTag -#define ippsHMAC_Message p8_ippsHMAC_Message -#define ippsHMACGetSize_rmf p8_ippsHMACGetSize_rmf -#define ippsHMACInit_rmf p8_ippsHMACInit_rmf -#define ippsHMACPack_rmf p8_ippsHMACPack_rmf -#define ippsHMACUnpack_rmf p8_ippsHMACUnpack_rmf -#define ippsHMACDuplicate_rmf p8_ippsHMACDuplicate_rmf -#define ippsHMACUpdate_rmf p8_ippsHMACUpdate_rmf -#define ippsHMACFinal_rmf p8_ippsHMACFinal_rmf -#define ippsHMACGetTag_rmf p8_ippsHMACGetTag_rmf -#define ippsHMACMessage_rmf p8_ippsHMACMessage_rmf -#define ippsBigNumGetSize p8_ippsBigNumGetSize -#define ippsBigNumInit p8_ippsBigNumInit -#define ippsCmpZero_BN p8_ippsCmpZero_BN -#define ippsCmp_BN p8_ippsCmp_BN -#define ippsGetSize_BN p8_ippsGetSize_BN -#define ippsSet_BN p8_ippsSet_BN -#define ippsGet_BN p8_ippsGet_BN -#define ippsRef_BN p8_ippsRef_BN -#define ippsExtGet_BN p8_ippsExtGet_BN -#define ippsAdd_BN p8_ippsAdd_BN -#define ippsSub_BN p8_ippsSub_BN -#define ippsMul_BN p8_ippsMul_BN -#define ippsMAC_BN_I p8_ippsMAC_BN_I -#define ippsDiv_BN p8_ippsDiv_BN -#define ippsMod_BN p8_ippsMod_BN -#define ippsGcd_BN p8_ippsGcd_BN -#define ippsModInv_BN p8_ippsModInv_BN -#define ippsSetOctString_BN p8_ippsSetOctString_BN -#define ippsGetOctString_BN p8_ippsGetOctString_BN -#define ippsMontGetSize p8_ippsMontGetSize -#define ippsMontInit p8_ippsMontInit -#define ippsMontSet p8_ippsMontSet -#define ippsMontGet p8_ippsMontGet -#define ippsMontForm p8_ippsMontForm -#define ippsMontMul p8_ippsMontMul -#define ippsMontExp p8_ippsMontExp -#define ippsPRNGGetSize p8_ippsPRNGGetSize -#define ippsPRNGInit p8_ippsPRNGInit -#define ippsPRNGSetModulus p8_ippsPRNGSetModulus -#define ippsPRNGSetH0 p8_ippsPRNGSetH0 -#define ippsPRNGSetAugment p8_ippsPRNGSetAugment -#define ippsPRNGSetSeed p8_ippsPRNGSetSeed -#define ippsPRNGGetSeed p8_ippsPRNGGetSeed -#define ippsPRNGen p8_ippsPRNGen -#define ippsPRNGen_BN p8_ippsPRNGen_BN -#define ippsPRNGenRDRAND p8_ippsPRNGenRDRAND -#define ippsPRNGenRDRAND_BN p8_ippsPRNGenRDRAND_BN -#define ippsTRNGenRDSEED p8_ippsTRNGenRDSEED -#define ippsTRNGenRDSEED_BN p8_ippsTRNGenRDSEED_BN -#define ippsPrimeGetSize p8_ippsPrimeGetSize -#define ippsPrimeInit p8_ippsPrimeInit -#define ippsPrimeGen p8_ippsPrimeGen -#define ippsPrimeTest p8_ippsPrimeTest -#define ippsPrimeGen_BN p8_ippsPrimeGen_BN -#define ippsPrimeTest_BN p8_ippsPrimeTest_BN -#define ippsPrimeGet p8_ippsPrimeGet -#define ippsPrimeGet_BN p8_ippsPrimeGet_BN -#define ippsPrimeSet p8_ippsPrimeSet -#define ippsPrimeSet_BN p8_ippsPrimeSet_BN -#define ippsRSA_GetSizePublicKey p8_ippsRSA_GetSizePublicKey -#define ippsRSA_InitPublicKey p8_ippsRSA_InitPublicKey -#define ippsRSA_SetPublicKey p8_ippsRSA_SetPublicKey -#define ippsRSA_GetPublicKey p8_ippsRSA_GetPublicKey -#define ippsRSA_GetSizePrivateKeyType1 p8_ippsRSA_GetSizePrivateKeyType1 -#define ippsRSA_InitPrivateKeyType1 p8_ippsRSA_InitPrivateKeyType1 -#define ippsRSA_SetPrivateKeyType1 p8_ippsRSA_SetPrivateKeyType1 -#define ippsRSA_GetPrivateKeyType1 p8_ippsRSA_GetPrivateKeyType1 -#define ippsRSA_GetSizePrivateKeyType2 p8_ippsRSA_GetSizePrivateKeyType2 -#define ippsRSA_InitPrivateKeyType2 p8_ippsRSA_InitPrivateKeyType2 -#define ippsRSA_SetPrivateKeyType2 p8_ippsRSA_SetPrivateKeyType2 -#define ippsRSA_GetPrivateKeyType2 p8_ippsRSA_GetPrivateKeyType2 -#define ippsRSA_GetBufferSizePublicKey p8_ippsRSA_GetBufferSizePublicKey -#define ippsRSA_GetBufferSizePrivateKey p8_ippsRSA_GetBufferSizePrivateKey -#define ippsRSA_Encrypt p8_ippsRSA_Encrypt -#define ippsRSA_Decrypt p8_ippsRSA_Decrypt -#define ippsRSA_GenerateKeys p8_ippsRSA_GenerateKeys -#define ippsRSA_ValidateKeys p8_ippsRSA_ValidateKeys -#define ippsRSAEncrypt_OAEP p8_ippsRSAEncrypt_OAEP -#define ippsRSADecrypt_OAEP p8_ippsRSADecrypt_OAEP -#define ippsRSAEncrypt_OAEP_rmf p8_ippsRSAEncrypt_OAEP_rmf -#define ippsRSADecrypt_OAEP_rmf p8_ippsRSADecrypt_OAEP_rmf -#define ippsRSAEncrypt_PKCSv15 p8_ippsRSAEncrypt_PKCSv15 -#define ippsRSADecrypt_PKCSv15 p8_ippsRSADecrypt_PKCSv15 -#define ippsRSASign_PSS p8_ippsRSASign_PSS -#define ippsRSAVerify_PSS p8_ippsRSAVerify_PSS -#define ippsRSASign_PSS_rmf p8_ippsRSASign_PSS_rmf -#define ippsRSAVerify_PSS_rmf p8_ippsRSAVerify_PSS_rmf -#define ippsRSASign_PKCS1v15 p8_ippsRSASign_PKCS1v15 -#define ippsRSAVerify_PKCS1v15 p8_ippsRSAVerify_PKCS1v15 -#define ippsRSASign_PKCS1v15_rmf p8_ippsRSASign_PKCS1v15_rmf -#define ippsRSAVerify_PKCS1v15_rmf p8_ippsRSAVerify_PKCS1v15_rmf -#define ippsDLGetResultString p8_ippsDLGetResultString -#define ippsDLPGetSize p8_ippsDLPGetSize -#define ippsDLPInit p8_ippsDLPInit -#define ippsDLPPack p8_ippsDLPPack -#define ippsDLPUnpack p8_ippsDLPUnpack -#define ippsDLPSet p8_ippsDLPSet -#define ippsDLPGet p8_ippsDLPGet -#define ippsDLPSetDP p8_ippsDLPSetDP -#define ippsDLPGetDP p8_ippsDLPGetDP -#define ippsDLPGenKeyPair p8_ippsDLPGenKeyPair -#define ippsDLPPublicKey p8_ippsDLPPublicKey -#define ippsDLPValidateKeyPair p8_ippsDLPValidateKeyPair -#define ippsDLPSetKeyPair p8_ippsDLPSetKeyPair -#define ippsDLPSignDSA p8_ippsDLPSignDSA -#define ippsDLPVerifyDSA p8_ippsDLPVerifyDSA -#define ippsDLPSharedSecretDH p8_ippsDLPSharedSecretDH -#define ippsDLPGenerateDSA p8_ippsDLPGenerateDSA -#define ippsDLPValidateDSA p8_ippsDLPValidateDSA -#define ippsDLPGenerateDH p8_ippsDLPGenerateDH -#define ippsDLPValidateDH p8_ippsDLPValidateDH -#define ippsECCGetResultString p8_ippsECCGetResultString -#define ippsECCPGetSize p8_ippsECCPGetSize -#define ippsECCPGetSizeStd128r1 p8_ippsECCPGetSizeStd128r1 -#define ippsECCPGetSizeStd128r2 p8_ippsECCPGetSizeStd128r2 -#define ippsECCPGetSizeStd192r1 p8_ippsECCPGetSizeStd192r1 -#define ippsECCPGetSizeStd224r1 p8_ippsECCPGetSizeStd224r1 -#define ippsECCPGetSizeStd256r1 p8_ippsECCPGetSizeStd256r1 -#define ippsECCPGetSizeStd384r1 p8_ippsECCPGetSizeStd384r1 -#define ippsECCPGetSizeStd521r1 p8_ippsECCPGetSizeStd521r1 -#define ippsECCPGetSizeStdSM2 p8_ippsECCPGetSizeStdSM2 -#define ippsECCPInit p8_ippsECCPInit -#define ippsECCPInitStd128r1 p8_ippsECCPInitStd128r1 -#define ippsECCPInitStd128r2 p8_ippsECCPInitStd128r2 -#define ippsECCPInitStd192r1 p8_ippsECCPInitStd192r1 -#define ippsECCPInitStd224r1 p8_ippsECCPInitStd224r1 -#define ippsECCPInitStd256r1 p8_ippsECCPInitStd256r1 -#define ippsECCPInitStd384r1 p8_ippsECCPInitStd384r1 -#define ippsECCPInitStd521r1 p8_ippsECCPInitStd521r1 -#define ippsECCPInitStdSM2 p8_ippsECCPInitStdSM2 -#define ippsECCPSet p8_ippsECCPSet -#define ippsECCPSetStd p8_ippsECCPSetStd -#define ippsECCPSetStd128r1 p8_ippsECCPSetStd128r1 -#define ippsECCPSetStd128r2 p8_ippsECCPSetStd128r2 -#define ippsECCPSetStd192r1 p8_ippsECCPSetStd192r1 -#define ippsECCPSetStd224r1 p8_ippsECCPSetStd224r1 -#define ippsECCPSetStd256r1 p8_ippsECCPSetStd256r1 -#define ippsECCPSetStd384r1 p8_ippsECCPSetStd384r1 -#define ippsECCPSetStd521r1 p8_ippsECCPSetStd521r1 -#define ippsECCPSetStdSM2 p8_ippsECCPSetStdSM2 -#define ippsECCPBindGxyTblStd192r1 p8_ippsECCPBindGxyTblStd192r1 -#define ippsECCPBindGxyTblStd224r1 p8_ippsECCPBindGxyTblStd224r1 -#define ippsECCPBindGxyTblStd256r1 p8_ippsECCPBindGxyTblStd256r1 -#define ippsECCPBindGxyTblStd384r1 p8_ippsECCPBindGxyTblStd384r1 -#define ippsECCPBindGxyTblStd521r1 p8_ippsECCPBindGxyTblStd521r1 -#define ippsECCPBindGxyTblStdSM2 p8_ippsECCPBindGxyTblStdSM2 -#define ippsECCPGet p8_ippsECCPGet -#define ippsECCPGetOrderBitSize p8_ippsECCPGetOrderBitSize -#define ippsECCPValidate p8_ippsECCPValidate -#define ippsECCPPointGetSize p8_ippsECCPPointGetSize -#define ippsECCPPointInit p8_ippsECCPPointInit -#define ippsECCPSetPoint p8_ippsECCPSetPoint -#define ippsECCPSetPointAtInfinity p8_ippsECCPSetPointAtInfinity -#define ippsECCPGetPoint p8_ippsECCPGetPoint -#define ippsECCPCheckPoint p8_ippsECCPCheckPoint -#define ippsECCPComparePoint p8_ippsECCPComparePoint -#define ippsECCPNegativePoint p8_ippsECCPNegativePoint -#define ippsECCPAddPoint p8_ippsECCPAddPoint -#define ippsECCPMulPointScalar p8_ippsECCPMulPointScalar -#define ippsECCPGenKeyPair p8_ippsECCPGenKeyPair -#define ippsECCPPublicKey p8_ippsECCPPublicKey -#define ippsECCPValidateKeyPair p8_ippsECCPValidateKeyPair -#define ippsECCPSetKeyPair p8_ippsECCPSetKeyPair -#define ippsECCPSharedSecretDH p8_ippsECCPSharedSecretDH -#define ippsECCPSharedSecretDHC p8_ippsECCPSharedSecretDHC -#define ippsECCPSignDSA p8_ippsECCPSignDSA -#define ippsECCPVerifyDSA p8_ippsECCPVerifyDSA -#define ippsECCPSignNR p8_ippsECCPSignNR -#define ippsECCPVerifyNR p8_ippsECCPVerifyNR -#define ippsECCPSignSM2 p8_ippsECCPSignSM2 -#define ippsECCPVerifySM2 p8_ippsECCPVerifySM2 -#define ippsGFpGetSize p8_ippsGFpGetSize -#define ippsGFpInitArbitrary p8_ippsGFpInitArbitrary -#define ippsGFpInitFixed p8_ippsGFpInitFixed -#define ippsGFpInit p8_ippsGFpInit -#define ippsGFpMethod_p192r1 p8_ippsGFpMethod_p192r1 -#define ippsGFpMethod_p224r1 p8_ippsGFpMethod_p224r1 -#define ippsGFpMethod_p256r1 p8_ippsGFpMethod_p256r1 -#define ippsGFpMethod_p384r1 p8_ippsGFpMethod_p384r1 -#define ippsGFpMethod_p521r1 p8_ippsGFpMethod_p521r1 -#define ippsGFpMethod_p256sm2 p8_ippsGFpMethod_p256sm2 -#define ippsGFpMethod_p256bn p8_ippsGFpMethod_p256bn -#define ippsGFpMethod_p256 p8_ippsGFpMethod_p256 -#define ippsGFpMethod_pArb p8_ippsGFpMethod_pArb -#define ippsGFpxGetSize p8_ippsGFpxGetSize -#define ippsGFpxInit p8_ippsGFpxInit -#define ippsGFpxInitBinomial p8_ippsGFpxInitBinomial -#define ippsGFpxMethod_binom2_epid2 p8_ippsGFpxMethod_binom2_epid2 -#define ippsGFpxMethod_binom3_epid2 p8_ippsGFpxMethod_binom3_epid2 -#define ippsGFpxMethod_binom2 p8_ippsGFpxMethod_binom2 -#define ippsGFpxMethod_binom3 p8_ippsGFpxMethod_binom3 -#define ippsGFpxMethod_binom p8_ippsGFpxMethod_binom -#define ippsGFpxMethod_com p8_ippsGFpxMethod_com -#define ippsGFpScratchBufferSize p8_ippsGFpScratchBufferSize -#define ippsGFpElementGetSize p8_ippsGFpElementGetSize -#define ippsGFpElementInit p8_ippsGFpElementInit -#define ippsGFpSetElement p8_ippsGFpSetElement -#define ippsGFpSetElementRegular p8_ippsGFpSetElementRegular -#define ippsGFpSetElementOctString p8_ippsGFpSetElementOctString -#define ippsGFpSetElementRandom p8_ippsGFpSetElementRandom -#define ippsGFpSetElementHash p8_ippsGFpSetElementHash -#define ippsGFpSetElementHash_rmf p8_ippsGFpSetElementHash_rmf -#define ippsGFpCpyElement p8_ippsGFpCpyElement -#define ippsGFpGetElement p8_ippsGFpGetElement -#define ippsGFpGetElementOctString p8_ippsGFpGetElementOctString -#define ippsGFpCmpElement p8_ippsGFpCmpElement -#define ippsGFpIsZeroElement p8_ippsGFpIsZeroElement -#define ippsGFpIsUnityElement p8_ippsGFpIsUnityElement -#define ippsGFpConj p8_ippsGFpConj -#define ippsGFpNeg p8_ippsGFpNeg -#define ippsGFpInv p8_ippsGFpInv -#define ippsGFpSqrt p8_ippsGFpSqrt -#define ippsGFpSqr p8_ippsGFpSqr -#define ippsGFpAdd p8_ippsGFpAdd -#define ippsGFpSub p8_ippsGFpSub -#define ippsGFpMul p8_ippsGFpMul -#define ippsGFpExp p8_ippsGFpExp -#define ippsGFpMultiExp p8_ippsGFpMultiExp -#define ippsGFpAdd_PE p8_ippsGFpAdd_PE -#define ippsGFpSub_PE p8_ippsGFpSub_PE -#define ippsGFpMul_PE p8_ippsGFpMul_PE -#define ippsGFpGetInfo p8_ippsGFpGetInfo -#define ippsGFpECGetSize p8_ippsGFpECGetSize -#define ippsGFpECInit p8_ippsGFpECInit -#define ippsGFpECSet p8_ippsGFpECSet -#define ippsGFpECSetSubgroup p8_ippsGFpECSetSubgroup -#define ippsGFpECInitStd128r1 p8_ippsGFpECInitStd128r1 -#define ippsGFpECInitStd128r2 p8_ippsGFpECInitStd128r2 -#define ippsGFpECInitStd192r1 p8_ippsGFpECInitStd192r1 -#define ippsGFpECInitStd224r1 p8_ippsGFpECInitStd224r1 -#define ippsGFpECInitStd256r1 p8_ippsGFpECInitStd256r1 -#define ippsGFpECInitStd384r1 p8_ippsGFpECInitStd384r1 -#define ippsGFpECInitStd521r1 p8_ippsGFpECInitStd521r1 -#define ippsGFpECInitStdSM2 p8_ippsGFpECInitStdSM2 -#define ippsGFpECInitStdBN256 p8_ippsGFpECInitStdBN256 -#define ippsGFpECBindGxyTblStd192r1 p8_ippsGFpECBindGxyTblStd192r1 -#define ippsGFpECBindGxyTblStd224r1 p8_ippsGFpECBindGxyTblStd224r1 -#define ippsGFpECBindGxyTblStd256r1 p8_ippsGFpECBindGxyTblStd256r1 -#define ippsGFpECBindGxyTblStd384r1 p8_ippsGFpECBindGxyTblStd384r1 -#define ippsGFpECBindGxyTblStd521r1 p8_ippsGFpECBindGxyTblStd521r1 -#define ippsGFpECBindGxyTblStdSM2 p8_ippsGFpECBindGxyTblStdSM2 -#define ippsGFpECGet p8_ippsGFpECGet -#define ippsGFpECGetSubgroup p8_ippsGFpECGetSubgroup -#define ippsGFpECScratchBufferSize p8_ippsGFpECScratchBufferSize -#define ippsGFpECVerify p8_ippsGFpECVerify -#define ippsGFpECPointGetSize p8_ippsGFpECPointGetSize -#define ippsGFpECPointInit p8_ippsGFpECPointInit -#define ippsGFpECSetPointAtInfinity p8_ippsGFpECSetPointAtInfinity -#define ippsGFpECSetPoint p8_ippsGFpECSetPoint -#define ippsGFpECSetPointRegular p8_ippsGFpECSetPointRegular -#define ippsGFpECSetPointRandom p8_ippsGFpECSetPointRandom -#define ippsGFpECMakePoint p8_ippsGFpECMakePoint -#define ippsGFpECSetPointHash p8_ippsGFpECSetPointHash -#define ippsGFpECSetPointHashBackCompatible p8_ippsGFpECSetPointHashBackCompatible -#define ippsGFpECSetPointHash_rmf p8_ippsGFpECSetPointHash_rmf -#define ippsGFpECSetPointHashBackCompatible_rmf p8_ippsGFpECSetPointHashBackCompatible_rmf -#define ippsGFpECGetPoint p8_ippsGFpECGetPoint -#define ippsGFpECGetPointRegular p8_ippsGFpECGetPointRegular -#define ippsGFpECSetPointOctString p8_ippsGFpECSetPointOctString -#define ippsGFpECGetPointOctString p8_ippsGFpECGetPointOctString -#define ippsGFpECTstPoint p8_ippsGFpECTstPoint -#define ippsGFpECTstPointInSubgroup p8_ippsGFpECTstPointInSubgroup -#define ippsGFpECCpyPoint p8_ippsGFpECCpyPoint -#define ippsGFpECCmpPoint p8_ippsGFpECCmpPoint -#define ippsGFpECNegPoint p8_ippsGFpECNegPoint -#define ippsGFpECAddPoint p8_ippsGFpECAddPoint -#define ippsGFpECMulPoint p8_ippsGFpECMulPoint -#define ippsGFpECPrivateKey p8_ippsGFpECPrivateKey -#define ippsGFpECPublicKey p8_ippsGFpECPublicKey -#define ippsGFpECTstKeyPair p8_ippsGFpECTstKeyPair -#define ippsGFpECSharedSecretDH p8_ippsGFpECSharedSecretDH -#define ippsGFpECSharedSecretDHC p8_ippsGFpECSharedSecretDHC -#define ippsGFpECMessageRepresentationSM2 p8_ippsGFpECMessageRepresentationSM2 -#define ippsGFpECSignDSA p8_ippsGFpECSignDSA -#define ippsGFpECVerifyDSA p8_ippsGFpECVerifyDSA -#define ippsGFpECSignNR p8_ippsGFpECSignNR -#define ippsGFpECVerifyNR p8_ippsGFpECVerifyNR -#define ippsGFpECSignSM2 p8_ippsGFpECSignSM2 -#define ippsGFpECVerifySM2 p8_ippsGFpECVerifySM2 -#define ippsGFpECUserIDHashSM2 p8_ippsGFpECUserIDHashSM2 -#define ippsGFpECKeyExchangeSM2_GetSize p8_ippsGFpECKeyExchangeSM2_GetSize -#define ippsGFpECKeyExchangeSM2_Init p8_ippsGFpECKeyExchangeSM2_Init -#define ippsGFpECKeyExchangeSM2_Setup p8_ippsGFpECKeyExchangeSM2_Setup -#define ippsGFpECKeyExchangeSM2_SharedKey p8_ippsGFpECKeyExchangeSM2_SharedKey -#define ippsGFpECKeyExchangeSM2_Confirm p8_ippsGFpECKeyExchangeSM2_Confirm -#define ippsGFpECGetInfo_GF p8_ippsGFpECGetInfo_GF -#define ippsGFpECESGetSize_SM2 p8_ippsGFpECESGetSize_SM2 -#define ippsGFpECESInit_SM2 p8_ippsGFpECESInit_SM2 -#define ippsGFpECESSetKey_SM2 p8_ippsGFpECESSetKey_SM2 -#define ippsGFpECESStart_SM2 p8_ippsGFpECESStart_SM2 -#define ippsGFpECESEncrypt_SM2 p8_ippsGFpECESEncrypt_SM2 -#define ippsGFpECESDecrypt_SM2 p8_ippsGFpECESDecrypt_SM2 -#define ippsGFpECESFinal_SM2 p8_ippsGFpECESFinal_SM2 -#define ippsGFpECESGetBuffersSize_SM2 p8_ippsGFpECESGetBuffersSize_SM2 -#define ippsGFpECEncryptSM2_Ext_EncMsgSize p8_ippsGFpECEncryptSM2_Ext_EncMsgSize -#define ippsGFpECEncryptSM2_Ext p8_ippsGFpECEncryptSM2_Ext -#define ippsGFpECDecryptSM2_Ext_DecMsgSize p8_ippsGFpECDecryptSM2_Ext_DecMsgSize -#define ippsGFpECDecryptSM2_Ext p8_ippsGFpECDecryptSM2_Ext diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_s8.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_s8.h deleted file mode 100644 index ec0f35a..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_s8.h +++ /dev/null @@ -1,557 +0,0 @@ -/******************************************************************************* - * Copyright 2023 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *******************************************************************************/ - - #define ippcpGetLibVersion s8_ippcpGetLibVersion -#define ippsDESGetSize s8_ippsDESGetSize -#define ippsDESInit s8_ippsDESInit -#define ippsDESPack s8_ippsDESPack -#define ippsDESUnpack s8_ippsDESUnpack -#define ippsTDESEncryptECB s8_ippsTDESEncryptECB -#define ippsTDESDecryptECB s8_ippsTDESDecryptECB -#define ippsTDESEncryptCBC s8_ippsTDESEncryptCBC -#define ippsTDESDecryptCBC s8_ippsTDESDecryptCBC -#define ippsTDESEncryptCFB s8_ippsTDESEncryptCFB -#define ippsTDESDecryptCFB s8_ippsTDESDecryptCFB -#define ippsTDESEncryptOFB s8_ippsTDESEncryptOFB -#define ippsTDESDecryptOFB s8_ippsTDESDecryptOFB -#define ippsTDESEncryptCTR s8_ippsTDESEncryptCTR -#define ippsTDESDecryptCTR s8_ippsTDESDecryptCTR -#define ippsAESGetSize s8_ippsAESGetSize -#define ippsAESInit s8_ippsAESInit -#define ippsAESSetKey s8_ippsAESSetKey -#define ippsAESPack s8_ippsAESPack -#define ippsAESUnpack s8_ippsAESUnpack -#define ippsAESEncryptECB s8_ippsAESEncryptECB -#define ippsAESDecryptECB s8_ippsAESDecryptECB -#define ippsAESEncryptCBC s8_ippsAESEncryptCBC -#define ippsAESEncryptCBC_CS1 s8_ippsAESEncryptCBC_CS1 -#define ippsAESEncryptCBC_CS2 s8_ippsAESEncryptCBC_CS2 -#define ippsAESEncryptCBC_CS3 s8_ippsAESEncryptCBC_CS3 -#define ippsAESDecryptCBC s8_ippsAESDecryptCBC -#define ippsAESDecryptCBC_CS1 s8_ippsAESDecryptCBC_CS1 -#define ippsAESDecryptCBC_CS2 s8_ippsAESDecryptCBC_CS2 -#define ippsAESDecryptCBC_CS3 s8_ippsAESDecryptCBC_CS3 -#define ippsAESEncryptCFB s8_ippsAESEncryptCFB -#define ippsAESDecryptCFB s8_ippsAESDecryptCFB -#define ippsAESEncryptOFB s8_ippsAESEncryptOFB -#define ippsAESDecryptOFB s8_ippsAESDecryptOFB -#define ippsAESEncryptCTR s8_ippsAESEncryptCTR -#define ippsAESDecryptCTR s8_ippsAESDecryptCTR -#define ippsAESEncryptXTS_Direct s8_ippsAESEncryptXTS_Direct -#define ippsAESDecryptXTS_Direct s8_ippsAESDecryptXTS_Direct -#define ippsAESSetupNoise s8_ippsAESSetupNoise -#define ippsAES_GCMSetupNoise s8_ippsAES_GCMSetupNoise -#define ippsAES_CMACSetupNoise s8_ippsAES_CMACSetupNoise -#define ippsAES_EncryptCFB16_MB s8_ippsAES_EncryptCFB16_MB -#define ippsSMS4GetSize s8_ippsSMS4GetSize -#define ippsSMS4Init s8_ippsSMS4Init -#define ippsSMS4SetKey s8_ippsSMS4SetKey -#define ippsSMS4EncryptECB s8_ippsSMS4EncryptECB -#define ippsSMS4DecryptECB s8_ippsSMS4DecryptECB -#define ippsSMS4EncryptCBC s8_ippsSMS4EncryptCBC -#define ippsSMS4EncryptCBC_CS1 s8_ippsSMS4EncryptCBC_CS1 -#define ippsSMS4EncryptCBC_CS2 s8_ippsSMS4EncryptCBC_CS2 -#define ippsSMS4EncryptCBC_CS3 s8_ippsSMS4EncryptCBC_CS3 -#define ippsSMS4DecryptCBC s8_ippsSMS4DecryptCBC -#define ippsSMS4DecryptCBC_CS1 s8_ippsSMS4DecryptCBC_CS1 -#define ippsSMS4DecryptCBC_CS2 s8_ippsSMS4DecryptCBC_CS2 -#define ippsSMS4DecryptCBC_CS3 s8_ippsSMS4DecryptCBC_CS3 -#define ippsSMS4EncryptCFB s8_ippsSMS4EncryptCFB -#define ippsSMS4DecryptCFB s8_ippsSMS4DecryptCFB -#define ippsSMS4EncryptOFB s8_ippsSMS4EncryptOFB -#define ippsSMS4DecryptOFB s8_ippsSMS4DecryptOFB -#define ippsSMS4EncryptCTR s8_ippsSMS4EncryptCTR -#define ippsSMS4DecryptCTR s8_ippsSMS4DecryptCTR -#define ippsSMS4_CCMGetSize s8_ippsSMS4_CCMGetSize -#define ippsSMS4_CCMInit s8_ippsSMS4_CCMInit -#define ippsSMS4_CCMMessageLen s8_ippsSMS4_CCMMessageLen -#define ippsSMS4_CCMTagLen s8_ippsSMS4_CCMTagLen -#define ippsSMS4_CCMStart s8_ippsSMS4_CCMStart -#define ippsSMS4_CCMEncrypt s8_ippsSMS4_CCMEncrypt -#define ippsSMS4_CCMDecrypt s8_ippsSMS4_CCMDecrypt -#define ippsSMS4_CCMGetTag s8_ippsSMS4_CCMGetTag -#define ippsAES_CCMGetSize s8_ippsAES_CCMGetSize -#define ippsAES_CCMInit s8_ippsAES_CCMInit -#define ippsAES_CCMMessageLen s8_ippsAES_CCMMessageLen -#define ippsAES_CCMTagLen s8_ippsAES_CCMTagLen -#define ippsAES_CCMStart s8_ippsAES_CCMStart -#define ippsAES_CCMEncrypt s8_ippsAES_CCMEncrypt -#define ippsAES_CCMDecrypt s8_ippsAES_CCMDecrypt -#define ippsAES_CCMGetTag s8_ippsAES_CCMGetTag -#define ippsAES_GCMGetSize s8_ippsAES_GCMGetSize -#define ippsAES_GCMInit s8_ippsAES_GCMInit -#define ippsAES_GCMReinit s8_ippsAES_GCMReinit -#define ippsAES_GCMReset s8_ippsAES_GCMReset -#define ippsAES_GCMProcessIV s8_ippsAES_GCMProcessIV -#define ippsAES_GCMProcessAAD s8_ippsAES_GCMProcessAAD -#define ippsAES_GCMStart s8_ippsAES_GCMStart -#define ippsAES_GCMEncrypt s8_ippsAES_GCMEncrypt -#define ippsAES_GCMDecrypt s8_ippsAES_GCMDecrypt -#define ippsAES_GCMGetTag s8_ippsAES_GCMGetTag -#define ippsAES_XTSGetSize s8_ippsAES_XTSGetSize -#define ippsAES_XTSInit s8_ippsAES_XTSInit -#define ippsAES_XTSEncrypt s8_ippsAES_XTSEncrypt -#define ippsAES_XTSDecrypt s8_ippsAES_XTSDecrypt -#define ippsAES_S2V_CMAC s8_ippsAES_S2V_CMAC -#define ippsAES_SIVEncrypt s8_ippsAES_SIVEncrypt -#define ippsAES_SIVDecrypt s8_ippsAES_SIVDecrypt -#define ippsAES_CMACGetSize s8_ippsAES_CMACGetSize -#define ippsAES_CMACInit s8_ippsAES_CMACInit -#define ippsAES_CMACUpdate s8_ippsAES_CMACUpdate -#define ippsAES_CMACFinal s8_ippsAES_CMACFinal -#define ippsAES_CMACGetTag s8_ippsAES_CMACGetTag -#define ippsARCFourCheckKey s8_ippsARCFourCheckKey -#define ippsARCFourGetSize s8_ippsARCFourGetSize -#define ippsARCFourInit s8_ippsARCFourInit -#define ippsARCFourReset s8_ippsARCFourReset -#define ippsARCFourPack s8_ippsARCFourPack -#define ippsARCFourUnpack s8_ippsARCFourUnpack -#define ippsARCFourEncrypt s8_ippsARCFourEncrypt -#define ippsARCFourDecrypt s8_ippsARCFourDecrypt -#define ippsSHA1GetSize s8_ippsSHA1GetSize -#define ippsSHA1Init s8_ippsSHA1Init -#define ippsSHA1Duplicate s8_ippsSHA1Duplicate -#define ippsSHA1Pack s8_ippsSHA1Pack -#define ippsSHA1Unpack s8_ippsSHA1Unpack -#define ippsSHA1Update s8_ippsSHA1Update -#define ippsSHA1GetTag s8_ippsSHA1GetTag -#define ippsSHA1Final s8_ippsSHA1Final -#define ippsSHA1MessageDigest s8_ippsSHA1MessageDigest -#define ippsSHA224GetSize s8_ippsSHA224GetSize -#define ippsSHA224Init s8_ippsSHA224Init -#define ippsSHA224Duplicate s8_ippsSHA224Duplicate -#define ippsSHA224Pack s8_ippsSHA224Pack -#define ippsSHA224Unpack s8_ippsSHA224Unpack -#define ippsSHA224Update s8_ippsSHA224Update -#define ippsSHA224GetTag s8_ippsSHA224GetTag -#define ippsSHA224Final s8_ippsSHA224Final -#define ippsSHA224MessageDigest s8_ippsSHA224MessageDigest -#define ippsSHA256GetSize s8_ippsSHA256GetSize -#define ippsSHA256Init s8_ippsSHA256Init -#define ippsSHA256Duplicate s8_ippsSHA256Duplicate -#define ippsSHA256Pack s8_ippsSHA256Pack -#define ippsSHA256Unpack s8_ippsSHA256Unpack -#define ippsSHA256Update s8_ippsSHA256Update -#define ippsSHA256GetTag s8_ippsSHA256GetTag -#define ippsSHA256Final s8_ippsSHA256Final -#define ippsSHA256MessageDigest s8_ippsSHA256MessageDigest -#define ippsSHA384GetSize s8_ippsSHA384GetSize -#define ippsSHA384Init s8_ippsSHA384Init -#define ippsSHA384Duplicate s8_ippsSHA384Duplicate -#define ippsSHA384Pack s8_ippsSHA384Pack -#define ippsSHA384Unpack s8_ippsSHA384Unpack -#define ippsSHA384Update s8_ippsSHA384Update -#define ippsSHA384GetTag s8_ippsSHA384GetTag -#define ippsSHA384Final s8_ippsSHA384Final -#define ippsSHA384MessageDigest s8_ippsSHA384MessageDigest -#define ippsSHA512GetSize s8_ippsSHA512GetSize -#define ippsSHA512Init s8_ippsSHA512Init -#define ippsSHA512Duplicate s8_ippsSHA512Duplicate -#define ippsSHA512Pack s8_ippsSHA512Pack -#define ippsSHA512Unpack s8_ippsSHA512Unpack -#define ippsSHA512Update s8_ippsSHA512Update -#define ippsSHA512GetTag s8_ippsSHA512GetTag -#define ippsSHA512Final s8_ippsSHA512Final -#define ippsSHA512MessageDigest s8_ippsSHA512MessageDigest -#define ippsMD5GetSize s8_ippsMD5GetSize -#define ippsMD5Init s8_ippsMD5Init -#define ippsMD5Duplicate s8_ippsMD5Duplicate -#define ippsMD5Pack s8_ippsMD5Pack -#define ippsMD5Unpack s8_ippsMD5Unpack -#define ippsMD5Update s8_ippsMD5Update -#define ippsMD5GetTag s8_ippsMD5GetTag -#define ippsMD5Final s8_ippsMD5Final -#define ippsMD5MessageDigest s8_ippsMD5MessageDigest -#define ippsSM3GetSize s8_ippsSM3GetSize -#define ippsSM3Init s8_ippsSM3Init -#define ippsSM3Duplicate s8_ippsSM3Duplicate -#define ippsSM3Pack s8_ippsSM3Pack -#define ippsSM3Unpack s8_ippsSM3Unpack -#define ippsSM3Update s8_ippsSM3Update -#define ippsSM3GetTag s8_ippsSM3GetTag -#define ippsSM3Final s8_ippsSM3Final -#define ippsSM3MessageDigest s8_ippsSM3MessageDigest -#define ippsHashGetSize s8_ippsHashGetSize -#define ippsHashInit s8_ippsHashInit -#define ippsHashPack s8_ippsHashPack -#define ippsHashUnpack s8_ippsHashUnpack -#define ippsHashDuplicate s8_ippsHashDuplicate -#define ippsHashUpdate s8_ippsHashUpdate -#define ippsHashGetTag s8_ippsHashGetTag -#define ippsHashFinal s8_ippsHashFinal -#define ippsHashMessage s8_ippsHashMessage -#define ippsHashMethod_MD5 s8_ippsHashMethod_MD5 -#define ippsHashMethod_SM3 s8_ippsHashMethod_SM3 -#define ippsHashMethod_SHA1 s8_ippsHashMethod_SHA1 -#define ippsHashMethod_SHA1_NI s8_ippsHashMethod_SHA1_NI -#define ippsHashMethod_SHA1_TT s8_ippsHashMethod_SHA1_TT -#define ippsHashMethod_SHA256 s8_ippsHashMethod_SHA256 -#define ippsHashMethod_SHA256_NI s8_ippsHashMethod_SHA256_NI -#define ippsHashMethod_SHA256_TT s8_ippsHashMethod_SHA256_TT -#define ippsHashMethod_SHA224 s8_ippsHashMethod_SHA224 -#define ippsHashMethod_SHA224_NI s8_ippsHashMethod_SHA224_NI -#define ippsHashMethod_SHA224_TT s8_ippsHashMethod_SHA224_TT -#define ippsHashMethod_SHA512 s8_ippsHashMethod_SHA512 -#define ippsHashMethod_SHA384 s8_ippsHashMethod_SHA384 -#define ippsHashMethod_SHA512_256 s8_ippsHashMethod_SHA512_256 -#define ippsHashMethod_SHA512_224 s8_ippsHashMethod_SHA512_224 -#define ippsHashMethodGetSize s8_ippsHashMethodGetSize -#define ippsHashMethodSet_MD5 s8_ippsHashMethodSet_MD5 -#define ippsHashMethodSet_SM3 s8_ippsHashMethodSet_SM3 -#define ippsHashStateMethodSet_SM3 s8_ippsHashStateMethodSet_SM3 -#define ippsHashMethodSet_SHA1 s8_ippsHashMethodSet_SHA1 -#define ippsHashMethodSet_SHA1_NI s8_ippsHashMethodSet_SHA1_NI -#define ippsHashMethodSet_SHA1_TT s8_ippsHashMethodSet_SHA1_TT -#define ippsHashMethodSet_SHA256 s8_ippsHashMethodSet_SHA256 -#define ippsHashMethodSet_SHA256_NI s8_ippsHashMethodSet_SHA256_NI -#define ippsHashMethodSet_SHA256_TT s8_ippsHashMethodSet_SHA256_TT -#define ippsHashStateMethodSet_SHA256 s8_ippsHashStateMethodSet_SHA256 -#define ippsHashStateMethodSet_SHA256_NI s8_ippsHashStateMethodSet_SHA256_NI -#define ippsHashStateMethodSet_SHA256_TT s8_ippsHashStateMethodSet_SHA256_TT -#define ippsHashMethodSet_SHA224 s8_ippsHashMethodSet_SHA224 -#define ippsHashMethodSet_SHA224_NI s8_ippsHashMethodSet_SHA224_NI -#define ippsHashMethodSet_SHA224_TT s8_ippsHashMethodSet_SHA224_TT -#define ippsHashStateMethodSet_SHA224 s8_ippsHashStateMethodSet_SHA224 -#define ippsHashStateMethodSet_SHA224_NI s8_ippsHashStateMethodSet_SHA224_NI -#define ippsHashStateMethodSet_SHA224_TT s8_ippsHashStateMethodSet_SHA224_TT -#define ippsHashMethodSet_SHA512 s8_ippsHashMethodSet_SHA512 -#define ippsHashMethodSet_SHA384 s8_ippsHashMethodSet_SHA384 -#define ippsHashMethodSet_SHA512_256 s8_ippsHashMethodSet_SHA512_256 -#define ippsHashMethodSet_SHA512_224 s8_ippsHashMethodSet_SHA512_224 -#define ippsHashStateMethodSet_SHA512 s8_ippsHashStateMethodSet_SHA512 -#define ippsHashStateMethodSet_SHA384 s8_ippsHashStateMethodSet_SHA384 -#define ippsHashStateMethodSet_SHA512_256 s8_ippsHashStateMethodSet_SHA512_256 -#define ippsHashStateMethodSet_SHA512_224 s8_ippsHashStateMethodSet_SHA512_224 -#define ippsHashGetSize_rmf s8_ippsHashGetSize_rmf -#define ippsHashInit_rmf s8_ippsHashInit_rmf -#define ippsHashPack_rmf s8_ippsHashPack_rmf -#define ippsHashUnpack_rmf s8_ippsHashUnpack_rmf -#define ippsHashDuplicate_rmf s8_ippsHashDuplicate_rmf -#define ippsHashUpdate_rmf s8_ippsHashUpdate_rmf -#define ippsHashGetTag_rmf s8_ippsHashGetTag_rmf -#define ippsHashFinal_rmf s8_ippsHashFinal_rmf -#define ippsHashMessage_rmf s8_ippsHashMessage_rmf -#define ippsHashMethodGetInfo s8_ippsHashMethodGetInfo -#define ippsHashGetInfo_rmf s8_ippsHashGetInfo_rmf -#define ippsMGF s8_ippsMGF -#define ippsMGF1_rmf s8_ippsMGF1_rmf -#define ippsMGF2_rmf s8_ippsMGF2_rmf -#define ippsHMAC_GetSize s8_ippsHMAC_GetSize -#define ippsHMAC_Init s8_ippsHMAC_Init -#define ippsHMAC_Pack s8_ippsHMAC_Pack -#define ippsHMAC_Unpack s8_ippsHMAC_Unpack -#define ippsHMAC_Duplicate s8_ippsHMAC_Duplicate -#define ippsHMAC_Update s8_ippsHMAC_Update -#define ippsHMAC_Final s8_ippsHMAC_Final -#define ippsHMAC_GetTag s8_ippsHMAC_GetTag -#define ippsHMAC_Message s8_ippsHMAC_Message -#define ippsHMACGetSize_rmf s8_ippsHMACGetSize_rmf -#define ippsHMACInit_rmf s8_ippsHMACInit_rmf -#define ippsHMACPack_rmf s8_ippsHMACPack_rmf -#define ippsHMACUnpack_rmf s8_ippsHMACUnpack_rmf -#define ippsHMACDuplicate_rmf s8_ippsHMACDuplicate_rmf -#define ippsHMACUpdate_rmf s8_ippsHMACUpdate_rmf -#define ippsHMACFinal_rmf s8_ippsHMACFinal_rmf -#define ippsHMACGetTag_rmf s8_ippsHMACGetTag_rmf -#define ippsHMACMessage_rmf s8_ippsHMACMessage_rmf -#define ippsBigNumGetSize s8_ippsBigNumGetSize -#define ippsBigNumInit s8_ippsBigNumInit -#define ippsCmpZero_BN s8_ippsCmpZero_BN -#define ippsCmp_BN s8_ippsCmp_BN -#define ippsGetSize_BN s8_ippsGetSize_BN -#define ippsSet_BN s8_ippsSet_BN -#define ippsGet_BN s8_ippsGet_BN -#define ippsRef_BN s8_ippsRef_BN -#define ippsExtGet_BN s8_ippsExtGet_BN -#define ippsAdd_BN s8_ippsAdd_BN -#define ippsSub_BN s8_ippsSub_BN -#define ippsMul_BN s8_ippsMul_BN -#define ippsMAC_BN_I s8_ippsMAC_BN_I -#define ippsDiv_BN s8_ippsDiv_BN -#define ippsMod_BN s8_ippsMod_BN -#define ippsGcd_BN s8_ippsGcd_BN -#define ippsModInv_BN s8_ippsModInv_BN -#define ippsSetOctString_BN s8_ippsSetOctString_BN -#define ippsGetOctString_BN s8_ippsGetOctString_BN -#define ippsMontGetSize s8_ippsMontGetSize -#define ippsMontInit s8_ippsMontInit -#define ippsMontSet s8_ippsMontSet -#define ippsMontGet s8_ippsMontGet -#define ippsMontForm s8_ippsMontForm -#define ippsMontMul s8_ippsMontMul -#define ippsMontExp s8_ippsMontExp -#define ippsPRNGGetSize s8_ippsPRNGGetSize -#define ippsPRNGInit s8_ippsPRNGInit -#define ippsPRNGSetModulus s8_ippsPRNGSetModulus -#define ippsPRNGSetH0 s8_ippsPRNGSetH0 -#define ippsPRNGSetAugment s8_ippsPRNGSetAugment -#define ippsPRNGSetSeed s8_ippsPRNGSetSeed -#define ippsPRNGGetSeed s8_ippsPRNGGetSeed -#define ippsPRNGen s8_ippsPRNGen -#define ippsPRNGen_BN s8_ippsPRNGen_BN -#define ippsPRNGenRDRAND s8_ippsPRNGenRDRAND -#define ippsPRNGenRDRAND_BN s8_ippsPRNGenRDRAND_BN -#define ippsTRNGenRDSEED s8_ippsTRNGenRDSEED -#define ippsTRNGenRDSEED_BN s8_ippsTRNGenRDSEED_BN -#define ippsPrimeGetSize s8_ippsPrimeGetSize -#define ippsPrimeInit s8_ippsPrimeInit -#define ippsPrimeGen s8_ippsPrimeGen -#define ippsPrimeTest s8_ippsPrimeTest -#define ippsPrimeGen_BN s8_ippsPrimeGen_BN -#define ippsPrimeTest_BN s8_ippsPrimeTest_BN -#define ippsPrimeGet s8_ippsPrimeGet -#define ippsPrimeGet_BN s8_ippsPrimeGet_BN -#define ippsPrimeSet s8_ippsPrimeSet -#define ippsPrimeSet_BN s8_ippsPrimeSet_BN -#define ippsRSA_GetSizePublicKey s8_ippsRSA_GetSizePublicKey -#define ippsRSA_InitPublicKey s8_ippsRSA_InitPublicKey -#define ippsRSA_SetPublicKey s8_ippsRSA_SetPublicKey -#define ippsRSA_GetPublicKey s8_ippsRSA_GetPublicKey -#define ippsRSA_GetSizePrivateKeyType1 s8_ippsRSA_GetSizePrivateKeyType1 -#define ippsRSA_InitPrivateKeyType1 s8_ippsRSA_InitPrivateKeyType1 -#define ippsRSA_SetPrivateKeyType1 s8_ippsRSA_SetPrivateKeyType1 -#define ippsRSA_GetPrivateKeyType1 s8_ippsRSA_GetPrivateKeyType1 -#define ippsRSA_GetSizePrivateKeyType2 s8_ippsRSA_GetSizePrivateKeyType2 -#define ippsRSA_InitPrivateKeyType2 s8_ippsRSA_InitPrivateKeyType2 -#define ippsRSA_SetPrivateKeyType2 s8_ippsRSA_SetPrivateKeyType2 -#define ippsRSA_GetPrivateKeyType2 s8_ippsRSA_GetPrivateKeyType2 -#define ippsRSA_GetBufferSizePublicKey s8_ippsRSA_GetBufferSizePublicKey -#define ippsRSA_GetBufferSizePrivateKey s8_ippsRSA_GetBufferSizePrivateKey -#define ippsRSA_Encrypt s8_ippsRSA_Encrypt -#define ippsRSA_Decrypt s8_ippsRSA_Decrypt -#define ippsRSA_GenerateKeys s8_ippsRSA_GenerateKeys -#define ippsRSA_ValidateKeys s8_ippsRSA_ValidateKeys -#define ippsRSAEncrypt_OAEP s8_ippsRSAEncrypt_OAEP -#define ippsRSADecrypt_OAEP s8_ippsRSADecrypt_OAEP -#define ippsRSAEncrypt_OAEP_rmf s8_ippsRSAEncrypt_OAEP_rmf -#define ippsRSADecrypt_OAEP_rmf s8_ippsRSADecrypt_OAEP_rmf -#define ippsRSAEncrypt_PKCSv15 s8_ippsRSAEncrypt_PKCSv15 -#define ippsRSADecrypt_PKCSv15 s8_ippsRSADecrypt_PKCSv15 -#define ippsRSASign_PSS s8_ippsRSASign_PSS -#define ippsRSAVerify_PSS s8_ippsRSAVerify_PSS -#define ippsRSASign_PSS_rmf s8_ippsRSASign_PSS_rmf -#define ippsRSAVerify_PSS_rmf s8_ippsRSAVerify_PSS_rmf -#define ippsRSASign_PKCS1v15 s8_ippsRSASign_PKCS1v15 -#define ippsRSAVerify_PKCS1v15 s8_ippsRSAVerify_PKCS1v15 -#define ippsRSASign_PKCS1v15_rmf s8_ippsRSASign_PKCS1v15_rmf -#define ippsRSAVerify_PKCS1v15_rmf s8_ippsRSAVerify_PKCS1v15_rmf -#define ippsDLGetResultString s8_ippsDLGetResultString -#define ippsDLPGetSize s8_ippsDLPGetSize -#define ippsDLPInit s8_ippsDLPInit -#define ippsDLPPack s8_ippsDLPPack -#define ippsDLPUnpack s8_ippsDLPUnpack -#define ippsDLPSet s8_ippsDLPSet -#define ippsDLPGet s8_ippsDLPGet -#define ippsDLPSetDP s8_ippsDLPSetDP -#define ippsDLPGetDP s8_ippsDLPGetDP -#define ippsDLPGenKeyPair s8_ippsDLPGenKeyPair -#define ippsDLPPublicKey s8_ippsDLPPublicKey -#define ippsDLPValidateKeyPair s8_ippsDLPValidateKeyPair -#define ippsDLPSetKeyPair s8_ippsDLPSetKeyPair -#define ippsDLPSignDSA s8_ippsDLPSignDSA -#define ippsDLPVerifyDSA s8_ippsDLPVerifyDSA -#define ippsDLPSharedSecretDH s8_ippsDLPSharedSecretDH -#define ippsDLPGenerateDSA s8_ippsDLPGenerateDSA -#define ippsDLPValidateDSA s8_ippsDLPValidateDSA -#define ippsDLPGenerateDH s8_ippsDLPGenerateDH -#define ippsDLPValidateDH s8_ippsDLPValidateDH -#define ippsECCGetResultString s8_ippsECCGetResultString -#define ippsECCPGetSize s8_ippsECCPGetSize -#define ippsECCPGetSizeStd128r1 s8_ippsECCPGetSizeStd128r1 -#define ippsECCPGetSizeStd128r2 s8_ippsECCPGetSizeStd128r2 -#define ippsECCPGetSizeStd192r1 s8_ippsECCPGetSizeStd192r1 -#define ippsECCPGetSizeStd224r1 s8_ippsECCPGetSizeStd224r1 -#define ippsECCPGetSizeStd256r1 s8_ippsECCPGetSizeStd256r1 -#define ippsECCPGetSizeStd384r1 s8_ippsECCPGetSizeStd384r1 -#define ippsECCPGetSizeStd521r1 s8_ippsECCPGetSizeStd521r1 -#define ippsECCPGetSizeStdSM2 s8_ippsECCPGetSizeStdSM2 -#define ippsECCPInit s8_ippsECCPInit -#define ippsECCPInitStd128r1 s8_ippsECCPInitStd128r1 -#define ippsECCPInitStd128r2 s8_ippsECCPInitStd128r2 -#define ippsECCPInitStd192r1 s8_ippsECCPInitStd192r1 -#define ippsECCPInitStd224r1 s8_ippsECCPInitStd224r1 -#define ippsECCPInitStd256r1 s8_ippsECCPInitStd256r1 -#define ippsECCPInitStd384r1 s8_ippsECCPInitStd384r1 -#define ippsECCPInitStd521r1 s8_ippsECCPInitStd521r1 -#define ippsECCPInitStdSM2 s8_ippsECCPInitStdSM2 -#define ippsECCPSet s8_ippsECCPSet -#define ippsECCPSetStd s8_ippsECCPSetStd -#define ippsECCPSetStd128r1 s8_ippsECCPSetStd128r1 -#define ippsECCPSetStd128r2 s8_ippsECCPSetStd128r2 -#define ippsECCPSetStd192r1 s8_ippsECCPSetStd192r1 -#define ippsECCPSetStd224r1 s8_ippsECCPSetStd224r1 -#define ippsECCPSetStd256r1 s8_ippsECCPSetStd256r1 -#define ippsECCPSetStd384r1 s8_ippsECCPSetStd384r1 -#define ippsECCPSetStd521r1 s8_ippsECCPSetStd521r1 -#define ippsECCPSetStdSM2 s8_ippsECCPSetStdSM2 -#define ippsECCPBindGxyTblStd192r1 s8_ippsECCPBindGxyTblStd192r1 -#define ippsECCPBindGxyTblStd224r1 s8_ippsECCPBindGxyTblStd224r1 -#define ippsECCPBindGxyTblStd256r1 s8_ippsECCPBindGxyTblStd256r1 -#define ippsECCPBindGxyTblStd384r1 s8_ippsECCPBindGxyTblStd384r1 -#define ippsECCPBindGxyTblStd521r1 s8_ippsECCPBindGxyTblStd521r1 -#define ippsECCPBindGxyTblStdSM2 s8_ippsECCPBindGxyTblStdSM2 -#define ippsECCPGet s8_ippsECCPGet -#define ippsECCPGetOrderBitSize s8_ippsECCPGetOrderBitSize -#define ippsECCPValidate s8_ippsECCPValidate -#define ippsECCPPointGetSize s8_ippsECCPPointGetSize -#define ippsECCPPointInit s8_ippsECCPPointInit -#define ippsECCPSetPoint s8_ippsECCPSetPoint -#define ippsECCPSetPointAtInfinity s8_ippsECCPSetPointAtInfinity -#define ippsECCPGetPoint s8_ippsECCPGetPoint -#define ippsECCPCheckPoint s8_ippsECCPCheckPoint -#define ippsECCPComparePoint s8_ippsECCPComparePoint -#define ippsECCPNegativePoint s8_ippsECCPNegativePoint -#define ippsECCPAddPoint s8_ippsECCPAddPoint -#define ippsECCPMulPointScalar s8_ippsECCPMulPointScalar -#define ippsECCPGenKeyPair s8_ippsECCPGenKeyPair -#define ippsECCPPublicKey s8_ippsECCPPublicKey -#define ippsECCPValidateKeyPair s8_ippsECCPValidateKeyPair -#define ippsECCPSetKeyPair s8_ippsECCPSetKeyPair -#define ippsECCPSharedSecretDH s8_ippsECCPSharedSecretDH -#define ippsECCPSharedSecretDHC s8_ippsECCPSharedSecretDHC -#define ippsECCPSignDSA s8_ippsECCPSignDSA -#define ippsECCPVerifyDSA s8_ippsECCPVerifyDSA -#define ippsECCPSignNR s8_ippsECCPSignNR -#define ippsECCPVerifyNR s8_ippsECCPVerifyNR -#define ippsECCPSignSM2 s8_ippsECCPSignSM2 -#define ippsECCPVerifySM2 s8_ippsECCPVerifySM2 -#define ippsGFpGetSize s8_ippsGFpGetSize -#define ippsGFpInitArbitrary s8_ippsGFpInitArbitrary -#define ippsGFpInitFixed s8_ippsGFpInitFixed -#define ippsGFpInit s8_ippsGFpInit -#define ippsGFpMethod_p192r1 s8_ippsGFpMethod_p192r1 -#define ippsGFpMethod_p224r1 s8_ippsGFpMethod_p224r1 -#define ippsGFpMethod_p256r1 s8_ippsGFpMethod_p256r1 -#define ippsGFpMethod_p384r1 s8_ippsGFpMethod_p384r1 -#define ippsGFpMethod_p521r1 s8_ippsGFpMethod_p521r1 -#define ippsGFpMethod_p256sm2 s8_ippsGFpMethod_p256sm2 -#define ippsGFpMethod_p256bn s8_ippsGFpMethod_p256bn -#define ippsGFpMethod_p256 s8_ippsGFpMethod_p256 -#define ippsGFpMethod_pArb s8_ippsGFpMethod_pArb -#define ippsGFpxGetSize s8_ippsGFpxGetSize -#define ippsGFpxInit s8_ippsGFpxInit -#define ippsGFpxInitBinomial s8_ippsGFpxInitBinomial -#define ippsGFpxMethod_binom2_epid2 s8_ippsGFpxMethod_binom2_epid2 -#define ippsGFpxMethod_binom3_epid2 s8_ippsGFpxMethod_binom3_epid2 -#define ippsGFpxMethod_binom2 s8_ippsGFpxMethod_binom2 -#define ippsGFpxMethod_binom3 s8_ippsGFpxMethod_binom3 -#define ippsGFpxMethod_binom s8_ippsGFpxMethod_binom -#define ippsGFpxMethod_com s8_ippsGFpxMethod_com -#define ippsGFpScratchBufferSize s8_ippsGFpScratchBufferSize -#define ippsGFpElementGetSize s8_ippsGFpElementGetSize -#define ippsGFpElementInit s8_ippsGFpElementInit -#define ippsGFpSetElement s8_ippsGFpSetElement -#define ippsGFpSetElementRegular s8_ippsGFpSetElementRegular -#define ippsGFpSetElementOctString s8_ippsGFpSetElementOctString -#define ippsGFpSetElementRandom s8_ippsGFpSetElementRandom -#define ippsGFpSetElementHash s8_ippsGFpSetElementHash -#define ippsGFpSetElementHash_rmf s8_ippsGFpSetElementHash_rmf -#define ippsGFpCpyElement s8_ippsGFpCpyElement -#define ippsGFpGetElement s8_ippsGFpGetElement -#define ippsGFpGetElementOctString s8_ippsGFpGetElementOctString -#define ippsGFpCmpElement s8_ippsGFpCmpElement -#define ippsGFpIsZeroElement s8_ippsGFpIsZeroElement -#define ippsGFpIsUnityElement s8_ippsGFpIsUnityElement -#define ippsGFpConj s8_ippsGFpConj -#define ippsGFpNeg s8_ippsGFpNeg -#define ippsGFpInv s8_ippsGFpInv -#define ippsGFpSqrt s8_ippsGFpSqrt -#define ippsGFpSqr s8_ippsGFpSqr -#define ippsGFpAdd s8_ippsGFpAdd -#define ippsGFpSub s8_ippsGFpSub -#define ippsGFpMul s8_ippsGFpMul -#define ippsGFpExp s8_ippsGFpExp -#define ippsGFpMultiExp s8_ippsGFpMultiExp -#define ippsGFpAdd_PE s8_ippsGFpAdd_PE -#define ippsGFpSub_PE s8_ippsGFpSub_PE -#define ippsGFpMul_PE s8_ippsGFpMul_PE -#define ippsGFpGetInfo s8_ippsGFpGetInfo -#define ippsGFpECGetSize s8_ippsGFpECGetSize -#define ippsGFpECInit s8_ippsGFpECInit -#define ippsGFpECSet s8_ippsGFpECSet -#define ippsGFpECSetSubgroup s8_ippsGFpECSetSubgroup -#define ippsGFpECInitStd128r1 s8_ippsGFpECInitStd128r1 -#define ippsGFpECInitStd128r2 s8_ippsGFpECInitStd128r2 -#define ippsGFpECInitStd192r1 s8_ippsGFpECInitStd192r1 -#define ippsGFpECInitStd224r1 s8_ippsGFpECInitStd224r1 -#define ippsGFpECInitStd256r1 s8_ippsGFpECInitStd256r1 -#define ippsGFpECInitStd384r1 s8_ippsGFpECInitStd384r1 -#define ippsGFpECInitStd521r1 s8_ippsGFpECInitStd521r1 -#define ippsGFpECInitStdSM2 s8_ippsGFpECInitStdSM2 -#define ippsGFpECInitStdBN256 s8_ippsGFpECInitStdBN256 -#define ippsGFpECBindGxyTblStd192r1 s8_ippsGFpECBindGxyTblStd192r1 -#define ippsGFpECBindGxyTblStd224r1 s8_ippsGFpECBindGxyTblStd224r1 -#define ippsGFpECBindGxyTblStd256r1 s8_ippsGFpECBindGxyTblStd256r1 -#define ippsGFpECBindGxyTblStd384r1 s8_ippsGFpECBindGxyTblStd384r1 -#define ippsGFpECBindGxyTblStd521r1 s8_ippsGFpECBindGxyTblStd521r1 -#define ippsGFpECBindGxyTblStdSM2 s8_ippsGFpECBindGxyTblStdSM2 -#define ippsGFpECGet s8_ippsGFpECGet -#define ippsGFpECGetSubgroup s8_ippsGFpECGetSubgroup -#define ippsGFpECScratchBufferSize s8_ippsGFpECScratchBufferSize -#define ippsGFpECVerify s8_ippsGFpECVerify -#define ippsGFpECPointGetSize s8_ippsGFpECPointGetSize -#define ippsGFpECPointInit s8_ippsGFpECPointInit -#define ippsGFpECSetPointAtInfinity s8_ippsGFpECSetPointAtInfinity -#define ippsGFpECSetPoint s8_ippsGFpECSetPoint -#define ippsGFpECSetPointRegular s8_ippsGFpECSetPointRegular -#define ippsGFpECSetPointRandom s8_ippsGFpECSetPointRandom -#define ippsGFpECMakePoint s8_ippsGFpECMakePoint -#define ippsGFpECSetPointHash s8_ippsGFpECSetPointHash -#define ippsGFpECSetPointHashBackCompatible s8_ippsGFpECSetPointHashBackCompatible -#define ippsGFpECSetPointHash_rmf s8_ippsGFpECSetPointHash_rmf -#define ippsGFpECSetPointHashBackCompatible_rmf s8_ippsGFpECSetPointHashBackCompatible_rmf -#define ippsGFpECGetPoint s8_ippsGFpECGetPoint -#define ippsGFpECGetPointRegular s8_ippsGFpECGetPointRegular -#define ippsGFpECSetPointOctString s8_ippsGFpECSetPointOctString -#define ippsGFpECGetPointOctString s8_ippsGFpECGetPointOctString -#define ippsGFpECTstPoint s8_ippsGFpECTstPoint -#define ippsGFpECTstPointInSubgroup s8_ippsGFpECTstPointInSubgroup -#define ippsGFpECCpyPoint s8_ippsGFpECCpyPoint -#define ippsGFpECCmpPoint s8_ippsGFpECCmpPoint -#define ippsGFpECNegPoint s8_ippsGFpECNegPoint -#define ippsGFpECAddPoint s8_ippsGFpECAddPoint -#define ippsGFpECMulPoint s8_ippsGFpECMulPoint -#define ippsGFpECPrivateKey s8_ippsGFpECPrivateKey -#define ippsGFpECPublicKey s8_ippsGFpECPublicKey -#define ippsGFpECTstKeyPair s8_ippsGFpECTstKeyPair -#define ippsGFpECSharedSecretDH s8_ippsGFpECSharedSecretDH -#define ippsGFpECSharedSecretDHC s8_ippsGFpECSharedSecretDHC -#define ippsGFpECMessageRepresentationSM2 s8_ippsGFpECMessageRepresentationSM2 -#define ippsGFpECSignDSA s8_ippsGFpECSignDSA -#define ippsGFpECVerifyDSA s8_ippsGFpECVerifyDSA -#define ippsGFpECSignNR s8_ippsGFpECSignNR -#define ippsGFpECVerifyNR s8_ippsGFpECVerifyNR -#define ippsGFpECSignSM2 s8_ippsGFpECSignSM2 -#define ippsGFpECVerifySM2 s8_ippsGFpECVerifySM2 -#define ippsGFpECUserIDHashSM2 s8_ippsGFpECUserIDHashSM2 -#define ippsGFpECKeyExchangeSM2_GetSize s8_ippsGFpECKeyExchangeSM2_GetSize -#define ippsGFpECKeyExchangeSM2_Init s8_ippsGFpECKeyExchangeSM2_Init -#define ippsGFpECKeyExchangeSM2_Setup s8_ippsGFpECKeyExchangeSM2_Setup -#define ippsGFpECKeyExchangeSM2_SharedKey s8_ippsGFpECKeyExchangeSM2_SharedKey -#define ippsGFpECKeyExchangeSM2_Confirm s8_ippsGFpECKeyExchangeSM2_Confirm -#define ippsGFpECGetInfo_GF s8_ippsGFpECGetInfo_GF -#define ippsGFpECESGetSize_SM2 s8_ippsGFpECESGetSize_SM2 -#define ippsGFpECESInit_SM2 s8_ippsGFpECESInit_SM2 -#define ippsGFpECESSetKey_SM2 s8_ippsGFpECESSetKey_SM2 -#define ippsGFpECESStart_SM2 s8_ippsGFpECESStart_SM2 -#define ippsGFpECESEncrypt_SM2 s8_ippsGFpECESEncrypt_SM2 -#define ippsGFpECESDecrypt_SM2 s8_ippsGFpECESDecrypt_SM2 -#define ippsGFpECESFinal_SM2 s8_ippsGFpECESFinal_SM2 -#define ippsGFpECESGetBuffersSize_SM2 s8_ippsGFpECESGetBuffersSize_SM2 -#define ippsGFpECEncryptSM2_Ext_EncMsgSize s8_ippsGFpECEncryptSM2_Ext_EncMsgSize -#define ippsGFpECEncryptSM2_Ext s8_ippsGFpECEncryptSM2_Ext -#define ippsGFpECDecryptSM2_Ext_DecMsgSize s8_ippsGFpECDecryptSM2_Ext_DecMsgSize -#define ippsGFpECDecryptSM2_Ext s8_ippsGFpECDecryptSM2_Ext diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_w7.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_w7.h deleted file mode 100644 index 5ddea08..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_w7.h +++ /dev/null @@ -1,557 +0,0 @@ -/******************************************************************************* - * Copyright 2023 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *******************************************************************************/ - - #define ippcpGetLibVersion w7_ippcpGetLibVersion -#define ippsDESGetSize w7_ippsDESGetSize -#define ippsDESInit w7_ippsDESInit -#define ippsDESPack w7_ippsDESPack -#define ippsDESUnpack w7_ippsDESUnpack -#define ippsTDESEncryptECB w7_ippsTDESEncryptECB -#define ippsTDESDecryptECB w7_ippsTDESDecryptECB -#define ippsTDESEncryptCBC w7_ippsTDESEncryptCBC -#define ippsTDESDecryptCBC w7_ippsTDESDecryptCBC -#define ippsTDESEncryptCFB w7_ippsTDESEncryptCFB -#define ippsTDESDecryptCFB w7_ippsTDESDecryptCFB -#define ippsTDESEncryptOFB w7_ippsTDESEncryptOFB -#define ippsTDESDecryptOFB w7_ippsTDESDecryptOFB -#define ippsTDESEncryptCTR w7_ippsTDESEncryptCTR -#define ippsTDESDecryptCTR w7_ippsTDESDecryptCTR -#define ippsAESGetSize w7_ippsAESGetSize -#define ippsAESInit w7_ippsAESInit -#define ippsAESSetKey w7_ippsAESSetKey -#define ippsAESPack w7_ippsAESPack -#define ippsAESUnpack w7_ippsAESUnpack -#define ippsAESEncryptECB w7_ippsAESEncryptECB -#define ippsAESDecryptECB w7_ippsAESDecryptECB -#define ippsAESEncryptCBC w7_ippsAESEncryptCBC -#define ippsAESEncryptCBC_CS1 w7_ippsAESEncryptCBC_CS1 -#define ippsAESEncryptCBC_CS2 w7_ippsAESEncryptCBC_CS2 -#define ippsAESEncryptCBC_CS3 w7_ippsAESEncryptCBC_CS3 -#define ippsAESDecryptCBC w7_ippsAESDecryptCBC -#define ippsAESDecryptCBC_CS1 w7_ippsAESDecryptCBC_CS1 -#define ippsAESDecryptCBC_CS2 w7_ippsAESDecryptCBC_CS2 -#define ippsAESDecryptCBC_CS3 w7_ippsAESDecryptCBC_CS3 -#define ippsAESEncryptCFB w7_ippsAESEncryptCFB -#define ippsAESDecryptCFB w7_ippsAESDecryptCFB -#define ippsAESEncryptOFB w7_ippsAESEncryptOFB -#define ippsAESDecryptOFB w7_ippsAESDecryptOFB -#define ippsAESEncryptCTR w7_ippsAESEncryptCTR -#define ippsAESDecryptCTR w7_ippsAESDecryptCTR -#define ippsAESEncryptXTS_Direct w7_ippsAESEncryptXTS_Direct -#define ippsAESDecryptXTS_Direct w7_ippsAESDecryptXTS_Direct -#define ippsAESSetupNoise w7_ippsAESSetupNoise -#define ippsAES_GCMSetupNoise w7_ippsAES_GCMSetupNoise -#define ippsAES_CMACSetupNoise w7_ippsAES_CMACSetupNoise -#define ippsAES_EncryptCFB16_MB w7_ippsAES_EncryptCFB16_MB -#define ippsSMS4GetSize w7_ippsSMS4GetSize -#define ippsSMS4Init w7_ippsSMS4Init -#define ippsSMS4SetKey w7_ippsSMS4SetKey -#define ippsSMS4EncryptECB w7_ippsSMS4EncryptECB -#define ippsSMS4DecryptECB w7_ippsSMS4DecryptECB -#define ippsSMS4EncryptCBC w7_ippsSMS4EncryptCBC -#define ippsSMS4EncryptCBC_CS1 w7_ippsSMS4EncryptCBC_CS1 -#define ippsSMS4EncryptCBC_CS2 w7_ippsSMS4EncryptCBC_CS2 -#define ippsSMS4EncryptCBC_CS3 w7_ippsSMS4EncryptCBC_CS3 -#define ippsSMS4DecryptCBC w7_ippsSMS4DecryptCBC -#define ippsSMS4DecryptCBC_CS1 w7_ippsSMS4DecryptCBC_CS1 -#define ippsSMS4DecryptCBC_CS2 w7_ippsSMS4DecryptCBC_CS2 -#define ippsSMS4DecryptCBC_CS3 w7_ippsSMS4DecryptCBC_CS3 -#define ippsSMS4EncryptCFB w7_ippsSMS4EncryptCFB -#define ippsSMS4DecryptCFB w7_ippsSMS4DecryptCFB -#define ippsSMS4EncryptOFB w7_ippsSMS4EncryptOFB -#define ippsSMS4DecryptOFB w7_ippsSMS4DecryptOFB -#define ippsSMS4EncryptCTR w7_ippsSMS4EncryptCTR -#define ippsSMS4DecryptCTR w7_ippsSMS4DecryptCTR -#define ippsSMS4_CCMGetSize w7_ippsSMS4_CCMGetSize -#define ippsSMS4_CCMInit w7_ippsSMS4_CCMInit -#define ippsSMS4_CCMMessageLen w7_ippsSMS4_CCMMessageLen -#define ippsSMS4_CCMTagLen w7_ippsSMS4_CCMTagLen -#define ippsSMS4_CCMStart w7_ippsSMS4_CCMStart -#define ippsSMS4_CCMEncrypt w7_ippsSMS4_CCMEncrypt -#define ippsSMS4_CCMDecrypt w7_ippsSMS4_CCMDecrypt -#define ippsSMS4_CCMGetTag w7_ippsSMS4_CCMGetTag -#define ippsAES_CCMGetSize w7_ippsAES_CCMGetSize -#define ippsAES_CCMInit w7_ippsAES_CCMInit -#define ippsAES_CCMMessageLen w7_ippsAES_CCMMessageLen -#define ippsAES_CCMTagLen w7_ippsAES_CCMTagLen -#define ippsAES_CCMStart w7_ippsAES_CCMStart -#define ippsAES_CCMEncrypt w7_ippsAES_CCMEncrypt -#define ippsAES_CCMDecrypt w7_ippsAES_CCMDecrypt -#define ippsAES_CCMGetTag w7_ippsAES_CCMGetTag -#define ippsAES_GCMGetSize w7_ippsAES_GCMGetSize -#define ippsAES_GCMInit w7_ippsAES_GCMInit -#define ippsAES_GCMReinit w7_ippsAES_GCMReinit -#define ippsAES_GCMReset w7_ippsAES_GCMReset -#define ippsAES_GCMProcessIV w7_ippsAES_GCMProcessIV -#define ippsAES_GCMProcessAAD w7_ippsAES_GCMProcessAAD -#define ippsAES_GCMStart w7_ippsAES_GCMStart -#define ippsAES_GCMEncrypt w7_ippsAES_GCMEncrypt -#define ippsAES_GCMDecrypt w7_ippsAES_GCMDecrypt -#define ippsAES_GCMGetTag w7_ippsAES_GCMGetTag -#define ippsAES_XTSGetSize w7_ippsAES_XTSGetSize -#define ippsAES_XTSInit w7_ippsAES_XTSInit -#define ippsAES_XTSEncrypt w7_ippsAES_XTSEncrypt -#define ippsAES_XTSDecrypt w7_ippsAES_XTSDecrypt -#define ippsAES_S2V_CMAC w7_ippsAES_S2V_CMAC -#define ippsAES_SIVEncrypt w7_ippsAES_SIVEncrypt -#define ippsAES_SIVDecrypt w7_ippsAES_SIVDecrypt -#define ippsAES_CMACGetSize w7_ippsAES_CMACGetSize -#define ippsAES_CMACInit w7_ippsAES_CMACInit -#define ippsAES_CMACUpdate w7_ippsAES_CMACUpdate -#define ippsAES_CMACFinal w7_ippsAES_CMACFinal -#define ippsAES_CMACGetTag w7_ippsAES_CMACGetTag -#define ippsARCFourCheckKey w7_ippsARCFourCheckKey -#define ippsARCFourGetSize w7_ippsARCFourGetSize -#define ippsARCFourInit w7_ippsARCFourInit -#define ippsARCFourReset w7_ippsARCFourReset -#define ippsARCFourPack w7_ippsARCFourPack -#define ippsARCFourUnpack w7_ippsARCFourUnpack -#define ippsARCFourEncrypt w7_ippsARCFourEncrypt -#define ippsARCFourDecrypt w7_ippsARCFourDecrypt -#define ippsSHA1GetSize w7_ippsSHA1GetSize -#define ippsSHA1Init w7_ippsSHA1Init -#define ippsSHA1Duplicate w7_ippsSHA1Duplicate -#define ippsSHA1Pack w7_ippsSHA1Pack -#define ippsSHA1Unpack w7_ippsSHA1Unpack -#define ippsSHA1Update w7_ippsSHA1Update -#define ippsSHA1GetTag w7_ippsSHA1GetTag -#define ippsSHA1Final w7_ippsSHA1Final -#define ippsSHA1MessageDigest w7_ippsSHA1MessageDigest -#define ippsSHA224GetSize w7_ippsSHA224GetSize -#define ippsSHA224Init w7_ippsSHA224Init -#define ippsSHA224Duplicate w7_ippsSHA224Duplicate -#define ippsSHA224Pack w7_ippsSHA224Pack -#define ippsSHA224Unpack w7_ippsSHA224Unpack -#define ippsSHA224Update w7_ippsSHA224Update -#define ippsSHA224GetTag w7_ippsSHA224GetTag -#define ippsSHA224Final w7_ippsSHA224Final -#define ippsSHA224MessageDigest w7_ippsSHA224MessageDigest -#define ippsSHA256GetSize w7_ippsSHA256GetSize -#define ippsSHA256Init w7_ippsSHA256Init -#define ippsSHA256Duplicate w7_ippsSHA256Duplicate -#define ippsSHA256Pack w7_ippsSHA256Pack -#define ippsSHA256Unpack w7_ippsSHA256Unpack -#define ippsSHA256Update w7_ippsSHA256Update -#define ippsSHA256GetTag w7_ippsSHA256GetTag -#define ippsSHA256Final w7_ippsSHA256Final -#define ippsSHA256MessageDigest w7_ippsSHA256MessageDigest -#define ippsSHA384GetSize w7_ippsSHA384GetSize -#define ippsSHA384Init w7_ippsSHA384Init -#define ippsSHA384Duplicate w7_ippsSHA384Duplicate -#define ippsSHA384Pack w7_ippsSHA384Pack -#define ippsSHA384Unpack w7_ippsSHA384Unpack -#define ippsSHA384Update w7_ippsSHA384Update -#define ippsSHA384GetTag w7_ippsSHA384GetTag -#define ippsSHA384Final w7_ippsSHA384Final -#define ippsSHA384MessageDigest w7_ippsSHA384MessageDigest -#define ippsSHA512GetSize w7_ippsSHA512GetSize -#define ippsSHA512Init w7_ippsSHA512Init -#define ippsSHA512Duplicate w7_ippsSHA512Duplicate -#define ippsSHA512Pack w7_ippsSHA512Pack -#define ippsSHA512Unpack w7_ippsSHA512Unpack -#define ippsSHA512Update w7_ippsSHA512Update -#define ippsSHA512GetTag w7_ippsSHA512GetTag -#define ippsSHA512Final w7_ippsSHA512Final -#define ippsSHA512MessageDigest w7_ippsSHA512MessageDigest -#define ippsMD5GetSize w7_ippsMD5GetSize -#define ippsMD5Init w7_ippsMD5Init -#define ippsMD5Duplicate w7_ippsMD5Duplicate -#define ippsMD5Pack w7_ippsMD5Pack -#define ippsMD5Unpack w7_ippsMD5Unpack -#define ippsMD5Update w7_ippsMD5Update -#define ippsMD5GetTag w7_ippsMD5GetTag -#define ippsMD5Final w7_ippsMD5Final -#define ippsMD5MessageDigest w7_ippsMD5MessageDigest -#define ippsSM3GetSize w7_ippsSM3GetSize -#define ippsSM3Init w7_ippsSM3Init -#define ippsSM3Duplicate w7_ippsSM3Duplicate -#define ippsSM3Pack w7_ippsSM3Pack -#define ippsSM3Unpack w7_ippsSM3Unpack -#define ippsSM3Update w7_ippsSM3Update -#define ippsSM3GetTag w7_ippsSM3GetTag -#define ippsSM3Final w7_ippsSM3Final -#define ippsSM3MessageDigest w7_ippsSM3MessageDigest -#define ippsHashGetSize w7_ippsHashGetSize -#define ippsHashInit w7_ippsHashInit -#define ippsHashPack w7_ippsHashPack -#define ippsHashUnpack w7_ippsHashUnpack -#define ippsHashDuplicate w7_ippsHashDuplicate -#define ippsHashUpdate w7_ippsHashUpdate -#define ippsHashGetTag w7_ippsHashGetTag -#define ippsHashFinal w7_ippsHashFinal -#define ippsHashMessage w7_ippsHashMessage -#define ippsHashMethod_MD5 w7_ippsHashMethod_MD5 -#define ippsHashMethod_SM3 w7_ippsHashMethod_SM3 -#define ippsHashMethod_SHA1 w7_ippsHashMethod_SHA1 -#define ippsHashMethod_SHA1_NI w7_ippsHashMethod_SHA1_NI -#define ippsHashMethod_SHA1_TT w7_ippsHashMethod_SHA1_TT -#define ippsHashMethod_SHA256 w7_ippsHashMethod_SHA256 -#define ippsHashMethod_SHA256_NI w7_ippsHashMethod_SHA256_NI -#define ippsHashMethod_SHA256_TT w7_ippsHashMethod_SHA256_TT -#define ippsHashMethod_SHA224 w7_ippsHashMethod_SHA224 -#define ippsHashMethod_SHA224_NI w7_ippsHashMethod_SHA224_NI -#define ippsHashMethod_SHA224_TT w7_ippsHashMethod_SHA224_TT -#define ippsHashMethod_SHA512 w7_ippsHashMethod_SHA512 -#define ippsHashMethod_SHA384 w7_ippsHashMethod_SHA384 -#define ippsHashMethod_SHA512_256 w7_ippsHashMethod_SHA512_256 -#define ippsHashMethod_SHA512_224 w7_ippsHashMethod_SHA512_224 -#define ippsHashMethodGetSize w7_ippsHashMethodGetSize -#define ippsHashMethodSet_MD5 w7_ippsHashMethodSet_MD5 -#define ippsHashMethodSet_SM3 w7_ippsHashMethodSet_SM3 -#define ippsHashStateMethodSet_SM3 w7_ippsHashStateMethodSet_SM3 -#define ippsHashMethodSet_SHA1 w7_ippsHashMethodSet_SHA1 -#define ippsHashMethodSet_SHA1_NI w7_ippsHashMethodSet_SHA1_NI -#define ippsHashMethodSet_SHA1_TT w7_ippsHashMethodSet_SHA1_TT -#define ippsHashMethodSet_SHA256 w7_ippsHashMethodSet_SHA256 -#define ippsHashMethodSet_SHA256_NI w7_ippsHashMethodSet_SHA256_NI -#define ippsHashMethodSet_SHA256_TT w7_ippsHashMethodSet_SHA256_TT -#define ippsHashStateMethodSet_SHA256 w7_ippsHashStateMethodSet_SHA256 -#define ippsHashStateMethodSet_SHA256_NI w7_ippsHashStateMethodSet_SHA256_NI -#define ippsHashStateMethodSet_SHA256_TT w7_ippsHashStateMethodSet_SHA256_TT -#define ippsHashMethodSet_SHA224 w7_ippsHashMethodSet_SHA224 -#define ippsHashMethodSet_SHA224_NI w7_ippsHashMethodSet_SHA224_NI -#define ippsHashMethodSet_SHA224_TT w7_ippsHashMethodSet_SHA224_TT -#define ippsHashStateMethodSet_SHA224 w7_ippsHashStateMethodSet_SHA224 -#define ippsHashStateMethodSet_SHA224_NI w7_ippsHashStateMethodSet_SHA224_NI -#define ippsHashStateMethodSet_SHA224_TT w7_ippsHashStateMethodSet_SHA224_TT -#define ippsHashMethodSet_SHA512 w7_ippsHashMethodSet_SHA512 -#define ippsHashMethodSet_SHA384 w7_ippsHashMethodSet_SHA384 -#define ippsHashMethodSet_SHA512_256 w7_ippsHashMethodSet_SHA512_256 -#define ippsHashMethodSet_SHA512_224 w7_ippsHashMethodSet_SHA512_224 -#define ippsHashStateMethodSet_SHA512 w7_ippsHashStateMethodSet_SHA512 -#define ippsHashStateMethodSet_SHA384 w7_ippsHashStateMethodSet_SHA384 -#define ippsHashStateMethodSet_SHA512_256 w7_ippsHashStateMethodSet_SHA512_256 -#define ippsHashStateMethodSet_SHA512_224 w7_ippsHashStateMethodSet_SHA512_224 -#define ippsHashGetSize_rmf w7_ippsHashGetSize_rmf -#define ippsHashInit_rmf w7_ippsHashInit_rmf -#define ippsHashPack_rmf w7_ippsHashPack_rmf -#define ippsHashUnpack_rmf w7_ippsHashUnpack_rmf -#define ippsHashDuplicate_rmf w7_ippsHashDuplicate_rmf -#define ippsHashUpdate_rmf w7_ippsHashUpdate_rmf -#define ippsHashGetTag_rmf w7_ippsHashGetTag_rmf -#define ippsHashFinal_rmf w7_ippsHashFinal_rmf -#define ippsHashMessage_rmf w7_ippsHashMessage_rmf -#define ippsHashMethodGetInfo w7_ippsHashMethodGetInfo -#define ippsHashGetInfo_rmf w7_ippsHashGetInfo_rmf -#define ippsMGF w7_ippsMGF -#define ippsMGF1_rmf w7_ippsMGF1_rmf -#define ippsMGF2_rmf w7_ippsMGF2_rmf -#define ippsHMAC_GetSize w7_ippsHMAC_GetSize -#define ippsHMAC_Init w7_ippsHMAC_Init -#define ippsHMAC_Pack w7_ippsHMAC_Pack -#define ippsHMAC_Unpack w7_ippsHMAC_Unpack -#define ippsHMAC_Duplicate w7_ippsHMAC_Duplicate -#define ippsHMAC_Update w7_ippsHMAC_Update -#define ippsHMAC_Final w7_ippsHMAC_Final -#define ippsHMAC_GetTag w7_ippsHMAC_GetTag -#define ippsHMAC_Message w7_ippsHMAC_Message -#define ippsHMACGetSize_rmf w7_ippsHMACGetSize_rmf -#define ippsHMACInit_rmf w7_ippsHMACInit_rmf -#define ippsHMACPack_rmf w7_ippsHMACPack_rmf -#define ippsHMACUnpack_rmf w7_ippsHMACUnpack_rmf -#define ippsHMACDuplicate_rmf w7_ippsHMACDuplicate_rmf -#define ippsHMACUpdate_rmf w7_ippsHMACUpdate_rmf -#define ippsHMACFinal_rmf w7_ippsHMACFinal_rmf -#define ippsHMACGetTag_rmf w7_ippsHMACGetTag_rmf -#define ippsHMACMessage_rmf w7_ippsHMACMessage_rmf -#define ippsBigNumGetSize w7_ippsBigNumGetSize -#define ippsBigNumInit w7_ippsBigNumInit -#define ippsCmpZero_BN w7_ippsCmpZero_BN -#define ippsCmp_BN w7_ippsCmp_BN -#define ippsGetSize_BN w7_ippsGetSize_BN -#define ippsSet_BN w7_ippsSet_BN -#define ippsGet_BN w7_ippsGet_BN -#define ippsRef_BN w7_ippsRef_BN -#define ippsExtGet_BN w7_ippsExtGet_BN -#define ippsAdd_BN w7_ippsAdd_BN -#define ippsSub_BN w7_ippsSub_BN -#define ippsMul_BN w7_ippsMul_BN -#define ippsMAC_BN_I w7_ippsMAC_BN_I -#define ippsDiv_BN w7_ippsDiv_BN -#define ippsMod_BN w7_ippsMod_BN -#define ippsGcd_BN w7_ippsGcd_BN -#define ippsModInv_BN w7_ippsModInv_BN -#define ippsSetOctString_BN w7_ippsSetOctString_BN -#define ippsGetOctString_BN w7_ippsGetOctString_BN -#define ippsMontGetSize w7_ippsMontGetSize -#define ippsMontInit w7_ippsMontInit -#define ippsMontSet w7_ippsMontSet -#define ippsMontGet w7_ippsMontGet -#define ippsMontForm w7_ippsMontForm -#define ippsMontMul w7_ippsMontMul -#define ippsMontExp w7_ippsMontExp -#define ippsPRNGGetSize w7_ippsPRNGGetSize -#define ippsPRNGInit w7_ippsPRNGInit -#define ippsPRNGSetModulus w7_ippsPRNGSetModulus -#define ippsPRNGSetH0 w7_ippsPRNGSetH0 -#define ippsPRNGSetAugment w7_ippsPRNGSetAugment -#define ippsPRNGSetSeed w7_ippsPRNGSetSeed -#define ippsPRNGGetSeed w7_ippsPRNGGetSeed -#define ippsPRNGen w7_ippsPRNGen -#define ippsPRNGen_BN w7_ippsPRNGen_BN -#define ippsPRNGenRDRAND w7_ippsPRNGenRDRAND -#define ippsPRNGenRDRAND_BN w7_ippsPRNGenRDRAND_BN -#define ippsTRNGenRDSEED w7_ippsTRNGenRDSEED -#define ippsTRNGenRDSEED_BN w7_ippsTRNGenRDSEED_BN -#define ippsPrimeGetSize w7_ippsPrimeGetSize -#define ippsPrimeInit w7_ippsPrimeInit -#define ippsPrimeGen w7_ippsPrimeGen -#define ippsPrimeTest w7_ippsPrimeTest -#define ippsPrimeGen_BN w7_ippsPrimeGen_BN -#define ippsPrimeTest_BN w7_ippsPrimeTest_BN -#define ippsPrimeGet w7_ippsPrimeGet -#define ippsPrimeGet_BN w7_ippsPrimeGet_BN -#define ippsPrimeSet w7_ippsPrimeSet -#define ippsPrimeSet_BN w7_ippsPrimeSet_BN -#define ippsRSA_GetSizePublicKey w7_ippsRSA_GetSizePublicKey -#define ippsRSA_InitPublicKey w7_ippsRSA_InitPublicKey -#define ippsRSA_SetPublicKey w7_ippsRSA_SetPublicKey -#define ippsRSA_GetPublicKey w7_ippsRSA_GetPublicKey -#define ippsRSA_GetSizePrivateKeyType1 w7_ippsRSA_GetSizePrivateKeyType1 -#define ippsRSA_InitPrivateKeyType1 w7_ippsRSA_InitPrivateKeyType1 -#define ippsRSA_SetPrivateKeyType1 w7_ippsRSA_SetPrivateKeyType1 -#define ippsRSA_GetPrivateKeyType1 w7_ippsRSA_GetPrivateKeyType1 -#define ippsRSA_GetSizePrivateKeyType2 w7_ippsRSA_GetSizePrivateKeyType2 -#define ippsRSA_InitPrivateKeyType2 w7_ippsRSA_InitPrivateKeyType2 -#define ippsRSA_SetPrivateKeyType2 w7_ippsRSA_SetPrivateKeyType2 -#define ippsRSA_GetPrivateKeyType2 w7_ippsRSA_GetPrivateKeyType2 -#define ippsRSA_GetBufferSizePublicKey w7_ippsRSA_GetBufferSizePublicKey -#define ippsRSA_GetBufferSizePrivateKey w7_ippsRSA_GetBufferSizePrivateKey -#define ippsRSA_Encrypt w7_ippsRSA_Encrypt -#define ippsRSA_Decrypt w7_ippsRSA_Decrypt -#define ippsRSA_GenerateKeys w7_ippsRSA_GenerateKeys -#define ippsRSA_ValidateKeys w7_ippsRSA_ValidateKeys -#define ippsRSAEncrypt_OAEP w7_ippsRSAEncrypt_OAEP -#define ippsRSADecrypt_OAEP w7_ippsRSADecrypt_OAEP -#define ippsRSAEncrypt_OAEP_rmf w7_ippsRSAEncrypt_OAEP_rmf -#define ippsRSADecrypt_OAEP_rmf w7_ippsRSADecrypt_OAEP_rmf -#define ippsRSAEncrypt_PKCSv15 w7_ippsRSAEncrypt_PKCSv15 -#define ippsRSADecrypt_PKCSv15 w7_ippsRSADecrypt_PKCSv15 -#define ippsRSASign_PSS w7_ippsRSASign_PSS -#define ippsRSAVerify_PSS w7_ippsRSAVerify_PSS -#define ippsRSASign_PSS_rmf w7_ippsRSASign_PSS_rmf -#define ippsRSAVerify_PSS_rmf w7_ippsRSAVerify_PSS_rmf -#define ippsRSASign_PKCS1v15 w7_ippsRSASign_PKCS1v15 -#define ippsRSAVerify_PKCS1v15 w7_ippsRSAVerify_PKCS1v15 -#define ippsRSASign_PKCS1v15_rmf w7_ippsRSASign_PKCS1v15_rmf -#define ippsRSAVerify_PKCS1v15_rmf w7_ippsRSAVerify_PKCS1v15_rmf -#define ippsDLGetResultString w7_ippsDLGetResultString -#define ippsDLPGetSize w7_ippsDLPGetSize -#define ippsDLPInit w7_ippsDLPInit -#define ippsDLPPack w7_ippsDLPPack -#define ippsDLPUnpack w7_ippsDLPUnpack -#define ippsDLPSet w7_ippsDLPSet -#define ippsDLPGet w7_ippsDLPGet -#define ippsDLPSetDP w7_ippsDLPSetDP -#define ippsDLPGetDP w7_ippsDLPGetDP -#define ippsDLPGenKeyPair w7_ippsDLPGenKeyPair -#define ippsDLPPublicKey w7_ippsDLPPublicKey -#define ippsDLPValidateKeyPair w7_ippsDLPValidateKeyPair -#define ippsDLPSetKeyPair w7_ippsDLPSetKeyPair -#define ippsDLPSignDSA w7_ippsDLPSignDSA -#define ippsDLPVerifyDSA w7_ippsDLPVerifyDSA -#define ippsDLPSharedSecretDH w7_ippsDLPSharedSecretDH -#define ippsDLPGenerateDSA w7_ippsDLPGenerateDSA -#define ippsDLPValidateDSA w7_ippsDLPValidateDSA -#define ippsDLPGenerateDH w7_ippsDLPGenerateDH -#define ippsDLPValidateDH w7_ippsDLPValidateDH -#define ippsECCGetResultString w7_ippsECCGetResultString -#define ippsECCPGetSize w7_ippsECCPGetSize -#define ippsECCPGetSizeStd128r1 w7_ippsECCPGetSizeStd128r1 -#define ippsECCPGetSizeStd128r2 w7_ippsECCPGetSizeStd128r2 -#define ippsECCPGetSizeStd192r1 w7_ippsECCPGetSizeStd192r1 -#define ippsECCPGetSizeStd224r1 w7_ippsECCPGetSizeStd224r1 -#define ippsECCPGetSizeStd256r1 w7_ippsECCPGetSizeStd256r1 -#define ippsECCPGetSizeStd384r1 w7_ippsECCPGetSizeStd384r1 -#define ippsECCPGetSizeStd521r1 w7_ippsECCPGetSizeStd521r1 -#define ippsECCPGetSizeStdSM2 w7_ippsECCPGetSizeStdSM2 -#define ippsECCPInit w7_ippsECCPInit -#define ippsECCPInitStd128r1 w7_ippsECCPInitStd128r1 -#define ippsECCPInitStd128r2 w7_ippsECCPInitStd128r2 -#define ippsECCPInitStd192r1 w7_ippsECCPInitStd192r1 -#define ippsECCPInitStd224r1 w7_ippsECCPInitStd224r1 -#define ippsECCPInitStd256r1 w7_ippsECCPInitStd256r1 -#define ippsECCPInitStd384r1 w7_ippsECCPInitStd384r1 -#define ippsECCPInitStd521r1 w7_ippsECCPInitStd521r1 -#define ippsECCPInitStdSM2 w7_ippsECCPInitStdSM2 -#define ippsECCPSet w7_ippsECCPSet -#define ippsECCPSetStd w7_ippsECCPSetStd -#define ippsECCPSetStd128r1 w7_ippsECCPSetStd128r1 -#define ippsECCPSetStd128r2 w7_ippsECCPSetStd128r2 -#define ippsECCPSetStd192r1 w7_ippsECCPSetStd192r1 -#define ippsECCPSetStd224r1 w7_ippsECCPSetStd224r1 -#define ippsECCPSetStd256r1 w7_ippsECCPSetStd256r1 -#define ippsECCPSetStd384r1 w7_ippsECCPSetStd384r1 -#define ippsECCPSetStd521r1 w7_ippsECCPSetStd521r1 -#define ippsECCPSetStdSM2 w7_ippsECCPSetStdSM2 -#define ippsECCPBindGxyTblStd192r1 w7_ippsECCPBindGxyTblStd192r1 -#define ippsECCPBindGxyTblStd224r1 w7_ippsECCPBindGxyTblStd224r1 -#define ippsECCPBindGxyTblStd256r1 w7_ippsECCPBindGxyTblStd256r1 -#define ippsECCPBindGxyTblStd384r1 w7_ippsECCPBindGxyTblStd384r1 -#define ippsECCPBindGxyTblStd521r1 w7_ippsECCPBindGxyTblStd521r1 -#define ippsECCPBindGxyTblStdSM2 w7_ippsECCPBindGxyTblStdSM2 -#define ippsECCPGet w7_ippsECCPGet -#define ippsECCPGetOrderBitSize w7_ippsECCPGetOrderBitSize -#define ippsECCPValidate w7_ippsECCPValidate -#define ippsECCPPointGetSize w7_ippsECCPPointGetSize -#define ippsECCPPointInit w7_ippsECCPPointInit -#define ippsECCPSetPoint w7_ippsECCPSetPoint -#define ippsECCPSetPointAtInfinity w7_ippsECCPSetPointAtInfinity -#define ippsECCPGetPoint w7_ippsECCPGetPoint -#define ippsECCPCheckPoint w7_ippsECCPCheckPoint -#define ippsECCPComparePoint w7_ippsECCPComparePoint -#define ippsECCPNegativePoint w7_ippsECCPNegativePoint -#define ippsECCPAddPoint w7_ippsECCPAddPoint -#define ippsECCPMulPointScalar w7_ippsECCPMulPointScalar -#define ippsECCPGenKeyPair w7_ippsECCPGenKeyPair -#define ippsECCPPublicKey w7_ippsECCPPublicKey -#define ippsECCPValidateKeyPair w7_ippsECCPValidateKeyPair -#define ippsECCPSetKeyPair w7_ippsECCPSetKeyPair -#define ippsECCPSharedSecretDH w7_ippsECCPSharedSecretDH -#define ippsECCPSharedSecretDHC w7_ippsECCPSharedSecretDHC -#define ippsECCPSignDSA w7_ippsECCPSignDSA -#define ippsECCPVerifyDSA w7_ippsECCPVerifyDSA -#define ippsECCPSignNR w7_ippsECCPSignNR -#define ippsECCPVerifyNR w7_ippsECCPVerifyNR -#define ippsECCPSignSM2 w7_ippsECCPSignSM2 -#define ippsECCPVerifySM2 w7_ippsECCPVerifySM2 -#define ippsGFpGetSize w7_ippsGFpGetSize -#define ippsGFpInitArbitrary w7_ippsGFpInitArbitrary -#define ippsGFpInitFixed w7_ippsGFpInitFixed -#define ippsGFpInit w7_ippsGFpInit -#define ippsGFpMethod_p192r1 w7_ippsGFpMethod_p192r1 -#define ippsGFpMethod_p224r1 w7_ippsGFpMethod_p224r1 -#define ippsGFpMethod_p256r1 w7_ippsGFpMethod_p256r1 -#define ippsGFpMethod_p384r1 w7_ippsGFpMethod_p384r1 -#define ippsGFpMethod_p521r1 w7_ippsGFpMethod_p521r1 -#define ippsGFpMethod_p256sm2 w7_ippsGFpMethod_p256sm2 -#define ippsGFpMethod_p256bn w7_ippsGFpMethod_p256bn -#define ippsGFpMethod_p256 w7_ippsGFpMethod_p256 -#define ippsGFpMethod_pArb w7_ippsGFpMethod_pArb -#define ippsGFpxGetSize w7_ippsGFpxGetSize -#define ippsGFpxInit w7_ippsGFpxInit -#define ippsGFpxInitBinomial w7_ippsGFpxInitBinomial -#define ippsGFpxMethod_binom2_epid2 w7_ippsGFpxMethod_binom2_epid2 -#define ippsGFpxMethod_binom3_epid2 w7_ippsGFpxMethod_binom3_epid2 -#define ippsGFpxMethod_binom2 w7_ippsGFpxMethod_binom2 -#define ippsGFpxMethod_binom3 w7_ippsGFpxMethod_binom3 -#define ippsGFpxMethod_binom w7_ippsGFpxMethod_binom -#define ippsGFpxMethod_com w7_ippsGFpxMethod_com -#define ippsGFpScratchBufferSize w7_ippsGFpScratchBufferSize -#define ippsGFpElementGetSize w7_ippsGFpElementGetSize -#define ippsGFpElementInit w7_ippsGFpElementInit -#define ippsGFpSetElement w7_ippsGFpSetElement -#define ippsGFpSetElementRegular w7_ippsGFpSetElementRegular -#define ippsGFpSetElementOctString w7_ippsGFpSetElementOctString -#define ippsGFpSetElementRandom w7_ippsGFpSetElementRandom -#define ippsGFpSetElementHash w7_ippsGFpSetElementHash -#define ippsGFpSetElementHash_rmf w7_ippsGFpSetElementHash_rmf -#define ippsGFpCpyElement w7_ippsGFpCpyElement -#define ippsGFpGetElement w7_ippsGFpGetElement -#define ippsGFpGetElementOctString w7_ippsGFpGetElementOctString -#define ippsGFpCmpElement w7_ippsGFpCmpElement -#define ippsGFpIsZeroElement w7_ippsGFpIsZeroElement -#define ippsGFpIsUnityElement w7_ippsGFpIsUnityElement -#define ippsGFpConj w7_ippsGFpConj -#define ippsGFpNeg w7_ippsGFpNeg -#define ippsGFpInv w7_ippsGFpInv -#define ippsGFpSqrt w7_ippsGFpSqrt -#define ippsGFpSqr w7_ippsGFpSqr -#define ippsGFpAdd w7_ippsGFpAdd -#define ippsGFpSub w7_ippsGFpSub -#define ippsGFpMul w7_ippsGFpMul -#define ippsGFpExp w7_ippsGFpExp -#define ippsGFpMultiExp w7_ippsGFpMultiExp -#define ippsGFpAdd_PE w7_ippsGFpAdd_PE -#define ippsGFpSub_PE w7_ippsGFpSub_PE -#define ippsGFpMul_PE w7_ippsGFpMul_PE -#define ippsGFpGetInfo w7_ippsGFpGetInfo -#define ippsGFpECGetSize w7_ippsGFpECGetSize -#define ippsGFpECInit w7_ippsGFpECInit -#define ippsGFpECSet w7_ippsGFpECSet -#define ippsGFpECSetSubgroup w7_ippsGFpECSetSubgroup -#define ippsGFpECInitStd128r1 w7_ippsGFpECInitStd128r1 -#define ippsGFpECInitStd128r2 w7_ippsGFpECInitStd128r2 -#define ippsGFpECInitStd192r1 w7_ippsGFpECInitStd192r1 -#define ippsGFpECInitStd224r1 w7_ippsGFpECInitStd224r1 -#define ippsGFpECInitStd256r1 w7_ippsGFpECInitStd256r1 -#define ippsGFpECInitStd384r1 w7_ippsGFpECInitStd384r1 -#define ippsGFpECInitStd521r1 w7_ippsGFpECInitStd521r1 -#define ippsGFpECInitStdSM2 w7_ippsGFpECInitStdSM2 -#define ippsGFpECInitStdBN256 w7_ippsGFpECInitStdBN256 -#define ippsGFpECBindGxyTblStd192r1 w7_ippsGFpECBindGxyTblStd192r1 -#define ippsGFpECBindGxyTblStd224r1 w7_ippsGFpECBindGxyTblStd224r1 -#define ippsGFpECBindGxyTblStd256r1 w7_ippsGFpECBindGxyTblStd256r1 -#define ippsGFpECBindGxyTblStd384r1 w7_ippsGFpECBindGxyTblStd384r1 -#define ippsGFpECBindGxyTblStd521r1 w7_ippsGFpECBindGxyTblStd521r1 -#define ippsGFpECBindGxyTblStdSM2 w7_ippsGFpECBindGxyTblStdSM2 -#define ippsGFpECGet w7_ippsGFpECGet -#define ippsGFpECGetSubgroup w7_ippsGFpECGetSubgroup -#define ippsGFpECScratchBufferSize w7_ippsGFpECScratchBufferSize -#define ippsGFpECVerify w7_ippsGFpECVerify -#define ippsGFpECPointGetSize w7_ippsGFpECPointGetSize -#define ippsGFpECPointInit w7_ippsGFpECPointInit -#define ippsGFpECSetPointAtInfinity w7_ippsGFpECSetPointAtInfinity -#define ippsGFpECSetPoint w7_ippsGFpECSetPoint -#define ippsGFpECSetPointRegular w7_ippsGFpECSetPointRegular -#define ippsGFpECSetPointRandom w7_ippsGFpECSetPointRandom -#define ippsGFpECMakePoint w7_ippsGFpECMakePoint -#define ippsGFpECSetPointHash w7_ippsGFpECSetPointHash -#define ippsGFpECSetPointHashBackCompatible w7_ippsGFpECSetPointHashBackCompatible -#define ippsGFpECSetPointHash_rmf w7_ippsGFpECSetPointHash_rmf -#define ippsGFpECSetPointHashBackCompatible_rmf w7_ippsGFpECSetPointHashBackCompatible_rmf -#define ippsGFpECGetPoint w7_ippsGFpECGetPoint -#define ippsGFpECGetPointRegular w7_ippsGFpECGetPointRegular -#define ippsGFpECSetPointOctString w7_ippsGFpECSetPointOctString -#define ippsGFpECGetPointOctString w7_ippsGFpECGetPointOctString -#define ippsGFpECTstPoint w7_ippsGFpECTstPoint -#define ippsGFpECTstPointInSubgroup w7_ippsGFpECTstPointInSubgroup -#define ippsGFpECCpyPoint w7_ippsGFpECCpyPoint -#define ippsGFpECCmpPoint w7_ippsGFpECCmpPoint -#define ippsGFpECNegPoint w7_ippsGFpECNegPoint -#define ippsGFpECAddPoint w7_ippsGFpECAddPoint -#define ippsGFpECMulPoint w7_ippsGFpECMulPoint -#define ippsGFpECPrivateKey w7_ippsGFpECPrivateKey -#define ippsGFpECPublicKey w7_ippsGFpECPublicKey -#define ippsGFpECTstKeyPair w7_ippsGFpECTstKeyPair -#define ippsGFpECSharedSecretDH w7_ippsGFpECSharedSecretDH -#define ippsGFpECSharedSecretDHC w7_ippsGFpECSharedSecretDHC -#define ippsGFpECMessageRepresentationSM2 w7_ippsGFpECMessageRepresentationSM2 -#define ippsGFpECSignDSA w7_ippsGFpECSignDSA -#define ippsGFpECVerifyDSA w7_ippsGFpECVerifyDSA -#define ippsGFpECSignNR w7_ippsGFpECSignNR -#define ippsGFpECVerifyNR w7_ippsGFpECVerifyNR -#define ippsGFpECSignSM2 w7_ippsGFpECSignSM2 -#define ippsGFpECVerifySM2 w7_ippsGFpECVerifySM2 -#define ippsGFpECUserIDHashSM2 w7_ippsGFpECUserIDHashSM2 -#define ippsGFpECKeyExchangeSM2_GetSize w7_ippsGFpECKeyExchangeSM2_GetSize -#define ippsGFpECKeyExchangeSM2_Init w7_ippsGFpECKeyExchangeSM2_Init -#define ippsGFpECKeyExchangeSM2_Setup w7_ippsGFpECKeyExchangeSM2_Setup -#define ippsGFpECKeyExchangeSM2_SharedKey w7_ippsGFpECKeyExchangeSM2_SharedKey -#define ippsGFpECKeyExchangeSM2_Confirm w7_ippsGFpECKeyExchangeSM2_Confirm -#define ippsGFpECGetInfo_GF w7_ippsGFpECGetInfo_GF -#define ippsGFpECESGetSize_SM2 w7_ippsGFpECESGetSize_SM2 -#define ippsGFpECESInit_SM2 w7_ippsGFpECESInit_SM2 -#define ippsGFpECESSetKey_SM2 w7_ippsGFpECESSetKey_SM2 -#define ippsGFpECESStart_SM2 w7_ippsGFpECESStart_SM2 -#define ippsGFpECESEncrypt_SM2 w7_ippsGFpECESEncrypt_SM2 -#define ippsGFpECESDecrypt_SM2 w7_ippsGFpECESDecrypt_SM2 -#define ippsGFpECESFinal_SM2 w7_ippsGFpECESFinal_SM2 -#define ippsGFpECESGetBuffersSize_SM2 w7_ippsGFpECESGetBuffersSize_SM2 -#define ippsGFpECEncryptSM2_Ext_EncMsgSize w7_ippsGFpECEncryptSM2_Ext_EncMsgSize -#define ippsGFpECEncryptSM2_Ext w7_ippsGFpECEncryptSM2_Ext -#define ippsGFpECDecryptSM2_Ext_DecMsgSize w7_ippsGFpECDecryptSM2_Ext_DecMsgSize -#define ippsGFpECDecryptSM2_Ext w7_ippsGFpECDecryptSM2_Ext diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_y8.h b/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_y8.h deleted file mode 100644 index 12c727d..0000000 --- a/librocksdb-sys/rocksdb/plugin/ippcp/library/include/single_cpu/ippcp_y8.h +++ /dev/null @@ -1,557 +0,0 @@ -/******************************************************************************* - * Copyright 2023 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *******************************************************************************/ - - #define ippcpGetLibVersion y8_ippcpGetLibVersion -#define ippsDESGetSize y8_ippsDESGetSize -#define ippsDESInit y8_ippsDESInit -#define ippsDESPack y8_ippsDESPack -#define ippsDESUnpack y8_ippsDESUnpack -#define ippsTDESEncryptECB y8_ippsTDESEncryptECB -#define ippsTDESDecryptECB y8_ippsTDESDecryptECB -#define ippsTDESEncryptCBC y8_ippsTDESEncryptCBC -#define ippsTDESDecryptCBC y8_ippsTDESDecryptCBC -#define ippsTDESEncryptCFB y8_ippsTDESEncryptCFB -#define ippsTDESDecryptCFB y8_ippsTDESDecryptCFB -#define ippsTDESEncryptOFB y8_ippsTDESEncryptOFB -#define ippsTDESDecryptOFB y8_ippsTDESDecryptOFB -#define ippsTDESEncryptCTR y8_ippsTDESEncryptCTR -#define ippsTDESDecryptCTR y8_ippsTDESDecryptCTR -#define ippsAESGetSize y8_ippsAESGetSize -#define ippsAESInit y8_ippsAESInit -#define ippsAESSetKey y8_ippsAESSetKey -#define ippsAESPack y8_ippsAESPack -#define ippsAESUnpack y8_ippsAESUnpack -#define ippsAESEncryptECB y8_ippsAESEncryptECB -#define ippsAESDecryptECB y8_ippsAESDecryptECB -#define ippsAESEncryptCBC y8_ippsAESEncryptCBC -#define ippsAESEncryptCBC_CS1 y8_ippsAESEncryptCBC_CS1 -#define ippsAESEncryptCBC_CS2 y8_ippsAESEncryptCBC_CS2 -#define ippsAESEncryptCBC_CS3 y8_ippsAESEncryptCBC_CS3 -#define ippsAESDecryptCBC y8_ippsAESDecryptCBC -#define ippsAESDecryptCBC_CS1 y8_ippsAESDecryptCBC_CS1 -#define ippsAESDecryptCBC_CS2 y8_ippsAESDecryptCBC_CS2 -#define ippsAESDecryptCBC_CS3 y8_ippsAESDecryptCBC_CS3 -#define ippsAESEncryptCFB y8_ippsAESEncryptCFB -#define ippsAESDecryptCFB y8_ippsAESDecryptCFB -#define ippsAESEncryptOFB y8_ippsAESEncryptOFB -#define ippsAESDecryptOFB y8_ippsAESDecryptOFB -#define ippsAESEncryptCTR y8_ippsAESEncryptCTR -#define ippsAESDecryptCTR y8_ippsAESDecryptCTR -#define ippsAESEncryptXTS_Direct y8_ippsAESEncryptXTS_Direct -#define ippsAESDecryptXTS_Direct y8_ippsAESDecryptXTS_Direct -#define ippsAESSetupNoise y8_ippsAESSetupNoise -#define ippsAES_GCMSetupNoise y8_ippsAES_GCMSetupNoise -#define ippsAES_CMACSetupNoise y8_ippsAES_CMACSetupNoise -#define ippsAES_EncryptCFB16_MB y8_ippsAES_EncryptCFB16_MB -#define ippsSMS4GetSize y8_ippsSMS4GetSize -#define ippsSMS4Init y8_ippsSMS4Init -#define ippsSMS4SetKey y8_ippsSMS4SetKey -#define ippsSMS4EncryptECB y8_ippsSMS4EncryptECB -#define ippsSMS4DecryptECB y8_ippsSMS4DecryptECB -#define ippsSMS4EncryptCBC y8_ippsSMS4EncryptCBC -#define ippsSMS4EncryptCBC_CS1 y8_ippsSMS4EncryptCBC_CS1 -#define ippsSMS4EncryptCBC_CS2 y8_ippsSMS4EncryptCBC_CS2 -#define ippsSMS4EncryptCBC_CS3 y8_ippsSMS4EncryptCBC_CS3 -#define ippsSMS4DecryptCBC y8_ippsSMS4DecryptCBC -#define ippsSMS4DecryptCBC_CS1 y8_ippsSMS4DecryptCBC_CS1 -#define ippsSMS4DecryptCBC_CS2 y8_ippsSMS4DecryptCBC_CS2 -#define ippsSMS4DecryptCBC_CS3 y8_ippsSMS4DecryptCBC_CS3 -#define ippsSMS4EncryptCFB y8_ippsSMS4EncryptCFB -#define ippsSMS4DecryptCFB y8_ippsSMS4DecryptCFB -#define ippsSMS4EncryptOFB y8_ippsSMS4EncryptOFB -#define ippsSMS4DecryptOFB y8_ippsSMS4DecryptOFB -#define ippsSMS4EncryptCTR y8_ippsSMS4EncryptCTR -#define ippsSMS4DecryptCTR y8_ippsSMS4DecryptCTR -#define ippsSMS4_CCMGetSize y8_ippsSMS4_CCMGetSize -#define ippsSMS4_CCMInit y8_ippsSMS4_CCMInit -#define ippsSMS4_CCMMessageLen y8_ippsSMS4_CCMMessageLen -#define ippsSMS4_CCMTagLen y8_ippsSMS4_CCMTagLen -#define ippsSMS4_CCMStart y8_ippsSMS4_CCMStart -#define ippsSMS4_CCMEncrypt y8_ippsSMS4_CCMEncrypt -#define ippsSMS4_CCMDecrypt y8_ippsSMS4_CCMDecrypt -#define ippsSMS4_CCMGetTag y8_ippsSMS4_CCMGetTag -#define ippsAES_CCMGetSize y8_ippsAES_CCMGetSize -#define ippsAES_CCMInit y8_ippsAES_CCMInit -#define ippsAES_CCMMessageLen y8_ippsAES_CCMMessageLen -#define ippsAES_CCMTagLen y8_ippsAES_CCMTagLen -#define ippsAES_CCMStart y8_ippsAES_CCMStart -#define ippsAES_CCMEncrypt y8_ippsAES_CCMEncrypt -#define ippsAES_CCMDecrypt y8_ippsAES_CCMDecrypt -#define ippsAES_CCMGetTag y8_ippsAES_CCMGetTag -#define ippsAES_GCMGetSize y8_ippsAES_GCMGetSize -#define ippsAES_GCMInit y8_ippsAES_GCMInit -#define ippsAES_GCMReinit y8_ippsAES_GCMReinit -#define ippsAES_GCMReset y8_ippsAES_GCMReset -#define ippsAES_GCMProcessIV y8_ippsAES_GCMProcessIV -#define ippsAES_GCMProcessAAD y8_ippsAES_GCMProcessAAD -#define ippsAES_GCMStart y8_ippsAES_GCMStart -#define ippsAES_GCMEncrypt y8_ippsAES_GCMEncrypt -#define ippsAES_GCMDecrypt y8_ippsAES_GCMDecrypt -#define ippsAES_GCMGetTag y8_ippsAES_GCMGetTag -#define ippsAES_XTSGetSize y8_ippsAES_XTSGetSize -#define ippsAES_XTSInit y8_ippsAES_XTSInit -#define ippsAES_XTSEncrypt y8_ippsAES_XTSEncrypt -#define ippsAES_XTSDecrypt y8_ippsAES_XTSDecrypt -#define ippsAES_S2V_CMAC y8_ippsAES_S2V_CMAC -#define ippsAES_SIVEncrypt y8_ippsAES_SIVEncrypt -#define ippsAES_SIVDecrypt y8_ippsAES_SIVDecrypt -#define ippsAES_CMACGetSize y8_ippsAES_CMACGetSize -#define ippsAES_CMACInit y8_ippsAES_CMACInit -#define ippsAES_CMACUpdate y8_ippsAES_CMACUpdate -#define ippsAES_CMACFinal y8_ippsAES_CMACFinal -#define ippsAES_CMACGetTag y8_ippsAES_CMACGetTag -#define ippsARCFourCheckKey y8_ippsARCFourCheckKey -#define ippsARCFourGetSize y8_ippsARCFourGetSize -#define ippsARCFourInit y8_ippsARCFourInit -#define ippsARCFourReset y8_ippsARCFourReset -#define ippsARCFourPack y8_ippsARCFourPack -#define ippsARCFourUnpack y8_ippsARCFourUnpack -#define ippsARCFourEncrypt y8_ippsARCFourEncrypt -#define ippsARCFourDecrypt y8_ippsARCFourDecrypt -#define ippsSHA1GetSize y8_ippsSHA1GetSize -#define ippsSHA1Init y8_ippsSHA1Init -#define ippsSHA1Duplicate y8_ippsSHA1Duplicate -#define ippsSHA1Pack y8_ippsSHA1Pack -#define ippsSHA1Unpack y8_ippsSHA1Unpack -#define ippsSHA1Update y8_ippsSHA1Update -#define ippsSHA1GetTag y8_ippsSHA1GetTag -#define ippsSHA1Final y8_ippsSHA1Final -#define ippsSHA1MessageDigest y8_ippsSHA1MessageDigest -#define ippsSHA224GetSize y8_ippsSHA224GetSize -#define ippsSHA224Init y8_ippsSHA224Init -#define ippsSHA224Duplicate y8_ippsSHA224Duplicate -#define ippsSHA224Pack y8_ippsSHA224Pack -#define ippsSHA224Unpack y8_ippsSHA224Unpack -#define ippsSHA224Update y8_ippsSHA224Update -#define ippsSHA224GetTag y8_ippsSHA224GetTag -#define ippsSHA224Final y8_ippsSHA224Final -#define ippsSHA224MessageDigest y8_ippsSHA224MessageDigest -#define ippsSHA256GetSize y8_ippsSHA256GetSize -#define ippsSHA256Init y8_ippsSHA256Init -#define ippsSHA256Duplicate y8_ippsSHA256Duplicate -#define ippsSHA256Pack y8_ippsSHA256Pack -#define ippsSHA256Unpack y8_ippsSHA256Unpack -#define ippsSHA256Update y8_ippsSHA256Update -#define ippsSHA256GetTag y8_ippsSHA256GetTag -#define ippsSHA256Final y8_ippsSHA256Final -#define ippsSHA256MessageDigest y8_ippsSHA256MessageDigest -#define ippsSHA384GetSize y8_ippsSHA384GetSize -#define ippsSHA384Init y8_ippsSHA384Init -#define ippsSHA384Duplicate y8_ippsSHA384Duplicate -#define ippsSHA384Pack y8_ippsSHA384Pack -#define ippsSHA384Unpack y8_ippsSHA384Unpack -#define ippsSHA384Update y8_ippsSHA384Update -#define ippsSHA384GetTag y8_ippsSHA384GetTag -#define ippsSHA384Final y8_ippsSHA384Final -#define ippsSHA384MessageDigest y8_ippsSHA384MessageDigest -#define ippsSHA512GetSize y8_ippsSHA512GetSize -#define ippsSHA512Init y8_ippsSHA512Init -#define ippsSHA512Duplicate y8_ippsSHA512Duplicate -#define ippsSHA512Pack y8_ippsSHA512Pack -#define ippsSHA512Unpack y8_ippsSHA512Unpack -#define ippsSHA512Update y8_ippsSHA512Update -#define ippsSHA512GetTag y8_ippsSHA512GetTag -#define ippsSHA512Final y8_ippsSHA512Final -#define ippsSHA512MessageDigest y8_ippsSHA512MessageDigest -#define ippsMD5GetSize y8_ippsMD5GetSize -#define ippsMD5Init y8_ippsMD5Init -#define ippsMD5Duplicate y8_ippsMD5Duplicate -#define ippsMD5Pack y8_ippsMD5Pack -#define ippsMD5Unpack y8_ippsMD5Unpack -#define ippsMD5Update y8_ippsMD5Update -#define ippsMD5GetTag y8_ippsMD5GetTag -#define ippsMD5Final y8_ippsMD5Final -#define ippsMD5MessageDigest y8_ippsMD5MessageDigest -#define ippsSM3GetSize y8_ippsSM3GetSize -#define ippsSM3Init y8_ippsSM3Init -#define ippsSM3Duplicate y8_ippsSM3Duplicate -#define ippsSM3Pack y8_ippsSM3Pack -#define ippsSM3Unpack y8_ippsSM3Unpack -#define ippsSM3Update y8_ippsSM3Update -#define ippsSM3GetTag y8_ippsSM3GetTag -#define ippsSM3Final y8_ippsSM3Final -#define ippsSM3MessageDigest y8_ippsSM3MessageDigest -#define ippsHashGetSize y8_ippsHashGetSize -#define ippsHashInit y8_ippsHashInit -#define ippsHashPack y8_ippsHashPack -#define ippsHashUnpack y8_ippsHashUnpack -#define ippsHashDuplicate y8_ippsHashDuplicate -#define ippsHashUpdate y8_ippsHashUpdate -#define ippsHashGetTag y8_ippsHashGetTag -#define ippsHashFinal y8_ippsHashFinal -#define ippsHashMessage y8_ippsHashMessage -#define ippsHashMethod_MD5 y8_ippsHashMethod_MD5 -#define ippsHashMethod_SM3 y8_ippsHashMethod_SM3 -#define ippsHashMethod_SHA1 y8_ippsHashMethod_SHA1 -#define ippsHashMethod_SHA1_NI y8_ippsHashMethod_SHA1_NI -#define ippsHashMethod_SHA1_TT y8_ippsHashMethod_SHA1_TT -#define ippsHashMethod_SHA256 y8_ippsHashMethod_SHA256 -#define ippsHashMethod_SHA256_NI y8_ippsHashMethod_SHA256_NI -#define ippsHashMethod_SHA256_TT y8_ippsHashMethod_SHA256_TT -#define ippsHashMethod_SHA224 y8_ippsHashMethod_SHA224 -#define ippsHashMethod_SHA224_NI y8_ippsHashMethod_SHA224_NI -#define ippsHashMethod_SHA224_TT y8_ippsHashMethod_SHA224_TT -#define ippsHashMethod_SHA512 y8_ippsHashMethod_SHA512 -#define ippsHashMethod_SHA384 y8_ippsHashMethod_SHA384 -#define ippsHashMethod_SHA512_256 y8_ippsHashMethod_SHA512_256 -#define ippsHashMethod_SHA512_224 y8_ippsHashMethod_SHA512_224 -#define ippsHashMethodGetSize y8_ippsHashMethodGetSize -#define ippsHashMethodSet_MD5 y8_ippsHashMethodSet_MD5 -#define ippsHashMethodSet_SM3 y8_ippsHashMethodSet_SM3 -#define ippsHashStateMethodSet_SM3 y8_ippsHashStateMethodSet_SM3 -#define ippsHashMethodSet_SHA1 y8_ippsHashMethodSet_SHA1 -#define ippsHashMethodSet_SHA1_NI y8_ippsHashMethodSet_SHA1_NI -#define ippsHashMethodSet_SHA1_TT y8_ippsHashMethodSet_SHA1_TT -#define ippsHashMethodSet_SHA256 y8_ippsHashMethodSet_SHA256 -#define ippsHashMethodSet_SHA256_NI y8_ippsHashMethodSet_SHA256_NI -#define ippsHashMethodSet_SHA256_TT y8_ippsHashMethodSet_SHA256_TT -#define ippsHashStateMethodSet_SHA256 y8_ippsHashStateMethodSet_SHA256 -#define ippsHashStateMethodSet_SHA256_NI y8_ippsHashStateMethodSet_SHA256_NI -#define ippsHashStateMethodSet_SHA256_TT y8_ippsHashStateMethodSet_SHA256_TT -#define ippsHashMethodSet_SHA224 y8_ippsHashMethodSet_SHA224 -#define ippsHashMethodSet_SHA224_NI y8_ippsHashMethodSet_SHA224_NI -#define ippsHashMethodSet_SHA224_TT y8_ippsHashMethodSet_SHA224_TT -#define ippsHashStateMethodSet_SHA224 y8_ippsHashStateMethodSet_SHA224 -#define ippsHashStateMethodSet_SHA224_NI y8_ippsHashStateMethodSet_SHA224_NI -#define ippsHashStateMethodSet_SHA224_TT y8_ippsHashStateMethodSet_SHA224_TT -#define ippsHashMethodSet_SHA512 y8_ippsHashMethodSet_SHA512 -#define ippsHashMethodSet_SHA384 y8_ippsHashMethodSet_SHA384 -#define ippsHashMethodSet_SHA512_256 y8_ippsHashMethodSet_SHA512_256 -#define ippsHashMethodSet_SHA512_224 y8_ippsHashMethodSet_SHA512_224 -#define ippsHashStateMethodSet_SHA512 y8_ippsHashStateMethodSet_SHA512 -#define ippsHashStateMethodSet_SHA384 y8_ippsHashStateMethodSet_SHA384 -#define ippsHashStateMethodSet_SHA512_256 y8_ippsHashStateMethodSet_SHA512_256 -#define ippsHashStateMethodSet_SHA512_224 y8_ippsHashStateMethodSet_SHA512_224 -#define ippsHashGetSize_rmf y8_ippsHashGetSize_rmf -#define ippsHashInit_rmf y8_ippsHashInit_rmf -#define ippsHashPack_rmf y8_ippsHashPack_rmf -#define ippsHashUnpack_rmf y8_ippsHashUnpack_rmf -#define ippsHashDuplicate_rmf y8_ippsHashDuplicate_rmf -#define ippsHashUpdate_rmf y8_ippsHashUpdate_rmf -#define ippsHashGetTag_rmf y8_ippsHashGetTag_rmf -#define ippsHashFinal_rmf y8_ippsHashFinal_rmf -#define ippsHashMessage_rmf y8_ippsHashMessage_rmf -#define ippsHashMethodGetInfo y8_ippsHashMethodGetInfo -#define ippsHashGetInfo_rmf y8_ippsHashGetInfo_rmf -#define ippsMGF y8_ippsMGF -#define ippsMGF1_rmf y8_ippsMGF1_rmf -#define ippsMGF2_rmf y8_ippsMGF2_rmf -#define ippsHMAC_GetSize y8_ippsHMAC_GetSize -#define ippsHMAC_Init y8_ippsHMAC_Init -#define ippsHMAC_Pack y8_ippsHMAC_Pack -#define ippsHMAC_Unpack y8_ippsHMAC_Unpack -#define ippsHMAC_Duplicate y8_ippsHMAC_Duplicate -#define ippsHMAC_Update y8_ippsHMAC_Update -#define ippsHMAC_Final y8_ippsHMAC_Final -#define ippsHMAC_GetTag y8_ippsHMAC_GetTag -#define ippsHMAC_Message y8_ippsHMAC_Message -#define ippsHMACGetSize_rmf y8_ippsHMACGetSize_rmf -#define ippsHMACInit_rmf y8_ippsHMACInit_rmf -#define ippsHMACPack_rmf y8_ippsHMACPack_rmf -#define ippsHMACUnpack_rmf y8_ippsHMACUnpack_rmf -#define ippsHMACDuplicate_rmf y8_ippsHMACDuplicate_rmf -#define ippsHMACUpdate_rmf y8_ippsHMACUpdate_rmf -#define ippsHMACFinal_rmf y8_ippsHMACFinal_rmf -#define ippsHMACGetTag_rmf y8_ippsHMACGetTag_rmf -#define ippsHMACMessage_rmf y8_ippsHMACMessage_rmf -#define ippsBigNumGetSize y8_ippsBigNumGetSize -#define ippsBigNumInit y8_ippsBigNumInit -#define ippsCmpZero_BN y8_ippsCmpZero_BN -#define ippsCmp_BN y8_ippsCmp_BN -#define ippsGetSize_BN y8_ippsGetSize_BN -#define ippsSet_BN y8_ippsSet_BN -#define ippsGet_BN y8_ippsGet_BN -#define ippsRef_BN y8_ippsRef_BN -#define ippsExtGet_BN y8_ippsExtGet_BN -#define ippsAdd_BN y8_ippsAdd_BN -#define ippsSub_BN y8_ippsSub_BN -#define ippsMul_BN y8_ippsMul_BN -#define ippsMAC_BN_I y8_ippsMAC_BN_I -#define ippsDiv_BN y8_ippsDiv_BN -#define ippsMod_BN y8_ippsMod_BN -#define ippsGcd_BN y8_ippsGcd_BN -#define ippsModInv_BN y8_ippsModInv_BN -#define ippsSetOctString_BN y8_ippsSetOctString_BN -#define ippsGetOctString_BN y8_ippsGetOctString_BN -#define ippsMontGetSize y8_ippsMontGetSize -#define ippsMontInit y8_ippsMontInit -#define ippsMontSet y8_ippsMontSet -#define ippsMontGet y8_ippsMontGet -#define ippsMontForm y8_ippsMontForm -#define ippsMontMul y8_ippsMontMul -#define ippsMontExp y8_ippsMontExp -#define ippsPRNGGetSize y8_ippsPRNGGetSize -#define ippsPRNGInit y8_ippsPRNGInit -#define ippsPRNGSetModulus y8_ippsPRNGSetModulus -#define ippsPRNGSetH0 y8_ippsPRNGSetH0 -#define ippsPRNGSetAugment y8_ippsPRNGSetAugment -#define ippsPRNGSetSeed y8_ippsPRNGSetSeed -#define ippsPRNGGetSeed y8_ippsPRNGGetSeed -#define ippsPRNGen y8_ippsPRNGen -#define ippsPRNGen_BN y8_ippsPRNGen_BN -#define ippsPRNGenRDRAND y8_ippsPRNGenRDRAND -#define ippsPRNGenRDRAND_BN y8_ippsPRNGenRDRAND_BN -#define ippsTRNGenRDSEED y8_ippsTRNGenRDSEED -#define ippsTRNGenRDSEED_BN y8_ippsTRNGenRDSEED_BN -#define ippsPrimeGetSize y8_ippsPrimeGetSize -#define ippsPrimeInit y8_ippsPrimeInit -#define ippsPrimeGen y8_ippsPrimeGen -#define ippsPrimeTest y8_ippsPrimeTest -#define ippsPrimeGen_BN y8_ippsPrimeGen_BN -#define ippsPrimeTest_BN y8_ippsPrimeTest_BN -#define ippsPrimeGet y8_ippsPrimeGet -#define ippsPrimeGet_BN y8_ippsPrimeGet_BN -#define ippsPrimeSet y8_ippsPrimeSet -#define ippsPrimeSet_BN y8_ippsPrimeSet_BN -#define ippsRSA_GetSizePublicKey y8_ippsRSA_GetSizePublicKey -#define ippsRSA_InitPublicKey y8_ippsRSA_InitPublicKey -#define ippsRSA_SetPublicKey y8_ippsRSA_SetPublicKey -#define ippsRSA_GetPublicKey y8_ippsRSA_GetPublicKey -#define ippsRSA_GetSizePrivateKeyType1 y8_ippsRSA_GetSizePrivateKeyType1 -#define ippsRSA_InitPrivateKeyType1 y8_ippsRSA_InitPrivateKeyType1 -#define ippsRSA_SetPrivateKeyType1 y8_ippsRSA_SetPrivateKeyType1 -#define ippsRSA_GetPrivateKeyType1 y8_ippsRSA_GetPrivateKeyType1 -#define ippsRSA_GetSizePrivateKeyType2 y8_ippsRSA_GetSizePrivateKeyType2 -#define ippsRSA_InitPrivateKeyType2 y8_ippsRSA_InitPrivateKeyType2 -#define ippsRSA_SetPrivateKeyType2 y8_ippsRSA_SetPrivateKeyType2 -#define ippsRSA_GetPrivateKeyType2 y8_ippsRSA_GetPrivateKeyType2 -#define ippsRSA_GetBufferSizePublicKey y8_ippsRSA_GetBufferSizePublicKey -#define ippsRSA_GetBufferSizePrivateKey y8_ippsRSA_GetBufferSizePrivateKey -#define ippsRSA_Encrypt y8_ippsRSA_Encrypt -#define ippsRSA_Decrypt y8_ippsRSA_Decrypt -#define ippsRSA_GenerateKeys y8_ippsRSA_GenerateKeys -#define ippsRSA_ValidateKeys y8_ippsRSA_ValidateKeys -#define ippsRSAEncrypt_OAEP y8_ippsRSAEncrypt_OAEP -#define ippsRSADecrypt_OAEP y8_ippsRSADecrypt_OAEP -#define ippsRSAEncrypt_OAEP_rmf y8_ippsRSAEncrypt_OAEP_rmf -#define ippsRSADecrypt_OAEP_rmf y8_ippsRSADecrypt_OAEP_rmf -#define ippsRSAEncrypt_PKCSv15 y8_ippsRSAEncrypt_PKCSv15 -#define ippsRSADecrypt_PKCSv15 y8_ippsRSADecrypt_PKCSv15 -#define ippsRSASign_PSS y8_ippsRSASign_PSS -#define ippsRSAVerify_PSS y8_ippsRSAVerify_PSS -#define ippsRSASign_PSS_rmf y8_ippsRSASign_PSS_rmf -#define ippsRSAVerify_PSS_rmf y8_ippsRSAVerify_PSS_rmf -#define ippsRSASign_PKCS1v15 y8_ippsRSASign_PKCS1v15 -#define ippsRSAVerify_PKCS1v15 y8_ippsRSAVerify_PKCS1v15 -#define ippsRSASign_PKCS1v15_rmf y8_ippsRSASign_PKCS1v15_rmf -#define ippsRSAVerify_PKCS1v15_rmf y8_ippsRSAVerify_PKCS1v15_rmf -#define ippsDLGetResultString y8_ippsDLGetResultString -#define ippsDLPGetSize y8_ippsDLPGetSize -#define ippsDLPInit y8_ippsDLPInit -#define ippsDLPPack y8_ippsDLPPack -#define ippsDLPUnpack y8_ippsDLPUnpack -#define ippsDLPSet y8_ippsDLPSet -#define ippsDLPGet y8_ippsDLPGet -#define ippsDLPSetDP y8_ippsDLPSetDP -#define ippsDLPGetDP y8_ippsDLPGetDP -#define ippsDLPGenKeyPair y8_ippsDLPGenKeyPair -#define ippsDLPPublicKey y8_ippsDLPPublicKey -#define ippsDLPValidateKeyPair y8_ippsDLPValidateKeyPair -#define ippsDLPSetKeyPair y8_ippsDLPSetKeyPair -#define ippsDLPSignDSA y8_ippsDLPSignDSA -#define ippsDLPVerifyDSA y8_ippsDLPVerifyDSA -#define ippsDLPSharedSecretDH y8_ippsDLPSharedSecretDH -#define ippsDLPGenerateDSA y8_ippsDLPGenerateDSA -#define ippsDLPValidateDSA y8_ippsDLPValidateDSA -#define ippsDLPGenerateDH y8_ippsDLPGenerateDH -#define ippsDLPValidateDH y8_ippsDLPValidateDH -#define ippsECCGetResultString y8_ippsECCGetResultString -#define ippsECCPGetSize y8_ippsECCPGetSize -#define ippsECCPGetSizeStd128r1 y8_ippsECCPGetSizeStd128r1 -#define ippsECCPGetSizeStd128r2 y8_ippsECCPGetSizeStd128r2 -#define ippsECCPGetSizeStd192r1 y8_ippsECCPGetSizeStd192r1 -#define ippsECCPGetSizeStd224r1 y8_ippsECCPGetSizeStd224r1 -#define ippsECCPGetSizeStd256r1 y8_ippsECCPGetSizeStd256r1 -#define ippsECCPGetSizeStd384r1 y8_ippsECCPGetSizeStd384r1 -#define ippsECCPGetSizeStd521r1 y8_ippsECCPGetSizeStd521r1 -#define ippsECCPGetSizeStdSM2 y8_ippsECCPGetSizeStdSM2 -#define ippsECCPInit y8_ippsECCPInit -#define ippsECCPInitStd128r1 y8_ippsECCPInitStd128r1 -#define ippsECCPInitStd128r2 y8_ippsECCPInitStd128r2 -#define ippsECCPInitStd192r1 y8_ippsECCPInitStd192r1 -#define ippsECCPInitStd224r1 y8_ippsECCPInitStd224r1 -#define ippsECCPInitStd256r1 y8_ippsECCPInitStd256r1 -#define ippsECCPInitStd384r1 y8_ippsECCPInitStd384r1 -#define ippsECCPInitStd521r1 y8_ippsECCPInitStd521r1 -#define ippsECCPInitStdSM2 y8_ippsECCPInitStdSM2 -#define ippsECCPSet y8_ippsECCPSet -#define ippsECCPSetStd y8_ippsECCPSetStd -#define ippsECCPSetStd128r1 y8_ippsECCPSetStd128r1 -#define ippsECCPSetStd128r2 y8_ippsECCPSetStd128r2 -#define ippsECCPSetStd192r1 y8_ippsECCPSetStd192r1 -#define ippsECCPSetStd224r1 y8_ippsECCPSetStd224r1 -#define ippsECCPSetStd256r1 y8_ippsECCPSetStd256r1 -#define ippsECCPSetStd384r1 y8_ippsECCPSetStd384r1 -#define ippsECCPSetStd521r1 y8_ippsECCPSetStd521r1 -#define ippsECCPSetStdSM2 y8_ippsECCPSetStdSM2 -#define ippsECCPBindGxyTblStd192r1 y8_ippsECCPBindGxyTblStd192r1 -#define ippsECCPBindGxyTblStd224r1 y8_ippsECCPBindGxyTblStd224r1 -#define ippsECCPBindGxyTblStd256r1 y8_ippsECCPBindGxyTblStd256r1 -#define ippsECCPBindGxyTblStd384r1 y8_ippsECCPBindGxyTblStd384r1 -#define ippsECCPBindGxyTblStd521r1 y8_ippsECCPBindGxyTblStd521r1 -#define ippsECCPBindGxyTblStdSM2 y8_ippsECCPBindGxyTblStdSM2 -#define ippsECCPGet y8_ippsECCPGet -#define ippsECCPGetOrderBitSize y8_ippsECCPGetOrderBitSize -#define ippsECCPValidate y8_ippsECCPValidate -#define ippsECCPPointGetSize y8_ippsECCPPointGetSize -#define ippsECCPPointInit y8_ippsECCPPointInit -#define ippsECCPSetPoint y8_ippsECCPSetPoint -#define ippsECCPSetPointAtInfinity y8_ippsECCPSetPointAtInfinity -#define ippsECCPGetPoint y8_ippsECCPGetPoint -#define ippsECCPCheckPoint y8_ippsECCPCheckPoint -#define ippsECCPComparePoint y8_ippsECCPComparePoint -#define ippsECCPNegativePoint y8_ippsECCPNegativePoint -#define ippsECCPAddPoint y8_ippsECCPAddPoint -#define ippsECCPMulPointScalar y8_ippsECCPMulPointScalar -#define ippsECCPGenKeyPair y8_ippsECCPGenKeyPair -#define ippsECCPPublicKey y8_ippsECCPPublicKey -#define ippsECCPValidateKeyPair y8_ippsECCPValidateKeyPair -#define ippsECCPSetKeyPair y8_ippsECCPSetKeyPair -#define ippsECCPSharedSecretDH y8_ippsECCPSharedSecretDH -#define ippsECCPSharedSecretDHC y8_ippsECCPSharedSecretDHC -#define ippsECCPSignDSA y8_ippsECCPSignDSA -#define ippsECCPVerifyDSA y8_ippsECCPVerifyDSA -#define ippsECCPSignNR y8_ippsECCPSignNR -#define ippsECCPVerifyNR y8_ippsECCPVerifyNR -#define ippsECCPSignSM2 y8_ippsECCPSignSM2 -#define ippsECCPVerifySM2 y8_ippsECCPVerifySM2 -#define ippsGFpGetSize y8_ippsGFpGetSize -#define ippsGFpInitArbitrary y8_ippsGFpInitArbitrary -#define ippsGFpInitFixed y8_ippsGFpInitFixed -#define ippsGFpInit y8_ippsGFpInit -#define ippsGFpMethod_p192r1 y8_ippsGFpMethod_p192r1 -#define ippsGFpMethod_p224r1 y8_ippsGFpMethod_p224r1 -#define ippsGFpMethod_p256r1 y8_ippsGFpMethod_p256r1 -#define ippsGFpMethod_p384r1 y8_ippsGFpMethod_p384r1 -#define ippsGFpMethod_p521r1 y8_ippsGFpMethod_p521r1 -#define ippsGFpMethod_p256sm2 y8_ippsGFpMethod_p256sm2 -#define ippsGFpMethod_p256bn y8_ippsGFpMethod_p256bn -#define ippsGFpMethod_p256 y8_ippsGFpMethod_p256 -#define ippsGFpMethod_pArb y8_ippsGFpMethod_pArb -#define ippsGFpxGetSize y8_ippsGFpxGetSize -#define ippsGFpxInit y8_ippsGFpxInit -#define ippsGFpxInitBinomial y8_ippsGFpxInitBinomial -#define ippsGFpxMethod_binom2_epid2 y8_ippsGFpxMethod_binom2_epid2 -#define ippsGFpxMethod_binom3_epid2 y8_ippsGFpxMethod_binom3_epid2 -#define ippsGFpxMethod_binom2 y8_ippsGFpxMethod_binom2 -#define ippsGFpxMethod_binom3 y8_ippsGFpxMethod_binom3 -#define ippsGFpxMethod_binom y8_ippsGFpxMethod_binom -#define ippsGFpxMethod_com y8_ippsGFpxMethod_com -#define ippsGFpScratchBufferSize y8_ippsGFpScratchBufferSize -#define ippsGFpElementGetSize y8_ippsGFpElementGetSize -#define ippsGFpElementInit y8_ippsGFpElementInit -#define ippsGFpSetElement y8_ippsGFpSetElement -#define ippsGFpSetElementRegular y8_ippsGFpSetElementRegular -#define ippsGFpSetElementOctString y8_ippsGFpSetElementOctString -#define ippsGFpSetElementRandom y8_ippsGFpSetElementRandom -#define ippsGFpSetElementHash y8_ippsGFpSetElementHash -#define ippsGFpSetElementHash_rmf y8_ippsGFpSetElementHash_rmf -#define ippsGFpCpyElement y8_ippsGFpCpyElement -#define ippsGFpGetElement y8_ippsGFpGetElement -#define ippsGFpGetElementOctString y8_ippsGFpGetElementOctString -#define ippsGFpCmpElement y8_ippsGFpCmpElement -#define ippsGFpIsZeroElement y8_ippsGFpIsZeroElement -#define ippsGFpIsUnityElement y8_ippsGFpIsUnityElement -#define ippsGFpConj y8_ippsGFpConj -#define ippsGFpNeg y8_ippsGFpNeg -#define ippsGFpInv y8_ippsGFpInv -#define ippsGFpSqrt y8_ippsGFpSqrt -#define ippsGFpSqr y8_ippsGFpSqr -#define ippsGFpAdd y8_ippsGFpAdd -#define ippsGFpSub y8_ippsGFpSub -#define ippsGFpMul y8_ippsGFpMul -#define ippsGFpExp y8_ippsGFpExp -#define ippsGFpMultiExp y8_ippsGFpMultiExp -#define ippsGFpAdd_PE y8_ippsGFpAdd_PE -#define ippsGFpSub_PE y8_ippsGFpSub_PE -#define ippsGFpMul_PE y8_ippsGFpMul_PE -#define ippsGFpGetInfo y8_ippsGFpGetInfo -#define ippsGFpECGetSize y8_ippsGFpECGetSize -#define ippsGFpECInit y8_ippsGFpECInit -#define ippsGFpECSet y8_ippsGFpECSet -#define ippsGFpECSetSubgroup y8_ippsGFpECSetSubgroup -#define ippsGFpECInitStd128r1 y8_ippsGFpECInitStd128r1 -#define ippsGFpECInitStd128r2 y8_ippsGFpECInitStd128r2 -#define ippsGFpECInitStd192r1 y8_ippsGFpECInitStd192r1 -#define ippsGFpECInitStd224r1 y8_ippsGFpECInitStd224r1 -#define ippsGFpECInitStd256r1 y8_ippsGFpECInitStd256r1 -#define ippsGFpECInitStd384r1 y8_ippsGFpECInitStd384r1 -#define ippsGFpECInitStd521r1 y8_ippsGFpECInitStd521r1 -#define ippsGFpECInitStdSM2 y8_ippsGFpECInitStdSM2 -#define ippsGFpECInitStdBN256 y8_ippsGFpECInitStdBN256 -#define ippsGFpECBindGxyTblStd192r1 y8_ippsGFpECBindGxyTblStd192r1 -#define ippsGFpECBindGxyTblStd224r1 y8_ippsGFpECBindGxyTblStd224r1 -#define ippsGFpECBindGxyTblStd256r1 y8_ippsGFpECBindGxyTblStd256r1 -#define ippsGFpECBindGxyTblStd384r1 y8_ippsGFpECBindGxyTblStd384r1 -#define ippsGFpECBindGxyTblStd521r1 y8_ippsGFpECBindGxyTblStd521r1 -#define ippsGFpECBindGxyTblStdSM2 y8_ippsGFpECBindGxyTblStdSM2 -#define ippsGFpECGet y8_ippsGFpECGet -#define ippsGFpECGetSubgroup y8_ippsGFpECGetSubgroup -#define ippsGFpECScratchBufferSize y8_ippsGFpECScratchBufferSize -#define ippsGFpECVerify y8_ippsGFpECVerify -#define ippsGFpECPointGetSize y8_ippsGFpECPointGetSize -#define ippsGFpECPointInit y8_ippsGFpECPointInit -#define ippsGFpECSetPointAtInfinity y8_ippsGFpECSetPointAtInfinity -#define ippsGFpECSetPoint y8_ippsGFpECSetPoint -#define ippsGFpECSetPointRegular y8_ippsGFpECSetPointRegular -#define ippsGFpECSetPointRandom y8_ippsGFpECSetPointRandom -#define ippsGFpECMakePoint y8_ippsGFpECMakePoint -#define ippsGFpECSetPointHash y8_ippsGFpECSetPointHash -#define ippsGFpECSetPointHashBackCompatible y8_ippsGFpECSetPointHashBackCompatible -#define ippsGFpECSetPointHash_rmf y8_ippsGFpECSetPointHash_rmf -#define ippsGFpECSetPointHashBackCompatible_rmf y8_ippsGFpECSetPointHashBackCompatible_rmf -#define ippsGFpECGetPoint y8_ippsGFpECGetPoint -#define ippsGFpECGetPointRegular y8_ippsGFpECGetPointRegular -#define ippsGFpECSetPointOctString y8_ippsGFpECSetPointOctString -#define ippsGFpECGetPointOctString y8_ippsGFpECGetPointOctString -#define ippsGFpECTstPoint y8_ippsGFpECTstPoint -#define ippsGFpECTstPointInSubgroup y8_ippsGFpECTstPointInSubgroup -#define ippsGFpECCpyPoint y8_ippsGFpECCpyPoint -#define ippsGFpECCmpPoint y8_ippsGFpECCmpPoint -#define ippsGFpECNegPoint y8_ippsGFpECNegPoint -#define ippsGFpECAddPoint y8_ippsGFpECAddPoint -#define ippsGFpECMulPoint y8_ippsGFpECMulPoint -#define ippsGFpECPrivateKey y8_ippsGFpECPrivateKey -#define ippsGFpECPublicKey y8_ippsGFpECPublicKey -#define ippsGFpECTstKeyPair y8_ippsGFpECTstKeyPair -#define ippsGFpECSharedSecretDH y8_ippsGFpECSharedSecretDH -#define ippsGFpECSharedSecretDHC y8_ippsGFpECSharedSecretDHC -#define ippsGFpECMessageRepresentationSM2 y8_ippsGFpECMessageRepresentationSM2 -#define ippsGFpECSignDSA y8_ippsGFpECSignDSA -#define ippsGFpECVerifyDSA y8_ippsGFpECVerifyDSA -#define ippsGFpECSignNR y8_ippsGFpECSignNR -#define ippsGFpECVerifyNR y8_ippsGFpECVerifyNR -#define ippsGFpECSignSM2 y8_ippsGFpECSignSM2 -#define ippsGFpECVerifySM2 y8_ippsGFpECVerifySM2 -#define ippsGFpECUserIDHashSM2 y8_ippsGFpECUserIDHashSM2 -#define ippsGFpECKeyExchangeSM2_GetSize y8_ippsGFpECKeyExchangeSM2_GetSize -#define ippsGFpECKeyExchangeSM2_Init y8_ippsGFpECKeyExchangeSM2_Init -#define ippsGFpECKeyExchangeSM2_Setup y8_ippsGFpECKeyExchangeSM2_Setup -#define ippsGFpECKeyExchangeSM2_SharedKey y8_ippsGFpECKeyExchangeSM2_SharedKey -#define ippsGFpECKeyExchangeSM2_Confirm y8_ippsGFpECKeyExchangeSM2_Confirm -#define ippsGFpECGetInfo_GF y8_ippsGFpECGetInfo_GF -#define ippsGFpECESGetSize_SM2 y8_ippsGFpECESGetSize_SM2 -#define ippsGFpECESInit_SM2 y8_ippsGFpECESInit_SM2 -#define ippsGFpECESSetKey_SM2 y8_ippsGFpECESSetKey_SM2 -#define ippsGFpECESStart_SM2 y8_ippsGFpECESStart_SM2 -#define ippsGFpECESEncrypt_SM2 y8_ippsGFpECESEncrypt_SM2 -#define ippsGFpECESDecrypt_SM2 y8_ippsGFpECESDecrypt_SM2 -#define ippsGFpECESFinal_SM2 y8_ippsGFpECESFinal_SM2 -#define ippsGFpECESGetBuffersSize_SM2 y8_ippsGFpECESGetBuffersSize_SM2 -#define ippsGFpECEncryptSM2_Ext_EncMsgSize y8_ippsGFpECEncryptSM2_Ext_EncMsgSize -#define ippsGFpECEncryptSM2_Ext y8_ippsGFpECEncryptSM2_Ext -#define ippsGFpECDecryptSM2_Ext_DecMsgSize y8_ippsGFpECDecryptSM2_Ext_DecMsgSize -#define ippsGFpECDecryptSM2_Ext y8_ippsGFpECDecryptSM2_Ext diff --git a/librocksdb-sys/rocksdb/plugin/ippcp/library/linux/lib/libippcp.a b/librocksdb-sys/rocksdb/plugin/ippcp/library/linux/lib/libippcp.a deleted file mode 100644 index c78b5eb70b3533dab86abb40789bd9b7195d3f10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24798674 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%0A>kj*~te%b5 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

xi!y}wakAk;o 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%0A$4nNUH|wDluS&a66L^9=3K3{}e>R+OZ- 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%0ADT5$0S?T)yf(% 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°^-j&U&t-R5@Bf*B3p`H@l+s%8m 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

d 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

s8NuHO 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