@annadata/capacitor-mqtt-quic 0.1.6 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AnnadataCapacitorMqttQuic.podspec +2 -1
- package/README.md +121 -12
- package/android/NGTCP2_BUILD_INSTRUCTIONS.md +65 -44
- package/android/build-openssl.sh +1 -1
- package/android/install/nghttp3-android/arm64-v8a/include/nghttp3/nghttp3.h +3295 -0
- package/android/install/nghttp3-android/arm64-v8a/include/nghttp3/version.h +46 -0
- package/android/install/nghttp3-android/arm64-v8a/lib/cmake/nghttp3/nghttp3Config.cmake +3 -0
- package/android/install/nghttp3-android/arm64-v8a/lib/cmake/nghttp3/nghttp3ConfigVersion.cmake +65 -0
- package/android/install/nghttp3-android/arm64-v8a/lib/cmake/nghttp3/nghttp3Targets-release.cmake +29 -0
- package/android/install/nghttp3-android/arm64-v8a/lib/cmake/nghttp3/nghttp3Targets.cmake +114 -0
- package/android/install/nghttp3-android/arm64-v8a/lib/libnghttp3.a +0 -0
- package/android/install/nghttp3-android/arm64-v8a/lib/libnghttp3.so +0 -0
- package/android/install/nghttp3-android/arm64-v8a/lib/pkgconfig/libnghttp3.pc +34 -0
- package/android/install/nghttp3-android/arm64-v8a/share/doc/nghttp3/README.rst +75 -0
- package/android/install/nghttp3-android/armeabi-v7a/include/nghttp3/nghttp3.h +3295 -0
- package/android/install/nghttp3-android/armeabi-v7a/include/nghttp3/version.h +46 -0
- package/android/install/nghttp3-android/armeabi-v7a/lib/cmake/nghttp3/nghttp3Config.cmake +3 -0
- package/android/install/nghttp3-android/armeabi-v7a/lib/cmake/nghttp3/nghttp3ConfigVersion.cmake +65 -0
- package/android/install/nghttp3-android/armeabi-v7a/lib/cmake/nghttp3/nghttp3Targets-release.cmake +29 -0
- package/android/install/nghttp3-android/armeabi-v7a/lib/cmake/nghttp3/nghttp3Targets.cmake +114 -0
- package/android/install/nghttp3-android/armeabi-v7a/lib/libnghttp3.a +0 -0
- package/android/install/nghttp3-android/armeabi-v7a/lib/libnghttp3.so +0 -0
- package/android/install/nghttp3-android/armeabi-v7a/lib/pkgconfig/libnghttp3.pc +34 -0
- package/android/install/nghttp3-android/armeabi-v7a/share/doc/nghttp3/README.rst +75 -0
- package/android/install/nghttp3-android/x86_64/include/nghttp3/nghttp3.h +3295 -0
- package/android/install/nghttp3-android/x86_64/include/nghttp3/version.h +46 -0
- package/android/install/nghttp3-android/x86_64/lib/cmake/nghttp3/nghttp3Config.cmake +3 -0
- package/android/install/nghttp3-android/x86_64/lib/cmake/nghttp3/nghttp3ConfigVersion.cmake +65 -0
- package/android/install/nghttp3-android/x86_64/lib/cmake/nghttp3/nghttp3Targets-release.cmake +29 -0
- package/android/install/nghttp3-android/x86_64/lib/cmake/nghttp3/nghttp3Targets.cmake +114 -0
- package/android/install/nghttp3-android/x86_64/lib/libnghttp3.a +0 -0
- package/android/install/nghttp3-android/x86_64/lib/libnghttp3.so +0 -0
- package/android/install/nghttp3-android/x86_64/lib/pkgconfig/libnghttp3.pc +34 -0
- package/android/install/nghttp3-android/x86_64/share/doc/nghttp3/README.rst +75 -0
- package/android/install/ngtcp2-android/arm64-v8a/include/ngtcp2/ngtcp2.h +6254 -0
- package/android/install/ngtcp2-android/arm64-v8a/include/ngtcp2/ngtcp2_crypto.h +1037 -0
- package/android/install/ngtcp2-android/arm64-v8a/include/ngtcp2/ngtcp2_crypto_wolfssl.h +106 -0
- package/android/install/ngtcp2-android/arm64-v8a/include/ngtcp2/version.h +51 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/cmake/ngtcp2/ngtcp2Config.cmake +6 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/cmake/ngtcp2/ngtcp2ConfigVersion.cmake +65 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/cmake/ngtcp2/ngtcp2Targets-release.cmake +29 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/cmake/ngtcp2/ngtcp2Targets.cmake +114 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/libngtcp2.a +0 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/libngtcp2.so +0 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/libngtcp2_crypto_wolfssl.a +0 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/libngtcp2_crypto_wolfssl.so +0 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/pkgconfig/libngtcp2.pc +33 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/pkgconfig/libngtcp2_crypto_wolfssl.pc +34 -0
- package/android/install/ngtcp2-android/arm64-v8a/share/doc/ngtcp2/README.rst +385 -0
- package/android/install/ngtcp2-android/armeabi-v7a/include/ngtcp2/ngtcp2.h +6254 -0
- package/android/install/ngtcp2-android/armeabi-v7a/include/ngtcp2/ngtcp2_crypto.h +1037 -0
- package/android/install/ngtcp2-android/armeabi-v7a/include/ngtcp2/ngtcp2_crypto_wolfssl.h +106 -0
- package/android/install/ngtcp2-android/armeabi-v7a/include/ngtcp2/version.h +51 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/cmake/ngtcp2/ngtcp2Config.cmake +6 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/cmake/ngtcp2/ngtcp2ConfigVersion.cmake +65 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/cmake/ngtcp2/ngtcp2Targets-release.cmake +29 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/cmake/ngtcp2/ngtcp2Targets.cmake +114 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/libngtcp2.a +0 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/libngtcp2.so +0 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/libngtcp2_crypto_wolfssl.a +0 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/libngtcp2_crypto_wolfssl.so +0 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/pkgconfig/libngtcp2.pc +33 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/pkgconfig/libngtcp2_crypto_wolfssl.pc +34 -0
- package/android/install/ngtcp2-android/armeabi-v7a/share/doc/ngtcp2/README.rst +385 -0
- package/android/install/ngtcp2-android/x86_64/include/ngtcp2/ngtcp2.h +6254 -0
- package/android/install/ngtcp2-android/x86_64/include/ngtcp2/ngtcp2_crypto.h +1037 -0
- package/android/install/ngtcp2-android/x86_64/include/ngtcp2/ngtcp2_crypto_wolfssl.h +106 -0
- package/android/install/ngtcp2-android/x86_64/include/ngtcp2/version.h +51 -0
- package/android/install/ngtcp2-android/x86_64/lib/cmake/ngtcp2/ngtcp2Config.cmake +6 -0
- package/android/install/ngtcp2-android/x86_64/lib/cmake/ngtcp2/ngtcp2ConfigVersion.cmake +65 -0
- package/android/install/ngtcp2-android/x86_64/lib/cmake/ngtcp2/ngtcp2Targets-release.cmake +29 -0
- package/android/install/ngtcp2-android/x86_64/lib/cmake/ngtcp2/ngtcp2Targets.cmake +114 -0
- package/android/install/ngtcp2-android/x86_64/lib/libngtcp2.a +0 -0
- package/android/install/ngtcp2-android/x86_64/lib/libngtcp2.so +0 -0
- package/android/install/ngtcp2-android/x86_64/lib/libngtcp2_crypto_wolfssl.a +0 -0
- package/android/install/ngtcp2-android/x86_64/lib/libngtcp2_crypto_wolfssl.so +0 -0
- package/android/install/ngtcp2-android/x86_64/lib/pkgconfig/libngtcp2.pc +33 -0
- package/android/install/ngtcp2-android/x86_64/lib/pkgconfig/libngtcp2_crypto_wolfssl.pc +34 -0
- package/android/install/ngtcp2-android/x86_64/share/doc/ngtcp2/README.rst +385 -0
- package/android/install/wolfssl-android/arm64-v8a/bin/wolfssl-config +117 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/callbacks.h +93 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/certs_test.h +7073 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/certs_test_sm.h +2913 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/crl.h +58 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/error-ssl.h +280 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/ocsp.h +191 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/aes.h +117 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/asn1.h +315 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/asn1t.h +30 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/bio.h +237 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/bn.h +332 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/buffer.h +57 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/camellia.h +27 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/cmac.h +66 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/cms.h +26 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/compat_types.h +70 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/conf.h +117 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/crypto.h +171 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/des.h +124 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/dh.h +144 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/dsa.h +164 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ec.h +525 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ec25519.h +46 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ec448.h +46 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ecdh.h +49 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ecdsa.h +87 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ed25519.h +49 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ed448.h +49 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/engine.h +9 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/err.h +84 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/evp.h +1540 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/fips_rand.h +125 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/hmac.h +98 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/kdf.h +45 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/lhash.h +64 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/md4.h +66 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/md5.h +108 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/modes.h +45 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/obj_mac.h +92 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/objects.h +86 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ocsp.h +108 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/opensslconf.h +8 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/opensslv.h +78 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ossl_typ.h +32 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/pem.h +301 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/pkcs12.h +57 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/pkcs7.h +110 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/rand.h +38 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/rc4.h +64 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ripemd.h +58 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/rsa.h +291 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/safestack.h +40 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/sha.h +331 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/sha3.h +158 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/srp.h +33 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ssl.h +1923 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ssl23.h +1 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/stack.h +61 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/tls1.h +64 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/txt_db.h +60 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ui.h +2 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/x509.h +227 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/x509_vfy.h +50 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/x509v3.h +237 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/options.h +273 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/quic.h +310 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/sniffer.h +359 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/sniffer_error.h +151 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/ssl.h +6300 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/test.h +4989 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/version.h +40 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/aes.h +1074 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/arc4.h +69 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ascon.h +109 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/asn.h +2855 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/asn_public.h +1009 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/blake2-impl.h +155 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/blake2-int.h +174 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/blake2.h +108 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/camellia.h +116 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/chacha.h +133 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/chacha20_poly1305.h +157 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/cmac.h +168 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/coding.h +107 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/compress.h +60 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/cpuid.h +153 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/cryptocb.h +770 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/curve25519.h +225 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/curve448.h +151 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/des3.h +167 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/dh.h +210 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/dilithium.h +1051 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/dsa.h +121 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ecc.h +1074 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/eccsi.h +176 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ed25519.h +239 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ed448.h +214 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/error-crypt.h +368 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ext_lms.h +62 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ext_mlkem.h +74 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ext_xmss.h +53 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/falcon.h +180 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/fe_448.h +122 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/fe_operations.h +189 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/fips_test.h +131 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ge_448.h +84 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ge_operations.h +134 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/hash.h +296 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/hmac.h +231 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/hpke.h +145 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/integer.h +449 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/kdf.h +199 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/lms.h +202 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/logging.h +588 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/md2.h +83 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/md4.h +77 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/md5.h +141 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/mem_track.h +968 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/memory.h +545 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/misc.h +214 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/mlkem.h +377 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/mpi_class.h +1021 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/mpi_superclass.h +96 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/oid_sum.h +1907 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/pkcs12.h +79 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/pkcs7.h +578 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/poly1305.h +207 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/pwdbased.h +81 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/random.h +300 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/rc2.h +68 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ripemd.h +67 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/rsa.h +494 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sakke.h +228 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/settings.h +4762 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sha.h +237 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sha256.h +360 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sha3.h +274 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sha512.h +372 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/signature.h +87 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/siphash.h +101 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sm2.h +27 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sm3.h +27 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sm4.h +27 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sp_int.h +1396 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sphincs.h +167 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/srp.h +313 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/tfm.h +941 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/types.h +2383 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/visibility.h +97 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_encrypt.h +126 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_lms.h +506 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_mlkem.h +370 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_port.h +1764 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_xmss.h +285 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wolfevent.h +120 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wolfmath.h +175 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/xmss.h +203 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfio.h +1035 -0
- package/android/install/wolfssl-android/arm64-v8a/lib/libwolfssl.a +0 -0
- package/android/install/wolfssl-android/arm64-v8a/lib/libwolfssl.la +41 -0
- package/android/install/wolfssl-android/arm64-v8a/lib/pkgconfig/wolfssl.pc +11 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/QUIC.md +117 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/README.txt +8 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/async_client.c +245 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/async_server.c +331 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/client.c +4885 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/echoclient.c +341 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/echoserver.c +498 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/sctp-client-dtls.c +135 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/sctp-client.c +78 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/sctp-server-dtls.c +134 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/sctp-server.c +83 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/server.c +4124 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/tls_bench.c +2357 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/taoCert.txt +176 -0
- package/android/install/wolfssl-android/armeabi-v7a/bin/wolfssl-config +117 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/callbacks.h +93 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/certs_test.h +7073 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/certs_test_sm.h +2913 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/crl.h +58 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/error-ssl.h +280 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/ocsp.h +191 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/aes.h +117 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/asn1.h +315 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/asn1t.h +30 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/bio.h +237 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/bn.h +332 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/buffer.h +57 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/camellia.h +27 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/cmac.h +66 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/cms.h +26 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/compat_types.h +70 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/conf.h +117 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/crypto.h +171 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/des.h +124 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/dh.h +144 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/dsa.h +164 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ec.h +525 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ec25519.h +46 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ec448.h +46 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ecdh.h +49 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ecdsa.h +87 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ed25519.h +49 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ed448.h +49 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/engine.h +9 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/err.h +84 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/evp.h +1540 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/fips_rand.h +125 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/hmac.h +98 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/kdf.h +45 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/lhash.h +64 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/md4.h +66 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/md5.h +108 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/modes.h +45 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/obj_mac.h +92 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/objects.h +86 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ocsp.h +108 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/opensslconf.h +8 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/opensslv.h +78 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ossl_typ.h +32 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/pem.h +301 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/pkcs12.h +57 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/pkcs7.h +110 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/rand.h +38 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/rc4.h +64 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ripemd.h +58 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/rsa.h +291 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/safestack.h +40 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/sha.h +331 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/sha3.h +158 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/srp.h +33 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ssl.h +1923 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ssl23.h +1 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/stack.h +61 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/tls1.h +64 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/txt_db.h +60 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ui.h +2 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/x509.h +227 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/x509_vfy.h +50 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/x509v3.h +237 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/options.h +261 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/quic.h +310 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/sniffer.h +359 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/sniffer_error.h +151 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/ssl.h +6300 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/test.h +4989 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/version.h +40 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/aes.h +1074 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/arc4.h +69 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ascon.h +109 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/asn.h +2855 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/asn_public.h +1009 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/blake2-impl.h +155 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/blake2-int.h +174 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/blake2.h +108 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/camellia.h +116 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/chacha.h +133 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/chacha20_poly1305.h +157 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/cmac.h +168 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/coding.h +107 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/compress.h +60 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/cpuid.h +153 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/cryptocb.h +770 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/curve25519.h +225 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/curve448.h +151 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/des3.h +167 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/dh.h +210 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/dilithium.h +1051 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/dsa.h +121 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ecc.h +1074 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/eccsi.h +176 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ed25519.h +239 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ed448.h +214 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/error-crypt.h +368 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ext_lms.h +62 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ext_mlkem.h +74 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ext_xmss.h +53 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/falcon.h +180 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/fe_448.h +122 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/fe_operations.h +189 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/fips_test.h +131 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ge_448.h +84 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ge_operations.h +134 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/hash.h +296 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/hmac.h +231 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/hpke.h +145 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/integer.h +449 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/kdf.h +199 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/lms.h +202 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/logging.h +588 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/md2.h +83 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/md4.h +77 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/md5.h +141 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/mem_track.h +968 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/memory.h +545 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/misc.h +214 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/mlkem.h +377 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/mpi_class.h +1021 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/mpi_superclass.h +96 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/oid_sum.h +1907 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/pkcs12.h +79 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/pkcs7.h +578 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/poly1305.h +207 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/pwdbased.h +81 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/random.h +300 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/rc2.h +68 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ripemd.h +67 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/rsa.h +494 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sakke.h +228 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/settings.h +4762 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sha.h +237 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sha256.h +360 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sha3.h +274 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sha512.h +372 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/signature.h +87 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/siphash.h +101 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sm2.h +27 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sm3.h +27 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sm4.h +27 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sp_int.h +1396 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sphincs.h +167 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/srp.h +313 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/tfm.h +941 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/types.h +2383 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/visibility.h +97 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_encrypt.h +126 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_lms.h +506 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_mlkem.h +370 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_port.h +1764 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_xmss.h +285 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wolfevent.h +120 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wolfmath.h +175 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/xmss.h +203 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfio.h +1035 -0
- package/android/install/wolfssl-android/armeabi-v7a/lib/libwolfssl.a +0 -0
- package/android/install/wolfssl-android/armeabi-v7a/lib/libwolfssl.la +41 -0
- package/android/install/wolfssl-android/armeabi-v7a/lib/pkgconfig/wolfssl.pc +11 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/QUIC.md +117 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/README.txt +8 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/async_client.c +245 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/async_server.c +331 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/client.c +4885 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/echoclient.c +341 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/echoserver.c +498 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/sctp-client-dtls.c +135 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/sctp-client.c +78 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/sctp-server-dtls.c +134 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/sctp-server.c +83 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/server.c +4124 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/tls_bench.c +2357 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/taoCert.txt +176 -0
- package/android/install/wolfssl-android/x86_64/bin/wolfssl-config +117 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/callbacks.h +93 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/certs_test.h +7073 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/certs_test_sm.h +2913 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/crl.h +58 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/error-ssl.h +280 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/ocsp.h +191 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/aes.h +117 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/asn1.h +315 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/asn1t.h +30 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/bio.h +237 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/bn.h +332 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/buffer.h +57 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/camellia.h +27 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/cmac.h +66 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/cms.h +26 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/compat_types.h +70 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/conf.h +117 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/crypto.h +171 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/des.h +124 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/dh.h +144 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/dsa.h +164 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ec.h +525 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ec25519.h +46 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ec448.h +46 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ecdh.h +49 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ecdsa.h +87 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ed25519.h +49 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ed448.h +49 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/engine.h +9 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/err.h +84 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/evp.h +1540 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/fips_rand.h +125 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/hmac.h +98 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/kdf.h +45 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/lhash.h +64 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/md4.h +66 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/md5.h +108 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/modes.h +45 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/obj_mac.h +92 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/objects.h +86 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ocsp.h +108 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/opensslconf.h +8 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/opensslv.h +78 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ossl_typ.h +32 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/pem.h +301 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/pkcs12.h +57 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/pkcs7.h +110 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/rand.h +38 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/rc4.h +64 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ripemd.h +58 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/rsa.h +291 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/safestack.h +40 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/sha.h +331 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/sha3.h +158 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/srp.h +33 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ssl.h +1923 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ssl23.h +1 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/stack.h +61 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/tls1.h +64 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/txt_db.h +60 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ui.h +2 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/x509.h +227 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/x509_vfy.h +50 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/x509v3.h +237 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/options.h +273 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/quic.h +310 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/sniffer.h +359 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/sniffer_error.h +151 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/ssl.h +6300 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/test.h +4989 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/version.h +40 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/aes.h +1074 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/arc4.h +69 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ascon.h +109 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/asn.h +2855 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/asn_public.h +1009 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/blake2-impl.h +155 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/blake2-int.h +174 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/blake2.h +108 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/camellia.h +116 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/chacha.h +133 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/chacha20_poly1305.h +157 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/cmac.h +168 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/coding.h +107 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/compress.h +60 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/cpuid.h +153 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/cryptocb.h +770 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/curve25519.h +225 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/curve448.h +151 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/des3.h +167 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/dh.h +210 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/dilithium.h +1051 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/dsa.h +121 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ecc.h +1074 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/eccsi.h +176 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ed25519.h +239 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ed448.h +214 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/error-crypt.h +368 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ext_lms.h +62 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ext_mlkem.h +74 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ext_xmss.h +53 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/falcon.h +180 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/fe_448.h +122 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/fe_operations.h +189 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/fips_test.h +131 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ge_448.h +84 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ge_operations.h +134 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/hash.h +296 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/hmac.h +231 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/hpke.h +145 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/integer.h +449 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/kdf.h +199 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/lms.h +202 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/logging.h +588 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/md2.h +83 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/md4.h +77 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/md5.h +141 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/mem_track.h +968 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/memory.h +545 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/misc.h +214 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/mlkem.h +377 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/mpi_class.h +1021 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/mpi_superclass.h +96 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/oid_sum.h +1907 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/pkcs12.h +79 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/pkcs7.h +578 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/poly1305.h +207 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/pwdbased.h +81 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/random.h +300 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/rc2.h +68 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ripemd.h +67 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/rsa.h +494 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sakke.h +228 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/settings.h +4762 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sha.h +237 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sha256.h +360 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sha3.h +274 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sha512.h +372 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/signature.h +87 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/siphash.h +101 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sm2.h +27 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sm3.h +27 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sm4.h +27 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sp_int.h +1396 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sphincs.h +167 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/srp.h +313 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/tfm.h +941 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/types.h +2383 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/visibility.h +97 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_encrypt.h +126 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_lms.h +506 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_mlkem.h +370 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_port.h +1764 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_xmss.h +285 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wolfevent.h +120 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wolfmath.h +175 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/xmss.h +203 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfio.h +1035 -0
- package/android/install/wolfssl-android/x86_64/lib/libwolfssl.a +0 -0
- package/android/install/wolfssl-android/x86_64/lib/libwolfssl.la +41 -0
- package/android/install/wolfssl-android/x86_64/lib/pkgconfig/wolfssl.pc +11 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/QUIC.md +117 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/README.txt +8 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/async_client.c +245 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/async_server.c +331 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/client.c +4885 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/echoclient.c +341 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/echoserver.c +498 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/sctp-client-dtls.c +135 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/sctp-client.c +78 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/sctp-server-dtls.c +134 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/sctp-server.c +83 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/server.c +4124 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/tls_bench.c +2357 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/taoCert.txt +176 -0
- package/android/src/main/cpp/CMakeLists.txt +19 -27
- package/android/src/main/cpp/ngtcp2_jni.cpp +30 -36
- package/android/src/main/kotlin/ai/annadata/mqttquic/MqttQuicPlugin.kt +15 -0
- package/android/src/main/kotlin/ai/annadata/mqttquic/client/MQTTClient.kt +6 -2
- package/build-native.sh +397 -0
- package/deps-versions.sh +25 -0
- package/dist/esm/definitions.d.ts +20 -0
- package/dist/esm/definitions.d.ts.map +1 -1
- package/dist/esm/web.d.ts +26 -3
- package/dist/esm/web.d.ts.map +1 -1
- package/dist/esm/web.js +230 -10
- package/dist/esm/web.js.map +1 -1
- package/dist/plugin.cjs.js +11363 -13
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +11364 -14
- package/dist/plugin.js.map +1 -1
- package/docs/ARCHITECTURAL_ANALYSIS.md +710 -0
- package/docs/CAPACITOR_MQTT_QUIC_PRODUCTION_PLUGIN.md +190 -0
- package/docs/CAPACITOR_VERSION_SUPPORT.md +65 -0
- package/docs/IMPLEMENTATION_SUMMARY.md +246 -0
- package/docs/MQTT5_CLIENT_COMPLIANCE.md +48 -0
- package/docs/MQTT5_IMPLEMENTATION_COMPLETE.md +178 -0
- package/docs/MQTT_VERSION_ANALYSIS.md +233 -0
- package/docs/NGTCP2_IMPLEMENTATION_STATUS.md +214 -0
- package/docs/NGTCP2_INTEGRATION_PLAN.md +597 -0
- package/docs/P0_P1_CHANGELOG.md +79 -0
- package/docs/PRODUCTION_PUBLISH_STEPS.md +161 -0
- package/docs/PROJECT_OVERVIEW.md +193 -0
- package/ios/.swiftpm/xcode/xcuserdata/annadata.xcuserdatad/xcschemes/xcschememanagement.plist +1 -1
- package/ios/NGTCP2_BUILD_INSTRUCTIONS.md +12 -0
- package/ios/Sources/MqttQuicPlugin/MqttQuicPlugin.swift +6 -0
- package/ios/Sources/MqttQuicPlugin/QUIC/NGTCP2Bridge.mm +6 -0
- package/ios/build-openssl.sh +1 -1
- package/ios/libs/MqttQuicLibs.xcframework/Info.plist +44 -0
- package/ios/libs/MqttQuicLibs.xcframework/ios-arm64/libmqttquic_native_device.a +0 -0
- package/ios/libs/MqttQuicLibs.xcframework/ios-arm64_x86_64-simulator/libmqttquic_native_simulator.a +0 -0
- package/ios/libs/libnghttp3.a +0 -0
- package/ios/libs/libngtcp2.a +0 -0
- package/ios/libs/libngtcp2_crypto_wolfssl.a +0 -0
- package/ios/libs/libwolfssl.a +0 -0
- package/ios/libs-simulator/libnghttp3.a +0 -0
- package/ios/libs-simulator/libngtcp2.a +0 -0
- package/ios/libs-simulator/libngtcp2_crypto_wolfssl.a +0 -0
- package/ios/libs-simulator/libwolfssl.a +0 -0
- package/ios/libs-simulator-x86_64/libnghttp3.a +0 -0
- package/ios/libs-simulator-x86_64/libngtcp2.a +0 -0
- package/ios/libs-simulator-x86_64/libngtcp2_crypto_wolfssl.a +0 -0
- package/ios/libs-simulator-x86_64/libwolfssl.a +0 -0
- package/package.json +22 -9
|
@@ -0,0 +1,941 @@
|
|
|
1
|
+
/* tfm.h
|
|
2
|
+
*
|
|
3
|
+
* Copyright (C) 2006-2025 wolfSSL Inc.
|
|
4
|
+
*
|
|
5
|
+
* This file is part of wolfSSL.
|
|
6
|
+
*
|
|
7
|
+
* wolfSSL is free software; you can redistribute it and/or modify
|
|
8
|
+
* it under the terms of the GNU General Public License as published by
|
|
9
|
+
* the Free Software Foundation; either version 3 of the License, or
|
|
10
|
+
* (at your option) any later version.
|
|
11
|
+
*
|
|
12
|
+
* wolfSSL is distributed in the hope that it will be useful,
|
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15
|
+
* GNU General Public License for more details.
|
|
16
|
+
*
|
|
17
|
+
* You should have received a copy of the GNU General Public License
|
|
18
|
+
* along with this program; if not, write to the Free Software
|
|
19
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
/*
|
|
25
|
+
* Based on public domain TomsFastMath 0.10 by Tom St Denis, tomstdenis@iahu.ca,
|
|
26
|
+
* http://math.libtomcrypt.com
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Edited by Moises Guimaraes (moises.guimaraes@phoebus.com.br)
|
|
32
|
+
* to fit CyaSSL's needs.
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
/*!
|
|
36
|
+
\file wolfssl/wolfcrypt/tfm.h
|
|
37
|
+
*/
|
|
38
|
+
|
|
39
|
+
#ifndef WOLF_CRYPT_TFM_H
|
|
40
|
+
#define WOLF_CRYPT_TFM_H
|
|
41
|
+
|
|
42
|
+
#include <wolfssl/wolfcrypt/types.h>
|
|
43
|
+
#include <wolfssl/wolfcrypt/error-crypt.h>
|
|
44
|
+
#ifndef CHAR_BIT
|
|
45
|
+
#include <limits.h>
|
|
46
|
+
#endif
|
|
47
|
+
|
|
48
|
+
#include <wolfssl/wolfcrypt/random.h>
|
|
49
|
+
|
|
50
|
+
#ifdef __cplusplus
|
|
51
|
+
extern "C" {
|
|
52
|
+
#endif
|
|
53
|
+
|
|
54
|
+
#ifdef WOLFSSL_NO_ASM
|
|
55
|
+
#undef TFM_NO_ASM
|
|
56
|
+
#define TFM_NO_ASM
|
|
57
|
+
#endif
|
|
58
|
+
|
|
59
|
+
#ifdef NO_64BIT
|
|
60
|
+
#undef NO_TFM_64BIT
|
|
61
|
+
#define NO_TFM_64BIT
|
|
62
|
+
#endif
|
|
63
|
+
|
|
64
|
+
#ifndef NO_TFM_64BIT
|
|
65
|
+
/* autodetect x86-64 and make sure we are using 64-bit digits with x86-64 asm */
|
|
66
|
+
#if defined(__x86_64__)
|
|
67
|
+
#if defined(TFM_X86) || defined(TFM_SSE2) || defined(TFM_ARM)
|
|
68
|
+
#error x86-64 detected, x86-32/SSE2/ARM optimizations are not valid!
|
|
69
|
+
#endif
|
|
70
|
+
#if !defined(TFM_X86_64) && !defined(TFM_NO_ASM)
|
|
71
|
+
#define TFM_X86_64
|
|
72
|
+
#endif
|
|
73
|
+
#endif
|
|
74
|
+
#if defined(__aarch64__) && defined(__APPLE__)
|
|
75
|
+
#if !defined(TFM_AARCH_64) && !defined(TFM_NO_ASM)
|
|
76
|
+
#define TFM_AARCH_64
|
|
77
|
+
#endif
|
|
78
|
+
#endif
|
|
79
|
+
#if defined(TFM_X86_64) || defined(TFM_AARCH_64)
|
|
80
|
+
#if !defined(FP_64BIT)
|
|
81
|
+
#define FP_64BIT
|
|
82
|
+
#endif
|
|
83
|
+
#endif
|
|
84
|
+
/* use 64-bit digit even if not using asm on x86_64 */
|
|
85
|
+
#if defined(__x86_64__) && !defined(FP_64BIT)
|
|
86
|
+
#define FP_64BIT
|
|
87
|
+
#endif
|
|
88
|
+
/* if intel compiler doesn't provide 128 bit type don't turn on 64bit */
|
|
89
|
+
#if defined(FP_64BIT) && defined(__INTEL_COMPILER) && !defined(HAVE___UINT128_T)
|
|
90
|
+
#undef FP_64BIT
|
|
91
|
+
#undef TFM_X86_64
|
|
92
|
+
#endif
|
|
93
|
+
#endif /* NO_TFM_64BIT */
|
|
94
|
+
|
|
95
|
+
/* try to detect x86-32 */
|
|
96
|
+
#if defined(__i386__) && !defined(TFM_SSE2)
|
|
97
|
+
#if defined(TFM_X86_64) || defined(TFM_ARM)
|
|
98
|
+
#error x86-32 detected, x86-64/ARM optimizations are not valid!
|
|
99
|
+
#endif
|
|
100
|
+
#if !defined(TFM_X86) && !defined(TFM_NO_ASM)
|
|
101
|
+
#define TFM_X86
|
|
102
|
+
#endif
|
|
103
|
+
#endif
|
|
104
|
+
|
|
105
|
+
/* make sure we're 32-bit for x86-32/sse/arm/ppc32 */
|
|
106
|
+
#if (defined(TFM_X86) || defined(TFM_SSE2) || defined(TFM_ARM) || defined(TFM_PPC32)) && defined(FP_64BIT)
|
|
107
|
+
#warning x86-32, SSE2 and ARM, PPC32 optimizations require 32-bit digits (undefining)
|
|
108
|
+
#undef FP_64BIT
|
|
109
|
+
#endif
|
|
110
|
+
|
|
111
|
+
/* multi asms? */
|
|
112
|
+
#ifdef TFM_X86
|
|
113
|
+
#define TFM_ASM
|
|
114
|
+
#endif
|
|
115
|
+
#ifdef TFM_X86_64
|
|
116
|
+
#ifdef TFM_ASM
|
|
117
|
+
#error TFM_ASM already defined!
|
|
118
|
+
#endif
|
|
119
|
+
#define TFM_ASM
|
|
120
|
+
#endif
|
|
121
|
+
#ifdef TFM_SSE2
|
|
122
|
+
#ifdef TFM_ASM
|
|
123
|
+
#error TFM_ASM already defined!
|
|
124
|
+
#endif
|
|
125
|
+
#define TFM_ASM
|
|
126
|
+
#endif
|
|
127
|
+
#ifdef TFM_ARM
|
|
128
|
+
#ifdef TFM_ASM
|
|
129
|
+
#error TFM_ASM already defined!
|
|
130
|
+
#endif
|
|
131
|
+
#define TFM_ASM
|
|
132
|
+
#endif
|
|
133
|
+
#ifdef TFM_PPC32
|
|
134
|
+
#ifdef TFM_ASM
|
|
135
|
+
#error TFM_ASM already defined!
|
|
136
|
+
#endif
|
|
137
|
+
#define TFM_ASM
|
|
138
|
+
#endif
|
|
139
|
+
#ifdef TFM_PPC64
|
|
140
|
+
#ifdef TFM_ASM
|
|
141
|
+
#error TFM_ASM already defined!
|
|
142
|
+
#endif
|
|
143
|
+
#define TFM_ASM
|
|
144
|
+
#endif
|
|
145
|
+
#ifdef TFM_AVR32
|
|
146
|
+
#ifdef TFM_ASM
|
|
147
|
+
#error TFM_ASM already defined!
|
|
148
|
+
#endif
|
|
149
|
+
#define TFM_ASM
|
|
150
|
+
#endif
|
|
151
|
+
|
|
152
|
+
/* we want no asm? */
|
|
153
|
+
#ifdef TFM_NO_ASM
|
|
154
|
+
#undef TFM_X86
|
|
155
|
+
#undef TFM_X86_64
|
|
156
|
+
#undef TFM_SSE2
|
|
157
|
+
#undef TFM_ARM
|
|
158
|
+
#undef TFM_PPC32
|
|
159
|
+
#undef TFM_PPC64
|
|
160
|
+
#undef TFM_AVR32
|
|
161
|
+
#undef TFM_ASM
|
|
162
|
+
#endif
|
|
163
|
+
|
|
164
|
+
/* ECC helpers */
|
|
165
|
+
#ifdef TFM_ECC192
|
|
166
|
+
#ifdef FP_64BIT
|
|
167
|
+
#define TFM_MUL3
|
|
168
|
+
#define TFM_SQR3
|
|
169
|
+
#else
|
|
170
|
+
#define TFM_MUL6
|
|
171
|
+
#define TFM_SQR6
|
|
172
|
+
#endif
|
|
173
|
+
#endif
|
|
174
|
+
|
|
175
|
+
#ifdef TFM_ECC224
|
|
176
|
+
#ifdef FP_64BIT
|
|
177
|
+
#define TFM_MUL4
|
|
178
|
+
#define TFM_SQR4
|
|
179
|
+
#else
|
|
180
|
+
#define TFM_MUL7
|
|
181
|
+
#define TFM_SQR7
|
|
182
|
+
#endif
|
|
183
|
+
#endif
|
|
184
|
+
|
|
185
|
+
#ifdef TFM_ECC256
|
|
186
|
+
#ifdef FP_64BIT
|
|
187
|
+
#define TFM_MUL4
|
|
188
|
+
#define TFM_SQR4
|
|
189
|
+
#else
|
|
190
|
+
#define TFM_MUL8
|
|
191
|
+
#define TFM_SQR8
|
|
192
|
+
#endif
|
|
193
|
+
#endif
|
|
194
|
+
|
|
195
|
+
#ifdef TFM_ECC384
|
|
196
|
+
#ifdef FP_64BIT
|
|
197
|
+
#define TFM_MUL6
|
|
198
|
+
#define TFM_SQR6
|
|
199
|
+
#else
|
|
200
|
+
#define TFM_MUL12
|
|
201
|
+
#define TFM_SQR12
|
|
202
|
+
#endif
|
|
203
|
+
#endif
|
|
204
|
+
|
|
205
|
+
#ifdef TFM_ECC521
|
|
206
|
+
#ifdef FP_64BIT
|
|
207
|
+
#define TFM_MUL9
|
|
208
|
+
#define TFM_SQR9
|
|
209
|
+
#else
|
|
210
|
+
#define TFM_MUL17
|
|
211
|
+
#define TFM_SQR17
|
|
212
|
+
#endif
|
|
213
|
+
#endif
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
/* allow user to define on fp_digit, fp_word types */
|
|
217
|
+
#ifndef WOLFSSL_BIGINT_TYPES
|
|
218
|
+
|
|
219
|
+
/* some default configurations.
|
|
220
|
+
*/
|
|
221
|
+
#if defined(WC_16BIT_CPU)
|
|
222
|
+
typedef unsigned int fp_digit;
|
|
223
|
+
#define SIZEOF_FP_DIGIT 2
|
|
224
|
+
typedef unsigned long fp_word;
|
|
225
|
+
typedef signed long fp_sword;
|
|
226
|
+
#elif defined(FP_64BIT)
|
|
227
|
+
/* for GCC only on supported platforms */
|
|
228
|
+
typedef unsigned long long fp_digit; /* 64bit, 128 uses mode(TI) below */
|
|
229
|
+
#define SIZEOF_FP_DIGIT 8
|
|
230
|
+
typedef unsigned long fp_word __attribute__ ((mode(TI)));
|
|
231
|
+
typedef signed long fp_sword __attribute__ ((mode(TI)));
|
|
232
|
+
#else
|
|
233
|
+
|
|
234
|
+
#ifndef NO_TFM_64BIT
|
|
235
|
+
#if defined(_MSC_VER) || defined(__BORLANDC__)
|
|
236
|
+
typedef unsigned __int64 ulong64;
|
|
237
|
+
#if defined(INTIME_RTOS)
|
|
238
|
+
#undef long64
|
|
239
|
+
#endif
|
|
240
|
+
typedef signed __int64 long64;
|
|
241
|
+
#else
|
|
242
|
+
typedef unsigned long long ulong64;
|
|
243
|
+
typedef signed long long long64;
|
|
244
|
+
#endif
|
|
245
|
+
typedef unsigned int fp_digit;
|
|
246
|
+
#define SIZEOF_FP_DIGIT 4
|
|
247
|
+
typedef ulong64 fp_word;
|
|
248
|
+
typedef long64 fp_sword;
|
|
249
|
+
#define FP_32BIT
|
|
250
|
+
#else
|
|
251
|
+
/* some procs like coldfire prefer not to place multiply into 64bit type
|
|
252
|
+
even though it exists */
|
|
253
|
+
typedef unsigned short fp_digit;
|
|
254
|
+
#define SIZEOF_FP_DIGIT 2
|
|
255
|
+
typedef unsigned int fp_word;
|
|
256
|
+
typedef signed int fp_sword;
|
|
257
|
+
#endif
|
|
258
|
+
#endif
|
|
259
|
+
|
|
260
|
+
#endif /* WOLFSSL_BIGINT_TYPES */
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
/* # of digits this is */
|
|
264
|
+
#define DIGIT_BIT ((CHAR_BIT) * SIZEOF_FP_DIGIT)
|
|
265
|
+
|
|
266
|
+
/* Max size of any number in bits. Basically the largest size you will be
|
|
267
|
+
* multiplying should be half [or smaller] of FP_MAX_SIZE-four_digit
|
|
268
|
+
*
|
|
269
|
+
* It defaults to 4096-bits [allowing multiplications up to 2048x2048 bits ]
|
|
270
|
+
*/
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
#ifndef FP_MAX_BITS
|
|
274
|
+
#define FP_MAX_BITS 4096
|
|
275
|
+
#endif
|
|
276
|
+
#ifdef WOLFSSL_OPENSSH
|
|
277
|
+
/* OpenSSH uses some BIG primes so we need to accommodate for that */
|
|
278
|
+
#undef FP_MAX_BITS
|
|
279
|
+
#define FP_MAX_BITS 16384
|
|
280
|
+
#endif
|
|
281
|
+
#define FP_MAX_SIZE (FP_MAX_BITS+(8*DIGIT_BIT))
|
|
282
|
+
|
|
283
|
+
/* will this lib work? */
|
|
284
|
+
#if CHAR_BIT == 0
|
|
285
|
+
#error CHAR_BIT must be nonzero
|
|
286
|
+
#endif
|
|
287
|
+
#if (CHAR_BIT & 7)
|
|
288
|
+
#error CHAR_BIT must be a multiple of eight.
|
|
289
|
+
#endif
|
|
290
|
+
#if FP_MAX_BITS % CHAR_BIT
|
|
291
|
+
#error FP_MAX_BITS must be a multiple of CHAR_BIT
|
|
292
|
+
#endif
|
|
293
|
+
|
|
294
|
+
#define FP_MASK (fp_digit)(-1)
|
|
295
|
+
#define FP_DIGIT_MAX FP_MASK
|
|
296
|
+
#define FP_SIZE (FP_MAX_SIZE/DIGIT_BIT)
|
|
297
|
+
#define MP_SIZE (FP_MAX_SIZE/DIGIT_BIT) /* for compatibility with SP_INT */
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
#define FP_MAX_PRIME_SIZE (FP_MAX_BITS/(2*CHAR_BIT))
|
|
301
|
+
/* In terms of FP_MAX_BITS, it is double the size possible for a number
|
|
302
|
+
* to allow for multiplication, divide that 2 out. Also divide by CHAR_BIT
|
|
303
|
+
* to convert from bits to bytes. (Note, FP_PRIME_SIZE is the number of
|
|
304
|
+
* values in the canned prime number list.) */
|
|
305
|
+
|
|
306
|
+
/* signs */
|
|
307
|
+
#define FP_ZPOS 0
|
|
308
|
+
#define FP_NEG 1
|
|
309
|
+
|
|
310
|
+
/* return codes */
|
|
311
|
+
#define FP_OKAY 0
|
|
312
|
+
#define FP_VAL MP_VAL
|
|
313
|
+
#define FP_MEM MP_MEM
|
|
314
|
+
#define FP_NOT_INF MP_NOT_INF
|
|
315
|
+
#define FP_WOULDBLOCK MP_WOULDBLOCK
|
|
316
|
+
|
|
317
|
+
/* equalities */
|
|
318
|
+
#define FP_LT (-1) /* less than */
|
|
319
|
+
#define FP_EQ 0 /* equal to */
|
|
320
|
+
#define FP_GT 1 /* greater than */
|
|
321
|
+
|
|
322
|
+
/* replies */
|
|
323
|
+
#define FP_YES 1 /* yes response */
|
|
324
|
+
#define FP_NO 0 /* no response */
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
#ifdef WOLFSSL_SMALL_STACK
|
|
328
|
+
/*
|
|
329
|
+
* Dynamic memory allocation of mp_int.
|
|
330
|
+
*/
|
|
331
|
+
/* Declare a dynamically allocated mp_int. */
|
|
332
|
+
#define DECL_MP_INT_SIZE(name, bits) \
|
|
333
|
+
mp_int* name = NULL
|
|
334
|
+
/* Declare a dynamically allocated mp_int. */
|
|
335
|
+
#define DECL_MP_INT_SIZE_DYN(name, bits, max) \
|
|
336
|
+
mp_int* name = NULL
|
|
337
|
+
/* Allocate an mp_int of minimal size and zero out. */
|
|
338
|
+
#define NEW_MP_INT_SIZE(name, bits, heap, type) \
|
|
339
|
+
do { \
|
|
340
|
+
name = (mp_int*)XMALLOC(sizeof(mp_int), heap, type); \
|
|
341
|
+
if (name != NULL) { \
|
|
342
|
+
XMEMSET(name, 0, sizeof(mp_int)); \
|
|
343
|
+
} \
|
|
344
|
+
} \
|
|
345
|
+
while (0)
|
|
346
|
+
/* Dispose of dynamically allocated mp_int. */
|
|
347
|
+
#define FREE_MP_INT_SIZE(name, heap, type) \
|
|
348
|
+
XFREE(name, heap, type)
|
|
349
|
+
/* Must check for mp_int pointer for NULL. */
|
|
350
|
+
#define MP_INT_SIZE_CHECK_NULL
|
|
351
|
+
#else
|
|
352
|
+
/*
|
|
353
|
+
* Static allocation of mp_int.
|
|
354
|
+
*/
|
|
355
|
+
/* Declare a statically allocated mp_int. */
|
|
356
|
+
#define DECL_MP_INT_SIZE(name, bits) \
|
|
357
|
+
mp_int name[1]
|
|
358
|
+
/* Declare a statically allocated mp_int. */
|
|
359
|
+
#define DECL_MP_INT_SIZE_DYN(name, bits, max) \
|
|
360
|
+
mp_int name[1]
|
|
361
|
+
/* Zero out mp_int of minimal size. */
|
|
362
|
+
#define NEW_MP_INT_SIZE(name, bits, heap, type) \
|
|
363
|
+
XMEMSET(name, 0, sizeof(mp_int))
|
|
364
|
+
/* Dispose of static mp_int. */
|
|
365
|
+
#define FREE_MP_INT_SIZE(name, heap, type) WC_DO_NOTHING
|
|
366
|
+
#endif
|
|
367
|
+
|
|
368
|
+
/* Initialize an mp_int. */
|
|
369
|
+
#define INIT_MP_INT_SIZE(name, bits) \
|
|
370
|
+
mp_init(name)
|
|
371
|
+
/* Type to cast to when using size macros. */
|
|
372
|
+
#define MP_INT_SIZE mp_int
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
#ifdef HAVE_WOLF_BIGINT
|
|
376
|
+
/* raw big integer */
|
|
377
|
+
typedef struct WC_BIGINT {
|
|
378
|
+
byte* buf;
|
|
379
|
+
word32 len;
|
|
380
|
+
void* heap;
|
|
381
|
+
} WC_BIGINT;
|
|
382
|
+
#define WOLF_BIGINT_DEFINED
|
|
383
|
+
#endif
|
|
384
|
+
|
|
385
|
+
#define wc_mp_size_t int
|
|
386
|
+
#define wc_mp_sign_t int
|
|
387
|
+
|
|
388
|
+
/* a FP type */
|
|
389
|
+
typedef struct fp_int {
|
|
390
|
+
int used;
|
|
391
|
+
int sign;
|
|
392
|
+
#if defined(ALT_ECC_SIZE) || defined(HAVE_WOLF_BIGINT)
|
|
393
|
+
int size;
|
|
394
|
+
#endif
|
|
395
|
+
fp_digit dp[FP_SIZE];
|
|
396
|
+
|
|
397
|
+
#ifdef HAVE_WOLF_BIGINT
|
|
398
|
+
struct WC_BIGINT raw; /* unsigned binary (big endian) */
|
|
399
|
+
#endif
|
|
400
|
+
} fp_int;
|
|
401
|
+
|
|
402
|
+
/* Types */
|
|
403
|
+
typedef fp_digit mp_digit;
|
|
404
|
+
typedef fp_word mp_word;
|
|
405
|
+
typedef fp_int mp_int;
|
|
406
|
+
|
|
407
|
+
|
|
408
|
+
/* wolf big int and common functions */
|
|
409
|
+
#include <wolfssl/wolfcrypt/wolfmath.h>
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
/* externally define this symbol to ignore the default settings, useful for changing the build from the make process */
|
|
413
|
+
#ifndef TFM_ALREADY_SET
|
|
414
|
+
|
|
415
|
+
/* do we want the large set of small multiplications ?
|
|
416
|
+
Enable these if you are going to be doing a lot of small (<= 16 digit) multiplications say in ECC
|
|
417
|
+
Or if you're on a 64-bit machine doing RSA as a 1024-bit integer == 16 digits ;-)
|
|
418
|
+
*/
|
|
419
|
+
/* need to refactor the function */
|
|
420
|
+
/*#define TFM_SMALL_SET */
|
|
421
|
+
|
|
422
|
+
/* do we want huge code
|
|
423
|
+
Enable these if you are doing 20, 24, 28, 32, 48, 64 digit multiplications (useful for RSA)
|
|
424
|
+
Less important on 64-bit machines as 32 digits == 2048 bits
|
|
425
|
+
*/
|
|
426
|
+
#if 0
|
|
427
|
+
#define TFM_MUL3
|
|
428
|
+
#define TFM_MUL4
|
|
429
|
+
#define TFM_MUL6
|
|
430
|
+
#define TFM_MUL7
|
|
431
|
+
#define TFM_MUL8
|
|
432
|
+
#define TFM_MUL9
|
|
433
|
+
#define TFM_MUL12
|
|
434
|
+
#define TFM_MUL17
|
|
435
|
+
#endif
|
|
436
|
+
#ifdef TFM_HUGE_SET
|
|
437
|
+
#define TFM_MUL20
|
|
438
|
+
#define TFM_MUL24
|
|
439
|
+
#define TFM_MUL28
|
|
440
|
+
#define TFM_MUL32
|
|
441
|
+
#if (FP_MAX_BITS >= 6144) && defined(FP_64BIT)
|
|
442
|
+
#define TFM_MUL48
|
|
443
|
+
#endif
|
|
444
|
+
#if (FP_MAX_BITS >= 8192) && defined(FP_64BIT)
|
|
445
|
+
#define TFM_MUL64
|
|
446
|
+
#endif
|
|
447
|
+
#endif
|
|
448
|
+
|
|
449
|
+
#if 0
|
|
450
|
+
#define TFM_SQR3
|
|
451
|
+
#define TFM_SQR4
|
|
452
|
+
#define TFM_SQR6
|
|
453
|
+
#define TFM_SQR7
|
|
454
|
+
#define TFM_SQR8
|
|
455
|
+
#define TFM_SQR9
|
|
456
|
+
#define TFM_SQR12
|
|
457
|
+
#define TFM_SQR17
|
|
458
|
+
#endif
|
|
459
|
+
#ifdef TFM_HUGE_SET
|
|
460
|
+
#define TFM_SQR20
|
|
461
|
+
#define TFM_SQR24
|
|
462
|
+
#define TFM_SQR28
|
|
463
|
+
#define TFM_SQR32
|
|
464
|
+
#define TFM_SQR48
|
|
465
|
+
#define TFM_SQR64
|
|
466
|
+
#endif
|
|
467
|
+
|
|
468
|
+
/* Optional math checks (enable WOLFSSL_DEBUG_MATH to print info) */
|
|
469
|
+
/* #define TFM_CHECK */
|
|
470
|
+
|
|
471
|
+
/* Is the target a P4 Prescott
|
|
472
|
+
*/
|
|
473
|
+
/* #define TFM_PRESCOTT */
|
|
474
|
+
|
|
475
|
+
/* Do we want timing resistant fp_exptmod() ?
|
|
476
|
+
* This makes it slower but also timing invariant with respect to the exponent
|
|
477
|
+
*/
|
|
478
|
+
/* #define TFM_TIMING_RESISTANT */
|
|
479
|
+
|
|
480
|
+
#endif /* TFM_ALREADY_SET */
|
|
481
|
+
|
|
482
|
+
/* functions */
|
|
483
|
+
|
|
484
|
+
/* returns a TFM ident string useful for debugging... */
|
|
485
|
+
/*const char *fp_ident(void);*/
|
|
486
|
+
|
|
487
|
+
/* initialize [or zero] an fp int */
|
|
488
|
+
void fp_init(fp_int *a);
|
|
489
|
+
MP_API void fp_zero(fp_int *a);
|
|
490
|
+
MP_API void fp_clear(fp_int *a);
|
|
491
|
+
/* uses ForceZero to clear sensitive memory */
|
|
492
|
+
MP_API void fp_forcezero (fp_int * a);
|
|
493
|
+
MP_API void fp_free(fp_int* a);
|
|
494
|
+
|
|
495
|
+
/* zero/one/even/odd/neg/word ? */
|
|
496
|
+
#define fp_iszero(a) (((a)->used == 0) ? FP_YES : FP_NO)
|
|
497
|
+
#define fp_isone(a) \
|
|
498
|
+
((((a)->used == 1) && ((a)->dp[0] == 1) && ((a)->sign == FP_ZPOS)) \
|
|
499
|
+
? FP_YES : FP_NO)
|
|
500
|
+
#define fp_iseven(a) \
|
|
501
|
+
(((a)->used > 0 && (((a)->dp[0] & 1) == 0)) ? FP_YES : FP_NO)
|
|
502
|
+
#define fp_isodd(a) \
|
|
503
|
+
(((a)->used > 0 && (((a)->dp[0] & 1) == 1)) ? FP_YES : FP_NO)
|
|
504
|
+
#define fp_isneg(a) (((a)->sign != FP_ZPOS) ? FP_YES : FP_NO)
|
|
505
|
+
#define fp_setneg(a) ((a)->sign = FP_NEG)
|
|
506
|
+
#define fp_isword(a, w) \
|
|
507
|
+
(((((a)->used == 1) && ((a)->dp[0] == (w))) || \
|
|
508
|
+
(((w) == 0) && ((a)->used == 0))) ? FP_YES : FP_NO)
|
|
509
|
+
/* Number of bits used based on used field only. */
|
|
510
|
+
#define fp_bitsused(a) ((a)->used * DIGIT_BIT)
|
|
511
|
+
|
|
512
|
+
/* set to a small digit */
|
|
513
|
+
void fp_set(fp_int *a, fp_digit b);
|
|
514
|
+
int fp_set_int(fp_int *a, unsigned long b);
|
|
515
|
+
|
|
516
|
+
/* check if a bit is set */
|
|
517
|
+
int fp_is_bit_set(fp_int *a, fp_digit b);
|
|
518
|
+
/* set the b bit to 1 */
|
|
519
|
+
int fp_set_bit (fp_int * a, fp_digit b);
|
|
520
|
+
|
|
521
|
+
/* copy from a to b */
|
|
522
|
+
void fp_copy(const fp_int *a, fp_int *b);
|
|
523
|
+
void fp_init_copy(fp_int *a, const fp_int *b);
|
|
524
|
+
|
|
525
|
+
/* clamp digits */
|
|
526
|
+
#define fp_clamp(a) { while ((a)->used && (a)->dp[(a)->used-1] == 0) --((a)->used); (a)->sign = (a)->used ? (a)->sign : FP_ZPOS; }
|
|
527
|
+
#define mp_clamp(a) fp_clamp(a)
|
|
528
|
+
#define mp_grow(a,s) MP_OKAY
|
|
529
|
+
|
|
530
|
+
/* negate and absolute */
|
|
531
|
+
#define fp_neg(a, b) { fp_copy(a, b); (b)->sign ^= 1; fp_clamp(b); }
|
|
532
|
+
#define fp_abs(a, b) { fp_copy(a, b); (b)->sign = 0; }
|
|
533
|
+
|
|
534
|
+
/* right shift x digits */
|
|
535
|
+
void fp_rshd(fp_int *a, int x);
|
|
536
|
+
|
|
537
|
+
/* right shift x bits */
|
|
538
|
+
void fp_rshb(fp_int *c, int x);
|
|
539
|
+
|
|
540
|
+
/* left shift x digits */
|
|
541
|
+
int fp_lshd(fp_int *a, int x);
|
|
542
|
+
|
|
543
|
+
/* signed comparison */
|
|
544
|
+
int fp_cmp(fp_int *a, fp_int *b);
|
|
545
|
+
|
|
546
|
+
/* unsigned comparison */
|
|
547
|
+
int fp_cmp_mag(fp_int *a, fp_int *b);
|
|
548
|
+
|
|
549
|
+
/* power of 2 operations */
|
|
550
|
+
void fp_div_2d(fp_int *a, int b, fp_int *c, fp_int *d);
|
|
551
|
+
void fp_mod_2d(fp_int *a, int b, fp_int *c);
|
|
552
|
+
int fp_mul_2d(fp_int *a, int b, fp_int *c);
|
|
553
|
+
void fp_2expt (fp_int *a, int b);
|
|
554
|
+
int fp_mul_2(fp_int *a, fp_int *b);
|
|
555
|
+
void fp_div_2(fp_int *a, fp_int *b);
|
|
556
|
+
/* c = a / 2 (mod b) - constant time (a < b and positive) */
|
|
557
|
+
int fp_div_2_mod_ct(fp_int *a, fp_int *b, fp_int *c);
|
|
558
|
+
|
|
559
|
+
|
|
560
|
+
/* Counts the number of lsbs which are zero before the first zero bit */
|
|
561
|
+
int fp_cnt_lsb(fp_int *a);
|
|
562
|
+
|
|
563
|
+
/* c = a + b */
|
|
564
|
+
int fp_add(fp_int *a, fp_int *b, fp_int *c);
|
|
565
|
+
|
|
566
|
+
/* c = a - b */
|
|
567
|
+
int fp_sub(fp_int *a, fp_int *b, fp_int *c);
|
|
568
|
+
|
|
569
|
+
/* c = a * b */
|
|
570
|
+
int fp_mul(fp_int *a, fp_int *b, fp_int *c);
|
|
571
|
+
|
|
572
|
+
/* b = a*a */
|
|
573
|
+
int fp_sqr(fp_int *a, fp_int *b);
|
|
574
|
+
|
|
575
|
+
/* a/b => cb + d == a */
|
|
576
|
+
int fp_div(fp_int *a, fp_int *b, fp_int *c, fp_int *d);
|
|
577
|
+
|
|
578
|
+
/* c = a mod b, 0 <= c < b */
|
|
579
|
+
int fp_mod(fp_int *a, fp_int *b, fp_int *c);
|
|
580
|
+
|
|
581
|
+
/* compare against a single digit */
|
|
582
|
+
int fp_cmp_d(fp_int *a, fp_digit b);
|
|
583
|
+
|
|
584
|
+
/* c = a + b */
|
|
585
|
+
int fp_add_d(fp_int *a, fp_digit b, fp_int *c);
|
|
586
|
+
|
|
587
|
+
/* c = a - b */
|
|
588
|
+
int fp_sub_d(fp_int *a, fp_digit b, fp_int *c);
|
|
589
|
+
|
|
590
|
+
/* c = a * b */
|
|
591
|
+
int fp_mul_d(fp_int *a, fp_digit b, fp_int *c);
|
|
592
|
+
|
|
593
|
+
/* a/b => cb + d == a */
|
|
594
|
+
/*int fp_div_d(fp_int *a, fp_digit b, fp_int *c, fp_digit *d);*/
|
|
595
|
+
|
|
596
|
+
/* c = a mod b, 0 <= c < b */
|
|
597
|
+
/*int fp_mod_d(fp_int *a, fp_digit b, fp_digit *c);*/
|
|
598
|
+
|
|
599
|
+
/* ---> number theory <--- */
|
|
600
|
+
/* d = a + b (mod c) */
|
|
601
|
+
/*int fp_addmod(fp_int *a, fp_int *b, fp_int *c, fp_int *d);*/
|
|
602
|
+
|
|
603
|
+
/* d = a - b (mod c) */
|
|
604
|
+
/*int fp_submod(fp_int *a, fp_int *b, fp_int *c, fp_int *d);*/
|
|
605
|
+
|
|
606
|
+
/* d = a * b (mod c) */
|
|
607
|
+
int fp_mulmod(fp_int *a, fp_int *b, fp_int *c, fp_int *d);
|
|
608
|
+
|
|
609
|
+
/* d = a - b (mod c) */
|
|
610
|
+
int fp_submod(fp_int *a, fp_int *b, fp_int *c, fp_int *d);
|
|
611
|
+
|
|
612
|
+
/* d = a + b (mod c) */
|
|
613
|
+
int fp_addmod(fp_int *a, fp_int *b, fp_int *c, fp_int *d);
|
|
614
|
+
|
|
615
|
+
/* d = a - b (mod c) - constant time (a < c and b < c) */
|
|
616
|
+
int fp_submod_ct(fp_int *a, fp_int *b, fp_int *c, fp_int *d);
|
|
617
|
+
|
|
618
|
+
/* d = a + b (mod c) - constant time (a < c and b < c) */
|
|
619
|
+
int fp_addmod_ct(fp_int *a, fp_int *b, fp_int *c, fp_int *d);
|
|
620
|
+
|
|
621
|
+
/* c = a * a (mod b) */
|
|
622
|
+
int fp_sqrmod(fp_int *a, fp_int *b, fp_int *c);
|
|
623
|
+
|
|
624
|
+
/* c = 1/a (mod b) */
|
|
625
|
+
int fp_invmod(fp_int *a, fp_int *b, fp_int *c);
|
|
626
|
+
int fp_invmod_mont_ct(fp_int *a, fp_int *b, fp_int *c, fp_digit mp);
|
|
627
|
+
|
|
628
|
+
/* c = (a, b) */
|
|
629
|
+
/*int fp_gcd(fp_int *a, fp_int *b, fp_int *c);*/
|
|
630
|
+
|
|
631
|
+
/* c = [a, b] */
|
|
632
|
+
/*int fp_lcm(fp_int *a, fp_int *b, fp_int *c);*/
|
|
633
|
+
|
|
634
|
+
/* setups the montgomery reduction */
|
|
635
|
+
int fp_montgomery_setup(fp_int *a, fp_digit *rho);
|
|
636
|
+
|
|
637
|
+
/* computes a = B**n mod b without division or multiplication useful for
|
|
638
|
+
* normalizing numbers in a Montgomery system.
|
|
639
|
+
*/
|
|
640
|
+
int fp_montgomery_calc_normalization(fp_int *a, fp_int *b);
|
|
641
|
+
|
|
642
|
+
/* computes x/R == x (mod N) via Montgomery Reduction */
|
|
643
|
+
int fp_montgomery_reduce(fp_int *a, fp_int *m, fp_digit mp);
|
|
644
|
+
int fp_montgomery_reduce_ex(fp_int *a, fp_int *m, fp_digit mp, int ct);
|
|
645
|
+
|
|
646
|
+
/* d = a**b (mod c) */
|
|
647
|
+
int fp_exptmod(fp_int *G, fp_int *X, fp_int *P, fp_int *Y);
|
|
648
|
+
int fp_exptmod_ex(fp_int *G, fp_int *X, int minDigits, fp_int *P, fp_int *Y);
|
|
649
|
+
int fp_exptmod_nct(fp_int *G, fp_int *X, fp_int *P, fp_int *Y);
|
|
650
|
+
|
|
651
|
+
#ifdef WC_RSA_NONBLOCK
|
|
652
|
+
|
|
653
|
+
enum tfmExptModNbState {
|
|
654
|
+
TFM_EXPTMOD_NB_INIT = 0,
|
|
655
|
+
TFM_EXPTMOD_NB_MONT,
|
|
656
|
+
TFM_EXPTMOD_NB_MONT_RED,
|
|
657
|
+
TFM_EXPTMOD_NB_MONT_MUL,
|
|
658
|
+
TFM_EXPTMOD_NB_MONT_MOD,
|
|
659
|
+
TFM_EXPTMOD_NB_MONT_MODCHK,
|
|
660
|
+
TFM_EXPTMOD_NB_NEXT,
|
|
661
|
+
TFM_EXPTMOD_NB_MUL,
|
|
662
|
+
TFM_EXPTMOD_NB_MUL_RED,
|
|
663
|
+
TFM_EXPTMOD_NB_SQR,
|
|
664
|
+
TFM_EXPTMOD_NB_SQR_RED,
|
|
665
|
+
TFM_EXPTMOD_NB_RED,
|
|
666
|
+
TFM_EXPTMOD_NB_COUNT /* last item for total state count only */
|
|
667
|
+
};
|
|
668
|
+
|
|
669
|
+
typedef struct {
|
|
670
|
+
#ifndef WC_NO_CACHE_RESISTANT
|
|
671
|
+
fp_int R[3];
|
|
672
|
+
#else
|
|
673
|
+
fp_int R[2];
|
|
674
|
+
#endif
|
|
675
|
+
fp_digit buf;
|
|
676
|
+
fp_digit mp;
|
|
677
|
+
int bitcnt;
|
|
678
|
+
int digidx;
|
|
679
|
+
int y;
|
|
680
|
+
int state; /* tfmExptModNbState */
|
|
681
|
+
#ifdef WC_RSA_NONBLOCK_TIME
|
|
682
|
+
word32 maxBlockInst; /* maximum instructions to block */
|
|
683
|
+
word32 totalInst; /* tracks total instructions */
|
|
684
|
+
#endif
|
|
685
|
+
} exptModNb_t;
|
|
686
|
+
|
|
687
|
+
#ifdef WC_RSA_NONBLOCK_TIME
|
|
688
|
+
enum {
|
|
689
|
+
TFM_EXPTMOD_NB_STOP = 0, /* stop and return FP_WOULDBLOCK */
|
|
690
|
+
TFM_EXPTMOD_NB_CONTINUE = 1, /* keep blocking */
|
|
691
|
+
};
|
|
692
|
+
#endif
|
|
693
|
+
|
|
694
|
+
/* non-blocking version of timing resistant fp_exptmod function */
|
|
695
|
+
/* supports cache resistance */
|
|
696
|
+
int fp_exptmod_nb(exptModNb_t* nb, fp_int* G, fp_int* X, fp_int* P, fp_int* Y);
|
|
697
|
+
|
|
698
|
+
#endif /* WC_RSA_NONBLOCK */
|
|
699
|
+
|
|
700
|
+
/* primality stuff */
|
|
701
|
+
|
|
702
|
+
/* perform a Miller-Rabin test of a to the base b and store result in "result" */
|
|
703
|
+
/*void fp_prime_miller_rabin (fp_int * a, fp_int * b, int *result);*/
|
|
704
|
+
|
|
705
|
+
#define FP_PRIME_SIZE 256
|
|
706
|
+
/* 256 trial divisions + 8 Miller-Rabins, returns FP_YES if probable prime */
|
|
707
|
+
/*int fp_isprime(fp_int *a);*/
|
|
708
|
+
/* extended version of fp_isprime, do 't' Miller-Rabins instead of only 8 */
|
|
709
|
+
/*int fp_isprime_ex(fp_int *a, int t, int* result);*/
|
|
710
|
+
|
|
711
|
+
/* Primality generation flags */
|
|
712
|
+
/*#define TFM_PRIME_BBS 0x0001 */ /* BBS style prime */
|
|
713
|
+
/*#define TFM_PRIME_SAFE 0x0002 */ /* Safe prime (p-1)/2 == prime */
|
|
714
|
+
/*#define TFM_PRIME_2MSB_OFF 0x0004 */ /* force 2nd MSB to 0 */
|
|
715
|
+
/*#define TFM_PRIME_2MSB_ON 0x0008 */ /* force 2nd MSB to 1 */
|
|
716
|
+
|
|
717
|
+
/* callback for fp_prime_random, should fill dst with random bytes and return how many read [up to len] */
|
|
718
|
+
/*typedef int tfm_prime_callback(unsigned char *dst, int len, void *dat);*/
|
|
719
|
+
|
|
720
|
+
/*#define fp_prime_random(a, t, size, bbs, cb, dat) fp_prime_random_ex(a, t, ((size) * 8) + 1, (bbs==1)?TFM_PRIME_BBS:0, cb, dat)*/
|
|
721
|
+
|
|
722
|
+
/*int fp_prime_random_ex(fp_int *a, int t, int size, int flags, tfm_prime_callback cb, void *dat);*/
|
|
723
|
+
|
|
724
|
+
/* radix conversions */
|
|
725
|
+
int fp_count_bits(const fp_int *a);
|
|
726
|
+
int fp_leading_bit(fp_int *a);
|
|
727
|
+
|
|
728
|
+
int fp_unsigned_bin_size(const fp_int *a);
|
|
729
|
+
int fp_read_unsigned_bin(fp_int *a, const unsigned char *b, int c);
|
|
730
|
+
int fp_to_unsigned_bin(const fp_int *a, unsigned char *b);
|
|
731
|
+
int fp_to_unsigned_bin_len_ct(fp_int *a, unsigned char *out, int outSz);
|
|
732
|
+
int fp_to_unsigned_bin_len(fp_int *a, unsigned char *b, int c);
|
|
733
|
+
int fp_to_unsigned_bin_at_pos(int x, fp_int *t, unsigned char *b);
|
|
734
|
+
|
|
735
|
+
/*int fp_read_radix(fp_int *a, char *str, int radix);*/
|
|
736
|
+
/*int fp_toradix(fp_int *a, char *str, int radix);*/
|
|
737
|
+
/*int fp_toradix_n(fp_int * a, char *str, int radix, int maxlen);*/
|
|
738
|
+
|
|
739
|
+
|
|
740
|
+
/* VARIOUS LOW LEVEL STUFFS */
|
|
741
|
+
int s_fp_add(fp_int *a, fp_int *b, fp_int *c);
|
|
742
|
+
void s_fp_sub(fp_int *a, fp_int *b, fp_int *c);
|
|
743
|
+
|
|
744
|
+
int fp_mul_comba(fp_int *a, fp_int *b, fp_int *c);
|
|
745
|
+
|
|
746
|
+
int fp_mul_comba_small(fp_int *a, fp_int *b, fp_int *c);
|
|
747
|
+
int fp_mul_comba3(fp_int *a, fp_int *b, fp_int *c);
|
|
748
|
+
int fp_mul_comba4(fp_int *a, fp_int *b, fp_int *c);
|
|
749
|
+
int fp_mul_comba6(fp_int *a, fp_int *b, fp_int *c);
|
|
750
|
+
int fp_mul_comba7(fp_int *a, fp_int *b, fp_int *c);
|
|
751
|
+
int fp_mul_comba8(fp_int *a, fp_int *b, fp_int *c);
|
|
752
|
+
int fp_mul_comba9(fp_int *a, fp_int *b, fp_int *c);
|
|
753
|
+
int fp_mul_comba12(fp_int *a, fp_int *b, fp_int *c);
|
|
754
|
+
int fp_mul_comba17(fp_int *a, fp_int *b, fp_int *c);
|
|
755
|
+
int fp_mul_comba20(fp_int *a, fp_int *b, fp_int *c);
|
|
756
|
+
int fp_mul_comba24(fp_int *a, fp_int *b, fp_int *c);
|
|
757
|
+
int fp_mul_comba28(fp_int *a, fp_int *b, fp_int *c);
|
|
758
|
+
int fp_mul_comba32(fp_int *a, fp_int *b, fp_int *c);
|
|
759
|
+
int fp_mul_comba48(fp_int *a, fp_int *b, fp_int *c);
|
|
760
|
+
int fp_mul_comba64(fp_int *a, fp_int *b, fp_int *c);
|
|
761
|
+
int fp_sqr_comba(fp_int *a, fp_int *b);
|
|
762
|
+
int fp_sqr_comba_small(fp_int *a, fp_int *b);
|
|
763
|
+
int fp_sqr_comba3(fp_int *a, fp_int *b);
|
|
764
|
+
int fp_sqr_comba4(fp_int *a, fp_int *b);
|
|
765
|
+
int fp_sqr_comba6(fp_int *a, fp_int *b);
|
|
766
|
+
int fp_sqr_comba7(fp_int *a, fp_int *b);
|
|
767
|
+
int fp_sqr_comba8(fp_int *a, fp_int *b);
|
|
768
|
+
int fp_sqr_comba9(fp_int *a, fp_int *b);
|
|
769
|
+
int fp_sqr_comba12(fp_int *a, fp_int *b);
|
|
770
|
+
int fp_sqr_comba17(fp_int *a, fp_int *b);
|
|
771
|
+
int fp_sqr_comba20(fp_int *a, fp_int *b);
|
|
772
|
+
int fp_sqr_comba24(fp_int *a, fp_int *b);
|
|
773
|
+
int fp_sqr_comba28(fp_int *a, fp_int *b);
|
|
774
|
+
int fp_sqr_comba32(fp_int *a, fp_int *b);
|
|
775
|
+
int fp_sqr_comba48(fp_int *a, fp_int *b);
|
|
776
|
+
int fp_sqr_comba64(fp_int *a, fp_int *b);
|
|
777
|
+
|
|
778
|
+
|
|
779
|
+
/**
|
|
780
|
+
* Used by wolfSSL
|
|
781
|
+
*/
|
|
782
|
+
|
|
783
|
+
/* Constants */
|
|
784
|
+
#define MP_LT FP_LT /* less than */
|
|
785
|
+
#define MP_EQ FP_EQ /* equal to */
|
|
786
|
+
#define MP_GT FP_GT /* greater than */
|
|
787
|
+
#define MP_RANGE MP_NOT_INF
|
|
788
|
+
#define MP_OKAY FP_OKAY /* ok result */
|
|
789
|
+
#define MP_NO FP_NO /* yes/no result */
|
|
790
|
+
#define MP_YES FP_YES /* yes/no result */
|
|
791
|
+
#define MP_ZPOS FP_ZPOS
|
|
792
|
+
#define MP_NEG FP_NEG
|
|
793
|
+
#define MP_MASK FP_MASK
|
|
794
|
+
|
|
795
|
+
/* Prototypes */
|
|
796
|
+
#define mp_zero(a) fp_zero(a)
|
|
797
|
+
#define mp_isone(a) fp_isone(a)
|
|
798
|
+
#define mp_iseven(a) fp_iseven(a)
|
|
799
|
+
#define mp_isneg(a) fp_isneg(a)
|
|
800
|
+
#define mp_setneg(a) fp_setneg(a)
|
|
801
|
+
#define mp_isword(a, w) fp_isword(a, w)
|
|
802
|
+
#define mp_bitsused(a) fp_bitsused(a)
|
|
803
|
+
|
|
804
|
+
#define MP_RADIX_BIN 2
|
|
805
|
+
#define MP_RADIX_OCT 8
|
|
806
|
+
#define MP_RADIX_DEC 10
|
|
807
|
+
#define MP_RADIX_HEX 16
|
|
808
|
+
#define MP_RADIX_MAX 64
|
|
809
|
+
|
|
810
|
+
#define mp_tobinary(M, S) mp_toradix((M), (S), MP_RADIX_BIN)
|
|
811
|
+
#define mp_tooctal(M, S) mp_toradix((M), (S), MP_RADIX_OCT)
|
|
812
|
+
#define mp_todecimal(M, S) mp_toradix((M), (S), MP_RADIX_DEC)
|
|
813
|
+
#define mp_tohex(M, S) mp_toradix((M), (S), MP_RADIX_HEX)
|
|
814
|
+
|
|
815
|
+
MP_API int mp_init (mp_int * a);
|
|
816
|
+
MP_API int mp_init_copy(fp_int * a, const fp_int * b);
|
|
817
|
+
MP_API void mp_clear (mp_int * a);
|
|
818
|
+
MP_API void mp_free (mp_int * a);
|
|
819
|
+
MP_API void mp_forcezero (mp_int * a);
|
|
820
|
+
MP_API int mp_init_multi(mp_int* a, mp_int* b, mp_int* c, mp_int* d, mp_int* e,
|
|
821
|
+
mp_int* f);
|
|
822
|
+
|
|
823
|
+
MP_API int mp_add (mp_int * a, mp_int * b, mp_int * c);
|
|
824
|
+
MP_API int mp_sub (mp_int * a, mp_int * b, mp_int * c);
|
|
825
|
+
MP_API int mp_add_d (mp_int * a, mp_digit b, mp_int * c);
|
|
826
|
+
|
|
827
|
+
MP_API int mp_mul (mp_int * a, mp_int * b, mp_int * c);
|
|
828
|
+
MP_API int mp_mul_d (mp_int * a, mp_digit b, mp_int * c);
|
|
829
|
+
MP_API int mp_mulmod (mp_int * a, mp_int * b, mp_int * c, mp_int * d);
|
|
830
|
+
MP_API int mp_submod (mp_int* a, mp_int* b, mp_int* c, mp_int* d);
|
|
831
|
+
MP_API int mp_addmod (mp_int* a, mp_int* b, mp_int* c, mp_int* d);
|
|
832
|
+
MP_API int mp_submod_ct (mp_int* a, mp_int* b, mp_int* c, mp_int* d);
|
|
833
|
+
MP_API int mp_addmod_ct (mp_int* a, mp_int* b, mp_int* c, mp_int* d);
|
|
834
|
+
MP_API int mp_mod(mp_int *a, mp_int *b, mp_int *c);
|
|
835
|
+
MP_API int mp_invmod(mp_int *a, mp_int *b, mp_int *c);
|
|
836
|
+
MP_API int mp_invmod_mont_ct(mp_int *a, mp_int *b, mp_int *c, fp_digit mp);
|
|
837
|
+
MP_API int mp_exptmod (mp_int * g, mp_int * x, mp_int * p, mp_int * y);
|
|
838
|
+
MP_API int mp_exptmod_ex (mp_int * g, mp_int * x, int minDigits, mp_int * p,
|
|
839
|
+
mp_int * y);
|
|
840
|
+
MP_API int mp_exptmod_nct (mp_int * g, mp_int * x, mp_int * p, mp_int * y);
|
|
841
|
+
MP_API int mp_mul_2d(mp_int *a, int b, mp_int *c);
|
|
842
|
+
MP_API int mp_2expt(mp_int* a, int b);
|
|
843
|
+
|
|
844
|
+
MP_API int mp_div(mp_int * a, mp_int * b, mp_int * c, mp_int * d);
|
|
845
|
+
|
|
846
|
+
MP_API int mp_cmp(mp_int *a, mp_int *b);
|
|
847
|
+
#define mp_cmp_ct(a, b, n) mp_cmp(a, b)
|
|
848
|
+
MP_API int mp_cmp_d(mp_int *a, mp_digit b);
|
|
849
|
+
|
|
850
|
+
MP_API int mp_unsigned_bin_size(const mp_int * a);
|
|
851
|
+
MP_API int mp_read_unsigned_bin (mp_int * a, const unsigned char *b, int c);
|
|
852
|
+
MP_API int mp_to_unsigned_bin_at_pos(int x, mp_int *t, unsigned char *b);
|
|
853
|
+
MP_API int mp_to_unsigned_bin(const mp_int * a, unsigned char *b);
|
|
854
|
+
MP_API int mp_to_unsigned_bin_len_ct(mp_int * a, unsigned char *b, int c);
|
|
855
|
+
MP_API int mp_to_unsigned_bin_len(mp_int * a, unsigned char *b, int c);
|
|
856
|
+
|
|
857
|
+
MP_API int mp_sub_d(fp_int *a, fp_digit b, fp_int *c);
|
|
858
|
+
MP_API int mp_copy(const fp_int* a, fp_int* b);
|
|
859
|
+
MP_API int mp_isodd(const mp_int* a);
|
|
860
|
+
MP_API int mp_iszero(const mp_int* a);
|
|
861
|
+
MP_API int mp_count_bits(const mp_int *a);
|
|
862
|
+
MP_API int mp_leading_bit(mp_int *a);
|
|
863
|
+
MP_API int mp_set_int(mp_int *a, unsigned long b);
|
|
864
|
+
MP_API int mp_is_bit_set (mp_int * a, mp_digit b);
|
|
865
|
+
MP_API int mp_set_bit (mp_int * a, mp_digit b);
|
|
866
|
+
MP_API void mp_rshb(mp_int *a, int x);
|
|
867
|
+
MP_API void mp_rshd(mp_int *a, int x);
|
|
868
|
+
MP_API int mp_toradix (mp_int *a, char *str, int radix);
|
|
869
|
+
MP_API int mp_radix_size (mp_int * a, int radix, int *size);
|
|
870
|
+
|
|
871
|
+
#ifdef WOLFSSL_DEBUG_MATH
|
|
872
|
+
MP_API void mp_dump(const char* desc, mp_int* a, byte verbose);
|
|
873
|
+
#else
|
|
874
|
+
#define mp_dump(desc, a, verbose) WC_DO_NOTHING
|
|
875
|
+
#endif
|
|
876
|
+
|
|
877
|
+
#if defined(OPENSSL_EXTRA) || !defined(NO_DSA) || defined(HAVE_ECC)
|
|
878
|
+
MP_API int mp_read_radix(mp_int* a, const char* str, int radix);
|
|
879
|
+
#endif
|
|
880
|
+
|
|
881
|
+
#define mp_montgomery_reduce_ct(a, m, mp) \
|
|
882
|
+
mp_montgomery_reduce_ex(a, m, mp, 1)
|
|
883
|
+
MP_API int mp_montgomery_reduce(fp_int *a, fp_int *m, fp_digit mp);
|
|
884
|
+
MP_API int mp_montgomery_reduce_ex(fp_int *a, fp_int *m, fp_digit mp, int ct);
|
|
885
|
+
MP_API int mp_montgomery_setup(fp_int *a, fp_digit *rho);
|
|
886
|
+
MP_API int mp_sqr(fp_int *a, fp_int *b);
|
|
887
|
+
|
|
888
|
+
#ifdef HAVE_ECC
|
|
889
|
+
MP_API int mp_div_2(fp_int * a, fp_int * b);
|
|
890
|
+
MP_API int mp_div_2_mod_ct(mp_int *a, mp_int *b, mp_int *c);
|
|
891
|
+
#endif
|
|
892
|
+
|
|
893
|
+
#if defined(HAVE_ECC) || !defined(NO_RSA) || !defined(NO_DSA) || \
|
|
894
|
+
defined(WOLFSSL_KEY_GEN)
|
|
895
|
+
MP_API int mp_set(fp_int *a, fp_digit b);
|
|
896
|
+
#endif
|
|
897
|
+
|
|
898
|
+
#if defined(HAVE_ECC) || defined(WOLFSSL_KEY_GEN) || !defined(NO_RSA) || \
|
|
899
|
+
!defined(NO_DSA) || !defined(NO_DH)
|
|
900
|
+
MP_API int mp_sqrmod(mp_int* a, mp_int* b, mp_int* c);
|
|
901
|
+
MP_API int mp_montgomery_calc_normalization(mp_int *a, mp_int *b);
|
|
902
|
+
#endif
|
|
903
|
+
|
|
904
|
+
#if !defined(NO_DH) || !defined(NO_DSA) || !defined(NO_RSA) || defined(WOLFSSL_KEY_GEN)
|
|
905
|
+
MP_API int mp_prime_is_prime(mp_int* a, int t, int* result);
|
|
906
|
+
MP_API int mp_prime_is_prime_ex(mp_int* a, int t, int* result, WC_RNG* rng);
|
|
907
|
+
#endif /* !NO_DH || !NO_DSA || !NO_RSA || WOLFSSL_KEY_GEN */
|
|
908
|
+
#ifdef WOLFSSL_KEY_GEN
|
|
909
|
+
MP_API int mp_gcd(fp_int *a, fp_int *b, fp_int *c);
|
|
910
|
+
MP_API int mp_lcm(fp_int *a, fp_int *b, fp_int *c);
|
|
911
|
+
MP_API int mp_rand_prime(mp_int* a, int len, WC_RNG* rng, void* heap);
|
|
912
|
+
MP_API int mp_exch(mp_int *a, mp_int *b);
|
|
913
|
+
#endif /* WOLFSSL_KEY_GEN */
|
|
914
|
+
MP_API int mp_cond_swap_ct_ex(mp_int* a, mp_int* b, int c, int m, mp_int* t);
|
|
915
|
+
MP_API int mp_cond_swap_ct(mp_int* a, mp_int* b, int c, int m);
|
|
916
|
+
|
|
917
|
+
MP_API int mp_cnt_lsb(fp_int *a);
|
|
918
|
+
MP_API int mp_div_2d(fp_int *a, int b, fp_int *c, fp_int *d);
|
|
919
|
+
MP_API int mp_mod_2d(fp_int *a, int b, fp_int *c);
|
|
920
|
+
MP_API int mp_mod_d(fp_int* a, fp_digit b, fp_digit* c);
|
|
921
|
+
MP_API int mp_lshd (mp_int * a, int b);
|
|
922
|
+
MP_API int mp_abs(mp_int* a, mp_int* b);
|
|
923
|
+
|
|
924
|
+
WOLFSSL_API word32 CheckRunTimeFastMath(void);
|
|
925
|
+
|
|
926
|
+
#ifdef WOLFSSL_CHECK_MEM_ZERO
|
|
927
|
+
void mp_memzero_add(const char* name, mp_int* a);
|
|
928
|
+
void mp_memzero_check(mp_int* a);
|
|
929
|
+
#endif
|
|
930
|
+
|
|
931
|
+
/* If user uses RSA, DH, DSA, or ECC math lib directly then fast math FP_SIZE
|
|
932
|
+
must match, return 1 if a match otherwise 0 */
|
|
933
|
+
#define CheckFastMathSettings() (FP_SIZE == CheckRunTimeFastMath())
|
|
934
|
+
|
|
935
|
+
|
|
936
|
+
#ifdef __cplusplus
|
|
937
|
+
}
|
|
938
|
+
#endif
|
|
939
|
+
|
|
940
|
+
#endif /* WOLF_CRYPT_TFM_H */
|
|
941
|
+
|