visaljs 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli.js +393 -62
- package/node/include/js_node.h +28 -5
- package/node/include/js_uv.h +36 -0
- package/node/prelude/crypto.js +7 -10
- package/node/prelude/dns.js +99 -0
- package/node/prelude/dns_promises.js +10 -0
- package/node/prelude/http.js +1039 -195
- package/node/prelude/internal/crypto/asym.js +39 -12
- package/node/prelude/internal/crypto/dh_groups.js +12 -0
- package/node/prelude/internal/crypto/diffiehellman.js +354 -0
- package/node/prelude/internal/crypto/hash.js +1 -1
- package/node/prelude/internal/crypto/key_type.js +3 -0
- package/node/prelude/internal/crypto/keys.js +39 -9
- package/node/prelude/internal/http_agent.js +249 -0
- package/node/prelude/internal/net.js +33 -0
- package/node/prelude/internal/socketaddress.js +249 -0
- package/node/prelude/internal/tls/common.js +306 -0
- package/node/prelude/internal/tls/wrap.js +1217 -0
- package/node/prelude/internal/tls/x509.js +394 -0
- package/node/prelude/net.js +1083 -50
- package/node/prelude/stream.js +6 -0
- package/node/prelude/tls.js +141 -0
- package/node/prelude/util.js +5 -2
- package/node/prelude/util_types.js +85 -0
- package/node/src/host_http.c +268 -270
- package/node/src/host_loop.c +84 -0
- package/node/src/host_net.c +495 -0
- package/node/src/host_sys.c +16 -0
- package/package.json +1 -1
- package/runtime/include/js_builtins.h +16 -0
- package/runtime/include/js_console.h +2 -0
- package/runtime/include/js_core.def +23 -0
- package/runtime/include/js_crypto.h +23 -0
- package/runtime/include/js_generator.h +2 -3
- package/runtime/include/js_promise.h +0 -2
- package/runtime/src/async_iter.c +4 -1
- package/runtime/src/boringssl_support.cc +34 -0
- package/runtime/src/builtin_table.c +8 -0
- package/runtime/src/components.c +10 -0
- package/runtime/src/console.c +6 -18
- package/runtime/src/core_all.c +1 -0
- package/runtime/src/crypto_asym.c +450 -241
- package/runtime/src/crypto_bn.c +91 -0
- package/runtime/src/crypto_cipher.c +153 -75
- package/runtime/src/crypto_hash.c +68 -53
- package/runtime/src/crypto_internal.h +55 -26
- package/runtime/src/crypto_pkey.c +198 -61
- package/runtime/src/crypto_subtle.c +42 -16
- package/runtime/src/crypto_tls.c +678 -0
- package/runtime/src/generator.c +8 -1
- package/runtime/src/global.c +2 -4
- package/runtime/src/internal.h +0 -1
- package/runtime/src/jobs.c +2 -1
- package/runtime/src/promise.c +4 -1
- package/runtime/src/tls_roots.gen.h +3215 -0
- package/runtime/src/util_types.c +52 -0
- package/runtime/src/weak.c +2 -1
- package/runtime/third_party/boringssl/LICENSE +238 -0
- package/runtime/third_party/boringssl/README.md +46 -0
- package/runtime/third_party/boringssl/VERSION +1 -0
- package/runtime/third_party/boringssl/crypto/aes/aes.cc +44 -0
- package/runtime/third_party/boringssl/crypto/armv8_feature_parsing.h +67 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_bitstr.cc +297 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_bool.cc +50 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_d2i_fp.cc +47 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_dup.cc +42 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_gentm.cc +130 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_i2d_fp.cc +44 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_int.cc +467 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_mbstr.cc +242 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_object.cc +191 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_octet.cc +32 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_strex.cc +411 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_strnid.cc +208 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_time.cc +248 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_type.cc +467 -0
- package/runtime/third_party/boringssl/crypto/asn1/a_utctm.cc +128 -0
- package/runtime/third_party/boringssl/crypto/asn1/asn1_lib.cc +453 -0
- package/runtime/third_party/boringssl/crypto/asn1/asn1_par.cc +61 -0
- package/runtime/third_party/boringssl/crypto/asn1/asn_pack.cc +56 -0
- package/runtime/third_party/boringssl/crypto/asn1/f_int.cc +63 -0
- package/runtime/third_party/boringssl/crypto/asn1/f_string.cc +52 -0
- package/runtime/third_party/boringssl/crypto/asn1/internal.h +430 -0
- package/runtime/third_party/boringssl/crypto/asn1/posix_time.cc +244 -0
- package/runtime/third_party/boringssl/crypto/asn1/tasn_dec.cc +611 -0
- package/runtime/third_party/boringssl/crypto/asn1/tasn_enc.cc +348 -0
- package/runtime/third_party/boringssl/crypto/asn1/tasn_fre.cc +163 -0
- package/runtime/third_party/boringssl/crypto/asn1/tasn_new.cc +274 -0
- package/runtime/third_party/boringssl/crypto/asn1/tasn_typ.cc +92 -0
- package/runtime/third_party/boringssl/crypto/asn1/tasn_utl.cc +218 -0
- package/runtime/third_party/boringssl/crypto/base64/base64.cc +433 -0
- package/runtime/third_party/boringssl/crypto/bcm_support.h +62 -0
- package/runtime/third_party/boringssl/crypto/bio/bio.cc +715 -0
- package/runtime/third_party/boringssl/crypto/bio/bio_mem.cc +260 -0
- package/runtime/third_party/boringssl/crypto/bio/connect.cc +463 -0
- package/runtime/third_party/boringssl/crypto/bio/errno.cc +52 -0
- package/runtime/third_party/boringssl/crypto/bio/fd.cc +193 -0
- package/runtime/third_party/boringssl/crypto/bio/file.cc +283 -0
- package/runtime/third_party/boringssl/crypto/bio/hexdump.cc +154 -0
- package/runtime/third_party/boringssl/crypto/bio/internal.h +128 -0
- package/runtime/third_party/boringssl/crypto/bio/pair.cc +426 -0
- package/runtime/third_party/boringssl/crypto/bio/printf.cc +59 -0
- package/runtime/third_party/boringssl/crypto/bio/socket.cc +210 -0
- package/runtime/third_party/boringssl/crypto/bio/socket_helper.cc +179 -0
- package/runtime/third_party/boringssl/crypto/blake2/blake2.cc +173 -0
- package/runtime/third_party/boringssl/crypto/bn/bn_asn1.cc +57 -0
- package/runtime/third_party/boringssl/crypto/bn/convert.cc +409 -0
- package/runtime/third_party/boringssl/crypto/bn/div.cc +102 -0
- package/runtime/third_party/boringssl/crypto/bn/exponentiation.cc +168 -0
- package/runtime/third_party/boringssl/crypto/bn/sqrt.cc +93 -0
- package/runtime/third_party/boringssl/crypto/buf/buf.cc +119 -0
- package/runtime/third_party/boringssl/crypto/bytestring/asn1_compat.cc +54 -0
- package/runtime/third_party/boringssl/crypto/bytestring/ber.cc +268 -0
- package/runtime/third_party/boringssl/crypto/bytestring/cbb.cc +787 -0
- package/runtime/third_party/boringssl/crypto/bytestring/cbs.cc +977 -0
- package/runtime/third_party/boringssl/crypto/bytestring/internal.h +134 -0
- package/runtime/third_party/boringssl/crypto/bytestring/unicode.cc +156 -0
- package/runtime/third_party/boringssl/crypto/chacha/chacha.cc +226 -0
- package/runtime/third_party/boringssl/crypto/chacha/internal.h +103 -0
- package/runtime/third_party/boringssl/crypto/cipher/derive_key.cc +106 -0
- package/runtime/third_party/boringssl/crypto/cipher/e_aesctrhmac.cc +294 -0
- package/runtime/third_party/boringssl/crypto/cipher/e_aeseax.cc +351 -0
- package/runtime/third_party/boringssl/crypto/cipher/e_aesgcmsiv.cc +918 -0
- package/runtime/third_party/boringssl/crypto/cipher/e_chacha20poly1305.cc +404 -0
- package/runtime/third_party/boringssl/crypto/cipher/e_des.cc +214 -0
- package/runtime/third_party/boringssl/crypto/cipher/e_null.cc +55 -0
- package/runtime/third_party/boringssl/crypto/cipher/e_rc2.cc +432 -0
- package/runtime/third_party/boringssl/crypto/cipher/e_rc4.cc +56 -0
- package/runtime/third_party/boringssl/crypto/cipher/e_tls.cc +615 -0
- package/runtime/third_party/boringssl/crypto/cipher/get_cipher.cc +85 -0
- package/runtime/third_party/boringssl/crypto/cipher/internal.h +399 -0
- package/runtime/third_party/boringssl/crypto/cipher/tls_cbc.cc +476 -0
- package/runtime/third_party/boringssl/crypto/cms/cms.cc +178 -0
- package/runtime/third_party/boringssl/crypto/conf/conf.cc +637 -0
- package/runtime/third_party/boringssl/crypto/conf/internal.h +54 -0
- package/runtime/third_party/boringssl/crypto/cpu_aarch64_apple.cc +76 -0
- package/runtime/third_party/boringssl/crypto/cpu_aarch64_fuchsia.cc +58 -0
- package/runtime/third_party/boringssl/crypto/cpu_aarch64_linux.cc +66 -0
- package/runtime/third_party/boringssl/crypto/cpu_aarch64_openbsd.cc +45 -0
- package/runtime/third_party/boringssl/crypto/cpu_aarch64_sysreg.cc +66 -0
- package/runtime/third_party/boringssl/crypto/cpu_aarch64_win.cc +52 -0
- package/runtime/third_party/boringssl/crypto/cpu_arm_freebsd.cc +55 -0
- package/runtime/third_party/boringssl/crypto/cpu_arm_linux.cc +173 -0
- package/runtime/third_party/boringssl/crypto/cpu_arm_linux.h +141 -0
- package/runtime/third_party/boringssl/crypto/cpu_intel.cc +287 -0
- package/runtime/third_party/boringssl/crypto/crypto.cc +152 -0
- package/runtime/third_party/boringssl/crypto/curve25519/asm/x25519-asm-arm.S +2124 -0
- package/runtime/third_party/boringssl/crypto/curve25519/cpace.cc +227 -0
- package/runtime/third_party/boringssl/crypto/curve25519/curve25519.cc +2436 -0
- package/runtime/third_party/boringssl/crypto/curve25519/curve25519_64_adx.cc +18 -0
- package/runtime/third_party/boringssl/crypto/curve25519/curve25519_tables.h +3264 -0
- package/runtime/third_party/boringssl/crypto/curve25519/internal.h +202 -0
- package/runtime/third_party/boringssl/crypto/curve25519/spake25519.cc +532 -0
- package/runtime/third_party/boringssl/crypto/des/des.cc +837 -0
- package/runtime/third_party/boringssl/crypto/des/internal.h +144 -0
- package/runtime/third_party/boringssl/crypto/dh/dh_asn1.cc +109 -0
- package/runtime/third_party/boringssl/crypto/dh/params.cc +411 -0
- package/runtime/third_party/boringssl/crypto/digest/digest_extra.cc +361 -0
- package/runtime/third_party/boringssl/crypto/dsa/dsa.cc +922 -0
- package/runtime/third_party/boringssl/crypto/dsa/dsa_asn1.cc +306 -0
- package/runtime/third_party/boringssl/crypto/dsa/internal.h +56 -0
- package/runtime/third_party/boringssl/crypto/ec/ec_asn1.cc +542 -0
- package/runtime/third_party/boringssl/crypto/ec/ec_derive.cc +94 -0
- package/runtime/third_party/boringssl/crypto/ec/hash_to_curve.cc +773 -0
- package/runtime/third_party/boringssl/crypto/ec/internal.h +114 -0
- package/runtime/third_party/boringssl/crypto/ecdh/ecdh.cc +75 -0
- package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.cc +337 -0
- package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_p1363.cc +54 -0
- package/runtime/third_party/boringssl/crypto/engine/engine.cc +95 -0
- package/runtime/third_party/boringssl/crypto/err/err.cc +820 -0
- package/runtime/third_party/boringssl/crypto/err/internal.h +45 -0
- package/runtime/third_party/boringssl/crypto/evp/evp.cc +454 -0
- package/runtime/third_party/boringssl/crypto/evp/evp_asn1.cc +439 -0
- package/runtime/third_party/boringssl/crypto/evp/evp_ctx.cc +541 -0
- package/runtime/third_party/boringssl/crypto/evp/evp_kem.cc +101 -0
- package/runtime/third_party/boringssl/crypto/evp/internal.h +427 -0
- package/runtime/third_party/boringssl/crypto/evp/p_dh.cc +326 -0
- package/runtime/third_party/boringssl/crypto/evp/p_dsa.cc +333 -0
- package/runtime/third_party/boringssl/crypto/evp/p_ec.cc +736 -0
- package/runtime/third_party/boringssl/crypto/evp/p_ed25519.cc +359 -0
- package/runtime/third_party/boringssl/crypto/evp/p_hkdf.cc +204 -0
- package/runtime/third_party/boringssl/crypto/evp/p_mldsa.cc +549 -0
- package/runtime/third_party/boringssl/crypto/evp/p_mlkem.cc +510 -0
- package/runtime/third_party/boringssl/crypto/evp/p_rsa.cc +1185 -0
- package/runtime/third_party/boringssl/crypto/evp/p_x25519.cc +371 -0
- package/runtime/third_party/boringssl/crypto/evp/p_xwing.cc +300 -0
- package/runtime/third_party/boringssl/crypto/evp/pbkdf.cc +105 -0
- package/runtime/third_party/boringssl/crypto/evp/print.cc +287 -0
- package/runtime/third_party/boringssl/crypto/evp/scrypt.cc +218 -0
- package/runtime/third_party/boringssl/crypto/evp/sign.cc +95 -0
- package/runtime/third_party/boringssl/crypto/ex_data.cc +140 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes.cc.inc +208 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes_nohw.cc.inc +1279 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cbc.cc.inc +132 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cfb.cc.inc +168 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ctr.cc.inc +102 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm.cc.inc +614 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm_nohw.cc.inc +304 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/aes/internal.h +590 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/aes/key_wrap.cc.inc +211 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/aes/mode_wrappers.cc.inc +97 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ofb.cc.inc +55 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bcm.cc +288 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bcm_interface.h +953 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/add.cc.inc +276 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +573 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bn.cc.inc +377 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bytes.cc.inc +230 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/cmp.cc.inc +161 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/ctx.cc.inc +127 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div.cc.inc +738 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div_extra.cc.inc +90 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/exponentiation.cc.inc +743 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd.cc.inc +281 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd_extra.cc.inc +327 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/generic.cc.inc +579 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/internal.h +810 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/jacobi.cc.inc +101 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery.cc.inc +408 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery_inv.cc.inc +179 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/mul.cc.inc +347 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/prime.cc.inc +931 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/random.cc.inc +261 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.cc.inc +144 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.h +109 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/shift.cc.inc +317 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/bn/sqrt.cc.inc +370 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/aead.cc.inc +619 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/cipher.cc.inc +837 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aes.cc.inc +1240 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aesccm.cc.inc +440 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/internal.h +461 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/cmac/cmac.cc.inc +293 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/delocate.h +95 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/dh/check.cc.inc +198 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/dh/dh.cc.inc +401 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/dh/internal.h +63 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digest.cc.inc +221 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digests.cc.inc +184 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/digest/internal.h +72 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/digest/md32_common.h +166 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/digestsign/digestsign.cc.inc +230 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/builtin_curves.h +277 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec.cc.inc +1024 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_key.cc.inc +536 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_montgomery.cc.inc +379 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/felem.cc.inc +250 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/internal.h +752 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/oct.cc.inc +174 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz-table.h +9502 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.cc.inc +740 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.h +207 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256.cc.inc +578 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256_table.h +297 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/scalar.cc.inc +184 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple.cc.inc +246 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple_mul.cc.inc +274 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/util.cc.inc +258 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ec/wnaf.cc.inc +224 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ecdh/ecdh.cc.inc +91 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +288 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/internal.h +57 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/internal.h +38 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/jitter.cc.inc +487 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/sha512.cc.inc +329 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/fips_shared_support.cc +28 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/hkdf/hkdf.cc.inc +114 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/hmac/hmac.cc.inc +218 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/internal.h +165 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/keccak.cc.inc +647 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/fips_known_values.inc +1345 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/mldsa.cc.inc +3323 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/fips_known_values.inc +411 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/mlkem.cc.inc +1856 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/rand/android_entropy_client.cc.inc +82 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/rand/ctrdrbg.cc.inc +401 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/rand/internal.h +99 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/rand/rand.cc.inc +486 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/internal.h +167 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/padding.cc.inc +371 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa.cc.inc +996 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa_impl.cc.inc +1000 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/fips.cc.inc +129 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/self_check.cc.inc +1093 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/internal.h +112 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +330 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/sha/internal.h +205 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha1.cc.inc +404 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha256.cc.inc +315 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha512.cc.inc +473 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/address.h +144 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fips_known_values.inc +674 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.cc.inc +179 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.h +48 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.cc.inc +164 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.h +58 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/params.h +178 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +690 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.cc.inc +326 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.h +71 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.cc.inc +172 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.h +40 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/tls/internal.h +33 -0
- package/runtime/third_party/boringssl/crypto/fipsmodule/tls/kdf.cc.inc +180 -0
- package/runtime/third_party/boringssl/crypto/fuzzer_mode.cc +30 -0
- package/runtime/third_party/boringssl/crypto/hpke/hpke.cc +1514 -0
- package/runtime/third_party/boringssl/crypto/hrss/asm/poly_rq_mul.S +8489 -0
- package/runtime/third_party/boringssl/crypto/hrss/hrss.cc +2189 -0
- package/runtime/third_party/boringssl/crypto/hrss/internal.h +64 -0
- package/runtime/third_party/boringssl/crypto/internal.h +1767 -0
- package/runtime/third_party/boringssl/crypto/lhash/internal.h +222 -0
- package/runtime/third_party/boringssl/crypto/lhash/lhash.cc +312 -0
- package/runtime/third_party/boringssl/crypto/md4/md4.cc +207 -0
- package/runtime/third_party/boringssl/crypto/md5/internal.h +34 -0
- package/runtime/third_party/boringssl/crypto/md5/md5.cc +255 -0
- package/runtime/third_party/boringssl/crypto/mem.cc +577 -0
- package/runtime/third_party/boringssl/crypto/mem_internal.h +706 -0
- package/runtime/third_party/boringssl/crypto/mldsa/mldsa.cc +296 -0
- package/runtime/third_party/boringssl/crypto/mlkem/mlkem.cc +108 -0
- package/runtime/third_party/boringssl/crypto/obj/obj.cc +494 -0
- package/runtime/third_party/boringssl/crypto/obj/obj_dat.h +11722 -0
- package/runtime/third_party/boringssl/crypto/obj/obj_xref.cc +83 -0
- package/runtime/third_party/boringssl/crypto/params_internal.h +30 -0
- package/runtime/third_party/boringssl/crypto/pem/internal.h +135 -0
- package/runtime/third_party/boringssl/crypto/pem/pem_all.cc +153 -0
- package/runtime/third_party/boringssl/crypto/pem/pem_info.cc +250 -0
- package/runtime/third_party/boringssl/crypto/pem/pem_lib.cc +707 -0
- package/runtime/third_party/boringssl/crypto/pem/pem_oth.cc +45 -0
- package/runtime/third_party/boringssl/crypto/pem/pem_pk8.cc +211 -0
- package/runtime/third_party/boringssl/crypto/pem/pem_pkey.cc +147 -0
- package/runtime/third_party/boringssl/crypto/pem/pem_x509.cc +25 -0
- package/runtime/third_party/boringssl/crypto/pem/pem_xaux.cc +25 -0
- package/runtime/third_party/boringssl/crypto/pkcs7/internal.h +67 -0
- package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7.cc +198 -0
- package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7_x509.cc +527 -0
- package/runtime/third_party/boringssl/crypto/pkcs8/internal.h +98 -0
- package/runtime/third_party/boringssl/crypto/pkcs8/p5_pbev2.cc +286 -0
- package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8.cc +473 -0
- package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8_x509.cc +1328 -0
- package/runtime/third_party/boringssl/crypto/poly1305/internal.h +54 -0
- package/runtime/third_party/boringssl/crypto/poly1305/poly1305.cc +315 -0
- package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm.cc +294 -0
- package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm_asm.S +2017 -0
- package/runtime/third_party/boringssl/crypto/poly1305/poly1305_vec.cc +853 -0
- package/runtime/third_party/boringssl/crypto/pool/internal.h +95 -0
- package/runtime/third_party/boringssl/crypto/pool/pool.cc +282 -0
- package/runtime/third_party/boringssl/crypto/rand/deterministic.cc +58 -0
- package/runtime/third_party/boringssl/crypto/rand/fork_detect.cc +222 -0
- package/runtime/third_party/boringssl/crypto/rand/forkunsafe.cc +44 -0
- package/runtime/third_party/boringssl/crypto/rand/getentropy.cc +53 -0
- package/runtime/third_party/boringssl/crypto/rand/internal.h +67 -0
- package/runtime/third_party/boringssl/crypto/rand/ios.cc +35 -0
- package/runtime/third_party/boringssl/crypto/rand/rand.cc +79 -0
- package/runtime/third_party/boringssl/crypto/rand/trusty.cc +39 -0
- package/runtime/third_party/boringssl/crypto/rand/urandom.cc +149 -0
- package/runtime/third_party/boringssl/crypto/rand/windows.cc +91 -0
- package/runtime/third_party/boringssl/crypto/rc4/rc4.cc +56 -0
- package/runtime/third_party/boringssl/crypto/refcount.cc +49 -0
- package/runtime/third_party/boringssl/crypto/rsa/internal.h +51 -0
- package/runtime/third_party/boringssl/crypto/rsa/rsa_asn1.cc +404 -0
- package/runtime/third_party/boringssl/crypto/rsa/rsa_crypt.cc +530 -0
- package/runtime/third_party/boringssl/crypto/rsa/rsa_extra.cc +30 -0
- package/runtime/third_party/boringssl/crypto/rsa/rsa_print.cc +25 -0
- package/runtime/third_party/boringssl/crypto/sha/sha1.cc +55 -0
- package/runtime/third_party/boringssl/crypto/sha/sha256.cc +89 -0
- package/runtime/third_party/boringssl/crypto/sha/sha512.cc +106 -0
- package/runtime/third_party/boringssl/crypto/siphash/siphash.cc +81 -0
- package/runtime/third_party/boringssl/crypto/slhdsa/slhdsa.cc +167 -0
- package/runtime/third_party/boringssl/crypto/spake2plus/internal.h +204 -0
- package/runtime/third_party/boringssl/crypto/spake2plus/spake2plus.cc +501 -0
- package/runtime/third_party/boringssl/crypto/stack/stack.cc +462 -0
- package/runtime/third_party/boringssl/crypto/thread.cc +68 -0
- package/runtime/third_party/boringssl/crypto/thread_none.cc +48 -0
- package/runtime/third_party/boringssl/crypto/thread_pthread.cc +138 -0
- package/runtime/third_party/boringssl/crypto/thread_win.cc +227 -0
- package/runtime/third_party/boringssl/crypto/trust_token/internal.h +405 -0
- package/runtime/third_party/boringssl/crypto/trust_token/pmbtoken.cc +1672 -0
- package/runtime/third_party/boringssl/crypto/trust_token/trust_token.cc +701 -0
- package/runtime/third_party/boringssl/crypto/trust_token/voprf.cc +1266 -0
- package/runtime/third_party/boringssl/crypto/x509/a_digest.cc +52 -0
- package/runtime/third_party/boringssl/crypto/x509/a_sign.cc +100 -0
- package/runtime/third_party/boringssl/crypto/x509/a_verify.cc +77 -0
- package/runtime/third_party/boringssl/crypto/x509/algorithm.cc +167 -0
- package/runtime/third_party/boringssl/crypto/x509/asn1_gen.cc +540 -0
- package/runtime/third_party/boringssl/crypto/x509/by_dir.cc +301 -0
- package/runtime/third_party/boringssl/crypto/x509/by_file.cc +226 -0
- package/runtime/third_party/boringssl/crypto/x509/i2d_pr.cc +37 -0
- package/runtime/third_party/boringssl/crypto/x509/internal.h +697 -0
- package/runtime/third_party/boringssl/crypto/x509/name_print.cc +187 -0
- package/runtime/third_party/boringssl/crypto/x509/policy.cc +686 -0
- package/runtime/third_party/boringssl/crypto/x509/rsa_pss.cc +187 -0
- package/runtime/third_party/boringssl/crypto/x509/t_crl.cc +106 -0
- package/runtime/third_party/boringssl/crypto/x509/t_req.cc +206 -0
- package/runtime/third_party/boringssl/crypto/x509/t_x509.cc +292 -0
- package/runtime/third_party/boringssl/crypto/x509/t_x509a.cc +81 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_akey.cc +174 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_akeya.cc +31 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_alt.cc +636 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_bcons.cc +96 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_bitst.cc +100 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_conf.cc +369 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_cpols.cc +417 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_crld.cc +471 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_enum.cc +74 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_extku.cc +97 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_genn.cc +238 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_ia5.cc +83 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_info.cc +162 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_int.cc +83 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_lib.cc +349 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_ncons.cc +798 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_ocsp.cc +92 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_pcons.cc +102 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_pmaps.cc +110 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_prn.cc +183 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_purp.cc +580 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_skey.cc +128 -0
- package/runtime/third_party/boringssl/crypto/x509/v3_utl.cc +1311 -0
- package/runtime/third_party/boringssl/crypto/x509/x509.cc +47 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_att.cc +188 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_cmp.cc +243 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_d2.cc +66 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_def.cc +42 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_ext.cc +161 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_lu.cc +570 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_mtc.cc +598 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_obj.cc +169 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_req.cc +248 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_set.cc +166 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_trs.cc +123 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_txt.cc +147 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_v3.cc +249 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_vfy.cc +1531 -0
- package/runtime/third_party/boringssl/crypto/x509/x509_vpm.cc +449 -0
- package/runtime/third_party/boringssl/crypto/x509/x509cset.cc +222 -0
- package/runtime/third_party/boringssl/crypto/x509/x509name.cc +377 -0
- package/runtime/third_party/boringssl/crypto/x509/x509rset.cc +55 -0
- package/runtime/third_party/boringssl/crypto/x509/x509spki.cc +91 -0
- package/runtime/third_party/boringssl/crypto/x509/x_algor.cc +223 -0
- package/runtime/third_party/boringssl/crypto/x509/x_all.cc +352 -0
- package/runtime/third_party/boringssl/crypto/x509/x_attrib.cc +61 -0
- package/runtime/third_party/boringssl/crypto/x509/x_crl.cc +325 -0
- package/runtime/third_party/boringssl/crypto/x509/x_exten.cc +42 -0
- package/runtime/third_party/boringssl/crypto/x509/x_name.cc +407 -0
- package/runtime/third_party/boringssl/crypto/x509/x_pubkey.cc +199 -0
- package/runtime/third_party/boringssl/crypto/x509/x_req.cc +80 -0
- package/runtime/third_party/boringssl/crypto/x509/x_sig.cc +51 -0
- package/runtime/third_party/boringssl/crypto/x509/x_spki.cc +44 -0
- package/runtime/third_party/boringssl/crypto/x509/x_x509.cc +495 -0
- package/runtime/third_party/boringssl/crypto/x509/x_x509a.cc +169 -0
- package/runtime/third_party/boringssl/crypto/xwing/xwing.cc +257 -0
- package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-apple.S +1326 -0
- package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-linux.S +1327 -0
- package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-apple.S +1252 -0
- package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-linux.S +1253 -0
- package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-apple.S +873 -0
- package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-linux.S +885 -0
- package/runtime/third_party/boringssl/gen/bcm/aesni-x86-apple.S +2490 -0
- package/runtime/third_party/boringssl/gen/bcm/aesni-x86-linux.S +2530 -0
- package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-apple.S +2413 -0
- package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-linux.S +2397 -0
- package/runtime/third_party/boringssl/gen/bcm/aesv8-armv7-linux.S +784 -0
- package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-apple.S +792 -0
- package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-linux.S +786 -0
- package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-win.S +798 -0
- package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-apple.S +2912 -0
- package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-linux.S +2907 -0
- package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-win.S +2915 -0
- package/runtime/third_party/boringssl/gen/bcm/armv4-mont-linux.S +932 -0
- package/runtime/third_party/boringssl/gen/bcm/armv8-mont-apple.S +1440 -0
- package/runtime/third_party/boringssl/gen/bcm/armv8-mont-linux.S +1440 -0
- package/runtime/third_party/boringssl/gen/bcm/armv8-mont-win.S +1446 -0
- package/runtime/third_party/boringssl/gen/bcm/bn-586-apple.S +530 -0
- package/runtime/third_party/boringssl/gen/bcm/bn-586-linux.S +540 -0
- package/runtime/third_party/boringssl/gen/bcm/bn-armv8-apple.S +88 -0
- package/runtime/third_party/boringssl/gen/bcm/bn-armv8-linux.S +87 -0
- package/runtime/third_party/boringssl/gen/bcm/bn-armv8-win.S +87 -0
- package/runtime/third_party/boringssl/gen/bcm/bsaes-armv7-linux.S +1520 -0
- package/runtime/third_party/boringssl/gen/bcm/co-586-apple.S +1256 -0
- package/runtime/third_party/boringssl/gen/bcm/co-586-linux.S +1264 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-armv4-linux.S +242 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-apple.S +337 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-linux.S +335 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-win.S +341 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-apple.S +288 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-linux.S +292 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-apple.S +426 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-linux.S +425 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-x86-apple.S +322 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-x86-linux.S +328 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-apple.S +1134 -0
- package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-linux.S +1129 -0
- package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv7-linux.S +244 -0
- package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-apple.S +567 -0
- package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-linux.S +563 -0
- package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-win.S +571 -0
- package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-apple.S +1744 -0
- package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-linux.S +1725 -0
- package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-win.S +1765 -0
- package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-apple.S +4544 -0
- package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-linux.S +4600 -0
- package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-apple.S +310 -0
- package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-linux.S +310 -0
- package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-win.S +310 -0
- package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-apple.S +321 -0
- package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-linux.S +335 -0
- package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-apple.S +58 -0
- package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-linux.S +57 -0
- package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-apple.S +1756 -0
- package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-linux.S +1751 -0
- package/runtime/third_party/boringssl/gen/bcm/sha1-586-apple.S +3782 -0
- package/runtime/third_party/boringssl/gen/bcm/sha1-586-linux.S +3788 -0
- package/runtime/third_party/boringssl/gen/bcm/sha1-armv4-large-linux.S +1479 -0
- package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-apple.S +1219 -0
- package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-linux.S +1218 -0
- package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-win.S +1222 -0
- package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-apple.S +5454 -0
- package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-linux.S +5450 -0
- package/runtime/third_party/boringssl/gen/bcm/sha256-586-apple.S +5593 -0
- package/runtime/third_party/boringssl/gen/bcm/sha256-586-linux.S +5599 -0
- package/runtime/third_party/boringssl/gen/bcm/sha256-armv4-linux.S +2840 -0
- package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-apple.S +1195 -0
- package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-linux.S +1194 -0
- package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-win.S +1198 -0
- package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-apple.S +4173 -0
- package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-linux.S +4170 -0
- package/runtime/third_party/boringssl/gen/bcm/sha512-586-apple.S +2406 -0
- package/runtime/third_party/boringssl/gen/bcm/sha512-586-linux.S +2410 -0
- package/runtime/third_party/boringssl/gen/bcm/sha512-armv4-linux.S +1857 -0
- package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-apple.S +1598 -0
- package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-linux.S +1597 -0
- package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-win.S +1601 -0
- package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-apple.S +2979 -0
- package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-linux.S +2978 -0
- package/runtime/third_party/boringssl/gen/bcm/vpaes-armv7-linux.S +1225 -0
- package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-apple.S +1238 -0
- package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-linux.S +1220 -0
- package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-win.S +1256 -0
- package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-apple.S +680 -0
- package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-linux.S +706 -0
- package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-apple.S +1146 -0
- package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-linux.S +1133 -0
- package/runtime/third_party/boringssl/gen/bcm/x86-mont-apple.S +216 -0
- package/runtime/third_party/boringssl/gen/bcm/x86-mont-linux.S +218 -0
- package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-apple.S +1238 -0
- package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-linux.S +1237 -0
- package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-apple.S +3644 -0
- package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-linux.S +3628 -0
- package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_64_win_asm.inc +325 -0
- package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_win_asm.inc +325 -0
- package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-apple.S +3113 -0
- package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-linux.S +3091 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha-armv4-linux.S +1450 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-apple.S +1969 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-linux.S +1967 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-win.S +1973 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha-x86-apple.S +957 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha-x86-linux.S +961 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-apple.S +1608 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-linux.S +1611 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-apple.S +3010 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-linux.S +3008 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-win.S +3014 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-apple.S +8903 -0
- package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-linux.S +8940 -0
- package/runtime/third_party/boringssl/gen/crypto/err_data.cc +1578 -0
- package/runtime/third_party/boringssl/gen/crypto/md5-586-apple.S +684 -0
- package/runtime/third_party/boringssl/gen/crypto/md5-586-linux.S +686 -0
- package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-apple.S +690 -0
- package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-linux.S +695 -0
- package/runtime/third_party/boringssl/include/openssl/aead.h +650 -0
- package/runtime/third_party/boringssl/include/openssl/aes.h +173 -0
- package/runtime/third_party/boringssl/include/openssl/arm_arch.h +24 -0
- package/runtime/third_party/boringssl/include/openssl/asm_base.h +219 -0
- package/runtime/third_party/boringssl/include/openssl/asn1.h +2002 -0
- package/runtime/third_party/boringssl/include/openssl/asn1_mac.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/asn1t.h +584 -0
- package/runtime/third_party/boringssl/include/openssl/base.h +548 -0
- package/runtime/third_party/boringssl/include/openssl/base64.h +156 -0
- package/runtime/third_party/boringssl/include/openssl/bio.h +1061 -0
- package/runtime/third_party/boringssl/include/openssl/blake2.h +63 -0
- package/runtime/third_party/boringssl/include/openssl/blowfish.h +58 -0
- package/runtime/third_party/boringssl/include/openssl/bn.h +986 -0
- package/runtime/third_party/boringssl/include/openssl/buf.h +95 -0
- package/runtime/third_party/boringssl/include/openssl/buffer.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/bytestring.h +798 -0
- package/runtime/third_party/boringssl/include/openssl/cast.h +91 -0
- package/runtime/third_party/boringssl/include/openssl/chacha.h +47 -0
- package/runtime/third_party/boringssl/include/openssl/cipher.h +819 -0
- package/runtime/third_party/boringssl/include/openssl/cmac.h +91 -0
- package/runtime/third_party/boringssl/include/openssl/cms.h +147 -0
- package/runtime/third_party/boringssl/include/openssl/conf.h +136 -0
- package/runtime/third_party/boringssl/include/openssl/configuration.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/cpu.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/crypto.h +235 -0
- package/runtime/third_party/boringssl/include/openssl/ctrdrbg.h +116 -0
- package/runtime/third_party/boringssl/include/openssl/curve25519.h +309 -0
- package/runtime/third_party/boringssl/include/openssl/des.h +134 -0
- package/runtime/third_party/boringssl/include/openssl/dh.h +336 -0
- package/runtime/third_party/boringssl/include/openssl/digest.h +399 -0
- package/runtime/third_party/boringssl/include/openssl/dsa.h +392 -0
- package/runtime/third_party/boringssl/include/openssl/dtls1.h +16 -0
- package/runtime/third_party/boringssl/include/openssl/e_os2.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/ec.h +530 -0
- package/runtime/third_party/boringssl/include/openssl/ec_key.h +358 -0
- package/runtime/third_party/boringssl/include/openssl/ecdh.h +67 -0
- package/runtime/third_party/boringssl/include/openssl/ecdsa.h +242 -0
- package/runtime/third_party/boringssl/include/openssl/engine.h +109 -0
- package/runtime/third_party/boringssl/include/openssl/err.h +416 -0
- package/runtime/third_party/boringssl/include/openssl/evp.h +1645 -0
- package/runtime/third_party/boringssl/include/openssl/evp_errors.h +66 -0
- package/runtime/third_party/boringssl/include/openssl/ex_data.h +117 -0
- package/runtime/third_party/boringssl/include/openssl/hkdf.h +68 -0
- package/runtime/third_party/boringssl/include/openssl/hmac.h +151 -0
- package/runtime/third_party/boringssl/include/openssl/hpke.h +456 -0
- package/runtime/third_party/boringssl/include/openssl/hrss.h +108 -0
- package/runtime/third_party/boringssl/include/openssl/is_boringssl.h +16 -0
- package/runtime/third_party/boringssl/include/openssl/kdf.h +92 -0
- package/runtime/third_party/boringssl/include/openssl/lhash.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/md4.h +73 -0
- package/runtime/third_party/boringssl/include/openssl/md5.h +67 -0
- package/runtime/third_party/boringssl/include/openssl/mem.h +215 -0
- package/runtime/third_party/boringssl/include/openssl/mldsa.h +486 -0
- package/runtime/third_party/boringssl/include/openssl/mlkem.h +222 -0
- package/runtime/third_party/boringssl/include/openssl/nid.h +5561 -0
- package/runtime/third_party/boringssl/include/openssl/obj.h +225 -0
- package/runtime/third_party/boringssl/include/openssl/obj_mac.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/objects.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/opensslconf.h +108 -0
- package/runtime/third_party/boringssl/include/openssl/opensslv.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/ossl_typ.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/params.h +42 -0
- package/runtime/third_party/boringssl/include/openssl/pem.h +769 -0
- package/runtime/third_party/boringssl/include/openssl/pkcs12.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/pkcs7.h +239 -0
- package/runtime/third_party/boringssl/include/openssl/pkcs8.h +267 -0
- package/runtime/third_party/boringssl/include/openssl/poly1305.h +52 -0
- package/runtime/third_party/boringssl/include/openssl/pool.h +137 -0
- package/runtime/third_party/boringssl/include/openssl/posix_time.h +51 -0
- package/runtime/third_party/boringssl/include/openssl/prefix_symbols.h +8000 -0
- package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_S.h +633 -0
- package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_c.h +329 -0
- package/runtime/third_party/boringssl/include/openssl/rand.h +138 -0
- package/runtime/third_party/boringssl/include/openssl/rc4.h +54 -0
- package/runtime/third_party/boringssl/include/openssl/ripemd.h +71 -0
- package/runtime/third_party/boringssl/include/openssl/rsa.h +893 -0
- package/runtime/third_party/boringssl/include/openssl/safestack.h +16 -0
- package/runtime/third_party/boringssl/include/openssl/service_indicator.h +19 -0
- package/runtime/third_party/boringssl/include/openssl/sha.h +108 -0
- package/runtime/third_party/boringssl/include/openssl/sha2.h +201 -0
- package/runtime/third_party/boringssl/include/openssl/siphash.h +37 -0
- package/runtime/third_party/boringssl/include/openssl/slhdsa.h +250 -0
- package/runtime/third_party/boringssl/include/openssl/span.h +376 -0
- package/runtime/third_party/boringssl/include/openssl/srtp.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/ssl.h +7211 -0
- package/runtime/third_party/boringssl/include/openssl/ssl3.h +171 -0
- package/runtime/third_party/boringssl/include/openssl/stack.h +688 -0
- package/runtime/third_party/boringssl/include/openssl/target.h +246 -0
- package/runtime/third_party/boringssl/include/openssl/thread.h +114 -0
- package/runtime/third_party/boringssl/include/openssl/time.h +22 -0
- package/runtime/third_party/boringssl/include/openssl/tls1.h +263 -0
- package/runtime/third_party/boringssl/include/openssl/tls_prf.h +47 -0
- package/runtime/third_party/boringssl/include/openssl/trust_token.h +349 -0
- package/runtime/third_party/boringssl/include/openssl/type_check.h +37 -0
- package/runtime/third_party/boringssl/include/openssl/types.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/x509.h +5404 -0
- package/runtime/third_party/boringssl/include/openssl/x509_vfy.h +18 -0
- package/runtime/third_party/boringssl/include/openssl/x509v3.h +63 -0
- package/runtime/third_party/boringssl/include/openssl/x509v3_errors.h +84 -0
- package/runtime/third_party/boringssl/include/openssl/xwing.h +115 -0
- package/runtime/third_party/boringssl/sources.json +696 -0
- package/runtime/third_party/boringssl/ssl/bio_ssl.cc +196 -0
- package/runtime/third_party/boringssl/ssl/d1_both.cc +1137 -0
- package/runtime/third_party/boringssl/ssl/d1_lib.cc +245 -0
- package/runtime/third_party/boringssl/ssl/d1_pkt.cc +322 -0
- package/runtime/third_party/boringssl/ssl/d1_srtp.cc +128 -0
- package/runtime/third_party/boringssl/ssl/dtls_method.cc +216 -0
- package/runtime/third_party/boringssl/ssl/dtls_record.cc +586 -0
- package/runtime/third_party/boringssl/ssl/encrypted_client_hello.cc +1110 -0
- package/runtime/third_party/boringssl/ssl/extensions.cc +5368 -0
- package/runtime/third_party/boringssl/ssl/handoff.cc +625 -0
- package/runtime/third_party/boringssl/ssl/handshake.cc +694 -0
- package/runtime/third_party/boringssl/ssl/handshake_client.cc +1958 -0
- package/runtime/third_party/boringssl/ssl/handshake_server.cc +1875 -0
- package/runtime/third_party/boringssl/ssl/internal.h +4506 -0
- package/runtime/third_party/boringssl/ssl/s3_both.cc +555 -0
- package/runtime/third_party/boringssl/ssl/s3_lib.cc +88 -0
- package/runtime/third_party/boringssl/ssl/s3_pkt.cc +396 -0
- package/runtime/third_party/boringssl/ssl/ssl_aead_ctx.cc +416 -0
- package/runtime/third_party/boringssl/ssl/ssl_asn1.cc +851 -0
- package/runtime/third_party/boringssl/ssl/ssl_buffer.cc +304 -0
- package/runtime/third_party/boringssl/ssl/ssl_cert.cc +723 -0
- package/runtime/third_party/boringssl/ssl/ssl_cipher.cc +1762 -0
- package/runtime/third_party/boringssl/ssl/ssl_credential.cc +913 -0
- package/runtime/third_party/boringssl/ssl/ssl_file.cc +375 -0
- package/runtime/third_party/boringssl/ssl/ssl_key_share.cc +445 -0
- package/runtime/third_party/boringssl/ssl/ssl_lib.cc +4132 -0
- package/runtime/third_party/boringssl/ssl/ssl_privkey.cc +973 -0
- package/runtime/third_party/boringssl/ssl/ssl_session.cc +1273 -0
- package/runtime/third_party/boringssl/ssl/ssl_stat.cc +162 -0
- package/runtime/third_party/boringssl/ssl/ssl_transcript.cc +224 -0
- package/runtime/third_party/boringssl/ssl/ssl_versions.cc +436 -0
- package/runtime/third_party/boringssl/ssl/ssl_x509.cc +1229 -0
- package/runtime/third_party/boringssl/ssl/t1_enc.cc +266 -0
- package/runtime/third_party/boringssl/ssl/tls13_both.cc +764 -0
- package/runtime/third_party/boringssl/ssl/tls13_client.cc +1325 -0
- package/runtime/third_party/boringssl/ssl/tls13_enc.cc +746 -0
- package/runtime/third_party/boringssl/ssl/tls13_server.cc +1623 -0
- package/runtime/third_party/boringssl/ssl/tls_method.cc +266 -0
- package/runtime/third_party/boringssl/ssl/tls_record.cc +524 -0
- package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_mul.S +178 -0
- package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_square.S +146 -0
- package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_mul.S +177 -0
- package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_sqr.S +166 -0
- package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_bareminimum.c.inc +47 -0
- package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_platform.c.inc +137 -0
- package/runtime/third_party/boringssl/third_party/fiat/curve25519_32.h +1571 -0
- package/runtime/third_party/boringssl/third_party/fiat/curve25519_64.h +978 -0
- package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_adx.h +700 -0
- package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_msvc.h +1281 -0
- package/runtime/third_party/boringssl/third_party/fiat/p256_32.h +4760 -0
- package/runtime/third_party/boringssl/third_party/fiat/p256_64.h +1984 -0
- package/runtime/third_party/boringssl/third_party/fiat/p256_64_msvc.h +1939 -0
- package/runtime/third_party/boringssl/third_party/fiat/p256_field.c.inc +26 -0
- package/runtime/third_party/boringssl/third_party/fiat/p256_field_32.br.c.inc +71 -0
- package/runtime/third_party/boringssl/third_party/fiat/p256_field_64.br.c.inc +84 -0
- package/runtime/third_party/boringssl/third_party/fiat/p256_point.br.c.inc +112 -0
- package/runtime/third_party/v8-ieee754/README.md +2 -1
- package/runtime/third_party/v8-ieee754/convert.py +4 -0
- package/runtime/third_party/v8-ieee754/ieee754.c +1 -1
- package/runtime/third_party/bearssl/LICENSE.txt +0 -21
- package/runtime/third_party/bearssl/README.txt +0 -136
- package/runtime/third_party/bearssl/VERSION +0 -1
- package/runtime/third_party/bearssl/inc/bearssl.h +0 -183
- package/runtime/third_party/bearssl/inc/bearssl_aead.h +0 -1059
- package/runtime/third_party/bearssl/inc/bearssl_block.h +0 -2618
- package/runtime/third_party/bearssl/inc/bearssl_ec.h +0 -967
- package/runtime/third_party/bearssl/inc/bearssl_hash.h +0 -1346
- package/runtime/third_party/bearssl/inc/bearssl_hmac.h +0 -241
- package/runtime/third_party/bearssl/inc/bearssl_kdf.h +0 -284
- package/runtime/third_party/bearssl/inc/bearssl_pem.h +0 -294
- package/runtime/third_party/bearssl/inc/bearssl_prf.h +0 -150
- package/runtime/third_party/bearssl/inc/bearssl_rand.h +0 -397
- package/runtime/third_party/bearssl/inc/bearssl_rsa.h +0 -1655
- package/runtime/third_party/bearssl/inc/bearssl_ssl.h +0 -4296
- package/runtime/third_party/bearssl/inc/bearssl_x509.h +0 -1474
- package/runtime/third_party/bearssl/src/aead/ccm.c +0 -346
- package/runtime/third_party/bearssl/src/aead/eax.c +0 -525
- package/runtime/third_party/bearssl/src/aead/gcm.c +0 -318
- package/runtime/third_party/bearssl/src/codec/ccopy.c +0 -44
- package/runtime/third_party/bearssl/src/codec/dec16be.c +0 -38
- package/runtime/third_party/bearssl/src/codec/dec16le.c +0 -38
- package/runtime/third_party/bearssl/src/codec/dec32be.c +0 -38
- package/runtime/third_party/bearssl/src/codec/dec32le.c +0 -38
- package/runtime/third_party/bearssl/src/codec/dec64be.c +0 -38
- package/runtime/third_party/bearssl/src/codec/dec64le.c +0 -38
- package/runtime/third_party/bearssl/src/codec/enc16be.c +0 -38
- package/runtime/third_party/bearssl/src/codec/enc16le.c +0 -38
- package/runtime/third_party/bearssl/src/codec/enc32be.c +0 -38
- package/runtime/third_party/bearssl/src/codec/enc32le.c +0 -38
- package/runtime/third_party/bearssl/src/codec/enc64be.c +0 -38
- package/runtime/third_party/bearssl/src/codec/enc64le.c +0 -38
- package/runtime/third_party/bearssl/src/codec/pemdec.c +0 -526
- package/runtime/third_party/bearssl/src/codec/pemdec.t0 +0 -314
- package/runtime/third_party/bearssl/src/codec/pemenc.c +0 -173
- package/runtime/third_party/bearssl/src/config.h +0 -247
- package/runtime/third_party/bearssl/src/ec/ec_all_m15.c +0 -121
- package/runtime/third_party/bearssl/src/ec/ec_all_m31.c +0 -171
- package/runtime/third_party/bearssl/src/ec/ec_c25519_i15.c +0 -398
- package/runtime/third_party/bearssl/src/ec/ec_c25519_i31.c +0 -390
- package/runtime/third_party/bearssl/src/ec/ec_c25519_m15.c +0 -1478
- package/runtime/third_party/bearssl/src/ec/ec_c25519_m31.c +0 -800
- package/runtime/third_party/bearssl/src/ec/ec_c25519_m62.c +0 -605
- package/runtime/third_party/bearssl/src/ec/ec_c25519_m64.c +0 -831
- package/runtime/third_party/bearssl/src/ec/ec_curve25519.c +0 -46
- package/runtime/third_party/bearssl/src/ec/ec_default.c +0 -36
- package/runtime/third_party/bearssl/src/ec/ec_keygen.c +0 -86
- package/runtime/third_party/bearssl/src/ec/ec_p256_m15.c +0 -2124
- package/runtime/third_party/bearssl/src/ec/ec_p256_m31.c +0 -1469
- package/runtime/third_party/bearssl/src/ec/ec_p256_m62.c +0 -1765
- package/runtime/third_party/bearssl/src/ec/ec_p256_m64.c +0 -1781
- package/runtime/third_party/bearssl/src/ec/ec_prime_i15.c +0 -824
- package/runtime/third_party/bearssl/src/ec/ec_prime_i31.c +0 -826
- package/runtime/third_party/bearssl/src/ec/ec_pubkey.c +0 -85
- package/runtime/third_party/bearssl/src/ec/ec_secp256r1.c +0 -51
- package/runtime/third_party/bearssl/src/ec/ec_secp384r1.c +0 -57
- package/runtime/third_party/bearssl/src/ec/ec_secp521r1.c +0 -64
- package/runtime/third_party/bearssl/src/ec/ecdsa_atr.c +0 -134
- package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_asn1.c +0 -36
- package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_raw.c +0 -36
- package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_asn1.c +0 -36
- package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_raw.c +0 -36
- package/runtime/third_party/bearssl/src/ec/ecdsa_i15_bits.c +0 -47
- package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_asn1.c +0 -45
- package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_raw.c +0 -174
- package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_asn1.c +0 -48
- package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_raw.c +0 -166
- package/runtime/third_party/bearssl/src/ec/ecdsa_i31_bits.c +0 -47
- package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_asn1.c +0 -45
- package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_raw.c +0 -173
- package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_asn1.c +0 -48
- package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_raw.c +0 -165
- package/runtime/third_party/bearssl/src/ec/ecdsa_rta.c +0 -121
- package/runtime/third_party/bearssl/src/hash/dig_oid.c +0 -84
- package/runtime/third_party/bearssl/src/hash/dig_size.c +0 -50
- package/runtime/third_party/bearssl/src/hash/ghash_ctmul.c +0 -345
- package/runtime/third_party/bearssl/src/hash/ghash_ctmul32.c +0 -251
- package/runtime/third_party/bearssl/src/hash/ghash_ctmul64.c +0 -154
- package/runtime/third_party/bearssl/src/hash/ghash_pclmul.c +0 -389
- package/runtime/third_party/bearssl/src/hash/ghash_pwr8.c +0 -411
- package/runtime/third_party/bearssl/src/hash/md5.c +0 -208
- package/runtime/third_party/bearssl/src/hash/md5sha1.c +0 -141
- package/runtime/third_party/bearssl/src/hash/mgf1.c +0 -56
- package/runtime/third_party/bearssl/src/hash/multihash.c +0 -166
- package/runtime/third_party/bearssl/src/hash/sha1.c +0 -191
- package/runtime/third_party/bearssl/src/hash/sha2big.c +0 -285
- package/runtime/third_party/bearssl/src/hash/sha2small.c +0 -341
- package/runtime/third_party/bearssl/src/inner.h +0 -2577
- package/runtime/third_party/bearssl/src/int/i15_add.c +0 -46
- package/runtime/third_party/bearssl/src/int/i15_bitlen.c +0 -44
- package/runtime/third_party/bearssl/src/int/i15_decmod.c +0 -124
- package/runtime/third_party/bearssl/src/int/i15_decode.c +0 -56
- package/runtime/third_party/bearssl/src/int/i15_decred.c +0 -100
- package/runtime/third_party/bearssl/src/int/i15_encode.c +0 -56
- package/runtime/third_party/bearssl/src/int/i15_fmont.c +0 -59
- package/runtime/third_party/bearssl/src/int/i15_iszero.c +0 -39
- package/runtime/third_party/bearssl/src/int/i15_moddiv.c +0 -465
- package/runtime/third_party/bearssl/src/int/i15_modpow.c +0 -50
- package/runtime/third_party/bearssl/src/int/i15_modpow2.c +0 -160
- package/runtime/third_party/bearssl/src/int/i15_montmul.c +0 -184
- package/runtime/third_party/bearssl/src/int/i15_mulacc.c +0 -61
- package/runtime/third_party/bearssl/src/int/i15_muladd.c +0 -173
- package/runtime/third_party/bearssl/src/int/i15_ninv15.c +0 -38
- package/runtime/third_party/bearssl/src/int/i15_reduce.c +0 -66
- package/runtime/third_party/bearssl/src/int/i15_rshift.c +0 -47
- package/runtime/third_party/bearssl/src/int/i15_sub.c +0 -46
- package/runtime/third_party/bearssl/src/int/i15_tmont.c +0 -36
- package/runtime/third_party/bearssl/src/int/i31_add.c +0 -46
- package/runtime/third_party/bearssl/src/int/i31_bitlen.c +0 -44
- package/runtime/third_party/bearssl/src/int/i31_decmod.c +0 -124
- package/runtime/third_party/bearssl/src/int/i31_decode.c +0 -57
- package/runtime/third_party/bearssl/src/int/i31_decred.c +0 -103
- package/runtime/third_party/bearssl/src/int/i31_encode.c +0 -79
- package/runtime/third_party/bearssl/src/int/i31_fmont.c +0 -60
- package/runtime/third_party/bearssl/src/int/i31_iszero.c +0 -39
- package/runtime/third_party/bearssl/src/int/i31_moddiv.c +0 -488
- package/runtime/third_party/bearssl/src/int/i31_modpow.c +0 -65
- package/runtime/third_party/bearssl/src/int/i31_modpow2.c +0 -160
- package/runtime/third_party/bearssl/src/int/i31_montmul.c +0 -127
- package/runtime/third_party/bearssl/src/int/i31_mulacc.c +0 -74
- package/runtime/third_party/bearssl/src/int/i31_muladd.c +0 -157
- package/runtime/third_party/bearssl/src/int/i31_ninv31.c +0 -39
- package/runtime/third_party/bearssl/src/int/i31_reduce.c +0 -66
- package/runtime/third_party/bearssl/src/int/i31_rshift.c +0 -47
- package/runtime/third_party/bearssl/src/int/i31_sub.c +0 -46
- package/runtime/third_party/bearssl/src/int/i31_tmont.c +0 -36
- package/runtime/third_party/bearssl/src/int/i32_add.c +0 -51
- package/runtime/third_party/bearssl/src/int/i32_bitlen.c +0 -44
- package/runtime/third_party/bearssl/src/int/i32_decmod.c +0 -77
- package/runtime/third_party/bearssl/src/int/i32_decode.c +0 -63
- package/runtime/third_party/bearssl/src/int/i32_decred.c +0 -107
- package/runtime/third_party/bearssl/src/int/i32_div32.c +0 -56
- package/runtime/third_party/bearssl/src/int/i32_encode.c +0 -72
- package/runtime/third_party/bearssl/src/int/i32_fmont.c +0 -60
- package/runtime/third_party/bearssl/src/int/i32_iszero.c +0 -39
- package/runtime/third_party/bearssl/src/int/i32_modpow.c +0 -65
- package/runtime/third_party/bearssl/src/int/i32_montmul.c +0 -69
- package/runtime/third_party/bearssl/src/int/i32_mulacc.c +0 -56
- package/runtime/third_party/bearssl/src/int/i32_muladd.c +0 -138
- package/runtime/third_party/bearssl/src/int/i32_ninv32.c +0 -39
- package/runtime/third_party/bearssl/src/int/i32_reduce.c +0 -66
- package/runtime/third_party/bearssl/src/int/i32_sub.c +0 -51
- package/runtime/third_party/bearssl/src/int/i32_tmont.c +0 -36
- package/runtime/third_party/bearssl/src/int/i62_modpow2.c +0 -493
- package/runtime/third_party/bearssl/src/kdf/hkdf.c +0 -107
- package/runtime/third_party/bearssl/src/kdf/shake.c +0 -590
- package/runtime/third_party/bearssl/src/mac/hmac.c +0 -122
- package/runtime/third_party/bearssl/src/mac/hmac_ct.c +0 -193
- package/runtime/third_party/bearssl/src/rand/aesctr_drbg.c +0 -206
- package/runtime/third_party/bearssl/src/rand/hmac_drbg.c +0 -157
- package/runtime/third_party/bearssl/src/rand/sysrng.c +0 -252
- package/runtime/third_party/bearssl/src/rsa/rsa_default_keygen.c +0 -38
- package/runtime/third_party/bearssl/src/rsa/rsa_default_modulus.c +0 -36
- package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_decrypt.c +0 -38
- package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_encrypt.c +0 -38
- package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_sign.c +0 -38
- package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_vrfy.c +0 -38
- package/runtime/third_party/bearssl/src/rsa/rsa_default_priv.c +0 -38
- package/runtime/third_party/bearssl/src/rsa/rsa_default_privexp.c +0 -36
- package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_sign.c +0 -38
- package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_vrfy.c +0 -38
- package/runtime/third_party/bearssl/src/rsa/rsa_default_pub.c +0 -38
- package/runtime/third_party/bearssl/src/rsa/rsa_default_pubexp.c +0 -36
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_keygen.c +0 -583
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_modulus.c +0 -99
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_decrypt.c +0 -41
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_encrypt.c +0 -44
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_sign.c +0 -37
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_vrfy.c +0 -43
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_priv.c +0 -209
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_privexp.c +0 -320
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_sign.c +0 -40
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_vrfy.c +0 -44
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_pub.c +0 -113
- package/runtime/third_party/bearssl/src/rsa/rsa_i15_pubexp.c +0 -152
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen.c +0 -37
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen_inner.c +0 -608
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_modulus.c +0 -99
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_decrypt.c +0 -41
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_encrypt.c +0 -44
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_sign.c +0 -37
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_vrfy.c +0 -43
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_priv.c +0 -203
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_privexp.c +0 -318
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_sign.c +0 -40
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_vrfy.c +0 -44
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_pub.c +0 -106
- package/runtime/third_party/bearssl/src/rsa/rsa_i31_pubexp.c +0 -152
- package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_decrypt.c +0 -41
- package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_encrypt.c +0 -44
- package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_sign.c +0 -37
- package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_vrfy.c +0 -43
- package/runtime/third_party/bearssl/src/rsa/rsa_i32_priv.c +0 -160
- package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_sign.c +0 -40
- package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_vrfy.c +0 -44
- package/runtime/third_party/bearssl/src/rsa/rsa_i32_pub.c +0 -77
- package/runtime/third_party/bearssl/src/rsa/rsa_i62_keygen.c +0 -57
- package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_decrypt.c +0 -61
- package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_encrypt.c +0 -64
- package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_sign.c +0 -57
- package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_vrfy.c +0 -63
- package/runtime/third_party/bearssl/src/rsa/rsa_i62_priv.c +0 -223
- package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_sign.c +0 -60
- package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_vrfy.c +0 -64
- package/runtime/third_party/bearssl/src/rsa/rsa_i62_pub.c +0 -125
- package/runtime/third_party/bearssl/src/rsa/rsa_oaep_pad.c +0 -112
- package/runtime/third_party/bearssl/src/rsa/rsa_oaep_unpad.c +0 -145
- package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_pad.c +0 -100
- package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_unpad.c +0 -121
- package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_pad.c +0 -106
- package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_unpad.c +0 -121
- package/runtime/third_party/bearssl/src/rsa/rsa_ssl_decrypt.c +0 -52
- package/runtime/third_party/bearssl/src/settings.c +0 -306
- package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcdec.c +0 -69
- package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcenc.c +0 -67
- package/runtime/third_party/bearssl/src/symcipher/aes_big_ctr.c +0 -84
- package/runtime/third_party/bearssl/src/symcipher/aes_big_ctrcbc.c +0 -142
- package/runtime/third_party/bearssl/src/symcipher/aes_big_dec.c +0 -254
- package/runtime/third_party/bearssl/src/symcipher/aes_big_enc.c +0 -157
- package/runtime/third_party/bearssl/src/symcipher/aes_common.c +0 -112
- package/runtime/third_party/bearssl/src/symcipher/aes_ct.c +0 -328
- package/runtime/third_party/bearssl/src/symcipher/aes_ct64.c +0 -398
- package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcdec.c +0 -104
- package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcenc.c +0 -81
- package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctr.c +0 -114
- package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctrcbc.c +0 -433
- package/runtime/third_party/bearssl/src/symcipher/aes_ct64_dec.c +0 -159
- package/runtime/third_party/bearssl/src/symcipher/aes_ct64_enc.c +0 -115
- package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcdec.c +0 -111
- package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcenc.c +0 -91
- package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctr.c +0 -116
- package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctrcbc.c +0 -422
- package/runtime/third_party/bearssl/src/symcipher/aes_ct_dec.c +0 -170
- package/runtime/third_party/bearssl/src/symcipher/aes_ct_enc.c +0 -112
- package/runtime/third_party/bearssl/src/symcipher/aes_pwr8.c +0 -445
- package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcdec.c +0 -670
- package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcenc.c +0 -417
- package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctr.c +0 -717
- package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctrcbc.c +0 -946
- package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcdec.c +0 -69
- package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcenc.c +0 -67
- package/runtime/third_party/bearssl/src/symcipher/aes_small_ctr.c +0 -84
- package/runtime/third_party/bearssl/src/symcipher/aes_small_ctrcbc.c +0 -142
- package/runtime/third_party/bearssl/src/symcipher/aes_small_dec.c +0 -176
- package/runtime/third_party/bearssl/src/symcipher/aes_small_enc.c +0 -129
- package/runtime/third_party/bearssl/src/symcipher/aes_x86ni.c +0 -240
- package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcdec.c +0 -223
- package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcenc.c +0 -122
- package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctr.c +0 -211
- package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctrcbc.c +0 -596
- package/runtime/third_party/bearssl/src/symcipher/chacha20_ct.c +0 -106
- package/runtime/third_party/bearssl/src/symcipher/chacha20_sse2.c +0 -237
- package/runtime/third_party/bearssl/src/symcipher/des_ct.c +0 -411
- package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcdec.c +0 -87
- package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcenc.c +0 -69
- package/runtime/third_party/bearssl/src/symcipher/des_support.c +0 -166
- package/runtime/third_party/bearssl/src/symcipher/des_tab.c +0 -310
- package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcdec.c +0 -85
- package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcenc.c +0 -67
- package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul.c +0 -260
- package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul32.c +0 -297
- package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmulq.c +0 -475
- package/runtime/third_party/bearssl/src/symcipher/poly1305_i15.c +0 -221
- package/runtime/third_party/bearssl/src/x509/asn1.t0 +0 -757
- package/runtime/third_party/bearssl/src/x509/asn1enc.c +0 -93
- package/runtime/third_party/bearssl/src/x509/encode_ec_pk8der.c +0 -110
- package/runtime/third_party/bearssl/src/x509/encode_ec_rawder.c +0 -161
- package/runtime/third_party/bearssl/src/x509/encode_rsa_pk8der.c +0 -97
- package/runtime/third_party/bearssl/src/x509/encode_rsa_rawder.c +0 -96
- package/runtime/third_party/bearssl/src/x509/skey_decoder.c +0 -653
- package/runtime/third_party/bearssl/src/x509/skey_decoder.t0 +0 -376
- package/runtime/third_party/bearssl/src/x509/x509_decoder.c +0 -776
- package/runtime/third_party/bearssl/src/x509/x509_decoder.t0 +0 -324
- package/runtime/third_party/bearssl/src/x509/x509_knownkey.c +0 -105
- package/runtime/third_party/bearssl/src/x509/x509_minimal.c +0 -1722
- package/runtime/third_party/bearssl/src/x509/x509_minimal.t0 +0 -1526
- package/runtime/third_party/bearssl/src/x509/x509_minimal_full.c +0 -59
|
@@ -0,0 +1,1744 @@
|
|
|
1
|
+
// This file is generated from a similarly-named Perl script in the BoringSSL
|
|
2
|
+
// source tree. Do not edit by hand.
|
|
3
|
+
|
|
4
|
+
#include <openssl/asm_base.h>
|
|
5
|
+
|
|
6
|
+
#if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_AARCH64) && defined(__APPLE__)
|
|
7
|
+
.section __TEXT,__const
|
|
8
|
+
.align 5
|
|
9
|
+
p256_constants:
|
|
10
|
+
Lpoly:
|
|
11
|
+
.quad 0xffffffffffffffff,0x00000000ffffffff,0x0000000000000000,0xffffffff00000001
|
|
12
|
+
LRR: // 2^512 mod P precomputed for NIST P256 polynomial
|
|
13
|
+
.quad 0x0000000000000003,0xfffffffbffffffff,0xfffffffffffffffe,0x00000004fffffffd
|
|
14
|
+
Lone_mont:
|
|
15
|
+
.quad 0x0000000000000001,0xffffffff00000000,0xffffffffffffffff,0x00000000fffffffe
|
|
16
|
+
Lone:
|
|
17
|
+
.quad 1,0,0,0
|
|
18
|
+
Lord:
|
|
19
|
+
.quad 0xf3b9cac2fc632551,0xbce6faada7179e84,0xffffffffffffffff,0xffffffff00000000
|
|
20
|
+
LordK:
|
|
21
|
+
.quad 0xccd1c8aaee00bc4f
|
|
22
|
+
.byte 69,67,80,95,78,73,83,84,90,50,53,54,32,102,111,114,32,65,82,77,118,56,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
|
|
23
|
+
.align 2
|
|
24
|
+
.text
|
|
25
|
+
|
|
26
|
+
// void ecp_nistz256_mul_mont(BN_ULONG x0[4],const BN_ULONG x1[4],
|
|
27
|
+
// const BN_ULONG x2[4]);
|
|
28
|
+
.globl _ecp_nistz256_mul_mont
|
|
29
|
+
.private_extern _ecp_nistz256_mul_mont
|
|
30
|
+
|
|
31
|
+
.align 4
|
|
32
|
+
_ecp_nistz256_mul_mont:
|
|
33
|
+
AARCH64_SIGN_LINK_REGISTER
|
|
34
|
+
stp x29,x30,[sp,#-32]!
|
|
35
|
+
add x29,sp,#0
|
|
36
|
+
stp x19,x20,[sp,#16]
|
|
37
|
+
|
|
38
|
+
ldr x3,[x2] // bp[0]
|
|
39
|
+
ldp x4,x5,[x1]
|
|
40
|
+
ldp x6,x7,[x1,#16]
|
|
41
|
+
adrp x13,Lpoly@PAGE
|
|
42
|
+
add x13,x13,Lpoly@PAGEOFF
|
|
43
|
+
ldr x12,[x13,#8]
|
|
44
|
+
ldr x13,[x13,#24]
|
|
45
|
+
|
|
46
|
+
bl __ecp_nistz256_mul_mont
|
|
47
|
+
|
|
48
|
+
ldp x19,x20,[sp,#16]
|
|
49
|
+
ldp x29,x30,[sp],#32
|
|
50
|
+
AARCH64_VALIDATE_LINK_REGISTER
|
|
51
|
+
ret
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
// void ecp_nistz256_sqr_mont(BN_ULONG x0[4],const BN_ULONG x1[4]);
|
|
55
|
+
.globl _ecp_nistz256_sqr_mont
|
|
56
|
+
.private_extern _ecp_nistz256_sqr_mont
|
|
57
|
+
|
|
58
|
+
.align 4
|
|
59
|
+
.alt_entry _ecp_nistz256_sqr_mont
|
|
60
|
+
_ecp_nistz256_sqr_mont:
|
|
61
|
+
AARCH64_SIGN_LINK_REGISTER
|
|
62
|
+
stp x29,x30,[sp,#-32]!
|
|
63
|
+
add x29,sp,#0
|
|
64
|
+
stp x19,x20,[sp,#16]
|
|
65
|
+
|
|
66
|
+
ldp x4,x5,[x1]
|
|
67
|
+
ldp x6,x7,[x1,#16]
|
|
68
|
+
adrp x13,Lpoly@PAGE
|
|
69
|
+
add x13,x13,Lpoly@PAGEOFF
|
|
70
|
+
ldr x12,[x13,#8]
|
|
71
|
+
ldr x13,[x13,#24]
|
|
72
|
+
|
|
73
|
+
bl __ecp_nistz256_sqr_mont
|
|
74
|
+
|
|
75
|
+
ldp x19,x20,[sp,#16]
|
|
76
|
+
ldp x29,x30,[sp],#32
|
|
77
|
+
AARCH64_VALIDATE_LINK_REGISTER
|
|
78
|
+
ret
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
// void ecp_nistz256_div_by_2(BN_ULONG x0[4],const BN_ULONG x1[4]);
|
|
82
|
+
.globl _ecp_nistz256_div_by_2
|
|
83
|
+
.private_extern _ecp_nistz256_div_by_2
|
|
84
|
+
|
|
85
|
+
.align 4
|
|
86
|
+
.alt_entry _ecp_nistz256_div_by_2
|
|
87
|
+
_ecp_nistz256_div_by_2:
|
|
88
|
+
AARCH64_SIGN_LINK_REGISTER
|
|
89
|
+
stp x29,x30,[sp,#-16]!
|
|
90
|
+
add x29,sp,#0
|
|
91
|
+
|
|
92
|
+
ldp x14,x15,[x1]
|
|
93
|
+
ldp x16,x17,[x1,#16]
|
|
94
|
+
adrp x13,Lpoly@PAGE
|
|
95
|
+
add x13,x13,Lpoly@PAGEOFF
|
|
96
|
+
ldr x12,[x13,#8]
|
|
97
|
+
ldr x13,[x13,#24]
|
|
98
|
+
|
|
99
|
+
bl __ecp_nistz256_div_by_2
|
|
100
|
+
|
|
101
|
+
ldp x29,x30,[sp],#16
|
|
102
|
+
AARCH64_VALIDATE_LINK_REGISTER
|
|
103
|
+
ret
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
// void ecp_nistz256_mul_by_2(BN_ULONG x0[4],const BN_ULONG x1[4]);
|
|
107
|
+
.globl _ecp_nistz256_mul_by_2
|
|
108
|
+
.private_extern _ecp_nistz256_mul_by_2
|
|
109
|
+
|
|
110
|
+
.align 4
|
|
111
|
+
.alt_entry _ecp_nistz256_mul_by_2
|
|
112
|
+
_ecp_nistz256_mul_by_2:
|
|
113
|
+
AARCH64_SIGN_LINK_REGISTER
|
|
114
|
+
stp x29,x30,[sp,#-16]!
|
|
115
|
+
add x29,sp,#0
|
|
116
|
+
|
|
117
|
+
ldp x14,x15,[x1]
|
|
118
|
+
ldp x16,x17,[x1,#16]
|
|
119
|
+
adrp x13,Lpoly@PAGE
|
|
120
|
+
add x13,x13,Lpoly@PAGEOFF
|
|
121
|
+
ldr x12,[x13,#8]
|
|
122
|
+
ldr x13,[x13,#24]
|
|
123
|
+
mov x8,x14
|
|
124
|
+
mov x9,x15
|
|
125
|
+
mov x10,x16
|
|
126
|
+
mov x11,x17
|
|
127
|
+
|
|
128
|
+
bl __ecp_nistz256_add_to // ret = a+a // 2*a
|
|
129
|
+
|
|
130
|
+
ldp x29,x30,[sp],#16
|
|
131
|
+
AARCH64_VALIDATE_LINK_REGISTER
|
|
132
|
+
ret
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
// void ecp_nistz256_mul_by_3(BN_ULONG x0[4],const BN_ULONG x1[4]);
|
|
136
|
+
.globl _ecp_nistz256_mul_by_3
|
|
137
|
+
.private_extern _ecp_nistz256_mul_by_3
|
|
138
|
+
|
|
139
|
+
.align 4
|
|
140
|
+
.alt_entry _ecp_nistz256_mul_by_3
|
|
141
|
+
_ecp_nistz256_mul_by_3:
|
|
142
|
+
AARCH64_SIGN_LINK_REGISTER
|
|
143
|
+
stp x29,x30,[sp,#-16]!
|
|
144
|
+
add x29,sp,#0
|
|
145
|
+
|
|
146
|
+
ldp x14,x15,[x1]
|
|
147
|
+
ldp x16,x17,[x1,#16]
|
|
148
|
+
adrp x13,Lpoly@PAGE
|
|
149
|
+
add x13,x13,Lpoly@PAGEOFF
|
|
150
|
+
ldr x12,[x13,#8]
|
|
151
|
+
ldr x13,[x13,#24]
|
|
152
|
+
mov x8,x14
|
|
153
|
+
mov x9,x15
|
|
154
|
+
mov x10,x16
|
|
155
|
+
mov x11,x17
|
|
156
|
+
mov x4,x14
|
|
157
|
+
mov x5,x15
|
|
158
|
+
mov x6,x16
|
|
159
|
+
mov x7,x17
|
|
160
|
+
|
|
161
|
+
bl __ecp_nistz256_add_to // ret = a+a // 2*a
|
|
162
|
+
|
|
163
|
+
mov x8,x4
|
|
164
|
+
mov x9,x5
|
|
165
|
+
mov x10,x6
|
|
166
|
+
mov x11,x7
|
|
167
|
+
|
|
168
|
+
bl __ecp_nistz256_add_to // ret += a // 2*a+a=3*a
|
|
169
|
+
|
|
170
|
+
ldp x29,x30,[sp],#16
|
|
171
|
+
AARCH64_VALIDATE_LINK_REGISTER
|
|
172
|
+
ret
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
// void ecp_nistz256_sub(BN_ULONG x0[4],const BN_ULONG x1[4],
|
|
176
|
+
// const BN_ULONG x2[4]);
|
|
177
|
+
.globl _ecp_nistz256_sub
|
|
178
|
+
.private_extern _ecp_nistz256_sub
|
|
179
|
+
|
|
180
|
+
.align 4
|
|
181
|
+
.alt_entry _ecp_nistz256_sub
|
|
182
|
+
_ecp_nistz256_sub:
|
|
183
|
+
AARCH64_SIGN_LINK_REGISTER
|
|
184
|
+
stp x29,x30,[sp,#-16]!
|
|
185
|
+
add x29,sp,#0
|
|
186
|
+
|
|
187
|
+
ldp x14,x15,[x1]
|
|
188
|
+
ldp x16,x17,[x1,#16]
|
|
189
|
+
adrp x13,Lpoly@PAGE
|
|
190
|
+
add x13,x13,Lpoly@PAGEOFF
|
|
191
|
+
ldr x12,[x13,#8]
|
|
192
|
+
ldr x13,[x13,#24]
|
|
193
|
+
|
|
194
|
+
bl __ecp_nistz256_sub_from
|
|
195
|
+
|
|
196
|
+
ldp x29,x30,[sp],#16
|
|
197
|
+
AARCH64_VALIDATE_LINK_REGISTER
|
|
198
|
+
ret
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
// void ecp_nistz256_neg(BN_ULONG x0[4],const BN_ULONG x1[4]);
|
|
202
|
+
.globl _ecp_nistz256_neg
|
|
203
|
+
.private_extern _ecp_nistz256_neg
|
|
204
|
+
|
|
205
|
+
.align 4
|
|
206
|
+
.alt_entry _ecp_nistz256_neg
|
|
207
|
+
_ecp_nistz256_neg:
|
|
208
|
+
AARCH64_SIGN_LINK_REGISTER
|
|
209
|
+
stp x29,x30,[sp,#-16]!
|
|
210
|
+
add x29,sp,#0
|
|
211
|
+
|
|
212
|
+
mov x2,x1
|
|
213
|
+
mov x14,xzr // a = 0
|
|
214
|
+
mov x15,xzr
|
|
215
|
+
mov x16,xzr
|
|
216
|
+
mov x17,xzr
|
|
217
|
+
adrp x13,Lpoly@PAGE
|
|
218
|
+
add x13,x13,Lpoly@PAGEOFF
|
|
219
|
+
ldr x12,[x13,#8]
|
|
220
|
+
ldr x13,[x13,#24]
|
|
221
|
+
|
|
222
|
+
bl __ecp_nistz256_sub_from
|
|
223
|
+
|
|
224
|
+
ldp x29,x30,[sp],#16
|
|
225
|
+
AARCH64_VALIDATE_LINK_REGISTER
|
|
226
|
+
ret
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
// note that __ecp_nistz256_mul_mont expects a[0-3] input pre-loaded
|
|
230
|
+
// to x4-x7 and b[0] - to x3
|
|
231
|
+
|
|
232
|
+
.align 4
|
|
233
|
+
.alt_entry __ecp_nistz256_mul_mont
|
|
234
|
+
__ecp_nistz256_mul_mont:
|
|
235
|
+
mul x14,x4,x3 // a[0]*b[0]
|
|
236
|
+
umulh x8,x4,x3
|
|
237
|
+
|
|
238
|
+
mul x15,x5,x3 // a[1]*b[0]
|
|
239
|
+
umulh x9,x5,x3
|
|
240
|
+
|
|
241
|
+
mul x16,x6,x3 // a[2]*b[0]
|
|
242
|
+
umulh x10,x6,x3
|
|
243
|
+
|
|
244
|
+
mul x17,x7,x3 // a[3]*b[0]
|
|
245
|
+
umulh x11,x7,x3
|
|
246
|
+
ldr x3,[x2,#8] // b[1]
|
|
247
|
+
|
|
248
|
+
adds x15,x15,x8 // accumulate high parts of multiplication
|
|
249
|
+
lsl x8,x14,#32
|
|
250
|
+
adcs x16,x16,x9
|
|
251
|
+
lsr x9,x14,#32
|
|
252
|
+
adcs x17,x17,x10
|
|
253
|
+
adc x19,xzr,x11
|
|
254
|
+
mov x20,xzr
|
|
255
|
+
subs x10,x14,x8 // "*0xffff0001"
|
|
256
|
+
sbc x11,x14,x9
|
|
257
|
+
adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
|
|
258
|
+
mul x8,x4,x3 // lo(a[0]*b[i])
|
|
259
|
+
adcs x15,x16,x9
|
|
260
|
+
mul x9,x5,x3 // lo(a[1]*b[i])
|
|
261
|
+
adcs x16,x17,x10 // +=acc[0]*0xffff0001
|
|
262
|
+
mul x10,x6,x3 // lo(a[2]*b[i])
|
|
263
|
+
adcs x17,x19,x11
|
|
264
|
+
mul x11,x7,x3 // lo(a[3]*b[i])
|
|
265
|
+
adc x19,x20,xzr
|
|
266
|
+
|
|
267
|
+
adds x14,x14,x8 // accumulate low parts of multiplication
|
|
268
|
+
umulh x8,x4,x3 // hi(a[0]*b[i])
|
|
269
|
+
adcs x15,x15,x9
|
|
270
|
+
umulh x9,x5,x3 // hi(a[1]*b[i])
|
|
271
|
+
adcs x16,x16,x10
|
|
272
|
+
umulh x10,x6,x3 // hi(a[2]*b[i])
|
|
273
|
+
adcs x17,x17,x11
|
|
274
|
+
umulh x11,x7,x3 // hi(a[3]*b[i])
|
|
275
|
+
adc x19,x19,xzr
|
|
276
|
+
ldr x3,[x2,#8*(1+1)] // b[1+1]
|
|
277
|
+
adds x15,x15,x8 // accumulate high parts of multiplication
|
|
278
|
+
lsl x8,x14,#32
|
|
279
|
+
adcs x16,x16,x9
|
|
280
|
+
lsr x9,x14,#32
|
|
281
|
+
adcs x17,x17,x10
|
|
282
|
+
adcs x19,x19,x11
|
|
283
|
+
adc x20,xzr,xzr
|
|
284
|
+
subs x10,x14,x8 // "*0xffff0001"
|
|
285
|
+
sbc x11,x14,x9
|
|
286
|
+
adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
|
|
287
|
+
mul x8,x4,x3 // lo(a[0]*b[i])
|
|
288
|
+
adcs x15,x16,x9
|
|
289
|
+
mul x9,x5,x3 // lo(a[1]*b[i])
|
|
290
|
+
adcs x16,x17,x10 // +=acc[0]*0xffff0001
|
|
291
|
+
mul x10,x6,x3 // lo(a[2]*b[i])
|
|
292
|
+
adcs x17,x19,x11
|
|
293
|
+
mul x11,x7,x3 // lo(a[3]*b[i])
|
|
294
|
+
adc x19,x20,xzr
|
|
295
|
+
|
|
296
|
+
adds x14,x14,x8 // accumulate low parts of multiplication
|
|
297
|
+
umulh x8,x4,x3 // hi(a[0]*b[i])
|
|
298
|
+
adcs x15,x15,x9
|
|
299
|
+
umulh x9,x5,x3 // hi(a[1]*b[i])
|
|
300
|
+
adcs x16,x16,x10
|
|
301
|
+
umulh x10,x6,x3 // hi(a[2]*b[i])
|
|
302
|
+
adcs x17,x17,x11
|
|
303
|
+
umulh x11,x7,x3 // hi(a[3]*b[i])
|
|
304
|
+
adc x19,x19,xzr
|
|
305
|
+
ldr x3,[x2,#8*(2+1)] // b[2+1]
|
|
306
|
+
adds x15,x15,x8 // accumulate high parts of multiplication
|
|
307
|
+
lsl x8,x14,#32
|
|
308
|
+
adcs x16,x16,x9
|
|
309
|
+
lsr x9,x14,#32
|
|
310
|
+
adcs x17,x17,x10
|
|
311
|
+
adcs x19,x19,x11
|
|
312
|
+
adc x20,xzr,xzr
|
|
313
|
+
subs x10,x14,x8 // "*0xffff0001"
|
|
314
|
+
sbc x11,x14,x9
|
|
315
|
+
adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
|
|
316
|
+
mul x8,x4,x3 // lo(a[0]*b[i])
|
|
317
|
+
adcs x15,x16,x9
|
|
318
|
+
mul x9,x5,x3 // lo(a[1]*b[i])
|
|
319
|
+
adcs x16,x17,x10 // +=acc[0]*0xffff0001
|
|
320
|
+
mul x10,x6,x3 // lo(a[2]*b[i])
|
|
321
|
+
adcs x17,x19,x11
|
|
322
|
+
mul x11,x7,x3 // lo(a[3]*b[i])
|
|
323
|
+
adc x19,x20,xzr
|
|
324
|
+
|
|
325
|
+
adds x14,x14,x8 // accumulate low parts of multiplication
|
|
326
|
+
umulh x8,x4,x3 // hi(a[0]*b[i])
|
|
327
|
+
adcs x15,x15,x9
|
|
328
|
+
umulh x9,x5,x3 // hi(a[1]*b[i])
|
|
329
|
+
adcs x16,x16,x10
|
|
330
|
+
umulh x10,x6,x3 // hi(a[2]*b[i])
|
|
331
|
+
adcs x17,x17,x11
|
|
332
|
+
umulh x11,x7,x3 // hi(a[3]*b[i])
|
|
333
|
+
adc x19,x19,xzr
|
|
334
|
+
adds x15,x15,x8 // accumulate high parts of multiplication
|
|
335
|
+
lsl x8,x14,#32
|
|
336
|
+
adcs x16,x16,x9
|
|
337
|
+
lsr x9,x14,#32
|
|
338
|
+
adcs x17,x17,x10
|
|
339
|
+
adcs x19,x19,x11
|
|
340
|
+
adc x20,xzr,xzr
|
|
341
|
+
// last reduction
|
|
342
|
+
subs x10,x14,x8 // "*0xffff0001"
|
|
343
|
+
sbc x11,x14,x9
|
|
344
|
+
adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
|
|
345
|
+
adcs x15,x16,x9
|
|
346
|
+
adcs x16,x17,x10 // +=acc[0]*0xffff0001
|
|
347
|
+
adcs x17,x19,x11
|
|
348
|
+
adc x19,x20,xzr
|
|
349
|
+
|
|
350
|
+
adds x8,x14,#1 // subs x8,x14,#-1 // tmp = ret-modulus
|
|
351
|
+
sbcs x9,x15,x12
|
|
352
|
+
sbcs x10,x16,xzr
|
|
353
|
+
sbcs x11,x17,x13
|
|
354
|
+
sbcs xzr,x19,xzr // did it borrow?
|
|
355
|
+
|
|
356
|
+
csel x14,x14,x8,lo // ret = borrow ? ret : ret-modulus
|
|
357
|
+
csel x15,x15,x9,lo
|
|
358
|
+
csel x16,x16,x10,lo
|
|
359
|
+
stp x14,x15,[x0]
|
|
360
|
+
csel x17,x17,x11,lo
|
|
361
|
+
stp x16,x17,[x0,#16]
|
|
362
|
+
|
|
363
|
+
ret
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
// note that __ecp_nistz256_sqr_mont expects a[0-3] input pre-loaded
|
|
367
|
+
// to x4-x7
|
|
368
|
+
|
|
369
|
+
.align 4
|
|
370
|
+
.alt_entry __ecp_nistz256_sqr_mont
|
|
371
|
+
__ecp_nistz256_sqr_mont:
|
|
372
|
+
// | | | | | |a1*a0| |
|
|
373
|
+
// | | | | |a2*a0| | |
|
|
374
|
+
// | |a3*a2|a3*a0| | | |
|
|
375
|
+
// | | | |a2*a1| | | |
|
|
376
|
+
// | | |a3*a1| | | | |
|
|
377
|
+
// *| | | | | | | | 2|
|
|
378
|
+
// +|a3*a3|a2*a2|a1*a1|a0*a0|
|
|
379
|
+
// |--+--+--+--+--+--+--+--|
|
|
380
|
+
// |A7|A6|A5|A4|A3|A2|A1|A0|, where Ax is , i.e. follow
|
|
381
|
+
//
|
|
382
|
+
// "can't overflow" below mark carrying into high part of
|
|
383
|
+
// multiplication result, which can't overflow, because it
|
|
384
|
+
// can never be all ones.
|
|
385
|
+
|
|
386
|
+
mul x15,x5,x4 // a[1]*a[0]
|
|
387
|
+
umulh x9,x5,x4
|
|
388
|
+
mul x16,x6,x4 // a[2]*a[0]
|
|
389
|
+
umulh x10,x6,x4
|
|
390
|
+
mul x17,x7,x4 // a[3]*a[0]
|
|
391
|
+
umulh x19,x7,x4
|
|
392
|
+
|
|
393
|
+
adds x16,x16,x9 // accumulate high parts of multiplication
|
|
394
|
+
mul x8,x6,x5 // a[2]*a[1]
|
|
395
|
+
umulh x9,x6,x5
|
|
396
|
+
adcs x17,x17,x10
|
|
397
|
+
mul x10,x7,x5 // a[3]*a[1]
|
|
398
|
+
umulh x11,x7,x5
|
|
399
|
+
adc x19,x19,xzr // can't overflow
|
|
400
|
+
|
|
401
|
+
mul x20,x7,x6 // a[3]*a[2]
|
|
402
|
+
umulh x1,x7,x6
|
|
403
|
+
|
|
404
|
+
adds x9,x9,x10 // accumulate high parts of multiplication
|
|
405
|
+
mul x14,x4,x4 // a[0]*a[0]
|
|
406
|
+
adc x10,x11,xzr // can't overflow
|
|
407
|
+
|
|
408
|
+
adds x17,x17,x8 // accumulate low parts of multiplication
|
|
409
|
+
umulh x4,x4,x4
|
|
410
|
+
adcs x19,x19,x9
|
|
411
|
+
mul x9,x5,x5 // a[1]*a[1]
|
|
412
|
+
adcs x20,x20,x10
|
|
413
|
+
umulh x5,x5,x5
|
|
414
|
+
adc x1,x1,xzr // can't overflow
|
|
415
|
+
|
|
416
|
+
adds x15,x15,x15 // acc[1-6]*=2
|
|
417
|
+
mul x10,x6,x6 // a[2]*a[2]
|
|
418
|
+
adcs x16,x16,x16
|
|
419
|
+
umulh x6,x6,x6
|
|
420
|
+
adcs x17,x17,x17
|
|
421
|
+
mul x11,x7,x7 // a[3]*a[3]
|
|
422
|
+
adcs x19,x19,x19
|
|
423
|
+
umulh x7,x7,x7
|
|
424
|
+
adcs x20,x20,x20
|
|
425
|
+
adcs x1,x1,x1
|
|
426
|
+
adc x2,xzr,xzr
|
|
427
|
+
|
|
428
|
+
adds x15,x15,x4 // +a[i]*a[i]
|
|
429
|
+
adcs x16,x16,x9
|
|
430
|
+
adcs x17,x17,x5
|
|
431
|
+
adcs x19,x19,x10
|
|
432
|
+
adcs x20,x20,x6
|
|
433
|
+
lsl x8,x14,#32
|
|
434
|
+
adcs x1,x1,x11
|
|
435
|
+
lsr x9,x14,#32
|
|
436
|
+
adc x2,x2,x7
|
|
437
|
+
subs x10,x14,x8 // "*0xffff0001"
|
|
438
|
+
sbc x11,x14,x9
|
|
439
|
+
adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
|
|
440
|
+
adcs x15,x16,x9
|
|
441
|
+
lsl x8,x14,#32
|
|
442
|
+
adcs x16,x17,x10 // +=acc[0]*0xffff0001
|
|
443
|
+
lsr x9,x14,#32
|
|
444
|
+
adc x17,x11,xzr // can't overflow
|
|
445
|
+
subs x10,x14,x8 // "*0xffff0001"
|
|
446
|
+
sbc x11,x14,x9
|
|
447
|
+
adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
|
|
448
|
+
adcs x15,x16,x9
|
|
449
|
+
lsl x8,x14,#32
|
|
450
|
+
adcs x16,x17,x10 // +=acc[0]*0xffff0001
|
|
451
|
+
lsr x9,x14,#32
|
|
452
|
+
adc x17,x11,xzr // can't overflow
|
|
453
|
+
subs x10,x14,x8 // "*0xffff0001"
|
|
454
|
+
sbc x11,x14,x9
|
|
455
|
+
adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
|
|
456
|
+
adcs x15,x16,x9
|
|
457
|
+
lsl x8,x14,#32
|
|
458
|
+
adcs x16,x17,x10 // +=acc[0]*0xffff0001
|
|
459
|
+
lsr x9,x14,#32
|
|
460
|
+
adc x17,x11,xzr // can't overflow
|
|
461
|
+
subs x10,x14,x8 // "*0xffff0001"
|
|
462
|
+
sbc x11,x14,x9
|
|
463
|
+
adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
|
|
464
|
+
adcs x15,x16,x9
|
|
465
|
+
adcs x16,x17,x10 // +=acc[0]*0xffff0001
|
|
466
|
+
adc x17,x11,xzr // can't overflow
|
|
467
|
+
|
|
468
|
+
adds x14,x14,x19 // accumulate upper half
|
|
469
|
+
adcs x15,x15,x20
|
|
470
|
+
adcs x16,x16,x1
|
|
471
|
+
adcs x17,x17,x2
|
|
472
|
+
adc x19,xzr,xzr
|
|
473
|
+
|
|
474
|
+
adds x8,x14,#1 // subs x8,x14,#-1 // tmp = ret-modulus
|
|
475
|
+
sbcs x9,x15,x12
|
|
476
|
+
sbcs x10,x16,xzr
|
|
477
|
+
sbcs x11,x17,x13
|
|
478
|
+
sbcs xzr,x19,xzr // did it borrow?
|
|
479
|
+
|
|
480
|
+
csel x14,x14,x8,lo // ret = borrow ? ret : ret-modulus
|
|
481
|
+
csel x15,x15,x9,lo
|
|
482
|
+
csel x16,x16,x10,lo
|
|
483
|
+
stp x14,x15,[x0]
|
|
484
|
+
csel x17,x17,x11,lo
|
|
485
|
+
stp x16,x17,[x0,#16]
|
|
486
|
+
|
|
487
|
+
ret
|
|
488
|
+
|
|
489
|
+
|
|
490
|
+
// Note that __ecp_nistz256_add_to expects both input vectors pre-loaded to
|
|
491
|
+
// x4-x7 and x8-x11. This is done because it's used in multiple
|
|
492
|
+
// contexts, e.g. in multiplication by 2 and 3...
|
|
493
|
+
|
|
494
|
+
.align 4
|
|
495
|
+
.alt_entry __ecp_nistz256_add_to
|
|
496
|
+
__ecp_nistz256_add_to:
|
|
497
|
+
adds x14,x14,x8 // ret = a+b
|
|
498
|
+
adcs x15,x15,x9
|
|
499
|
+
adcs x16,x16,x10
|
|
500
|
+
adcs x17,x17,x11
|
|
501
|
+
adc x1,xzr,xzr // zap x1
|
|
502
|
+
|
|
503
|
+
adds x8,x14,#1 // subs x8,x4,#-1 // tmp = ret-modulus
|
|
504
|
+
sbcs x9,x15,x12
|
|
505
|
+
sbcs x10,x16,xzr
|
|
506
|
+
sbcs x11,x17,x13
|
|
507
|
+
sbcs xzr,x1,xzr // did subtraction borrow?
|
|
508
|
+
|
|
509
|
+
csel x14,x14,x8,lo // ret = borrow ? ret : ret-modulus
|
|
510
|
+
csel x15,x15,x9,lo
|
|
511
|
+
csel x16,x16,x10,lo
|
|
512
|
+
stp x14,x15,[x0]
|
|
513
|
+
csel x17,x17,x11,lo
|
|
514
|
+
stp x16,x17,[x0,#16]
|
|
515
|
+
|
|
516
|
+
ret
|
|
517
|
+
|
|
518
|
+
|
|
519
|
+
|
|
520
|
+
.align 4
|
|
521
|
+
.alt_entry __ecp_nistz256_sub_from
|
|
522
|
+
__ecp_nistz256_sub_from:
|
|
523
|
+
ldp x8,x9,[x2]
|
|
524
|
+
ldp x10,x11,[x2,#16]
|
|
525
|
+
subs x14,x14,x8 // ret = a-b
|
|
526
|
+
sbcs x15,x15,x9
|
|
527
|
+
sbcs x16,x16,x10
|
|
528
|
+
sbcs x17,x17,x11
|
|
529
|
+
sbc x1,xzr,xzr // zap x1
|
|
530
|
+
|
|
531
|
+
subs x8,x14,#1 // adds x8,x4,#-1 // tmp = ret+modulus
|
|
532
|
+
adcs x9,x15,x12
|
|
533
|
+
adcs x10,x16,xzr
|
|
534
|
+
adc x11,x17,x13
|
|
535
|
+
cmp x1,xzr // did subtraction borrow?
|
|
536
|
+
|
|
537
|
+
csel x14,x14,x8,eq // ret = borrow ? ret+modulus : ret
|
|
538
|
+
csel x15,x15,x9,eq
|
|
539
|
+
csel x16,x16,x10,eq
|
|
540
|
+
stp x14,x15,[x0]
|
|
541
|
+
csel x17,x17,x11,eq
|
|
542
|
+
stp x16,x17,[x0,#16]
|
|
543
|
+
|
|
544
|
+
ret
|
|
545
|
+
|
|
546
|
+
|
|
547
|
+
|
|
548
|
+
.align 4
|
|
549
|
+
.alt_entry __ecp_nistz256_sub_morf
|
|
550
|
+
__ecp_nistz256_sub_morf:
|
|
551
|
+
ldp x8,x9,[x2]
|
|
552
|
+
ldp x10,x11,[x2,#16]
|
|
553
|
+
subs x14,x8,x14 // ret = b-a
|
|
554
|
+
sbcs x15,x9,x15
|
|
555
|
+
sbcs x16,x10,x16
|
|
556
|
+
sbcs x17,x11,x17
|
|
557
|
+
sbc x1,xzr,xzr // zap x1
|
|
558
|
+
|
|
559
|
+
subs x8,x14,#1 // adds x8,x4,#-1 // tmp = ret+modulus
|
|
560
|
+
adcs x9,x15,x12
|
|
561
|
+
adcs x10,x16,xzr
|
|
562
|
+
adc x11,x17,x13
|
|
563
|
+
cmp x1,xzr // did subtraction borrow?
|
|
564
|
+
|
|
565
|
+
csel x14,x14,x8,eq // ret = borrow ? ret+modulus : ret
|
|
566
|
+
csel x15,x15,x9,eq
|
|
567
|
+
csel x16,x16,x10,eq
|
|
568
|
+
stp x14,x15,[x0]
|
|
569
|
+
csel x17,x17,x11,eq
|
|
570
|
+
stp x16,x17,[x0,#16]
|
|
571
|
+
|
|
572
|
+
ret
|
|
573
|
+
|
|
574
|
+
|
|
575
|
+
|
|
576
|
+
.align 4
|
|
577
|
+
.alt_entry __ecp_nistz256_div_by_2
|
|
578
|
+
__ecp_nistz256_div_by_2:
|
|
579
|
+
subs x8,x14,#1 // adds x8,x4,#-1 // tmp = a+modulus
|
|
580
|
+
adcs x9,x15,x12
|
|
581
|
+
adcs x10,x16,xzr
|
|
582
|
+
adcs x11,x17,x13
|
|
583
|
+
adc x1,xzr,xzr // zap x1
|
|
584
|
+
tst x14,#1 // is a even?
|
|
585
|
+
|
|
586
|
+
csel x14,x14,x8,eq // ret = even ? a : a+modulus
|
|
587
|
+
csel x15,x15,x9,eq
|
|
588
|
+
csel x16,x16,x10,eq
|
|
589
|
+
csel x17,x17,x11,eq
|
|
590
|
+
csel x1,xzr,x1,eq
|
|
591
|
+
|
|
592
|
+
lsr x14,x14,#1 // ret >>= 1
|
|
593
|
+
orr x14,x14,x15,lsl#63
|
|
594
|
+
lsr x15,x15,#1
|
|
595
|
+
orr x15,x15,x16,lsl#63
|
|
596
|
+
lsr x16,x16,#1
|
|
597
|
+
orr x16,x16,x17,lsl#63
|
|
598
|
+
lsr x17,x17,#1
|
|
599
|
+
stp x14,x15,[x0]
|
|
600
|
+
orr x17,x17,x1,lsl#63
|
|
601
|
+
stp x16,x17,[x0,#16]
|
|
602
|
+
|
|
603
|
+
ret
|
|
604
|
+
|
|
605
|
+
.globl _ecp_nistz256_point_double
|
|
606
|
+
.private_extern _ecp_nistz256_point_double
|
|
607
|
+
|
|
608
|
+
.align 5
|
|
609
|
+
.alt_entry _ecp_nistz256_point_double
|
|
610
|
+
_ecp_nistz256_point_double:
|
|
611
|
+
AARCH64_SIGN_LINK_REGISTER
|
|
612
|
+
stp x29,x30,[sp,#-96]!
|
|
613
|
+
add x29,sp,#0
|
|
614
|
+
stp x19,x20,[sp,#16]
|
|
615
|
+
stp x21,x22,[sp,#32]
|
|
616
|
+
sub sp,sp,#32*4
|
|
617
|
+
|
|
618
|
+
Ldouble_shortcut:
|
|
619
|
+
ldp x14,x15,[x1,#32]
|
|
620
|
+
mov x21,x0
|
|
621
|
+
ldp x16,x17,[x1,#48]
|
|
622
|
+
mov x22,x1
|
|
623
|
+
adrp x13,Lpoly@PAGE
|
|
624
|
+
add x13,x13,Lpoly@PAGEOFF
|
|
625
|
+
ldr x12,[x13,#8]
|
|
626
|
+
mov x8,x14
|
|
627
|
+
ldr x13,[x13,#24]
|
|
628
|
+
mov x9,x15
|
|
629
|
+
ldp x4,x5,[x22,#64] // forward load for p256_sqr_mont
|
|
630
|
+
mov x10,x16
|
|
631
|
+
mov x11,x17
|
|
632
|
+
ldp x6,x7,[x22,#64+16]
|
|
633
|
+
add x0,sp,#0
|
|
634
|
+
bl __ecp_nistz256_add_to // p256_mul_by_2(S, in_y);
|
|
635
|
+
|
|
636
|
+
add x0,sp,#64
|
|
637
|
+
bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Zsqr, in_z);
|
|
638
|
+
|
|
639
|
+
ldp x8,x9,[x22]
|
|
640
|
+
ldp x10,x11,[x22,#16]
|
|
641
|
+
mov x4,x14 // put Zsqr aside for p256_sub
|
|
642
|
+
mov x5,x15
|
|
643
|
+
mov x6,x16
|
|
644
|
+
mov x7,x17
|
|
645
|
+
add x0,sp,#32
|
|
646
|
+
bl __ecp_nistz256_add_to // p256_add(M, Zsqr, in_x);
|
|
647
|
+
|
|
648
|
+
add x2,x22,#0
|
|
649
|
+
mov x14,x4 // restore Zsqr
|
|
650
|
+
mov x15,x5
|
|
651
|
+
ldp x4,x5,[sp,#0] // forward load for p256_sqr_mont
|
|
652
|
+
mov x16,x6
|
|
653
|
+
mov x17,x7
|
|
654
|
+
ldp x6,x7,[sp,#0+16]
|
|
655
|
+
add x0,sp,#64
|
|
656
|
+
bl __ecp_nistz256_sub_morf // p256_sub(Zsqr, in_x, Zsqr);
|
|
657
|
+
|
|
658
|
+
add x0,sp,#0
|
|
659
|
+
bl __ecp_nistz256_sqr_mont // p256_sqr_mont(S, S);
|
|
660
|
+
|
|
661
|
+
ldr x3,[x22,#32]
|
|
662
|
+
ldp x4,x5,[x22,#64]
|
|
663
|
+
ldp x6,x7,[x22,#64+16]
|
|
664
|
+
add x2,x22,#32
|
|
665
|
+
add x0,sp,#96
|
|
666
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(tmp0, in_z, in_y);
|
|
667
|
+
|
|
668
|
+
mov x8,x14
|
|
669
|
+
mov x9,x15
|
|
670
|
+
ldp x4,x5,[sp,#0] // forward load for p256_sqr_mont
|
|
671
|
+
mov x10,x16
|
|
672
|
+
mov x11,x17
|
|
673
|
+
ldp x6,x7,[sp,#0+16]
|
|
674
|
+
add x0,x21,#64
|
|
675
|
+
bl __ecp_nistz256_add_to // p256_mul_by_2(res_z, tmp0);
|
|
676
|
+
|
|
677
|
+
add x0,sp,#96
|
|
678
|
+
bl __ecp_nistz256_sqr_mont // p256_sqr_mont(tmp0, S);
|
|
679
|
+
|
|
680
|
+
ldr x3,[sp,#64] // forward load for p256_mul_mont
|
|
681
|
+
ldp x4,x5,[sp,#32]
|
|
682
|
+
ldp x6,x7,[sp,#32+16]
|
|
683
|
+
add x0,x21,#32
|
|
684
|
+
bl __ecp_nistz256_div_by_2 // p256_div_by_2(res_y, tmp0);
|
|
685
|
+
|
|
686
|
+
add x2,sp,#64
|
|
687
|
+
add x0,sp,#32
|
|
688
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(M, M, Zsqr);
|
|
689
|
+
|
|
690
|
+
mov x8,x14 // duplicate M
|
|
691
|
+
mov x9,x15
|
|
692
|
+
mov x10,x16
|
|
693
|
+
mov x11,x17
|
|
694
|
+
mov x4,x14 // put M aside
|
|
695
|
+
mov x5,x15
|
|
696
|
+
mov x6,x16
|
|
697
|
+
mov x7,x17
|
|
698
|
+
add x0,sp,#32
|
|
699
|
+
bl __ecp_nistz256_add_to
|
|
700
|
+
mov x8,x4 // restore M
|
|
701
|
+
mov x9,x5
|
|
702
|
+
ldr x3,[x22] // forward load for p256_mul_mont
|
|
703
|
+
mov x10,x6
|
|
704
|
+
ldp x4,x5,[sp,#0]
|
|
705
|
+
mov x11,x7
|
|
706
|
+
ldp x6,x7,[sp,#0+16]
|
|
707
|
+
bl __ecp_nistz256_add_to // p256_mul_by_3(M, M);
|
|
708
|
+
|
|
709
|
+
add x2,x22,#0
|
|
710
|
+
add x0,sp,#0
|
|
711
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(S, S, in_x);
|
|
712
|
+
|
|
713
|
+
mov x8,x14
|
|
714
|
+
mov x9,x15
|
|
715
|
+
ldp x4,x5,[sp,#32] // forward load for p256_sqr_mont
|
|
716
|
+
mov x10,x16
|
|
717
|
+
mov x11,x17
|
|
718
|
+
ldp x6,x7,[sp,#32+16]
|
|
719
|
+
add x0,sp,#96
|
|
720
|
+
bl __ecp_nistz256_add_to // p256_mul_by_2(tmp0, S);
|
|
721
|
+
|
|
722
|
+
add x0,x21,#0
|
|
723
|
+
bl __ecp_nistz256_sqr_mont // p256_sqr_mont(res_x, M);
|
|
724
|
+
|
|
725
|
+
add x2,sp,#96
|
|
726
|
+
bl __ecp_nistz256_sub_from // p256_sub(res_x, res_x, tmp0);
|
|
727
|
+
|
|
728
|
+
add x2,sp,#0
|
|
729
|
+
add x0,sp,#0
|
|
730
|
+
bl __ecp_nistz256_sub_morf // p256_sub(S, S, res_x);
|
|
731
|
+
|
|
732
|
+
ldr x3,[sp,#32]
|
|
733
|
+
mov x4,x14 // copy S
|
|
734
|
+
mov x5,x15
|
|
735
|
+
mov x6,x16
|
|
736
|
+
mov x7,x17
|
|
737
|
+
add x2,sp,#32
|
|
738
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(S, S, M);
|
|
739
|
+
|
|
740
|
+
add x2,x21,#32
|
|
741
|
+
add x0,x21,#32
|
|
742
|
+
bl __ecp_nistz256_sub_from // p256_sub(res_y, S, res_y);
|
|
743
|
+
|
|
744
|
+
add sp,x29,#0 // destroy frame
|
|
745
|
+
ldp x19,x20,[x29,#16]
|
|
746
|
+
ldp x21,x22,[x29,#32]
|
|
747
|
+
ldp x29,x30,[sp],#96
|
|
748
|
+
AARCH64_VALIDATE_LINK_REGISTER
|
|
749
|
+
ret
|
|
750
|
+
|
|
751
|
+
.globl _ecp_nistz256_point_add
|
|
752
|
+
.private_extern _ecp_nistz256_point_add
|
|
753
|
+
|
|
754
|
+
.align 5
|
|
755
|
+
.alt_entry _ecp_nistz256_point_add
|
|
756
|
+
_ecp_nistz256_point_add:
|
|
757
|
+
AARCH64_SIGN_LINK_REGISTER
|
|
758
|
+
stp x29,x30,[sp,#-96]!
|
|
759
|
+
add x29,sp,#0
|
|
760
|
+
stp x19,x20,[sp,#16]
|
|
761
|
+
stp x21,x22,[sp,#32]
|
|
762
|
+
stp x23,x24,[sp,#48]
|
|
763
|
+
stp x25,x26,[sp,#64]
|
|
764
|
+
stp x27,x28,[sp,#80]
|
|
765
|
+
sub sp,sp,#32*12
|
|
766
|
+
|
|
767
|
+
ldp x4,x5,[x2,#64] // in2_z
|
|
768
|
+
ldp x6,x7,[x2,#64+16]
|
|
769
|
+
mov x21,x0
|
|
770
|
+
mov x22,x1
|
|
771
|
+
mov x23,x2
|
|
772
|
+
adrp x13,Lpoly@PAGE
|
|
773
|
+
add x13,x13,Lpoly@PAGEOFF
|
|
774
|
+
ldr x12,[x13,#8]
|
|
775
|
+
ldr x13,[x13,#24]
|
|
776
|
+
orr x8,x4,x5
|
|
777
|
+
orr x10,x6,x7
|
|
778
|
+
orr x25,x8,x10
|
|
779
|
+
cmp x25,#0
|
|
780
|
+
csetm x25,ne // ~in2infty
|
|
781
|
+
add x0,sp,#192
|
|
782
|
+
bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Z2sqr, in2_z);
|
|
783
|
+
|
|
784
|
+
ldp x4,x5,[x22,#64] // in1_z
|
|
785
|
+
ldp x6,x7,[x22,#64+16]
|
|
786
|
+
orr x8,x4,x5
|
|
787
|
+
orr x10,x6,x7
|
|
788
|
+
orr x24,x8,x10
|
|
789
|
+
cmp x24,#0
|
|
790
|
+
csetm x24,ne // ~in1infty
|
|
791
|
+
add x0,sp,#128
|
|
792
|
+
bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Z1sqr, in1_z);
|
|
793
|
+
|
|
794
|
+
ldr x3,[x23,#64]
|
|
795
|
+
ldp x4,x5,[sp,#192]
|
|
796
|
+
ldp x6,x7,[sp,#192+16]
|
|
797
|
+
add x2,x23,#64
|
|
798
|
+
add x0,sp,#320
|
|
799
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(S1, Z2sqr, in2_z);
|
|
800
|
+
|
|
801
|
+
ldr x3,[x22,#64]
|
|
802
|
+
ldp x4,x5,[sp,#128]
|
|
803
|
+
ldp x6,x7,[sp,#128+16]
|
|
804
|
+
add x2,x22,#64
|
|
805
|
+
add x0,sp,#352
|
|
806
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(S2, Z1sqr, in1_z);
|
|
807
|
+
|
|
808
|
+
ldr x3,[x22,#32]
|
|
809
|
+
ldp x4,x5,[sp,#320]
|
|
810
|
+
ldp x6,x7,[sp,#320+16]
|
|
811
|
+
add x2,x22,#32
|
|
812
|
+
add x0,sp,#320
|
|
813
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(S1, S1, in1_y);
|
|
814
|
+
|
|
815
|
+
ldr x3,[x23,#32]
|
|
816
|
+
ldp x4,x5,[sp,#352]
|
|
817
|
+
ldp x6,x7,[sp,#352+16]
|
|
818
|
+
add x2,x23,#32
|
|
819
|
+
add x0,sp,#352
|
|
820
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(S2, S2, in2_y);
|
|
821
|
+
|
|
822
|
+
add x2,sp,#320
|
|
823
|
+
ldr x3,[sp,#192] // forward load for p256_mul_mont
|
|
824
|
+
ldp x4,x5,[x22]
|
|
825
|
+
ldp x6,x7,[x22,#16]
|
|
826
|
+
add x0,sp,#160
|
|
827
|
+
bl __ecp_nistz256_sub_from // p256_sub(R, S2, S1);
|
|
828
|
+
|
|
829
|
+
orr x14,x14,x15 // see if result is zero
|
|
830
|
+
orr x16,x16,x17
|
|
831
|
+
orr x26,x14,x16 // ~is_equal(S1,S2)
|
|
832
|
+
|
|
833
|
+
add x2,sp,#192
|
|
834
|
+
add x0,sp,#256
|
|
835
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(U1, in1_x, Z2sqr);
|
|
836
|
+
|
|
837
|
+
ldr x3,[sp,#128]
|
|
838
|
+
ldp x4,x5,[x23]
|
|
839
|
+
ldp x6,x7,[x23,#16]
|
|
840
|
+
add x2,sp,#128
|
|
841
|
+
add x0,sp,#288
|
|
842
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(U2, in2_x, Z1sqr);
|
|
843
|
+
|
|
844
|
+
add x2,sp,#256
|
|
845
|
+
ldp x4,x5,[sp,#160] // forward load for p256_sqr_mont
|
|
846
|
+
ldp x6,x7,[sp,#160+16]
|
|
847
|
+
add x0,sp,#96
|
|
848
|
+
bl __ecp_nistz256_sub_from // p256_sub(H, U2, U1);
|
|
849
|
+
|
|
850
|
+
orr x14,x14,x15 // see if result is zero
|
|
851
|
+
orr x16,x16,x17
|
|
852
|
+
orr x14,x14,x16 // ~is_equal(U1,U2)
|
|
853
|
+
|
|
854
|
+
mvn x27,x24 // -1/0 -> 0/-1
|
|
855
|
+
mvn x28,x25 // -1/0 -> 0/-1
|
|
856
|
+
orr x14,x14,x27
|
|
857
|
+
orr x14,x14,x28
|
|
858
|
+
orr x14,x14,x26
|
|
859
|
+
cbnz x14,Ladd_proceed // if(~is_equal(U1,U2) | in1infty | in2infty | ~is_equal(S1,S2))
|
|
860
|
+
|
|
861
|
+
Ladd_double:
|
|
862
|
+
mov x1,x22
|
|
863
|
+
mov x0,x21
|
|
864
|
+
ldp x23,x24,[x29,#48]
|
|
865
|
+
ldp x25,x26,[x29,#64]
|
|
866
|
+
ldp x27,x28,[x29,#80]
|
|
867
|
+
add sp,sp,#256 // #256 is from #32*(12-4). difference in stack frames
|
|
868
|
+
b Ldouble_shortcut
|
|
869
|
+
|
|
870
|
+
.align 4
|
|
871
|
+
Ladd_proceed:
|
|
872
|
+
add x0,sp,#192
|
|
873
|
+
bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Rsqr, R);
|
|
874
|
+
|
|
875
|
+
ldr x3,[x22,#64]
|
|
876
|
+
ldp x4,x5,[sp,#96]
|
|
877
|
+
ldp x6,x7,[sp,#96+16]
|
|
878
|
+
add x2,x22,#64
|
|
879
|
+
add x0,sp,#64
|
|
880
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(res_z, H, in1_z);
|
|
881
|
+
|
|
882
|
+
ldp x4,x5,[sp,#96]
|
|
883
|
+
ldp x6,x7,[sp,#96+16]
|
|
884
|
+
add x0,sp,#128
|
|
885
|
+
bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Hsqr, H);
|
|
886
|
+
|
|
887
|
+
ldr x3,[x23,#64]
|
|
888
|
+
ldp x4,x5,[sp,#64]
|
|
889
|
+
ldp x6,x7,[sp,#64+16]
|
|
890
|
+
add x2,x23,#64
|
|
891
|
+
add x0,sp,#64
|
|
892
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(res_z, res_z, in2_z);
|
|
893
|
+
|
|
894
|
+
ldr x3,[sp,#96]
|
|
895
|
+
ldp x4,x5,[sp,#128]
|
|
896
|
+
ldp x6,x7,[sp,#128+16]
|
|
897
|
+
add x2,sp,#96
|
|
898
|
+
add x0,sp,#224
|
|
899
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(Hcub, Hsqr, H);
|
|
900
|
+
|
|
901
|
+
ldr x3,[sp,#128]
|
|
902
|
+
ldp x4,x5,[sp,#256]
|
|
903
|
+
ldp x6,x7,[sp,#256+16]
|
|
904
|
+
add x2,sp,#128
|
|
905
|
+
add x0,sp,#288
|
|
906
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(U2, U1, Hsqr);
|
|
907
|
+
|
|
908
|
+
mov x8,x14
|
|
909
|
+
mov x9,x15
|
|
910
|
+
mov x10,x16
|
|
911
|
+
mov x11,x17
|
|
912
|
+
add x0,sp,#128
|
|
913
|
+
bl __ecp_nistz256_add_to // p256_mul_by_2(Hsqr, U2);
|
|
914
|
+
|
|
915
|
+
add x2,sp,#192
|
|
916
|
+
add x0,sp,#0
|
|
917
|
+
bl __ecp_nistz256_sub_morf // p256_sub(res_x, Rsqr, Hsqr);
|
|
918
|
+
|
|
919
|
+
add x2,sp,#224
|
|
920
|
+
bl __ecp_nistz256_sub_from // p256_sub(res_x, res_x, Hcub);
|
|
921
|
+
|
|
922
|
+
add x2,sp,#288
|
|
923
|
+
ldr x3,[sp,#224] // forward load for p256_mul_mont
|
|
924
|
+
ldp x4,x5,[sp,#320]
|
|
925
|
+
ldp x6,x7,[sp,#320+16]
|
|
926
|
+
add x0,sp,#32
|
|
927
|
+
bl __ecp_nistz256_sub_morf // p256_sub(res_y, U2, res_x);
|
|
928
|
+
|
|
929
|
+
add x2,sp,#224
|
|
930
|
+
add x0,sp,#352
|
|
931
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(S2, S1, Hcub);
|
|
932
|
+
|
|
933
|
+
ldr x3,[sp,#160]
|
|
934
|
+
ldp x4,x5,[sp,#32]
|
|
935
|
+
ldp x6,x7,[sp,#32+16]
|
|
936
|
+
add x2,sp,#160
|
|
937
|
+
add x0,sp,#32
|
|
938
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(res_y, res_y, R);
|
|
939
|
+
|
|
940
|
+
add x2,sp,#352
|
|
941
|
+
bl __ecp_nistz256_sub_from // p256_sub(res_y, res_y, S2);
|
|
942
|
+
|
|
943
|
+
ldp x4,x5,[sp,#0] // res
|
|
944
|
+
ldp x6,x7,[sp,#0+16]
|
|
945
|
+
ldp x8,x9,[x23] // in2
|
|
946
|
+
ldp x10,x11,[x23,#16]
|
|
947
|
+
ldp x14,x15,[x22,#0] // in1
|
|
948
|
+
cmp x24,#0 // ~, remember?
|
|
949
|
+
ldp x16,x17,[x22,#0+16]
|
|
950
|
+
csel x8,x4,x8,ne
|
|
951
|
+
csel x9,x5,x9,ne
|
|
952
|
+
ldp x4,x5,[sp,#0+0+32] // res
|
|
953
|
+
csel x10,x6,x10,ne
|
|
954
|
+
csel x11,x7,x11,ne
|
|
955
|
+
cmp x25,#0 // ~, remember?
|
|
956
|
+
ldp x6,x7,[sp,#0+0+48]
|
|
957
|
+
csel x14,x8,x14,ne
|
|
958
|
+
csel x15,x9,x15,ne
|
|
959
|
+
ldp x8,x9,[x23,#0+32] // in2
|
|
960
|
+
csel x16,x10,x16,ne
|
|
961
|
+
csel x17,x11,x17,ne
|
|
962
|
+
ldp x10,x11,[x23,#0+48]
|
|
963
|
+
stp x14,x15,[x21,#0]
|
|
964
|
+
stp x16,x17,[x21,#0+16]
|
|
965
|
+
ldp x14,x15,[x22,#32] // in1
|
|
966
|
+
cmp x24,#0 // ~, remember?
|
|
967
|
+
ldp x16,x17,[x22,#32+16]
|
|
968
|
+
csel x8,x4,x8,ne
|
|
969
|
+
csel x9,x5,x9,ne
|
|
970
|
+
ldp x4,x5,[sp,#0+32+32] // res
|
|
971
|
+
csel x10,x6,x10,ne
|
|
972
|
+
csel x11,x7,x11,ne
|
|
973
|
+
cmp x25,#0 // ~, remember?
|
|
974
|
+
ldp x6,x7,[sp,#0+32+48]
|
|
975
|
+
csel x14,x8,x14,ne
|
|
976
|
+
csel x15,x9,x15,ne
|
|
977
|
+
ldp x8,x9,[x23,#32+32] // in2
|
|
978
|
+
csel x16,x10,x16,ne
|
|
979
|
+
csel x17,x11,x17,ne
|
|
980
|
+
ldp x10,x11,[x23,#32+48]
|
|
981
|
+
stp x14,x15,[x21,#32]
|
|
982
|
+
stp x16,x17,[x21,#32+16]
|
|
983
|
+
ldp x14,x15,[x22,#64] // in1
|
|
984
|
+
cmp x24,#0 // ~, remember?
|
|
985
|
+
ldp x16,x17,[x22,#64+16]
|
|
986
|
+
csel x8,x4,x8,ne
|
|
987
|
+
csel x9,x5,x9,ne
|
|
988
|
+
csel x10,x6,x10,ne
|
|
989
|
+
csel x11,x7,x11,ne
|
|
990
|
+
cmp x25,#0 // ~, remember?
|
|
991
|
+
csel x14,x8,x14,ne
|
|
992
|
+
csel x15,x9,x15,ne
|
|
993
|
+
csel x16,x10,x16,ne
|
|
994
|
+
csel x17,x11,x17,ne
|
|
995
|
+
stp x14,x15,[x21,#64]
|
|
996
|
+
stp x16,x17,[x21,#64+16]
|
|
997
|
+
|
|
998
|
+
Ladd_done:
|
|
999
|
+
add sp,x29,#0 // destroy frame
|
|
1000
|
+
ldp x19,x20,[x29,#16]
|
|
1001
|
+
ldp x21,x22,[x29,#32]
|
|
1002
|
+
ldp x23,x24,[x29,#48]
|
|
1003
|
+
ldp x25,x26,[x29,#64]
|
|
1004
|
+
ldp x27,x28,[x29,#80]
|
|
1005
|
+
ldp x29,x30,[sp],#96
|
|
1006
|
+
AARCH64_VALIDATE_LINK_REGISTER
|
|
1007
|
+
ret
|
|
1008
|
+
|
|
1009
|
+
.globl _ecp_nistz256_point_add_affine
|
|
1010
|
+
.private_extern _ecp_nistz256_point_add_affine
|
|
1011
|
+
|
|
1012
|
+
.align 5
|
|
1013
|
+
.alt_entry _ecp_nistz256_point_add_affine
|
|
1014
|
+
_ecp_nistz256_point_add_affine:
|
|
1015
|
+
AARCH64_SIGN_LINK_REGISTER
|
|
1016
|
+
stp x29,x30,[sp,#-80]!
|
|
1017
|
+
add x29,sp,#0
|
|
1018
|
+
stp x19,x20,[sp,#16]
|
|
1019
|
+
stp x21,x22,[sp,#32]
|
|
1020
|
+
stp x23,x24,[sp,#48]
|
|
1021
|
+
stp x25,x26,[sp,#64]
|
|
1022
|
+
sub sp,sp,#32*10
|
|
1023
|
+
|
|
1024
|
+
mov x21,x0
|
|
1025
|
+
mov x22,x1
|
|
1026
|
+
mov x23,x2
|
|
1027
|
+
adrp x13,Lpoly@PAGE
|
|
1028
|
+
add x13,x13,Lpoly@PAGEOFF
|
|
1029
|
+
ldr x12,[x13,#8]
|
|
1030
|
+
ldr x13,[x13,#24]
|
|
1031
|
+
|
|
1032
|
+
ldp x4,x5,[x1,#64] // in1_z
|
|
1033
|
+
ldp x6,x7,[x1,#64+16]
|
|
1034
|
+
orr x8,x4,x5
|
|
1035
|
+
orr x10,x6,x7
|
|
1036
|
+
orr x24,x8,x10
|
|
1037
|
+
cmp x24,#0
|
|
1038
|
+
csetm x24,ne // ~in1infty
|
|
1039
|
+
|
|
1040
|
+
ldp x14,x15,[x2] // in2_x
|
|
1041
|
+
ldp x16,x17,[x2,#16]
|
|
1042
|
+
ldp x8,x9,[x2,#32] // in2_y
|
|
1043
|
+
ldp x10,x11,[x2,#48]
|
|
1044
|
+
orr x14,x14,x15
|
|
1045
|
+
orr x16,x16,x17
|
|
1046
|
+
orr x8,x8,x9
|
|
1047
|
+
orr x10,x10,x11
|
|
1048
|
+
orr x14,x14,x16
|
|
1049
|
+
orr x8,x8,x10
|
|
1050
|
+
orr x25,x14,x8
|
|
1051
|
+
cmp x25,#0
|
|
1052
|
+
csetm x25,ne // ~in2infty
|
|
1053
|
+
|
|
1054
|
+
add x0,sp,#128
|
|
1055
|
+
bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Z1sqr, in1_z);
|
|
1056
|
+
|
|
1057
|
+
mov x4,x14
|
|
1058
|
+
mov x5,x15
|
|
1059
|
+
mov x6,x16
|
|
1060
|
+
mov x7,x17
|
|
1061
|
+
ldr x3,[x23]
|
|
1062
|
+
add x2,x23,#0
|
|
1063
|
+
add x0,sp,#96
|
|
1064
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(U2, Z1sqr, in2_x);
|
|
1065
|
+
|
|
1066
|
+
add x2,x22,#0
|
|
1067
|
+
ldr x3,[x22,#64] // forward load for p256_mul_mont
|
|
1068
|
+
ldp x4,x5,[sp,#128]
|
|
1069
|
+
ldp x6,x7,[sp,#128+16]
|
|
1070
|
+
add x0,sp,#160
|
|
1071
|
+
bl __ecp_nistz256_sub_from // p256_sub(H, U2, in1_x);
|
|
1072
|
+
|
|
1073
|
+
add x2,x22,#64
|
|
1074
|
+
add x0,sp,#128
|
|
1075
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(S2, Z1sqr, in1_z);
|
|
1076
|
+
|
|
1077
|
+
ldr x3,[x22,#64]
|
|
1078
|
+
ldp x4,x5,[sp,#160]
|
|
1079
|
+
ldp x6,x7,[sp,#160+16]
|
|
1080
|
+
add x2,x22,#64
|
|
1081
|
+
add x0,sp,#64
|
|
1082
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(res_z, H, in1_z);
|
|
1083
|
+
|
|
1084
|
+
ldr x3,[x23,#32]
|
|
1085
|
+
ldp x4,x5,[sp,#128]
|
|
1086
|
+
ldp x6,x7,[sp,#128+16]
|
|
1087
|
+
add x2,x23,#32
|
|
1088
|
+
add x0,sp,#128
|
|
1089
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(S2, S2, in2_y);
|
|
1090
|
+
|
|
1091
|
+
add x2,x22,#32
|
|
1092
|
+
ldp x4,x5,[sp,#160] // forward load for p256_sqr_mont
|
|
1093
|
+
ldp x6,x7,[sp,#160+16]
|
|
1094
|
+
add x0,sp,#192
|
|
1095
|
+
bl __ecp_nistz256_sub_from // p256_sub(R, S2, in1_y);
|
|
1096
|
+
|
|
1097
|
+
add x0,sp,#224
|
|
1098
|
+
bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Hsqr, H);
|
|
1099
|
+
|
|
1100
|
+
ldp x4,x5,[sp,#192]
|
|
1101
|
+
ldp x6,x7,[sp,#192+16]
|
|
1102
|
+
add x0,sp,#288
|
|
1103
|
+
bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Rsqr, R);
|
|
1104
|
+
|
|
1105
|
+
ldr x3,[sp,#160]
|
|
1106
|
+
ldp x4,x5,[sp,#224]
|
|
1107
|
+
ldp x6,x7,[sp,#224+16]
|
|
1108
|
+
add x2,sp,#160
|
|
1109
|
+
add x0,sp,#256
|
|
1110
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(Hcub, Hsqr, H);
|
|
1111
|
+
|
|
1112
|
+
ldr x3,[x22]
|
|
1113
|
+
ldp x4,x5,[sp,#224]
|
|
1114
|
+
ldp x6,x7,[sp,#224+16]
|
|
1115
|
+
add x2,x22,#0
|
|
1116
|
+
add x0,sp,#96
|
|
1117
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(U2, in1_x, Hsqr);
|
|
1118
|
+
|
|
1119
|
+
mov x8,x14
|
|
1120
|
+
mov x9,x15
|
|
1121
|
+
mov x10,x16
|
|
1122
|
+
mov x11,x17
|
|
1123
|
+
add x0,sp,#224
|
|
1124
|
+
bl __ecp_nistz256_add_to // p256_mul_by_2(Hsqr, U2);
|
|
1125
|
+
|
|
1126
|
+
add x2,sp,#288
|
|
1127
|
+
add x0,sp,#0
|
|
1128
|
+
bl __ecp_nistz256_sub_morf // p256_sub(res_x, Rsqr, Hsqr);
|
|
1129
|
+
|
|
1130
|
+
add x2,sp,#256
|
|
1131
|
+
bl __ecp_nistz256_sub_from // p256_sub(res_x, res_x, Hcub);
|
|
1132
|
+
|
|
1133
|
+
add x2,sp,#96
|
|
1134
|
+
ldr x3,[x22,#32] // forward load for p256_mul_mont
|
|
1135
|
+
ldp x4,x5,[sp,#256]
|
|
1136
|
+
ldp x6,x7,[sp,#256+16]
|
|
1137
|
+
add x0,sp,#32
|
|
1138
|
+
bl __ecp_nistz256_sub_morf // p256_sub(res_y, U2, res_x);
|
|
1139
|
+
|
|
1140
|
+
add x2,x22,#32
|
|
1141
|
+
add x0,sp,#128
|
|
1142
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(S2, in1_y, Hcub);
|
|
1143
|
+
|
|
1144
|
+
ldr x3,[sp,#192]
|
|
1145
|
+
ldp x4,x5,[sp,#32]
|
|
1146
|
+
ldp x6,x7,[sp,#32+16]
|
|
1147
|
+
add x2,sp,#192
|
|
1148
|
+
add x0,sp,#32
|
|
1149
|
+
bl __ecp_nistz256_mul_mont // p256_mul_mont(res_y, res_y, R);
|
|
1150
|
+
|
|
1151
|
+
add x2,sp,#128
|
|
1152
|
+
bl __ecp_nistz256_sub_from // p256_sub(res_y, res_y, S2);
|
|
1153
|
+
|
|
1154
|
+
ldp x4,x5,[sp,#0] // res
|
|
1155
|
+
ldp x6,x7,[sp,#0+16]
|
|
1156
|
+
ldp x8,x9,[x23] // in2
|
|
1157
|
+
ldp x10,x11,[x23,#16]
|
|
1158
|
+
ldp x14,x15,[x22,#0] // in1
|
|
1159
|
+
cmp x24,#0 // ~, remember?
|
|
1160
|
+
ldp x16,x17,[x22,#0+16]
|
|
1161
|
+
csel x8,x4,x8,ne
|
|
1162
|
+
csel x9,x5,x9,ne
|
|
1163
|
+
ldp x4,x5,[sp,#0+0+32] // res
|
|
1164
|
+
csel x10,x6,x10,ne
|
|
1165
|
+
csel x11,x7,x11,ne
|
|
1166
|
+
cmp x25,#0 // ~, remember?
|
|
1167
|
+
ldp x6,x7,[sp,#0+0+48]
|
|
1168
|
+
csel x14,x8,x14,ne
|
|
1169
|
+
csel x15,x9,x15,ne
|
|
1170
|
+
ldp x8,x9,[x23,#0+32] // in2
|
|
1171
|
+
csel x16,x10,x16,ne
|
|
1172
|
+
csel x17,x11,x17,ne
|
|
1173
|
+
ldp x10,x11,[x23,#0+48]
|
|
1174
|
+
stp x14,x15,[x21,#0]
|
|
1175
|
+
stp x16,x17,[x21,#0+16]
|
|
1176
|
+
adrp x23,Lone_mont@PAGE-64
|
|
1177
|
+
add x23,x23,Lone_mont@PAGEOFF-64
|
|
1178
|
+
ldp x14,x15,[x22,#32] // in1
|
|
1179
|
+
cmp x24,#0 // ~, remember?
|
|
1180
|
+
ldp x16,x17,[x22,#32+16]
|
|
1181
|
+
csel x8,x4,x8,ne
|
|
1182
|
+
csel x9,x5,x9,ne
|
|
1183
|
+
ldp x4,x5,[sp,#0+32+32] // res
|
|
1184
|
+
csel x10,x6,x10,ne
|
|
1185
|
+
csel x11,x7,x11,ne
|
|
1186
|
+
cmp x25,#0 // ~, remember?
|
|
1187
|
+
ldp x6,x7,[sp,#0+32+48]
|
|
1188
|
+
csel x14,x8,x14,ne
|
|
1189
|
+
csel x15,x9,x15,ne
|
|
1190
|
+
ldp x8,x9,[x23,#32+32] // in2
|
|
1191
|
+
csel x16,x10,x16,ne
|
|
1192
|
+
csel x17,x11,x17,ne
|
|
1193
|
+
ldp x10,x11,[x23,#32+48]
|
|
1194
|
+
stp x14,x15,[x21,#32]
|
|
1195
|
+
stp x16,x17,[x21,#32+16]
|
|
1196
|
+
ldp x14,x15,[x22,#64] // in1
|
|
1197
|
+
cmp x24,#0 // ~, remember?
|
|
1198
|
+
ldp x16,x17,[x22,#64+16]
|
|
1199
|
+
csel x8,x4,x8,ne
|
|
1200
|
+
csel x9,x5,x9,ne
|
|
1201
|
+
csel x10,x6,x10,ne
|
|
1202
|
+
csel x11,x7,x11,ne
|
|
1203
|
+
cmp x25,#0 // ~, remember?
|
|
1204
|
+
csel x14,x8,x14,ne
|
|
1205
|
+
csel x15,x9,x15,ne
|
|
1206
|
+
csel x16,x10,x16,ne
|
|
1207
|
+
csel x17,x11,x17,ne
|
|
1208
|
+
stp x14,x15,[x21,#64]
|
|
1209
|
+
stp x16,x17,[x21,#64+16]
|
|
1210
|
+
|
|
1211
|
+
add sp,x29,#0 // destroy frame
|
|
1212
|
+
ldp x19,x20,[x29,#16]
|
|
1213
|
+
ldp x21,x22,[x29,#32]
|
|
1214
|
+
ldp x23,x24,[x29,#48]
|
|
1215
|
+
ldp x25,x26,[x29,#64]
|
|
1216
|
+
ldp x29,x30,[sp],#80
|
|
1217
|
+
AARCH64_VALIDATE_LINK_REGISTER
|
|
1218
|
+
ret
|
|
1219
|
+
|
|
1220
|
+
////////////////////////////////////////////////////////////////////////
|
|
1221
|
+
// void ecp_nistz256_ord_mul_mont(uint64_t res[4], uint64_t a[4],
|
|
1222
|
+
// uint64_t b[4]);
|
|
1223
|
+
.globl _ecp_nistz256_ord_mul_mont
|
|
1224
|
+
.private_extern _ecp_nistz256_ord_mul_mont
|
|
1225
|
+
|
|
1226
|
+
.align 4
|
|
1227
|
+
.alt_entry _ecp_nistz256_ord_mul_mont
|
|
1228
|
+
_ecp_nistz256_ord_mul_mont:
|
|
1229
|
+
AARCH64_VALID_CALL_TARGET
|
|
1230
|
+
// Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later.
|
|
1231
|
+
stp x29,x30,[sp,#-64]!
|
|
1232
|
+
add x29,sp,#0
|
|
1233
|
+
stp x19,x20,[sp,#16]
|
|
1234
|
+
stp x21,x22,[sp,#32]
|
|
1235
|
+
stp x23,x24,[sp,#48]
|
|
1236
|
+
|
|
1237
|
+
adrp x23,Lord@PAGE
|
|
1238
|
+
add x23,x23,Lord@PAGEOFF
|
|
1239
|
+
ldr x3,[x2] // bp[0]
|
|
1240
|
+
ldp x4,x5,[x1]
|
|
1241
|
+
ldp x6,x7,[x1,#16]
|
|
1242
|
+
|
|
1243
|
+
ldp x12,x13,[x23,#0]
|
|
1244
|
+
ldp x21,x22,[x23,#16]
|
|
1245
|
+
ldr x23,[x23,#32]
|
|
1246
|
+
|
|
1247
|
+
mul x14,x4,x3 // a[0]*b[0]
|
|
1248
|
+
umulh x8,x4,x3
|
|
1249
|
+
|
|
1250
|
+
mul x15,x5,x3 // a[1]*b[0]
|
|
1251
|
+
umulh x9,x5,x3
|
|
1252
|
+
|
|
1253
|
+
mul x16,x6,x3 // a[2]*b[0]
|
|
1254
|
+
umulh x10,x6,x3
|
|
1255
|
+
|
|
1256
|
+
mul x17,x7,x3 // a[3]*b[0]
|
|
1257
|
+
umulh x19,x7,x3
|
|
1258
|
+
|
|
1259
|
+
mul x24,x14,x23
|
|
1260
|
+
|
|
1261
|
+
adds x15,x15,x8 // accumulate high parts of multiplication
|
|
1262
|
+
adcs x16,x16,x9
|
|
1263
|
+
adcs x17,x17,x10
|
|
1264
|
+
adc x19,x19,xzr
|
|
1265
|
+
mov x20,xzr
|
|
1266
|
+
ldr x3,[x2,#8*1] // b[i]
|
|
1267
|
+
|
|
1268
|
+
lsl x8,x24,#32
|
|
1269
|
+
subs x16,x16,x24
|
|
1270
|
+
lsr x9,x24,#32
|
|
1271
|
+
sbcs x17,x17,x8
|
|
1272
|
+
sbcs x19,x19,x9
|
|
1273
|
+
sbc x20,x20,xzr
|
|
1274
|
+
|
|
1275
|
+
subs xzr,x14,#1
|
|
1276
|
+
umulh x9,x12,x24
|
|
1277
|
+
mul x10,x13,x24
|
|
1278
|
+
umulh x11,x13,x24
|
|
1279
|
+
|
|
1280
|
+
adcs x10,x10,x9
|
|
1281
|
+
mul x8,x4,x3
|
|
1282
|
+
adc x11,x11,xzr
|
|
1283
|
+
mul x9,x5,x3
|
|
1284
|
+
|
|
1285
|
+
adds x14,x15,x10
|
|
1286
|
+
mul x10,x6,x3
|
|
1287
|
+
adcs x15,x16,x11
|
|
1288
|
+
mul x11,x7,x3
|
|
1289
|
+
adcs x16,x17,x24
|
|
1290
|
+
adcs x17,x19,x24
|
|
1291
|
+
adc x19,x20,xzr
|
|
1292
|
+
|
|
1293
|
+
adds x14,x14,x8 // accumulate low parts
|
|
1294
|
+
umulh x8,x4,x3
|
|
1295
|
+
adcs x15,x15,x9
|
|
1296
|
+
umulh x9,x5,x3
|
|
1297
|
+
adcs x16,x16,x10
|
|
1298
|
+
umulh x10,x6,x3
|
|
1299
|
+
adcs x17,x17,x11
|
|
1300
|
+
umulh x11,x7,x3
|
|
1301
|
+
adc x19,x19,xzr
|
|
1302
|
+
mul x24,x14,x23
|
|
1303
|
+
adds x15,x15,x8 // accumulate high parts
|
|
1304
|
+
adcs x16,x16,x9
|
|
1305
|
+
adcs x17,x17,x10
|
|
1306
|
+
adcs x19,x19,x11
|
|
1307
|
+
adc x20,xzr,xzr
|
|
1308
|
+
ldr x3,[x2,#8*2] // b[i]
|
|
1309
|
+
|
|
1310
|
+
lsl x8,x24,#32
|
|
1311
|
+
subs x16,x16,x24
|
|
1312
|
+
lsr x9,x24,#32
|
|
1313
|
+
sbcs x17,x17,x8
|
|
1314
|
+
sbcs x19,x19,x9
|
|
1315
|
+
sbc x20,x20,xzr
|
|
1316
|
+
|
|
1317
|
+
subs xzr,x14,#1
|
|
1318
|
+
umulh x9,x12,x24
|
|
1319
|
+
mul x10,x13,x24
|
|
1320
|
+
umulh x11,x13,x24
|
|
1321
|
+
|
|
1322
|
+
adcs x10,x10,x9
|
|
1323
|
+
mul x8,x4,x3
|
|
1324
|
+
adc x11,x11,xzr
|
|
1325
|
+
mul x9,x5,x3
|
|
1326
|
+
|
|
1327
|
+
adds x14,x15,x10
|
|
1328
|
+
mul x10,x6,x3
|
|
1329
|
+
adcs x15,x16,x11
|
|
1330
|
+
mul x11,x7,x3
|
|
1331
|
+
adcs x16,x17,x24
|
|
1332
|
+
adcs x17,x19,x24
|
|
1333
|
+
adc x19,x20,xzr
|
|
1334
|
+
|
|
1335
|
+
adds x14,x14,x8 // accumulate low parts
|
|
1336
|
+
umulh x8,x4,x3
|
|
1337
|
+
adcs x15,x15,x9
|
|
1338
|
+
umulh x9,x5,x3
|
|
1339
|
+
adcs x16,x16,x10
|
|
1340
|
+
umulh x10,x6,x3
|
|
1341
|
+
adcs x17,x17,x11
|
|
1342
|
+
umulh x11,x7,x3
|
|
1343
|
+
adc x19,x19,xzr
|
|
1344
|
+
mul x24,x14,x23
|
|
1345
|
+
adds x15,x15,x8 // accumulate high parts
|
|
1346
|
+
adcs x16,x16,x9
|
|
1347
|
+
adcs x17,x17,x10
|
|
1348
|
+
adcs x19,x19,x11
|
|
1349
|
+
adc x20,xzr,xzr
|
|
1350
|
+
ldr x3,[x2,#8*3] // b[i]
|
|
1351
|
+
|
|
1352
|
+
lsl x8,x24,#32
|
|
1353
|
+
subs x16,x16,x24
|
|
1354
|
+
lsr x9,x24,#32
|
|
1355
|
+
sbcs x17,x17,x8
|
|
1356
|
+
sbcs x19,x19,x9
|
|
1357
|
+
sbc x20,x20,xzr
|
|
1358
|
+
|
|
1359
|
+
subs xzr,x14,#1
|
|
1360
|
+
umulh x9,x12,x24
|
|
1361
|
+
mul x10,x13,x24
|
|
1362
|
+
umulh x11,x13,x24
|
|
1363
|
+
|
|
1364
|
+
adcs x10,x10,x9
|
|
1365
|
+
mul x8,x4,x3
|
|
1366
|
+
adc x11,x11,xzr
|
|
1367
|
+
mul x9,x5,x3
|
|
1368
|
+
|
|
1369
|
+
adds x14,x15,x10
|
|
1370
|
+
mul x10,x6,x3
|
|
1371
|
+
adcs x15,x16,x11
|
|
1372
|
+
mul x11,x7,x3
|
|
1373
|
+
adcs x16,x17,x24
|
|
1374
|
+
adcs x17,x19,x24
|
|
1375
|
+
adc x19,x20,xzr
|
|
1376
|
+
|
|
1377
|
+
adds x14,x14,x8 // accumulate low parts
|
|
1378
|
+
umulh x8,x4,x3
|
|
1379
|
+
adcs x15,x15,x9
|
|
1380
|
+
umulh x9,x5,x3
|
|
1381
|
+
adcs x16,x16,x10
|
|
1382
|
+
umulh x10,x6,x3
|
|
1383
|
+
adcs x17,x17,x11
|
|
1384
|
+
umulh x11,x7,x3
|
|
1385
|
+
adc x19,x19,xzr
|
|
1386
|
+
mul x24,x14,x23
|
|
1387
|
+
adds x15,x15,x8 // accumulate high parts
|
|
1388
|
+
adcs x16,x16,x9
|
|
1389
|
+
adcs x17,x17,x10
|
|
1390
|
+
adcs x19,x19,x11
|
|
1391
|
+
adc x20,xzr,xzr
|
|
1392
|
+
lsl x8,x24,#32 // last reduction
|
|
1393
|
+
subs x16,x16,x24
|
|
1394
|
+
lsr x9,x24,#32
|
|
1395
|
+
sbcs x17,x17,x8
|
|
1396
|
+
sbcs x19,x19,x9
|
|
1397
|
+
sbc x20,x20,xzr
|
|
1398
|
+
|
|
1399
|
+
subs xzr,x14,#1
|
|
1400
|
+
umulh x9,x12,x24
|
|
1401
|
+
mul x10,x13,x24
|
|
1402
|
+
umulh x11,x13,x24
|
|
1403
|
+
|
|
1404
|
+
adcs x10,x10,x9
|
|
1405
|
+
adc x11,x11,xzr
|
|
1406
|
+
|
|
1407
|
+
adds x14,x15,x10
|
|
1408
|
+
adcs x15,x16,x11
|
|
1409
|
+
adcs x16,x17,x24
|
|
1410
|
+
adcs x17,x19,x24
|
|
1411
|
+
adc x19,x20,xzr
|
|
1412
|
+
|
|
1413
|
+
subs x8,x14,x12 // ret -= modulus
|
|
1414
|
+
sbcs x9,x15,x13
|
|
1415
|
+
sbcs x10,x16,x21
|
|
1416
|
+
sbcs x11,x17,x22
|
|
1417
|
+
sbcs xzr,x19,xzr
|
|
1418
|
+
|
|
1419
|
+
csel x14,x14,x8,lo // ret = borrow ? ret : ret-modulus
|
|
1420
|
+
csel x15,x15,x9,lo
|
|
1421
|
+
csel x16,x16,x10,lo
|
|
1422
|
+
stp x14,x15,[x0]
|
|
1423
|
+
csel x17,x17,x11,lo
|
|
1424
|
+
stp x16,x17,[x0,#16]
|
|
1425
|
+
|
|
1426
|
+
ldp x19,x20,[sp,#16]
|
|
1427
|
+
ldp x21,x22,[sp,#32]
|
|
1428
|
+
ldp x23,x24,[sp,#48]
|
|
1429
|
+
ldr x29,[sp],#64
|
|
1430
|
+
ret
|
|
1431
|
+
|
|
1432
|
+
|
|
1433
|
+
////////////////////////////////////////////////////////////////////////
|
|
1434
|
+
// void ecp_nistz256_ord_sqr_mont(uint64_t res[4], uint64_t a[4],
|
|
1435
|
+
// uint64_t rep);
|
|
1436
|
+
.globl _ecp_nistz256_ord_sqr_mont
|
|
1437
|
+
.private_extern _ecp_nistz256_ord_sqr_mont
|
|
1438
|
+
|
|
1439
|
+
.align 4
|
|
1440
|
+
.alt_entry _ecp_nistz256_ord_sqr_mont
|
|
1441
|
+
_ecp_nistz256_ord_sqr_mont:
|
|
1442
|
+
AARCH64_VALID_CALL_TARGET
|
|
1443
|
+
// Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later.
|
|
1444
|
+
stp x29,x30,[sp,#-64]!
|
|
1445
|
+
add x29,sp,#0
|
|
1446
|
+
stp x19,x20,[sp,#16]
|
|
1447
|
+
stp x21,x22,[sp,#32]
|
|
1448
|
+
stp x23,x24,[sp,#48]
|
|
1449
|
+
|
|
1450
|
+
adrp x23,Lord@PAGE
|
|
1451
|
+
add x23,x23,Lord@PAGEOFF
|
|
1452
|
+
ldp x4,x5,[x1]
|
|
1453
|
+
ldp x6,x7,[x1,#16]
|
|
1454
|
+
|
|
1455
|
+
ldp x12,x13,[x23,#0]
|
|
1456
|
+
ldp x21,x22,[x23,#16]
|
|
1457
|
+
ldr x23,[x23,#32]
|
|
1458
|
+
b Loop_ord_sqr
|
|
1459
|
+
|
|
1460
|
+
.align 4
|
|
1461
|
+
Loop_ord_sqr:
|
|
1462
|
+
sub x2,x2,#1
|
|
1463
|
+
////////////////////////////////////////////////////////////////
|
|
1464
|
+
// | | | | | |a1*a0| |
|
|
1465
|
+
// | | | | |a2*a0| | |
|
|
1466
|
+
// | |a3*a2|a3*a0| | | |
|
|
1467
|
+
// | | | |a2*a1| | | |
|
|
1468
|
+
// | | |a3*a1| | | | |
|
|
1469
|
+
// *| | | | | | | | 2|
|
|
1470
|
+
// +|a3*a3|a2*a2|a1*a1|a0*a0|
|
|
1471
|
+
// |--+--+--+--+--+--+--+--|
|
|
1472
|
+
// |A7|A6|A5|A4|A3|A2|A1|A0|, where Ax is , i.e. follow
|
|
1473
|
+
//
|
|
1474
|
+
// "can't overflow" below mark carrying into high part of
|
|
1475
|
+
// multiplication result, which can't overflow, because it
|
|
1476
|
+
// can never be all ones.
|
|
1477
|
+
|
|
1478
|
+
mul x15,x5,x4 // a[1]*a[0]
|
|
1479
|
+
umulh x9,x5,x4
|
|
1480
|
+
mul x16,x6,x4 // a[2]*a[0]
|
|
1481
|
+
umulh x10,x6,x4
|
|
1482
|
+
mul x17,x7,x4 // a[3]*a[0]
|
|
1483
|
+
umulh x19,x7,x4
|
|
1484
|
+
|
|
1485
|
+
adds x16,x16,x9 // accumulate high parts of multiplication
|
|
1486
|
+
mul x8,x6,x5 // a[2]*a[1]
|
|
1487
|
+
umulh x9,x6,x5
|
|
1488
|
+
adcs x17,x17,x10
|
|
1489
|
+
mul x10,x7,x5 // a[3]*a[1]
|
|
1490
|
+
umulh x11,x7,x5
|
|
1491
|
+
adc x19,x19,xzr // can't overflow
|
|
1492
|
+
|
|
1493
|
+
mul x20,x7,x6 // a[3]*a[2]
|
|
1494
|
+
umulh x1,x7,x6
|
|
1495
|
+
|
|
1496
|
+
adds x9,x9,x10 // accumulate high parts of multiplication
|
|
1497
|
+
mul x14,x4,x4 // a[0]*a[0]
|
|
1498
|
+
adc x10,x11,xzr // can't overflow
|
|
1499
|
+
|
|
1500
|
+
adds x17,x17,x8 // accumulate low parts of multiplication
|
|
1501
|
+
umulh x4,x4,x4
|
|
1502
|
+
adcs x19,x19,x9
|
|
1503
|
+
mul x9,x5,x5 // a[1]*a[1]
|
|
1504
|
+
adcs x20,x20,x10
|
|
1505
|
+
umulh x5,x5,x5
|
|
1506
|
+
adc x1,x1,xzr // can't overflow
|
|
1507
|
+
|
|
1508
|
+
adds x15,x15,x15 // acc[1-6]*=2
|
|
1509
|
+
mul x10,x6,x6 // a[2]*a[2]
|
|
1510
|
+
adcs x16,x16,x16
|
|
1511
|
+
umulh x6,x6,x6
|
|
1512
|
+
adcs x17,x17,x17
|
|
1513
|
+
mul x11,x7,x7 // a[3]*a[3]
|
|
1514
|
+
adcs x19,x19,x19
|
|
1515
|
+
umulh x7,x7,x7
|
|
1516
|
+
adcs x20,x20,x20
|
|
1517
|
+
adcs x1,x1,x1
|
|
1518
|
+
adc x3,xzr,xzr
|
|
1519
|
+
|
|
1520
|
+
adds x15,x15,x4 // +a[i]*a[i]
|
|
1521
|
+
mul x24,x14,x23
|
|
1522
|
+
adcs x16,x16,x9
|
|
1523
|
+
adcs x17,x17,x5
|
|
1524
|
+
adcs x19,x19,x10
|
|
1525
|
+
adcs x20,x20,x6
|
|
1526
|
+
adcs x1,x1,x11
|
|
1527
|
+
adc x3,x3,x7
|
|
1528
|
+
subs xzr,x14,#1
|
|
1529
|
+
umulh x9,x12,x24
|
|
1530
|
+
mul x10,x13,x24
|
|
1531
|
+
umulh x11,x13,x24
|
|
1532
|
+
|
|
1533
|
+
adcs x10,x10,x9
|
|
1534
|
+
adc x11,x11,xzr
|
|
1535
|
+
|
|
1536
|
+
adds x14,x15,x10
|
|
1537
|
+
adcs x15,x16,x11
|
|
1538
|
+
adcs x16,x17,x24
|
|
1539
|
+
adc x17,xzr,x24 // can't overflow
|
|
1540
|
+
mul x11,x14,x23
|
|
1541
|
+
lsl x8,x24,#32
|
|
1542
|
+
subs x15,x15,x24
|
|
1543
|
+
lsr x9,x24,#32
|
|
1544
|
+
sbcs x16,x16,x8
|
|
1545
|
+
sbc x17,x17,x9 // can't borrow
|
|
1546
|
+
subs xzr,x14,#1
|
|
1547
|
+
umulh x9,x12,x11
|
|
1548
|
+
mul x10,x13,x11
|
|
1549
|
+
umulh x24,x13,x11
|
|
1550
|
+
|
|
1551
|
+
adcs x10,x10,x9
|
|
1552
|
+
adc x24,x24,xzr
|
|
1553
|
+
|
|
1554
|
+
adds x14,x15,x10
|
|
1555
|
+
adcs x15,x16,x24
|
|
1556
|
+
adcs x16,x17,x11
|
|
1557
|
+
adc x17,xzr,x11 // can't overflow
|
|
1558
|
+
mul x24,x14,x23
|
|
1559
|
+
lsl x8,x11,#32
|
|
1560
|
+
subs x15,x15,x11
|
|
1561
|
+
lsr x9,x11,#32
|
|
1562
|
+
sbcs x16,x16,x8
|
|
1563
|
+
sbc x17,x17,x9 // can't borrow
|
|
1564
|
+
subs xzr,x14,#1
|
|
1565
|
+
umulh x9,x12,x24
|
|
1566
|
+
mul x10,x13,x24
|
|
1567
|
+
umulh x11,x13,x24
|
|
1568
|
+
|
|
1569
|
+
adcs x10,x10,x9
|
|
1570
|
+
adc x11,x11,xzr
|
|
1571
|
+
|
|
1572
|
+
adds x14,x15,x10
|
|
1573
|
+
adcs x15,x16,x11
|
|
1574
|
+
adcs x16,x17,x24
|
|
1575
|
+
adc x17,xzr,x24 // can't overflow
|
|
1576
|
+
mul x11,x14,x23
|
|
1577
|
+
lsl x8,x24,#32
|
|
1578
|
+
subs x15,x15,x24
|
|
1579
|
+
lsr x9,x24,#32
|
|
1580
|
+
sbcs x16,x16,x8
|
|
1581
|
+
sbc x17,x17,x9 // can't borrow
|
|
1582
|
+
subs xzr,x14,#1
|
|
1583
|
+
umulh x9,x12,x11
|
|
1584
|
+
mul x10,x13,x11
|
|
1585
|
+
umulh x24,x13,x11
|
|
1586
|
+
|
|
1587
|
+
adcs x10,x10,x9
|
|
1588
|
+
adc x24,x24,xzr
|
|
1589
|
+
|
|
1590
|
+
adds x14,x15,x10
|
|
1591
|
+
adcs x15,x16,x24
|
|
1592
|
+
adcs x16,x17,x11
|
|
1593
|
+
adc x17,xzr,x11 // can't overflow
|
|
1594
|
+
lsl x8,x11,#32
|
|
1595
|
+
subs x15,x15,x11
|
|
1596
|
+
lsr x9,x11,#32
|
|
1597
|
+
sbcs x16,x16,x8
|
|
1598
|
+
sbc x17,x17,x9 // can't borrow
|
|
1599
|
+
adds x14,x14,x19 // accumulate upper half
|
|
1600
|
+
adcs x15,x15,x20
|
|
1601
|
+
adcs x16,x16,x1
|
|
1602
|
+
adcs x17,x17,x3
|
|
1603
|
+
adc x19,xzr,xzr
|
|
1604
|
+
|
|
1605
|
+
subs x8,x14,x12 // ret -= modulus
|
|
1606
|
+
sbcs x9,x15,x13
|
|
1607
|
+
sbcs x10,x16,x21
|
|
1608
|
+
sbcs x11,x17,x22
|
|
1609
|
+
sbcs xzr,x19,xzr
|
|
1610
|
+
|
|
1611
|
+
csel x4,x14,x8,lo // ret = borrow ? ret : ret-modulus
|
|
1612
|
+
csel x5,x15,x9,lo
|
|
1613
|
+
csel x6,x16,x10,lo
|
|
1614
|
+
csel x7,x17,x11,lo
|
|
1615
|
+
|
|
1616
|
+
cbnz x2,Loop_ord_sqr
|
|
1617
|
+
|
|
1618
|
+
stp x4,x5,[x0]
|
|
1619
|
+
stp x6,x7,[x0,#16]
|
|
1620
|
+
|
|
1621
|
+
ldp x19,x20,[sp,#16]
|
|
1622
|
+
ldp x21,x22,[sp,#32]
|
|
1623
|
+
ldp x23,x24,[sp,#48]
|
|
1624
|
+
ldr x29,[sp],#64
|
|
1625
|
+
ret
|
|
1626
|
+
|
|
1627
|
+
////////////////////////////////////////////////////////////////////////
|
|
1628
|
+
// void ecp_nistz256_select_w5(uint64_t *val, uint64_t *in_t, int index);
|
|
1629
|
+
.globl _ecp_nistz256_select_w5
|
|
1630
|
+
.private_extern _ecp_nistz256_select_w5
|
|
1631
|
+
|
|
1632
|
+
.align 4
|
|
1633
|
+
.alt_entry _ecp_nistz256_select_w5
|
|
1634
|
+
_ecp_nistz256_select_w5:
|
|
1635
|
+
AARCH64_VALID_CALL_TARGET
|
|
1636
|
+
|
|
1637
|
+
// x10 := x0
|
|
1638
|
+
// w9 := 0; loop counter and incremented internal index
|
|
1639
|
+
mov x10, x0
|
|
1640
|
+
mov w9, #0
|
|
1641
|
+
|
|
1642
|
+
// [v16-v21] := 0
|
|
1643
|
+
movi v16.16b, #0
|
|
1644
|
+
movi v17.16b, #0
|
|
1645
|
+
movi v18.16b, #0
|
|
1646
|
+
movi v19.16b, #0
|
|
1647
|
+
movi v20.16b, #0
|
|
1648
|
+
movi v21.16b, #0
|
|
1649
|
+
|
|
1650
|
+
Lselect_w5_loop:
|
|
1651
|
+
// Loop 16 times.
|
|
1652
|
+
|
|
1653
|
+
// Increment index (loop counter); tested at the end of the loop
|
|
1654
|
+
add w9, w9, #1
|
|
1655
|
+
|
|
1656
|
+
// [v22-v27] := Load a (3*256-bit = 6*128-bit) table entry starting at x1
|
|
1657
|
+
// and advance x1 to point to the next entry
|
|
1658
|
+
ld1 {v22.2d, v23.2d, v24.2d, v25.2d}, [x1],#64
|
|
1659
|
+
|
|
1660
|
+
// x11 := (w9 == w2)? All 1s : All 0s
|
|
1661
|
+
cmp w9, w2
|
|
1662
|
+
csetm x11, eq
|
|
1663
|
+
|
|
1664
|
+
// continue loading ...
|
|
1665
|
+
ld1 {v26.2d, v27.2d}, [x1],#32
|
|
1666
|
+
|
|
1667
|
+
// duplicate mask_64 into Mask (all 0s or all 1s)
|
|
1668
|
+
dup v3.2d, x11
|
|
1669
|
+
|
|
1670
|
+
// [v16-v19] := (Mask == all 1s)? [v22-v25] : [v16-v19]
|
|
1671
|
+
// i.e., values in output registers will remain the same if w9 != w2
|
|
1672
|
+
bit v16.16b, v22.16b, v3.16b
|
|
1673
|
+
bit v17.16b, v23.16b, v3.16b
|
|
1674
|
+
|
|
1675
|
+
bit v18.16b, v24.16b, v3.16b
|
|
1676
|
+
bit v19.16b, v25.16b, v3.16b
|
|
1677
|
+
|
|
1678
|
+
bit v20.16b, v26.16b, v3.16b
|
|
1679
|
+
bit v21.16b, v27.16b, v3.16b
|
|
1680
|
+
|
|
1681
|
+
// If bit #4 is not 0 (i.e. idx_ctr < 16) loop back
|
|
1682
|
+
tbz w9, #4, Lselect_w5_loop
|
|
1683
|
+
|
|
1684
|
+
// Write [v16-v21] to memory at the output pointer
|
|
1685
|
+
st1 {v16.2d, v17.2d, v18.2d, v19.2d}, [x10],#64
|
|
1686
|
+
st1 {v20.2d, v21.2d}, [x10]
|
|
1687
|
+
|
|
1688
|
+
ret
|
|
1689
|
+
|
|
1690
|
+
|
|
1691
|
+
|
|
1692
|
+
////////////////////////////////////////////////////////////////////////
|
|
1693
|
+
// void ecp_nistz256_select_w7(uint64_t *val, uint64_t *in_t, int index);
|
|
1694
|
+
.globl _ecp_nistz256_select_w7
|
|
1695
|
+
.private_extern _ecp_nistz256_select_w7
|
|
1696
|
+
|
|
1697
|
+
.align 4
|
|
1698
|
+
.alt_entry _ecp_nistz256_select_w7
|
|
1699
|
+
_ecp_nistz256_select_w7:
|
|
1700
|
+
AARCH64_VALID_CALL_TARGET
|
|
1701
|
+
|
|
1702
|
+
// w9 := 0; loop counter and incremented internal index
|
|
1703
|
+
mov w9, #0
|
|
1704
|
+
|
|
1705
|
+
// [v16-v21] := 0
|
|
1706
|
+
movi v16.16b, #0
|
|
1707
|
+
movi v17.16b, #0
|
|
1708
|
+
movi v18.16b, #0
|
|
1709
|
+
movi v19.16b, #0
|
|
1710
|
+
|
|
1711
|
+
Lselect_w7_loop:
|
|
1712
|
+
// Loop 64 times.
|
|
1713
|
+
|
|
1714
|
+
// Increment index (loop counter); tested at the end of the loop
|
|
1715
|
+
add w9, w9, #1
|
|
1716
|
+
|
|
1717
|
+
// [v22-v25] := Load a (2*256-bit = 4*128-bit) table entry starting at x1
|
|
1718
|
+
// and advance x1 to point to the next entry
|
|
1719
|
+
ld1 {v22.2d, v23.2d, v24.2d, v25.2d}, [x1],#64
|
|
1720
|
+
|
|
1721
|
+
// x11 := (w9 == w2)? All 1s : All 0s
|
|
1722
|
+
cmp w9, w2
|
|
1723
|
+
csetm x11, eq
|
|
1724
|
+
|
|
1725
|
+
// duplicate mask_64 into Mask (all 0s or all 1s)
|
|
1726
|
+
dup v3.2d, x11
|
|
1727
|
+
|
|
1728
|
+
// [v16-v19] := (Mask == all 1s)? [v22-v25] : [v16-v19]
|
|
1729
|
+
// i.e., values in output registers will remain the same if w9 != w2
|
|
1730
|
+
bit v16.16b, v22.16b, v3.16b
|
|
1731
|
+
bit v17.16b, v23.16b, v3.16b
|
|
1732
|
+
|
|
1733
|
+
bit v18.16b, v24.16b, v3.16b
|
|
1734
|
+
bit v19.16b, v25.16b, v3.16b
|
|
1735
|
+
|
|
1736
|
+
// If bit #6 is not 0 (i.e. idx_ctr < 64) loop back
|
|
1737
|
+
tbz w9, #6, Lselect_w7_loop
|
|
1738
|
+
|
|
1739
|
+
// Write [v16-v19] to memory at the output pointer
|
|
1740
|
+
st1 {v16.2d, v17.2d, v18.2d, v19.2d}, [x0]
|
|
1741
|
+
|
|
1742
|
+
ret
|
|
1743
|
+
|
|
1744
|
+
#endif // !OPENSSL_NO_ASM && defined(OPENSSL_AARCH64) && defined(__APPLE__)
|