forked from tornado-packages/noble-curves
22 lines
828 B
TypeScript
22 lines
828 B
TypeScript
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
import { sha256 } from '@noble/hashes/sha256';
|
|
import { weierstrass } from './abstract/weierstrass.js';
|
|
import { getHash } from './_shortw_utils.js';
|
|
import { Field } from './abstract/modular.js';
|
|
/**
|
|
* bn254 pairing-friendly curve.
|
|
* Previously known as alt_bn_128, when it had 128-bit security.
|
|
* Recent research shown it's weaker, the naming has been adjusted to its prime bit count.
|
|
* https://github.com/zcash/zcash/issues/2502
|
|
*/
|
|
export const bn254 = weierstrass({
|
|
a: BigInt(0),
|
|
b: BigInt(3),
|
|
Fp: Field(BigInt('0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47')),
|
|
n: BigInt('0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001'),
|
|
Gx: BigInt(1),
|
|
Gy: BigInt(2),
|
|
h: BigInt(1),
|
|
...getHash(sha256),
|
|
});
|