Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat: 4-dimensional fake GLV #1296

Merged
merged 74 commits into from
Oct 25, 2024
Merged
Show file tree
Hide file tree
Changes from 58 commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
3b76bd0
feat: fake glv working when sub-scalars > 0
yelhousni Aug 15, 2024
0b0140d
feat(bls24): fake glv working when sub-scalars > 0
yelhousni Aug 15, 2024
0d1febf
Merge branch 'master' into perf/fake-glv
yelhousni Aug 16, 2024
6a57571
fix: precompute lattice
yelhousni Aug 16, 2024
4ef2bff
fix: precompute lattice bls377
yelhousni Aug 16, 2024
6637cb4
perf(bls12-377): native decomposition
yelhousni Aug 16, 2024
06b56f0
Merge branch 'master' into feat/fake-GLV
yelhousni Aug 20, 2024
935225a
refactor(bls12-377, bls24-315): clean fake GLV code
yelhousni Aug 20, 2024
642a431
Merge branch 'master' into feat/fake-GLV
yelhousni Aug 21, 2024
c45d70e
perf(bls12-377): G2 fake GLV
yelhousni Aug 22, 2024
21de4a6
feat: non-native fake GLV
yelhousni Aug 23, 2024
6c3044a
feat: fake GLV for P-256
yelhousni Aug 23, 2024
d9531e7
Merge branch 'refactor/limb-composition' into clean-fake-glv
yelhousni Aug 23, 2024
114ff1d
fix(fake-glv): scalar with scalarApi
yelhousni Aug 23, 2024
8e96266
Merge branch 'master' into feat/fake-GLV
yelhousni Aug 23, 2024
1f9d38a
Merge branch 'clean-fake-glv' into feat/fake-GLV
yelhousni Aug 23, 2024
e331056
perf: optimize fake glv incomplete add handling
yelhousni Aug 23, 2024
30c6830
refactor: halfGCD hint agnostic wrt curve
yelhousni Aug 23, 2024
0603663
refactor: fakeGLV typed for P256 and P384
yelhousni Aug 23, 2024
3ab8cdd
refactor: remove fake GLV for native bls12/bls24
yelhousni Aug 23, 2024
675c28a
fix: edge case with inf point
yelhousni Aug 23, 2024
3832509
fix: edge case with 0 scalar
yelhousni Aug 23, 2024
5fd4a85
perf: use fake GLV instead of Joye07 when no endo
yelhousni Aug 23, 2024
a40cf1b
fix: edge case
yelhousni Aug 23, 2024
d436f43
perf: reduce fake glv loop size
yelhousni Aug 24, 2024
c050162
fix: check that all-zero malicuous hint is not possible
yelhousni Sep 5, 2024
ff5ad3a
test: add stark curve to fake glv test
yelhousni Sep 5, 2024
62c89cb
feat: fake GLV for twisted edwards
yelhousni Sep 7, 2024
0e22c4e
Merge branch 'master' into feat/fake-GLV
yelhousni Sep 23, 2024
491fa48
feat: glv+fake-glv in sw_emulated
yelhousni Sep 26, 2024
d236bea
fix: check hinted einsenstein scalars
yelhousni Sep 26, 2024
d3d78d2
fix: increase the bound by 6 bits
yelhousni Sep 26, 2024
0b07a85
Merge branch 'master' into feat/fake-GLV
yelhousni Sep 27, 2024
d95bdcf
fix: edge cases in fakeglv+glv
yelhousni Sep 28, 2024
f41ee7d
perf: save some constraints
yelhousni Sep 30, 2024
424cf94
fix(fake-glv): keep input point unchanged
yelhousni Oct 1, 2024
d5779fb
fix: increase subscalars bounds
yelhousni Oct 2, 2024
6de85e5
perf: optimize fake-GLV scalars check
yelhousni Oct 3, 2024
d90a599
docs: add comments
yelhousni Oct 4, 2024
c4949fc
perf: optimize zero-point edge case
yelhousni Oct 4, 2024
e18d308
feat: 4-dim fake-GLV in native
yelhousni Oct 4, 2024
05a0442
perf: optimize joint scalar mul glv
yelhousni Oct 8, 2024
41bb75c
Merge branch 'master' into feat/fake-GLV
yelhousni Oct 8, 2024
2cb22be
perf(native/bls377): scratch some scs in 4-dim fake GLV
yelhousni Oct 9, 2024
17113e9
chore: up gnark-crypto
yelhousni Oct 10, 2024
381cce2
Merge branch 'master' into feat/fake-GLV
yelhousni Oct 10, 2024
0774058
Merge branch 'master' into feat/fake-GLV
yelhousni Oct 11, 2024
72d52c4
Merge branch 'feat/fake-GLV' of github.com:consensys/gnark into feat/…
yelhousni Oct 11, 2024
73a67e0
test(bls12-377): test edge case of fake glv
yelhousni Oct 11, 2024
d8b1a22
fix(bls12-377): fix edge case of fake glv
yelhousni Oct 14, 2024
7ca7dff
Merge branch 'master' into feat/fake-GLV
yelhousni Oct 14, 2024
6940810
ci: make linter happy
yelhousni Oct 14, 2024
31c74ac
test: update stats
yelhousni Oct 14, 2024
f69f2ab
perf: save some scs in edge cases
yelhousni Oct 15, 2024
46d07b7
fix: dummy point when Q=(0,0)
yelhousni Oct 15, 2024
f57ec66
fix: fake 4-dim glv with complete arithmetic and no edge-cases
yelhousni Oct 15, 2024
32ec487
test: edge case 0 * (0,0) == (0,0)
yelhousni Oct 15, 2024
72ac569
ci(linter): ineffassign
yelhousni Oct 15, 2024
5490687
Merge branch 'master' into feat/fake-GLV
yelhousni Oct 16, 2024
3707fe7
test: Joye scalar mul
yelhousni Oct 17, 2024
92695a2
refactor: apply review suggestions
yelhousni Oct 17, 2024
daddeb0
fix: remove unused imports
yelhousni Oct 17, 2024
4f7abef
perf(4D-fake-GLV/emulated): simpler scalar decomposition check
yelhousni Oct 17, 2024
4bd0d48
perf(4D-fake-GLV/native): simpler scalar decomposition check
yelhousni Oct 17, 2024
2c8033b
test: update stats
yelhousni Oct 17, 2024
94c091c
fix(4D-fake-GLV): scalar=1 edge-case
yelhousni Oct 18, 2024
eca44d4
fix: edge cases as witnesses instead of constants
yelhousni Oct 21, 2024
e2d5b8e
refactor: apply review suggestions
yelhousni Oct 22, 2024
3d0d717
test: update stats
yelhousni Oct 22, 2024
7a42e29
docs: correct comment
yelhousni Oct 22, 2024
93edbb2
perf(4D-fake-GLV): revisit loop bound (-1 bit)
yelhousni Oct 24, 2024
1bdd40c
test: update stats
yelhousni Oct 24, 2024
48f5aa8
fix(4D-fake-glv/native): Acc=(0,-1) with +9 bits
yelhousni Oct 24, 2024
4c7fe58
perf: small optim in jSM
yelhousni Oct 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions internal/stats/latest_stats.csv
Original file line number Diff line number Diff line change
Expand Up @@ -209,42 +209,42 @@ pairing_bw6761,bls24_315,plonk,0,0
pairing_bw6761,bls24_317,plonk,0,0
pairing_bw6761,bw6_761,plonk,0,0
pairing_bw6761,bw6_633,plonk,0,0
scalar_mul_G1_bn254,bn254,groth16,99938,159576
scalar_mul_G1_bn254,bn254,groth16,75511,118870
scalar_mul_G1_bn254,bls12_377,groth16,0,0
scalar_mul_G1_bn254,bls12_381,groth16,0,0
scalar_mul_G1_bn254,bls24_315,groth16,0,0
scalar_mul_G1_bn254,bls24_317,groth16,0,0
scalar_mul_G1_bn254,bw6_761,groth16,0,0
scalar_mul_G1_bn254,bw6_633,groth16,0,0
scalar_mul_G1_bn254,bn254,plonk,381115,356144
scalar_mul_G1_bn254,bn254,plonk,283182,265982
scalar_mul_G1_bn254,bls12_377,plonk,0,0
scalar_mul_G1_bn254,bls12_381,plonk,0,0
scalar_mul_G1_bn254,bls24_315,plonk,0,0
scalar_mul_G1_bn254,bls24_317,plonk,0,0
scalar_mul_G1_bn254,bw6_761,plonk,0,0
scalar_mul_G1_bn254,bw6_633,plonk,0,0
scalar_mul_P256,bn254,groth16,186380,301997
scalar_mul_P256,bn254,groth16,100828,161106
scalar_mul_P256,bls12_377,groth16,0,0
scalar_mul_P256,bls12_381,groth16,0,0
scalar_mul_P256,bls24_315,groth16,0,0
scalar_mul_P256,bls24_317,groth16,0,0
scalar_mul_P256,bw6_761,groth16,0,0
scalar_mul_P256,bw6_633,groth16,0,0
scalar_mul_P256,bn254,plonk,737681,687661
scalar_mul_P256,bn254,plonk,385060,359805
scalar_mul_P256,bls12_377,plonk,0,0
scalar_mul_P256,bls12_381,plonk,0,0
scalar_mul_P256,bls24_315,plonk,0,0
scalar_mul_P256,bls24_317,plonk,0,0
scalar_mul_P256,bw6_761,plonk,0,0
scalar_mul_P256,bw6_633,plonk,0,0
scalar_mul_secp256k1,bn254,groth16,100948,161209
scalar_mul_secp256k1,bn254,groth16,76305,120075
scalar_mul_secp256k1,bls12_377,groth16,0,0
scalar_mul_secp256k1,bls12_381,groth16,0,0
scalar_mul_secp256k1,bls24_315,groth16,0,0
scalar_mul_secp256k1,bls24_317,groth16,0,0
scalar_mul_secp256k1,bw6_761,groth16,0,0
scalar_mul_secp256k1,bw6_633,groth16,0,0
scalar_mul_secp256k1,bn254,plonk,385109,359843
scalar_mul_secp256k1,bn254,plonk,286142,268739
scalar_mul_secp256k1,bls12_377,plonk,0,0
scalar_mul_secp256k1,bls12_381,plonk,0,0
scalar_mul_secp256k1,bls24_315,plonk,0,0
Expand Down
Loading