Commit Graph

190 Commits

Author SHA1 Message Date
Paul Miller
d739297b2c
Move p192, p224 from main pkg to tests for now. Reason: not popular 2023-02-25 10:00:24 +01:00
Paul Miller
285aa6375d
stark: refactor 2023-02-20 16:50:29 +01:00
Paul Miller
d485d8b0e6
Fix prettier 2023-02-16 12:32:32 +01:00
Paul Miller
0fdd763dc7
montgomery: add randomPrivateKey. Add ecdh benchmark. 2023-02-16 12:32:18 +01:00
Paul Miller
8397241a8f
bls, stark: adjust methods 2023-02-16 00:03:20 +01:00
Paul Miller
001d0cc24a
weierstrass: rename method, adjust comments 2023-02-16 00:03:10 +01:00
Paul Miller
e1cb8549e8
weierstrass, montgomery, secp: add comments 2023-02-15 23:26:56 +01:00
Paul Miller
26ebb5dcce
x25519, x448: change param from a24 to a. Change Gu to bigint 2023-02-15 23:07:52 +01:00
Paul Miller
7073f63c6b
drbg: move from weierstrass to utils 2023-02-14 17:54:57 +01:00
Paul Miller
80966cbd03
hash-to-curve: more type checks. Rename method to createHasher 2023-02-14 17:39:56 +01:00
Paul Miller
98ea15dca4
edwards: improve hex errors 2023-02-14 17:35:19 +01:00
Paul Miller
e1910e85ea
mod, utils, weierstrass, secp: improve hex errors. secp: improve verify() logic and schnorr 2023-02-14 17:34:31 +01:00
Paul Miller
c36d90cae6
bump lockfile, add comment to shortw 2023-02-13 23:55:58 +01:00
Paul Miller
67b99652fc
BLS: add docs 2023-02-12 22:25:36 +01:00
Paul Miller
c0877ba69a
Fix weierstrass type 2023-02-09 23:18:32 +01:00
Paul Miller
1b6071cabd
weierstrass: rename normPrivKey util. tests: prepare for unification w old noble pkg 2023-02-09 20:26:20 +01:00
Paul Miller
d2c6459756
Update wnaf comments 2023-02-09 15:45:21 +01:00
Paul Miller
00b73b68d3
hash-to-curve small refactor 2023-02-06 20:50:52 +01:00
Paul Miller
823149ecd9
Clarify comment 2023-01-30 08:17:08 +01:00
Paul Miller
e57aec63d8
Fix edwards assertValidity 2023-01-30 08:04:36 +01:00
Paul Miller
837aca98c9
Fix bugs 2023-01-30 06:10:56 +01:00
Paul Miller
dbb16b0e5e
edwards: add assertValidity 2023-01-30 06:10:08 +01:00
Paul Miller
e14af67254
utils: fix hexToNumber, improve validateObject 2023-01-30 06:07:53 +01:00
Paul Miller
4780850748
montgomery: fix fieldLen 2023-01-30 05:56:07 +01:00
Paul Miller
ceffbc69da
More Schnorr utils 2023-01-29 04:46:38 +01:00
Paul Miller
c75129e629
Use declarative curve field validation 2023-01-28 03:19:46 +01:00
Paul Miller
f39fb80c52
weierstrass: rename normalizePrivateKey to allowedPrivateKeyLengths 2023-01-27 23:45:55 +01:00
Paul Miller
ed9bf89038
stark: isCompressed=false. Update benchmarks 2023-01-27 03:43:18 +01:00
Paul Miller
02b0b25147
New schnorr exports. Simplify RFC6979 k gen, privkey checks 2023-01-26 08:16:00 +01:00
Paul Miller
4ef2cad685
hash-to-curve: assertValidity 2023-01-26 06:14:12 +01:00
Paul Miller
69b3ab5a57
Shuffle code 2023-01-26 05:46:14 +01:00
Paul Miller
9465e60d30
More refactoring 2023-01-26 05:24:41 +01:00
Paul Miller
0fb78b7097
Rename group to curve. More refactoring 2023-01-26 04:14:21 +01:00
Paul Miller
be0b2a32a5
Fp rename. Edwards refactor. Weierstrass Fn instead of mod 2023-01-26 03:07:45 +01:00
Paul Miller
c46914f1bc
weierstrass: remove most private utils 2023-01-25 08:21:48 +01:00
Paul Miller
f250f355e8
Schnorr: remove all private methods 2023-01-25 08:14:53 +01:00
Paul Miller
c095d74673
More schnorr updates 2023-01-25 08:10:05 +01:00
Paul Miller
ac52fea952
Another schnorr adjustment 2023-01-25 07:55:21 +01:00
Paul Miller
f2ee24bee4
schnorr: remove packSig 2023-01-25 07:54:00 +01:00
Paul Miller
cffea91061
Schnorr, weierstrass: refactor 2023-01-25 07:48:53 +01:00
Paul Miller
5fc38fc0e7
weierstrass: prehash option in sign/verify. Remove _normalizePublicKey 2023-01-25 05:45:49 +01:00
Paul Miller
849dc38f3c
Change TypeError to Error 2023-01-25 05:24:22 +01:00
Paul Miller
0422e6ef38
p.x, p.y are now getters executing toAffine() 2023-01-25 04:51:08 +01:00
Paul Miller
21d2438a33
BLS: fix tests. Poseidon: more tests 2023-01-25 00:30:53 +01:00
Paul Miller
f14b8d2be5
More AffinePoint fixes 2023-01-25 00:07:25 +01:00
Paul Miller
2ed27da8eb
weierstrass: remove affine Point 2023-01-24 06:42:44 +01:00
Paul Miller
17e5be5f1b
edwards: affine Point removal tests 2023-01-24 05:37:53 +01:00
Paul Miller
a49f0d266e
edwards: remove affine Point, Signature. Stricter types 2023-01-24 05:34:56 +01:00
Paul Miller
7fda6de619
weierstrass: make points compressed by def. Rewrite drbg, k generation. 2023-01-24 04:02:38 +01:00
Paul Miller
2b908ad602
edwards: simplify bounds check 2023-01-24 04:01:28 +01:00
Paul Miller
ceb3f67faa
stark: switch to new weierstrass methods 2023-01-23 23:07:21 +01:00
Paul Miller
a2c87f9c2f
weierstrass: simplify bits2int, remove truncateHash 2023-01-23 23:06:43 +01:00
Paul Miller
e1fd346279
utils: small improvements 2023-01-23 23:06:24 +01:00
Paul Miller
11e78aadbf
Edwards: prohibit number scalars, only allow bigints 2023-01-23 20:28:01 +01:00
Paul Miller
055147f1be
Add poseidon252 snark-friendly hash 2023-01-23 19:41:19 +01:00
Paul Miller
6f99f6042e
weierstrass: bits2int, int2octets, truncateHash now comply with standard 2023-01-21 19:03:39 +01:00
Paul Miller
40530eae0c
hash-to-curve: decrease coupling, improve tree shaking support 2023-01-21 19:02:46 +01:00
Paul Miller
5312d92b2c
edwards: Fix isTorsionFree() 2023-01-13 15:58:04 +01:00
Paul Miller
2d37edf7d1
Remove utils.mod(), utils.invert() 2023-01-13 01:26:00 +01:00
Paul Miller
36998fede8
Fix sqrt 2023-01-13 01:21:51 +01:00
Paul Miller
83960d445d
Refactor: weierstrass assertValidity and others 2023-01-12 21:18:51 +01:00
Paul Miller
23cc2aa5d1
edwards, montgomery, weierstrass: refactor 2023-01-12 20:40:16 +01:00
Paul Miller
e45d7c2d25
utils: new util; ed448: small adjustment 2023-01-12 20:39:43 +01:00
Paul Miller
bfe929aac3
modular: Tonneli-Shanks refactoring 2023-01-12 20:38:42 +01:00
Paul Miller
069452dbe7
BLS, jubjub refactoring 2023-01-12 20:38:10 +01:00
Paul Miller
2e81f31d2e
ECDSA: signUnhashed(), support for key recovery from bits 2/3 2023-01-08 20:02:04 +01:00
Paul Miller
9f7df0f13b
ECDSA adjustments 2023-01-08 18:46:55 +01:00
Paul Miller
5600629bca
Refactor 2023-01-08 18:02:54 +01:00
Paul Miller
a15e3a93a9
Docs 2022-12-31 10:00:29 +01:00
Paul Miller
910c508da9
hash-to-curve: elligator in 25519, 448. Stark: adjust type 2022-12-31 07:51:29 +01:00
Paul Miller
12da04a2bb
Improve modular math 2022-12-31 07:49:42 +01:00
Paul Miller
5d42549acc
hash-to-curve: add xmd/xof support 2022-12-31 07:48:13 +01:00
Paul Miller
242ee620c5
Merge packages into one 2022-12-28 07:37:45 +01:00
Paul Miller
d837831d22
Implement hash-to-curve for weierstrass curves, add test vectors 2022-12-28 06:31:41 +01:00
Paul Miller
1ab77b95dd
Comment 2022-12-28 06:20:08 +01:00
Paul Miller
0277c01efd
Rename field methods: multiply to mul 2022-12-27 02:17:11 +01:00
Paul Miller
6ffe656871
x25519/x448: swap arguments 2022-12-27 02:02:37 +01:00
Paul Miller
135e69bd7b
Utilize complete formulas for weierstrass curves 2022-12-27 01:27:09 +01:00
Paul Miller
7a34c16c2b
Add some comments, refactor a bit 2022-12-26 05:37:12 +01:00
Paul Miller
785d74edb9
Add BLS signatures. Fix stark/P521 privkeys. 2022-12-24 04:32:52 +01:00
Paul Miller
dd7b48ac71
Adjust weierstrass error 2022-12-20 15:03:41 +01:00
Paul Miller
7d746a7408
Add modular division 2022-12-15 23:11:40 +01:00
Paul Miller
9e5ad8dc85
Add ristretto, schnorr 2022-12-14 15:21:07 +01:00
Paul Miller
5b305abe85
Split curves. Improve speed. Better tests 2022-12-14 14:18:12 +01:00
Paul Miller
6b0d9611a5
Add Montgomery curve 2022-12-11 18:25:45 +01:00
Paul Miller
c8fc24fd8f
Add eddsa prehashed mode, diffie-hellman 2022-12-11 15:54:30 +01:00
Paul Miller
4c6ca2326a
Rename curves. 2022-12-10 21:43:19 +01:00
Paul Miller
1ed861dbad
Add ed448, wycheproof vectors 2022-12-09 21:09:51 +01:00
Paul Miller
211c887a57
Add twisted edwards curve. 2022-12-09 20:58:53 +01:00
Paul Miller
a20a357225
Initial commit 2022-12-04 18:19:01 +01:00