visaljs 0.0.1 → 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.
Files changed (1008) hide show
  1. package/README.md +17 -1
  2. package/cli.js +565 -75
  3. package/node/include/js_node.h +28 -5
  4. package/node/include/js_uv.h +36 -0
  5. package/node/prelude/crypto.js +7 -10
  6. package/node/prelude/dns.js +99 -0
  7. package/node/prelude/dns_promises.js +10 -0
  8. package/node/prelude/http.js +1039 -195
  9. package/node/prelude/internal/crypto/asym.js +39 -12
  10. package/node/prelude/internal/crypto/dh_groups.js +12 -0
  11. package/node/prelude/internal/crypto/diffiehellman.js +354 -0
  12. package/node/prelude/internal/crypto/hash.js +1 -1
  13. package/node/prelude/internal/crypto/key_type.js +3 -0
  14. package/node/prelude/internal/crypto/keys.js +39 -9
  15. package/node/prelude/internal/http_agent.js +249 -0
  16. package/node/prelude/internal/net.js +33 -0
  17. package/node/prelude/internal/socketaddress.js +249 -0
  18. package/node/prelude/internal/tls/common.js +306 -0
  19. package/node/prelude/internal/tls/wrap.js +1217 -0
  20. package/node/prelude/internal/tls/x509.js +394 -0
  21. package/node/prelude/net.js +1083 -50
  22. package/node/prelude/stream.js +6 -0
  23. package/node/prelude/tls.js +141 -0
  24. package/node/prelude/util.js +5 -2
  25. package/node/prelude/util_types.js +85 -0
  26. package/node/src/host_http.c +268 -270
  27. package/node/src/host_loop.c +84 -0
  28. package/node/src/host_net.c +495 -0
  29. package/node/src/host_sys.c +16 -0
  30. package/package.json +1 -1
  31. package/runtime/include/js_builtins.h +16 -0
  32. package/runtime/include/js_console.h +2 -0
  33. package/runtime/include/js_core.def +23 -0
  34. package/runtime/include/js_crypto.h +23 -0
  35. package/runtime/include/js_generator.h +2 -3
  36. package/runtime/include/js_promise.h +0 -2
  37. package/runtime/src/async_iter.c +4 -1
  38. package/runtime/src/boringssl_support.cc +34 -0
  39. package/runtime/src/builtin_table.c +8 -0
  40. package/runtime/src/components.c +10 -0
  41. package/runtime/src/console.c +6 -18
  42. package/runtime/src/core_all.c +1 -0
  43. package/runtime/src/crypto_asym.c +450 -241
  44. package/runtime/src/crypto_bn.c +91 -0
  45. package/runtime/src/crypto_cipher.c +153 -75
  46. package/runtime/src/crypto_hash.c +68 -53
  47. package/runtime/src/crypto_internal.h +55 -26
  48. package/runtime/src/crypto_pkey.c +198 -61
  49. package/runtime/src/crypto_subtle.c +42 -16
  50. package/runtime/src/crypto_tls.c +678 -0
  51. package/runtime/src/generator.c +8 -1
  52. package/runtime/src/global.c +2 -4
  53. package/runtime/src/internal.h +0 -1
  54. package/runtime/src/jobs.c +2 -1
  55. package/runtime/src/promise.c +4 -1
  56. package/runtime/src/tls_roots.gen.h +3215 -0
  57. package/runtime/src/util_types.c +52 -0
  58. package/runtime/src/weak.c +2 -1
  59. package/runtime/third_party/boringssl/LICENSE +238 -0
  60. package/runtime/third_party/boringssl/README.md +46 -0
  61. package/runtime/third_party/boringssl/VERSION +1 -0
  62. package/runtime/third_party/boringssl/crypto/aes/aes.cc +44 -0
  63. package/runtime/third_party/boringssl/crypto/armv8_feature_parsing.h +67 -0
  64. package/runtime/third_party/boringssl/crypto/asn1/a_bitstr.cc +297 -0
  65. package/runtime/third_party/boringssl/crypto/asn1/a_bool.cc +50 -0
  66. package/runtime/third_party/boringssl/crypto/asn1/a_d2i_fp.cc +47 -0
  67. package/runtime/third_party/boringssl/crypto/asn1/a_dup.cc +42 -0
  68. package/runtime/third_party/boringssl/crypto/asn1/a_gentm.cc +130 -0
  69. package/runtime/third_party/boringssl/crypto/asn1/a_i2d_fp.cc +44 -0
  70. package/runtime/third_party/boringssl/crypto/asn1/a_int.cc +467 -0
  71. package/runtime/third_party/boringssl/crypto/asn1/a_mbstr.cc +242 -0
  72. package/runtime/third_party/boringssl/crypto/asn1/a_object.cc +191 -0
  73. package/runtime/third_party/boringssl/crypto/asn1/a_octet.cc +32 -0
  74. package/runtime/third_party/boringssl/crypto/asn1/a_strex.cc +411 -0
  75. package/runtime/third_party/boringssl/crypto/asn1/a_strnid.cc +208 -0
  76. package/runtime/third_party/boringssl/crypto/asn1/a_time.cc +248 -0
  77. package/runtime/third_party/boringssl/crypto/asn1/a_type.cc +467 -0
  78. package/runtime/third_party/boringssl/crypto/asn1/a_utctm.cc +128 -0
  79. package/runtime/third_party/boringssl/crypto/asn1/asn1_lib.cc +453 -0
  80. package/runtime/third_party/boringssl/crypto/asn1/asn1_par.cc +61 -0
  81. package/runtime/third_party/boringssl/crypto/asn1/asn_pack.cc +56 -0
  82. package/runtime/third_party/boringssl/crypto/asn1/f_int.cc +63 -0
  83. package/runtime/third_party/boringssl/crypto/asn1/f_string.cc +52 -0
  84. package/runtime/third_party/boringssl/crypto/asn1/internal.h +430 -0
  85. package/runtime/third_party/boringssl/crypto/asn1/posix_time.cc +244 -0
  86. package/runtime/third_party/boringssl/crypto/asn1/tasn_dec.cc +611 -0
  87. package/runtime/third_party/boringssl/crypto/asn1/tasn_enc.cc +348 -0
  88. package/runtime/third_party/boringssl/crypto/asn1/tasn_fre.cc +163 -0
  89. package/runtime/third_party/boringssl/crypto/asn1/tasn_new.cc +274 -0
  90. package/runtime/third_party/boringssl/crypto/asn1/tasn_typ.cc +92 -0
  91. package/runtime/third_party/boringssl/crypto/asn1/tasn_utl.cc +218 -0
  92. package/runtime/third_party/boringssl/crypto/base64/base64.cc +433 -0
  93. package/runtime/third_party/boringssl/crypto/bcm_support.h +62 -0
  94. package/runtime/third_party/boringssl/crypto/bio/bio.cc +715 -0
  95. package/runtime/third_party/boringssl/crypto/bio/bio_mem.cc +260 -0
  96. package/runtime/third_party/boringssl/crypto/bio/connect.cc +463 -0
  97. package/runtime/third_party/boringssl/crypto/bio/errno.cc +52 -0
  98. package/runtime/third_party/boringssl/crypto/bio/fd.cc +193 -0
  99. package/runtime/third_party/boringssl/crypto/bio/file.cc +283 -0
  100. package/runtime/third_party/boringssl/crypto/bio/hexdump.cc +154 -0
  101. package/runtime/third_party/boringssl/crypto/bio/internal.h +128 -0
  102. package/runtime/third_party/boringssl/crypto/bio/pair.cc +426 -0
  103. package/runtime/third_party/boringssl/crypto/bio/printf.cc +59 -0
  104. package/runtime/third_party/boringssl/crypto/bio/socket.cc +210 -0
  105. package/runtime/third_party/boringssl/crypto/bio/socket_helper.cc +179 -0
  106. package/runtime/third_party/boringssl/crypto/blake2/blake2.cc +173 -0
  107. package/runtime/third_party/boringssl/crypto/bn/bn_asn1.cc +57 -0
  108. package/runtime/third_party/boringssl/crypto/bn/convert.cc +409 -0
  109. package/runtime/third_party/boringssl/crypto/bn/div.cc +102 -0
  110. package/runtime/third_party/boringssl/crypto/bn/exponentiation.cc +168 -0
  111. package/runtime/third_party/boringssl/crypto/bn/sqrt.cc +93 -0
  112. package/runtime/third_party/boringssl/crypto/buf/buf.cc +119 -0
  113. package/runtime/third_party/boringssl/crypto/bytestring/asn1_compat.cc +54 -0
  114. package/runtime/third_party/boringssl/crypto/bytestring/ber.cc +268 -0
  115. package/runtime/third_party/boringssl/crypto/bytestring/cbb.cc +787 -0
  116. package/runtime/third_party/boringssl/crypto/bytestring/cbs.cc +977 -0
  117. package/runtime/third_party/boringssl/crypto/bytestring/internal.h +134 -0
  118. package/runtime/third_party/boringssl/crypto/bytestring/unicode.cc +156 -0
  119. package/runtime/third_party/boringssl/crypto/chacha/chacha.cc +226 -0
  120. package/runtime/third_party/boringssl/crypto/chacha/internal.h +103 -0
  121. package/runtime/third_party/boringssl/crypto/cipher/derive_key.cc +106 -0
  122. package/runtime/third_party/boringssl/crypto/cipher/e_aesctrhmac.cc +294 -0
  123. package/runtime/third_party/boringssl/crypto/cipher/e_aeseax.cc +351 -0
  124. package/runtime/third_party/boringssl/crypto/cipher/e_aesgcmsiv.cc +918 -0
  125. package/runtime/third_party/boringssl/crypto/cipher/e_chacha20poly1305.cc +404 -0
  126. package/runtime/third_party/boringssl/crypto/cipher/e_des.cc +214 -0
  127. package/runtime/third_party/boringssl/crypto/cipher/e_null.cc +55 -0
  128. package/runtime/third_party/boringssl/crypto/cipher/e_rc2.cc +432 -0
  129. package/runtime/third_party/boringssl/crypto/cipher/e_rc4.cc +56 -0
  130. package/runtime/third_party/boringssl/crypto/cipher/e_tls.cc +615 -0
  131. package/runtime/third_party/boringssl/crypto/cipher/get_cipher.cc +85 -0
  132. package/runtime/third_party/boringssl/crypto/cipher/internal.h +399 -0
  133. package/runtime/third_party/boringssl/crypto/cipher/tls_cbc.cc +476 -0
  134. package/runtime/third_party/boringssl/crypto/cms/cms.cc +178 -0
  135. package/runtime/third_party/boringssl/crypto/conf/conf.cc +637 -0
  136. package/runtime/third_party/boringssl/crypto/conf/internal.h +54 -0
  137. package/runtime/third_party/boringssl/crypto/cpu_aarch64_apple.cc +76 -0
  138. package/runtime/third_party/boringssl/crypto/cpu_aarch64_fuchsia.cc +58 -0
  139. package/runtime/third_party/boringssl/crypto/cpu_aarch64_linux.cc +66 -0
  140. package/runtime/third_party/boringssl/crypto/cpu_aarch64_openbsd.cc +45 -0
  141. package/runtime/third_party/boringssl/crypto/cpu_aarch64_sysreg.cc +66 -0
  142. package/runtime/third_party/boringssl/crypto/cpu_aarch64_win.cc +52 -0
  143. package/runtime/third_party/boringssl/crypto/cpu_arm_freebsd.cc +55 -0
  144. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.cc +173 -0
  145. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.h +141 -0
  146. package/runtime/third_party/boringssl/crypto/cpu_intel.cc +287 -0
  147. package/runtime/third_party/boringssl/crypto/crypto.cc +152 -0
  148. package/runtime/third_party/boringssl/crypto/curve25519/asm/x25519-asm-arm.S +2124 -0
  149. package/runtime/third_party/boringssl/crypto/curve25519/cpace.cc +227 -0
  150. package/runtime/third_party/boringssl/crypto/curve25519/curve25519.cc +2436 -0
  151. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_64_adx.cc +18 -0
  152. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_tables.h +3264 -0
  153. package/runtime/third_party/boringssl/crypto/curve25519/internal.h +202 -0
  154. package/runtime/third_party/boringssl/crypto/curve25519/spake25519.cc +532 -0
  155. package/runtime/third_party/boringssl/crypto/des/des.cc +837 -0
  156. package/runtime/third_party/boringssl/crypto/des/internal.h +144 -0
  157. package/runtime/third_party/boringssl/crypto/dh/dh_asn1.cc +109 -0
  158. package/runtime/third_party/boringssl/crypto/dh/params.cc +411 -0
  159. package/runtime/third_party/boringssl/crypto/digest/digest_extra.cc +361 -0
  160. package/runtime/third_party/boringssl/crypto/dsa/dsa.cc +922 -0
  161. package/runtime/third_party/boringssl/crypto/dsa/dsa_asn1.cc +306 -0
  162. package/runtime/third_party/boringssl/crypto/dsa/internal.h +56 -0
  163. package/runtime/third_party/boringssl/crypto/ec/ec_asn1.cc +542 -0
  164. package/runtime/third_party/boringssl/crypto/ec/ec_derive.cc +94 -0
  165. package/runtime/third_party/boringssl/crypto/ec/hash_to_curve.cc +773 -0
  166. package/runtime/third_party/boringssl/crypto/ec/internal.h +114 -0
  167. package/runtime/third_party/boringssl/crypto/ecdh/ecdh.cc +75 -0
  168. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.cc +337 -0
  169. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_p1363.cc +54 -0
  170. package/runtime/third_party/boringssl/crypto/engine/engine.cc +95 -0
  171. package/runtime/third_party/boringssl/crypto/err/err.cc +820 -0
  172. package/runtime/third_party/boringssl/crypto/err/internal.h +45 -0
  173. package/runtime/third_party/boringssl/crypto/evp/evp.cc +454 -0
  174. package/runtime/third_party/boringssl/crypto/evp/evp_asn1.cc +439 -0
  175. package/runtime/third_party/boringssl/crypto/evp/evp_ctx.cc +541 -0
  176. package/runtime/third_party/boringssl/crypto/evp/evp_kem.cc +101 -0
  177. package/runtime/third_party/boringssl/crypto/evp/internal.h +427 -0
  178. package/runtime/third_party/boringssl/crypto/evp/p_dh.cc +326 -0
  179. package/runtime/third_party/boringssl/crypto/evp/p_dsa.cc +333 -0
  180. package/runtime/third_party/boringssl/crypto/evp/p_ec.cc +736 -0
  181. package/runtime/third_party/boringssl/crypto/evp/p_ed25519.cc +359 -0
  182. package/runtime/third_party/boringssl/crypto/evp/p_hkdf.cc +204 -0
  183. package/runtime/third_party/boringssl/crypto/evp/p_mldsa.cc +549 -0
  184. package/runtime/third_party/boringssl/crypto/evp/p_mlkem.cc +510 -0
  185. package/runtime/third_party/boringssl/crypto/evp/p_rsa.cc +1185 -0
  186. package/runtime/third_party/boringssl/crypto/evp/p_x25519.cc +371 -0
  187. package/runtime/third_party/boringssl/crypto/evp/p_xwing.cc +300 -0
  188. package/runtime/third_party/boringssl/crypto/evp/pbkdf.cc +105 -0
  189. package/runtime/third_party/boringssl/crypto/evp/print.cc +287 -0
  190. package/runtime/third_party/boringssl/crypto/evp/scrypt.cc +218 -0
  191. package/runtime/third_party/boringssl/crypto/evp/sign.cc +95 -0
  192. package/runtime/third_party/boringssl/crypto/ex_data.cc +140 -0
  193. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes.cc.inc +208 -0
  194. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes_nohw.cc.inc +1279 -0
  195. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cbc.cc.inc +132 -0
  196. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cfb.cc.inc +168 -0
  197. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ctr.cc.inc +102 -0
  198. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm.cc.inc +614 -0
  199. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm_nohw.cc.inc +304 -0
  200. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/internal.h +590 -0
  201. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/key_wrap.cc.inc +211 -0
  202. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/mode_wrappers.cc.inc +97 -0
  203. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ofb.cc.inc +55 -0
  204. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm.cc +288 -0
  205. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm_interface.h +953 -0
  206. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/add.cc.inc +276 -0
  207. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +573 -0
  208. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bn.cc.inc +377 -0
  209. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bytes.cc.inc +230 -0
  210. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/cmp.cc.inc +161 -0
  211. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/ctx.cc.inc +127 -0
  212. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div.cc.inc +738 -0
  213. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div_extra.cc.inc +90 -0
  214. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/exponentiation.cc.inc +743 -0
  215. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd.cc.inc +281 -0
  216. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd_extra.cc.inc +327 -0
  217. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/generic.cc.inc +579 -0
  218. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/internal.h +810 -0
  219. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/jacobi.cc.inc +101 -0
  220. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery.cc.inc +408 -0
  221. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery_inv.cc.inc +179 -0
  222. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/mul.cc.inc +347 -0
  223. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/prime.cc.inc +931 -0
  224. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/random.cc.inc +261 -0
  225. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.cc.inc +144 -0
  226. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.h +109 -0
  227. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/shift.cc.inc +317 -0
  228. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/sqrt.cc.inc +370 -0
  229. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/aead.cc.inc +619 -0
  230. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/cipher.cc.inc +837 -0
  231. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aes.cc.inc +1240 -0
  232. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aesccm.cc.inc +440 -0
  233. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/internal.h +461 -0
  234. package/runtime/third_party/boringssl/crypto/fipsmodule/cmac/cmac.cc.inc +293 -0
  235. package/runtime/third_party/boringssl/crypto/fipsmodule/delocate.h +95 -0
  236. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/check.cc.inc +198 -0
  237. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/dh.cc.inc +401 -0
  238. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/internal.h +63 -0
  239. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digest.cc.inc +221 -0
  240. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digests.cc.inc +184 -0
  241. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/internal.h +72 -0
  242. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/md32_common.h +166 -0
  243. package/runtime/third_party/boringssl/crypto/fipsmodule/digestsign/digestsign.cc.inc +230 -0
  244. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/builtin_curves.h +277 -0
  245. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec.cc.inc +1024 -0
  246. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_key.cc.inc +536 -0
  247. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_montgomery.cc.inc +379 -0
  248. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/felem.cc.inc +250 -0
  249. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/internal.h +752 -0
  250. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/oct.cc.inc +174 -0
  251. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz-table.h +9502 -0
  252. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.cc.inc +740 -0
  253. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.h +207 -0
  254. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256.cc.inc +578 -0
  255. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256_table.h +297 -0
  256. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/scalar.cc.inc +184 -0
  257. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple.cc.inc +246 -0
  258. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple_mul.cc.inc +274 -0
  259. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/util.cc.inc +258 -0
  260. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/wnaf.cc.inc +224 -0
  261. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdh/ecdh.cc.inc +91 -0
  262. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +288 -0
  263. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/internal.h +57 -0
  264. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/internal.h +38 -0
  265. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/jitter.cc.inc +487 -0
  266. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/sha512.cc.inc +329 -0
  267. package/runtime/third_party/boringssl/crypto/fipsmodule/fips_shared_support.cc +28 -0
  268. package/runtime/third_party/boringssl/crypto/fipsmodule/hkdf/hkdf.cc.inc +114 -0
  269. package/runtime/third_party/boringssl/crypto/fipsmodule/hmac/hmac.cc.inc +218 -0
  270. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/internal.h +165 -0
  271. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/keccak.cc.inc +647 -0
  272. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/fips_known_values.inc +1345 -0
  273. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/mldsa.cc.inc +3323 -0
  274. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/fips_known_values.inc +411 -0
  275. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/mlkem.cc.inc +1856 -0
  276. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/android_entropy_client.cc.inc +82 -0
  277. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/ctrdrbg.cc.inc +401 -0
  278. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/internal.h +99 -0
  279. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/rand.cc.inc +486 -0
  280. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/internal.h +167 -0
  281. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/padding.cc.inc +371 -0
  282. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa.cc.inc +996 -0
  283. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa_impl.cc.inc +1000 -0
  284. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/fips.cc.inc +129 -0
  285. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/self_check.cc.inc +1093 -0
  286. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/internal.h +112 -0
  287. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +330 -0
  288. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/internal.h +205 -0
  289. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha1.cc.inc +404 -0
  290. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha256.cc.inc +315 -0
  291. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha512.cc.inc +473 -0
  292. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/address.h +144 -0
  293. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fips_known_values.inc +674 -0
  294. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.cc.inc +179 -0
  295. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.h +48 -0
  296. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.cc.inc +164 -0
  297. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.h +58 -0
  298. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/params.h +178 -0
  299. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +690 -0
  300. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.cc.inc +326 -0
  301. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.h +71 -0
  302. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.cc.inc +172 -0
  303. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.h +40 -0
  304. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/internal.h +33 -0
  305. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/kdf.cc.inc +180 -0
  306. package/runtime/third_party/boringssl/crypto/fuzzer_mode.cc +30 -0
  307. package/runtime/third_party/boringssl/crypto/hpke/hpke.cc +1514 -0
  308. package/runtime/third_party/boringssl/crypto/hrss/asm/poly_rq_mul.S +8489 -0
  309. package/runtime/third_party/boringssl/crypto/hrss/hrss.cc +2189 -0
  310. package/runtime/third_party/boringssl/crypto/hrss/internal.h +64 -0
  311. package/runtime/third_party/boringssl/crypto/internal.h +1767 -0
  312. package/runtime/third_party/boringssl/crypto/lhash/internal.h +222 -0
  313. package/runtime/third_party/boringssl/crypto/lhash/lhash.cc +312 -0
  314. package/runtime/third_party/boringssl/crypto/md4/md4.cc +207 -0
  315. package/runtime/third_party/boringssl/crypto/md5/internal.h +34 -0
  316. package/runtime/third_party/boringssl/crypto/md5/md5.cc +255 -0
  317. package/runtime/third_party/boringssl/crypto/mem.cc +577 -0
  318. package/runtime/third_party/boringssl/crypto/mem_internal.h +706 -0
  319. package/runtime/third_party/boringssl/crypto/mldsa/mldsa.cc +296 -0
  320. package/runtime/third_party/boringssl/crypto/mlkem/mlkem.cc +108 -0
  321. package/runtime/third_party/boringssl/crypto/obj/obj.cc +494 -0
  322. package/runtime/third_party/boringssl/crypto/obj/obj_dat.h +11722 -0
  323. package/runtime/third_party/boringssl/crypto/obj/obj_xref.cc +83 -0
  324. package/runtime/third_party/boringssl/crypto/params_internal.h +30 -0
  325. package/runtime/third_party/boringssl/crypto/pem/internal.h +135 -0
  326. package/runtime/third_party/boringssl/crypto/pem/pem_all.cc +153 -0
  327. package/runtime/third_party/boringssl/crypto/pem/pem_info.cc +250 -0
  328. package/runtime/third_party/boringssl/crypto/pem/pem_lib.cc +707 -0
  329. package/runtime/third_party/boringssl/crypto/pem/pem_oth.cc +45 -0
  330. package/runtime/third_party/boringssl/crypto/pem/pem_pk8.cc +211 -0
  331. package/runtime/third_party/boringssl/crypto/pem/pem_pkey.cc +147 -0
  332. package/runtime/third_party/boringssl/crypto/pem/pem_x509.cc +25 -0
  333. package/runtime/third_party/boringssl/crypto/pem/pem_xaux.cc +25 -0
  334. package/runtime/third_party/boringssl/crypto/pkcs7/internal.h +67 -0
  335. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7.cc +198 -0
  336. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7_x509.cc +527 -0
  337. package/runtime/third_party/boringssl/crypto/pkcs8/internal.h +98 -0
  338. package/runtime/third_party/boringssl/crypto/pkcs8/p5_pbev2.cc +286 -0
  339. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8.cc +473 -0
  340. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8_x509.cc +1328 -0
  341. package/runtime/third_party/boringssl/crypto/poly1305/internal.h +54 -0
  342. package/runtime/third_party/boringssl/crypto/poly1305/poly1305.cc +315 -0
  343. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm.cc +294 -0
  344. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm_asm.S +2017 -0
  345. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_vec.cc +853 -0
  346. package/runtime/third_party/boringssl/crypto/pool/internal.h +95 -0
  347. package/runtime/third_party/boringssl/crypto/pool/pool.cc +282 -0
  348. package/runtime/third_party/boringssl/crypto/rand/deterministic.cc +58 -0
  349. package/runtime/third_party/boringssl/crypto/rand/fork_detect.cc +222 -0
  350. package/runtime/third_party/boringssl/crypto/rand/forkunsafe.cc +44 -0
  351. package/runtime/third_party/boringssl/crypto/rand/getentropy.cc +53 -0
  352. package/runtime/third_party/boringssl/crypto/rand/internal.h +67 -0
  353. package/runtime/third_party/boringssl/crypto/rand/ios.cc +35 -0
  354. package/runtime/third_party/boringssl/crypto/rand/rand.cc +79 -0
  355. package/runtime/third_party/boringssl/crypto/rand/trusty.cc +39 -0
  356. package/runtime/third_party/boringssl/crypto/rand/urandom.cc +149 -0
  357. package/runtime/third_party/boringssl/crypto/rand/windows.cc +91 -0
  358. package/runtime/third_party/boringssl/crypto/rc4/rc4.cc +56 -0
  359. package/runtime/third_party/boringssl/crypto/refcount.cc +49 -0
  360. package/runtime/third_party/boringssl/crypto/rsa/internal.h +51 -0
  361. package/runtime/third_party/boringssl/crypto/rsa/rsa_asn1.cc +404 -0
  362. package/runtime/third_party/boringssl/crypto/rsa/rsa_crypt.cc +530 -0
  363. package/runtime/third_party/boringssl/crypto/rsa/rsa_extra.cc +30 -0
  364. package/runtime/third_party/boringssl/crypto/rsa/rsa_print.cc +25 -0
  365. package/runtime/third_party/boringssl/crypto/sha/sha1.cc +55 -0
  366. package/runtime/third_party/boringssl/crypto/sha/sha256.cc +89 -0
  367. package/runtime/third_party/boringssl/crypto/sha/sha512.cc +106 -0
  368. package/runtime/third_party/boringssl/crypto/siphash/siphash.cc +81 -0
  369. package/runtime/third_party/boringssl/crypto/slhdsa/slhdsa.cc +167 -0
  370. package/runtime/third_party/boringssl/crypto/spake2plus/internal.h +204 -0
  371. package/runtime/third_party/boringssl/crypto/spake2plus/spake2plus.cc +501 -0
  372. package/runtime/third_party/boringssl/crypto/stack/stack.cc +462 -0
  373. package/runtime/third_party/boringssl/crypto/thread.cc +68 -0
  374. package/runtime/third_party/boringssl/crypto/thread_none.cc +48 -0
  375. package/runtime/third_party/boringssl/crypto/thread_pthread.cc +138 -0
  376. package/runtime/third_party/boringssl/crypto/thread_win.cc +227 -0
  377. package/runtime/third_party/boringssl/crypto/trust_token/internal.h +405 -0
  378. package/runtime/third_party/boringssl/crypto/trust_token/pmbtoken.cc +1672 -0
  379. package/runtime/third_party/boringssl/crypto/trust_token/trust_token.cc +701 -0
  380. package/runtime/third_party/boringssl/crypto/trust_token/voprf.cc +1266 -0
  381. package/runtime/third_party/boringssl/crypto/x509/a_digest.cc +52 -0
  382. package/runtime/third_party/boringssl/crypto/x509/a_sign.cc +100 -0
  383. package/runtime/third_party/boringssl/crypto/x509/a_verify.cc +77 -0
  384. package/runtime/third_party/boringssl/crypto/x509/algorithm.cc +167 -0
  385. package/runtime/third_party/boringssl/crypto/x509/asn1_gen.cc +540 -0
  386. package/runtime/third_party/boringssl/crypto/x509/by_dir.cc +301 -0
  387. package/runtime/third_party/boringssl/crypto/x509/by_file.cc +226 -0
  388. package/runtime/third_party/boringssl/crypto/x509/i2d_pr.cc +37 -0
  389. package/runtime/third_party/boringssl/crypto/x509/internal.h +697 -0
  390. package/runtime/third_party/boringssl/crypto/x509/name_print.cc +187 -0
  391. package/runtime/third_party/boringssl/crypto/x509/policy.cc +686 -0
  392. package/runtime/third_party/boringssl/crypto/x509/rsa_pss.cc +187 -0
  393. package/runtime/third_party/boringssl/crypto/x509/t_crl.cc +106 -0
  394. package/runtime/third_party/boringssl/crypto/x509/t_req.cc +206 -0
  395. package/runtime/third_party/boringssl/crypto/x509/t_x509.cc +292 -0
  396. package/runtime/third_party/boringssl/crypto/x509/t_x509a.cc +81 -0
  397. package/runtime/third_party/boringssl/crypto/x509/v3_akey.cc +174 -0
  398. package/runtime/third_party/boringssl/crypto/x509/v3_akeya.cc +31 -0
  399. package/runtime/third_party/boringssl/crypto/x509/v3_alt.cc +636 -0
  400. package/runtime/third_party/boringssl/crypto/x509/v3_bcons.cc +96 -0
  401. package/runtime/third_party/boringssl/crypto/x509/v3_bitst.cc +100 -0
  402. package/runtime/third_party/boringssl/crypto/x509/v3_conf.cc +369 -0
  403. package/runtime/third_party/boringssl/crypto/x509/v3_cpols.cc +417 -0
  404. package/runtime/third_party/boringssl/crypto/x509/v3_crld.cc +471 -0
  405. package/runtime/third_party/boringssl/crypto/x509/v3_enum.cc +74 -0
  406. package/runtime/third_party/boringssl/crypto/x509/v3_extku.cc +97 -0
  407. package/runtime/third_party/boringssl/crypto/x509/v3_genn.cc +238 -0
  408. package/runtime/third_party/boringssl/crypto/x509/v3_ia5.cc +83 -0
  409. package/runtime/third_party/boringssl/crypto/x509/v3_info.cc +162 -0
  410. package/runtime/third_party/boringssl/crypto/x509/v3_int.cc +83 -0
  411. package/runtime/third_party/boringssl/crypto/x509/v3_lib.cc +349 -0
  412. package/runtime/third_party/boringssl/crypto/x509/v3_ncons.cc +798 -0
  413. package/runtime/third_party/boringssl/crypto/x509/v3_ocsp.cc +92 -0
  414. package/runtime/third_party/boringssl/crypto/x509/v3_pcons.cc +102 -0
  415. package/runtime/third_party/boringssl/crypto/x509/v3_pmaps.cc +110 -0
  416. package/runtime/third_party/boringssl/crypto/x509/v3_prn.cc +183 -0
  417. package/runtime/third_party/boringssl/crypto/x509/v3_purp.cc +580 -0
  418. package/runtime/third_party/boringssl/crypto/x509/v3_skey.cc +128 -0
  419. package/runtime/third_party/boringssl/crypto/x509/v3_utl.cc +1311 -0
  420. package/runtime/third_party/boringssl/crypto/x509/x509.cc +47 -0
  421. package/runtime/third_party/boringssl/crypto/x509/x509_att.cc +188 -0
  422. package/runtime/third_party/boringssl/crypto/x509/x509_cmp.cc +243 -0
  423. package/runtime/third_party/boringssl/crypto/x509/x509_d2.cc +66 -0
  424. package/runtime/third_party/boringssl/crypto/x509/x509_def.cc +42 -0
  425. package/runtime/third_party/boringssl/crypto/x509/x509_ext.cc +161 -0
  426. package/runtime/third_party/boringssl/crypto/x509/x509_lu.cc +570 -0
  427. package/runtime/third_party/boringssl/crypto/x509/x509_mtc.cc +598 -0
  428. package/runtime/third_party/boringssl/crypto/x509/x509_obj.cc +169 -0
  429. package/runtime/third_party/boringssl/crypto/x509/x509_req.cc +248 -0
  430. package/runtime/third_party/boringssl/crypto/x509/x509_set.cc +166 -0
  431. package/runtime/third_party/boringssl/crypto/x509/x509_trs.cc +123 -0
  432. package/runtime/third_party/boringssl/crypto/x509/x509_txt.cc +147 -0
  433. package/runtime/third_party/boringssl/crypto/x509/x509_v3.cc +249 -0
  434. package/runtime/third_party/boringssl/crypto/x509/x509_vfy.cc +1531 -0
  435. package/runtime/third_party/boringssl/crypto/x509/x509_vpm.cc +449 -0
  436. package/runtime/third_party/boringssl/crypto/x509/x509cset.cc +222 -0
  437. package/runtime/third_party/boringssl/crypto/x509/x509name.cc +377 -0
  438. package/runtime/third_party/boringssl/crypto/x509/x509rset.cc +55 -0
  439. package/runtime/third_party/boringssl/crypto/x509/x509spki.cc +91 -0
  440. package/runtime/third_party/boringssl/crypto/x509/x_algor.cc +223 -0
  441. package/runtime/third_party/boringssl/crypto/x509/x_all.cc +352 -0
  442. package/runtime/third_party/boringssl/crypto/x509/x_attrib.cc +61 -0
  443. package/runtime/third_party/boringssl/crypto/x509/x_crl.cc +325 -0
  444. package/runtime/third_party/boringssl/crypto/x509/x_exten.cc +42 -0
  445. package/runtime/third_party/boringssl/crypto/x509/x_name.cc +407 -0
  446. package/runtime/third_party/boringssl/crypto/x509/x_pubkey.cc +199 -0
  447. package/runtime/third_party/boringssl/crypto/x509/x_req.cc +80 -0
  448. package/runtime/third_party/boringssl/crypto/x509/x_sig.cc +51 -0
  449. package/runtime/third_party/boringssl/crypto/x509/x_spki.cc +44 -0
  450. package/runtime/third_party/boringssl/crypto/x509/x_x509.cc +495 -0
  451. package/runtime/third_party/boringssl/crypto/x509/x_x509a.cc +169 -0
  452. package/runtime/third_party/boringssl/crypto/xwing/xwing.cc +257 -0
  453. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-apple.S +1326 -0
  454. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-linux.S +1327 -0
  455. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-apple.S +1252 -0
  456. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-linux.S +1253 -0
  457. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-apple.S +873 -0
  458. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-linux.S +885 -0
  459. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-apple.S +2490 -0
  460. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-linux.S +2530 -0
  461. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-apple.S +2413 -0
  462. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-linux.S +2397 -0
  463. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv7-linux.S +784 -0
  464. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-apple.S +792 -0
  465. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-linux.S +786 -0
  466. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-win.S +798 -0
  467. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-apple.S +2912 -0
  468. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-linux.S +2907 -0
  469. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-win.S +2915 -0
  470. package/runtime/third_party/boringssl/gen/bcm/armv4-mont-linux.S +932 -0
  471. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-apple.S +1440 -0
  472. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-linux.S +1440 -0
  473. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-win.S +1446 -0
  474. package/runtime/third_party/boringssl/gen/bcm/bn-586-apple.S +530 -0
  475. package/runtime/third_party/boringssl/gen/bcm/bn-586-linux.S +540 -0
  476. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-apple.S +88 -0
  477. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-linux.S +87 -0
  478. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-win.S +87 -0
  479. package/runtime/third_party/boringssl/gen/bcm/bsaes-armv7-linux.S +1520 -0
  480. package/runtime/third_party/boringssl/gen/bcm/co-586-apple.S +1256 -0
  481. package/runtime/third_party/boringssl/gen/bcm/co-586-linux.S +1264 -0
  482. package/runtime/third_party/boringssl/gen/bcm/ghash-armv4-linux.S +242 -0
  483. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-apple.S +337 -0
  484. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-linux.S +335 -0
  485. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-win.S +341 -0
  486. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-apple.S +288 -0
  487. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-linux.S +292 -0
  488. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-apple.S +426 -0
  489. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-linux.S +425 -0
  490. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-apple.S +322 -0
  491. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-linux.S +328 -0
  492. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-apple.S +1134 -0
  493. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-linux.S +1129 -0
  494. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv7-linux.S +244 -0
  495. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-apple.S +567 -0
  496. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-linux.S +563 -0
  497. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-win.S +571 -0
  498. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-apple.S +1744 -0
  499. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-linux.S +1725 -0
  500. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-win.S +1765 -0
  501. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-apple.S +4544 -0
  502. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-linux.S +4600 -0
  503. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-apple.S +310 -0
  504. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-linux.S +310 -0
  505. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-win.S +310 -0
  506. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-apple.S +321 -0
  507. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-linux.S +335 -0
  508. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-apple.S +58 -0
  509. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-linux.S +57 -0
  510. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-apple.S +1756 -0
  511. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-linux.S +1751 -0
  512. package/runtime/third_party/boringssl/gen/bcm/sha1-586-apple.S +3782 -0
  513. package/runtime/third_party/boringssl/gen/bcm/sha1-586-linux.S +3788 -0
  514. package/runtime/third_party/boringssl/gen/bcm/sha1-armv4-large-linux.S +1479 -0
  515. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-apple.S +1219 -0
  516. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-linux.S +1218 -0
  517. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-win.S +1222 -0
  518. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-apple.S +5454 -0
  519. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-linux.S +5450 -0
  520. package/runtime/third_party/boringssl/gen/bcm/sha256-586-apple.S +5593 -0
  521. package/runtime/third_party/boringssl/gen/bcm/sha256-586-linux.S +5599 -0
  522. package/runtime/third_party/boringssl/gen/bcm/sha256-armv4-linux.S +2840 -0
  523. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-apple.S +1195 -0
  524. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-linux.S +1194 -0
  525. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-win.S +1198 -0
  526. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-apple.S +4173 -0
  527. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-linux.S +4170 -0
  528. package/runtime/third_party/boringssl/gen/bcm/sha512-586-apple.S +2406 -0
  529. package/runtime/third_party/boringssl/gen/bcm/sha512-586-linux.S +2410 -0
  530. package/runtime/third_party/boringssl/gen/bcm/sha512-armv4-linux.S +1857 -0
  531. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-apple.S +1598 -0
  532. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-linux.S +1597 -0
  533. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-win.S +1601 -0
  534. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-apple.S +2979 -0
  535. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-linux.S +2978 -0
  536. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv7-linux.S +1225 -0
  537. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-apple.S +1238 -0
  538. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-linux.S +1220 -0
  539. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-win.S +1256 -0
  540. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-apple.S +680 -0
  541. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-linux.S +706 -0
  542. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-apple.S +1146 -0
  543. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-linux.S +1133 -0
  544. package/runtime/third_party/boringssl/gen/bcm/x86-mont-apple.S +216 -0
  545. package/runtime/third_party/boringssl/gen/bcm/x86-mont-linux.S +218 -0
  546. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-apple.S +1238 -0
  547. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-linux.S +1237 -0
  548. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-apple.S +3644 -0
  549. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-linux.S +3628 -0
  550. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_64_win_asm.inc +325 -0
  551. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_win_asm.inc +325 -0
  552. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-apple.S +3113 -0
  553. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-linux.S +3091 -0
  554. package/runtime/third_party/boringssl/gen/crypto/chacha-armv4-linux.S +1450 -0
  555. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-apple.S +1969 -0
  556. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-linux.S +1967 -0
  557. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-win.S +1973 -0
  558. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-apple.S +957 -0
  559. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-linux.S +961 -0
  560. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-apple.S +1608 -0
  561. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-linux.S +1611 -0
  562. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-apple.S +3010 -0
  563. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-linux.S +3008 -0
  564. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-win.S +3014 -0
  565. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-apple.S +8903 -0
  566. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-linux.S +8940 -0
  567. package/runtime/third_party/boringssl/gen/crypto/err_data.cc +1578 -0
  568. package/runtime/third_party/boringssl/gen/crypto/md5-586-apple.S +684 -0
  569. package/runtime/third_party/boringssl/gen/crypto/md5-586-linux.S +686 -0
  570. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-apple.S +690 -0
  571. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-linux.S +695 -0
  572. package/runtime/third_party/boringssl/include/openssl/aead.h +650 -0
  573. package/runtime/third_party/boringssl/include/openssl/aes.h +173 -0
  574. package/runtime/third_party/boringssl/include/openssl/arm_arch.h +24 -0
  575. package/runtime/third_party/boringssl/include/openssl/asm_base.h +219 -0
  576. package/runtime/third_party/boringssl/include/openssl/asn1.h +2002 -0
  577. package/runtime/third_party/boringssl/include/openssl/asn1_mac.h +18 -0
  578. package/runtime/third_party/boringssl/include/openssl/asn1t.h +584 -0
  579. package/runtime/third_party/boringssl/include/openssl/base.h +548 -0
  580. package/runtime/third_party/boringssl/include/openssl/base64.h +156 -0
  581. package/runtime/third_party/boringssl/include/openssl/bio.h +1061 -0
  582. package/runtime/third_party/boringssl/include/openssl/blake2.h +63 -0
  583. package/runtime/third_party/boringssl/include/openssl/blowfish.h +58 -0
  584. package/runtime/third_party/boringssl/include/openssl/bn.h +986 -0
  585. package/runtime/third_party/boringssl/include/openssl/buf.h +95 -0
  586. package/runtime/third_party/boringssl/include/openssl/buffer.h +18 -0
  587. package/runtime/third_party/boringssl/include/openssl/bytestring.h +798 -0
  588. package/runtime/third_party/boringssl/include/openssl/cast.h +91 -0
  589. package/runtime/third_party/boringssl/include/openssl/chacha.h +47 -0
  590. package/runtime/third_party/boringssl/include/openssl/cipher.h +819 -0
  591. package/runtime/third_party/boringssl/include/openssl/cmac.h +91 -0
  592. package/runtime/third_party/boringssl/include/openssl/cms.h +147 -0
  593. package/runtime/third_party/boringssl/include/openssl/conf.h +136 -0
  594. package/runtime/third_party/boringssl/include/openssl/configuration.h +18 -0
  595. package/runtime/third_party/boringssl/include/openssl/cpu.h +18 -0
  596. package/runtime/third_party/boringssl/include/openssl/crypto.h +235 -0
  597. package/runtime/third_party/boringssl/include/openssl/ctrdrbg.h +116 -0
  598. package/runtime/third_party/boringssl/include/openssl/curve25519.h +309 -0
  599. package/runtime/third_party/boringssl/include/openssl/des.h +134 -0
  600. package/runtime/third_party/boringssl/include/openssl/dh.h +336 -0
  601. package/runtime/third_party/boringssl/include/openssl/digest.h +399 -0
  602. package/runtime/third_party/boringssl/include/openssl/dsa.h +392 -0
  603. package/runtime/third_party/boringssl/include/openssl/dtls1.h +16 -0
  604. package/runtime/third_party/boringssl/include/openssl/e_os2.h +18 -0
  605. package/runtime/third_party/boringssl/include/openssl/ec.h +530 -0
  606. package/runtime/third_party/boringssl/include/openssl/ec_key.h +358 -0
  607. package/runtime/third_party/boringssl/include/openssl/ecdh.h +67 -0
  608. package/runtime/third_party/boringssl/include/openssl/ecdsa.h +242 -0
  609. package/runtime/third_party/boringssl/include/openssl/engine.h +109 -0
  610. package/runtime/third_party/boringssl/include/openssl/err.h +416 -0
  611. package/runtime/third_party/boringssl/include/openssl/evp.h +1645 -0
  612. package/runtime/third_party/boringssl/include/openssl/evp_errors.h +66 -0
  613. package/runtime/third_party/boringssl/include/openssl/ex_data.h +117 -0
  614. package/runtime/third_party/boringssl/include/openssl/hkdf.h +68 -0
  615. package/runtime/third_party/boringssl/include/openssl/hmac.h +151 -0
  616. package/runtime/third_party/boringssl/include/openssl/hpke.h +456 -0
  617. package/runtime/third_party/boringssl/include/openssl/hrss.h +108 -0
  618. package/runtime/third_party/boringssl/include/openssl/is_boringssl.h +16 -0
  619. package/runtime/third_party/boringssl/include/openssl/kdf.h +92 -0
  620. package/runtime/third_party/boringssl/include/openssl/lhash.h +18 -0
  621. package/runtime/third_party/boringssl/include/openssl/md4.h +73 -0
  622. package/runtime/third_party/boringssl/include/openssl/md5.h +67 -0
  623. package/runtime/third_party/boringssl/include/openssl/mem.h +215 -0
  624. package/runtime/third_party/boringssl/include/openssl/mldsa.h +486 -0
  625. package/runtime/third_party/boringssl/include/openssl/mlkem.h +222 -0
  626. package/runtime/third_party/boringssl/include/openssl/nid.h +5561 -0
  627. package/runtime/third_party/boringssl/include/openssl/obj.h +225 -0
  628. package/runtime/third_party/boringssl/include/openssl/obj_mac.h +18 -0
  629. package/runtime/third_party/boringssl/include/openssl/objects.h +18 -0
  630. package/runtime/third_party/boringssl/include/openssl/opensslconf.h +108 -0
  631. package/runtime/third_party/boringssl/include/openssl/opensslv.h +18 -0
  632. package/runtime/third_party/boringssl/include/openssl/ossl_typ.h +18 -0
  633. package/runtime/third_party/boringssl/include/openssl/params.h +42 -0
  634. package/runtime/third_party/boringssl/include/openssl/pem.h +769 -0
  635. package/runtime/third_party/boringssl/include/openssl/pkcs12.h +18 -0
  636. package/runtime/third_party/boringssl/include/openssl/pkcs7.h +239 -0
  637. package/runtime/third_party/boringssl/include/openssl/pkcs8.h +267 -0
  638. package/runtime/third_party/boringssl/include/openssl/poly1305.h +52 -0
  639. package/runtime/third_party/boringssl/include/openssl/pool.h +137 -0
  640. package/runtime/third_party/boringssl/include/openssl/posix_time.h +51 -0
  641. package/runtime/third_party/boringssl/include/openssl/prefix_symbols.h +8000 -0
  642. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_S.h +633 -0
  643. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_c.h +329 -0
  644. package/runtime/third_party/boringssl/include/openssl/rand.h +138 -0
  645. package/runtime/third_party/boringssl/include/openssl/rc4.h +54 -0
  646. package/runtime/third_party/boringssl/include/openssl/ripemd.h +71 -0
  647. package/runtime/third_party/boringssl/include/openssl/rsa.h +893 -0
  648. package/runtime/third_party/boringssl/include/openssl/safestack.h +16 -0
  649. package/runtime/third_party/boringssl/include/openssl/service_indicator.h +19 -0
  650. package/runtime/third_party/boringssl/include/openssl/sha.h +108 -0
  651. package/runtime/third_party/boringssl/include/openssl/sha2.h +201 -0
  652. package/runtime/third_party/boringssl/include/openssl/siphash.h +37 -0
  653. package/runtime/third_party/boringssl/include/openssl/slhdsa.h +250 -0
  654. package/runtime/third_party/boringssl/include/openssl/span.h +376 -0
  655. package/runtime/third_party/boringssl/include/openssl/srtp.h +18 -0
  656. package/runtime/third_party/boringssl/include/openssl/ssl.h +7211 -0
  657. package/runtime/third_party/boringssl/include/openssl/ssl3.h +171 -0
  658. package/runtime/third_party/boringssl/include/openssl/stack.h +688 -0
  659. package/runtime/third_party/boringssl/include/openssl/target.h +246 -0
  660. package/runtime/third_party/boringssl/include/openssl/thread.h +114 -0
  661. package/runtime/third_party/boringssl/include/openssl/time.h +22 -0
  662. package/runtime/third_party/boringssl/include/openssl/tls1.h +263 -0
  663. package/runtime/third_party/boringssl/include/openssl/tls_prf.h +47 -0
  664. package/runtime/third_party/boringssl/include/openssl/trust_token.h +349 -0
  665. package/runtime/third_party/boringssl/include/openssl/type_check.h +37 -0
  666. package/runtime/third_party/boringssl/include/openssl/types.h +18 -0
  667. package/runtime/third_party/boringssl/include/openssl/x509.h +5404 -0
  668. package/runtime/third_party/boringssl/include/openssl/x509_vfy.h +18 -0
  669. package/runtime/third_party/boringssl/include/openssl/x509v3.h +63 -0
  670. package/runtime/third_party/boringssl/include/openssl/x509v3_errors.h +84 -0
  671. package/runtime/third_party/boringssl/include/openssl/xwing.h +115 -0
  672. package/runtime/third_party/boringssl/sources.json +696 -0
  673. package/runtime/third_party/boringssl/ssl/bio_ssl.cc +196 -0
  674. package/runtime/third_party/boringssl/ssl/d1_both.cc +1137 -0
  675. package/runtime/third_party/boringssl/ssl/d1_lib.cc +245 -0
  676. package/runtime/third_party/boringssl/ssl/d1_pkt.cc +322 -0
  677. package/runtime/third_party/boringssl/ssl/d1_srtp.cc +128 -0
  678. package/runtime/third_party/boringssl/ssl/dtls_method.cc +216 -0
  679. package/runtime/third_party/boringssl/ssl/dtls_record.cc +586 -0
  680. package/runtime/third_party/boringssl/ssl/encrypted_client_hello.cc +1110 -0
  681. package/runtime/third_party/boringssl/ssl/extensions.cc +5368 -0
  682. package/runtime/third_party/boringssl/ssl/handoff.cc +625 -0
  683. package/runtime/third_party/boringssl/ssl/handshake.cc +694 -0
  684. package/runtime/third_party/boringssl/ssl/handshake_client.cc +1958 -0
  685. package/runtime/third_party/boringssl/ssl/handshake_server.cc +1875 -0
  686. package/runtime/third_party/boringssl/ssl/internal.h +4506 -0
  687. package/runtime/third_party/boringssl/ssl/s3_both.cc +555 -0
  688. package/runtime/third_party/boringssl/ssl/s3_lib.cc +88 -0
  689. package/runtime/third_party/boringssl/ssl/s3_pkt.cc +396 -0
  690. package/runtime/third_party/boringssl/ssl/ssl_aead_ctx.cc +416 -0
  691. package/runtime/third_party/boringssl/ssl/ssl_asn1.cc +851 -0
  692. package/runtime/third_party/boringssl/ssl/ssl_buffer.cc +304 -0
  693. package/runtime/third_party/boringssl/ssl/ssl_cert.cc +723 -0
  694. package/runtime/third_party/boringssl/ssl/ssl_cipher.cc +1762 -0
  695. package/runtime/third_party/boringssl/ssl/ssl_credential.cc +913 -0
  696. package/runtime/third_party/boringssl/ssl/ssl_file.cc +375 -0
  697. package/runtime/third_party/boringssl/ssl/ssl_key_share.cc +445 -0
  698. package/runtime/third_party/boringssl/ssl/ssl_lib.cc +4132 -0
  699. package/runtime/third_party/boringssl/ssl/ssl_privkey.cc +973 -0
  700. package/runtime/third_party/boringssl/ssl/ssl_session.cc +1273 -0
  701. package/runtime/third_party/boringssl/ssl/ssl_stat.cc +162 -0
  702. package/runtime/third_party/boringssl/ssl/ssl_transcript.cc +224 -0
  703. package/runtime/third_party/boringssl/ssl/ssl_versions.cc +436 -0
  704. package/runtime/third_party/boringssl/ssl/ssl_x509.cc +1229 -0
  705. package/runtime/third_party/boringssl/ssl/t1_enc.cc +266 -0
  706. package/runtime/third_party/boringssl/ssl/tls13_both.cc +764 -0
  707. package/runtime/third_party/boringssl/ssl/tls13_client.cc +1325 -0
  708. package/runtime/third_party/boringssl/ssl/tls13_enc.cc +746 -0
  709. package/runtime/third_party/boringssl/ssl/tls13_server.cc +1623 -0
  710. package/runtime/third_party/boringssl/ssl/tls_method.cc +266 -0
  711. package/runtime/third_party/boringssl/ssl/tls_record.cc +524 -0
  712. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_mul.S +178 -0
  713. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_square.S +146 -0
  714. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_mul.S +177 -0
  715. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_sqr.S +166 -0
  716. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_bareminimum.c.inc +47 -0
  717. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_platform.c.inc +137 -0
  718. package/runtime/third_party/boringssl/third_party/fiat/curve25519_32.h +1571 -0
  719. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64.h +978 -0
  720. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_adx.h +700 -0
  721. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_msvc.h +1281 -0
  722. package/runtime/third_party/boringssl/third_party/fiat/p256_32.h +4760 -0
  723. package/runtime/third_party/boringssl/third_party/fiat/p256_64.h +1984 -0
  724. package/runtime/third_party/boringssl/third_party/fiat/p256_64_msvc.h +1939 -0
  725. package/runtime/third_party/boringssl/third_party/fiat/p256_field.c.inc +26 -0
  726. package/runtime/third_party/boringssl/third_party/fiat/p256_field_32.br.c.inc +71 -0
  727. package/runtime/third_party/boringssl/third_party/fiat/p256_field_64.br.c.inc +84 -0
  728. package/runtime/third_party/boringssl/third_party/fiat/p256_point.br.c.inc +112 -0
  729. package/runtime/third_party/v8-ieee754/README.md +2 -1
  730. package/runtime/third_party/v8-ieee754/convert.py +4 -0
  731. package/runtime/third_party/v8-ieee754/ieee754.c +1 -1
  732. package/runtime/third_party/bearssl/LICENSE.txt +0 -21
  733. package/runtime/third_party/bearssl/README.txt +0 -136
  734. package/runtime/third_party/bearssl/VERSION +0 -1
  735. package/runtime/third_party/bearssl/inc/bearssl.h +0 -183
  736. package/runtime/third_party/bearssl/inc/bearssl_aead.h +0 -1059
  737. package/runtime/third_party/bearssl/inc/bearssl_block.h +0 -2618
  738. package/runtime/third_party/bearssl/inc/bearssl_ec.h +0 -967
  739. package/runtime/third_party/bearssl/inc/bearssl_hash.h +0 -1346
  740. package/runtime/third_party/bearssl/inc/bearssl_hmac.h +0 -241
  741. package/runtime/third_party/bearssl/inc/bearssl_kdf.h +0 -284
  742. package/runtime/third_party/bearssl/inc/bearssl_pem.h +0 -294
  743. package/runtime/third_party/bearssl/inc/bearssl_prf.h +0 -150
  744. package/runtime/third_party/bearssl/inc/bearssl_rand.h +0 -397
  745. package/runtime/third_party/bearssl/inc/bearssl_rsa.h +0 -1655
  746. package/runtime/third_party/bearssl/inc/bearssl_ssl.h +0 -4296
  747. package/runtime/third_party/bearssl/inc/bearssl_x509.h +0 -1474
  748. package/runtime/third_party/bearssl/src/aead/ccm.c +0 -346
  749. package/runtime/third_party/bearssl/src/aead/eax.c +0 -525
  750. package/runtime/third_party/bearssl/src/aead/gcm.c +0 -318
  751. package/runtime/third_party/bearssl/src/codec/ccopy.c +0 -44
  752. package/runtime/third_party/bearssl/src/codec/dec16be.c +0 -38
  753. package/runtime/third_party/bearssl/src/codec/dec16le.c +0 -38
  754. package/runtime/third_party/bearssl/src/codec/dec32be.c +0 -38
  755. package/runtime/third_party/bearssl/src/codec/dec32le.c +0 -38
  756. package/runtime/third_party/bearssl/src/codec/dec64be.c +0 -38
  757. package/runtime/third_party/bearssl/src/codec/dec64le.c +0 -38
  758. package/runtime/third_party/bearssl/src/codec/enc16be.c +0 -38
  759. package/runtime/third_party/bearssl/src/codec/enc16le.c +0 -38
  760. package/runtime/third_party/bearssl/src/codec/enc32be.c +0 -38
  761. package/runtime/third_party/bearssl/src/codec/enc32le.c +0 -38
  762. package/runtime/third_party/bearssl/src/codec/enc64be.c +0 -38
  763. package/runtime/third_party/bearssl/src/codec/enc64le.c +0 -38
  764. package/runtime/third_party/bearssl/src/codec/pemdec.c +0 -526
  765. package/runtime/third_party/bearssl/src/codec/pemdec.t0 +0 -314
  766. package/runtime/third_party/bearssl/src/codec/pemenc.c +0 -173
  767. package/runtime/third_party/bearssl/src/config.h +0 -247
  768. package/runtime/third_party/bearssl/src/ec/ec_all_m15.c +0 -121
  769. package/runtime/third_party/bearssl/src/ec/ec_all_m31.c +0 -171
  770. package/runtime/third_party/bearssl/src/ec/ec_c25519_i15.c +0 -398
  771. package/runtime/third_party/bearssl/src/ec/ec_c25519_i31.c +0 -390
  772. package/runtime/third_party/bearssl/src/ec/ec_c25519_m15.c +0 -1478
  773. package/runtime/third_party/bearssl/src/ec/ec_c25519_m31.c +0 -800
  774. package/runtime/third_party/bearssl/src/ec/ec_c25519_m62.c +0 -605
  775. package/runtime/third_party/bearssl/src/ec/ec_c25519_m64.c +0 -831
  776. package/runtime/third_party/bearssl/src/ec/ec_curve25519.c +0 -46
  777. package/runtime/third_party/bearssl/src/ec/ec_default.c +0 -36
  778. package/runtime/third_party/bearssl/src/ec/ec_keygen.c +0 -86
  779. package/runtime/third_party/bearssl/src/ec/ec_p256_m15.c +0 -2124
  780. package/runtime/third_party/bearssl/src/ec/ec_p256_m31.c +0 -1469
  781. package/runtime/third_party/bearssl/src/ec/ec_p256_m62.c +0 -1765
  782. package/runtime/third_party/bearssl/src/ec/ec_p256_m64.c +0 -1781
  783. package/runtime/third_party/bearssl/src/ec/ec_prime_i15.c +0 -824
  784. package/runtime/third_party/bearssl/src/ec/ec_prime_i31.c +0 -826
  785. package/runtime/third_party/bearssl/src/ec/ec_pubkey.c +0 -85
  786. package/runtime/third_party/bearssl/src/ec/ec_secp256r1.c +0 -51
  787. package/runtime/third_party/bearssl/src/ec/ec_secp384r1.c +0 -57
  788. package/runtime/third_party/bearssl/src/ec/ec_secp521r1.c +0 -64
  789. package/runtime/third_party/bearssl/src/ec/ecdsa_atr.c +0 -134
  790. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_asn1.c +0 -36
  791. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_raw.c +0 -36
  792. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_asn1.c +0 -36
  793. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_raw.c +0 -36
  794. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_bits.c +0 -47
  795. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_asn1.c +0 -45
  796. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_raw.c +0 -174
  797. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_asn1.c +0 -48
  798. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_raw.c +0 -166
  799. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_bits.c +0 -47
  800. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_asn1.c +0 -45
  801. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_raw.c +0 -173
  802. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_asn1.c +0 -48
  803. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_raw.c +0 -165
  804. package/runtime/third_party/bearssl/src/ec/ecdsa_rta.c +0 -121
  805. package/runtime/third_party/bearssl/src/hash/dig_oid.c +0 -84
  806. package/runtime/third_party/bearssl/src/hash/dig_size.c +0 -50
  807. package/runtime/third_party/bearssl/src/hash/ghash_ctmul.c +0 -345
  808. package/runtime/third_party/bearssl/src/hash/ghash_ctmul32.c +0 -251
  809. package/runtime/third_party/bearssl/src/hash/ghash_ctmul64.c +0 -154
  810. package/runtime/third_party/bearssl/src/hash/ghash_pclmul.c +0 -389
  811. package/runtime/third_party/bearssl/src/hash/ghash_pwr8.c +0 -411
  812. package/runtime/third_party/bearssl/src/hash/md5.c +0 -208
  813. package/runtime/third_party/bearssl/src/hash/md5sha1.c +0 -141
  814. package/runtime/third_party/bearssl/src/hash/mgf1.c +0 -56
  815. package/runtime/third_party/bearssl/src/hash/multihash.c +0 -166
  816. package/runtime/third_party/bearssl/src/hash/sha1.c +0 -191
  817. package/runtime/third_party/bearssl/src/hash/sha2big.c +0 -285
  818. package/runtime/third_party/bearssl/src/hash/sha2small.c +0 -341
  819. package/runtime/third_party/bearssl/src/inner.h +0 -2577
  820. package/runtime/third_party/bearssl/src/int/i15_add.c +0 -46
  821. package/runtime/third_party/bearssl/src/int/i15_bitlen.c +0 -44
  822. package/runtime/third_party/bearssl/src/int/i15_decmod.c +0 -124
  823. package/runtime/third_party/bearssl/src/int/i15_decode.c +0 -56
  824. package/runtime/third_party/bearssl/src/int/i15_decred.c +0 -100
  825. package/runtime/third_party/bearssl/src/int/i15_encode.c +0 -56
  826. package/runtime/third_party/bearssl/src/int/i15_fmont.c +0 -59
  827. package/runtime/third_party/bearssl/src/int/i15_iszero.c +0 -39
  828. package/runtime/third_party/bearssl/src/int/i15_moddiv.c +0 -465
  829. package/runtime/third_party/bearssl/src/int/i15_modpow.c +0 -50
  830. package/runtime/third_party/bearssl/src/int/i15_modpow2.c +0 -160
  831. package/runtime/third_party/bearssl/src/int/i15_montmul.c +0 -184
  832. package/runtime/third_party/bearssl/src/int/i15_mulacc.c +0 -61
  833. package/runtime/third_party/bearssl/src/int/i15_muladd.c +0 -173
  834. package/runtime/third_party/bearssl/src/int/i15_ninv15.c +0 -38
  835. package/runtime/third_party/bearssl/src/int/i15_reduce.c +0 -66
  836. package/runtime/third_party/bearssl/src/int/i15_rshift.c +0 -47
  837. package/runtime/third_party/bearssl/src/int/i15_sub.c +0 -46
  838. package/runtime/third_party/bearssl/src/int/i15_tmont.c +0 -36
  839. package/runtime/third_party/bearssl/src/int/i31_add.c +0 -46
  840. package/runtime/third_party/bearssl/src/int/i31_bitlen.c +0 -44
  841. package/runtime/third_party/bearssl/src/int/i31_decmod.c +0 -124
  842. package/runtime/third_party/bearssl/src/int/i31_decode.c +0 -57
  843. package/runtime/third_party/bearssl/src/int/i31_decred.c +0 -103
  844. package/runtime/third_party/bearssl/src/int/i31_encode.c +0 -79
  845. package/runtime/third_party/bearssl/src/int/i31_fmont.c +0 -60
  846. package/runtime/third_party/bearssl/src/int/i31_iszero.c +0 -39
  847. package/runtime/third_party/bearssl/src/int/i31_moddiv.c +0 -488
  848. package/runtime/third_party/bearssl/src/int/i31_modpow.c +0 -65
  849. package/runtime/third_party/bearssl/src/int/i31_modpow2.c +0 -160
  850. package/runtime/third_party/bearssl/src/int/i31_montmul.c +0 -127
  851. package/runtime/third_party/bearssl/src/int/i31_mulacc.c +0 -74
  852. package/runtime/third_party/bearssl/src/int/i31_muladd.c +0 -157
  853. package/runtime/third_party/bearssl/src/int/i31_ninv31.c +0 -39
  854. package/runtime/third_party/bearssl/src/int/i31_reduce.c +0 -66
  855. package/runtime/third_party/bearssl/src/int/i31_rshift.c +0 -47
  856. package/runtime/third_party/bearssl/src/int/i31_sub.c +0 -46
  857. package/runtime/third_party/bearssl/src/int/i31_tmont.c +0 -36
  858. package/runtime/third_party/bearssl/src/int/i32_add.c +0 -51
  859. package/runtime/third_party/bearssl/src/int/i32_bitlen.c +0 -44
  860. package/runtime/third_party/bearssl/src/int/i32_decmod.c +0 -77
  861. package/runtime/third_party/bearssl/src/int/i32_decode.c +0 -63
  862. package/runtime/third_party/bearssl/src/int/i32_decred.c +0 -107
  863. package/runtime/third_party/bearssl/src/int/i32_div32.c +0 -56
  864. package/runtime/third_party/bearssl/src/int/i32_encode.c +0 -72
  865. package/runtime/third_party/bearssl/src/int/i32_fmont.c +0 -60
  866. package/runtime/third_party/bearssl/src/int/i32_iszero.c +0 -39
  867. package/runtime/third_party/bearssl/src/int/i32_modpow.c +0 -65
  868. package/runtime/third_party/bearssl/src/int/i32_montmul.c +0 -69
  869. package/runtime/third_party/bearssl/src/int/i32_mulacc.c +0 -56
  870. package/runtime/third_party/bearssl/src/int/i32_muladd.c +0 -138
  871. package/runtime/third_party/bearssl/src/int/i32_ninv32.c +0 -39
  872. package/runtime/third_party/bearssl/src/int/i32_reduce.c +0 -66
  873. package/runtime/third_party/bearssl/src/int/i32_sub.c +0 -51
  874. package/runtime/third_party/bearssl/src/int/i32_tmont.c +0 -36
  875. package/runtime/third_party/bearssl/src/int/i62_modpow2.c +0 -493
  876. package/runtime/third_party/bearssl/src/kdf/hkdf.c +0 -107
  877. package/runtime/third_party/bearssl/src/kdf/shake.c +0 -590
  878. package/runtime/third_party/bearssl/src/mac/hmac.c +0 -122
  879. package/runtime/third_party/bearssl/src/mac/hmac_ct.c +0 -193
  880. package/runtime/third_party/bearssl/src/rand/aesctr_drbg.c +0 -206
  881. package/runtime/third_party/bearssl/src/rand/hmac_drbg.c +0 -157
  882. package/runtime/third_party/bearssl/src/rand/sysrng.c +0 -252
  883. package/runtime/third_party/bearssl/src/rsa/rsa_default_keygen.c +0 -38
  884. package/runtime/third_party/bearssl/src/rsa/rsa_default_modulus.c +0 -36
  885. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_decrypt.c +0 -38
  886. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_encrypt.c +0 -38
  887. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_sign.c +0 -38
  888. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_vrfy.c +0 -38
  889. package/runtime/third_party/bearssl/src/rsa/rsa_default_priv.c +0 -38
  890. package/runtime/third_party/bearssl/src/rsa/rsa_default_privexp.c +0 -36
  891. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_sign.c +0 -38
  892. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_vrfy.c +0 -38
  893. package/runtime/third_party/bearssl/src/rsa/rsa_default_pub.c +0 -38
  894. package/runtime/third_party/bearssl/src/rsa/rsa_default_pubexp.c +0 -36
  895. package/runtime/third_party/bearssl/src/rsa/rsa_i15_keygen.c +0 -583
  896. package/runtime/third_party/bearssl/src/rsa/rsa_i15_modulus.c +0 -99
  897. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_decrypt.c +0 -41
  898. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_encrypt.c +0 -44
  899. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_sign.c +0 -37
  900. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_vrfy.c +0 -43
  901. package/runtime/third_party/bearssl/src/rsa/rsa_i15_priv.c +0 -209
  902. package/runtime/third_party/bearssl/src/rsa/rsa_i15_privexp.c +0 -320
  903. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_sign.c +0 -40
  904. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_vrfy.c +0 -44
  905. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pub.c +0 -113
  906. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pubexp.c +0 -152
  907. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen.c +0 -37
  908. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen_inner.c +0 -608
  909. package/runtime/third_party/bearssl/src/rsa/rsa_i31_modulus.c +0 -99
  910. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_decrypt.c +0 -41
  911. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_encrypt.c +0 -44
  912. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_sign.c +0 -37
  913. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_vrfy.c +0 -43
  914. package/runtime/third_party/bearssl/src/rsa/rsa_i31_priv.c +0 -203
  915. package/runtime/third_party/bearssl/src/rsa/rsa_i31_privexp.c +0 -318
  916. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_sign.c +0 -40
  917. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_vrfy.c +0 -44
  918. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pub.c +0 -106
  919. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pubexp.c +0 -152
  920. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_decrypt.c +0 -41
  921. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_encrypt.c +0 -44
  922. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_sign.c +0 -37
  923. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_vrfy.c +0 -43
  924. package/runtime/third_party/bearssl/src/rsa/rsa_i32_priv.c +0 -160
  925. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_sign.c +0 -40
  926. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_vrfy.c +0 -44
  927. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pub.c +0 -77
  928. package/runtime/third_party/bearssl/src/rsa/rsa_i62_keygen.c +0 -57
  929. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_decrypt.c +0 -61
  930. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_encrypt.c +0 -64
  931. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_sign.c +0 -57
  932. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_vrfy.c +0 -63
  933. package/runtime/third_party/bearssl/src/rsa/rsa_i62_priv.c +0 -223
  934. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_sign.c +0 -60
  935. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_vrfy.c +0 -64
  936. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pub.c +0 -125
  937. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_pad.c +0 -112
  938. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_unpad.c +0 -145
  939. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_pad.c +0 -100
  940. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_unpad.c +0 -121
  941. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_pad.c +0 -106
  942. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_unpad.c +0 -121
  943. package/runtime/third_party/bearssl/src/rsa/rsa_ssl_decrypt.c +0 -52
  944. package/runtime/third_party/bearssl/src/settings.c +0 -306
  945. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcdec.c +0 -69
  946. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcenc.c +0 -67
  947. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctr.c +0 -84
  948. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctrcbc.c +0 -142
  949. package/runtime/third_party/bearssl/src/symcipher/aes_big_dec.c +0 -254
  950. package/runtime/third_party/bearssl/src/symcipher/aes_big_enc.c +0 -157
  951. package/runtime/third_party/bearssl/src/symcipher/aes_common.c +0 -112
  952. package/runtime/third_party/bearssl/src/symcipher/aes_ct.c +0 -328
  953. package/runtime/third_party/bearssl/src/symcipher/aes_ct64.c +0 -398
  954. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcdec.c +0 -104
  955. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcenc.c +0 -81
  956. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctr.c +0 -114
  957. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctrcbc.c +0 -433
  958. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_dec.c +0 -159
  959. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_enc.c +0 -115
  960. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcdec.c +0 -111
  961. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcenc.c +0 -91
  962. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctr.c +0 -116
  963. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctrcbc.c +0 -422
  964. package/runtime/third_party/bearssl/src/symcipher/aes_ct_dec.c +0 -170
  965. package/runtime/third_party/bearssl/src/symcipher/aes_ct_enc.c +0 -112
  966. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8.c +0 -445
  967. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcdec.c +0 -670
  968. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcenc.c +0 -417
  969. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctr.c +0 -717
  970. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctrcbc.c +0 -946
  971. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcdec.c +0 -69
  972. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcenc.c +0 -67
  973. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctr.c +0 -84
  974. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctrcbc.c +0 -142
  975. package/runtime/third_party/bearssl/src/symcipher/aes_small_dec.c +0 -176
  976. package/runtime/third_party/bearssl/src/symcipher/aes_small_enc.c +0 -129
  977. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni.c +0 -240
  978. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcdec.c +0 -223
  979. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcenc.c +0 -122
  980. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctr.c +0 -211
  981. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctrcbc.c +0 -596
  982. package/runtime/third_party/bearssl/src/symcipher/chacha20_ct.c +0 -106
  983. package/runtime/third_party/bearssl/src/symcipher/chacha20_sse2.c +0 -237
  984. package/runtime/third_party/bearssl/src/symcipher/des_ct.c +0 -411
  985. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcdec.c +0 -87
  986. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcenc.c +0 -69
  987. package/runtime/third_party/bearssl/src/symcipher/des_support.c +0 -166
  988. package/runtime/third_party/bearssl/src/symcipher/des_tab.c +0 -310
  989. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcdec.c +0 -85
  990. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcenc.c +0 -67
  991. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul.c +0 -260
  992. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul32.c +0 -297
  993. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmulq.c +0 -475
  994. package/runtime/third_party/bearssl/src/symcipher/poly1305_i15.c +0 -221
  995. package/runtime/third_party/bearssl/src/x509/asn1.t0 +0 -757
  996. package/runtime/third_party/bearssl/src/x509/asn1enc.c +0 -93
  997. package/runtime/third_party/bearssl/src/x509/encode_ec_pk8der.c +0 -110
  998. package/runtime/third_party/bearssl/src/x509/encode_ec_rawder.c +0 -161
  999. package/runtime/third_party/bearssl/src/x509/encode_rsa_pk8der.c +0 -97
  1000. package/runtime/third_party/bearssl/src/x509/encode_rsa_rawder.c +0 -96
  1001. package/runtime/third_party/bearssl/src/x509/skey_decoder.c +0 -653
  1002. package/runtime/third_party/bearssl/src/x509/skey_decoder.t0 +0 -376
  1003. package/runtime/third_party/bearssl/src/x509/x509_decoder.c +0 -776
  1004. package/runtime/third_party/bearssl/src/x509/x509_decoder.t0 +0 -324
  1005. package/runtime/third_party/bearssl/src/x509/x509_knownkey.c +0 -105
  1006. package/runtime/third_party/bearssl/src/x509/x509_minimal.c +0 -1722
  1007. package/runtime/third_party/bearssl/src/x509/x509_minimal.t0 +0 -1526
  1008. package/runtime/third_party/bearssl/src/x509/x509_minimal_full.c +0 -59
@@ -0,0 +1,1146 @@
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_X86_64) && defined(__APPLE__)
7
+ .text
8
+
9
+ //
10
+ // _aes_encrypt_core
11
+ //
12
+ // AES-encrypt %xmm0.
13
+ //
14
+ // Inputs:
15
+ // %xmm0 = input
16
+ // %xmm9-%xmm15 as in _vpaes_preheat
17
+ // (%rdx) = scheduled keys
18
+ //
19
+ // Output in %xmm0
20
+ // Clobbers %xmm1-%xmm5, %r9, %r10, %r11, %rax
21
+ // Preserves %xmm6 - %xmm8 so you get some local vectors
22
+ //
23
+ //
24
+
25
+ .p2align 4
26
+ _vpaes_encrypt_core:
27
+
28
+ movq %rdx,%r9
29
+ movq $16,%r11
30
+ movl 240(%rdx),%eax
31
+ movdqa %xmm9,%xmm1
32
+ movdqa L$k_ipt(%rip),%xmm2 // iptlo
33
+ pandn %xmm0,%xmm1
34
+ movdqu (%r9),%xmm5 // round0 key
35
+ psrld $4,%xmm1
36
+ pand %xmm9,%xmm0
37
+ pshufb %xmm0,%xmm2
38
+ movdqa L$k_ipt+16(%rip),%xmm0 // ipthi
39
+ pshufb %xmm1,%xmm0
40
+ pxor %xmm5,%xmm2
41
+ addq $16,%r9
42
+ pxor %xmm2,%xmm0
43
+ leaq L$k_mc_backward(%rip),%r10
44
+ jmp L$enc_entry
45
+
46
+ .p2align 4
47
+ L$enc_loop:
48
+ // middle of middle round
49
+ movdqa %xmm13,%xmm4 // 4 : sb1u
50
+ movdqa %xmm12,%xmm0 // 0 : sb1t
51
+ pshufb %xmm2,%xmm4 // 4 = sb1u
52
+ pshufb %xmm3,%xmm0 // 0 = sb1t
53
+ pxor %xmm5,%xmm4 // 4 = sb1u + k
54
+ movdqa %xmm15,%xmm5 // 4 : sb2u
55
+ pxor %xmm4,%xmm0 // 0 = A
56
+ movdqa -64(%r11,%r10,1),%xmm1 // .Lk_mc_forward[]
57
+ pshufb %xmm2,%xmm5 // 4 = sb2u
58
+ movdqa (%r11,%r10,1),%xmm4 // .Lk_mc_backward[]
59
+ movdqa %xmm14,%xmm2 // 2 : sb2t
60
+ pshufb %xmm3,%xmm2 // 2 = sb2t
61
+ movdqa %xmm0,%xmm3 // 3 = A
62
+ pxor %xmm5,%xmm2 // 2 = 2A
63
+ pshufb %xmm1,%xmm0 // 0 = B
64
+ addq $16,%r9 // next key
65
+ pxor %xmm2,%xmm0 // 0 = 2A+B
66
+ pshufb %xmm4,%xmm3 // 3 = D
67
+ addq $16,%r11 // next mc
68
+ pxor %xmm0,%xmm3 // 3 = 2A+B+D
69
+ pshufb %xmm1,%xmm0 // 0 = 2B+C
70
+ andq $0x30,%r11 // ... mod 4
71
+ subq $1,%rax // nr--
72
+ pxor %xmm3,%xmm0 // 0 = 2A+3B+C+D
73
+
74
+ L$enc_entry:
75
+ // top of round
76
+ movdqa %xmm9,%xmm1 // 1 : i
77
+ movdqa %xmm11,%xmm5 // 2 : a/k
78
+ pandn %xmm0,%xmm1 // 1 = i<<4
79
+ psrld $4,%xmm1 // 1 = i
80
+ pand %xmm9,%xmm0 // 0 = k
81
+ pshufb %xmm0,%xmm5 // 2 = a/k
82
+ movdqa %xmm10,%xmm3 // 3 : 1/i
83
+ pxor %xmm1,%xmm0 // 0 = j
84
+ pshufb %xmm1,%xmm3 // 3 = 1/i
85
+ movdqa %xmm10,%xmm4 // 4 : 1/j
86
+ pxor %xmm5,%xmm3 // 3 = iak = 1/i + a/k
87
+ pshufb %xmm0,%xmm4 // 4 = 1/j
88
+ movdqa %xmm10,%xmm2 // 2 : 1/iak
89
+ pxor %xmm5,%xmm4 // 4 = jak = 1/j + a/k
90
+ pshufb %xmm3,%xmm2 // 2 = 1/iak
91
+ movdqa %xmm10,%xmm3 // 3 : 1/jak
92
+ pxor %xmm0,%xmm2 // 2 = io
93
+ pshufb %xmm4,%xmm3 // 3 = 1/jak
94
+ movdqu (%r9),%xmm5
95
+ pxor %xmm1,%xmm3 // 3 = jo
96
+ jnz L$enc_loop
97
+
98
+ // middle of last round
99
+ movdqa -96(%r10),%xmm4 // 3 : sbou .Lk_sbo
100
+ movdqa -80(%r10),%xmm0 // 0 : sbot .Lk_sbo+16
101
+ pshufb %xmm2,%xmm4 // 4 = sbou
102
+ pxor %xmm5,%xmm4 // 4 = sb1u + k
103
+ pshufb %xmm3,%xmm0 // 0 = sb1t
104
+ movdqa 64(%r11,%r10,1),%xmm1 // .Lk_sr[]
105
+ pxor %xmm4,%xmm0 // 0 = A
106
+ pshufb %xmm1,%xmm0
107
+ ret
108
+
109
+
110
+
111
+ //
112
+ // _aes_encrypt_core_2x
113
+ //
114
+ // AES-encrypt %xmm0 and %xmm6 in parallel.
115
+ //
116
+ // Inputs:
117
+ // %xmm0 and %xmm6 = input
118
+ // %xmm9 and %xmm10 as in _vpaes_preheat
119
+ // (%rdx) = scheduled keys
120
+ //
121
+ // Output in %xmm0 and %xmm6
122
+ // Clobbers %xmm1-%xmm5, %xmm7, %xmm8, %xmm11-%xmm13, %r9, %r10, %r11, %rax
123
+ // Preserves %xmm14 and %xmm15
124
+ //
125
+ // This function stitches two parallel instances of _vpaes_encrypt_core. x86_64
126
+ // provides 16 XMM registers. _vpaes_encrypt_core computes over six registers
127
+ // (%xmm0-%xmm5) and additionally uses seven registers with preloaded constants
128
+ // from _vpaes_preheat (%xmm9-%xmm15). This does not quite fit two instances,
129
+ // so we spill some of %xmm9 through %xmm15 back to memory. We keep %xmm9 and
130
+ // %xmm10 in registers as these values are used several times in a row. The
131
+ // remainder are read once per round and are spilled to memory. This leaves two
132
+ // registers preserved for the caller.
133
+ //
134
+ // Thus, of the two _vpaes_encrypt_core instances, the first uses (%xmm0-%xmm5)
135
+ // as before. The second uses %xmm6-%xmm8,%xmm11-%xmm13. (Add 6 to %xmm2 and
136
+ // below. Add 8 to %xmm3 and up.) Instructions in the second instance are
137
+ // indented by one space.
138
+ //
139
+ //
140
+
141
+ .p2align 4
142
+ .alt_entry _vpaes_encrypt_core_2x
143
+ _vpaes_encrypt_core_2x:
144
+
145
+ movq %rdx,%r9
146
+ movq $16,%r11
147
+ movl 240(%rdx),%eax
148
+ movdqa %xmm9,%xmm1
149
+ movdqa %xmm9,%xmm7
150
+ movdqa L$k_ipt(%rip),%xmm2 // iptlo
151
+ movdqa %xmm2,%xmm8
152
+ pandn %xmm0,%xmm1
153
+ pandn %xmm6,%xmm7
154
+ movdqu (%r9),%xmm5 // round0 key
155
+ // Also use %xmm5 in the second instance.
156
+ psrld $4,%xmm1
157
+ psrld $4,%xmm7
158
+ pand %xmm9,%xmm0
159
+ pand %xmm9,%xmm6
160
+ pshufb %xmm0,%xmm2
161
+ pshufb %xmm6,%xmm8
162
+ movdqa L$k_ipt+16(%rip),%xmm0 // ipthi
163
+ movdqa %xmm0,%xmm6
164
+ pshufb %xmm1,%xmm0
165
+ pshufb %xmm7,%xmm6
166
+ pxor %xmm5,%xmm2
167
+ pxor %xmm5,%xmm8
168
+ addq $16,%r9
169
+ pxor %xmm2,%xmm0
170
+ pxor %xmm8,%xmm6
171
+ leaq L$k_mc_backward(%rip),%r10
172
+ jmp L$enc2x_entry
173
+
174
+ .p2align 4
175
+ L$enc2x_loop:
176
+ // middle of middle round
177
+ movdqa L$k_sb1(%rip),%xmm4 // 4 : sb1u
178
+ movdqa L$k_sb1+16(%rip),%xmm0 // 0 : sb1t
179
+ movdqa %xmm4,%xmm12
180
+ movdqa %xmm0,%xmm6
181
+ pshufb %xmm2,%xmm4 // 4 = sb1u
182
+ pshufb %xmm8,%xmm12
183
+ pshufb %xmm3,%xmm0 // 0 = sb1t
184
+ pshufb %xmm11,%xmm6
185
+ pxor %xmm5,%xmm4 // 4 = sb1u + k
186
+ pxor %xmm5,%xmm12
187
+ movdqa L$k_sb2(%rip),%xmm5 // 4 : sb2u
188
+ movdqa %xmm5,%xmm13
189
+ pxor %xmm4,%xmm0 // 0 = A
190
+ pxor %xmm12,%xmm6
191
+ movdqa -64(%r11,%r10,1),%xmm1 // .Lk_mc_forward[]
192
+ // Also use %xmm1 in the second instance.
193
+ pshufb %xmm2,%xmm5 // 4 = sb2u
194
+ pshufb %xmm8,%xmm13
195
+ movdqa (%r11,%r10,1),%xmm4 // .Lk_mc_backward[]
196
+ // Also use %xmm4 in the second instance.
197
+ movdqa L$k_sb2+16(%rip),%xmm2 // 2 : sb2t
198
+ movdqa %xmm2,%xmm8
199
+ pshufb %xmm3,%xmm2 // 2 = sb2t
200
+ pshufb %xmm11,%xmm8
201
+ movdqa %xmm0,%xmm3 // 3 = A
202
+ movdqa %xmm6,%xmm11
203
+ pxor %xmm5,%xmm2 // 2 = 2A
204
+ pxor %xmm13,%xmm8
205
+ pshufb %xmm1,%xmm0 // 0 = B
206
+ pshufb %xmm1,%xmm6
207
+ addq $16,%r9 // next key
208
+ pxor %xmm2,%xmm0 // 0 = 2A+B
209
+ pxor %xmm8,%xmm6
210
+ pshufb %xmm4,%xmm3 // 3 = D
211
+ pshufb %xmm4,%xmm11
212
+ addq $16,%r11 // next mc
213
+ pxor %xmm0,%xmm3 // 3 = 2A+B+D
214
+ pxor %xmm6,%xmm11
215
+ pshufb %xmm1,%xmm0 // 0 = 2B+C
216
+ pshufb %xmm1,%xmm6
217
+ andq $0x30,%r11 // ... mod 4
218
+ subq $1,%rax // nr--
219
+ pxor %xmm3,%xmm0 // 0 = 2A+3B+C+D
220
+ pxor %xmm11,%xmm6
221
+
222
+ L$enc2x_entry:
223
+ // top of round
224
+ movdqa %xmm9,%xmm1 // 1 : i
225
+ movdqa %xmm9,%xmm7
226
+ movdqa L$k_inv+16(%rip),%xmm5 // 2 : a/k
227
+ movdqa %xmm5,%xmm13
228
+ pandn %xmm0,%xmm1 // 1 = i<<4
229
+ pandn %xmm6,%xmm7
230
+ psrld $4,%xmm1 // 1 = i
231
+ psrld $4,%xmm7
232
+ pand %xmm9,%xmm0 // 0 = k
233
+ pand %xmm9,%xmm6
234
+ pshufb %xmm0,%xmm5 // 2 = a/k
235
+ pshufb %xmm6,%xmm13
236
+ movdqa %xmm10,%xmm3 // 3 : 1/i
237
+ movdqa %xmm10,%xmm11
238
+ pxor %xmm1,%xmm0 // 0 = j
239
+ pxor %xmm7,%xmm6
240
+ pshufb %xmm1,%xmm3 // 3 = 1/i
241
+ pshufb %xmm7,%xmm11
242
+ movdqa %xmm10,%xmm4 // 4 : 1/j
243
+ movdqa %xmm10,%xmm12
244
+ pxor %xmm5,%xmm3 // 3 = iak = 1/i + a/k
245
+ pxor %xmm13,%xmm11
246
+ pshufb %xmm0,%xmm4 // 4 = 1/j
247
+ pshufb %xmm6,%xmm12
248
+ movdqa %xmm10,%xmm2 // 2 : 1/iak
249
+ movdqa %xmm10,%xmm8
250
+ pxor %xmm5,%xmm4 // 4 = jak = 1/j + a/k
251
+ pxor %xmm13,%xmm12
252
+ pshufb %xmm3,%xmm2 // 2 = 1/iak
253
+ pshufb %xmm11,%xmm8
254
+ movdqa %xmm10,%xmm3 // 3 : 1/jak
255
+ movdqa %xmm10,%xmm11
256
+ pxor %xmm0,%xmm2 // 2 = io
257
+ pxor %xmm6,%xmm8
258
+ pshufb %xmm4,%xmm3 // 3 = 1/jak
259
+ pshufb %xmm12,%xmm11
260
+ movdqu (%r9),%xmm5
261
+ // Also use %xmm5 in the second instance.
262
+ pxor %xmm1,%xmm3 // 3 = jo
263
+ pxor %xmm7,%xmm11
264
+ jnz L$enc2x_loop
265
+
266
+ // middle of last round
267
+ movdqa -96(%r10),%xmm4 // 3 : sbou .Lk_sbo
268
+ movdqa -80(%r10),%xmm0 // 0 : sbot .Lk_sbo+16
269
+ movdqa %xmm4,%xmm12
270
+ movdqa %xmm0,%xmm6
271
+ pshufb %xmm2,%xmm4 // 4 = sbou
272
+ pshufb %xmm8,%xmm12
273
+ pxor %xmm5,%xmm4 // 4 = sb1u + k
274
+ pxor %xmm5,%xmm12
275
+ pshufb %xmm3,%xmm0 // 0 = sb1t
276
+ pshufb %xmm11,%xmm6
277
+ movdqa 64(%r11,%r10,1),%xmm1 // .Lk_sr[]
278
+ // Also use %xmm1 in the second instance.
279
+ pxor %xmm4,%xmm0 // 0 = A
280
+ pxor %xmm12,%xmm6
281
+ pshufb %xmm1,%xmm0
282
+ pshufb %xmm1,%xmm6
283
+ ret
284
+
285
+
286
+
287
+ //
288
+ // Decryption core
289
+ //
290
+ // Same API as encryption core.
291
+ //
292
+
293
+ .p2align 4
294
+ .alt_entry _vpaes_decrypt_core
295
+ _vpaes_decrypt_core:
296
+
297
+ movq %rdx,%r9 // load key
298
+ movl 240(%rdx),%eax
299
+ movdqa %xmm9,%xmm1
300
+ movdqa L$k_dipt(%rip),%xmm2 // iptlo
301
+ pandn %xmm0,%xmm1
302
+ movq %rax,%r11
303
+ psrld $4,%xmm1
304
+ movdqu (%r9),%xmm5 // round0 key
305
+ shlq $4,%r11
306
+ pand %xmm9,%xmm0
307
+ pshufb %xmm0,%xmm2
308
+ movdqa L$k_dipt+16(%rip),%xmm0 // ipthi
309
+ xorq $0x30,%r11
310
+ leaq L$k_dsbd(%rip),%r10
311
+ pshufb %xmm1,%xmm0
312
+ andq $0x30,%r11
313
+ pxor %xmm5,%xmm2
314
+ movdqa L$k_mc_forward+48(%rip),%xmm5
315
+ pxor %xmm2,%xmm0
316
+ addq $16,%r9
317
+ addq %r10,%r11
318
+ jmp L$dec_entry
319
+
320
+ .p2align 4
321
+ L$dec_loop:
322
+ //
323
+ // Inverse mix columns
324
+ //
325
+ movdqa -32(%r10),%xmm4 // 4 : sb9u
326
+ movdqa -16(%r10),%xmm1 // 0 : sb9t
327
+ pshufb %xmm2,%xmm4 // 4 = sb9u
328
+ pshufb %xmm3,%xmm1 // 0 = sb9t
329
+ pxor %xmm4,%xmm0
330
+ movdqa 0(%r10),%xmm4 // 4 : sbdu
331
+ pxor %xmm1,%xmm0 // 0 = ch
332
+ movdqa 16(%r10),%xmm1 // 0 : sbdt
333
+
334
+ pshufb %xmm2,%xmm4 // 4 = sbdu
335
+ pshufb %xmm5,%xmm0 // MC ch
336
+ pshufb %xmm3,%xmm1 // 0 = sbdt
337
+ pxor %xmm4,%xmm0 // 4 = ch
338
+ movdqa 32(%r10),%xmm4 // 4 : sbbu
339
+ pxor %xmm1,%xmm0 // 0 = ch
340
+ movdqa 48(%r10),%xmm1 // 0 : sbbt
341
+
342
+ pshufb %xmm2,%xmm4 // 4 = sbbu
343
+ pshufb %xmm5,%xmm0 // MC ch
344
+ pshufb %xmm3,%xmm1 // 0 = sbbt
345
+ pxor %xmm4,%xmm0 // 4 = ch
346
+ movdqa 64(%r10),%xmm4 // 4 : sbeu
347
+ pxor %xmm1,%xmm0 // 0 = ch
348
+ movdqa 80(%r10),%xmm1 // 0 : sbet
349
+
350
+ pshufb %xmm2,%xmm4 // 4 = sbeu
351
+ pshufb %xmm5,%xmm0 // MC ch
352
+ pshufb %xmm3,%xmm1 // 0 = sbet
353
+ pxor %xmm4,%xmm0 // 4 = ch
354
+ addq $16,%r9 // next round key
355
+ palignr $12,%xmm5,%xmm5
356
+ pxor %xmm1,%xmm0 // 0 = ch
357
+ subq $1,%rax // nr--
358
+
359
+ L$dec_entry:
360
+ // top of round
361
+ movdqa %xmm9,%xmm1 // 1 : i
362
+ pandn %xmm0,%xmm1 // 1 = i<<4
363
+ movdqa %xmm11,%xmm2 // 2 : a/k
364
+ psrld $4,%xmm1 // 1 = i
365
+ pand %xmm9,%xmm0 // 0 = k
366
+ pshufb %xmm0,%xmm2 // 2 = a/k
367
+ movdqa %xmm10,%xmm3 // 3 : 1/i
368
+ pxor %xmm1,%xmm0 // 0 = j
369
+ pshufb %xmm1,%xmm3 // 3 = 1/i
370
+ movdqa %xmm10,%xmm4 // 4 : 1/j
371
+ pxor %xmm2,%xmm3 // 3 = iak = 1/i + a/k
372
+ pshufb %xmm0,%xmm4 // 4 = 1/j
373
+ pxor %xmm2,%xmm4 // 4 = jak = 1/j + a/k
374
+ movdqa %xmm10,%xmm2 // 2 : 1/iak
375
+ pshufb %xmm3,%xmm2 // 2 = 1/iak
376
+ movdqa %xmm10,%xmm3 // 3 : 1/jak
377
+ pxor %xmm0,%xmm2 // 2 = io
378
+ pshufb %xmm4,%xmm3 // 3 = 1/jak
379
+ movdqu (%r9),%xmm0
380
+ pxor %xmm1,%xmm3 // 3 = jo
381
+ jnz L$dec_loop
382
+
383
+ // middle of last round
384
+ movdqa 96(%r10),%xmm4 // 3 : sbou
385
+ pshufb %xmm2,%xmm4 // 4 = sbou
386
+ pxor %xmm0,%xmm4 // 4 = sb1u + k
387
+ movdqa 112(%r10),%xmm0 // 0 : sbot
388
+ movdqa -352(%r11),%xmm2 // .Lk_sr-.Lk_dsbd=-0x160
389
+ pshufb %xmm3,%xmm0 // 0 = sb1t
390
+ pxor %xmm4,%xmm0 // 0 = A
391
+ pshufb %xmm2,%xmm0
392
+ ret
393
+
394
+
395
+
396
+ // ######################################################
397
+ // ##
398
+ // AES key schedule ##
399
+ // ##
400
+ // ######################################################
401
+
402
+ .p2align 4
403
+ .alt_entry _vpaes_schedule_core
404
+ _vpaes_schedule_core:
405
+
406
+ // rdi = key
407
+ // rsi = size in bits
408
+ // rdx = buffer
409
+ // rcx = direction. 0=encrypt, 1=decrypt
410
+
411
+ call _vpaes_preheat // load the tables
412
+ movdqa L$k_rcon(%rip),%xmm8 // load rcon
413
+ movdqu (%rdi),%xmm0 // load key (unaligned)
414
+
415
+ // input transform
416
+ movdqa %xmm0,%xmm3
417
+ leaq L$k_ipt(%rip),%r11
418
+ call _vpaes_schedule_transform
419
+ movdqa %xmm0,%xmm7
420
+
421
+ leaq L$k_sr(%rip),%r10
422
+ testq %rcx,%rcx
423
+ jnz L$schedule_am_decrypting
424
+
425
+ // encrypting, output zeroth round key after transform
426
+ movdqu %xmm0,(%rdx)
427
+ jmp L$schedule_go
428
+
429
+ L$schedule_am_decrypting:
430
+ // decrypting, output zeroth round key after shiftrows
431
+ movdqa (%r8,%r10,1),%xmm1
432
+ pshufb %xmm1,%xmm3
433
+ movdqu %xmm3,(%rdx)
434
+ xorq $0x30,%r8
435
+
436
+ L$schedule_go:
437
+ cmpl $192,%esi
438
+ ja L$schedule_256
439
+ je L$schedule_192
440
+ // 128: fall though
441
+
442
+ //
443
+ // .schedule_128
444
+ //
445
+ // 128-bit specific part of key schedule.
446
+ //
447
+ // This schedule is really simple, because all its parts
448
+ // are accomplished by the subroutines.
449
+ //
450
+ L$schedule_128:
451
+ movl $10,%esi
452
+
453
+ L$oop_schedule_128:
454
+ call _vpaes_schedule_round
455
+ decq %rsi
456
+ jz L$schedule_mangle_last
457
+ call _vpaes_schedule_mangle // write output
458
+ jmp L$oop_schedule_128
459
+
460
+ //
461
+ // .aes_schedule_192
462
+ //
463
+ // 192-bit specific part of key schedule.
464
+ //
465
+ // The main body of this schedule is the same as the 128-bit
466
+ // schedule, but with more smearing. The long, high side is
467
+ // stored in %xmm7 as before, and the short, low side is in
468
+ // the high bits of %xmm6.
469
+ //
470
+ // This schedule is somewhat nastier, however, because each
471
+ // round produces 192 bits of key material, or 1.5 round keys.
472
+ // Therefore, on each cycle we do 2 rounds and produce 3 round
473
+ // keys.
474
+ //
475
+ .p2align 4
476
+ L$schedule_192:
477
+ movdqu 8(%rdi),%xmm0 // load key part 2 (very unaligned)
478
+ call _vpaes_schedule_transform // input transform
479
+ movdqa %xmm0,%xmm6 // save short part
480
+ pxor %xmm4,%xmm4 // clear 4
481
+ movhlps %xmm4,%xmm6 // clobber low side with zeros
482
+ movl $4,%esi
483
+
484
+ L$oop_schedule_192:
485
+ call _vpaes_schedule_round
486
+ palignr $8,%xmm6,%xmm0
487
+ call _vpaes_schedule_mangle // save key n
488
+ call _vpaes_schedule_192_smear
489
+ call _vpaes_schedule_mangle // save key n+1
490
+ call _vpaes_schedule_round
491
+ decq %rsi
492
+ jz L$schedule_mangle_last
493
+ call _vpaes_schedule_mangle // save key n+2
494
+ call _vpaes_schedule_192_smear
495
+ jmp L$oop_schedule_192
496
+
497
+ //
498
+ // .aes_schedule_256
499
+ //
500
+ // 256-bit specific part of key schedule.
501
+ //
502
+ // The structure here is very similar to the 128-bit
503
+ // schedule, but with an additional "low side" in
504
+ // %xmm6. The low side's rounds are the same as the
505
+ // high side's, except no rcon and no rotation.
506
+ //
507
+ .p2align 4
508
+ L$schedule_256:
509
+ movdqu 16(%rdi),%xmm0 // load key part 2 (unaligned)
510
+ call _vpaes_schedule_transform // input transform
511
+ movl $7,%esi
512
+
513
+ L$oop_schedule_256:
514
+ call _vpaes_schedule_mangle // output low result
515
+ movdqa %xmm0,%xmm6 // save cur_lo in xmm6
516
+
517
+ // high round
518
+ call _vpaes_schedule_round
519
+ decq %rsi
520
+ jz L$schedule_mangle_last
521
+ call _vpaes_schedule_mangle
522
+
523
+ // low round. swap xmm7 and xmm6
524
+ pshufd $0xFF,%xmm0,%xmm0
525
+ movdqa %xmm7,%xmm5
526
+ movdqa %xmm6,%xmm7
527
+ call _vpaes_schedule_low_round
528
+ movdqa %xmm5,%xmm7
529
+
530
+ jmp L$oop_schedule_256
531
+
532
+
533
+ //
534
+ // .aes_schedule_mangle_last
535
+ //
536
+ // Mangler for last round of key schedule
537
+ // Mangles %xmm0
538
+ // when encrypting, outputs out(%xmm0) ^ 63
539
+ // when decrypting, outputs unskew(%xmm0)
540
+ //
541
+ // Always called right before return... jumps to cleanup and exits
542
+ //
543
+ .p2align 4
544
+ L$schedule_mangle_last:
545
+ // schedule last round key from xmm0
546
+ leaq L$k_deskew(%rip),%r11 // prepare to deskew
547
+ testq %rcx,%rcx
548
+ jnz L$schedule_mangle_last_dec
549
+
550
+ // encrypting
551
+ movdqa (%r8,%r10,1),%xmm1
552
+ pshufb %xmm1,%xmm0 // output permute
553
+ leaq L$k_opt(%rip),%r11 // prepare to output transform
554
+ addq $32,%rdx
555
+
556
+ L$schedule_mangle_last_dec:
557
+ addq $-16,%rdx
558
+ pxor L$k_s63(%rip),%xmm0
559
+ call _vpaes_schedule_transform // output transform
560
+ movdqu %xmm0,(%rdx) // save last key
561
+
562
+ // cleanup
563
+ pxor %xmm0,%xmm0
564
+ pxor %xmm1,%xmm1
565
+ pxor %xmm2,%xmm2
566
+ pxor %xmm3,%xmm3
567
+ pxor %xmm4,%xmm4
568
+ pxor %xmm5,%xmm5
569
+ pxor %xmm6,%xmm6
570
+ pxor %xmm7,%xmm7
571
+ ret
572
+
573
+
574
+
575
+ //
576
+ // .aes_schedule_192_smear
577
+ //
578
+ // Smear the short, low side in the 192-bit key schedule.
579
+ //
580
+ // Inputs:
581
+ // %xmm7: high side, b a x y
582
+ // %xmm6: low side, d c 0 0
583
+ // %xmm13: 0
584
+ //
585
+ // Outputs:
586
+ // %xmm6: b+c+d b+c 0 0
587
+ // %xmm0: b+c+d b+c b a
588
+ //
589
+
590
+ .p2align 4
591
+ .alt_entry _vpaes_schedule_192_smear
592
+ _vpaes_schedule_192_smear:
593
+
594
+ pshufd $0x80,%xmm6,%xmm1 // d c 0 0 -> c 0 0 0
595
+ pshufd $0xFE,%xmm7,%xmm0 // b a _ _ -> b b b a
596
+ pxor %xmm1,%xmm6 // -> c+d c 0 0
597
+ pxor %xmm1,%xmm1
598
+ pxor %xmm0,%xmm6 // -> b+c+d b+c b a
599
+ movdqa %xmm6,%xmm0
600
+ movhlps %xmm1,%xmm6 // clobber low side with zeros
601
+ ret
602
+
603
+
604
+
605
+ //
606
+ // .aes_schedule_round
607
+ //
608
+ // Runs one main round of the key schedule on %xmm0, %xmm7
609
+ //
610
+ // Specifically, runs subbytes on the high dword of %xmm0
611
+ // then rotates it by one byte and xors into the low dword of
612
+ // %xmm7.
613
+ //
614
+ // Adds rcon from low byte of %xmm8, then rotates %xmm8 for
615
+ // next rcon.
616
+ //
617
+ // Smears the dwords of %xmm7 by xoring the low into the
618
+ // second low, result into third, result into highest.
619
+ //
620
+ // Returns results in %xmm7 = %xmm0.
621
+ // Clobbers %xmm1-%xmm4, %r11.
622
+ //
623
+
624
+ .p2align 4
625
+ .alt_entry _vpaes_schedule_round
626
+ _vpaes_schedule_round:
627
+
628
+ // extract rcon from xmm8
629
+ pxor %xmm1,%xmm1
630
+ palignr $15,%xmm8,%xmm1
631
+ palignr $15,%xmm8,%xmm8
632
+ pxor %xmm1,%xmm7
633
+
634
+ // rotate
635
+ pshufd $0xFF,%xmm0,%xmm0
636
+ palignr $1,%xmm0,%xmm0
637
+
638
+ // fall through...
639
+
640
+ // low round: same as high round, but no rotation and no rcon.
641
+ .alt_entry _vpaes_schedule_low_round
642
+ _vpaes_schedule_low_round:
643
+ // smear xmm7
644
+ movdqa %xmm7,%xmm1
645
+ pslldq $4,%xmm7
646
+ pxor %xmm1,%xmm7
647
+ movdqa %xmm7,%xmm1
648
+ pslldq $8,%xmm7
649
+ pxor %xmm1,%xmm7
650
+ pxor L$k_s63(%rip),%xmm7
651
+
652
+ // subbytes
653
+ movdqa %xmm9,%xmm1
654
+ pandn %xmm0,%xmm1
655
+ psrld $4,%xmm1 // 1 = i
656
+ pand %xmm9,%xmm0 // 0 = k
657
+ movdqa %xmm11,%xmm2 // 2 : a/k
658
+ pshufb %xmm0,%xmm2 // 2 = a/k
659
+ pxor %xmm1,%xmm0 // 0 = j
660
+ movdqa %xmm10,%xmm3 // 3 : 1/i
661
+ pshufb %xmm1,%xmm3 // 3 = 1/i
662
+ pxor %xmm2,%xmm3 // 3 = iak = 1/i + a/k
663
+ movdqa %xmm10,%xmm4 // 4 : 1/j
664
+ pshufb %xmm0,%xmm4 // 4 = 1/j
665
+ pxor %xmm2,%xmm4 // 4 = jak = 1/j + a/k
666
+ movdqa %xmm10,%xmm2 // 2 : 1/iak
667
+ pshufb %xmm3,%xmm2 // 2 = 1/iak
668
+ pxor %xmm0,%xmm2 // 2 = io
669
+ movdqa %xmm10,%xmm3 // 3 : 1/jak
670
+ pshufb %xmm4,%xmm3 // 3 = 1/jak
671
+ pxor %xmm1,%xmm3 // 3 = jo
672
+ movdqa %xmm13,%xmm4 // 4 : sbou
673
+ pshufb %xmm2,%xmm4 // 4 = sbou
674
+ movdqa %xmm12,%xmm0 // 0 : sbot
675
+ pshufb %xmm3,%xmm0 // 0 = sb1t
676
+ pxor %xmm4,%xmm0 // 0 = sbox output
677
+
678
+ // add in smeared stuff
679
+ pxor %xmm7,%xmm0
680
+ movdqa %xmm0,%xmm7
681
+ ret
682
+
683
+
684
+
685
+ //
686
+ // .aes_schedule_transform
687
+ //
688
+ // Linear-transform %xmm0 according to tables at (%r11)
689
+ //
690
+ // Requires that %xmm9 = 0x0F0F... as in preheat
691
+ // Output in %xmm0
692
+ // Clobbers %xmm1, %xmm2
693
+ //
694
+
695
+ .p2align 4
696
+ .alt_entry _vpaes_schedule_transform
697
+ _vpaes_schedule_transform:
698
+
699
+ movdqa %xmm9,%xmm1
700
+ pandn %xmm0,%xmm1
701
+ psrld $4,%xmm1
702
+ pand %xmm9,%xmm0
703
+ movdqa (%r11),%xmm2 // lo
704
+ pshufb %xmm0,%xmm2
705
+ movdqa 16(%r11),%xmm0 // hi
706
+ pshufb %xmm1,%xmm0
707
+ pxor %xmm2,%xmm0
708
+ ret
709
+
710
+
711
+
712
+ //
713
+ // .aes_schedule_mangle
714
+ //
715
+ // Mangle xmm0 from (basis-transformed) standard version
716
+ // to our version.
717
+ //
718
+ // On encrypt,
719
+ // xor with 0x63
720
+ // multiply by circulant 0,1,1,1
721
+ // apply shiftrows transform
722
+ //
723
+ // On decrypt,
724
+ // xor with 0x63
725
+ // multiply by "inverse mixcolumns" circulant E,B,D,9
726
+ // deskew
727
+ // apply shiftrows transform
728
+ //
729
+ //
730
+ // Writes out to (%rdx), and increments or decrements it
731
+ // Keeps track of round number mod 4 in %r8
732
+ // Preserves xmm0
733
+ // Clobbers xmm1-xmm5
734
+ //
735
+
736
+ .p2align 4
737
+ .alt_entry _vpaes_schedule_mangle
738
+ _vpaes_schedule_mangle:
739
+
740
+ movdqa %xmm0,%xmm4 // save xmm0 for later
741
+ movdqa L$k_mc_forward(%rip),%xmm5
742
+ testq %rcx,%rcx
743
+ jnz L$schedule_mangle_dec
744
+
745
+ // encrypting
746
+ addq $16,%rdx
747
+ pxor L$k_s63(%rip),%xmm4
748
+ pshufb %xmm5,%xmm4
749
+ movdqa %xmm4,%xmm3
750
+ pshufb %xmm5,%xmm4
751
+ pxor %xmm4,%xmm3
752
+ pshufb %xmm5,%xmm4
753
+ pxor %xmm4,%xmm3
754
+
755
+ jmp L$schedule_mangle_both
756
+ .p2align 4
757
+ L$schedule_mangle_dec:
758
+ // inverse mix columns
759
+ leaq L$k_dksd(%rip),%r11
760
+ movdqa %xmm9,%xmm1
761
+ pandn %xmm4,%xmm1
762
+ psrld $4,%xmm1 // 1 = hi
763
+ pand %xmm9,%xmm4 // 4 = lo
764
+
765
+ movdqa 0(%r11),%xmm2
766
+ pshufb %xmm4,%xmm2
767
+ movdqa 16(%r11),%xmm3
768
+ pshufb %xmm1,%xmm3
769
+ pxor %xmm2,%xmm3
770
+ pshufb %xmm5,%xmm3
771
+
772
+ movdqa 32(%r11),%xmm2
773
+ pshufb %xmm4,%xmm2
774
+ pxor %xmm3,%xmm2
775
+ movdqa 48(%r11),%xmm3
776
+ pshufb %xmm1,%xmm3
777
+ pxor %xmm2,%xmm3
778
+ pshufb %xmm5,%xmm3
779
+
780
+ movdqa 64(%r11),%xmm2
781
+ pshufb %xmm4,%xmm2
782
+ pxor %xmm3,%xmm2
783
+ movdqa 80(%r11),%xmm3
784
+ pshufb %xmm1,%xmm3
785
+ pxor %xmm2,%xmm3
786
+ pshufb %xmm5,%xmm3
787
+
788
+ movdqa 96(%r11),%xmm2
789
+ pshufb %xmm4,%xmm2
790
+ pxor %xmm3,%xmm2
791
+ movdqa 112(%r11),%xmm3
792
+ pshufb %xmm1,%xmm3
793
+ pxor %xmm2,%xmm3
794
+
795
+ addq $-16,%rdx
796
+
797
+ L$schedule_mangle_both:
798
+ movdqa (%r8,%r10,1),%xmm1
799
+ pshufb %xmm1,%xmm3
800
+ addq $-16,%r8
801
+ andq $0x30,%r8
802
+ movdqu %xmm3,(%rdx)
803
+ ret
804
+
805
+
806
+
807
+ //
808
+ // Interface to OpenSSL
809
+ //
810
+ .globl _vpaes_set_encrypt_key
811
+ .private_extern _vpaes_set_encrypt_key
812
+
813
+ .p2align 4
814
+ .alt_entry _vpaes_set_encrypt_key
815
+ _vpaes_set_encrypt_key:
816
+
817
+ _CET_ENDBR
818
+ #ifdef BORINGSSL_DISPATCH_TEST
819
+
820
+ movb $1,_BORINGSSL_function_hit+5(%rip)
821
+ #endif
822
+
823
+ movl %esi,%eax
824
+ shrl $5,%eax
825
+ addl $5,%eax
826
+ movl %eax,240(%rdx) // AES_KEY->rounds = nbits/32+5;
827
+
828
+ movl $0,%ecx
829
+ movl $0x30,%r8d
830
+ call _vpaes_schedule_core
831
+ xorl %eax,%eax
832
+ ret
833
+
834
+
835
+
836
+ .globl _vpaes_set_decrypt_key
837
+ .private_extern _vpaes_set_decrypt_key
838
+
839
+ .p2align 4
840
+ .alt_entry _vpaes_set_decrypt_key
841
+ _vpaes_set_decrypt_key:
842
+
843
+ _CET_ENDBR
844
+ movl %esi,%eax
845
+ shrl $5,%eax
846
+ addl $5,%eax
847
+ movl %eax,240(%rdx) // AES_KEY->rounds = nbits/32+5;
848
+ shll $4,%eax
849
+ leaq 16(%rdx,%rax,1),%rdx
850
+
851
+ movl $1,%ecx
852
+ movl %esi,%r8d
853
+ shrl $1,%r8d
854
+ andl $32,%r8d
855
+ xorl $32,%r8d // nbits==192?0:32
856
+ call _vpaes_schedule_core
857
+ xorl %eax,%eax
858
+ ret
859
+
860
+
861
+
862
+ .globl _vpaes_encrypt
863
+ .private_extern _vpaes_encrypt
864
+
865
+ .p2align 4
866
+ .alt_entry _vpaes_encrypt
867
+ _vpaes_encrypt:
868
+
869
+ _CET_ENDBR
870
+ #ifdef BORINGSSL_DISPATCH_TEST
871
+
872
+ movb $1,_BORINGSSL_function_hit+4(%rip)
873
+ #endif
874
+ movdqu (%rdi),%xmm0
875
+ call _vpaes_preheat
876
+ call _vpaes_encrypt_core
877
+ movdqu %xmm0,(%rsi)
878
+ ret
879
+
880
+
881
+
882
+ .globl _vpaes_decrypt
883
+ .private_extern _vpaes_decrypt
884
+
885
+ .p2align 4
886
+ .alt_entry _vpaes_decrypt
887
+ _vpaes_decrypt:
888
+
889
+ _CET_ENDBR
890
+ movdqu (%rdi),%xmm0
891
+ call _vpaes_preheat
892
+ call _vpaes_decrypt_core
893
+ movdqu %xmm0,(%rsi)
894
+ ret
895
+
896
+
897
+ .globl _vpaes_cbc_encrypt
898
+ .private_extern _vpaes_cbc_encrypt
899
+
900
+ .p2align 4
901
+ .alt_entry _vpaes_cbc_encrypt
902
+ _vpaes_cbc_encrypt:
903
+
904
+ _CET_ENDBR
905
+ xchgq %rcx,%rdx
906
+ subq $16,%rcx
907
+ jc L$cbc_abort
908
+ movdqu (%r8),%xmm6 // load IV
909
+ subq %rdi,%rsi
910
+ call _vpaes_preheat
911
+ cmpl $0,%r9d
912
+ je L$cbc_dec_loop
913
+ jmp L$cbc_enc_loop
914
+ .p2align 4
915
+ L$cbc_enc_loop:
916
+ movdqu (%rdi),%xmm0
917
+ pxor %xmm6,%xmm0
918
+ call _vpaes_encrypt_core
919
+ movdqa %xmm0,%xmm6
920
+ movdqu %xmm0,(%rsi,%rdi,1)
921
+ leaq 16(%rdi),%rdi
922
+ subq $16,%rcx
923
+ jnc L$cbc_enc_loop
924
+ jmp L$cbc_done
925
+ .p2align 4
926
+ L$cbc_dec_loop:
927
+ movdqu (%rdi),%xmm0
928
+ movdqa %xmm0,%xmm7
929
+ call _vpaes_decrypt_core
930
+ pxor %xmm6,%xmm0
931
+ movdqa %xmm7,%xmm6
932
+ movdqu %xmm0,(%rsi,%rdi,1)
933
+ leaq 16(%rdi),%rdi
934
+ subq $16,%rcx
935
+ jnc L$cbc_dec_loop
936
+ L$cbc_done:
937
+ movdqu %xmm6,(%r8) // save IV
938
+ L$cbc_abort:
939
+ ret
940
+
941
+
942
+ .globl _vpaes_ctr32_encrypt_blocks
943
+ .private_extern _vpaes_ctr32_encrypt_blocks
944
+
945
+ .p2align 4
946
+ .alt_entry _vpaes_ctr32_encrypt_blocks
947
+ _vpaes_ctr32_encrypt_blocks:
948
+
949
+ _CET_ENDBR
950
+ // _vpaes_encrypt_core and _vpaes_encrypt_core_2x expect the key in %rdx.
951
+ xchgq %rcx,%rdx
952
+ testq %rcx,%rcx
953
+ jz L$ctr32_abort
954
+ movdqu (%r8),%xmm0 // Load IV.
955
+ movdqa L$ctr_add_one(%rip),%xmm8
956
+ subq %rdi,%rsi // This allows only incrementing %rdi.
957
+ call _vpaes_preheat
958
+ movdqa %xmm0,%xmm6
959
+ pshufb L$rev_ctr(%rip),%xmm6
960
+
961
+ testq $1,%rcx
962
+ jz L$ctr32_prep_loop
963
+
964
+ // Handle one block so the remaining block count is even for
965
+ // _vpaes_encrypt_core_2x.
966
+ movdqu (%rdi),%xmm7 // Load input.
967
+ call _vpaes_encrypt_core
968
+ pxor %xmm7,%xmm0
969
+ paddd %xmm8,%xmm6
970
+ movdqu %xmm0,(%rsi,%rdi,1)
971
+ subq $1,%rcx
972
+ leaq 16(%rdi),%rdi
973
+ jz L$ctr32_done
974
+
975
+ L$ctr32_prep_loop:
976
+ // _vpaes_encrypt_core_2x leaves only %xmm14 and %xmm15 as spare
977
+ // registers. We maintain two byte-swapped counters in them.
978
+ movdqa %xmm6,%xmm14
979
+ movdqa %xmm6,%xmm15
980
+ paddd %xmm8,%xmm15
981
+
982
+ L$ctr32_loop:
983
+ movdqa L$rev_ctr(%rip),%xmm1 // Set up counters.
984
+ movdqa %xmm14,%xmm0
985
+ movdqa %xmm15,%xmm6
986
+ pshufb %xmm1,%xmm0
987
+ pshufb %xmm1,%xmm6
988
+ call _vpaes_encrypt_core_2x
989
+ movdqu (%rdi),%xmm1 // Load input.
990
+ movdqu 16(%rdi),%xmm2
991
+ movdqa L$ctr_add_two(%rip),%xmm3
992
+ pxor %xmm1,%xmm0 // XOR input.
993
+ pxor %xmm2,%xmm6
994
+ paddd %xmm3,%xmm14 // Increment counters.
995
+ paddd %xmm3,%xmm15
996
+ movdqu %xmm0,(%rsi,%rdi,1) // Write output.
997
+ movdqu %xmm6,16(%rsi,%rdi,1)
998
+ subq $2,%rcx // Advance loop.
999
+ leaq 32(%rdi),%rdi
1000
+ jnz L$ctr32_loop
1001
+
1002
+ L$ctr32_done:
1003
+ L$ctr32_abort:
1004
+ ret
1005
+
1006
+
1007
+ //
1008
+ // _aes_preheat
1009
+ //
1010
+ // Fills register %r10 -> .aes_consts (so you can -fPIC)
1011
+ // and %xmm9-%xmm15 as specified below.
1012
+ //
1013
+
1014
+ .p2align 4
1015
+ .alt_entry _vpaes_preheat
1016
+ _vpaes_preheat:
1017
+
1018
+ leaq L$k_s0F(%rip),%r10
1019
+ movdqa -32(%r10),%xmm10 // .Lk_inv
1020
+ movdqa -16(%r10),%xmm11 // .Lk_inv+16
1021
+ movdqa 0(%r10),%xmm9 // .Lk_s0F
1022
+ movdqa 48(%r10),%xmm13 // .Lk_sb1
1023
+ movdqa 64(%r10),%xmm12 // .Lk_sb1+16
1024
+ movdqa 80(%r10),%xmm15 // .Lk_sb2
1025
+ movdqa 96(%r10),%xmm14 // .Lk_sb2+16
1026
+ ret
1027
+
1028
+
1029
+ // ######################################################
1030
+ // ##
1031
+ // Constants ##
1032
+ // ##
1033
+ // ######################################################
1034
+
1035
+ .section __DATA,__const
1036
+ .p2align 6
1037
+ _vpaes_consts:
1038
+ L$k_inv: // inv, inva
1039
+ .quad 0x0E05060F0D080180, 0x040703090A0B0C02
1040
+ .quad 0x01040A060F0B0780, 0x030D0E0C02050809
1041
+
1042
+ L$k_s0F: // s0F
1043
+ .quad 0x0F0F0F0F0F0F0F0F, 0x0F0F0F0F0F0F0F0F
1044
+
1045
+ L$k_ipt: // input transform (lo, hi)
1046
+ .quad 0xC2B2E8985A2A7000, 0xCABAE09052227808
1047
+ .quad 0x4C01307D317C4D00, 0xCD80B1FCB0FDCC81
1048
+
1049
+ L$k_sb1: // sb1u, sb1t
1050
+ .quad 0xB19BE18FCB503E00, 0xA5DF7A6E142AF544
1051
+ .quad 0x3618D415FAE22300, 0x3BF7CCC10D2ED9EF
1052
+ L$k_sb2: // sb2u, sb2t
1053
+ .quad 0xE27A93C60B712400, 0x5EB7E955BC982FCD
1054
+ .quad 0x69EB88400AE12900, 0xC2A163C8AB82234A
1055
+ L$k_sbo: // sbou, sbot
1056
+ .quad 0xD0D26D176FBDC700, 0x15AABF7AC502A878
1057
+ .quad 0xCFE474A55FBB6A00, 0x8E1E90D1412B35FA
1058
+
1059
+ L$k_mc_forward: // mc_forward
1060
+ .quad 0x0407060500030201, 0x0C0F0E0D080B0A09
1061
+ .quad 0x080B0A0904070605, 0x000302010C0F0E0D
1062
+ .quad 0x0C0F0E0D080B0A09, 0x0407060500030201
1063
+ .quad 0x000302010C0F0E0D, 0x080B0A0904070605
1064
+
1065
+ L$k_mc_backward: // mc_backward
1066
+ .quad 0x0605040702010003, 0x0E0D0C0F0A09080B
1067
+ .quad 0x020100030E0D0C0F, 0x0A09080B06050407
1068
+ .quad 0x0E0D0C0F0A09080B, 0x0605040702010003
1069
+ .quad 0x0A09080B06050407, 0x020100030E0D0C0F
1070
+
1071
+ L$k_sr: // sr
1072
+ .quad 0x0706050403020100, 0x0F0E0D0C0B0A0908
1073
+ .quad 0x030E09040F0A0500, 0x0B06010C07020D08
1074
+ .quad 0x0F060D040B020900, 0x070E050C030A0108
1075
+ .quad 0x0B0E0104070A0D00, 0x0306090C0F020508
1076
+
1077
+ L$k_rcon: // rcon
1078
+ .quad 0x1F8391B9AF9DEEB6, 0x702A98084D7C7D81
1079
+
1080
+ L$k_s63: // s63: all equal to 0x63 transformed
1081
+ .quad 0x5B5B5B5B5B5B5B5B, 0x5B5B5B5B5B5B5B5B
1082
+
1083
+ L$k_opt: // output transform
1084
+ .quad 0xFF9F4929D6B66000, 0xF7974121DEBE6808
1085
+ .quad 0x01EDBD5150BCEC00, 0xE10D5DB1B05C0CE0
1086
+
1087
+ L$k_deskew: // deskew tables: inverts the sbox's "skew"
1088
+ .quad 0x07E4A34047A4E300, 0x1DFEB95A5DBEF91A
1089
+ .quad 0x5F36B5DC83EA6900, 0x2841C2ABF49D1E77
1090
+
1091
+ //
1092
+ // Decryption stuff
1093
+ // Key schedule constants
1094
+ //
1095
+ L$k_dksd: // decryption key schedule: invskew x*D
1096
+ .quad 0xFEB91A5DA3E44700, 0x0740E3A45A1DBEF9
1097
+ .quad 0x41C277F4B5368300, 0x5FDC69EAAB289D1E
1098
+ L$k_dksb: // decryption key schedule: invskew x*B
1099
+ .quad 0x9A4FCA1F8550D500, 0x03D653861CC94C99
1100
+ .quad 0x115BEDA7B6FC4A00, 0xD993256F7E3482C8
1101
+ L$k_dkse: // decryption key schedule: invskew x*E + 0x63
1102
+ .quad 0xD5031CCA1FC9D600, 0x53859A4C994F5086
1103
+ .quad 0xA23196054FDC7BE8, 0xCD5EF96A20B31487
1104
+ L$k_dks9: // decryption key schedule: invskew x*9
1105
+ .quad 0xB6116FC87ED9A700, 0x4AED933482255BFC
1106
+ .quad 0x4576516227143300, 0x8BB89FACE9DAFDCE
1107
+
1108
+ //
1109
+ // Decryption stuff
1110
+ // Round function constants
1111
+ //
1112
+ L$k_dipt: // decryption input transform
1113
+ .quad 0x0F505B040B545F00, 0x154A411E114E451A
1114
+ .quad 0x86E383E660056500, 0x12771772F491F194
1115
+
1116
+ L$k_dsb9: // decryption sbox output *9*u, *9*t
1117
+ .quad 0x851C03539A86D600, 0xCAD51F504F994CC9
1118
+ .quad 0xC03B1789ECD74900, 0x725E2C9EB2FBA565
1119
+ L$k_dsbd: // decryption sbox output *D*u, *D*t
1120
+ .quad 0x7D57CCDFE6B1A200, 0xF56E9B13882A4439
1121
+ .quad 0x3CE2FAF724C6CB00, 0x2931180D15DEEFD3
1122
+ L$k_dsbb: // decryption sbox output *B*u, *B*t
1123
+ .quad 0xD022649296B44200, 0x602646F6B0F2D404
1124
+ .quad 0xC19498A6CD596700, 0xF3FF0C3E3255AA6B
1125
+ L$k_dsbe: // decryption sbox output *E*u, *E*t
1126
+ .quad 0x46F2929626D4D000, 0x2242600464B4F6B0
1127
+ .quad 0x0C55A6CDFFAAC100, 0x9467F36B98593E32
1128
+ L$k_dsbo: // decryption sbox final output
1129
+ .quad 0x1387EA537EF94000, 0xC7AA6DB9D4943E2D
1130
+ .quad 0x12D7560F93441D00, 0xCA4B8159D8C58E9C
1131
+
1132
+ // .Lrev_ctr is a permutation which byte-swaps the counter portion of the IV.
1133
+ L$rev_ctr:
1134
+ .quad 0x0706050403020100, 0x0c0d0e0f0b0a0908
1135
+ // .Lctr_add_* may be added to a byte-swapped xmm register to increment the
1136
+ // counter. The register must be byte-swapped again to form the actual input.
1137
+ L$ctr_add_one:
1138
+ .quad 0x0000000000000000, 0x0000000100000000
1139
+ L$ctr_add_two:
1140
+ .quad 0x0000000000000000, 0x0000000200000000
1141
+
1142
+ .byte 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105,111,110,32,65,69,83,32,102,111,114,32,120,56,54,95,54,52,47,83,83,83,69,51,44,32,77,105,107,101,32,72,97,109,98,117,114,103,32,40,83,116,97,110,102,111,114,100,32,85,110,105,118,101,114,115,105,116,121,41,0
1143
+ .p2align 6
1144
+
1145
+ .text
1146
+ #endif