Skip to content

Instantly share code, notes, and snippets.

@bryanchriswhite
Created April 1, 2022 07:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bryanchriswhite/8fb31b76e43963ce98b3c1778de9f611 to your computer and use it in GitHub Desktop.
Save bryanchriswhite/8fb31b76e43963ce98b3c1778de9f611 to your computer and use it in GitHub Desktop.
.github/workflows/ci.yml | 104 +-
.github/workflows/codeql-analysis.yml | 38 +
.lgtm.yml | 4 +-
.travis.yml | 29 +-
README.md | 51 +-
SECURITY.md | 9 +
bindings/blst.h | 128 +-
bindings/blst.hpp | 630 ++++++--
bindings/blst.swg | 667 +++++++-
bindings/blst_aux.h | 29 +
bindings/go/README.md | 11 +-
bindings/go/assembly.S | 51 +-
bindings/go/blst.go | 1628 ++++++++++++++++----
bindings/go/blst.tgo | 209 ++-
bindings/go/blst_htoc_test.go | 92 +-
bindings/go/blst_minpk.tgo | 193 ++-
bindings/go/blst_minpk_test.go | 281 +++-
bindings/go/blst_minsig_test.go | 281 +++-
bindings/go/blst_misc.tgo | 108 +-
bindings/go/blst_px.tgo | 461 +++++-
bindings/go/generate.py | 13 +-
bindings/go/rb_tree.go | 149 ++
bindings/go/server.c | 7 +-
bindings/java/Android.mk | 37 +
bindings/java/build.sh | 84 +
bindings/java/run.me | 35 +-
bindings/java/runnable.java | 8 +-
bindings/node.js/binding.gyp | 42 +
bindings/node.js/blst.hpp.ts | 229 +++
bindings/node.js/blst_wrap.py | 56 +
bindings/node.js/run.me | 42 +-
bindings/node.js/runnable.js | 2 +-
bindings/node.js/runnable.ts | 42 +
bindings/node.js/tsconfig.json | 7 +
bindings/python/run.me | 342 +++-
bindings/rust/Cargo.toml | 30 +-
bindings/rust/README.md | 4 +-
bindings/rust/benches/blst_benches.rs | 71 +-
bindings/rust/build.rs | 123 +-
bindings/rust/publish.sh | 12 +
bindings/rust/src/bindings.rs | 367 ++++-
bindings/rust/src/lib.rs | 987 +++++++++---
.../BLS12381G1_XMD_SHA-256_SSWU_NU_.json | 90 ++
.../BLS12381G1_XMD_SHA-256_SSWU_RO_.json | 0
.../BLS12381G2_XMD_SHA-256_SSWU_NU_.json | 90 ++
.../BLS12381G2_XMD_SHA-256_SSWU_RO_.json | 0
bindings/{go => vectors}/hash_to_curve/README | 4 +-
.../expand_message_xmd_SHA256_256.json | 78 +
.../expand_message_xmd_SHA256_38.json | 78 +
build.bat | 25 +-
build.sh | 48 +-
build/assembly.S | 51 +-
build/bindings_trim.pl | 25 +-
build/coff/add_mod_256-armv8.S | 160 ++
build/coff/add_mod_256-x86_64.s | 268 ++++
build/coff/add_mod_384-armv8.S | 45 +-
build/coff/add_mod_384-x86_64.s | 131 +-
build/coff/ct_inverse_mod_256-armv8.S | 798 ++++++++++
build/coff/ct_inverse_mod_256-x86_64.s | 1209 +++++++++++++++
build/coff/ct_inverse_mod_384-armv8.S | 729 +++++++++
build/coff/ct_is_square_mod_384-armv8.S | 334 ++++
build/coff/ct_is_square_mod_384-x86_64.s | 505 ++++++
build/coff/ctq_inverse_mod_384-x86_64.s | 1221 +++++++++++++++
build/coff/ctx_inverse_mod_384-x86_64.s | 1596 +++++++++++++++++++
build/coff/div3w-armv8.S | 94 ++
build/coff/div3w-x86_64.s | 140 ++
build/coff/inverse_mod_256-armv8.S | 193 ---
build/coff/inverse_mod_256-x86_64.s | 317 ----
build/coff/inverse_mod_384-armv8.S | 246 ---
build/coff/inverse_mod_384-x86_64.s | 412 -----
build/coff/mulq_mont_384-x86_64.s | 53 +-
build/coff/mulx_mont_384-x86_64.s | 103 +-
build/elf/add_mod_256-armv8.S | 154 ++
build/elf/add_mod_256-x86_64.s | 168 ++
build/elf/add_mod_384-armv8.S | 43 +-
build/elf/add_mod_384-x86_64.s | 133 +-
build/elf/ct_inverse_mod_256-armv8.S | 784 ++++++++++
build/elf/ct_inverse_mod_256-x86_64.s | 1185 ++++++++++++++
build/elf/ct_inverse_mod_384-armv8.S | 717 +++++++++
build/elf/ct_is_square_mod_384-armv8.S | 324 ++++
build/elf/ct_is_square_mod_384-x86_64.s | 479 ++++++
build/elf/ctq_inverse_mod_384-x86_64.s | 1195 ++++++++++++++
build/elf/ctx_inverse_mod_384-x86_64.s | 1574 +++++++++++++++++++
build/elf/div3w-armv8.S | 88 ++
build/elf/div3w-x86_64.s | 123 ++
build/elf/inverse_mod_256-armv8.S | 189 ---
build/elf/inverse_mod_256-x86_64.s | 283 ----
build/elf/inverse_mod_384-armv8.S | 242 ---
build/elf/inverse_mod_384-x86_64.s | 378 -----
build/elf/mulq_mont_384-x86_64.s | 39 +-
build/elf/mulx_mont_384-x86_64.s | 75 +-
build/mach-o/add_mod_256-armv8.S | 154 ++
build/mach-o/add_mod_256-x86_64.s | 168 ++
build/mach-o/add_mod_384-armv8.S | 43 +-
build/mach-o/add_mod_384-x86_64.s | 133 +-
build/mach-o/ct_inverse_mod_256-armv8.S | 784 ++++++++++
build/mach-o/ct_inverse_mod_256-x86_64.s | 1177 ++++++++++++++
build/mach-o/ct_inverse_mod_384-armv8.S | 717 +++++++++
build/mach-o/ct_is_square_mod_384-armv8.S | 324 ++++
build/mach-o/ct_is_square_mod_384-x86_64.s | 471 ++++++
build/mach-o/ctq_inverse_mod_384-x86_64.s | 1187 ++++++++++++++
build/mach-o/ctx_inverse_mod_384-x86_64.s | 1566 +++++++++++++++++++
build/mach-o/div3w-armv8.S | 88 ++
build/mach-o/div3w-x86_64.s | 115 ++
build/mach-o/inverse_mod_256-armv8.S | 189 ---
build/mach-o/inverse_mod_256-x86_64.s | 275 ----
build/mach-o/inverse_mod_384-armv8.S | 242 ---
build/mach-o/inverse_mod_384-x86_64.s | 370 -----
build/mach-o/mulq_mont_384-x86_64.s | 39 +-
build/mach-o/mulx_mont_384-x86_64.s | 75 +-
build/refresh.sh | 8 +-
build/win64/add_mod_256-armv8.asm | 154 ++
build/win64/add_mod_256-x86_64.asm | 274 ++++
build/win64/add_mod_384-armv8.asm | 43 +-
build/win64/add_mod_384-x86_64.asm | 130 +-
build/win64/blst.def | 44 +
build/win64/ct_inverse_mod_256-armv8.asm | 785 ++++++++++
build/win64/ct_inverse_mod_256-x86_64.asm | 1211 +++++++++++++++
build/win64/ct_inverse_mod_384-armv8.asm | 718 +++++++++
build/win64/ct_is_square_mod_384-armv8.asm | 325 ++++
build/win64/ct_is_square_mod_384-x86_64.asm | 509 ++++++
build/win64/ctq_inverse_mod_384-x86_64.asm | 1224 +++++++++++++++
build/win64/ctx_inverse_mod_384-x86_64.asm | 1597 +++++++++++++++++++
build/win64/div3w-armv8.asm | 89 ++
build/win64/div3w-x86_64.asm | 152 ++
build/win64/inverse_mod_256-armv8.asm | 190 ---
build/win64/inverse_mod_256-x86_64.asm | 324 ----
build/win64/inverse_mod_384-armv8.asm | 243 ---
build/win64/inverse_mod_384-x86_64.asm | 419 -----
build/win64/mulq_mont_384-x86_64.asm | 53 +-
build/win64/mulx_mont_384-x86_64.asm | 103 +-
src/aggregate.c | 247 ++-
src/asm/add_mod_256-armv8.pl | 154 ++
src/asm/add_mod_256-x86_64.pl | 155 ++
src/asm/add_mod_384-armv8.pl | 51 +-
src/asm/add_mod_384-x86_64.pl | 137 +-
src/asm/ct_inverse_mod_256-armv8.pl | 586 +++++++
src/asm/ct_inverse_mod_256-x86_64.pl | 837 ++++++++++
src/asm/ct_inverse_mod_384-armv8.pl | 610 ++++++++
src/asm/ct_is_square_mod_384-armv8.pl | 398 +++++
src/asm/ct_is_square_mod_384-x86_64.pl | 494 ++++++
src/asm/ctq_inverse_mod_384-x86_64.pl | 886 +++++++++++
src/asm/ctx_inverse_mod_384-x86_64.pl | 995 ++++++++++++
src/asm/div3w-armv8.pl | 122 ++
src/asm/div3w-x86_64.pl | 184 +++
src/asm/inverse_mod_256-armv8.pl | 233 ---
src/asm/inverse_mod_256-x86_64.pl | 308 ----
src/asm/inverse_mod_384-armv8.pl | 286 ----
src/asm/inverse_mod_384-x86_64.pl | 411 -----
src/asm/mul_mont_256-armv8.pl | 3 +
src/asm/mulq_mont_256-x86_64.pl | 9 +-
src/asm/mulq_mont_384-x86_64.pl | 41 +-
src/asm/mulx_mont_256-x86_64.pl | 19 +-
src/asm/mulx_mont_384-x86_64.pl | 77 +-
src/asm/x86_64-xlate.pl | 2 +
src/bulk_addition.c | 168 ++
src/client_min_pk.c | 3 +-
src/client_min_sig.c | 5 +-
src/consts.h | 2 +-
src/e1.c | 294 +++-
src/e2.c | 325 ++--
src/ec_mult.h | 66 +-
src/ec_ops.h | 482 ++++--
src/errors.h | 5 +
src/exp.c | 116 +-
src/exp2.c | 201 ---
src/exports.c | 263 ++--
src/fields.h | 133 +-
src/fp12_tower.c | 33 +-
src/hash_to_field.c | 46 +-
src/keygen.c | 11 +
src/map_to_g1.c | 153 +-
src/map_to_g2.c | 157 +-
src/multi_scalar.c | 414 +++++
src/no_asm.h | 1287 ++++++++++++++++
src/pairing.c | 28 +-
src/point.h | 6 +-
src/rb_tree.c | 145 ++
src/recip.c | 139 ++
src/server.c | 8 +-
src/sha256.h | 4 +-
src/sqrt.c | 261 ++++
src/sqrt2-addchain.h | 922 -----------
src/vect.c | 45 +
src/vect.h | 150 +-
185 files changed, 45144 insertions(+), 9594 deletions(-)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment