visaljs 0.0.2 → 0.0.4

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 (1243) hide show
  1. package/README.md +3 -1
  2. package/cli.js +545 -86
  3. package/node/include/js_node.h +30 -5
  4. package/node/include/js_uv.h +36 -0
  5. package/node/prelude/async_hooks.js +0 -0
  6. package/node/prelude/buffer.js +0 -0
  7. package/node/prelude/crypto.js +7 -10
  8. package/node/prelude/dns.js +99 -0
  9. package/node/prelude/dns_promises.js +10 -0
  10. package/node/prelude/events.js +0 -0
  11. package/node/prelude/fs.js +0 -0
  12. package/node/prelude/http.js +1039 -195
  13. package/node/prelude/http2.js +0 -0
  14. package/node/prelude/internal/crypto/asym.js +39 -12
  15. package/node/prelude/internal/crypto/cipher.js +0 -0
  16. package/node/prelude/internal/crypto/dh_groups.js +12 -0
  17. package/node/prelude/internal/crypto/diffiehellman.js +354 -0
  18. package/node/prelude/internal/crypto/hash.js +1 -1
  19. package/node/prelude/internal/crypto/kdf.js +0 -0
  20. package/node/prelude/internal/crypto/key_type.js +3 -0
  21. package/node/prelude/internal/crypto/keys.js +39 -9
  22. package/node/prelude/internal/crypto/random.js +0 -0
  23. package/node/prelude/internal/crypto/util.js +0 -0
  24. package/node/prelude/internal/errors.js +0 -0
  25. package/node/prelude/internal/http_agent.js +249 -0
  26. package/node/prelude/internal/net.js +33 -0
  27. package/node/prelude/internal/querystring.js +0 -0
  28. package/node/prelude/internal/socketaddress.js +249 -0
  29. package/node/prelude/internal/tls/common.js +306 -0
  30. package/node/prelude/internal/tls/wrap.js +1220 -0
  31. package/node/prelude/internal/tls/x509.js +394 -0
  32. package/node/prelude/module.js +0 -0
  33. package/node/prelude/net.js +1082 -50
  34. package/node/prelude/os.js +2 -2
  35. package/node/prelude/path.js +0 -0
  36. package/node/prelude/process.js +0 -0
  37. package/node/prelude/querystring.js +0 -0
  38. package/node/prelude/stream.js +6 -0
  39. package/node/prelude/stream_promises.js +0 -0
  40. package/node/prelude/stream_web.js +0 -0
  41. package/node/prelude/string_decoder.js +0 -0
  42. package/node/prelude/tls.js +141 -0
  43. package/node/prelude/tty.js +0 -0
  44. package/node/prelude/url.js +0 -0
  45. package/node/prelude/util.js +5 -2
  46. package/node/prelude/util_types.js +85 -0
  47. package/node/prelude/zlib.js +0 -0
  48. package/node/src/host_fs.c +10 -2
  49. package/node/src/host_http.c +268 -270
  50. package/node/src/host_loop.c +84 -0
  51. package/node/src/host_net.c +495 -0
  52. package/node/src/host_os.c +0 -0
  53. package/node/src/host_sys.c +54 -26
  54. package/node/third_party/libuv/LICENSE +0 -0
  55. package/node/third_party/libuv/include/uv/aix.h +0 -0
  56. package/node/third_party/libuv/include/uv/bsd.h +0 -0
  57. package/node/third_party/libuv/include/uv/darwin.h +0 -0
  58. package/node/third_party/libuv/include/uv/errno.h +0 -0
  59. package/node/third_party/libuv/include/uv/linux.h +0 -0
  60. package/node/third_party/libuv/include/uv/os390.h +0 -0
  61. package/node/third_party/libuv/include/uv/posix.h +0 -0
  62. package/node/third_party/libuv/include/uv/sunos.h +0 -0
  63. package/node/third_party/libuv/include/uv/threadpool.h +0 -0
  64. package/node/third_party/libuv/include/uv/tree.h +0 -0
  65. package/node/third_party/libuv/include/uv/unix.h +0 -0
  66. package/node/third_party/libuv/include/uv/version.h +0 -0
  67. package/node/third_party/libuv/include/uv/win.h +0 -0
  68. package/node/third_party/libuv/include/uv.h +0 -0
  69. package/node/third_party/libuv/src/fs-poll.c +0 -0
  70. package/node/third_party/libuv/src/heap-inl.h +0 -0
  71. package/node/third_party/libuv/src/idna.c +0 -0
  72. package/node/third_party/libuv/src/idna.h +0 -0
  73. package/node/third_party/libuv/src/inet.c +0 -0
  74. package/node/third_party/libuv/src/queue.h +0 -0
  75. package/node/third_party/libuv/src/random.c +0 -0
  76. package/node/third_party/libuv/src/strscpy.c +0 -0
  77. package/node/third_party/libuv/src/strscpy.h +0 -0
  78. package/node/third_party/libuv/src/strtok.c +0 -0
  79. package/node/third_party/libuv/src/strtok.h +0 -0
  80. package/node/third_party/libuv/src/thread-common.c +0 -0
  81. package/node/third_party/libuv/src/threadpool.c +0 -0
  82. package/node/third_party/libuv/src/timer.c +0 -0
  83. package/node/third_party/libuv/src/unix/async.c +0 -0
  84. package/node/third_party/libuv/src/unix/bsd-ifaddrs.c +0 -0
  85. package/node/third_party/libuv/src/unix/core.c +0 -0
  86. package/node/third_party/libuv/src/unix/darwin-proctitle.c +0 -0
  87. package/node/third_party/libuv/src/unix/darwin-stub.h +0 -0
  88. package/node/third_party/libuv/src/unix/darwin-syscalls.h +0 -0
  89. package/node/third_party/libuv/src/unix/darwin.c +0 -0
  90. package/node/third_party/libuv/src/unix/dl.c +0 -0
  91. package/node/third_party/libuv/src/unix/fs.c +0 -0
  92. package/node/third_party/libuv/src/unix/fsevents.c +0 -0
  93. package/node/third_party/libuv/src/unix/getaddrinfo.c +0 -0
  94. package/node/third_party/libuv/src/unix/getnameinfo.c +0 -0
  95. package/node/third_party/libuv/src/unix/internal.h +0 -0
  96. package/node/third_party/libuv/src/unix/kqueue.c +0 -0
  97. package/node/third_party/libuv/src/unix/linux.c +0 -0
  98. package/node/third_party/libuv/src/unix/loop-watcher.c +0 -0
  99. package/node/third_party/libuv/src/unix/loop.c +0 -0
  100. package/node/third_party/libuv/src/unix/pipe.c +0 -0
  101. package/node/third_party/libuv/src/unix/poll.c +0 -0
  102. package/node/third_party/libuv/src/unix/process.c +0 -0
  103. package/node/third_party/libuv/src/unix/procfs-exepath.c +0 -0
  104. package/node/third_party/libuv/src/unix/proctitle.c +0 -0
  105. package/node/third_party/libuv/src/unix/random-devurandom.c +0 -0
  106. package/node/third_party/libuv/src/unix/random-getentropy.c +0 -0
  107. package/node/third_party/libuv/src/unix/random-getrandom.c +0 -0
  108. package/node/third_party/libuv/src/unix/random-sysctl-linux.c +0 -0
  109. package/node/third_party/libuv/src/unix/signal.c +0 -0
  110. package/node/third_party/libuv/src/unix/stream.c +0 -0
  111. package/node/third_party/libuv/src/unix/tcp.c +0 -0
  112. package/node/third_party/libuv/src/unix/thread.c +0 -0
  113. package/node/third_party/libuv/src/unix/tty.c +0 -0
  114. package/node/third_party/libuv/src/unix/udp.c +0 -0
  115. package/node/third_party/libuv/src/uv-common.c +0 -0
  116. package/node/third_party/libuv/src/uv-common.h +0 -0
  117. package/node/third_party/libuv/src/uv-data-getter-setters.c +0 -0
  118. package/node/third_party/libuv/src/version.c +0 -0
  119. package/node/third_party/libuv/src/win/async.c +98 -0
  120. package/node/third_party/libuv/src/win/atomicops-inl.h +61 -0
  121. package/node/third_party/libuv/src/win/core.c +683 -0
  122. package/node/third_party/libuv/src/win/detect-wakeup.c +56 -0
  123. package/node/third_party/libuv/src/win/dl.c +135 -0
  124. package/node/third_party/libuv/src/win/error.c +183 -0
  125. package/node/third_party/libuv/src/win/fs-event.c +620 -0
  126. package/node/third_party/libuv/src/win/fs-fd-hash-inl.h +200 -0
  127. package/node/third_party/libuv/src/win/fs.c +3774 -0
  128. package/node/third_party/libuv/src/win/getaddrinfo.c +388 -0
  129. package/node/third_party/libuv/src/win/getnameinfo.c +146 -0
  130. package/node/third_party/libuv/src/win/handle-inl.h +180 -0
  131. package/node/third_party/libuv/src/win/handle.c +162 -0
  132. package/node/third_party/libuv/src/win/internal.h +335 -0
  133. package/node/third_party/libuv/src/win/loop-watcher.c +122 -0
  134. package/node/third_party/libuv/src/win/pipe.c +2725 -0
  135. package/node/third_party/libuv/src/win/poll.c +586 -0
  136. package/node/third_party/libuv/src/win/process-stdio.c +419 -0
  137. package/node/third_party/libuv/src/win/process.c +1407 -0
  138. package/node/third_party/libuv/src/win/req-inl.h +214 -0
  139. package/node/third_party/libuv/src/win/signal.c +282 -0
  140. package/node/third_party/libuv/src/win/snprintf.c +42 -0
  141. package/node/third_party/libuv/src/win/stream-inl.h +54 -0
  142. package/node/third_party/libuv/src/win/stream.c +252 -0
  143. package/node/third_party/libuv/src/win/tcp.c +1674 -0
  144. package/node/third_party/libuv/src/win/thread.c +568 -0
  145. package/node/third_party/libuv/src/win/tty.c +2460 -0
  146. package/node/third_party/libuv/src/win/udp.c +1162 -0
  147. package/node/third_party/libuv/src/win/util.c +1750 -0
  148. package/node/third_party/libuv/src/win/winapi.c +144 -0
  149. package/node/third_party/libuv/src/win/winapi.h +4831 -0
  150. package/node/third_party/libuv/src/win/winsock.c +575 -0
  151. package/node/third_party/libuv/src/win/winsock.h +160 -0
  152. package/node/third_party/llhttp/LICENSE +0 -0
  153. package/node/third_party/llhttp/api.c +0 -0
  154. package/node/third_party/llhttp/http.c +0 -0
  155. package/node/third_party/llhttp/llhttp.c +0 -0
  156. package/node/third_party/llhttp/llhttp.h +0 -0
  157. package/package.json +1 -1
  158. package/runtime/include/js_atoms.gen.h +0 -0
  159. package/runtime/include/js_atoms.h +0 -0
  160. package/runtime/include/js_bigint.h +0 -0
  161. package/runtime/include/js_buffer.h +0 -0
  162. package/runtime/include/js_builtins.h +16 -0
  163. package/runtime/include/js_console.h +2 -0
  164. package/runtime/include/js_convert.h +0 -0
  165. package/runtime/include/js_core.def +23 -0
  166. package/runtime/include/js_crypto.h +23 -0
  167. package/runtime/include/js_error.h +0 -0
  168. package/runtime/include/js_exception.h +0 -0
  169. package/runtime/include/js_function.h +0 -0
  170. package/runtime/include/js_gc.h +0 -0
  171. package/runtime/include/js_generator.h +2 -3
  172. package/runtime/include/js_host.h +0 -0
  173. package/runtime/include/js_jobs.h +0 -0
  174. package/runtime/include/js_module.h +0 -0
  175. package/runtime/include/js_object.h +0 -0
  176. package/runtime/include/js_ops.h +0 -0
  177. package/runtime/include/js_promise.h +0 -2
  178. package/runtime/include/js_regexp.h +0 -0
  179. package/runtime/include/js_runtime.h +0 -0
  180. package/runtime/include/js_symbol.h +0 -0
  181. package/runtime/include/js_web.h +0 -0
  182. package/runtime/include/jscell.h +0 -0
  183. package/runtime/include/jscontext.h +0 -0
  184. package/runtime/include/jsnum.h +0 -0
  185. package/runtime/include/jsstring.h +0 -0
  186. package/runtime/include/jsvalue.h +0 -0
  187. package/runtime/src/arguments.c +0 -0
  188. package/runtime/src/array.c +0 -0
  189. package/runtime/src/arraybuffer.c +0 -0
  190. package/runtime/src/async_iter.c +4 -1
  191. package/runtime/src/atoms.c +0 -0
  192. package/runtime/src/base64.c +0 -0
  193. package/runtime/src/bigint.c +0 -0
  194. package/runtime/src/blob.c +0 -0
  195. package/runtime/src/boringssl_support.cc +37 -0
  196. package/runtime/src/buffer.c +0 -0
  197. package/runtime/src/builtin_table.c +8 -0
  198. package/runtime/src/builtins.c +0 -0
  199. package/runtime/src/builtins_util.h +0 -0
  200. package/runtime/src/collections.c +0 -0
  201. package/runtime/src/components.c +10 -0
  202. package/runtime/src/console.c +6 -18
  203. package/runtime/src/convert.c +0 -0
  204. package/runtime/src/core_all.c +1 -0
  205. package/runtime/src/crypto.c +0 -0
  206. package/runtime/src/crypto_asym.c +450 -241
  207. package/runtime/src/crypto_bn.c +91 -0
  208. package/runtime/src/crypto_cipher.c +153 -75
  209. package/runtime/src/crypto_hash.c +68 -53
  210. package/runtime/src/crypto_host.c +0 -0
  211. package/runtime/src/crypto_internal.h +55 -26
  212. package/runtime/src/crypto_kdf.c +0 -0
  213. package/runtime/src/crypto_key.c +0 -0
  214. package/runtime/src/crypto_pkey.c +198 -61
  215. package/runtime/src/crypto_subtle.c +42 -16
  216. package/runtime/src/crypto_tls.c +678 -0
  217. package/runtime/src/date.c +0 -0
  218. package/runtime/src/domexception.c +0 -0
  219. package/runtime/src/elements.c +0 -0
  220. package/runtime/src/elements.h +0 -0
  221. package/runtime/src/encoding.c +0 -0
  222. package/runtime/src/error.c +0 -0
  223. package/runtime/src/events.c +0 -0
  224. package/runtime/src/exception.c +0 -0
  225. package/runtime/src/fetch.c +0 -0
  226. package/runtime/src/function.c +0 -0
  227. package/runtime/src/gc.c +0 -0
  228. package/runtime/src/generator.c +8 -1
  229. package/runtime/src/global.c +2 -4
  230. package/runtime/src/headers.c +0 -0
  231. package/runtime/src/inspect.c +0 -0
  232. package/runtime/src/internal.h +0 -1
  233. package/runtime/src/iterate.c +0 -0
  234. package/runtime/src/iterator.c +0 -0
  235. package/runtime/src/jobs.c +2 -1
  236. package/runtime/src/jsnum.c +0 -0
  237. package/runtime/src/json.c +0 -0
  238. package/runtime/src/math.c +0 -0
  239. package/runtime/src/module.c +0 -0
  240. package/runtime/src/number.c +0 -0
  241. package/runtime/src/object.c +0 -0
  242. package/runtime/src/ops.c +0 -0
  243. package/runtime/src/os.c +0 -0
  244. package/runtime/src/os.h +0 -0
  245. package/runtime/src/process.c +7 -0
  246. package/runtime/src/promise.c +4 -1
  247. package/runtime/src/proxy.c +0 -0
  248. package/runtime/src/reflect.c +0 -0
  249. package/runtime/src/regexp.c +0 -0
  250. package/runtime/src/regexp_anchor.h +0 -0
  251. package/runtime/src/regexp_message.h +0 -0
  252. package/runtime/src/shape.c +0 -0
  253. package/runtime/src/shape.h +0 -0
  254. package/runtime/src/streams.c +0 -0
  255. package/runtime/src/streams.h +0 -0
  256. package/runtime/src/string.c +0 -0
  257. package/runtime/src/string_builtins.c +0 -0
  258. package/runtime/src/symbol.c +0 -0
  259. package/runtime/src/test_host.c +0 -0
  260. package/runtime/src/tls_roots.gen.h +3215 -0
  261. package/runtime/src/typedarray.c +0 -0
  262. package/runtime/src/tznames.gen.h +0 -0
  263. package/runtime/src/uri.c +0 -0
  264. package/runtime/src/url.c +0 -0
  265. package/runtime/src/util_types.c +52 -0
  266. package/runtime/src/weak.c +2 -1
  267. package/runtime/src/web.c +0 -0
  268. package/runtime/src/wrapper.c +0 -0
  269. package/runtime/src/writable.c +0 -0
  270. package/runtime/third_party/ada-idna/LICENSE-MIT +0 -0
  271. package/runtime/third_party/ada-idna/README.md +0 -0
  272. package/runtime/third_party/ada-idna/convert.mjs +0 -0
  273. package/runtime/third_party/ada-idna/idna.c +0 -0
  274. package/runtime/third_party/ada-idna/idna.h +0 -0
  275. package/runtime/third_party/ada-idna/idna_tables.h +0 -0
  276. package/runtime/third_party/boringssl/LICENSE +238 -0
  277. package/runtime/third_party/boringssl/README.md +46 -0
  278. package/runtime/third_party/boringssl/VERSION +1 -0
  279. package/runtime/third_party/boringssl/crypto/aes/aes.cc +44 -0
  280. package/runtime/third_party/boringssl/crypto/armv8_feature_parsing.h +67 -0
  281. package/runtime/third_party/boringssl/crypto/asn1/a_bitstr.cc +297 -0
  282. package/runtime/third_party/boringssl/crypto/asn1/a_bool.cc +50 -0
  283. package/runtime/third_party/boringssl/crypto/asn1/a_d2i_fp.cc +47 -0
  284. package/runtime/third_party/boringssl/crypto/asn1/a_dup.cc +42 -0
  285. package/runtime/third_party/boringssl/crypto/asn1/a_gentm.cc +130 -0
  286. package/runtime/third_party/boringssl/crypto/asn1/a_i2d_fp.cc +44 -0
  287. package/runtime/third_party/boringssl/crypto/asn1/a_int.cc +467 -0
  288. package/runtime/third_party/boringssl/crypto/asn1/a_mbstr.cc +242 -0
  289. package/runtime/third_party/boringssl/crypto/asn1/a_object.cc +191 -0
  290. package/runtime/third_party/boringssl/crypto/asn1/a_octet.cc +32 -0
  291. package/runtime/third_party/boringssl/crypto/asn1/a_strex.cc +411 -0
  292. package/runtime/third_party/boringssl/crypto/asn1/a_strnid.cc +208 -0
  293. package/runtime/third_party/boringssl/crypto/asn1/a_time.cc +248 -0
  294. package/runtime/third_party/boringssl/crypto/asn1/a_type.cc +467 -0
  295. package/runtime/third_party/boringssl/crypto/asn1/a_utctm.cc +128 -0
  296. package/runtime/third_party/boringssl/crypto/asn1/asn1_lib.cc +453 -0
  297. package/runtime/third_party/boringssl/crypto/asn1/asn1_par.cc +61 -0
  298. package/runtime/third_party/boringssl/crypto/asn1/asn_pack.cc +56 -0
  299. package/runtime/third_party/boringssl/crypto/asn1/f_int.cc +63 -0
  300. package/runtime/third_party/boringssl/crypto/asn1/f_string.cc +52 -0
  301. package/runtime/third_party/boringssl/crypto/asn1/internal.h +430 -0
  302. package/runtime/third_party/boringssl/crypto/asn1/posix_time.cc +244 -0
  303. package/runtime/third_party/boringssl/crypto/asn1/tasn_dec.cc +611 -0
  304. package/runtime/third_party/boringssl/crypto/asn1/tasn_enc.cc +348 -0
  305. package/runtime/third_party/boringssl/crypto/asn1/tasn_fre.cc +163 -0
  306. package/runtime/third_party/boringssl/crypto/asn1/tasn_new.cc +274 -0
  307. package/runtime/third_party/boringssl/crypto/asn1/tasn_typ.cc +92 -0
  308. package/runtime/third_party/boringssl/crypto/asn1/tasn_utl.cc +218 -0
  309. package/runtime/third_party/boringssl/crypto/base64/base64.cc +433 -0
  310. package/runtime/third_party/boringssl/crypto/bcm_support.h +62 -0
  311. package/runtime/third_party/boringssl/crypto/bio/bio.cc +715 -0
  312. package/runtime/third_party/boringssl/crypto/bio/bio_mem.cc +260 -0
  313. package/runtime/third_party/boringssl/crypto/bio/connect.cc +463 -0
  314. package/runtime/third_party/boringssl/crypto/bio/errno.cc +52 -0
  315. package/runtime/third_party/boringssl/crypto/bio/fd.cc +193 -0
  316. package/runtime/third_party/boringssl/crypto/bio/file.cc +283 -0
  317. package/runtime/third_party/boringssl/crypto/bio/hexdump.cc +154 -0
  318. package/runtime/third_party/boringssl/crypto/bio/internal.h +128 -0
  319. package/runtime/third_party/boringssl/crypto/bio/pair.cc +426 -0
  320. package/runtime/third_party/boringssl/crypto/bio/printf.cc +59 -0
  321. package/runtime/third_party/boringssl/crypto/bio/socket.cc +210 -0
  322. package/runtime/third_party/boringssl/crypto/bio/socket_helper.cc +179 -0
  323. package/runtime/third_party/boringssl/crypto/blake2/blake2.cc +173 -0
  324. package/runtime/third_party/boringssl/crypto/bn/bn_asn1.cc +57 -0
  325. package/runtime/third_party/boringssl/crypto/bn/convert.cc +409 -0
  326. package/runtime/third_party/boringssl/crypto/bn/div.cc +102 -0
  327. package/runtime/third_party/boringssl/crypto/bn/exponentiation.cc +168 -0
  328. package/runtime/third_party/boringssl/crypto/bn/sqrt.cc +93 -0
  329. package/runtime/third_party/boringssl/crypto/buf/buf.cc +119 -0
  330. package/runtime/third_party/boringssl/crypto/bytestring/asn1_compat.cc +54 -0
  331. package/runtime/third_party/boringssl/crypto/bytestring/ber.cc +268 -0
  332. package/runtime/third_party/boringssl/crypto/bytestring/cbb.cc +787 -0
  333. package/runtime/third_party/boringssl/crypto/bytestring/cbs.cc +977 -0
  334. package/runtime/third_party/boringssl/crypto/bytestring/internal.h +134 -0
  335. package/runtime/third_party/boringssl/crypto/bytestring/unicode.cc +156 -0
  336. package/runtime/third_party/boringssl/crypto/chacha/chacha.cc +226 -0
  337. package/runtime/third_party/boringssl/crypto/chacha/internal.h +103 -0
  338. package/runtime/third_party/boringssl/crypto/cipher/derive_key.cc +106 -0
  339. package/runtime/third_party/boringssl/crypto/cipher/e_aesctrhmac.cc +294 -0
  340. package/runtime/third_party/boringssl/crypto/cipher/e_aeseax.cc +351 -0
  341. package/runtime/third_party/boringssl/crypto/cipher/e_aesgcmsiv.cc +918 -0
  342. package/runtime/third_party/boringssl/crypto/cipher/e_chacha20poly1305.cc +404 -0
  343. package/runtime/third_party/boringssl/crypto/cipher/e_des.cc +214 -0
  344. package/runtime/third_party/boringssl/crypto/cipher/e_null.cc +55 -0
  345. package/runtime/third_party/boringssl/crypto/cipher/e_rc2.cc +432 -0
  346. package/runtime/third_party/boringssl/crypto/cipher/e_rc4.cc +56 -0
  347. package/runtime/third_party/boringssl/crypto/cipher/e_tls.cc +615 -0
  348. package/runtime/third_party/boringssl/crypto/cipher/get_cipher.cc +85 -0
  349. package/runtime/third_party/boringssl/crypto/cipher/internal.h +399 -0
  350. package/runtime/third_party/boringssl/crypto/cipher/tls_cbc.cc +476 -0
  351. package/runtime/third_party/boringssl/crypto/cms/cms.cc +178 -0
  352. package/runtime/third_party/boringssl/crypto/conf/conf.cc +637 -0
  353. package/runtime/third_party/boringssl/crypto/conf/internal.h +54 -0
  354. package/runtime/third_party/boringssl/crypto/cpu_aarch64_apple.cc +76 -0
  355. package/runtime/third_party/boringssl/crypto/cpu_aarch64_fuchsia.cc +58 -0
  356. package/runtime/third_party/boringssl/crypto/cpu_aarch64_linux.cc +66 -0
  357. package/runtime/third_party/boringssl/crypto/cpu_aarch64_openbsd.cc +45 -0
  358. package/runtime/third_party/boringssl/crypto/cpu_aarch64_sysreg.cc +66 -0
  359. package/runtime/third_party/boringssl/crypto/cpu_aarch64_win.cc +52 -0
  360. package/runtime/third_party/boringssl/crypto/cpu_arm_freebsd.cc +55 -0
  361. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.cc +173 -0
  362. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.h +141 -0
  363. package/runtime/third_party/boringssl/crypto/cpu_intel.cc +287 -0
  364. package/runtime/third_party/boringssl/crypto/crypto.cc +152 -0
  365. package/runtime/third_party/boringssl/crypto/curve25519/asm/x25519-asm-arm.S +2124 -0
  366. package/runtime/third_party/boringssl/crypto/curve25519/cpace.cc +227 -0
  367. package/runtime/third_party/boringssl/crypto/curve25519/curve25519.cc +2436 -0
  368. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_64_adx.cc +18 -0
  369. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_tables.h +3264 -0
  370. package/runtime/third_party/boringssl/crypto/curve25519/internal.h +202 -0
  371. package/runtime/third_party/boringssl/crypto/curve25519/spake25519.cc +532 -0
  372. package/runtime/third_party/boringssl/crypto/des/des.cc +837 -0
  373. package/runtime/third_party/boringssl/crypto/des/internal.h +144 -0
  374. package/runtime/third_party/boringssl/crypto/dh/dh_asn1.cc +109 -0
  375. package/runtime/third_party/boringssl/crypto/dh/params.cc +411 -0
  376. package/runtime/third_party/boringssl/crypto/digest/digest_extra.cc +361 -0
  377. package/runtime/third_party/boringssl/crypto/dsa/dsa.cc +922 -0
  378. package/runtime/third_party/boringssl/crypto/dsa/dsa_asn1.cc +306 -0
  379. package/runtime/third_party/boringssl/crypto/dsa/internal.h +56 -0
  380. package/runtime/third_party/boringssl/crypto/ec/ec_asn1.cc +542 -0
  381. package/runtime/third_party/boringssl/crypto/ec/ec_derive.cc +94 -0
  382. package/runtime/third_party/boringssl/crypto/ec/hash_to_curve.cc +773 -0
  383. package/runtime/third_party/boringssl/crypto/ec/internal.h +114 -0
  384. package/runtime/third_party/boringssl/crypto/ecdh/ecdh.cc +75 -0
  385. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.cc +337 -0
  386. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_p1363.cc +54 -0
  387. package/runtime/third_party/boringssl/crypto/engine/engine.cc +95 -0
  388. package/runtime/third_party/boringssl/crypto/err/err.cc +820 -0
  389. package/runtime/third_party/boringssl/crypto/err/internal.h +45 -0
  390. package/runtime/third_party/boringssl/crypto/evp/evp.cc +454 -0
  391. package/runtime/third_party/boringssl/crypto/evp/evp_asn1.cc +439 -0
  392. package/runtime/third_party/boringssl/crypto/evp/evp_ctx.cc +541 -0
  393. package/runtime/third_party/boringssl/crypto/evp/evp_kem.cc +101 -0
  394. package/runtime/third_party/boringssl/crypto/evp/internal.h +427 -0
  395. package/runtime/third_party/boringssl/crypto/evp/p_dh.cc +326 -0
  396. package/runtime/third_party/boringssl/crypto/evp/p_dsa.cc +333 -0
  397. package/runtime/third_party/boringssl/crypto/evp/p_ec.cc +736 -0
  398. package/runtime/third_party/boringssl/crypto/evp/p_ed25519.cc +359 -0
  399. package/runtime/third_party/boringssl/crypto/evp/p_hkdf.cc +204 -0
  400. package/runtime/third_party/boringssl/crypto/evp/p_mldsa.cc +549 -0
  401. package/runtime/third_party/boringssl/crypto/evp/p_mlkem.cc +510 -0
  402. package/runtime/third_party/boringssl/crypto/evp/p_rsa.cc +1185 -0
  403. package/runtime/third_party/boringssl/crypto/evp/p_x25519.cc +371 -0
  404. package/runtime/third_party/boringssl/crypto/evp/p_xwing.cc +300 -0
  405. package/runtime/third_party/boringssl/crypto/evp/pbkdf.cc +105 -0
  406. package/runtime/third_party/boringssl/crypto/evp/print.cc +287 -0
  407. package/runtime/third_party/boringssl/crypto/evp/scrypt.cc +218 -0
  408. package/runtime/third_party/boringssl/crypto/evp/sign.cc +95 -0
  409. package/runtime/third_party/boringssl/crypto/ex_data.cc +140 -0
  410. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes.cc.inc +208 -0
  411. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes_nohw.cc.inc +1279 -0
  412. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cbc.cc.inc +132 -0
  413. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cfb.cc.inc +168 -0
  414. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ctr.cc.inc +102 -0
  415. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm.cc.inc +614 -0
  416. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm_nohw.cc.inc +304 -0
  417. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/internal.h +590 -0
  418. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/key_wrap.cc.inc +211 -0
  419. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/mode_wrappers.cc.inc +97 -0
  420. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ofb.cc.inc +55 -0
  421. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm.cc +288 -0
  422. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm_interface.h +953 -0
  423. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/add.cc.inc +276 -0
  424. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +573 -0
  425. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bn.cc.inc +377 -0
  426. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bytes.cc.inc +230 -0
  427. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/cmp.cc.inc +161 -0
  428. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/ctx.cc.inc +127 -0
  429. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div.cc.inc +738 -0
  430. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div_extra.cc.inc +90 -0
  431. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/exponentiation.cc.inc +743 -0
  432. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd.cc.inc +281 -0
  433. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd_extra.cc.inc +327 -0
  434. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/generic.cc.inc +579 -0
  435. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/internal.h +810 -0
  436. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/jacobi.cc.inc +101 -0
  437. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery.cc.inc +408 -0
  438. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery_inv.cc.inc +179 -0
  439. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/mul.cc.inc +347 -0
  440. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/prime.cc.inc +931 -0
  441. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/random.cc.inc +261 -0
  442. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.cc.inc +144 -0
  443. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.h +109 -0
  444. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/shift.cc.inc +317 -0
  445. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/sqrt.cc.inc +370 -0
  446. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/aead.cc.inc +619 -0
  447. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/cipher.cc.inc +837 -0
  448. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aes.cc.inc +1240 -0
  449. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aesccm.cc.inc +440 -0
  450. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/internal.h +461 -0
  451. package/runtime/third_party/boringssl/crypto/fipsmodule/cmac/cmac.cc.inc +293 -0
  452. package/runtime/third_party/boringssl/crypto/fipsmodule/delocate.h +95 -0
  453. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/check.cc.inc +198 -0
  454. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/dh.cc.inc +401 -0
  455. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/internal.h +63 -0
  456. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digest.cc.inc +221 -0
  457. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digests.cc.inc +184 -0
  458. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/internal.h +72 -0
  459. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/md32_common.h +166 -0
  460. package/runtime/third_party/boringssl/crypto/fipsmodule/digestsign/digestsign.cc.inc +230 -0
  461. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/builtin_curves.h +277 -0
  462. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec.cc.inc +1024 -0
  463. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_key.cc.inc +536 -0
  464. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_montgomery.cc.inc +379 -0
  465. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/felem.cc.inc +250 -0
  466. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/internal.h +752 -0
  467. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/oct.cc.inc +174 -0
  468. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz-table.h +9502 -0
  469. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.cc.inc +740 -0
  470. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.h +207 -0
  471. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256.cc.inc +578 -0
  472. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256_table.h +297 -0
  473. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/scalar.cc.inc +184 -0
  474. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple.cc.inc +246 -0
  475. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple_mul.cc.inc +274 -0
  476. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/util.cc.inc +258 -0
  477. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/wnaf.cc.inc +224 -0
  478. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdh/ecdh.cc.inc +91 -0
  479. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +288 -0
  480. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/internal.h +57 -0
  481. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/internal.h +38 -0
  482. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/jitter.cc.inc +487 -0
  483. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/sha512.cc.inc +329 -0
  484. package/runtime/third_party/boringssl/crypto/fipsmodule/fips_shared_support.cc +28 -0
  485. package/runtime/third_party/boringssl/crypto/fipsmodule/hkdf/hkdf.cc.inc +114 -0
  486. package/runtime/third_party/boringssl/crypto/fipsmodule/hmac/hmac.cc.inc +218 -0
  487. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/internal.h +165 -0
  488. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/keccak.cc.inc +647 -0
  489. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/fips_known_values.inc +1345 -0
  490. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/mldsa.cc.inc +3323 -0
  491. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/fips_known_values.inc +411 -0
  492. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/mlkem.cc.inc +1856 -0
  493. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/android_entropy_client.cc.inc +82 -0
  494. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/ctrdrbg.cc.inc +401 -0
  495. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/internal.h +99 -0
  496. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/rand.cc.inc +486 -0
  497. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/internal.h +167 -0
  498. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/padding.cc.inc +371 -0
  499. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa.cc.inc +996 -0
  500. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa_impl.cc.inc +1000 -0
  501. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/fips.cc.inc +129 -0
  502. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/self_check.cc.inc +1093 -0
  503. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/internal.h +112 -0
  504. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +330 -0
  505. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/internal.h +205 -0
  506. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha1.cc.inc +404 -0
  507. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha256.cc.inc +315 -0
  508. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha512.cc.inc +473 -0
  509. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/address.h +144 -0
  510. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fips_known_values.inc +674 -0
  511. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.cc.inc +179 -0
  512. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.h +48 -0
  513. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.cc.inc +164 -0
  514. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.h +58 -0
  515. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/params.h +178 -0
  516. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +690 -0
  517. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.cc.inc +326 -0
  518. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.h +71 -0
  519. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.cc.inc +172 -0
  520. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.h +40 -0
  521. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/internal.h +33 -0
  522. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/kdf.cc.inc +180 -0
  523. package/runtime/third_party/boringssl/crypto/fuzzer_mode.cc +30 -0
  524. package/runtime/third_party/boringssl/crypto/hpke/hpke.cc +1514 -0
  525. package/runtime/third_party/boringssl/crypto/hrss/asm/poly_rq_mul.S +8489 -0
  526. package/runtime/third_party/boringssl/crypto/hrss/hrss.cc +2189 -0
  527. package/runtime/third_party/boringssl/crypto/hrss/internal.h +64 -0
  528. package/runtime/third_party/boringssl/crypto/internal.h +1767 -0
  529. package/runtime/third_party/boringssl/crypto/lhash/internal.h +222 -0
  530. package/runtime/third_party/boringssl/crypto/lhash/lhash.cc +312 -0
  531. package/runtime/third_party/boringssl/crypto/md4/md4.cc +207 -0
  532. package/runtime/third_party/boringssl/crypto/md5/internal.h +34 -0
  533. package/runtime/third_party/boringssl/crypto/md5/md5.cc +255 -0
  534. package/runtime/third_party/boringssl/crypto/mem.cc +577 -0
  535. package/runtime/third_party/boringssl/crypto/mem_internal.h +706 -0
  536. package/runtime/third_party/boringssl/crypto/mldsa/mldsa.cc +296 -0
  537. package/runtime/third_party/boringssl/crypto/mlkem/mlkem.cc +108 -0
  538. package/runtime/third_party/boringssl/crypto/obj/obj.cc +494 -0
  539. package/runtime/third_party/boringssl/crypto/obj/obj_dat.h +11722 -0
  540. package/runtime/third_party/boringssl/crypto/obj/obj_xref.cc +83 -0
  541. package/runtime/third_party/boringssl/crypto/params_internal.h +30 -0
  542. package/runtime/third_party/boringssl/crypto/pem/internal.h +135 -0
  543. package/runtime/third_party/boringssl/crypto/pem/pem_all.cc +153 -0
  544. package/runtime/third_party/boringssl/crypto/pem/pem_info.cc +250 -0
  545. package/runtime/third_party/boringssl/crypto/pem/pem_lib.cc +707 -0
  546. package/runtime/third_party/boringssl/crypto/pem/pem_oth.cc +45 -0
  547. package/runtime/third_party/boringssl/crypto/pem/pem_pk8.cc +211 -0
  548. package/runtime/third_party/boringssl/crypto/pem/pem_pkey.cc +147 -0
  549. package/runtime/third_party/boringssl/crypto/pem/pem_x509.cc +25 -0
  550. package/runtime/third_party/boringssl/crypto/pem/pem_xaux.cc +25 -0
  551. package/runtime/third_party/boringssl/crypto/pkcs7/internal.h +67 -0
  552. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7.cc +198 -0
  553. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7_x509.cc +527 -0
  554. package/runtime/third_party/boringssl/crypto/pkcs8/internal.h +98 -0
  555. package/runtime/third_party/boringssl/crypto/pkcs8/p5_pbev2.cc +286 -0
  556. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8.cc +473 -0
  557. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8_x509.cc +1328 -0
  558. package/runtime/third_party/boringssl/crypto/poly1305/internal.h +54 -0
  559. package/runtime/third_party/boringssl/crypto/poly1305/poly1305.cc +315 -0
  560. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm.cc +294 -0
  561. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm_asm.S +2017 -0
  562. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_vec.cc +853 -0
  563. package/runtime/third_party/boringssl/crypto/pool/internal.h +95 -0
  564. package/runtime/third_party/boringssl/crypto/pool/pool.cc +282 -0
  565. package/runtime/third_party/boringssl/crypto/rand/deterministic.cc +58 -0
  566. package/runtime/third_party/boringssl/crypto/rand/fork_detect.cc +222 -0
  567. package/runtime/third_party/boringssl/crypto/rand/forkunsafe.cc +44 -0
  568. package/runtime/third_party/boringssl/crypto/rand/getentropy.cc +53 -0
  569. package/runtime/third_party/boringssl/crypto/rand/internal.h +67 -0
  570. package/runtime/third_party/boringssl/crypto/rand/ios.cc +35 -0
  571. package/runtime/third_party/boringssl/crypto/rand/rand.cc +79 -0
  572. package/runtime/third_party/boringssl/crypto/rand/trusty.cc +39 -0
  573. package/runtime/third_party/boringssl/crypto/rand/urandom.cc +149 -0
  574. package/runtime/third_party/boringssl/crypto/rand/windows.cc +91 -0
  575. package/runtime/third_party/boringssl/crypto/rc4/rc4.cc +56 -0
  576. package/runtime/third_party/boringssl/crypto/refcount.cc +49 -0
  577. package/runtime/third_party/boringssl/crypto/rsa/internal.h +51 -0
  578. package/runtime/third_party/boringssl/crypto/rsa/rsa_asn1.cc +404 -0
  579. package/runtime/third_party/boringssl/crypto/rsa/rsa_crypt.cc +530 -0
  580. package/runtime/third_party/boringssl/crypto/rsa/rsa_extra.cc +30 -0
  581. package/runtime/third_party/boringssl/crypto/rsa/rsa_print.cc +25 -0
  582. package/runtime/third_party/boringssl/crypto/sha/sha1.cc +55 -0
  583. package/runtime/third_party/boringssl/crypto/sha/sha256.cc +89 -0
  584. package/runtime/third_party/boringssl/crypto/sha/sha512.cc +106 -0
  585. package/runtime/third_party/boringssl/crypto/siphash/siphash.cc +81 -0
  586. package/runtime/third_party/boringssl/crypto/slhdsa/slhdsa.cc +167 -0
  587. package/runtime/third_party/boringssl/crypto/spake2plus/internal.h +204 -0
  588. package/runtime/third_party/boringssl/crypto/spake2plus/spake2plus.cc +501 -0
  589. package/runtime/third_party/boringssl/crypto/stack/stack.cc +462 -0
  590. package/runtime/third_party/boringssl/crypto/thread.cc +68 -0
  591. package/runtime/third_party/boringssl/crypto/thread_none.cc +48 -0
  592. package/runtime/third_party/boringssl/crypto/thread_pthread.cc +138 -0
  593. package/runtime/third_party/boringssl/crypto/thread_win.cc +227 -0
  594. package/runtime/third_party/boringssl/crypto/trust_token/internal.h +405 -0
  595. package/runtime/third_party/boringssl/crypto/trust_token/pmbtoken.cc +1672 -0
  596. package/runtime/third_party/boringssl/crypto/trust_token/trust_token.cc +701 -0
  597. package/runtime/third_party/boringssl/crypto/trust_token/voprf.cc +1266 -0
  598. package/runtime/third_party/boringssl/crypto/x509/a_digest.cc +52 -0
  599. package/runtime/third_party/boringssl/crypto/x509/a_sign.cc +100 -0
  600. package/runtime/third_party/boringssl/crypto/x509/a_verify.cc +77 -0
  601. package/runtime/third_party/boringssl/crypto/x509/algorithm.cc +167 -0
  602. package/runtime/third_party/boringssl/crypto/x509/asn1_gen.cc +540 -0
  603. package/runtime/third_party/boringssl/crypto/x509/by_dir.cc +301 -0
  604. package/runtime/third_party/boringssl/crypto/x509/by_file.cc +226 -0
  605. package/runtime/third_party/boringssl/crypto/x509/i2d_pr.cc +37 -0
  606. package/runtime/third_party/boringssl/crypto/x509/internal.h +697 -0
  607. package/runtime/third_party/boringssl/crypto/x509/name_print.cc +187 -0
  608. package/runtime/third_party/boringssl/crypto/x509/policy.cc +686 -0
  609. package/runtime/third_party/boringssl/crypto/x509/rsa_pss.cc +187 -0
  610. package/runtime/third_party/boringssl/crypto/x509/t_crl.cc +106 -0
  611. package/runtime/third_party/boringssl/crypto/x509/t_req.cc +206 -0
  612. package/runtime/third_party/boringssl/crypto/x509/t_x509.cc +292 -0
  613. package/runtime/third_party/boringssl/crypto/x509/t_x509a.cc +81 -0
  614. package/runtime/third_party/boringssl/crypto/x509/v3_akey.cc +174 -0
  615. package/runtime/third_party/boringssl/crypto/x509/v3_akeya.cc +31 -0
  616. package/runtime/third_party/boringssl/crypto/x509/v3_alt.cc +636 -0
  617. package/runtime/third_party/boringssl/crypto/x509/v3_bcons.cc +96 -0
  618. package/runtime/third_party/boringssl/crypto/x509/v3_bitst.cc +100 -0
  619. package/runtime/third_party/boringssl/crypto/x509/v3_conf.cc +369 -0
  620. package/runtime/third_party/boringssl/crypto/x509/v3_cpols.cc +417 -0
  621. package/runtime/third_party/boringssl/crypto/x509/v3_crld.cc +471 -0
  622. package/runtime/third_party/boringssl/crypto/x509/v3_enum.cc +74 -0
  623. package/runtime/third_party/boringssl/crypto/x509/v3_extku.cc +97 -0
  624. package/runtime/third_party/boringssl/crypto/x509/v3_genn.cc +238 -0
  625. package/runtime/third_party/boringssl/crypto/x509/v3_ia5.cc +83 -0
  626. package/runtime/third_party/boringssl/crypto/x509/v3_info.cc +162 -0
  627. package/runtime/third_party/boringssl/crypto/x509/v3_int.cc +83 -0
  628. package/runtime/third_party/boringssl/crypto/x509/v3_lib.cc +349 -0
  629. package/runtime/third_party/boringssl/crypto/x509/v3_ncons.cc +798 -0
  630. package/runtime/third_party/boringssl/crypto/x509/v3_ocsp.cc +92 -0
  631. package/runtime/third_party/boringssl/crypto/x509/v3_pcons.cc +102 -0
  632. package/runtime/third_party/boringssl/crypto/x509/v3_pmaps.cc +110 -0
  633. package/runtime/third_party/boringssl/crypto/x509/v3_prn.cc +183 -0
  634. package/runtime/third_party/boringssl/crypto/x509/v3_purp.cc +580 -0
  635. package/runtime/third_party/boringssl/crypto/x509/v3_skey.cc +128 -0
  636. package/runtime/third_party/boringssl/crypto/x509/v3_utl.cc +1311 -0
  637. package/runtime/third_party/boringssl/crypto/x509/x509.cc +47 -0
  638. package/runtime/third_party/boringssl/crypto/x509/x509_att.cc +188 -0
  639. package/runtime/third_party/boringssl/crypto/x509/x509_cmp.cc +243 -0
  640. package/runtime/third_party/boringssl/crypto/x509/x509_d2.cc +66 -0
  641. package/runtime/third_party/boringssl/crypto/x509/x509_def.cc +42 -0
  642. package/runtime/third_party/boringssl/crypto/x509/x509_ext.cc +161 -0
  643. package/runtime/third_party/boringssl/crypto/x509/x509_lu.cc +570 -0
  644. package/runtime/third_party/boringssl/crypto/x509/x509_mtc.cc +598 -0
  645. package/runtime/third_party/boringssl/crypto/x509/x509_obj.cc +169 -0
  646. package/runtime/third_party/boringssl/crypto/x509/x509_req.cc +248 -0
  647. package/runtime/third_party/boringssl/crypto/x509/x509_set.cc +166 -0
  648. package/runtime/third_party/boringssl/crypto/x509/x509_trs.cc +123 -0
  649. package/runtime/third_party/boringssl/crypto/x509/x509_txt.cc +147 -0
  650. package/runtime/third_party/boringssl/crypto/x509/x509_v3.cc +249 -0
  651. package/runtime/third_party/boringssl/crypto/x509/x509_vfy.cc +1531 -0
  652. package/runtime/third_party/boringssl/crypto/x509/x509_vpm.cc +449 -0
  653. package/runtime/third_party/boringssl/crypto/x509/x509cset.cc +222 -0
  654. package/runtime/third_party/boringssl/crypto/x509/x509name.cc +377 -0
  655. package/runtime/third_party/boringssl/crypto/x509/x509rset.cc +55 -0
  656. package/runtime/third_party/boringssl/crypto/x509/x509spki.cc +91 -0
  657. package/runtime/third_party/boringssl/crypto/x509/x_algor.cc +223 -0
  658. package/runtime/third_party/boringssl/crypto/x509/x_all.cc +352 -0
  659. package/runtime/third_party/boringssl/crypto/x509/x_attrib.cc +61 -0
  660. package/runtime/third_party/boringssl/crypto/x509/x_crl.cc +325 -0
  661. package/runtime/third_party/boringssl/crypto/x509/x_exten.cc +42 -0
  662. package/runtime/third_party/boringssl/crypto/x509/x_name.cc +407 -0
  663. package/runtime/third_party/boringssl/crypto/x509/x_pubkey.cc +199 -0
  664. package/runtime/third_party/boringssl/crypto/x509/x_req.cc +80 -0
  665. package/runtime/third_party/boringssl/crypto/x509/x_sig.cc +51 -0
  666. package/runtime/third_party/boringssl/crypto/x509/x_spki.cc +44 -0
  667. package/runtime/third_party/boringssl/crypto/x509/x_x509.cc +495 -0
  668. package/runtime/third_party/boringssl/crypto/x509/x_x509a.cc +169 -0
  669. package/runtime/third_party/boringssl/crypto/xwing/xwing.cc +257 -0
  670. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-apple.S +1326 -0
  671. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-linux.S +1327 -0
  672. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-apple.S +1252 -0
  673. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-linux.S +1253 -0
  674. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-apple.S +873 -0
  675. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-linux.S +885 -0
  676. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-apple.S +2490 -0
  677. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-linux.S +2530 -0
  678. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-apple.S +2413 -0
  679. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-linux.S +2397 -0
  680. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv7-linux.S +784 -0
  681. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-apple.S +792 -0
  682. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-linux.S +786 -0
  683. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-win.S +798 -0
  684. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-apple.S +2912 -0
  685. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-linux.S +2907 -0
  686. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-win.S +2915 -0
  687. package/runtime/third_party/boringssl/gen/bcm/armv4-mont-linux.S +932 -0
  688. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-apple.S +1440 -0
  689. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-linux.S +1440 -0
  690. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-win.S +1446 -0
  691. package/runtime/third_party/boringssl/gen/bcm/bn-586-apple.S +530 -0
  692. package/runtime/third_party/boringssl/gen/bcm/bn-586-linux.S +540 -0
  693. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-apple.S +88 -0
  694. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-linux.S +87 -0
  695. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-win.S +87 -0
  696. package/runtime/third_party/boringssl/gen/bcm/bsaes-armv7-linux.S +1520 -0
  697. package/runtime/third_party/boringssl/gen/bcm/co-586-apple.S +1256 -0
  698. package/runtime/third_party/boringssl/gen/bcm/co-586-linux.S +1264 -0
  699. package/runtime/third_party/boringssl/gen/bcm/ghash-armv4-linux.S +242 -0
  700. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-apple.S +337 -0
  701. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-linux.S +335 -0
  702. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-win.S +341 -0
  703. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-apple.S +288 -0
  704. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-linux.S +292 -0
  705. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-apple.S +426 -0
  706. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-linux.S +425 -0
  707. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-apple.S +322 -0
  708. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-linux.S +328 -0
  709. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-apple.S +1134 -0
  710. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-linux.S +1129 -0
  711. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv7-linux.S +244 -0
  712. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-apple.S +567 -0
  713. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-linux.S +563 -0
  714. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-win.S +571 -0
  715. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-apple.S +1744 -0
  716. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-linux.S +1725 -0
  717. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-win.S +1765 -0
  718. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-apple.S +4544 -0
  719. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-linux.S +4600 -0
  720. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-apple.S +310 -0
  721. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-linux.S +310 -0
  722. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-win.S +310 -0
  723. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-apple.S +321 -0
  724. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-linux.S +335 -0
  725. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-apple.S +58 -0
  726. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-linux.S +57 -0
  727. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-apple.S +1756 -0
  728. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-linux.S +1751 -0
  729. package/runtime/third_party/boringssl/gen/bcm/sha1-586-apple.S +3782 -0
  730. package/runtime/third_party/boringssl/gen/bcm/sha1-586-linux.S +3788 -0
  731. package/runtime/third_party/boringssl/gen/bcm/sha1-armv4-large-linux.S +1479 -0
  732. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-apple.S +1219 -0
  733. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-linux.S +1218 -0
  734. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-win.S +1222 -0
  735. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-apple.S +5454 -0
  736. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-linux.S +5450 -0
  737. package/runtime/third_party/boringssl/gen/bcm/sha256-586-apple.S +5593 -0
  738. package/runtime/third_party/boringssl/gen/bcm/sha256-586-linux.S +5599 -0
  739. package/runtime/third_party/boringssl/gen/bcm/sha256-armv4-linux.S +2840 -0
  740. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-apple.S +1195 -0
  741. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-linux.S +1194 -0
  742. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-win.S +1198 -0
  743. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-apple.S +4173 -0
  744. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-linux.S +4170 -0
  745. package/runtime/third_party/boringssl/gen/bcm/sha512-586-apple.S +2406 -0
  746. package/runtime/third_party/boringssl/gen/bcm/sha512-586-linux.S +2410 -0
  747. package/runtime/third_party/boringssl/gen/bcm/sha512-armv4-linux.S +1857 -0
  748. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-apple.S +1598 -0
  749. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-linux.S +1597 -0
  750. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-win.S +1601 -0
  751. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-apple.S +2979 -0
  752. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-linux.S +2978 -0
  753. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv7-linux.S +1225 -0
  754. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-apple.S +1238 -0
  755. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-linux.S +1220 -0
  756. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-win.S +1256 -0
  757. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-apple.S +680 -0
  758. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-linux.S +706 -0
  759. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-apple.S +1146 -0
  760. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-linux.S +1133 -0
  761. package/runtime/third_party/boringssl/gen/bcm/x86-mont-apple.S +216 -0
  762. package/runtime/third_party/boringssl/gen/bcm/x86-mont-linux.S +218 -0
  763. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-apple.S +1238 -0
  764. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-linux.S +1237 -0
  765. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-apple.S +3644 -0
  766. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-linux.S +3628 -0
  767. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_64_win_asm.inc +325 -0
  768. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_win_asm.inc +325 -0
  769. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-apple.S +3113 -0
  770. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-linux.S +3091 -0
  771. package/runtime/third_party/boringssl/gen/crypto/chacha-armv4-linux.S +1450 -0
  772. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-apple.S +1969 -0
  773. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-linux.S +1967 -0
  774. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-win.S +1973 -0
  775. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-apple.S +957 -0
  776. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-linux.S +961 -0
  777. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-apple.S +1608 -0
  778. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-linux.S +1611 -0
  779. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-apple.S +3010 -0
  780. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-linux.S +3008 -0
  781. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-win.S +3014 -0
  782. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-apple.S +8903 -0
  783. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-linux.S +8940 -0
  784. package/runtime/third_party/boringssl/gen/crypto/err_data.cc +1578 -0
  785. package/runtime/third_party/boringssl/gen/crypto/md5-586-apple.S +684 -0
  786. package/runtime/third_party/boringssl/gen/crypto/md5-586-linux.S +686 -0
  787. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-apple.S +690 -0
  788. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-linux.S +695 -0
  789. package/runtime/third_party/boringssl/include/openssl/aead.h +650 -0
  790. package/runtime/third_party/boringssl/include/openssl/aes.h +173 -0
  791. package/runtime/third_party/boringssl/include/openssl/arm_arch.h +24 -0
  792. package/runtime/third_party/boringssl/include/openssl/asm_base.h +219 -0
  793. package/runtime/third_party/boringssl/include/openssl/asn1.h +2002 -0
  794. package/runtime/third_party/boringssl/include/openssl/asn1_mac.h +18 -0
  795. package/runtime/third_party/boringssl/include/openssl/asn1t.h +584 -0
  796. package/runtime/third_party/boringssl/include/openssl/base.h +548 -0
  797. package/runtime/third_party/boringssl/include/openssl/base64.h +156 -0
  798. package/runtime/third_party/boringssl/include/openssl/bio.h +1061 -0
  799. package/runtime/third_party/boringssl/include/openssl/blake2.h +63 -0
  800. package/runtime/third_party/boringssl/include/openssl/blowfish.h +58 -0
  801. package/runtime/third_party/boringssl/include/openssl/bn.h +986 -0
  802. package/runtime/third_party/boringssl/include/openssl/buf.h +95 -0
  803. package/runtime/third_party/boringssl/include/openssl/buffer.h +18 -0
  804. package/runtime/third_party/boringssl/include/openssl/bytestring.h +798 -0
  805. package/runtime/third_party/boringssl/include/openssl/cast.h +91 -0
  806. package/runtime/third_party/boringssl/include/openssl/chacha.h +47 -0
  807. package/runtime/third_party/boringssl/include/openssl/cipher.h +819 -0
  808. package/runtime/third_party/boringssl/include/openssl/cmac.h +91 -0
  809. package/runtime/third_party/boringssl/include/openssl/cms.h +147 -0
  810. package/runtime/third_party/boringssl/include/openssl/conf.h +136 -0
  811. package/runtime/third_party/boringssl/include/openssl/configuration.h +18 -0
  812. package/runtime/third_party/boringssl/include/openssl/cpu.h +18 -0
  813. package/runtime/third_party/boringssl/include/openssl/crypto.h +235 -0
  814. package/runtime/third_party/boringssl/include/openssl/ctrdrbg.h +116 -0
  815. package/runtime/third_party/boringssl/include/openssl/curve25519.h +309 -0
  816. package/runtime/third_party/boringssl/include/openssl/des.h +134 -0
  817. package/runtime/third_party/boringssl/include/openssl/dh.h +336 -0
  818. package/runtime/third_party/boringssl/include/openssl/digest.h +399 -0
  819. package/runtime/third_party/boringssl/include/openssl/dsa.h +392 -0
  820. package/runtime/third_party/boringssl/include/openssl/dtls1.h +16 -0
  821. package/runtime/third_party/boringssl/include/openssl/e_os2.h +18 -0
  822. package/runtime/third_party/boringssl/include/openssl/ec.h +530 -0
  823. package/runtime/third_party/boringssl/include/openssl/ec_key.h +358 -0
  824. package/runtime/third_party/boringssl/include/openssl/ecdh.h +67 -0
  825. package/runtime/third_party/boringssl/include/openssl/ecdsa.h +242 -0
  826. package/runtime/third_party/boringssl/include/openssl/engine.h +109 -0
  827. package/runtime/third_party/boringssl/include/openssl/err.h +416 -0
  828. package/runtime/third_party/boringssl/include/openssl/evp.h +1645 -0
  829. package/runtime/third_party/boringssl/include/openssl/evp_errors.h +66 -0
  830. package/runtime/third_party/boringssl/include/openssl/ex_data.h +117 -0
  831. package/runtime/third_party/boringssl/include/openssl/hkdf.h +68 -0
  832. package/runtime/third_party/boringssl/include/openssl/hmac.h +151 -0
  833. package/runtime/third_party/boringssl/include/openssl/hpke.h +456 -0
  834. package/runtime/third_party/boringssl/include/openssl/hrss.h +108 -0
  835. package/runtime/third_party/boringssl/include/openssl/is_boringssl.h +16 -0
  836. package/runtime/third_party/boringssl/include/openssl/kdf.h +92 -0
  837. package/runtime/third_party/boringssl/include/openssl/lhash.h +18 -0
  838. package/runtime/third_party/boringssl/include/openssl/md4.h +73 -0
  839. package/runtime/third_party/boringssl/include/openssl/md5.h +67 -0
  840. package/runtime/third_party/boringssl/include/openssl/mem.h +215 -0
  841. package/runtime/third_party/boringssl/include/openssl/mldsa.h +486 -0
  842. package/runtime/third_party/boringssl/include/openssl/mlkem.h +222 -0
  843. package/runtime/third_party/boringssl/include/openssl/nid.h +5561 -0
  844. package/runtime/third_party/boringssl/include/openssl/obj.h +225 -0
  845. package/runtime/third_party/boringssl/include/openssl/obj_mac.h +18 -0
  846. package/runtime/third_party/boringssl/include/openssl/objects.h +18 -0
  847. package/runtime/third_party/boringssl/include/openssl/opensslconf.h +108 -0
  848. package/runtime/third_party/boringssl/include/openssl/opensslv.h +18 -0
  849. package/runtime/third_party/boringssl/include/openssl/ossl_typ.h +18 -0
  850. package/runtime/third_party/boringssl/include/openssl/params.h +42 -0
  851. package/runtime/third_party/boringssl/include/openssl/pem.h +769 -0
  852. package/runtime/third_party/boringssl/include/openssl/pkcs12.h +18 -0
  853. package/runtime/third_party/boringssl/include/openssl/pkcs7.h +239 -0
  854. package/runtime/third_party/boringssl/include/openssl/pkcs8.h +267 -0
  855. package/runtime/third_party/boringssl/include/openssl/poly1305.h +52 -0
  856. package/runtime/third_party/boringssl/include/openssl/pool.h +137 -0
  857. package/runtime/third_party/boringssl/include/openssl/posix_time.h +51 -0
  858. package/runtime/third_party/boringssl/include/openssl/prefix_symbols.h +8000 -0
  859. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_S.h +633 -0
  860. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_c.h +329 -0
  861. package/runtime/third_party/boringssl/include/openssl/rand.h +138 -0
  862. package/runtime/third_party/boringssl/include/openssl/rc4.h +54 -0
  863. package/runtime/third_party/boringssl/include/openssl/ripemd.h +71 -0
  864. package/runtime/third_party/boringssl/include/openssl/rsa.h +893 -0
  865. package/runtime/third_party/boringssl/include/openssl/safestack.h +16 -0
  866. package/runtime/third_party/boringssl/include/openssl/service_indicator.h +19 -0
  867. package/runtime/third_party/boringssl/include/openssl/sha.h +108 -0
  868. package/runtime/third_party/boringssl/include/openssl/sha2.h +201 -0
  869. package/runtime/third_party/boringssl/include/openssl/siphash.h +37 -0
  870. package/runtime/third_party/boringssl/include/openssl/slhdsa.h +250 -0
  871. package/runtime/third_party/boringssl/include/openssl/span.h +376 -0
  872. package/runtime/third_party/boringssl/include/openssl/srtp.h +18 -0
  873. package/runtime/third_party/boringssl/include/openssl/ssl.h +7211 -0
  874. package/runtime/third_party/boringssl/include/openssl/ssl3.h +171 -0
  875. package/runtime/third_party/boringssl/include/openssl/stack.h +688 -0
  876. package/runtime/third_party/boringssl/include/openssl/target.h +246 -0
  877. package/runtime/third_party/boringssl/include/openssl/thread.h +114 -0
  878. package/runtime/third_party/boringssl/include/openssl/time.h +22 -0
  879. package/runtime/third_party/boringssl/include/openssl/tls1.h +263 -0
  880. package/runtime/third_party/boringssl/include/openssl/tls_prf.h +47 -0
  881. package/runtime/third_party/boringssl/include/openssl/trust_token.h +349 -0
  882. package/runtime/third_party/boringssl/include/openssl/type_check.h +37 -0
  883. package/runtime/third_party/boringssl/include/openssl/types.h +18 -0
  884. package/runtime/third_party/boringssl/include/openssl/x509.h +5404 -0
  885. package/runtime/third_party/boringssl/include/openssl/x509_vfy.h +18 -0
  886. package/runtime/third_party/boringssl/include/openssl/x509v3.h +63 -0
  887. package/runtime/third_party/boringssl/include/openssl/x509v3_errors.h +84 -0
  888. package/runtime/third_party/boringssl/include/openssl/xwing.h +115 -0
  889. package/runtime/third_party/boringssl/sources.json +696 -0
  890. package/runtime/third_party/boringssl/ssl/bio_ssl.cc +196 -0
  891. package/runtime/third_party/boringssl/ssl/d1_both.cc +1137 -0
  892. package/runtime/third_party/boringssl/ssl/d1_lib.cc +245 -0
  893. package/runtime/third_party/boringssl/ssl/d1_pkt.cc +322 -0
  894. package/runtime/third_party/boringssl/ssl/d1_srtp.cc +128 -0
  895. package/runtime/third_party/boringssl/ssl/dtls_method.cc +216 -0
  896. package/runtime/third_party/boringssl/ssl/dtls_record.cc +586 -0
  897. package/runtime/third_party/boringssl/ssl/encrypted_client_hello.cc +1110 -0
  898. package/runtime/third_party/boringssl/ssl/extensions.cc +5368 -0
  899. package/runtime/third_party/boringssl/ssl/handoff.cc +625 -0
  900. package/runtime/third_party/boringssl/ssl/handshake.cc +694 -0
  901. package/runtime/third_party/boringssl/ssl/handshake_client.cc +1958 -0
  902. package/runtime/third_party/boringssl/ssl/handshake_server.cc +1875 -0
  903. package/runtime/third_party/boringssl/ssl/internal.h +4506 -0
  904. package/runtime/third_party/boringssl/ssl/s3_both.cc +555 -0
  905. package/runtime/third_party/boringssl/ssl/s3_lib.cc +88 -0
  906. package/runtime/third_party/boringssl/ssl/s3_pkt.cc +396 -0
  907. package/runtime/third_party/boringssl/ssl/ssl_aead_ctx.cc +416 -0
  908. package/runtime/third_party/boringssl/ssl/ssl_asn1.cc +851 -0
  909. package/runtime/third_party/boringssl/ssl/ssl_buffer.cc +304 -0
  910. package/runtime/third_party/boringssl/ssl/ssl_cert.cc +723 -0
  911. package/runtime/third_party/boringssl/ssl/ssl_cipher.cc +1762 -0
  912. package/runtime/third_party/boringssl/ssl/ssl_credential.cc +913 -0
  913. package/runtime/third_party/boringssl/ssl/ssl_file.cc +375 -0
  914. package/runtime/third_party/boringssl/ssl/ssl_key_share.cc +445 -0
  915. package/runtime/third_party/boringssl/ssl/ssl_lib.cc +4132 -0
  916. package/runtime/third_party/boringssl/ssl/ssl_privkey.cc +973 -0
  917. package/runtime/third_party/boringssl/ssl/ssl_session.cc +1273 -0
  918. package/runtime/third_party/boringssl/ssl/ssl_stat.cc +162 -0
  919. package/runtime/third_party/boringssl/ssl/ssl_transcript.cc +224 -0
  920. package/runtime/third_party/boringssl/ssl/ssl_versions.cc +436 -0
  921. package/runtime/third_party/boringssl/ssl/ssl_x509.cc +1229 -0
  922. package/runtime/third_party/boringssl/ssl/t1_enc.cc +266 -0
  923. package/runtime/third_party/boringssl/ssl/tls13_both.cc +764 -0
  924. package/runtime/third_party/boringssl/ssl/tls13_client.cc +1325 -0
  925. package/runtime/third_party/boringssl/ssl/tls13_enc.cc +746 -0
  926. package/runtime/third_party/boringssl/ssl/tls13_server.cc +1623 -0
  927. package/runtime/third_party/boringssl/ssl/tls_method.cc +266 -0
  928. package/runtime/third_party/boringssl/ssl/tls_record.cc +524 -0
  929. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_mul.S +178 -0
  930. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_square.S +146 -0
  931. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_mul.S +177 -0
  932. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_sqr.S +166 -0
  933. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_bareminimum.c.inc +47 -0
  934. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_platform.c.inc +137 -0
  935. package/runtime/third_party/boringssl/third_party/fiat/curve25519_32.h +1571 -0
  936. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64.h +978 -0
  937. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_adx.h +700 -0
  938. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_msvc.h +1281 -0
  939. package/runtime/third_party/boringssl/third_party/fiat/p256_32.h +4760 -0
  940. package/runtime/third_party/boringssl/third_party/fiat/p256_64.h +1984 -0
  941. package/runtime/third_party/boringssl/third_party/fiat/p256_64_msvc.h +1939 -0
  942. package/runtime/third_party/boringssl/third_party/fiat/p256_field.c.inc +26 -0
  943. package/runtime/third_party/boringssl/third_party/fiat/p256_field_32.br.c.inc +71 -0
  944. package/runtime/third_party/boringssl/third_party/fiat/p256_field_64.br.c.inc +84 -0
  945. package/runtime/third_party/boringssl/third_party/fiat/p256_point.br.c.inc +112 -0
  946. package/runtime/third_party/quickjs-dtoa/LICENSE +0 -0
  947. package/runtime/third_party/quickjs-dtoa/README.md +0 -0
  948. package/runtime/third_party/quickjs-dtoa/dtoa.c +0 -0
  949. package/runtime/third_party/quickjs-dtoa/dtoa.h +0 -0
  950. package/runtime/third_party/quickjs-dtoa/dtoa_compat.h +0 -0
  951. package/runtime/third_party/quickjs-regexp/LICENSE +0 -0
  952. package/runtime/third_party/quickjs-regexp/README.md +0 -0
  953. package/runtime/third_party/quickjs-regexp/cutils.c +0 -0
  954. package/runtime/third_party/quickjs-regexp/cutils.h +0 -0
  955. package/runtime/third_party/quickjs-regexp/libregexp-opcode.h +0 -0
  956. package/runtime/third_party/quickjs-regexp/libregexp.c +0 -0
  957. package/runtime/third_party/quickjs-regexp/libregexp.h +0 -0
  958. package/runtime/third_party/quickjs-regexp/libunicode-table.h +0 -0
  959. package/runtime/third_party/quickjs-regexp/libunicode.c +0 -0
  960. package/runtime/third_party/quickjs-regexp/libunicode.h +0 -0
  961. package/runtime/third_party/v8-ieee754/LICENSE +0 -0
  962. package/runtime/third_party/v8-ieee754/README.md +2 -1
  963. package/runtime/third_party/v8-ieee754/convert.py +4 -0
  964. package/runtime/third_party/v8-ieee754/ieee754.c +1 -1
  965. package/runtime/third_party/v8-ieee754/ieee754.h +0 -0
  966. package/runtime/tools/regexp_compile.c +0 -0
  967. package/runtime/third_party/bearssl/LICENSE.txt +0 -21
  968. package/runtime/third_party/bearssl/README.txt +0 -136
  969. package/runtime/third_party/bearssl/VERSION +0 -1
  970. package/runtime/third_party/bearssl/inc/bearssl.h +0 -183
  971. package/runtime/third_party/bearssl/inc/bearssl_aead.h +0 -1059
  972. package/runtime/third_party/bearssl/inc/bearssl_block.h +0 -2618
  973. package/runtime/third_party/bearssl/inc/bearssl_ec.h +0 -967
  974. package/runtime/third_party/bearssl/inc/bearssl_hash.h +0 -1346
  975. package/runtime/third_party/bearssl/inc/bearssl_hmac.h +0 -241
  976. package/runtime/third_party/bearssl/inc/bearssl_kdf.h +0 -284
  977. package/runtime/third_party/bearssl/inc/bearssl_pem.h +0 -294
  978. package/runtime/third_party/bearssl/inc/bearssl_prf.h +0 -150
  979. package/runtime/third_party/bearssl/inc/bearssl_rand.h +0 -397
  980. package/runtime/third_party/bearssl/inc/bearssl_rsa.h +0 -1655
  981. package/runtime/third_party/bearssl/inc/bearssl_ssl.h +0 -4296
  982. package/runtime/third_party/bearssl/inc/bearssl_x509.h +0 -1474
  983. package/runtime/third_party/bearssl/src/aead/ccm.c +0 -346
  984. package/runtime/third_party/bearssl/src/aead/eax.c +0 -525
  985. package/runtime/third_party/bearssl/src/aead/gcm.c +0 -318
  986. package/runtime/third_party/bearssl/src/codec/ccopy.c +0 -44
  987. package/runtime/third_party/bearssl/src/codec/dec16be.c +0 -38
  988. package/runtime/third_party/bearssl/src/codec/dec16le.c +0 -38
  989. package/runtime/third_party/bearssl/src/codec/dec32be.c +0 -38
  990. package/runtime/third_party/bearssl/src/codec/dec32le.c +0 -38
  991. package/runtime/third_party/bearssl/src/codec/dec64be.c +0 -38
  992. package/runtime/third_party/bearssl/src/codec/dec64le.c +0 -38
  993. package/runtime/third_party/bearssl/src/codec/enc16be.c +0 -38
  994. package/runtime/third_party/bearssl/src/codec/enc16le.c +0 -38
  995. package/runtime/third_party/bearssl/src/codec/enc32be.c +0 -38
  996. package/runtime/third_party/bearssl/src/codec/enc32le.c +0 -38
  997. package/runtime/third_party/bearssl/src/codec/enc64be.c +0 -38
  998. package/runtime/third_party/bearssl/src/codec/enc64le.c +0 -38
  999. package/runtime/third_party/bearssl/src/codec/pemdec.c +0 -526
  1000. package/runtime/third_party/bearssl/src/codec/pemdec.t0 +0 -314
  1001. package/runtime/third_party/bearssl/src/codec/pemenc.c +0 -173
  1002. package/runtime/third_party/bearssl/src/config.h +0 -247
  1003. package/runtime/third_party/bearssl/src/ec/ec_all_m15.c +0 -121
  1004. package/runtime/third_party/bearssl/src/ec/ec_all_m31.c +0 -171
  1005. package/runtime/third_party/bearssl/src/ec/ec_c25519_i15.c +0 -398
  1006. package/runtime/third_party/bearssl/src/ec/ec_c25519_i31.c +0 -390
  1007. package/runtime/third_party/bearssl/src/ec/ec_c25519_m15.c +0 -1478
  1008. package/runtime/third_party/bearssl/src/ec/ec_c25519_m31.c +0 -800
  1009. package/runtime/third_party/bearssl/src/ec/ec_c25519_m62.c +0 -605
  1010. package/runtime/third_party/bearssl/src/ec/ec_c25519_m64.c +0 -831
  1011. package/runtime/third_party/bearssl/src/ec/ec_curve25519.c +0 -46
  1012. package/runtime/third_party/bearssl/src/ec/ec_default.c +0 -36
  1013. package/runtime/third_party/bearssl/src/ec/ec_keygen.c +0 -86
  1014. package/runtime/third_party/bearssl/src/ec/ec_p256_m15.c +0 -2124
  1015. package/runtime/third_party/bearssl/src/ec/ec_p256_m31.c +0 -1469
  1016. package/runtime/third_party/bearssl/src/ec/ec_p256_m62.c +0 -1765
  1017. package/runtime/third_party/bearssl/src/ec/ec_p256_m64.c +0 -1781
  1018. package/runtime/third_party/bearssl/src/ec/ec_prime_i15.c +0 -824
  1019. package/runtime/third_party/bearssl/src/ec/ec_prime_i31.c +0 -826
  1020. package/runtime/third_party/bearssl/src/ec/ec_pubkey.c +0 -85
  1021. package/runtime/third_party/bearssl/src/ec/ec_secp256r1.c +0 -51
  1022. package/runtime/third_party/bearssl/src/ec/ec_secp384r1.c +0 -57
  1023. package/runtime/third_party/bearssl/src/ec/ec_secp521r1.c +0 -64
  1024. package/runtime/third_party/bearssl/src/ec/ecdsa_atr.c +0 -134
  1025. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_asn1.c +0 -36
  1026. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_raw.c +0 -36
  1027. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_asn1.c +0 -36
  1028. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_raw.c +0 -36
  1029. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_bits.c +0 -47
  1030. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_asn1.c +0 -45
  1031. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_raw.c +0 -174
  1032. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_asn1.c +0 -48
  1033. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_raw.c +0 -166
  1034. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_bits.c +0 -47
  1035. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_asn1.c +0 -45
  1036. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_raw.c +0 -173
  1037. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_asn1.c +0 -48
  1038. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_raw.c +0 -165
  1039. package/runtime/third_party/bearssl/src/ec/ecdsa_rta.c +0 -121
  1040. package/runtime/third_party/bearssl/src/hash/dig_oid.c +0 -84
  1041. package/runtime/third_party/bearssl/src/hash/dig_size.c +0 -50
  1042. package/runtime/third_party/bearssl/src/hash/ghash_ctmul.c +0 -345
  1043. package/runtime/third_party/bearssl/src/hash/ghash_ctmul32.c +0 -251
  1044. package/runtime/third_party/bearssl/src/hash/ghash_ctmul64.c +0 -154
  1045. package/runtime/third_party/bearssl/src/hash/ghash_pclmul.c +0 -389
  1046. package/runtime/third_party/bearssl/src/hash/ghash_pwr8.c +0 -411
  1047. package/runtime/third_party/bearssl/src/hash/md5.c +0 -208
  1048. package/runtime/third_party/bearssl/src/hash/md5sha1.c +0 -141
  1049. package/runtime/third_party/bearssl/src/hash/mgf1.c +0 -56
  1050. package/runtime/third_party/bearssl/src/hash/multihash.c +0 -166
  1051. package/runtime/third_party/bearssl/src/hash/sha1.c +0 -191
  1052. package/runtime/third_party/bearssl/src/hash/sha2big.c +0 -285
  1053. package/runtime/third_party/bearssl/src/hash/sha2small.c +0 -341
  1054. package/runtime/third_party/bearssl/src/inner.h +0 -2577
  1055. package/runtime/third_party/bearssl/src/int/i15_add.c +0 -46
  1056. package/runtime/third_party/bearssl/src/int/i15_bitlen.c +0 -44
  1057. package/runtime/third_party/bearssl/src/int/i15_decmod.c +0 -124
  1058. package/runtime/third_party/bearssl/src/int/i15_decode.c +0 -56
  1059. package/runtime/third_party/bearssl/src/int/i15_decred.c +0 -100
  1060. package/runtime/third_party/bearssl/src/int/i15_encode.c +0 -56
  1061. package/runtime/third_party/bearssl/src/int/i15_fmont.c +0 -59
  1062. package/runtime/third_party/bearssl/src/int/i15_iszero.c +0 -39
  1063. package/runtime/third_party/bearssl/src/int/i15_moddiv.c +0 -465
  1064. package/runtime/third_party/bearssl/src/int/i15_modpow.c +0 -50
  1065. package/runtime/third_party/bearssl/src/int/i15_modpow2.c +0 -160
  1066. package/runtime/third_party/bearssl/src/int/i15_montmul.c +0 -184
  1067. package/runtime/third_party/bearssl/src/int/i15_mulacc.c +0 -61
  1068. package/runtime/third_party/bearssl/src/int/i15_muladd.c +0 -173
  1069. package/runtime/third_party/bearssl/src/int/i15_ninv15.c +0 -38
  1070. package/runtime/third_party/bearssl/src/int/i15_reduce.c +0 -66
  1071. package/runtime/third_party/bearssl/src/int/i15_rshift.c +0 -47
  1072. package/runtime/third_party/bearssl/src/int/i15_sub.c +0 -46
  1073. package/runtime/third_party/bearssl/src/int/i15_tmont.c +0 -36
  1074. package/runtime/third_party/bearssl/src/int/i31_add.c +0 -46
  1075. package/runtime/third_party/bearssl/src/int/i31_bitlen.c +0 -44
  1076. package/runtime/third_party/bearssl/src/int/i31_decmod.c +0 -124
  1077. package/runtime/third_party/bearssl/src/int/i31_decode.c +0 -57
  1078. package/runtime/third_party/bearssl/src/int/i31_decred.c +0 -103
  1079. package/runtime/third_party/bearssl/src/int/i31_encode.c +0 -79
  1080. package/runtime/third_party/bearssl/src/int/i31_fmont.c +0 -60
  1081. package/runtime/third_party/bearssl/src/int/i31_iszero.c +0 -39
  1082. package/runtime/third_party/bearssl/src/int/i31_moddiv.c +0 -488
  1083. package/runtime/third_party/bearssl/src/int/i31_modpow.c +0 -65
  1084. package/runtime/third_party/bearssl/src/int/i31_modpow2.c +0 -160
  1085. package/runtime/third_party/bearssl/src/int/i31_montmul.c +0 -127
  1086. package/runtime/third_party/bearssl/src/int/i31_mulacc.c +0 -74
  1087. package/runtime/third_party/bearssl/src/int/i31_muladd.c +0 -157
  1088. package/runtime/third_party/bearssl/src/int/i31_ninv31.c +0 -39
  1089. package/runtime/third_party/bearssl/src/int/i31_reduce.c +0 -66
  1090. package/runtime/third_party/bearssl/src/int/i31_rshift.c +0 -47
  1091. package/runtime/third_party/bearssl/src/int/i31_sub.c +0 -46
  1092. package/runtime/third_party/bearssl/src/int/i31_tmont.c +0 -36
  1093. package/runtime/third_party/bearssl/src/int/i32_add.c +0 -51
  1094. package/runtime/third_party/bearssl/src/int/i32_bitlen.c +0 -44
  1095. package/runtime/third_party/bearssl/src/int/i32_decmod.c +0 -77
  1096. package/runtime/third_party/bearssl/src/int/i32_decode.c +0 -63
  1097. package/runtime/third_party/bearssl/src/int/i32_decred.c +0 -107
  1098. package/runtime/third_party/bearssl/src/int/i32_div32.c +0 -56
  1099. package/runtime/third_party/bearssl/src/int/i32_encode.c +0 -72
  1100. package/runtime/third_party/bearssl/src/int/i32_fmont.c +0 -60
  1101. package/runtime/third_party/bearssl/src/int/i32_iszero.c +0 -39
  1102. package/runtime/third_party/bearssl/src/int/i32_modpow.c +0 -65
  1103. package/runtime/third_party/bearssl/src/int/i32_montmul.c +0 -69
  1104. package/runtime/third_party/bearssl/src/int/i32_mulacc.c +0 -56
  1105. package/runtime/third_party/bearssl/src/int/i32_muladd.c +0 -138
  1106. package/runtime/third_party/bearssl/src/int/i32_ninv32.c +0 -39
  1107. package/runtime/third_party/bearssl/src/int/i32_reduce.c +0 -66
  1108. package/runtime/third_party/bearssl/src/int/i32_sub.c +0 -51
  1109. package/runtime/third_party/bearssl/src/int/i32_tmont.c +0 -36
  1110. package/runtime/third_party/bearssl/src/int/i62_modpow2.c +0 -493
  1111. package/runtime/third_party/bearssl/src/kdf/hkdf.c +0 -107
  1112. package/runtime/third_party/bearssl/src/kdf/shake.c +0 -590
  1113. package/runtime/third_party/bearssl/src/mac/hmac.c +0 -122
  1114. package/runtime/third_party/bearssl/src/mac/hmac_ct.c +0 -193
  1115. package/runtime/third_party/bearssl/src/rand/aesctr_drbg.c +0 -206
  1116. package/runtime/third_party/bearssl/src/rand/hmac_drbg.c +0 -157
  1117. package/runtime/third_party/bearssl/src/rand/sysrng.c +0 -252
  1118. package/runtime/third_party/bearssl/src/rsa/rsa_default_keygen.c +0 -38
  1119. package/runtime/third_party/bearssl/src/rsa/rsa_default_modulus.c +0 -36
  1120. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_decrypt.c +0 -38
  1121. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_encrypt.c +0 -38
  1122. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_sign.c +0 -38
  1123. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_vrfy.c +0 -38
  1124. package/runtime/third_party/bearssl/src/rsa/rsa_default_priv.c +0 -38
  1125. package/runtime/third_party/bearssl/src/rsa/rsa_default_privexp.c +0 -36
  1126. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_sign.c +0 -38
  1127. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_vrfy.c +0 -38
  1128. package/runtime/third_party/bearssl/src/rsa/rsa_default_pub.c +0 -38
  1129. package/runtime/third_party/bearssl/src/rsa/rsa_default_pubexp.c +0 -36
  1130. package/runtime/third_party/bearssl/src/rsa/rsa_i15_keygen.c +0 -583
  1131. package/runtime/third_party/bearssl/src/rsa/rsa_i15_modulus.c +0 -99
  1132. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_decrypt.c +0 -41
  1133. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_encrypt.c +0 -44
  1134. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_sign.c +0 -37
  1135. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_vrfy.c +0 -43
  1136. package/runtime/third_party/bearssl/src/rsa/rsa_i15_priv.c +0 -209
  1137. package/runtime/third_party/bearssl/src/rsa/rsa_i15_privexp.c +0 -320
  1138. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_sign.c +0 -40
  1139. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_vrfy.c +0 -44
  1140. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pub.c +0 -113
  1141. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pubexp.c +0 -152
  1142. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen.c +0 -37
  1143. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen_inner.c +0 -608
  1144. package/runtime/third_party/bearssl/src/rsa/rsa_i31_modulus.c +0 -99
  1145. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_decrypt.c +0 -41
  1146. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_encrypt.c +0 -44
  1147. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_sign.c +0 -37
  1148. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_vrfy.c +0 -43
  1149. package/runtime/third_party/bearssl/src/rsa/rsa_i31_priv.c +0 -203
  1150. package/runtime/third_party/bearssl/src/rsa/rsa_i31_privexp.c +0 -318
  1151. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_sign.c +0 -40
  1152. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_vrfy.c +0 -44
  1153. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pub.c +0 -106
  1154. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pubexp.c +0 -152
  1155. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_decrypt.c +0 -41
  1156. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_encrypt.c +0 -44
  1157. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_sign.c +0 -37
  1158. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_vrfy.c +0 -43
  1159. package/runtime/third_party/bearssl/src/rsa/rsa_i32_priv.c +0 -160
  1160. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_sign.c +0 -40
  1161. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_vrfy.c +0 -44
  1162. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pub.c +0 -77
  1163. package/runtime/third_party/bearssl/src/rsa/rsa_i62_keygen.c +0 -57
  1164. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_decrypt.c +0 -61
  1165. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_encrypt.c +0 -64
  1166. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_sign.c +0 -57
  1167. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_vrfy.c +0 -63
  1168. package/runtime/third_party/bearssl/src/rsa/rsa_i62_priv.c +0 -223
  1169. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_sign.c +0 -60
  1170. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_vrfy.c +0 -64
  1171. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pub.c +0 -125
  1172. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_pad.c +0 -112
  1173. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_unpad.c +0 -145
  1174. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_pad.c +0 -100
  1175. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_unpad.c +0 -121
  1176. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_pad.c +0 -106
  1177. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_unpad.c +0 -121
  1178. package/runtime/third_party/bearssl/src/rsa/rsa_ssl_decrypt.c +0 -52
  1179. package/runtime/third_party/bearssl/src/settings.c +0 -306
  1180. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcdec.c +0 -69
  1181. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcenc.c +0 -67
  1182. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctr.c +0 -84
  1183. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctrcbc.c +0 -142
  1184. package/runtime/third_party/bearssl/src/symcipher/aes_big_dec.c +0 -254
  1185. package/runtime/third_party/bearssl/src/symcipher/aes_big_enc.c +0 -157
  1186. package/runtime/third_party/bearssl/src/symcipher/aes_common.c +0 -112
  1187. package/runtime/third_party/bearssl/src/symcipher/aes_ct.c +0 -328
  1188. package/runtime/third_party/bearssl/src/symcipher/aes_ct64.c +0 -398
  1189. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcdec.c +0 -104
  1190. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcenc.c +0 -81
  1191. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctr.c +0 -114
  1192. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctrcbc.c +0 -433
  1193. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_dec.c +0 -159
  1194. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_enc.c +0 -115
  1195. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcdec.c +0 -111
  1196. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcenc.c +0 -91
  1197. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctr.c +0 -116
  1198. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctrcbc.c +0 -422
  1199. package/runtime/third_party/bearssl/src/symcipher/aes_ct_dec.c +0 -170
  1200. package/runtime/third_party/bearssl/src/symcipher/aes_ct_enc.c +0 -112
  1201. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8.c +0 -445
  1202. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcdec.c +0 -670
  1203. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcenc.c +0 -417
  1204. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctr.c +0 -717
  1205. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctrcbc.c +0 -946
  1206. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcdec.c +0 -69
  1207. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcenc.c +0 -67
  1208. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctr.c +0 -84
  1209. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctrcbc.c +0 -142
  1210. package/runtime/third_party/bearssl/src/symcipher/aes_small_dec.c +0 -176
  1211. package/runtime/third_party/bearssl/src/symcipher/aes_small_enc.c +0 -129
  1212. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni.c +0 -240
  1213. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcdec.c +0 -223
  1214. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcenc.c +0 -122
  1215. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctr.c +0 -211
  1216. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctrcbc.c +0 -596
  1217. package/runtime/third_party/bearssl/src/symcipher/chacha20_ct.c +0 -106
  1218. package/runtime/third_party/bearssl/src/symcipher/chacha20_sse2.c +0 -237
  1219. package/runtime/third_party/bearssl/src/symcipher/des_ct.c +0 -411
  1220. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcdec.c +0 -87
  1221. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcenc.c +0 -69
  1222. package/runtime/third_party/bearssl/src/symcipher/des_support.c +0 -166
  1223. package/runtime/third_party/bearssl/src/symcipher/des_tab.c +0 -310
  1224. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcdec.c +0 -85
  1225. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcenc.c +0 -67
  1226. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul.c +0 -260
  1227. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul32.c +0 -297
  1228. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmulq.c +0 -475
  1229. package/runtime/third_party/bearssl/src/symcipher/poly1305_i15.c +0 -221
  1230. package/runtime/third_party/bearssl/src/x509/asn1.t0 +0 -757
  1231. package/runtime/third_party/bearssl/src/x509/asn1enc.c +0 -93
  1232. package/runtime/third_party/bearssl/src/x509/encode_ec_pk8der.c +0 -110
  1233. package/runtime/third_party/bearssl/src/x509/encode_ec_rawder.c +0 -161
  1234. package/runtime/third_party/bearssl/src/x509/encode_rsa_pk8der.c +0 -97
  1235. package/runtime/third_party/bearssl/src/x509/encode_rsa_rawder.c +0 -96
  1236. package/runtime/third_party/bearssl/src/x509/skey_decoder.c +0 -653
  1237. package/runtime/third_party/bearssl/src/x509/skey_decoder.t0 +0 -376
  1238. package/runtime/third_party/bearssl/src/x509/x509_decoder.c +0 -776
  1239. package/runtime/third_party/bearssl/src/x509/x509_decoder.t0 +0 -324
  1240. package/runtime/third_party/bearssl/src/x509/x509_knownkey.c +0 -105
  1241. package/runtime/third_party/bearssl/src/x509/x509_minimal.c +0 -1722
  1242. package/runtime/third_party/bearssl/src/x509/x509_minimal.t0 +0 -1526
  1243. package/runtime/third_party/bearssl/src/x509/x509_minimal_full.c +0 -59
@@ -0,0 +1,1327 @@
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(__ELF__)
7
+ .section .rodata
8
+
9
+ .align 16
10
+ aes_gcm_avx2_constants:
11
+
12
+ // A shuffle mask that reflects the bytes of 16-byte blocks
13
+ .Lbswap_mask:
14
+ .quad 0x08090a0b0c0d0e0f, 0x0001020304050607
15
+
16
+ // This is the GHASH reducing polynomial without its constant term, i.e.
17
+ // x^128 + x^7 + x^2 + x, represented using the backwards mapping
18
+ // between bits and polynomial coefficients.
19
+ //
20
+ // Alternatively, it can be interpreted as the naturally-ordered
21
+ // representation of the polynomial x^127 + x^126 + x^121 + 1, i.e. the
22
+ // "reversed" GHASH reducing polynomial without its x^128 term.
23
+ .Lgfpoly:
24
+ .quad 1, 0xc200000000000000
25
+
26
+ // Same as above, but with the (1 << 64) bit set.
27
+ .Lgfpoly_and_internal_carrybit:
28
+ .quad 1, 0xc200000000000001
29
+
30
+ .align 32
31
+ // The below constants are used for incrementing the counter blocks.
32
+ .Lctr_pattern:
33
+ .quad 0, 0
34
+ .quad 1, 0
35
+ .Linc_2blocks:
36
+ .quad 2, 0
37
+ .quad 2, 0
38
+
39
+ .text
40
+ .globl gcm_init_vpclmulqdq_avx2
41
+ .hidden gcm_init_vpclmulqdq_avx2
42
+ .type gcm_init_vpclmulqdq_avx2,@function
43
+ .align 32
44
+ gcm_init_vpclmulqdq_avx2:
45
+ .cfi_startproc
46
+
47
+ _CET_ENDBR
48
+
49
+
50
+
51
+ // Load the byte-reflected hash subkey. BoringSSL provides it in
52
+ // byte-reflected form except the two halves are in the wrong order.
53
+ vpshufd $0x4e,(%rsi),%xmm3
54
+
55
+ // Finish preprocessing the byte-reflected hash subkey by multiplying it by
56
+ // x^-1 ("standard" interpretation of polynomial coefficients) or
57
+ // equivalently x^1 (natural interpretation). This gets the key into a
58
+ // format that avoids having to bit-reflect the data blocks later.
59
+ vpshufd $0xd3,%xmm3,%xmm0
60
+ vpsrad $31,%xmm0,%xmm0
61
+ vpaddq %xmm3,%xmm3,%xmm3
62
+ vpand .Lgfpoly_and_internal_carrybit(%rip),%xmm0,%xmm0
63
+ vpxor %xmm0,%xmm3,%xmm3
64
+
65
+ vbroadcasti128 .Lgfpoly(%rip),%ymm6
66
+
67
+ // Square H^1 to get H^2.
68
+ vpclmulqdq $0x00,%xmm3,%xmm3,%xmm0 // LO = a_L * a_L
69
+ vpclmulqdq $0x11,%xmm3,%xmm3,%xmm5 // HI = a_H * a_H
70
+ vpclmulqdq $0x01,%xmm0,%xmm6,%xmm1 // LO_L*(x^63 + x^62 + x^57)
71
+ vpshufd $0x4e,%xmm0,%xmm0 // Swap halves of LO
72
+ vpxor %xmm0,%xmm1,%xmm1 // Fold LO into MI
73
+ vpclmulqdq $0x01,%xmm1,%xmm6,%xmm0 // MI_L*(x^63 + x^62 + x^57)
74
+ vpshufd $0x4e,%xmm1,%xmm1 // Swap halves of MI
75
+ vpxor %xmm1,%xmm5,%xmm5 // Fold MI into HI (part 1)
76
+ vpxor %xmm0,%xmm5,%xmm5 // Fold MI into HI (part 2)
77
+
78
+
79
+ // Create H_CUR = [H^2, H^1] and H_INC = [H^2, H^2].
80
+ vinserti128 $1,%xmm3,%ymm5,%ymm3
81
+ vinserti128 $1,%xmm5,%ymm5,%ymm5
82
+
83
+ // Compute H_CUR2 = [H^4, H^3].
84
+ vpclmulqdq $0x00,%ymm5,%ymm3,%ymm0 // LO = a_L * b_L
85
+ vpclmulqdq $0x01,%ymm5,%ymm3,%ymm1 // MI_0 = a_L * b_H
86
+ vpclmulqdq $0x10,%ymm5,%ymm3,%ymm2 // MI_1 = a_H * b_L
87
+ vpxor %ymm2,%ymm1,%ymm1 // MI = MI_0 + MI_1
88
+ vpclmulqdq $0x01,%ymm0,%ymm6,%ymm2 // LO_L*(x^63 + x^62 + x^57)
89
+ vpshufd $0x4e,%ymm0,%ymm0 // Swap halves of LO
90
+ vpxor %ymm0,%ymm1,%ymm1 // Fold LO into MI (part 1)
91
+ vpxor %ymm2,%ymm1,%ymm1 // Fold LO into MI (part 2)
92
+ vpclmulqdq $0x11,%ymm5,%ymm3,%ymm4 // HI = a_H * b_H
93
+ vpclmulqdq $0x01,%ymm1,%ymm6,%ymm0 // MI_L*(x^63 + x^62 + x^57)
94
+ vpshufd $0x4e,%ymm1,%ymm1 // Swap halves of MI
95
+ vpxor %ymm1,%ymm4,%ymm4 // Fold MI into HI (part 1)
96
+ vpxor %ymm0,%ymm4,%ymm4 // Fold MI into HI (part 2)
97
+
98
+
99
+ // Store [H^2, H^1] and [H^4, H^3].
100
+ vmovdqu %ymm3,96(%rdi)
101
+ vmovdqu %ymm4,64(%rdi)
102
+
103
+ // For Karatsuba multiplication: compute and store the two 64-bit halves of
104
+ // each key power XOR'd together. Order is 4,2,3,1.
105
+ vpunpcklqdq %ymm3,%ymm4,%ymm0
106
+ vpunpckhqdq %ymm3,%ymm4,%ymm1
107
+ vpxor %ymm1,%ymm0,%ymm0
108
+ vmovdqu %ymm0,128+32(%rdi)
109
+
110
+ // Compute and store H_CUR = [H^6, H^5] and H_CUR2 = [H^8, H^7].
111
+ vpclmulqdq $0x00,%ymm5,%ymm4,%ymm0 // LO = a_L * b_L
112
+ vpclmulqdq $0x01,%ymm5,%ymm4,%ymm1 // MI_0 = a_L * b_H
113
+ vpclmulqdq $0x10,%ymm5,%ymm4,%ymm2 // MI_1 = a_H * b_L
114
+ vpxor %ymm2,%ymm1,%ymm1 // MI = MI_0 + MI_1
115
+ vpclmulqdq $0x01,%ymm0,%ymm6,%ymm2 // LO_L*(x^63 + x^62 + x^57)
116
+ vpshufd $0x4e,%ymm0,%ymm0 // Swap halves of LO
117
+ vpxor %ymm0,%ymm1,%ymm1 // Fold LO into MI (part 1)
118
+ vpxor %ymm2,%ymm1,%ymm1 // Fold LO into MI (part 2)
119
+ vpclmulqdq $0x11,%ymm5,%ymm4,%ymm3 // HI = a_H * b_H
120
+ vpclmulqdq $0x01,%ymm1,%ymm6,%ymm0 // MI_L*(x^63 + x^62 + x^57)
121
+ vpshufd $0x4e,%ymm1,%ymm1 // Swap halves of MI
122
+ vpxor %ymm1,%ymm3,%ymm3 // Fold MI into HI (part 1)
123
+ vpxor %ymm0,%ymm3,%ymm3 // Fold MI into HI (part 2)
124
+
125
+ vpclmulqdq $0x00,%ymm5,%ymm3,%ymm0 // LO = a_L * b_L
126
+ vpclmulqdq $0x01,%ymm5,%ymm3,%ymm1 // MI_0 = a_L * b_H
127
+ vpclmulqdq $0x10,%ymm5,%ymm3,%ymm2 // MI_1 = a_H * b_L
128
+ vpxor %ymm2,%ymm1,%ymm1 // MI = MI_0 + MI_1
129
+ vpclmulqdq $0x01,%ymm0,%ymm6,%ymm2 // LO_L*(x^63 + x^62 + x^57)
130
+ vpshufd $0x4e,%ymm0,%ymm0 // Swap halves of LO
131
+ vpxor %ymm0,%ymm1,%ymm1 // Fold LO into MI (part 1)
132
+ vpxor %ymm2,%ymm1,%ymm1 // Fold LO into MI (part 2)
133
+ vpclmulqdq $0x11,%ymm5,%ymm3,%ymm4 // HI = a_H * b_H
134
+ vpclmulqdq $0x01,%ymm1,%ymm6,%ymm0 // MI_L*(x^63 + x^62 + x^57)
135
+ vpshufd $0x4e,%ymm1,%ymm1 // Swap halves of MI
136
+ vpxor %ymm1,%ymm4,%ymm4 // Fold MI into HI (part 1)
137
+ vpxor %ymm0,%ymm4,%ymm4 // Fold MI into HI (part 2)
138
+
139
+ vmovdqu %ymm3,32(%rdi)
140
+ vmovdqu %ymm4,0(%rdi)
141
+
142
+ // Again, compute and store the two 64-bit halves of each key power XOR'd
143
+ // together. Order is 8,6,7,5.
144
+ vpunpcklqdq %ymm3,%ymm4,%ymm0
145
+ vpunpckhqdq %ymm3,%ymm4,%ymm1
146
+ vpxor %ymm1,%ymm0,%ymm0
147
+ vmovdqu %ymm0,128(%rdi)
148
+
149
+ vzeroupper
150
+ ret
151
+
152
+ .cfi_endproc
153
+ .size gcm_init_vpclmulqdq_avx2, . - gcm_init_vpclmulqdq_avx2
154
+ .globl gcm_gmult_vpclmulqdq_avx2
155
+ .hidden gcm_gmult_vpclmulqdq_avx2
156
+ .type gcm_gmult_vpclmulqdq_avx2,@function
157
+ .align 32
158
+ gcm_gmult_vpclmulqdq_avx2:
159
+ .cfi_startproc
160
+
161
+ _CET_ENDBR
162
+
163
+
164
+
165
+ vmovdqu (%rdi),%xmm0
166
+ vmovdqu .Lbswap_mask(%rip),%xmm1
167
+ vmovdqu 128-16(%rsi),%xmm2
168
+ vmovdqu .Lgfpoly(%rip),%xmm3
169
+ vpshufb %xmm1,%xmm0,%xmm0
170
+
171
+ vpclmulqdq $0x00,%xmm2,%xmm0,%xmm4 // LO = a_L * b_L
172
+ vpclmulqdq $0x01,%xmm2,%xmm0,%xmm5 // MI_0 = a_L * b_H
173
+ vpclmulqdq $0x10,%xmm2,%xmm0,%xmm6 // MI_1 = a_H * b_L
174
+ vpxor %xmm6,%xmm5,%xmm5 // MI = MI_0 + MI_1
175
+ vpclmulqdq $0x01,%xmm4,%xmm3,%xmm6 // LO_L*(x^63 + x^62 + x^57)
176
+ vpshufd $0x4e,%xmm4,%xmm4 // Swap halves of LO
177
+ vpxor %xmm4,%xmm5,%xmm5 // Fold LO into MI (part 1)
178
+ vpxor %xmm6,%xmm5,%xmm5 // Fold LO into MI (part 2)
179
+ vpclmulqdq $0x11,%xmm2,%xmm0,%xmm0 // HI = a_H * b_H
180
+ vpclmulqdq $0x01,%xmm5,%xmm3,%xmm4 // MI_L*(x^63 + x^62 + x^57)
181
+ vpshufd $0x4e,%xmm5,%xmm5 // Swap halves of MI
182
+ vpxor %xmm5,%xmm0,%xmm0 // Fold MI into HI (part 1)
183
+ vpxor %xmm4,%xmm0,%xmm0 // Fold MI into HI (part 2)
184
+
185
+
186
+ vpshufb %xmm1,%xmm0,%xmm0
187
+ vmovdqu %xmm0,(%rdi)
188
+
189
+ // No need for vzeroupper, since only xmm registers were used.
190
+ ret
191
+
192
+ .cfi_endproc
193
+ .size gcm_gmult_vpclmulqdq_avx2, . - gcm_gmult_vpclmulqdq_avx2
194
+ .globl gcm_ghash_vpclmulqdq_avx2
195
+ .hidden gcm_ghash_vpclmulqdq_avx2
196
+ .type gcm_ghash_vpclmulqdq_avx2,@function
197
+ .align 32
198
+ gcm_ghash_vpclmulqdq_avx2:
199
+ .cfi_startproc
200
+
201
+ _CET_ENDBR
202
+
203
+
204
+
205
+ // Load the bswap_mask and gfpoly constants. Since AADLEN is usually small,
206
+ // usually only 128-bit vectors will be used. So as an optimization, don't
207
+ // broadcast these constants to both 128-bit lanes quite yet.
208
+ vmovdqu .Lbswap_mask(%rip),%xmm6
209
+ vmovdqu .Lgfpoly(%rip),%xmm7
210
+
211
+ // Load the GHASH accumulator.
212
+ vmovdqu (%rdi),%xmm5
213
+ vpshufb %xmm6,%xmm5,%xmm5
214
+
215
+ // Optimize for AADLEN < 32 by checking for AADLEN < 32 before AADLEN < 128.
216
+ cmpq $32,%rcx
217
+ jb .Lghash_lastblock
218
+
219
+ // AADLEN >= 32, so we'll operate on full vectors. Broadcast bswap_mask and
220
+ // gfpoly to both 128-bit lanes.
221
+ vinserti128 $1,%xmm6,%ymm6,%ymm6
222
+ vinserti128 $1,%xmm7,%ymm7,%ymm7
223
+
224
+ cmpq $127,%rcx
225
+ jbe .Lghash_loop_1x
226
+
227
+ // Update GHASH with 128 bytes of AAD at a time.
228
+ vmovdqu 128(%rsi),%ymm8
229
+ vmovdqu 128+32(%rsi),%ymm9
230
+ .Lghash_loop_4x:
231
+ // First vector
232
+ vmovdqu 0(%rdx),%ymm1
233
+ vpshufb %ymm6,%ymm1,%ymm1
234
+ vmovdqu 0(%rsi),%ymm2
235
+ vpxor %ymm5,%ymm1,%ymm1
236
+ vpclmulqdq $0x00,%ymm2,%ymm1,%ymm3
237
+ vpclmulqdq $0x11,%ymm2,%ymm1,%ymm5
238
+ vpunpckhqdq %ymm1,%ymm1,%ymm0
239
+ vpxor %ymm1,%ymm0,%ymm0
240
+ vpclmulqdq $0x00,%ymm8,%ymm0,%ymm4
241
+ // Second vector
242
+ vmovdqu 32(%rdx),%ymm1
243
+ vpshufb %ymm6,%ymm1,%ymm1
244
+ vmovdqu 32(%rsi),%ymm2
245
+ vpclmulqdq $0x00,%ymm2,%ymm1,%ymm0
246
+ vpxor %ymm0,%ymm3,%ymm3
247
+ vpclmulqdq $0x11,%ymm2,%ymm1,%ymm0
248
+ vpxor %ymm0,%ymm5,%ymm5
249
+ vpunpckhqdq %ymm1,%ymm1,%ymm0
250
+ vpxor %ymm1,%ymm0,%ymm0
251
+ vpclmulqdq $0x10,%ymm8,%ymm0,%ymm0
252
+ vpxor %ymm0,%ymm4,%ymm4
253
+ // Third vector
254
+ vmovdqu 64(%rdx),%ymm1
255
+ vpshufb %ymm6,%ymm1,%ymm1
256
+ vmovdqu 64(%rsi),%ymm2
257
+ vpclmulqdq $0x00,%ymm2,%ymm1,%ymm0
258
+ vpxor %ymm0,%ymm3,%ymm3
259
+ vpclmulqdq $0x11,%ymm2,%ymm1,%ymm0
260
+ vpxor %ymm0,%ymm5,%ymm5
261
+ vpunpckhqdq %ymm1,%ymm1,%ymm0
262
+ vpxor %ymm1,%ymm0,%ymm0
263
+ vpclmulqdq $0x00,%ymm9,%ymm0,%ymm0
264
+ vpxor %ymm0,%ymm4,%ymm4
265
+
266
+ // Fourth vector
267
+ vmovdqu 96(%rdx),%ymm1
268
+ vpshufb %ymm6,%ymm1,%ymm1
269
+ vmovdqu 96(%rsi),%ymm2
270
+ vpclmulqdq $0x00,%ymm2,%ymm1,%ymm0
271
+ vpxor %ymm0,%ymm3,%ymm3
272
+ vpclmulqdq $0x11,%ymm2,%ymm1,%ymm0
273
+ vpxor %ymm0,%ymm5,%ymm5
274
+ vpunpckhqdq %ymm1,%ymm1,%ymm0
275
+ vpxor %ymm1,%ymm0,%ymm0
276
+ vpclmulqdq $0x10,%ymm9,%ymm0,%ymm0
277
+ vpxor %ymm0,%ymm4,%ymm4
278
+ // Finalize 'mi' following Karatsuba multiplication.
279
+ vpxor %ymm3,%ymm4,%ymm4
280
+ vpxor %ymm5,%ymm4,%ymm4
281
+
282
+ // Fold lo into mi.
283
+ vbroadcasti128 .Lgfpoly(%rip),%ymm2
284
+ vpclmulqdq $0x01,%ymm3,%ymm2,%ymm0
285
+ vpshufd $0x4e,%ymm3,%ymm3
286
+ vpxor %ymm3,%ymm4,%ymm4
287
+ vpxor %ymm0,%ymm4,%ymm4
288
+ // Fold mi into hi.
289
+ vpclmulqdq $0x01,%ymm4,%ymm2,%ymm0
290
+ vpshufd $0x4e,%ymm4,%ymm4
291
+ vpxor %ymm4,%ymm5,%ymm5
292
+ vpxor %ymm0,%ymm5,%ymm5
293
+ vextracti128 $1,%ymm5,%xmm0
294
+ vpxor %xmm0,%xmm5,%xmm5
295
+
296
+ subq $-128,%rdx // 128 is 4 bytes, -128 is 1 byte
297
+ addq $-128,%rcx
298
+ cmpq $127,%rcx
299
+ ja .Lghash_loop_4x
300
+
301
+ // Update GHASH with 32 bytes of AAD at a time.
302
+ cmpq $32,%rcx
303
+ jb .Lghash_loop_1x_done
304
+ .Lghash_loop_1x:
305
+ vmovdqu (%rdx),%ymm0
306
+ vpshufb %ymm6,%ymm0,%ymm0
307
+ vpxor %ymm0,%ymm5,%ymm5
308
+ vmovdqu 128-32(%rsi),%ymm0
309
+ vpclmulqdq $0x00,%ymm0,%ymm5,%ymm1 // LO = a_L * b_L
310
+ vpclmulqdq $0x01,%ymm0,%ymm5,%ymm2 // MI_0 = a_L * b_H
311
+ vpclmulqdq $0x10,%ymm0,%ymm5,%ymm3 // MI_1 = a_H * b_L
312
+ vpxor %ymm3,%ymm2,%ymm2 // MI = MI_0 + MI_1
313
+ vpclmulqdq $0x01,%ymm1,%ymm7,%ymm3 // LO_L*(x^63 + x^62 + x^57)
314
+ vpshufd $0x4e,%ymm1,%ymm1 // Swap halves of LO
315
+ vpxor %ymm1,%ymm2,%ymm2 // Fold LO into MI (part 1)
316
+ vpxor %ymm3,%ymm2,%ymm2 // Fold LO into MI (part 2)
317
+ vpclmulqdq $0x11,%ymm0,%ymm5,%ymm5 // HI = a_H * b_H
318
+ vpclmulqdq $0x01,%ymm2,%ymm7,%ymm1 // MI_L*(x^63 + x^62 + x^57)
319
+ vpshufd $0x4e,%ymm2,%ymm2 // Swap halves of MI
320
+ vpxor %ymm2,%ymm5,%ymm5 // Fold MI into HI (part 1)
321
+ vpxor %ymm1,%ymm5,%ymm5 // Fold MI into HI (part 2)
322
+
323
+ vextracti128 $1,%ymm5,%xmm0
324
+ vpxor %xmm0,%xmm5,%xmm5
325
+ addq $32,%rdx
326
+ subq $32,%rcx
327
+ cmpq $32,%rcx
328
+ jae .Lghash_loop_1x
329
+ .Lghash_loop_1x_done:
330
+
331
+ // Update GHASH with the remaining 16-byte block if any.
332
+ .Lghash_lastblock:
333
+ testq %rcx,%rcx
334
+ jz .Lghash_done
335
+ vmovdqu (%rdx),%xmm0
336
+ vpshufb %xmm6,%xmm0,%xmm0
337
+ vpxor %xmm0,%xmm5,%xmm5
338
+ vmovdqu 128-16(%rsi),%xmm0
339
+ vpclmulqdq $0x00,%xmm0,%xmm5,%xmm1 // LO = a_L * b_L
340
+ vpclmulqdq $0x01,%xmm0,%xmm5,%xmm2 // MI_0 = a_L * b_H
341
+ vpclmulqdq $0x10,%xmm0,%xmm5,%xmm3 // MI_1 = a_H * b_L
342
+ vpxor %xmm3,%xmm2,%xmm2 // MI = MI_0 + MI_1
343
+ vpclmulqdq $0x01,%xmm1,%xmm7,%xmm3 // LO_L*(x^63 + x^62 + x^57)
344
+ vpshufd $0x4e,%xmm1,%xmm1 // Swap halves of LO
345
+ vpxor %xmm1,%xmm2,%xmm2 // Fold LO into MI (part 1)
346
+ vpxor %xmm3,%xmm2,%xmm2 // Fold LO into MI (part 2)
347
+ vpclmulqdq $0x11,%xmm0,%xmm5,%xmm5 // HI = a_H * b_H
348
+ vpclmulqdq $0x01,%xmm2,%xmm7,%xmm1 // MI_L*(x^63 + x^62 + x^57)
349
+ vpshufd $0x4e,%xmm2,%xmm2 // Swap halves of MI
350
+ vpxor %xmm2,%xmm5,%xmm5 // Fold MI into HI (part 1)
351
+ vpxor %xmm1,%xmm5,%xmm5 // Fold MI into HI (part 2)
352
+
353
+
354
+ .Lghash_done:
355
+ // Store the updated GHASH accumulator back to memory.
356
+ vpshufb %xmm6,%xmm5,%xmm5
357
+ vmovdqu %xmm5,(%rdi)
358
+
359
+ vzeroupper
360
+ ret
361
+
362
+ .cfi_endproc
363
+ .size gcm_ghash_vpclmulqdq_avx2, . - gcm_ghash_vpclmulqdq_avx2
364
+ .globl aes_gcm_enc_update_vaes_avx2
365
+ .hidden aes_gcm_enc_update_vaes_avx2
366
+ .type aes_gcm_enc_update_vaes_avx2,@function
367
+ .align 32
368
+ aes_gcm_enc_update_vaes_avx2:
369
+ .cfi_startproc
370
+
371
+ _CET_ENDBR
372
+ pushq %r12
373
+ .cfi_adjust_cfa_offset 8
374
+ .cfi_offset %r12,-16
375
+
376
+ movq 16(%rsp),%r12 // arg7
377
+ #ifdef BORINGSSL_DISPATCH_TEST
378
+ .extern BORINGSSL_function_hit
379
+ .hidden BORINGSSL_function_hit
380
+ movb $1,BORINGSSL_function_hit+6(%rip)
381
+ #endif
382
+ vbroadcasti128 .Lbswap_mask(%rip),%ymm0
383
+
384
+ // Load the GHASH accumulator and the starting counter.
385
+ // BoringSSL passes these values in big endian format.
386
+ vmovdqu (%r12),%xmm1
387
+ vpshufb %xmm0,%xmm1,%xmm1
388
+ vbroadcasti128 (%r8),%ymm11
389
+ vpshufb %ymm0,%ymm11,%ymm11
390
+
391
+ // Load the AES key length in bytes. BoringSSL stores number of rounds
392
+ // minus 1, so convert using: AESKEYLEN = 4 * aeskey->rounds - 20.
393
+ movl 240(%rcx),%r10d
394
+ leal -20(,%r10,4),%r10d
395
+
396
+ // Make RNDKEYLAST_PTR point to the last AES round key. This is the
397
+ // round key with index 10, 12, or 14 for AES-128, AES-192, or AES-256
398
+ // respectively. Then load the zero-th and last round keys.
399
+ leaq 96(%rcx,%r10,4),%r11
400
+ vbroadcasti128 (%rcx),%ymm9
401
+ vbroadcasti128 (%r11),%ymm10
402
+
403
+ // Finish initializing LE_CTR by adding 1 to the second block.
404
+ vpaddd .Lctr_pattern(%rip),%ymm11,%ymm11
405
+
406
+ // If there are at least 128 bytes of data, then continue into the loop that
407
+ // processes 128 bytes of data at a time. Otherwise skip it.
408
+ cmpq $127,%rdx
409
+ jbe .Lcrypt_loop_4x_done__func1
410
+
411
+ vmovdqu 128(%r9),%ymm7
412
+ vmovdqu 128+32(%r9),%ymm8
413
+ // Encrypt the first 4 vectors of plaintext blocks.
414
+ // Increment le_ctr four times to generate four vectors of little-endian
415
+ // counter blocks, swap each to big-endian, and store them in aesdata[0-3].
416
+ vmovdqu .Linc_2blocks(%rip),%ymm2
417
+ vpshufb %ymm0,%ymm11,%ymm12
418
+ vpaddd %ymm2,%ymm11,%ymm11
419
+ vpshufb %ymm0,%ymm11,%ymm13
420
+ vpaddd %ymm2,%ymm11,%ymm11
421
+ vpshufb %ymm0,%ymm11,%ymm14
422
+ vpaddd %ymm2,%ymm11,%ymm11
423
+ vpshufb %ymm0,%ymm11,%ymm15
424
+ vpaddd %ymm2,%ymm11,%ymm11
425
+
426
+ // AES "round zero": XOR in the zero-th round key.
427
+ vpxor %ymm9,%ymm12,%ymm12
428
+ vpxor %ymm9,%ymm13,%ymm13
429
+ vpxor %ymm9,%ymm14,%ymm14
430
+ vpxor %ymm9,%ymm15,%ymm15
431
+
432
+ leaq 16(%rcx),%rax
433
+ .Lvaesenc_loop_first_4_vecs__func1:
434
+ vbroadcasti128 (%rax),%ymm2
435
+ vaesenc %ymm2,%ymm12,%ymm12
436
+ vaesenc %ymm2,%ymm13,%ymm13
437
+ vaesenc %ymm2,%ymm14,%ymm14
438
+ vaesenc %ymm2,%ymm15,%ymm15
439
+
440
+ addq $16,%rax
441
+ cmpq %rax,%r11
442
+ jne .Lvaesenc_loop_first_4_vecs__func1
443
+ vpxor 0(%rdi),%ymm10,%ymm2
444
+ vpxor 32(%rdi),%ymm10,%ymm3
445
+ vpxor 64(%rdi),%ymm10,%ymm5
446
+ vpxor 96(%rdi),%ymm10,%ymm6
447
+ vaesenclast %ymm2,%ymm12,%ymm12
448
+ vaesenclast %ymm3,%ymm13,%ymm13
449
+ vaesenclast %ymm5,%ymm14,%ymm14
450
+ vaesenclast %ymm6,%ymm15,%ymm15
451
+ vmovdqu %ymm12,0(%rsi)
452
+ vmovdqu %ymm13,32(%rsi)
453
+ vmovdqu %ymm14,64(%rsi)
454
+ vmovdqu %ymm15,96(%rsi)
455
+
456
+ subq $-128,%rdi // 128 is 4 bytes, -128 is 1 byte
457
+ addq $-128,%rdx
458
+ cmpq $127,%rdx
459
+ jbe .Lghash_last_ciphertext_4x__func1
460
+ .align 16
461
+ .Lcrypt_loop_4x__func1:
462
+
463
+ // Start the AES encryption of the counter blocks.
464
+ // Increment le_ctr four times to generate four vectors of little-endian
465
+ // counter blocks, swap each to big-endian, and store them in aesdata[0-3].
466
+ vmovdqu .Linc_2blocks(%rip),%ymm2
467
+ vpshufb %ymm0,%ymm11,%ymm12
468
+ vpaddd %ymm2,%ymm11,%ymm11
469
+ vpshufb %ymm0,%ymm11,%ymm13
470
+ vpaddd %ymm2,%ymm11,%ymm11
471
+ vpshufb %ymm0,%ymm11,%ymm14
472
+ vpaddd %ymm2,%ymm11,%ymm11
473
+ vpshufb %ymm0,%ymm11,%ymm15
474
+ vpaddd %ymm2,%ymm11,%ymm11
475
+
476
+ // AES "round zero": XOR in the zero-th round key.
477
+ vpxor %ymm9,%ymm12,%ymm12
478
+ vpxor %ymm9,%ymm13,%ymm13
479
+ vpxor %ymm9,%ymm14,%ymm14
480
+ vpxor %ymm9,%ymm15,%ymm15
481
+
482
+ cmpl $24,%r10d
483
+ jl .Laes128__func1
484
+ je .Laes192__func1
485
+ // AES-256
486
+ vbroadcasti128 -208(%r11),%ymm2
487
+ vaesenc %ymm2,%ymm12,%ymm12
488
+ vaesenc %ymm2,%ymm13,%ymm13
489
+ vaesenc %ymm2,%ymm14,%ymm14
490
+ vaesenc %ymm2,%ymm15,%ymm15
491
+
492
+ vbroadcasti128 -192(%r11),%ymm2
493
+ vaesenc %ymm2,%ymm12,%ymm12
494
+ vaesenc %ymm2,%ymm13,%ymm13
495
+ vaesenc %ymm2,%ymm14,%ymm14
496
+ vaesenc %ymm2,%ymm15,%ymm15
497
+
498
+ .Laes192__func1:
499
+ vbroadcasti128 -176(%r11),%ymm2
500
+ vaesenc %ymm2,%ymm12,%ymm12
501
+ vaesenc %ymm2,%ymm13,%ymm13
502
+ vaesenc %ymm2,%ymm14,%ymm14
503
+ vaesenc %ymm2,%ymm15,%ymm15
504
+
505
+ vbroadcasti128 -160(%r11),%ymm2
506
+ vaesenc %ymm2,%ymm12,%ymm12
507
+ vaesenc %ymm2,%ymm13,%ymm13
508
+ vaesenc %ymm2,%ymm14,%ymm14
509
+ vaesenc %ymm2,%ymm15,%ymm15
510
+
511
+ .Laes128__func1:
512
+ prefetcht0 512(%rdi)
513
+ prefetcht0 512+64(%rdi)
514
+ // First vector
515
+ vmovdqu 0(%rsi),%ymm3
516
+ vpshufb %ymm0,%ymm3,%ymm3
517
+ vmovdqu 0(%r9),%ymm4
518
+ vpxor %ymm1,%ymm3,%ymm3
519
+ vpclmulqdq $0x00,%ymm4,%ymm3,%ymm5
520
+ vpclmulqdq $0x11,%ymm4,%ymm3,%ymm1
521
+ vpunpckhqdq %ymm3,%ymm3,%ymm2
522
+ vpxor %ymm3,%ymm2,%ymm2
523
+ vpclmulqdq $0x00,%ymm7,%ymm2,%ymm6
524
+
525
+ vbroadcasti128 -144(%r11),%ymm2
526
+ vaesenc %ymm2,%ymm12,%ymm12
527
+ vaesenc %ymm2,%ymm13,%ymm13
528
+ vaesenc %ymm2,%ymm14,%ymm14
529
+ vaesenc %ymm2,%ymm15,%ymm15
530
+
531
+
532
+ vbroadcasti128 -128(%r11),%ymm2
533
+ vaesenc %ymm2,%ymm12,%ymm12
534
+ vaesenc %ymm2,%ymm13,%ymm13
535
+ vaesenc %ymm2,%ymm14,%ymm14
536
+ vaesenc %ymm2,%ymm15,%ymm15
537
+
538
+ // Second vector
539
+ vmovdqu 32(%rsi),%ymm3
540
+ vpshufb %ymm0,%ymm3,%ymm3
541
+ vmovdqu 32(%r9),%ymm4
542
+ vpclmulqdq $0x00,%ymm4,%ymm3,%ymm2
543
+ vpxor %ymm2,%ymm5,%ymm5
544
+ vpclmulqdq $0x11,%ymm4,%ymm3,%ymm2
545
+ vpxor %ymm2,%ymm1,%ymm1
546
+ vpunpckhqdq %ymm3,%ymm3,%ymm2
547
+ vpxor %ymm3,%ymm2,%ymm2
548
+ vpclmulqdq $0x10,%ymm7,%ymm2,%ymm2
549
+ vpxor %ymm2,%ymm6,%ymm6
550
+
551
+ vbroadcasti128 -112(%r11),%ymm2
552
+ vaesenc %ymm2,%ymm12,%ymm12
553
+ vaesenc %ymm2,%ymm13,%ymm13
554
+ vaesenc %ymm2,%ymm14,%ymm14
555
+ vaesenc %ymm2,%ymm15,%ymm15
556
+
557
+ // Third vector
558
+ vmovdqu 64(%rsi),%ymm3
559
+ vpshufb %ymm0,%ymm3,%ymm3
560
+ vmovdqu 64(%r9),%ymm4
561
+
562
+ vbroadcasti128 -96(%r11),%ymm2
563
+ vaesenc %ymm2,%ymm12,%ymm12
564
+ vaesenc %ymm2,%ymm13,%ymm13
565
+ vaesenc %ymm2,%ymm14,%ymm14
566
+ vaesenc %ymm2,%ymm15,%ymm15
567
+
568
+ vpclmulqdq $0x00,%ymm4,%ymm3,%ymm2
569
+ vpxor %ymm2,%ymm5,%ymm5
570
+ vpclmulqdq $0x11,%ymm4,%ymm3,%ymm2
571
+ vpxor %ymm2,%ymm1,%ymm1
572
+
573
+ vbroadcasti128 -80(%r11),%ymm2
574
+ vaesenc %ymm2,%ymm12,%ymm12
575
+ vaesenc %ymm2,%ymm13,%ymm13
576
+ vaesenc %ymm2,%ymm14,%ymm14
577
+ vaesenc %ymm2,%ymm15,%ymm15
578
+
579
+ vpunpckhqdq %ymm3,%ymm3,%ymm2
580
+ vpxor %ymm3,%ymm2,%ymm2
581
+ vpclmulqdq $0x00,%ymm8,%ymm2,%ymm2
582
+ vpxor %ymm2,%ymm6,%ymm6
583
+
584
+ // Fourth vector
585
+ vmovdqu 96(%rsi),%ymm3
586
+ vpshufb %ymm0,%ymm3,%ymm3
587
+
588
+ vbroadcasti128 -64(%r11),%ymm2
589
+ vaesenc %ymm2,%ymm12,%ymm12
590
+ vaesenc %ymm2,%ymm13,%ymm13
591
+ vaesenc %ymm2,%ymm14,%ymm14
592
+ vaesenc %ymm2,%ymm15,%ymm15
593
+
594
+ vmovdqu 96(%r9),%ymm4
595
+ vpclmulqdq $0x00,%ymm4,%ymm3,%ymm2
596
+ vpxor %ymm2,%ymm5,%ymm5
597
+ vpclmulqdq $0x11,%ymm4,%ymm3,%ymm2
598
+ vpxor %ymm2,%ymm1,%ymm1
599
+ vpunpckhqdq %ymm3,%ymm3,%ymm2
600
+ vpxor %ymm3,%ymm2,%ymm2
601
+ vpclmulqdq $0x10,%ymm8,%ymm2,%ymm2
602
+ vpxor %ymm2,%ymm6,%ymm6
603
+
604
+ vbroadcasti128 -48(%r11),%ymm2
605
+ vaesenc %ymm2,%ymm12,%ymm12
606
+ vaesenc %ymm2,%ymm13,%ymm13
607
+ vaesenc %ymm2,%ymm14,%ymm14
608
+ vaesenc %ymm2,%ymm15,%ymm15
609
+
610
+ // Finalize 'mi' following Karatsuba multiplication.
611
+ vpxor %ymm5,%ymm6,%ymm6
612
+ vpxor %ymm1,%ymm6,%ymm6
613
+
614
+ // Fold lo into mi.
615
+ vbroadcasti128 .Lgfpoly(%rip),%ymm4
616
+ vpclmulqdq $0x01,%ymm5,%ymm4,%ymm2
617
+ vpshufd $0x4e,%ymm5,%ymm5
618
+ vpxor %ymm5,%ymm6,%ymm6
619
+ vpxor %ymm2,%ymm6,%ymm6
620
+
621
+ vbroadcasti128 -32(%r11),%ymm2
622
+ vaesenc %ymm2,%ymm12,%ymm12
623
+ vaesenc %ymm2,%ymm13,%ymm13
624
+ vaesenc %ymm2,%ymm14,%ymm14
625
+ vaesenc %ymm2,%ymm15,%ymm15
626
+
627
+ // Fold mi into hi.
628
+ vpclmulqdq $0x01,%ymm6,%ymm4,%ymm2
629
+ vpshufd $0x4e,%ymm6,%ymm6
630
+ vpxor %ymm6,%ymm1,%ymm1
631
+ vpxor %ymm2,%ymm1,%ymm1
632
+
633
+ vbroadcasti128 -16(%r11),%ymm2
634
+ vaesenc %ymm2,%ymm12,%ymm12
635
+ vaesenc %ymm2,%ymm13,%ymm13
636
+ vaesenc %ymm2,%ymm14,%ymm14
637
+ vaesenc %ymm2,%ymm15,%ymm15
638
+
639
+ vextracti128 $1,%ymm1,%xmm2
640
+ vpxor %xmm2,%xmm1,%xmm1
641
+
642
+
643
+ subq $-128,%rsi // 128 is 4 bytes, -128 is 1 byte
644
+ vpxor 0(%rdi),%ymm10,%ymm2
645
+ vpxor 32(%rdi),%ymm10,%ymm3
646
+ vpxor 64(%rdi),%ymm10,%ymm5
647
+ vpxor 96(%rdi),%ymm10,%ymm6
648
+ vaesenclast %ymm2,%ymm12,%ymm12
649
+ vaesenclast %ymm3,%ymm13,%ymm13
650
+ vaesenclast %ymm5,%ymm14,%ymm14
651
+ vaesenclast %ymm6,%ymm15,%ymm15
652
+ vmovdqu %ymm12,0(%rsi)
653
+ vmovdqu %ymm13,32(%rsi)
654
+ vmovdqu %ymm14,64(%rsi)
655
+ vmovdqu %ymm15,96(%rsi)
656
+
657
+ subq $-128,%rdi
658
+
659
+ addq $-128,%rdx
660
+ cmpq $127,%rdx
661
+ ja .Lcrypt_loop_4x__func1
662
+ .Lghash_last_ciphertext_4x__func1:
663
+ // First vector
664
+ vmovdqu 0(%rsi),%ymm3
665
+ vpshufb %ymm0,%ymm3,%ymm3
666
+ vmovdqu 0(%r9),%ymm4
667
+ vpxor %ymm1,%ymm3,%ymm3
668
+ vpclmulqdq $0x00,%ymm4,%ymm3,%ymm5
669
+ vpclmulqdq $0x11,%ymm4,%ymm3,%ymm1
670
+ vpunpckhqdq %ymm3,%ymm3,%ymm2
671
+ vpxor %ymm3,%ymm2,%ymm2
672
+ vpclmulqdq $0x00,%ymm7,%ymm2,%ymm6
673
+ // Second vector
674
+ vmovdqu 32(%rsi),%ymm3
675
+ vpshufb %ymm0,%ymm3,%ymm3
676
+ vmovdqu 32(%r9),%ymm4
677
+ vpclmulqdq $0x00,%ymm4,%ymm3,%ymm2
678
+ vpxor %ymm2,%ymm5,%ymm5
679
+ vpclmulqdq $0x11,%ymm4,%ymm3,%ymm2
680
+ vpxor %ymm2,%ymm1,%ymm1
681
+ vpunpckhqdq %ymm3,%ymm3,%ymm2
682
+ vpxor %ymm3,%ymm2,%ymm2
683
+ vpclmulqdq $0x10,%ymm7,%ymm2,%ymm2
684
+ vpxor %ymm2,%ymm6,%ymm6
685
+ // Third vector
686
+ vmovdqu 64(%rsi),%ymm3
687
+ vpshufb %ymm0,%ymm3,%ymm3
688
+ vmovdqu 64(%r9),%ymm4
689
+ vpclmulqdq $0x00,%ymm4,%ymm3,%ymm2
690
+ vpxor %ymm2,%ymm5,%ymm5
691
+ vpclmulqdq $0x11,%ymm4,%ymm3,%ymm2
692
+ vpxor %ymm2,%ymm1,%ymm1
693
+ vpunpckhqdq %ymm3,%ymm3,%ymm2
694
+ vpxor %ymm3,%ymm2,%ymm2
695
+ vpclmulqdq $0x00,%ymm8,%ymm2,%ymm2
696
+ vpxor %ymm2,%ymm6,%ymm6
697
+
698
+ // Fourth vector
699
+ vmovdqu 96(%rsi),%ymm3
700
+ vpshufb %ymm0,%ymm3,%ymm3
701
+ vmovdqu 96(%r9),%ymm4
702
+ vpclmulqdq $0x00,%ymm4,%ymm3,%ymm2
703
+ vpxor %ymm2,%ymm5,%ymm5
704
+ vpclmulqdq $0x11,%ymm4,%ymm3,%ymm2
705
+ vpxor %ymm2,%ymm1,%ymm1
706
+ vpunpckhqdq %ymm3,%ymm3,%ymm2
707
+ vpxor %ymm3,%ymm2,%ymm2
708
+ vpclmulqdq $0x10,%ymm8,%ymm2,%ymm2
709
+ vpxor %ymm2,%ymm6,%ymm6
710
+ // Finalize 'mi' following Karatsuba multiplication.
711
+ vpxor %ymm5,%ymm6,%ymm6
712
+ vpxor %ymm1,%ymm6,%ymm6
713
+
714
+ // Fold lo into mi.
715
+ vbroadcasti128 .Lgfpoly(%rip),%ymm4
716
+ vpclmulqdq $0x01,%ymm5,%ymm4,%ymm2
717
+ vpshufd $0x4e,%ymm5,%ymm5
718
+ vpxor %ymm5,%ymm6,%ymm6
719
+ vpxor %ymm2,%ymm6,%ymm6
720
+ // Fold mi into hi.
721
+ vpclmulqdq $0x01,%ymm6,%ymm4,%ymm2
722
+ vpshufd $0x4e,%ymm6,%ymm6
723
+ vpxor %ymm6,%ymm1,%ymm1
724
+ vpxor %ymm2,%ymm1,%ymm1
725
+ vextracti128 $1,%ymm1,%xmm2
726
+ vpxor %xmm2,%xmm1,%xmm1
727
+
728
+ subq $-128,%rsi
729
+ .Lcrypt_loop_4x_done__func1:
730
+ // Check whether any data remains.
731
+ testq %rdx,%rdx
732
+ jz .Ldone__func1
733
+
734
+ // DATALEN is in [16, 32, 48, 64, 80, 96, 112].
735
+
736
+ // Make POWERS_PTR point to the key powers [H^N, H^(N-1), ...] where N
737
+ // is the number of blocks that remain.
738
+ leaq 128(%r9),%r8
739
+ subq %rdx,%r8
740
+
741
+ // Start collecting the unreduced GHASH intermediate value LO, MI, HI.
742
+ vpxor %xmm5,%xmm5,%xmm5
743
+ vpxor %xmm6,%xmm6,%xmm6
744
+ vpxor %xmm7,%xmm7,%xmm7
745
+
746
+ cmpq $64,%rdx
747
+ jb .Llessthan64bytes__func1
748
+
749
+ // DATALEN is in [64, 80, 96, 112]. Encrypt two vectors of counter blocks.
750
+ vpshufb %ymm0,%ymm11,%ymm12
751
+ vpaddd .Linc_2blocks(%rip),%ymm11,%ymm11
752
+ vpshufb %ymm0,%ymm11,%ymm13
753
+ vpaddd .Linc_2blocks(%rip),%ymm11,%ymm11
754
+ vpxor %ymm9,%ymm12,%ymm12
755
+ vpxor %ymm9,%ymm13,%ymm13
756
+ leaq 16(%rcx),%rax
757
+ .Lvaesenc_loop_tail_1__func1:
758
+ vbroadcasti128 (%rax),%ymm2
759
+ vaesenc %ymm2,%ymm12,%ymm12
760
+ vaesenc %ymm2,%ymm13,%ymm13
761
+ addq $16,%rax
762
+ cmpq %rax,%r11
763
+ jne .Lvaesenc_loop_tail_1__func1
764
+ vaesenclast %ymm10,%ymm12,%ymm12
765
+ vaesenclast %ymm10,%ymm13,%ymm13
766
+
767
+ // XOR the data with the two vectors of keystream blocks.
768
+ vmovdqu 0(%rdi),%ymm2
769
+ vmovdqu 32(%rdi),%ymm3
770
+ vpxor %ymm2,%ymm12,%ymm12
771
+ vpxor %ymm3,%ymm13,%ymm13
772
+ vmovdqu %ymm12,0(%rsi)
773
+ vmovdqu %ymm13,32(%rsi)
774
+
775
+ // Update GHASH with two vectors of ciphertext blocks, without reducing.
776
+ vpshufb %ymm0,%ymm12,%ymm12
777
+ vpshufb %ymm0,%ymm13,%ymm13
778
+ vpxor %ymm1,%ymm12,%ymm12
779
+ vmovdqu (%r8),%ymm2
780
+ vmovdqu 32(%r8),%ymm3
781
+ vpclmulqdq $0x00,%ymm2,%ymm12,%ymm5
782
+ vpclmulqdq $0x01,%ymm2,%ymm12,%ymm6
783
+ vpclmulqdq $0x10,%ymm2,%ymm12,%ymm4
784
+ vpxor %ymm4,%ymm6,%ymm6
785
+ vpclmulqdq $0x11,%ymm2,%ymm12,%ymm7
786
+ vpclmulqdq $0x00,%ymm3,%ymm13,%ymm4
787
+ vpxor %ymm4,%ymm5,%ymm5
788
+ vpclmulqdq $0x01,%ymm3,%ymm13,%ymm4
789
+ vpxor %ymm4,%ymm6,%ymm6
790
+ vpclmulqdq $0x10,%ymm3,%ymm13,%ymm4
791
+ vpxor %ymm4,%ymm6,%ymm6
792
+ vpclmulqdq $0x11,%ymm3,%ymm13,%ymm4
793
+ vpxor %ymm4,%ymm7,%ymm7
794
+
795
+ addq $64,%r8
796
+ addq $64,%rdi
797
+ addq $64,%rsi
798
+ subq $64,%rdx
799
+ jz .Lreduce__func1
800
+
801
+ vpxor %xmm1,%xmm1,%xmm1
802
+
803
+ // DATALEN is in [16, 32, 48]. Encrypt two last vectors of counter blocks.
804
+ .Llessthan64bytes__func1:
805
+ vpshufb %ymm0,%ymm11,%ymm12
806
+ vpaddd .Linc_2blocks(%rip),%ymm11,%ymm11
807
+ vpshufb %ymm0,%ymm11,%ymm13
808
+ vpxor %ymm9,%ymm12,%ymm12
809
+ vpxor %ymm9,%ymm13,%ymm13
810
+ leaq 16(%rcx),%rax
811
+ .Lvaesenc_loop_tail_2__func1:
812
+ vbroadcasti128 (%rax),%ymm2
813
+ vaesenc %ymm2,%ymm12,%ymm12
814
+ vaesenc %ymm2,%ymm13,%ymm13
815
+ addq $16,%rax
816
+ cmpq %rax,%r11
817
+ jne .Lvaesenc_loop_tail_2__func1
818
+ vaesenclast %ymm10,%ymm12,%ymm12
819
+ vaesenclast %ymm10,%ymm13,%ymm13
820
+
821
+ // XOR the remaining data with the keystream blocks, and update GHASH with
822
+ // the remaining ciphertext blocks without reducing.
823
+
824
+ cmpq $32,%rdx
825
+ jb .Lxor_one_block__func1
826
+ je .Lxor_two_blocks__func1
827
+
828
+ .Lxor_three_blocks__func1:
829
+ vmovdqu 0(%rdi),%ymm2
830
+ vmovdqu 32(%rdi),%xmm3
831
+ vpxor %ymm2,%ymm12,%ymm12
832
+ vpxor %xmm3,%xmm13,%xmm13
833
+ vmovdqu %ymm12,0(%rsi)
834
+ vmovdqu %xmm13,32(%rsi)
835
+
836
+ vpshufb %ymm0,%ymm12,%ymm12
837
+ vpshufb %xmm0,%xmm13,%xmm13
838
+ vpxor %ymm1,%ymm12,%ymm12
839
+ vmovdqu (%r8),%ymm2
840
+ vmovdqu 32(%r8),%xmm3
841
+ vpclmulqdq $0x00,%xmm3,%xmm13,%xmm4
842
+ vpxor %ymm4,%ymm5,%ymm5
843
+ vpclmulqdq $0x01,%xmm3,%xmm13,%xmm4
844
+ vpxor %ymm4,%ymm6,%ymm6
845
+ vpclmulqdq $0x10,%xmm3,%xmm13,%xmm4
846
+ vpxor %ymm4,%ymm6,%ymm6
847
+ vpclmulqdq $0x11,%xmm3,%xmm13,%xmm4
848
+ vpxor %ymm4,%ymm7,%ymm7
849
+ jmp .Lghash_mul_one_vec_unreduced__func1
850
+
851
+ .Lxor_two_blocks__func1:
852
+ vmovdqu (%rdi),%ymm2
853
+ vpxor %ymm2,%ymm12,%ymm12
854
+ vmovdqu %ymm12,(%rsi)
855
+ vpshufb %ymm0,%ymm12,%ymm12
856
+ vpxor %ymm1,%ymm12,%ymm12
857
+ vmovdqu (%r8),%ymm2
858
+ jmp .Lghash_mul_one_vec_unreduced__func1
859
+
860
+ .Lxor_one_block__func1:
861
+ vmovdqu (%rdi),%xmm2
862
+ vpxor %xmm2,%xmm12,%xmm12
863
+ vmovdqu %xmm12,(%rsi)
864
+ vpshufb %xmm0,%xmm12,%xmm12
865
+ vpxor %xmm1,%xmm12,%xmm12
866
+ vmovdqu (%r8),%xmm2
867
+
868
+ .Lghash_mul_one_vec_unreduced__func1:
869
+ vpclmulqdq $0x00,%ymm2,%ymm12,%ymm4
870
+ vpxor %ymm4,%ymm5,%ymm5
871
+ vpclmulqdq $0x01,%ymm2,%ymm12,%ymm4
872
+ vpxor %ymm4,%ymm6,%ymm6
873
+ vpclmulqdq $0x10,%ymm2,%ymm12,%ymm4
874
+ vpxor %ymm4,%ymm6,%ymm6
875
+ vpclmulqdq $0x11,%ymm2,%ymm12,%ymm4
876
+ vpxor %ymm4,%ymm7,%ymm7
877
+
878
+ .Lreduce__func1:
879
+ // Finally, do the GHASH reduction.
880
+ vbroadcasti128 .Lgfpoly(%rip),%ymm2
881
+ vpclmulqdq $0x01,%ymm5,%ymm2,%ymm3
882
+ vpshufd $0x4e,%ymm5,%ymm5
883
+ vpxor %ymm5,%ymm6,%ymm6
884
+ vpxor %ymm3,%ymm6,%ymm6
885
+ vpclmulqdq $0x01,%ymm6,%ymm2,%ymm3
886
+ vpshufd $0x4e,%ymm6,%ymm6
887
+ vpxor %ymm6,%ymm7,%ymm7
888
+ vpxor %ymm3,%ymm7,%ymm7
889
+ vextracti128 $1,%ymm7,%xmm1
890
+ vpxor %xmm7,%xmm1,%xmm1
891
+
892
+ .Ldone__func1:
893
+ // Store the updated GHASH accumulator back to memory.
894
+ vpshufb %xmm0,%xmm1,%xmm1
895
+ vmovdqu %xmm1,(%r12)
896
+
897
+ vzeroupper
898
+ popq %r12
899
+ .cfi_adjust_cfa_offset -8
900
+ .cfi_restore %r12
901
+ ret
902
+
903
+ .cfi_endproc
904
+ .size aes_gcm_enc_update_vaes_avx2, . - aes_gcm_enc_update_vaes_avx2
905
+ .globl aes_gcm_dec_update_vaes_avx2
906
+ .hidden aes_gcm_dec_update_vaes_avx2
907
+ .type aes_gcm_dec_update_vaes_avx2,@function
908
+ .align 32
909
+ aes_gcm_dec_update_vaes_avx2:
910
+ .cfi_startproc
911
+
912
+ _CET_ENDBR
913
+ pushq %r12
914
+ .cfi_adjust_cfa_offset 8
915
+ .cfi_offset %r12,-16
916
+
917
+ movq 16(%rsp),%r12 // arg7
918
+ vbroadcasti128 .Lbswap_mask(%rip),%ymm0
919
+
920
+ // Load the GHASH accumulator and the starting counter.
921
+ // BoringSSL passes these values in big endian format.
922
+ vmovdqu (%r12),%xmm1
923
+ vpshufb %xmm0,%xmm1,%xmm1
924
+ vbroadcasti128 (%r8),%ymm11
925
+ vpshufb %ymm0,%ymm11,%ymm11
926
+
927
+ // Load the AES key length in bytes. BoringSSL stores number of rounds
928
+ // minus 1, so convert using: AESKEYLEN = 4 * aeskey->rounds - 20.
929
+ movl 240(%rcx),%r10d
930
+ leal -20(,%r10,4),%r10d
931
+
932
+ // Make RNDKEYLAST_PTR point to the last AES round key. This is the
933
+ // round key with index 10, 12, or 14 for AES-128, AES-192, or AES-256
934
+ // respectively. Then load the zero-th and last round keys.
935
+ leaq 96(%rcx,%r10,4),%r11
936
+ vbroadcasti128 (%rcx),%ymm9
937
+ vbroadcasti128 (%r11),%ymm10
938
+
939
+ // Finish initializing LE_CTR by adding 1 to the second block.
940
+ vpaddd .Lctr_pattern(%rip),%ymm11,%ymm11
941
+
942
+ // If there are at least 128 bytes of data, then continue into the loop that
943
+ // processes 128 bytes of data at a time. Otherwise skip it.
944
+ cmpq $127,%rdx
945
+ jbe .Lcrypt_loop_4x_done__func2
946
+
947
+ vmovdqu 128(%r9),%ymm7
948
+ vmovdqu 128+32(%r9),%ymm8
949
+ .align 16
950
+ .Lcrypt_loop_4x__func2:
951
+
952
+ // Start the AES encryption of the counter blocks.
953
+ // Increment le_ctr four times to generate four vectors of little-endian
954
+ // counter blocks, swap each to big-endian, and store them in aesdata[0-3].
955
+ vmovdqu .Linc_2blocks(%rip),%ymm2
956
+ vpshufb %ymm0,%ymm11,%ymm12
957
+ vpaddd %ymm2,%ymm11,%ymm11
958
+ vpshufb %ymm0,%ymm11,%ymm13
959
+ vpaddd %ymm2,%ymm11,%ymm11
960
+ vpshufb %ymm0,%ymm11,%ymm14
961
+ vpaddd %ymm2,%ymm11,%ymm11
962
+ vpshufb %ymm0,%ymm11,%ymm15
963
+ vpaddd %ymm2,%ymm11,%ymm11
964
+
965
+ // AES "round zero": XOR in the zero-th round key.
966
+ vpxor %ymm9,%ymm12,%ymm12
967
+ vpxor %ymm9,%ymm13,%ymm13
968
+ vpxor %ymm9,%ymm14,%ymm14
969
+ vpxor %ymm9,%ymm15,%ymm15
970
+
971
+ cmpl $24,%r10d
972
+ jl .Laes128__func2
973
+ je .Laes192__func2
974
+ // AES-256
975
+ vbroadcasti128 -208(%r11),%ymm2
976
+ vaesenc %ymm2,%ymm12,%ymm12
977
+ vaesenc %ymm2,%ymm13,%ymm13
978
+ vaesenc %ymm2,%ymm14,%ymm14
979
+ vaesenc %ymm2,%ymm15,%ymm15
980
+
981
+ vbroadcasti128 -192(%r11),%ymm2
982
+ vaesenc %ymm2,%ymm12,%ymm12
983
+ vaesenc %ymm2,%ymm13,%ymm13
984
+ vaesenc %ymm2,%ymm14,%ymm14
985
+ vaesenc %ymm2,%ymm15,%ymm15
986
+
987
+ .Laes192__func2:
988
+ vbroadcasti128 -176(%r11),%ymm2
989
+ vaesenc %ymm2,%ymm12,%ymm12
990
+ vaesenc %ymm2,%ymm13,%ymm13
991
+ vaesenc %ymm2,%ymm14,%ymm14
992
+ vaesenc %ymm2,%ymm15,%ymm15
993
+
994
+ vbroadcasti128 -160(%r11),%ymm2
995
+ vaesenc %ymm2,%ymm12,%ymm12
996
+ vaesenc %ymm2,%ymm13,%ymm13
997
+ vaesenc %ymm2,%ymm14,%ymm14
998
+ vaesenc %ymm2,%ymm15,%ymm15
999
+
1000
+ .Laes128__func2:
1001
+ prefetcht0 512(%rdi)
1002
+ prefetcht0 512+64(%rdi)
1003
+ // First vector
1004
+ vmovdqu 0(%rdi),%ymm3
1005
+ vpshufb %ymm0,%ymm3,%ymm3
1006
+ vmovdqu 0(%r9),%ymm4
1007
+ vpxor %ymm1,%ymm3,%ymm3
1008
+ vpclmulqdq $0x00,%ymm4,%ymm3,%ymm5
1009
+ vpclmulqdq $0x11,%ymm4,%ymm3,%ymm1
1010
+ vpunpckhqdq %ymm3,%ymm3,%ymm2
1011
+ vpxor %ymm3,%ymm2,%ymm2
1012
+ vpclmulqdq $0x00,%ymm7,%ymm2,%ymm6
1013
+
1014
+ vbroadcasti128 -144(%r11),%ymm2
1015
+ vaesenc %ymm2,%ymm12,%ymm12
1016
+ vaesenc %ymm2,%ymm13,%ymm13
1017
+ vaesenc %ymm2,%ymm14,%ymm14
1018
+ vaesenc %ymm2,%ymm15,%ymm15
1019
+
1020
+
1021
+ vbroadcasti128 -128(%r11),%ymm2
1022
+ vaesenc %ymm2,%ymm12,%ymm12
1023
+ vaesenc %ymm2,%ymm13,%ymm13
1024
+ vaesenc %ymm2,%ymm14,%ymm14
1025
+ vaesenc %ymm2,%ymm15,%ymm15
1026
+
1027
+ // Second vector
1028
+ vmovdqu 32(%rdi),%ymm3
1029
+ vpshufb %ymm0,%ymm3,%ymm3
1030
+ vmovdqu 32(%r9),%ymm4
1031
+ vpclmulqdq $0x00,%ymm4,%ymm3,%ymm2
1032
+ vpxor %ymm2,%ymm5,%ymm5
1033
+ vpclmulqdq $0x11,%ymm4,%ymm3,%ymm2
1034
+ vpxor %ymm2,%ymm1,%ymm1
1035
+ vpunpckhqdq %ymm3,%ymm3,%ymm2
1036
+ vpxor %ymm3,%ymm2,%ymm2
1037
+ vpclmulqdq $0x10,%ymm7,%ymm2,%ymm2
1038
+ vpxor %ymm2,%ymm6,%ymm6
1039
+
1040
+ vbroadcasti128 -112(%r11),%ymm2
1041
+ vaesenc %ymm2,%ymm12,%ymm12
1042
+ vaesenc %ymm2,%ymm13,%ymm13
1043
+ vaesenc %ymm2,%ymm14,%ymm14
1044
+ vaesenc %ymm2,%ymm15,%ymm15
1045
+
1046
+ // Third vector
1047
+ vmovdqu 64(%rdi),%ymm3
1048
+ vpshufb %ymm0,%ymm3,%ymm3
1049
+ vmovdqu 64(%r9),%ymm4
1050
+
1051
+ vbroadcasti128 -96(%r11),%ymm2
1052
+ vaesenc %ymm2,%ymm12,%ymm12
1053
+ vaesenc %ymm2,%ymm13,%ymm13
1054
+ vaesenc %ymm2,%ymm14,%ymm14
1055
+ vaesenc %ymm2,%ymm15,%ymm15
1056
+
1057
+ vpclmulqdq $0x00,%ymm4,%ymm3,%ymm2
1058
+ vpxor %ymm2,%ymm5,%ymm5
1059
+ vpclmulqdq $0x11,%ymm4,%ymm3,%ymm2
1060
+ vpxor %ymm2,%ymm1,%ymm1
1061
+
1062
+ vbroadcasti128 -80(%r11),%ymm2
1063
+ vaesenc %ymm2,%ymm12,%ymm12
1064
+ vaesenc %ymm2,%ymm13,%ymm13
1065
+ vaesenc %ymm2,%ymm14,%ymm14
1066
+ vaesenc %ymm2,%ymm15,%ymm15
1067
+
1068
+ vpunpckhqdq %ymm3,%ymm3,%ymm2
1069
+ vpxor %ymm3,%ymm2,%ymm2
1070
+ vpclmulqdq $0x00,%ymm8,%ymm2,%ymm2
1071
+ vpxor %ymm2,%ymm6,%ymm6
1072
+
1073
+ // Fourth vector
1074
+ vmovdqu 96(%rdi),%ymm3
1075
+ vpshufb %ymm0,%ymm3,%ymm3
1076
+
1077
+ vbroadcasti128 -64(%r11),%ymm2
1078
+ vaesenc %ymm2,%ymm12,%ymm12
1079
+ vaesenc %ymm2,%ymm13,%ymm13
1080
+ vaesenc %ymm2,%ymm14,%ymm14
1081
+ vaesenc %ymm2,%ymm15,%ymm15
1082
+
1083
+ vmovdqu 96(%r9),%ymm4
1084
+ vpclmulqdq $0x00,%ymm4,%ymm3,%ymm2
1085
+ vpxor %ymm2,%ymm5,%ymm5
1086
+ vpclmulqdq $0x11,%ymm4,%ymm3,%ymm2
1087
+ vpxor %ymm2,%ymm1,%ymm1
1088
+ vpunpckhqdq %ymm3,%ymm3,%ymm2
1089
+ vpxor %ymm3,%ymm2,%ymm2
1090
+ vpclmulqdq $0x10,%ymm8,%ymm2,%ymm2
1091
+ vpxor %ymm2,%ymm6,%ymm6
1092
+
1093
+ vbroadcasti128 -48(%r11),%ymm2
1094
+ vaesenc %ymm2,%ymm12,%ymm12
1095
+ vaesenc %ymm2,%ymm13,%ymm13
1096
+ vaesenc %ymm2,%ymm14,%ymm14
1097
+ vaesenc %ymm2,%ymm15,%ymm15
1098
+
1099
+ // Finalize 'mi' following Karatsuba multiplication.
1100
+ vpxor %ymm5,%ymm6,%ymm6
1101
+ vpxor %ymm1,%ymm6,%ymm6
1102
+
1103
+ // Fold lo into mi.
1104
+ vbroadcasti128 .Lgfpoly(%rip),%ymm4
1105
+ vpclmulqdq $0x01,%ymm5,%ymm4,%ymm2
1106
+ vpshufd $0x4e,%ymm5,%ymm5
1107
+ vpxor %ymm5,%ymm6,%ymm6
1108
+ vpxor %ymm2,%ymm6,%ymm6
1109
+
1110
+ vbroadcasti128 -32(%r11),%ymm2
1111
+ vaesenc %ymm2,%ymm12,%ymm12
1112
+ vaesenc %ymm2,%ymm13,%ymm13
1113
+ vaesenc %ymm2,%ymm14,%ymm14
1114
+ vaesenc %ymm2,%ymm15,%ymm15
1115
+
1116
+ // Fold mi into hi.
1117
+ vpclmulqdq $0x01,%ymm6,%ymm4,%ymm2
1118
+ vpshufd $0x4e,%ymm6,%ymm6
1119
+ vpxor %ymm6,%ymm1,%ymm1
1120
+ vpxor %ymm2,%ymm1,%ymm1
1121
+
1122
+ vbroadcasti128 -16(%r11),%ymm2
1123
+ vaesenc %ymm2,%ymm12,%ymm12
1124
+ vaesenc %ymm2,%ymm13,%ymm13
1125
+ vaesenc %ymm2,%ymm14,%ymm14
1126
+ vaesenc %ymm2,%ymm15,%ymm15
1127
+
1128
+ vextracti128 $1,%ymm1,%xmm2
1129
+ vpxor %xmm2,%xmm1,%xmm1
1130
+
1131
+
1132
+ // 128 is 4 bytes, -128 is 1 byte
1133
+ vpxor 0(%rdi),%ymm10,%ymm2
1134
+ vpxor 32(%rdi),%ymm10,%ymm3
1135
+ vpxor 64(%rdi),%ymm10,%ymm5
1136
+ vpxor 96(%rdi),%ymm10,%ymm6
1137
+ vaesenclast %ymm2,%ymm12,%ymm12
1138
+ vaesenclast %ymm3,%ymm13,%ymm13
1139
+ vaesenclast %ymm5,%ymm14,%ymm14
1140
+ vaesenclast %ymm6,%ymm15,%ymm15
1141
+ vmovdqu %ymm12,0(%rsi)
1142
+ vmovdqu %ymm13,32(%rsi)
1143
+ vmovdqu %ymm14,64(%rsi)
1144
+ vmovdqu %ymm15,96(%rsi)
1145
+
1146
+ subq $-128,%rdi
1147
+ subq $-128,%rsi
1148
+ addq $-128,%rdx
1149
+ cmpq $127,%rdx
1150
+ ja .Lcrypt_loop_4x__func2
1151
+ .Lcrypt_loop_4x_done__func2:
1152
+ // Check whether any data remains.
1153
+ testq %rdx,%rdx
1154
+ jz .Ldone__func2
1155
+
1156
+ // DATALEN is in [16, 32, 48, 64, 80, 96, 112].
1157
+
1158
+ // Make POWERS_PTR point to the key powers [H^N, H^(N-1), ...] where N
1159
+ // is the number of blocks that remain.
1160
+ leaq 128(%r9),%r8
1161
+ subq %rdx,%r8
1162
+
1163
+ // Start collecting the unreduced GHASH intermediate value LO, MI, HI.
1164
+ vpxor %xmm5,%xmm5,%xmm5
1165
+ vpxor %xmm6,%xmm6,%xmm6
1166
+ vpxor %xmm7,%xmm7,%xmm7
1167
+
1168
+ cmpq $64,%rdx
1169
+ jb .Llessthan64bytes__func2
1170
+
1171
+ // DATALEN is in [64, 80, 96, 112]. Encrypt two vectors of counter blocks.
1172
+ vpshufb %ymm0,%ymm11,%ymm12
1173
+ vpaddd .Linc_2blocks(%rip),%ymm11,%ymm11
1174
+ vpshufb %ymm0,%ymm11,%ymm13
1175
+ vpaddd .Linc_2blocks(%rip),%ymm11,%ymm11
1176
+ vpxor %ymm9,%ymm12,%ymm12
1177
+ vpxor %ymm9,%ymm13,%ymm13
1178
+ leaq 16(%rcx),%rax
1179
+ .Lvaesenc_loop_tail_1__func2:
1180
+ vbroadcasti128 (%rax),%ymm2
1181
+ vaesenc %ymm2,%ymm12,%ymm12
1182
+ vaesenc %ymm2,%ymm13,%ymm13
1183
+ addq $16,%rax
1184
+ cmpq %rax,%r11
1185
+ jne .Lvaesenc_loop_tail_1__func2
1186
+ vaesenclast %ymm10,%ymm12,%ymm12
1187
+ vaesenclast %ymm10,%ymm13,%ymm13
1188
+
1189
+ // XOR the data with the two vectors of keystream blocks.
1190
+ vmovdqu 0(%rdi),%ymm2
1191
+ vmovdqu 32(%rdi),%ymm3
1192
+ vpxor %ymm2,%ymm12,%ymm12
1193
+ vpxor %ymm3,%ymm13,%ymm13
1194
+ vmovdqu %ymm12,0(%rsi)
1195
+ vmovdqu %ymm13,32(%rsi)
1196
+
1197
+ // Update GHASH with two vectors of ciphertext blocks, without reducing.
1198
+ vpshufb %ymm0,%ymm2,%ymm12
1199
+ vpshufb %ymm0,%ymm3,%ymm13
1200
+ vpxor %ymm1,%ymm12,%ymm12
1201
+ vmovdqu (%r8),%ymm2
1202
+ vmovdqu 32(%r8),%ymm3
1203
+ vpclmulqdq $0x00,%ymm2,%ymm12,%ymm5
1204
+ vpclmulqdq $0x01,%ymm2,%ymm12,%ymm6
1205
+ vpclmulqdq $0x10,%ymm2,%ymm12,%ymm4
1206
+ vpxor %ymm4,%ymm6,%ymm6
1207
+ vpclmulqdq $0x11,%ymm2,%ymm12,%ymm7
1208
+ vpclmulqdq $0x00,%ymm3,%ymm13,%ymm4
1209
+ vpxor %ymm4,%ymm5,%ymm5
1210
+ vpclmulqdq $0x01,%ymm3,%ymm13,%ymm4
1211
+ vpxor %ymm4,%ymm6,%ymm6
1212
+ vpclmulqdq $0x10,%ymm3,%ymm13,%ymm4
1213
+ vpxor %ymm4,%ymm6,%ymm6
1214
+ vpclmulqdq $0x11,%ymm3,%ymm13,%ymm4
1215
+ vpxor %ymm4,%ymm7,%ymm7
1216
+
1217
+ addq $64,%r8
1218
+ addq $64,%rdi
1219
+ addq $64,%rsi
1220
+ subq $64,%rdx
1221
+ jz .Lreduce__func2
1222
+
1223
+ vpxor %xmm1,%xmm1,%xmm1
1224
+
1225
+ // DATALEN is in [16, 32, 48]. Encrypt two last vectors of counter blocks.
1226
+ .Llessthan64bytes__func2:
1227
+ vpshufb %ymm0,%ymm11,%ymm12
1228
+ vpaddd .Linc_2blocks(%rip),%ymm11,%ymm11
1229
+ vpshufb %ymm0,%ymm11,%ymm13
1230
+ vpxor %ymm9,%ymm12,%ymm12
1231
+ vpxor %ymm9,%ymm13,%ymm13
1232
+ leaq 16(%rcx),%rax
1233
+ .Lvaesenc_loop_tail_2__func2:
1234
+ vbroadcasti128 (%rax),%ymm2
1235
+ vaesenc %ymm2,%ymm12,%ymm12
1236
+ vaesenc %ymm2,%ymm13,%ymm13
1237
+ addq $16,%rax
1238
+ cmpq %rax,%r11
1239
+ jne .Lvaesenc_loop_tail_2__func2
1240
+ vaesenclast %ymm10,%ymm12,%ymm12
1241
+ vaesenclast %ymm10,%ymm13,%ymm13
1242
+
1243
+ // XOR the remaining data with the keystream blocks, and update GHASH with
1244
+ // the remaining ciphertext blocks without reducing.
1245
+
1246
+ cmpq $32,%rdx
1247
+ jb .Lxor_one_block__func2
1248
+ je .Lxor_two_blocks__func2
1249
+
1250
+ .Lxor_three_blocks__func2:
1251
+ vmovdqu 0(%rdi),%ymm2
1252
+ vmovdqu 32(%rdi),%xmm3
1253
+ vpxor %ymm2,%ymm12,%ymm12
1254
+ vpxor %xmm3,%xmm13,%xmm13
1255
+ vmovdqu %ymm12,0(%rsi)
1256
+ vmovdqu %xmm13,32(%rsi)
1257
+
1258
+ vpshufb %ymm0,%ymm2,%ymm12
1259
+ vpshufb %xmm0,%xmm3,%xmm13
1260
+ vpxor %ymm1,%ymm12,%ymm12
1261
+ vmovdqu (%r8),%ymm2
1262
+ vmovdqu 32(%r8),%xmm3
1263
+ vpclmulqdq $0x00,%xmm3,%xmm13,%xmm4
1264
+ vpxor %ymm4,%ymm5,%ymm5
1265
+ vpclmulqdq $0x01,%xmm3,%xmm13,%xmm4
1266
+ vpxor %ymm4,%ymm6,%ymm6
1267
+ vpclmulqdq $0x10,%xmm3,%xmm13,%xmm4
1268
+ vpxor %ymm4,%ymm6,%ymm6
1269
+ vpclmulqdq $0x11,%xmm3,%xmm13,%xmm4
1270
+ vpxor %ymm4,%ymm7,%ymm7
1271
+ jmp .Lghash_mul_one_vec_unreduced__func2
1272
+
1273
+ .Lxor_two_blocks__func2:
1274
+ vmovdqu (%rdi),%ymm2
1275
+ vpxor %ymm2,%ymm12,%ymm12
1276
+ vmovdqu %ymm12,(%rsi)
1277
+ vpshufb %ymm0,%ymm2,%ymm12
1278
+ vpxor %ymm1,%ymm12,%ymm12
1279
+ vmovdqu (%r8),%ymm2
1280
+ jmp .Lghash_mul_one_vec_unreduced__func2
1281
+
1282
+ .Lxor_one_block__func2:
1283
+ vmovdqu (%rdi),%xmm2
1284
+ vpxor %xmm2,%xmm12,%xmm12
1285
+ vmovdqu %xmm12,(%rsi)
1286
+ vpshufb %xmm0,%xmm2,%xmm12
1287
+ vpxor %xmm1,%xmm12,%xmm12
1288
+ vmovdqu (%r8),%xmm2
1289
+
1290
+ .Lghash_mul_one_vec_unreduced__func2:
1291
+ vpclmulqdq $0x00,%ymm2,%ymm12,%ymm4
1292
+ vpxor %ymm4,%ymm5,%ymm5
1293
+ vpclmulqdq $0x01,%ymm2,%ymm12,%ymm4
1294
+ vpxor %ymm4,%ymm6,%ymm6
1295
+ vpclmulqdq $0x10,%ymm2,%ymm12,%ymm4
1296
+ vpxor %ymm4,%ymm6,%ymm6
1297
+ vpclmulqdq $0x11,%ymm2,%ymm12,%ymm4
1298
+ vpxor %ymm4,%ymm7,%ymm7
1299
+
1300
+ .Lreduce__func2:
1301
+ // Finally, do the GHASH reduction.
1302
+ vbroadcasti128 .Lgfpoly(%rip),%ymm2
1303
+ vpclmulqdq $0x01,%ymm5,%ymm2,%ymm3
1304
+ vpshufd $0x4e,%ymm5,%ymm5
1305
+ vpxor %ymm5,%ymm6,%ymm6
1306
+ vpxor %ymm3,%ymm6,%ymm6
1307
+ vpclmulqdq $0x01,%ymm6,%ymm2,%ymm3
1308
+ vpshufd $0x4e,%ymm6,%ymm6
1309
+ vpxor %ymm6,%ymm7,%ymm7
1310
+ vpxor %ymm3,%ymm7,%ymm7
1311
+ vextracti128 $1,%ymm7,%xmm1
1312
+ vpxor %xmm7,%xmm1,%xmm1
1313
+
1314
+ .Ldone__func2:
1315
+ // Store the updated GHASH accumulator back to memory.
1316
+ vpshufb %xmm0,%xmm1,%xmm1
1317
+ vmovdqu %xmm1,(%r12)
1318
+
1319
+ vzeroupper
1320
+ popq %r12
1321
+ .cfi_adjust_cfa_offset -8
1322
+ .cfi_restore %r12
1323
+ ret
1324
+
1325
+ .cfi_endproc
1326
+ .size aes_gcm_dec_update_vaes_avx2, . - aes_gcm_dec_update_vaes_avx2
1327
+ #endif