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,1326 @@
1
+ // This file is generated from a similarly-named Perl script in the BoringSSL
2
+ // source tree. Do not edit by hand.
3
+
4
+ #include <openssl/asm_base.h>
5
+
6
+ #if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86_64) && defined(__APPLE__)
7
+ .section __DATA,__const
8
+
9
+ .p2align 4
10
+ aes_gcm_avx2_constants:
11
+
12
+ // A shuffle mask that reflects the bytes of 16-byte blocks
13
+ L$bswap_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
+ L$gfpoly:
24
+ .quad 1, 0xc200000000000000
25
+
26
+ // Same as above, but with the (1 << 64) bit set.
27
+ L$gfpoly_and_internal_carrybit:
28
+ .quad 1, 0xc200000000000001
29
+
30
+ .p2align 5
31
+ // The below constants are used for incrementing the counter blocks.
32
+ L$ctr_pattern:
33
+ .quad 0, 0
34
+ .quad 1, 0
35
+ L$inc_2blocks:
36
+ .quad 2, 0
37
+ .quad 2, 0
38
+
39
+ .text
40
+ .globl _gcm_init_vpclmulqdq_avx2
41
+ .private_extern _gcm_init_vpclmulqdq_avx2
42
+
43
+ .p2align 5
44
+ _gcm_init_vpclmulqdq_avx2:
45
+
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 L$gfpoly_and_internal_carrybit(%rip),%xmm0,%xmm0
63
+ vpxor %xmm0,%xmm3,%xmm3
64
+
65
+ vbroadcasti128 L$gfpoly(%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
+
153
+
154
+ .globl _gcm_gmult_vpclmulqdq_avx2
155
+ .private_extern _gcm_gmult_vpclmulqdq_avx2
156
+
157
+ .p2align 5
158
+ .alt_entry _gcm_gmult_vpclmulqdq_avx2
159
+ _gcm_gmult_vpclmulqdq_avx2:
160
+
161
+
162
+ _CET_ENDBR
163
+
164
+
165
+
166
+ vmovdqu (%rdi),%xmm0
167
+ vmovdqu L$bswap_mask(%rip),%xmm1
168
+ vmovdqu 128-16(%rsi),%xmm2
169
+ vmovdqu L$gfpoly(%rip),%xmm3
170
+ vpshufb %xmm1,%xmm0,%xmm0
171
+
172
+ vpclmulqdq $0x00,%xmm2,%xmm0,%xmm4 // LO = a_L * b_L
173
+ vpclmulqdq $0x01,%xmm2,%xmm0,%xmm5 // MI_0 = a_L * b_H
174
+ vpclmulqdq $0x10,%xmm2,%xmm0,%xmm6 // MI_1 = a_H * b_L
175
+ vpxor %xmm6,%xmm5,%xmm5 // MI = MI_0 + MI_1
176
+ vpclmulqdq $0x01,%xmm4,%xmm3,%xmm6 // LO_L*(x^63 + x^62 + x^57)
177
+ vpshufd $0x4e,%xmm4,%xmm4 // Swap halves of LO
178
+ vpxor %xmm4,%xmm5,%xmm5 // Fold LO into MI (part 1)
179
+ vpxor %xmm6,%xmm5,%xmm5 // Fold LO into MI (part 2)
180
+ vpclmulqdq $0x11,%xmm2,%xmm0,%xmm0 // HI = a_H * b_H
181
+ vpclmulqdq $0x01,%xmm5,%xmm3,%xmm4 // MI_L*(x^63 + x^62 + x^57)
182
+ vpshufd $0x4e,%xmm5,%xmm5 // Swap halves of MI
183
+ vpxor %xmm5,%xmm0,%xmm0 // Fold MI into HI (part 1)
184
+ vpxor %xmm4,%xmm0,%xmm0 // Fold MI into HI (part 2)
185
+
186
+
187
+ vpshufb %xmm1,%xmm0,%xmm0
188
+ vmovdqu %xmm0,(%rdi)
189
+
190
+ // No need for vzeroupper, since only xmm registers were used.
191
+ ret
192
+
193
+
194
+
195
+ .globl _gcm_ghash_vpclmulqdq_avx2
196
+ .private_extern _gcm_ghash_vpclmulqdq_avx2
197
+
198
+ .p2align 5
199
+ .alt_entry _gcm_ghash_vpclmulqdq_avx2
200
+ _gcm_ghash_vpclmulqdq_avx2:
201
+
202
+
203
+ _CET_ENDBR
204
+
205
+
206
+
207
+ // Load the bswap_mask and gfpoly constants. Since AADLEN is usually small,
208
+ // usually only 128-bit vectors will be used. So as an optimization, don't
209
+ // broadcast these constants to both 128-bit lanes quite yet.
210
+ vmovdqu L$bswap_mask(%rip),%xmm6
211
+ vmovdqu L$gfpoly(%rip),%xmm7
212
+
213
+ // Load the GHASH accumulator.
214
+ vmovdqu (%rdi),%xmm5
215
+ vpshufb %xmm6,%xmm5,%xmm5
216
+
217
+ // Optimize for AADLEN < 32 by checking for AADLEN < 32 before AADLEN < 128.
218
+ cmpq $32,%rcx
219
+ jb L$ghash_lastblock
220
+
221
+ // AADLEN >= 32, so we'll operate on full vectors. Broadcast bswap_mask and
222
+ // gfpoly to both 128-bit lanes.
223
+ vinserti128 $1,%xmm6,%ymm6,%ymm6
224
+ vinserti128 $1,%xmm7,%ymm7,%ymm7
225
+
226
+ cmpq $127,%rcx
227
+ jbe L$ghash_loop_1x
228
+
229
+ // Update GHASH with 128 bytes of AAD at a time.
230
+ vmovdqu 128(%rsi),%ymm8
231
+ vmovdqu 128+32(%rsi),%ymm9
232
+ L$ghash_loop_4x:
233
+ // First vector
234
+ vmovdqu 0(%rdx),%ymm1
235
+ vpshufb %ymm6,%ymm1,%ymm1
236
+ vmovdqu 0(%rsi),%ymm2
237
+ vpxor %ymm5,%ymm1,%ymm1
238
+ vpclmulqdq $0x00,%ymm2,%ymm1,%ymm3
239
+ vpclmulqdq $0x11,%ymm2,%ymm1,%ymm5
240
+ vpunpckhqdq %ymm1,%ymm1,%ymm0
241
+ vpxor %ymm1,%ymm0,%ymm0
242
+ vpclmulqdq $0x00,%ymm8,%ymm0,%ymm4
243
+ // Second vector
244
+ vmovdqu 32(%rdx),%ymm1
245
+ vpshufb %ymm6,%ymm1,%ymm1
246
+ vmovdqu 32(%rsi),%ymm2
247
+ vpclmulqdq $0x00,%ymm2,%ymm1,%ymm0
248
+ vpxor %ymm0,%ymm3,%ymm3
249
+ vpclmulqdq $0x11,%ymm2,%ymm1,%ymm0
250
+ vpxor %ymm0,%ymm5,%ymm5
251
+ vpunpckhqdq %ymm1,%ymm1,%ymm0
252
+ vpxor %ymm1,%ymm0,%ymm0
253
+ vpclmulqdq $0x10,%ymm8,%ymm0,%ymm0
254
+ vpxor %ymm0,%ymm4,%ymm4
255
+ // Third vector
256
+ vmovdqu 64(%rdx),%ymm1
257
+ vpshufb %ymm6,%ymm1,%ymm1
258
+ vmovdqu 64(%rsi),%ymm2
259
+ vpclmulqdq $0x00,%ymm2,%ymm1,%ymm0
260
+ vpxor %ymm0,%ymm3,%ymm3
261
+ vpclmulqdq $0x11,%ymm2,%ymm1,%ymm0
262
+ vpxor %ymm0,%ymm5,%ymm5
263
+ vpunpckhqdq %ymm1,%ymm1,%ymm0
264
+ vpxor %ymm1,%ymm0,%ymm0
265
+ vpclmulqdq $0x00,%ymm9,%ymm0,%ymm0
266
+ vpxor %ymm0,%ymm4,%ymm4
267
+
268
+ // Fourth vector
269
+ vmovdqu 96(%rdx),%ymm1
270
+ vpshufb %ymm6,%ymm1,%ymm1
271
+ vmovdqu 96(%rsi),%ymm2
272
+ vpclmulqdq $0x00,%ymm2,%ymm1,%ymm0
273
+ vpxor %ymm0,%ymm3,%ymm3
274
+ vpclmulqdq $0x11,%ymm2,%ymm1,%ymm0
275
+ vpxor %ymm0,%ymm5,%ymm5
276
+ vpunpckhqdq %ymm1,%ymm1,%ymm0
277
+ vpxor %ymm1,%ymm0,%ymm0
278
+ vpclmulqdq $0x10,%ymm9,%ymm0,%ymm0
279
+ vpxor %ymm0,%ymm4,%ymm4
280
+ // Finalize 'mi' following Karatsuba multiplication.
281
+ vpxor %ymm3,%ymm4,%ymm4
282
+ vpxor %ymm5,%ymm4,%ymm4
283
+
284
+ // Fold lo into mi.
285
+ vbroadcasti128 L$gfpoly(%rip),%ymm2
286
+ vpclmulqdq $0x01,%ymm3,%ymm2,%ymm0
287
+ vpshufd $0x4e,%ymm3,%ymm3
288
+ vpxor %ymm3,%ymm4,%ymm4
289
+ vpxor %ymm0,%ymm4,%ymm4
290
+ // Fold mi into hi.
291
+ vpclmulqdq $0x01,%ymm4,%ymm2,%ymm0
292
+ vpshufd $0x4e,%ymm4,%ymm4
293
+ vpxor %ymm4,%ymm5,%ymm5
294
+ vpxor %ymm0,%ymm5,%ymm5
295
+ vextracti128 $1,%ymm5,%xmm0
296
+ vpxor %xmm0,%xmm5,%xmm5
297
+
298
+ subq $-128,%rdx // 128 is 4 bytes, -128 is 1 byte
299
+ addq $-128,%rcx
300
+ cmpq $127,%rcx
301
+ ja L$ghash_loop_4x
302
+
303
+ // Update GHASH with 32 bytes of AAD at a time.
304
+ cmpq $32,%rcx
305
+ jb L$ghash_loop_1x_done
306
+ L$ghash_loop_1x:
307
+ vmovdqu (%rdx),%ymm0
308
+ vpshufb %ymm6,%ymm0,%ymm0
309
+ vpxor %ymm0,%ymm5,%ymm5
310
+ vmovdqu 128-32(%rsi),%ymm0
311
+ vpclmulqdq $0x00,%ymm0,%ymm5,%ymm1 // LO = a_L * b_L
312
+ vpclmulqdq $0x01,%ymm0,%ymm5,%ymm2 // MI_0 = a_L * b_H
313
+ vpclmulqdq $0x10,%ymm0,%ymm5,%ymm3 // MI_1 = a_H * b_L
314
+ vpxor %ymm3,%ymm2,%ymm2 // MI = MI_0 + MI_1
315
+ vpclmulqdq $0x01,%ymm1,%ymm7,%ymm3 // LO_L*(x^63 + x^62 + x^57)
316
+ vpshufd $0x4e,%ymm1,%ymm1 // Swap halves of LO
317
+ vpxor %ymm1,%ymm2,%ymm2 // Fold LO into MI (part 1)
318
+ vpxor %ymm3,%ymm2,%ymm2 // Fold LO into MI (part 2)
319
+ vpclmulqdq $0x11,%ymm0,%ymm5,%ymm5 // HI = a_H * b_H
320
+ vpclmulqdq $0x01,%ymm2,%ymm7,%ymm1 // MI_L*(x^63 + x^62 + x^57)
321
+ vpshufd $0x4e,%ymm2,%ymm2 // Swap halves of MI
322
+ vpxor %ymm2,%ymm5,%ymm5 // Fold MI into HI (part 1)
323
+ vpxor %ymm1,%ymm5,%ymm5 // Fold MI into HI (part 2)
324
+
325
+ vextracti128 $1,%ymm5,%xmm0
326
+ vpxor %xmm0,%xmm5,%xmm5
327
+ addq $32,%rdx
328
+ subq $32,%rcx
329
+ cmpq $32,%rcx
330
+ jae L$ghash_loop_1x
331
+ L$ghash_loop_1x_done:
332
+
333
+ // Update GHASH with the remaining 16-byte block if any.
334
+ L$ghash_lastblock:
335
+ testq %rcx,%rcx
336
+ jz L$ghash_done
337
+ vmovdqu (%rdx),%xmm0
338
+ vpshufb %xmm6,%xmm0,%xmm0
339
+ vpxor %xmm0,%xmm5,%xmm5
340
+ vmovdqu 128-16(%rsi),%xmm0
341
+ vpclmulqdq $0x00,%xmm0,%xmm5,%xmm1 // LO = a_L * b_L
342
+ vpclmulqdq $0x01,%xmm0,%xmm5,%xmm2 // MI_0 = a_L * b_H
343
+ vpclmulqdq $0x10,%xmm0,%xmm5,%xmm3 // MI_1 = a_H * b_L
344
+ vpxor %xmm3,%xmm2,%xmm2 // MI = MI_0 + MI_1
345
+ vpclmulqdq $0x01,%xmm1,%xmm7,%xmm3 // LO_L*(x^63 + x^62 + x^57)
346
+ vpshufd $0x4e,%xmm1,%xmm1 // Swap halves of LO
347
+ vpxor %xmm1,%xmm2,%xmm2 // Fold LO into MI (part 1)
348
+ vpxor %xmm3,%xmm2,%xmm2 // Fold LO into MI (part 2)
349
+ vpclmulqdq $0x11,%xmm0,%xmm5,%xmm5 // HI = a_H * b_H
350
+ vpclmulqdq $0x01,%xmm2,%xmm7,%xmm1 // MI_L*(x^63 + x^62 + x^57)
351
+ vpshufd $0x4e,%xmm2,%xmm2 // Swap halves of MI
352
+ vpxor %xmm2,%xmm5,%xmm5 // Fold MI into HI (part 1)
353
+ vpxor %xmm1,%xmm5,%xmm5 // Fold MI into HI (part 2)
354
+
355
+
356
+ L$ghash_done:
357
+ // Store the updated GHASH accumulator back to memory.
358
+ vpshufb %xmm6,%xmm5,%xmm5
359
+ vmovdqu %xmm5,(%rdi)
360
+
361
+ vzeroupper
362
+ ret
363
+
364
+
365
+
366
+ .globl _aes_gcm_enc_update_vaes_avx2
367
+ .private_extern _aes_gcm_enc_update_vaes_avx2
368
+
369
+ .p2align 5
370
+ .alt_entry _aes_gcm_enc_update_vaes_avx2
371
+ _aes_gcm_enc_update_vaes_avx2:
372
+
373
+
374
+ _CET_ENDBR
375
+ pushq %r12
376
+
377
+
378
+ movq 16(%rsp),%r12 // arg7
379
+ #ifdef BORINGSSL_DISPATCH_TEST
380
+
381
+ movb $1,_BORINGSSL_function_hit+6(%rip)
382
+ #endif
383
+ vbroadcasti128 L$bswap_mask(%rip),%ymm0
384
+
385
+ // Load the GHASH accumulator and the starting counter.
386
+ // BoringSSL passes these values in big endian format.
387
+ vmovdqu (%r12),%xmm1
388
+ vpshufb %xmm0,%xmm1,%xmm1
389
+ vbroadcasti128 (%r8),%ymm11
390
+ vpshufb %ymm0,%ymm11,%ymm11
391
+
392
+ // Load the AES key length in bytes. BoringSSL stores number of rounds
393
+ // minus 1, so convert using: AESKEYLEN = 4 * aeskey->rounds - 20.
394
+ movl 240(%rcx),%r10d
395
+ leal -20(,%r10,4),%r10d
396
+
397
+ // Make RNDKEYLAST_PTR point to the last AES round key. This is the
398
+ // round key with index 10, 12, or 14 for AES-128, AES-192, or AES-256
399
+ // respectively. Then load the zero-th and last round keys.
400
+ leaq 96(%rcx,%r10,4),%r11
401
+ vbroadcasti128 (%rcx),%ymm9
402
+ vbroadcasti128 (%r11),%ymm10
403
+
404
+ // Finish initializing LE_CTR by adding 1 to the second block.
405
+ vpaddd L$ctr_pattern(%rip),%ymm11,%ymm11
406
+
407
+ // If there are at least 128 bytes of data, then continue into the loop that
408
+ // processes 128 bytes of data at a time. Otherwise skip it.
409
+ cmpq $127,%rdx
410
+ jbe L$crypt_loop_4x_done__func1
411
+
412
+ vmovdqu 128(%r9),%ymm7
413
+ vmovdqu 128+32(%r9),%ymm8
414
+ // Encrypt the first 4 vectors of plaintext blocks.
415
+ // Increment le_ctr four times to generate four vectors of little-endian
416
+ // counter blocks, swap each to big-endian, and store them in aesdata[0-3].
417
+ vmovdqu L$inc_2blocks(%rip),%ymm2
418
+ vpshufb %ymm0,%ymm11,%ymm12
419
+ vpaddd %ymm2,%ymm11,%ymm11
420
+ vpshufb %ymm0,%ymm11,%ymm13
421
+ vpaddd %ymm2,%ymm11,%ymm11
422
+ vpshufb %ymm0,%ymm11,%ymm14
423
+ vpaddd %ymm2,%ymm11,%ymm11
424
+ vpshufb %ymm0,%ymm11,%ymm15
425
+ vpaddd %ymm2,%ymm11,%ymm11
426
+
427
+ // AES "round zero": XOR in the zero-th round key.
428
+ vpxor %ymm9,%ymm12,%ymm12
429
+ vpxor %ymm9,%ymm13,%ymm13
430
+ vpxor %ymm9,%ymm14,%ymm14
431
+ vpxor %ymm9,%ymm15,%ymm15
432
+
433
+ leaq 16(%rcx),%rax
434
+ L$vaesenc_loop_first_4_vecs__func1:
435
+ vbroadcasti128 (%rax),%ymm2
436
+ vaesenc %ymm2,%ymm12,%ymm12
437
+ vaesenc %ymm2,%ymm13,%ymm13
438
+ vaesenc %ymm2,%ymm14,%ymm14
439
+ vaesenc %ymm2,%ymm15,%ymm15
440
+
441
+ addq $16,%rax
442
+ cmpq %rax,%r11
443
+ jne L$vaesenc_loop_first_4_vecs__func1
444
+ vpxor 0(%rdi),%ymm10,%ymm2
445
+ vpxor 32(%rdi),%ymm10,%ymm3
446
+ vpxor 64(%rdi),%ymm10,%ymm5
447
+ vpxor 96(%rdi),%ymm10,%ymm6
448
+ vaesenclast %ymm2,%ymm12,%ymm12
449
+ vaesenclast %ymm3,%ymm13,%ymm13
450
+ vaesenclast %ymm5,%ymm14,%ymm14
451
+ vaesenclast %ymm6,%ymm15,%ymm15
452
+ vmovdqu %ymm12,0(%rsi)
453
+ vmovdqu %ymm13,32(%rsi)
454
+ vmovdqu %ymm14,64(%rsi)
455
+ vmovdqu %ymm15,96(%rsi)
456
+
457
+ subq $-128,%rdi // 128 is 4 bytes, -128 is 1 byte
458
+ addq $-128,%rdx
459
+ cmpq $127,%rdx
460
+ jbe L$ghash_last_ciphertext_4x__func1
461
+ .p2align 4
462
+ L$crypt_loop_4x__func1:
463
+
464
+ // Start the AES encryption of the counter blocks.
465
+ // Increment le_ctr four times to generate four vectors of little-endian
466
+ // counter blocks, swap each to big-endian, and store them in aesdata[0-3].
467
+ vmovdqu L$inc_2blocks(%rip),%ymm2
468
+ vpshufb %ymm0,%ymm11,%ymm12
469
+ vpaddd %ymm2,%ymm11,%ymm11
470
+ vpshufb %ymm0,%ymm11,%ymm13
471
+ vpaddd %ymm2,%ymm11,%ymm11
472
+ vpshufb %ymm0,%ymm11,%ymm14
473
+ vpaddd %ymm2,%ymm11,%ymm11
474
+ vpshufb %ymm0,%ymm11,%ymm15
475
+ vpaddd %ymm2,%ymm11,%ymm11
476
+
477
+ // AES "round zero": XOR in the zero-th round key.
478
+ vpxor %ymm9,%ymm12,%ymm12
479
+ vpxor %ymm9,%ymm13,%ymm13
480
+ vpxor %ymm9,%ymm14,%ymm14
481
+ vpxor %ymm9,%ymm15,%ymm15
482
+
483
+ cmpl $24,%r10d
484
+ jl L$aes128__func1
485
+ je L$aes192__func1
486
+ // AES-256
487
+ vbroadcasti128 -208(%r11),%ymm2
488
+ vaesenc %ymm2,%ymm12,%ymm12
489
+ vaesenc %ymm2,%ymm13,%ymm13
490
+ vaesenc %ymm2,%ymm14,%ymm14
491
+ vaesenc %ymm2,%ymm15,%ymm15
492
+
493
+ vbroadcasti128 -192(%r11),%ymm2
494
+ vaesenc %ymm2,%ymm12,%ymm12
495
+ vaesenc %ymm2,%ymm13,%ymm13
496
+ vaesenc %ymm2,%ymm14,%ymm14
497
+ vaesenc %ymm2,%ymm15,%ymm15
498
+
499
+ L$aes192__func1:
500
+ vbroadcasti128 -176(%r11),%ymm2
501
+ vaesenc %ymm2,%ymm12,%ymm12
502
+ vaesenc %ymm2,%ymm13,%ymm13
503
+ vaesenc %ymm2,%ymm14,%ymm14
504
+ vaesenc %ymm2,%ymm15,%ymm15
505
+
506
+ vbroadcasti128 -160(%r11),%ymm2
507
+ vaesenc %ymm2,%ymm12,%ymm12
508
+ vaesenc %ymm2,%ymm13,%ymm13
509
+ vaesenc %ymm2,%ymm14,%ymm14
510
+ vaesenc %ymm2,%ymm15,%ymm15
511
+
512
+ L$aes128__func1:
513
+ prefetcht0 512(%rdi)
514
+ prefetcht0 512+64(%rdi)
515
+ // First vector
516
+ vmovdqu 0(%rsi),%ymm3
517
+ vpshufb %ymm0,%ymm3,%ymm3
518
+ vmovdqu 0(%r9),%ymm4
519
+ vpxor %ymm1,%ymm3,%ymm3
520
+ vpclmulqdq $0x00,%ymm4,%ymm3,%ymm5
521
+ vpclmulqdq $0x11,%ymm4,%ymm3,%ymm1
522
+ vpunpckhqdq %ymm3,%ymm3,%ymm2
523
+ vpxor %ymm3,%ymm2,%ymm2
524
+ vpclmulqdq $0x00,%ymm7,%ymm2,%ymm6
525
+
526
+ vbroadcasti128 -144(%r11),%ymm2
527
+ vaesenc %ymm2,%ymm12,%ymm12
528
+ vaesenc %ymm2,%ymm13,%ymm13
529
+ vaesenc %ymm2,%ymm14,%ymm14
530
+ vaesenc %ymm2,%ymm15,%ymm15
531
+
532
+
533
+ vbroadcasti128 -128(%r11),%ymm2
534
+ vaesenc %ymm2,%ymm12,%ymm12
535
+ vaesenc %ymm2,%ymm13,%ymm13
536
+ vaesenc %ymm2,%ymm14,%ymm14
537
+ vaesenc %ymm2,%ymm15,%ymm15
538
+
539
+ // Second vector
540
+ vmovdqu 32(%rsi),%ymm3
541
+ vpshufb %ymm0,%ymm3,%ymm3
542
+ vmovdqu 32(%r9),%ymm4
543
+ vpclmulqdq $0x00,%ymm4,%ymm3,%ymm2
544
+ vpxor %ymm2,%ymm5,%ymm5
545
+ vpclmulqdq $0x11,%ymm4,%ymm3,%ymm2
546
+ vpxor %ymm2,%ymm1,%ymm1
547
+ vpunpckhqdq %ymm3,%ymm3,%ymm2
548
+ vpxor %ymm3,%ymm2,%ymm2
549
+ vpclmulqdq $0x10,%ymm7,%ymm2,%ymm2
550
+ vpxor %ymm2,%ymm6,%ymm6
551
+
552
+ vbroadcasti128 -112(%r11),%ymm2
553
+ vaesenc %ymm2,%ymm12,%ymm12
554
+ vaesenc %ymm2,%ymm13,%ymm13
555
+ vaesenc %ymm2,%ymm14,%ymm14
556
+ vaesenc %ymm2,%ymm15,%ymm15
557
+
558
+ // Third vector
559
+ vmovdqu 64(%rsi),%ymm3
560
+ vpshufb %ymm0,%ymm3,%ymm3
561
+ vmovdqu 64(%r9),%ymm4
562
+
563
+ vbroadcasti128 -96(%r11),%ymm2
564
+ vaesenc %ymm2,%ymm12,%ymm12
565
+ vaesenc %ymm2,%ymm13,%ymm13
566
+ vaesenc %ymm2,%ymm14,%ymm14
567
+ vaesenc %ymm2,%ymm15,%ymm15
568
+
569
+ vpclmulqdq $0x00,%ymm4,%ymm3,%ymm2
570
+ vpxor %ymm2,%ymm5,%ymm5
571
+ vpclmulqdq $0x11,%ymm4,%ymm3,%ymm2
572
+ vpxor %ymm2,%ymm1,%ymm1
573
+
574
+ vbroadcasti128 -80(%r11),%ymm2
575
+ vaesenc %ymm2,%ymm12,%ymm12
576
+ vaesenc %ymm2,%ymm13,%ymm13
577
+ vaesenc %ymm2,%ymm14,%ymm14
578
+ vaesenc %ymm2,%ymm15,%ymm15
579
+
580
+ vpunpckhqdq %ymm3,%ymm3,%ymm2
581
+ vpxor %ymm3,%ymm2,%ymm2
582
+ vpclmulqdq $0x00,%ymm8,%ymm2,%ymm2
583
+ vpxor %ymm2,%ymm6,%ymm6
584
+
585
+ // Fourth vector
586
+ vmovdqu 96(%rsi),%ymm3
587
+ vpshufb %ymm0,%ymm3,%ymm3
588
+
589
+ vbroadcasti128 -64(%r11),%ymm2
590
+ vaesenc %ymm2,%ymm12,%ymm12
591
+ vaesenc %ymm2,%ymm13,%ymm13
592
+ vaesenc %ymm2,%ymm14,%ymm14
593
+ vaesenc %ymm2,%ymm15,%ymm15
594
+
595
+ vmovdqu 96(%r9),%ymm4
596
+ vpclmulqdq $0x00,%ymm4,%ymm3,%ymm2
597
+ vpxor %ymm2,%ymm5,%ymm5
598
+ vpclmulqdq $0x11,%ymm4,%ymm3,%ymm2
599
+ vpxor %ymm2,%ymm1,%ymm1
600
+ vpunpckhqdq %ymm3,%ymm3,%ymm2
601
+ vpxor %ymm3,%ymm2,%ymm2
602
+ vpclmulqdq $0x10,%ymm8,%ymm2,%ymm2
603
+ vpxor %ymm2,%ymm6,%ymm6
604
+
605
+ vbroadcasti128 -48(%r11),%ymm2
606
+ vaesenc %ymm2,%ymm12,%ymm12
607
+ vaesenc %ymm2,%ymm13,%ymm13
608
+ vaesenc %ymm2,%ymm14,%ymm14
609
+ vaesenc %ymm2,%ymm15,%ymm15
610
+
611
+ // Finalize 'mi' following Karatsuba multiplication.
612
+ vpxor %ymm5,%ymm6,%ymm6
613
+ vpxor %ymm1,%ymm6,%ymm6
614
+
615
+ // Fold lo into mi.
616
+ vbroadcasti128 L$gfpoly(%rip),%ymm4
617
+ vpclmulqdq $0x01,%ymm5,%ymm4,%ymm2
618
+ vpshufd $0x4e,%ymm5,%ymm5
619
+ vpxor %ymm5,%ymm6,%ymm6
620
+ vpxor %ymm2,%ymm6,%ymm6
621
+
622
+ vbroadcasti128 -32(%r11),%ymm2
623
+ vaesenc %ymm2,%ymm12,%ymm12
624
+ vaesenc %ymm2,%ymm13,%ymm13
625
+ vaesenc %ymm2,%ymm14,%ymm14
626
+ vaesenc %ymm2,%ymm15,%ymm15
627
+
628
+ // Fold mi into hi.
629
+ vpclmulqdq $0x01,%ymm6,%ymm4,%ymm2
630
+ vpshufd $0x4e,%ymm6,%ymm6
631
+ vpxor %ymm6,%ymm1,%ymm1
632
+ vpxor %ymm2,%ymm1,%ymm1
633
+
634
+ vbroadcasti128 -16(%r11),%ymm2
635
+ vaesenc %ymm2,%ymm12,%ymm12
636
+ vaesenc %ymm2,%ymm13,%ymm13
637
+ vaesenc %ymm2,%ymm14,%ymm14
638
+ vaesenc %ymm2,%ymm15,%ymm15
639
+
640
+ vextracti128 $1,%ymm1,%xmm2
641
+ vpxor %xmm2,%xmm1,%xmm1
642
+
643
+
644
+ subq $-128,%rsi // 128 is 4 bytes, -128 is 1 byte
645
+ vpxor 0(%rdi),%ymm10,%ymm2
646
+ vpxor 32(%rdi),%ymm10,%ymm3
647
+ vpxor 64(%rdi),%ymm10,%ymm5
648
+ vpxor 96(%rdi),%ymm10,%ymm6
649
+ vaesenclast %ymm2,%ymm12,%ymm12
650
+ vaesenclast %ymm3,%ymm13,%ymm13
651
+ vaesenclast %ymm5,%ymm14,%ymm14
652
+ vaesenclast %ymm6,%ymm15,%ymm15
653
+ vmovdqu %ymm12,0(%rsi)
654
+ vmovdqu %ymm13,32(%rsi)
655
+ vmovdqu %ymm14,64(%rsi)
656
+ vmovdqu %ymm15,96(%rsi)
657
+
658
+ subq $-128,%rdi
659
+
660
+ addq $-128,%rdx
661
+ cmpq $127,%rdx
662
+ ja L$crypt_loop_4x__func1
663
+ L$ghash_last_ciphertext_4x__func1:
664
+ // First vector
665
+ vmovdqu 0(%rsi),%ymm3
666
+ vpshufb %ymm0,%ymm3,%ymm3
667
+ vmovdqu 0(%r9),%ymm4
668
+ vpxor %ymm1,%ymm3,%ymm3
669
+ vpclmulqdq $0x00,%ymm4,%ymm3,%ymm5
670
+ vpclmulqdq $0x11,%ymm4,%ymm3,%ymm1
671
+ vpunpckhqdq %ymm3,%ymm3,%ymm2
672
+ vpxor %ymm3,%ymm2,%ymm2
673
+ vpclmulqdq $0x00,%ymm7,%ymm2,%ymm6
674
+ // Second vector
675
+ vmovdqu 32(%rsi),%ymm3
676
+ vpshufb %ymm0,%ymm3,%ymm3
677
+ vmovdqu 32(%r9),%ymm4
678
+ vpclmulqdq $0x00,%ymm4,%ymm3,%ymm2
679
+ vpxor %ymm2,%ymm5,%ymm5
680
+ vpclmulqdq $0x11,%ymm4,%ymm3,%ymm2
681
+ vpxor %ymm2,%ymm1,%ymm1
682
+ vpunpckhqdq %ymm3,%ymm3,%ymm2
683
+ vpxor %ymm3,%ymm2,%ymm2
684
+ vpclmulqdq $0x10,%ymm7,%ymm2,%ymm2
685
+ vpxor %ymm2,%ymm6,%ymm6
686
+ // Third vector
687
+ vmovdqu 64(%rsi),%ymm3
688
+ vpshufb %ymm0,%ymm3,%ymm3
689
+ vmovdqu 64(%r9),%ymm4
690
+ vpclmulqdq $0x00,%ymm4,%ymm3,%ymm2
691
+ vpxor %ymm2,%ymm5,%ymm5
692
+ vpclmulqdq $0x11,%ymm4,%ymm3,%ymm2
693
+ vpxor %ymm2,%ymm1,%ymm1
694
+ vpunpckhqdq %ymm3,%ymm3,%ymm2
695
+ vpxor %ymm3,%ymm2,%ymm2
696
+ vpclmulqdq $0x00,%ymm8,%ymm2,%ymm2
697
+ vpxor %ymm2,%ymm6,%ymm6
698
+
699
+ // Fourth vector
700
+ vmovdqu 96(%rsi),%ymm3
701
+ vpshufb %ymm0,%ymm3,%ymm3
702
+ vmovdqu 96(%r9),%ymm4
703
+ vpclmulqdq $0x00,%ymm4,%ymm3,%ymm2
704
+ vpxor %ymm2,%ymm5,%ymm5
705
+ vpclmulqdq $0x11,%ymm4,%ymm3,%ymm2
706
+ vpxor %ymm2,%ymm1,%ymm1
707
+ vpunpckhqdq %ymm3,%ymm3,%ymm2
708
+ vpxor %ymm3,%ymm2,%ymm2
709
+ vpclmulqdq $0x10,%ymm8,%ymm2,%ymm2
710
+ vpxor %ymm2,%ymm6,%ymm6
711
+ // Finalize 'mi' following Karatsuba multiplication.
712
+ vpxor %ymm5,%ymm6,%ymm6
713
+ vpxor %ymm1,%ymm6,%ymm6
714
+
715
+ // Fold lo into mi.
716
+ vbroadcasti128 L$gfpoly(%rip),%ymm4
717
+ vpclmulqdq $0x01,%ymm5,%ymm4,%ymm2
718
+ vpshufd $0x4e,%ymm5,%ymm5
719
+ vpxor %ymm5,%ymm6,%ymm6
720
+ vpxor %ymm2,%ymm6,%ymm6
721
+ // Fold mi into hi.
722
+ vpclmulqdq $0x01,%ymm6,%ymm4,%ymm2
723
+ vpshufd $0x4e,%ymm6,%ymm6
724
+ vpxor %ymm6,%ymm1,%ymm1
725
+ vpxor %ymm2,%ymm1,%ymm1
726
+ vextracti128 $1,%ymm1,%xmm2
727
+ vpxor %xmm2,%xmm1,%xmm1
728
+
729
+ subq $-128,%rsi
730
+ L$crypt_loop_4x_done__func1:
731
+ // Check whether any data remains.
732
+ testq %rdx,%rdx
733
+ jz L$done__func1
734
+
735
+ // DATALEN is in [16, 32, 48, 64, 80, 96, 112].
736
+
737
+ // Make POWERS_PTR point to the key powers [H^N, H^(N-1), ...] where N
738
+ // is the number of blocks that remain.
739
+ leaq 128(%r9),%r8
740
+ subq %rdx,%r8
741
+
742
+ // Start collecting the unreduced GHASH intermediate value LO, MI, HI.
743
+ vpxor %xmm5,%xmm5,%xmm5
744
+ vpxor %xmm6,%xmm6,%xmm6
745
+ vpxor %xmm7,%xmm7,%xmm7
746
+
747
+ cmpq $64,%rdx
748
+ jb L$lessthan64bytes__func1
749
+
750
+ // DATALEN is in [64, 80, 96, 112]. Encrypt two vectors of counter blocks.
751
+ vpshufb %ymm0,%ymm11,%ymm12
752
+ vpaddd L$inc_2blocks(%rip),%ymm11,%ymm11
753
+ vpshufb %ymm0,%ymm11,%ymm13
754
+ vpaddd L$inc_2blocks(%rip),%ymm11,%ymm11
755
+ vpxor %ymm9,%ymm12,%ymm12
756
+ vpxor %ymm9,%ymm13,%ymm13
757
+ leaq 16(%rcx),%rax
758
+ L$vaesenc_loop_tail_1__func1:
759
+ vbroadcasti128 (%rax),%ymm2
760
+ vaesenc %ymm2,%ymm12,%ymm12
761
+ vaesenc %ymm2,%ymm13,%ymm13
762
+ addq $16,%rax
763
+ cmpq %rax,%r11
764
+ jne L$vaesenc_loop_tail_1__func1
765
+ vaesenclast %ymm10,%ymm12,%ymm12
766
+ vaesenclast %ymm10,%ymm13,%ymm13
767
+
768
+ // XOR the data with the two vectors of keystream blocks.
769
+ vmovdqu 0(%rdi),%ymm2
770
+ vmovdqu 32(%rdi),%ymm3
771
+ vpxor %ymm2,%ymm12,%ymm12
772
+ vpxor %ymm3,%ymm13,%ymm13
773
+ vmovdqu %ymm12,0(%rsi)
774
+ vmovdqu %ymm13,32(%rsi)
775
+
776
+ // Update GHASH with two vectors of ciphertext blocks, without reducing.
777
+ vpshufb %ymm0,%ymm12,%ymm12
778
+ vpshufb %ymm0,%ymm13,%ymm13
779
+ vpxor %ymm1,%ymm12,%ymm12
780
+ vmovdqu (%r8),%ymm2
781
+ vmovdqu 32(%r8),%ymm3
782
+ vpclmulqdq $0x00,%ymm2,%ymm12,%ymm5
783
+ vpclmulqdq $0x01,%ymm2,%ymm12,%ymm6
784
+ vpclmulqdq $0x10,%ymm2,%ymm12,%ymm4
785
+ vpxor %ymm4,%ymm6,%ymm6
786
+ vpclmulqdq $0x11,%ymm2,%ymm12,%ymm7
787
+ vpclmulqdq $0x00,%ymm3,%ymm13,%ymm4
788
+ vpxor %ymm4,%ymm5,%ymm5
789
+ vpclmulqdq $0x01,%ymm3,%ymm13,%ymm4
790
+ vpxor %ymm4,%ymm6,%ymm6
791
+ vpclmulqdq $0x10,%ymm3,%ymm13,%ymm4
792
+ vpxor %ymm4,%ymm6,%ymm6
793
+ vpclmulqdq $0x11,%ymm3,%ymm13,%ymm4
794
+ vpxor %ymm4,%ymm7,%ymm7
795
+
796
+ addq $64,%r8
797
+ addq $64,%rdi
798
+ addq $64,%rsi
799
+ subq $64,%rdx
800
+ jz L$reduce__func1
801
+
802
+ vpxor %xmm1,%xmm1,%xmm1
803
+
804
+ // DATALEN is in [16, 32, 48]. Encrypt two last vectors of counter blocks.
805
+ L$lessthan64bytes__func1:
806
+ vpshufb %ymm0,%ymm11,%ymm12
807
+ vpaddd L$inc_2blocks(%rip),%ymm11,%ymm11
808
+ vpshufb %ymm0,%ymm11,%ymm13
809
+ vpxor %ymm9,%ymm12,%ymm12
810
+ vpxor %ymm9,%ymm13,%ymm13
811
+ leaq 16(%rcx),%rax
812
+ L$vaesenc_loop_tail_2__func1:
813
+ vbroadcasti128 (%rax),%ymm2
814
+ vaesenc %ymm2,%ymm12,%ymm12
815
+ vaesenc %ymm2,%ymm13,%ymm13
816
+ addq $16,%rax
817
+ cmpq %rax,%r11
818
+ jne L$vaesenc_loop_tail_2__func1
819
+ vaesenclast %ymm10,%ymm12,%ymm12
820
+ vaesenclast %ymm10,%ymm13,%ymm13
821
+
822
+ // XOR the remaining data with the keystream blocks, and update GHASH with
823
+ // the remaining ciphertext blocks without reducing.
824
+
825
+ cmpq $32,%rdx
826
+ jb L$xor_one_block__func1
827
+ je L$xor_two_blocks__func1
828
+
829
+ L$xor_three_blocks__func1:
830
+ vmovdqu 0(%rdi),%ymm2
831
+ vmovdqu 32(%rdi),%xmm3
832
+ vpxor %ymm2,%ymm12,%ymm12
833
+ vpxor %xmm3,%xmm13,%xmm13
834
+ vmovdqu %ymm12,0(%rsi)
835
+ vmovdqu %xmm13,32(%rsi)
836
+
837
+ vpshufb %ymm0,%ymm12,%ymm12
838
+ vpshufb %xmm0,%xmm13,%xmm13
839
+ vpxor %ymm1,%ymm12,%ymm12
840
+ vmovdqu (%r8),%ymm2
841
+ vmovdqu 32(%r8),%xmm3
842
+ vpclmulqdq $0x00,%xmm3,%xmm13,%xmm4
843
+ vpxor %ymm4,%ymm5,%ymm5
844
+ vpclmulqdq $0x01,%xmm3,%xmm13,%xmm4
845
+ vpxor %ymm4,%ymm6,%ymm6
846
+ vpclmulqdq $0x10,%xmm3,%xmm13,%xmm4
847
+ vpxor %ymm4,%ymm6,%ymm6
848
+ vpclmulqdq $0x11,%xmm3,%xmm13,%xmm4
849
+ vpxor %ymm4,%ymm7,%ymm7
850
+ jmp L$ghash_mul_one_vec_unreduced__func1
851
+
852
+ L$xor_two_blocks__func1:
853
+ vmovdqu (%rdi),%ymm2
854
+ vpxor %ymm2,%ymm12,%ymm12
855
+ vmovdqu %ymm12,(%rsi)
856
+ vpshufb %ymm0,%ymm12,%ymm12
857
+ vpxor %ymm1,%ymm12,%ymm12
858
+ vmovdqu (%r8),%ymm2
859
+ jmp L$ghash_mul_one_vec_unreduced__func1
860
+
861
+ L$xor_one_block__func1:
862
+ vmovdqu (%rdi),%xmm2
863
+ vpxor %xmm2,%xmm12,%xmm12
864
+ vmovdqu %xmm12,(%rsi)
865
+ vpshufb %xmm0,%xmm12,%xmm12
866
+ vpxor %xmm1,%xmm12,%xmm12
867
+ vmovdqu (%r8),%xmm2
868
+
869
+ L$ghash_mul_one_vec_unreduced__func1:
870
+ vpclmulqdq $0x00,%ymm2,%ymm12,%ymm4
871
+ vpxor %ymm4,%ymm5,%ymm5
872
+ vpclmulqdq $0x01,%ymm2,%ymm12,%ymm4
873
+ vpxor %ymm4,%ymm6,%ymm6
874
+ vpclmulqdq $0x10,%ymm2,%ymm12,%ymm4
875
+ vpxor %ymm4,%ymm6,%ymm6
876
+ vpclmulqdq $0x11,%ymm2,%ymm12,%ymm4
877
+ vpxor %ymm4,%ymm7,%ymm7
878
+
879
+ L$reduce__func1:
880
+ // Finally, do the GHASH reduction.
881
+ vbroadcasti128 L$gfpoly(%rip),%ymm2
882
+ vpclmulqdq $0x01,%ymm5,%ymm2,%ymm3
883
+ vpshufd $0x4e,%ymm5,%ymm5
884
+ vpxor %ymm5,%ymm6,%ymm6
885
+ vpxor %ymm3,%ymm6,%ymm6
886
+ vpclmulqdq $0x01,%ymm6,%ymm2,%ymm3
887
+ vpshufd $0x4e,%ymm6,%ymm6
888
+ vpxor %ymm6,%ymm7,%ymm7
889
+ vpxor %ymm3,%ymm7,%ymm7
890
+ vextracti128 $1,%ymm7,%xmm1
891
+ vpxor %xmm7,%xmm1,%xmm1
892
+
893
+ L$done__func1:
894
+ // Store the updated GHASH accumulator back to memory.
895
+ vpshufb %xmm0,%xmm1,%xmm1
896
+ vmovdqu %xmm1,(%r12)
897
+
898
+ vzeroupper
899
+ popq %r12
900
+
901
+ ret
902
+
903
+
904
+
905
+ .globl _aes_gcm_dec_update_vaes_avx2
906
+ .private_extern _aes_gcm_dec_update_vaes_avx2
907
+
908
+ .p2align 5
909
+ .alt_entry _aes_gcm_dec_update_vaes_avx2
910
+ _aes_gcm_dec_update_vaes_avx2:
911
+
912
+
913
+ _CET_ENDBR
914
+ pushq %r12
915
+
916
+
917
+ movq 16(%rsp),%r12 // arg7
918
+ vbroadcasti128 L$bswap_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 L$ctr_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 L$crypt_loop_4x_done__func2
946
+
947
+ vmovdqu 128(%r9),%ymm7
948
+ vmovdqu 128+32(%r9),%ymm8
949
+ .p2align 4
950
+ L$crypt_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 L$inc_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 L$aes128__func2
973
+ je L$aes192__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
+ L$aes192__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
+ L$aes128__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 L$gfpoly(%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 L$crypt_loop_4x__func2
1151
+ L$crypt_loop_4x_done__func2:
1152
+ // Check whether any data remains.
1153
+ testq %rdx,%rdx
1154
+ jz L$done__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 L$lessthan64bytes__func2
1170
+
1171
+ // DATALEN is in [64, 80, 96, 112]. Encrypt two vectors of counter blocks.
1172
+ vpshufb %ymm0,%ymm11,%ymm12
1173
+ vpaddd L$inc_2blocks(%rip),%ymm11,%ymm11
1174
+ vpshufb %ymm0,%ymm11,%ymm13
1175
+ vpaddd L$inc_2blocks(%rip),%ymm11,%ymm11
1176
+ vpxor %ymm9,%ymm12,%ymm12
1177
+ vpxor %ymm9,%ymm13,%ymm13
1178
+ leaq 16(%rcx),%rax
1179
+ L$vaesenc_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 L$vaesenc_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 L$reduce__func2
1222
+
1223
+ vpxor %xmm1,%xmm1,%xmm1
1224
+
1225
+ // DATALEN is in [16, 32, 48]. Encrypt two last vectors of counter blocks.
1226
+ L$lessthan64bytes__func2:
1227
+ vpshufb %ymm0,%ymm11,%ymm12
1228
+ vpaddd L$inc_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
+ L$vaesenc_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 L$vaesenc_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 L$xor_one_block__func2
1248
+ je L$xor_two_blocks__func2
1249
+
1250
+ L$xor_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 L$ghash_mul_one_vec_unreduced__func2
1272
+
1273
+ L$xor_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 L$ghash_mul_one_vec_unreduced__func2
1281
+
1282
+ L$xor_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
+ L$ghash_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
+ L$reduce__func2:
1301
+ // Finally, do the GHASH reduction.
1302
+ vbroadcasti128 L$gfpoly(%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
+ L$done__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
+
1322
+ ret
1323
+
1324
+
1325
+
1326
+ #endif