blst
blst copied to clipboard
Multilingual BLS12-381 signature library
- use core/alloc instead of `std`
Please see below the set of available operations for BLS at the moment: BLS12-381 signature (sign, verify, aggregate) The BLS scheme also supports threshold signatures. This is where a secret...
Currently, platforms without assembler support always use 32-bit limbs, but the Rust bindings always assume 64-bit limbs. This breaks on big-endian platforms like our IBM Z (s390x). This patch enables...
Given the significant speed increase (~20% for high level signing/verifying) provided by BMI2 and ADX support (for MULX, ADCX, ADOX instructions) (bench: https://github.com/status-im/nim-blst/issues/1) It would probably worthwhile to autodetect CPU...
Current NodeJS bindings are not able to run in a multi-threaded setup with worker_threads reliably. **Most** of the times the parent process crashes with a segmentation fault. I'm working on...
Looking into aggregate.c it's clear what `blst_pairing_aggregate_pk_in_g1` is for but `blst_pairing_mul_n_aggregate_pk_in_g1` is not documented. https://github.com/supranational/blst/blob/6d6dec39078e94ef9743a0ac842650a5cd160df5/src/aggregate.c#L7-L34 It seems like it's computing `λ0 e(PK0, H(msg0)) λ1 e(PK1, H(msg1)) ... ` with λi...
This is a placeholder issue to track https://github.com/swig/swig/pull/1746, which adds node.js v12+ support to swig. And to provide a download point for pre-generated wrapper, [blst_wrap.cpp](https://gist.github.com/dot-asm/d9693f0d9f00941c700623abfcb493a5), for those who don't want...
Quoting @Nashatyrev in #54. > * (codestyle nit not directly related to this PR) there are methods like `class P1 { P1 add(P1 a); }` which modify and return `this`...
Thought I'd open the issue to get the current status of subgroup checks for signatures and public keys in the rust bindings and hopefully reach a conclusion. A quick summary...
The Eth2 test vectors contain [a test](https://github.com/ethereum/eth2.0-spec-tests/blob/master/tests/general/phase0/bls/verify/small/verify_infinity_pubkey_and_infinity_signature/data.yaml) that requires the infinity signature to represent a valid signature by the infinity pubkey across any message: ```yaml input: {pubkey: '0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', message: '0xabababababababababababababababababababababababababababababababab',...