Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into sis/koalabear
Browse files Browse the repository at this point in the history
  • Loading branch information
gbotrel committed Jan 21, 2025
2 parents babc0d5 + de0d77f commit bc62245
Show file tree
Hide file tree
Showing 7 changed files with 173 additions and 28 deletions.
143 changes: 143 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,145 @@
<a name="v0.15.0"></a>
## [v0.15.0] - 2025-01-21
### Build
- generify
- update ci for slack bot ([#538](https://github.com/Consensys/gnark-crypto/issues/538))
- **deps:** bump golang.org/x/crypto from 0.26.0 to 0.31.0 ([#579](https://github.com/Consensys/gnark-crypto/issues/579))

### Chore
- update bavard to 0.1.26
- update citation
- use errors.New to replace fmt.Errorf with no parameters ([#575](https://github.com/Consensys/gnark-crypto/issues/575))
- fix some function names in comment ([#569](https://github.com/Consensys/gnark-crypto/issues/569))
- fix some function names in comment ([#559](https://github.com/Consensys/gnark-crypto/issues/559))
- ignore gosec false positive
- use golint option to include generated files ([#549](https://github.com/Consensys/gnark-crypto/issues/549))

### Docs
- Change copyright year to 2025 (not autogenerated)
- update element package doc ([#572](https://github.com/Consensys/gnark-crypto/issues/572))
- fix non generated headers ([#571](https://github.com/Consensys/gnark-crypto/issues/571))
- less verbose Apache 2 header, latest bavard ([#570](https://github.com/Consensys/gnark-crypto/issues/570))
- document batchAddAfine func ([#555](https://github.com/Consensys/gnark-crypto/issues/555))
- GSigma -> GSigmaNeg bn254
- update README ([#533](https://github.com/Consensys/gnark-crypto/issues/533))

### Feat
- cleaned iop ([#587](https://github.com/Consensys/gnark-crypto/issues/587))
- restored sis ([#583](https://github.com/Consensys/gnark-crypto/issues/583))
- generate uint32 arith only for babybear and koalabear ([#577](https://github.com/Consensys/gnark-crypto/issues/577))
- restored fft ([#574](https://github.com/Consensys/gnark-crypto/issues/574))
- hash registry with statestorer ([#564](https://github.com/Consensys/gnark-crypto/issues/564))
- add `BabyBear` and `KoalaBear` 31bits fields vanilla Go impl ([#558](https://github.com/Consensys/gnark-crypto/issues/558))
- code gen
- example fflonk
- code gen
- example shplonk
- half-GCD for Eisenstein integers
- implement Eisenstein integers arithmetic
- number of trials for finding the next divisor of r-1 is now limited
- renaming
- fixed size folded polynomials
- renaming
- use GeneratorFullMultiplicativeGroup
- add round trip serialisation test
- renaming gamma -> challenge
- used bufMaxSizePolynomials[:len(polynomials[i])]
- randomise SRS
- code gen
- code gen
- code gen
- code gen
- code gen marshal [][][]frElement
- marshal [][][]frElement
- proof tunes the number of polynomial so it divides r-1
- add dummy polynomial so the number of poly divides r-1
- template marshal
- marshal
- marshal fflonk bn254
- code gen, tests for existence of roots of 1 need to be tuned
- added fflonk in code gen main
- add doc for fflonk
- addition of templates for fflonk
- fixed fflonk folding
- factored extended set
- getIthRootOne ok
- fflonk fold and open
- folding ok
- test roots extraction
- code gen ok
- additions of template files marshal shplonk
- marshal ok
- generator ok
- test ok
- single point to set in open
- TestBuildZtMinusSi ok
- interpolate ok
- interpolator ok
- debugged neg pairing
- sage debugging, open ok
- wrpime ok
- add poly
- naive mul (for combinings polynomials) ok
- build vanishing poly ok
- division ok
- mul by linear factor ok
- **bw6-761:** Miller loop using direct sextic extension ([#608](https://github.com/Consensys/gnark-crypto/issues/608))

### Fix
- fixed comments and variable naming ([#603](https://github.com/Consensys/gnark-crypto/issues/603))
- re-ran go generate for field/
- buffer sufficient size ([#551](https://github.com/Consensys/gnark-crypto/issues/551))
- use sqrt in eisenstein halfgcd condition
- consider all possible remainders
- makes linter happy
- apply review suggestions
- check error
- check pairing error
- randomised size poly
- raise error when nbDigest != number of polynomials
- fixed panic
- fixed TestGetIthRootOne template
- fixed srs size
- fixed order computation template
- added condition for existence of t-th roots
- used upper bound of the total size in buf
- fixed test TestMultiplyLinearFactor
- fixed vanishing poly

### Perf
- make SetBytes not allocate errors in non-fast path ([#599](https://github.com/Consensys/gnark-crypto/issues/599))
- adds (some) arm NEON assembly for koalabear and babybear ([#588](https://github.com/Consensys/gnark-crypto/issues/588))
- adds avx512 vector ops for koalabear and babybear fields ([#568](https://github.com/Consensys/gnark-crypto/issues/568))
- adds (some) `arm64` assembly for 4 and 6 words modulus ([#554](https://github.com/Consensys/gnark-crypto/issues/554))
- subgroup check ([#557](https://github.com/Consensys/gnark-crypto/issues/557))
- adds AVX512 implementations of vector.Sum, vector.InnerProduct + assembly refactor ([#547](https://github.com/Consensys/gnark-crypto/issues/547))
- add Vector::Add, Sub and ScalarMul assembly (and purego) implementations ([#536](https://github.com/Consensys/gnark-crypto/issues/536))

### Refactor
- clean up SIS, placeholder ([#596](https://github.com/Consensys/gnark-crypto/issues/596))
- remove dependency on ecc Encoder in fft domain marshal ([#565](https://github.com/Consensys/gnark-crypto/issues/565))
- apply review suggestions
- move eisenstein under field/
- up doc
- kill bls12-378 and bw6-756 curves

### Style
- clean comments
- nbInstances -> nbPolynomials
- remaing -> remaining

### Test
- fix windows build
- fix windows build
- half-GCD test with bigger integers

### Pull Requests
- Merge pull request [#548](https://github.com/Consensys/gnark-crypto/issues/548) from Consensys/docs/pedersen
- Merge pull request [#498](https://github.com/Consensys/gnark-crypto/issues/498) from Consensys/feat/fflonk
- Merge pull request [#543](https://github.com/Consensys/gnark-crypto/issues/543) from Consensys/feat/eisenstein
- Merge pull request [#534](https://github.com/Consensys/gnark-crypto/issues/534) from Consensys/refactor/kill-some-curves


<a name="v0.14.0"></a>
## [v0.14.0] - 2024-09-03
### Build
Expand Down Expand Up @@ -2378,6 +2520,7 @@
<a name="v0.0.1"></a>
## v0.0.1 - 2020-03-23

[v0.15.0]: https://github.com/Consensys/gnark-crypto/compare/v0.14.0...v0.15.0
[v0.14.0]: https://github.com/Consensys/gnark-crypto/compare/v0.13.0...v0.14.0
[v0.13.0]: https://github.com/Consensys/gnark-crypto/compare/v0.12.1...v0.13.0
[v0.12.1]: https://github.com/Consensys/gnark-crypto/compare/v0.12.0...v0.12.1
Expand Down
9 changes: 5 additions & 4 deletions CITATION.bib
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
@software{gnark-crypto-v0.7,
@software{gnark-crypto-v0.15,
author = {Gautam Botrel and
Thomas Piellard and
Youssef El Housni and
Arya Tabaie and
Gus Gutoski and
Ivo Kubjas},
title = {Consensys/gnark-crypto: v0.7.0},
title = {Consensys/gnark-crypto: v0.15.0},
month = jan,
year = 2022,
year = 2025,
publisher = {Zenodo},
version = {v0.7.0},
version = {v0.15.0},
doi = {10.5281/zenodo.5815453},
url = {https://doi.org/10.5281/zenodo.5815453}
}
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,18 +78,18 @@ If you use `gnark-crypto` in your research a citation would be appreciated.
Please use the following BibTeX to cite the most recent release.

```bib
@software{gnark-crypto-v0.14.0,
@software{gnark-crypto-v0.15,
author = {Gautam Botrel and
Thomas Piellard and
Youssef El Housni and
Arya Tabaie and
Gus Gutoski and
Ivo Kubjas},
title = {Consensys/gnark-crypto: v0.14.0},
month = sep,
year = 2024,
title = {Consensys/gnark-crypto: v0.15.0},
month = jan,
year = 2025,
publisher = {Zenodo},
version = {v0.14.0},
version = {v0.15.0},
doi = {10.5281/zenodo.5815453},
url = {https://doi.org/10.5281/zenodo.5815453}
}
Expand Down
12 changes: 6 additions & 6 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ module github.com/consensys/gnark-crypto
go 1.22

require (
github.com/bits-and-blooms/bitset v1.14.2
github.com/consensys/bavard v0.1.27-0.20250121032424-89ff47749fdb
github.com/bits-and-blooms/bitset v1.20.0
github.com/consensys/bavard v0.1.27
github.com/leanovate/gopter v0.2.11
github.com/mmcloughlin/addchain v0.4.0
github.com/spf13/cobra v1.8.1
github.com/stretchr/testify v1.9.0
golang.org/x/crypto v0.31.0
golang.org/x/sync v0.1.0
golang.org/x/sys v0.28.0
github.com/stretchr/testify v1.10.0
golang.org/x/crypto v0.32.0
golang.org/x/sync v0.10.0
golang.org/x/sys v0.29.0
gopkg.in/yaml.v2 v2.4.0
)

Expand Down
23 changes: 12 additions & 11 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hC
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
github.com/bits-and-blooms/bitset v1.14.2 h1:YXVoyPndbdvcEVcseEovVfp0qjJp7S+i5+xgp/Nfbdc=
github.com/bits-and-blooms/bitset v1.14.2/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
github.com/bits-and-blooms/bitset v1.20.0 h1:2F+rfL86jE2d/bmw7OhqUg2Sj/1rURkBn3MdfoPyRVU=
github.com/bits-and-blooms/bitset v1.20.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
Expand All @@ -55,8 +55,8 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/consensys/bavard v0.1.27-0.20250121032424-89ff47749fdb h1:ARuz6sq0/tKum+UwfH7TEv9lAu7hyjQi/XE96pnBxiw=
github.com/consensys/bavard v0.1.27-0.20250121032424-89ff47749fdb/go.mod h1:k/zVjHHC4B+PQy1Pg7fgvG3ALicQw540Crag8qx+dZs=
github.com/consensys/bavard v0.1.27 h1:j6hKUrGAy/H+gpNrpLU3I26n1yc+VMGmd6ID5+gAhOs=
github.com/consensys/bavard v0.1.27/go.mod h1:k/zVjHHC4B+PQy1Pg7fgvG3ALicQw540Crag8qx+dZs=
github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
Expand Down Expand Up @@ -250,8 +250,8 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
Expand Down Expand Up @@ -281,8 +281,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
Expand Down Expand Up @@ -384,8 +384,9 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
Expand Down Expand Up @@ -434,8 +435,8 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,11 @@ func GenerateVectors() error {
if !dirEntry.IsDir() {

if filepath.Ext(dirEntry.Name()) == ".json" {
fmt.Println("\tprocessing", dirEntry.Name())
path := filepath.Join(testDirPath, dirEntry.Name())
if !bavard.ShouldGenerate(path) {
continue
}
fmt.Println("\tprocessing", dirEntry.Name())
if err = run(path); err != nil {
return err
}
Expand Down
2 changes: 1 addition & 1 deletion internal/generator/gkr/test_vectors/main.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit bc62245

Please sign in to comment.