Commit Graph

248 Commits

Author SHA1 Message Date
Youssef El Housni
e93c7a8ef3 feat: implement Joye07 scalar mul 2025-01-28 20:53:34 -05:00
38821bbf14 tmp fix to make it work at the current arkworks version with the cherry-picks 2024-10-02 12:42:49 +02:00
winderica
5b73436084 Avoid deeply nested lc in EvaluationsVar::interpolate_and_evaluate 2024-10-02 11:40:21 +02:00
Chris Sosnin
8e71ee527e alloc zero points consistently (#126)
Co-authored-by: Pratyush Mishra <pratyushmishra@berkeley.edu>
2024-04-04 05:55:09 +08:00
Chris Sosnin
6cfead9d9f Handle zero-case in group scalar multiplication (#124)
Co-authored-by: Pratyush Mishra <pratyushmishra@berkeley.edu>
2024-04-04 05:53:26 +08:00
Pascal Berrang
b477880a3b Fix base scalar multiplication (#117) 2023-03-23 14:53:45 -07:00
Tom Godden
69003c80d4 Fix for add_many (issue #23) (#113)
Co-authored-by: Tom Godden <tgodden@vub.be>
Co-authored-by: mmagician <marcin.gorny.94@protonmail.com>
Co-authored-by: Pratyush Mishra <pratyushmishra@berkeley.edu>
2023-01-19 17:01:05 -08:00
mmagician
4ea806f172 Update master branch to 0.4.0 (#115)
* Bump the dependencies and remove patch

* temp remove dev-dependencies (until curves are published)

due to circular dev-dependencies

* bring back dev-dependencies

to be merged only after curves crates are released

* bump patch version

* fix

* use frobenius_map_in_place instead of frobenious_map

* temp remove dev dependencies

* chore: Release ark-r1cs-std version 0.4.0-alpha.2

* Revert "temp remove dev dependencies"

This reverts commit 6b3ba6a5e98ea2055222d459d84d49eab7a98d47.

* fix test import after curves have a new version

* chore: Release ark-r1cs-std version 0.4.0-alpha.3

* chore: Release ark-r1cs-std version 0.4.0

* update dependencies

* temp remove dev-dependencies

* Revert "temp remove dev-dependencies"

This reverts commit af070f653eaf088e832af7e40c557db1bc26db48.

Co-authored-by: onewayfunc <onewayfunc@gmail.com>
2023-01-18 13:05:16 +01:00
mmagician
054969fbce use frobenius_map_in_place instead of frobenious_map (#114) 2022-12-28 16:15:23 +01:00
mmagician
d4edfb6e15 Prepare release 0.4 (#109)
* Bump the dependencies and remove patch

* temp remove dev-dependencies (until curves are published)

due to circular dev-dependencies

* bring back dev-dependencies

to be merged only after curves crates are released

* bump patch version

* fix

* use frobenius_map_in_place instead of frobenious_map

* temp remove dev dependencies

* chore: Release ark-r1cs-std version 0.4.0-alpha.2

* Revert "temp remove dev dependencies"

This reverts commit 6b3ba6a5e98ea2055222d459d84d49eab7a98d47.

* fix test import after curves have a new version

* chore: Release ark-r1cs-std version 0.4.0-alpha.3

Co-authored-by: onewayfunc <onewayfunc@gmail.com>
2022-12-28 16:04:33 +01:00
onewayfunc
38b0057319 Constant tobytes of Fp is in the wrong direction (#108) 2022-10-30 15:03:44 -07:00
onewayfunc
f30b173d0d Sync with ark-algebra: change the location of BitIteratorBE (#107)
* revert

* fix
2022-10-29 10:57:37 -07:00
Pratyush Mishra
4fbdc2b6a5 identity -> zero for Affine 2022-09-09 16:39:19 -07:00
Weikeng Chen
f2e53be88e Montgomery cannot use TE affine as intermediate representations (#103)
* debug

* test

* use mont

* reduce the delta

Co-authored-by: onewayfunc <onewayfunc@gmail.com>
2022-09-03 21:22:22 -07:00
Weikeng Chen
2416780e0f Fix dangling batch normalization for twisted Edwards curves (#102)
* push

debug

see if gens are broken

see if we can find why

test

copy

copy

normalize-batch

remove debug

remove debug

remove debug

make it similar

* consistency

* type

Co-authored-by: onewayfunc <onewayfunc@gmail.com>
2022-09-03 20:26:17 -07:00
Weikeng Chen
6b1cfd5396 Fix is_zero for twisted Edwards curves (#101)
* fix the te is_zero

* update CHANGELOG

Co-authored-by: onewayfunc <onewayfunc@gmail.com>
2022-09-03 19:20:07 -07:00
mmagician
6512e48540 Use 2-NAF for representing ATE_LOOP_COUNT in MNT Miller loop (#96)
* 2-NAF for MNT pairings

* Apply suggestions from code review

* Apply suggestions from code review

* fix

* no std

* patch

* ci

Co-authored-by: Weikeng Chen <w.k@berkeley.edu>
Co-authored-by: onewayfunc <onewayfunc@gmail.com>
2022-09-03 00:15:45 -07:00
Weikeng Chen
db6a3d6687 Let cargo build work again for the new arkworks-rs algebra (#97)
* pr

* reduce test time
2022-08-21 20:10:14 -07:00
Michele Orrù
6d64f379a2 Fix with latest arkworks version. (#95)
Co-authored-by: Pratyush Mishra <pratyushmishra@berkeley.edu>
2022-08-01 10:15:17 -07:00
Alex Ozdemir
4e1e8d048d Publicize non-zero weierstrass affine variables (#84)
Co-authored-by: Marcin <marcin.gorny.94@protonmail.com>
Co-authored-by: Pratyush Mishra <pratyushmishra@berkeley.edu>
2022-03-08 00:43:32 -08:00
Pratyush Mishra
51133ad521 Fix patch in Cargo.toml (#92) 2022-03-07 20:42:17 -08:00
Weikeng Chen
b7874406ec Upgrade to work with latest ark-ff (#90)
Co-authored-by: Sun <huachuang20@gmail.com>
Co-authored-by: Pratyush Mishra <pratyushmishra@berkeley.edu>
2022-03-07 14:25:06 -08:00
Marcin
50ab8ee5ba Add a CI job to test against the curves repo (#88) 2022-01-10 11:06:09 -08:00
Tom Shen
986ab20ac0 Minor Bug Fix (#87) 2021-12-22 18:13:42 -08:00
Tom Shen
1f56c46edc Bug Fix in domain and API changes (#86)
* Bug Fix in `domain` and API changes

Currently, `domain.query_position_to_coset` is not consistent native code in `ark-ldt`. This commit does the following changes:
* change `query_position_to_coset` to `query_position_to_coset_elements`, and make the return result consistent with native code
* add function `query_position_to_coset` to just return generator and offset instead of coset elements. This is useful when evaluating vanishing poly.

* minor bug fix

* update CHANGELOG

* `query_position_to_coset_elements` use `query_position_to_coset`

* Update CHANGELOG.md

Co-authored-by: Weikeng Chen <w.k@berkeley.edu>
2021-12-07 11:47:05 -08:00
Pratyush Mishra
1cf947c761 Merge nonnative (#79)
Co-authored-by: Nicholas Ward <npward@berkeley.edu>
Co-authored-by: Pratyush Mishra <pratyushmishra@berkeley.edu>
Co-authored-by: Weikeng Chen <w.k@berkeley.edu>
Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com>
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
Co-authored-by: William Lin <31808623+Will-Lin4@users.noreply.github.com>
Co-authored-by: Dev Ojha <dojha12@gmail.com>
Co-authored-by: Alex Ozdemir <aozdemir@hmc.edu>
2021-08-11 11:12:52 -07:00
Weikeng Chen
a2a5ac491a Fix BLS12 G2PreparedGadget's AllocVar with a divisive twist (#77)
* fix

* tidy up Cargo; add changelog

* fix nostd

* removal of the test

* fmt
2021-08-11 04:05:13 -07:00
Pratyush Mishra
b6e7e94521 Introduce mul_by_inverse_unchecked, and use it (#75) 2021-07-15 16:39:34 -07:00
Pratyush Mishra
65faa3e699 impl ToBytesGadget for Vec<UInt8> (#76) 2021-07-12 12:04:22 -07:00
Weikeng Chen
6e59e02a1b Release v0.3.1 (#73) 2021-07-07 00:18:53 -07:00
Weikeng Chen
47ddbaa411 Enforce mul_by_inverse (#70)
* proposal to fix mul_by_inverse

* update CHANGELOG

* rollback to a secure impl

* update changelog
2021-07-06 02:39:48 -07:00
Weikeng Chen
1ad210462c Implement the Sum trait for FpVar (#71)
* impl sum for fpvar

* fmt

* grammar

* update the CHANGELOG
2021-07-04 12:38:05 -07:00
Weikeng Chen
3871781225 For reference, add a test for non-zero-affine (#69)
* add a test for non-zero-affine for reference

* add some doc
2021-07-02 16:52:06 -07:00
Weikeng Chen
2b8e020aad Release v0.3.0 (#66)
* Release v0.3.0

* fix the pr template
2021-06-06 13:21:37 -07:00
Tom Shen
c3a99ac3f6 Let Radix2Domain::offset to be FpVar instead of F (#65)
* restructure code

* done

* add changelog

* add the changelog to mark this as a breaking change

* add the CHANGELOG

* tweak

* add `EqGadget`

* rename generate_interpolate_cache to generate_interpolation_cache

* address the comment

Co-authored-by: weikeng <w.k@berkeley.edu>
2021-06-06 12:56:30 -07:00
Dev Ojha
02ee91d61b Use batch_inversion_and_mul within native lagrange interpolation (#63) 2021-05-10 15:11:09 -07:00
Tom Shen
989f579ca8 Add Univariate Domain, Vanishing Polynomial, Lagrange Interpolation (#53)
* add domain and vp

* add lagrange interpolator

* add query position to coset

* nostd

* add test assertion

* fmt

* fix test

* add Add and Sub arithmetic

* add Add and Sub arithmetic

* add unit test for mul/div arithmetic

* add more doc for clarification

* add test for native interpolate

* add test for vp constraints

* fix lagrange interpolate bug

* comment cleanup + fmt

* add CHANGELOG

* fix a compile error

* Update CHANGELOG.md

* Update CHANGELOG.md

* fix comment

* doc fix

* doc update 2

* doc update 3

* pub lagrange_interpolator

* doc fix

* rename `EvaluationDomain` to `Radix2Domain`

* tweak

* tweak

Co-authored-by: weikeng <w.k@berkeley.edu>
2021-05-10 14:12:28 -05:00
dependabot-preview[bot]
d1be6d1d76 Upgrade to GitHub-native Dependabot (#61)
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-04-29 09:07:46 -07:00
Dev Ojha
5debc6f8f1 Rename AllocatedBit to AllocatedBool (#60)
* Rename AllocatedBit to AllocatedBool

* Update Changelog

* Fix independent fmt issues
2021-04-09 18:09:18 -05:00
Dev Ojha
47f296ae67 Release v0.2.0 PR (#59) 2021-03-24 19:39:42 -05:00
ValarDragon
2348acf3a1 Update changelog for release 2021-03-24 19:34:25 +03:00
Pratyush Mishra
b8a268d550 Check docs in CI 2021-03-24 14:00:57 +03:00
Pratyush Mishra
736b552720 Fix 2021-03-24 14:00:57 +03:00
Pratyush Mishra
73ac661ddf Update CHANGELOG 2021-03-24 14:00:57 +03:00
Pratyush Mishra
53b2ac48fa Fix UInt docs 2021-03-24 14:00:57 +03:00
dependabot-preview[bot]
fc44ff2de7 Update num-bigint requirement from 0.3 to 0.4
Updates the requirements on [num-bigint](https://github.com/rust-num/num-bigint) to permit the latest version.
- [Release notes](https://github.com/rust-num/num-bigint/releases)
- [Changelog](https://github.com/rust-num/num-bigint/blob/master/RELEASES.md)
- [Commits](https://github.com/rust-num/num-bigint/compare/num-bigint-0.3.0...num-bigint-0.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-24 11:03:45 +03:00
Elder Ryan
a1e72154bf fixed link format (#54) 2021-02-21 08:58:59 -08:00
Tom Shen
09f3613aac Add DensePolynomialVar (#50)
* add folder structures similar to `ark-poly`

* add evaluate impl for DensePolynomialVar

* add tests

* fix no-std

* use ark_std::rand instead of SeedableRng

* add changelog

Co-authored-by: Weikeng Chen <w.k@berkeley.edu>
2021-02-04 17:12:23 -08:00
Weikeng Chen
b741ffc33d replace rand with ark_std::rand and drop rand_xorshift (#51) 2021-02-04 14:24:29 -08:00
Dev Ojha
1f83ffdff4 Switch to panic='abort' for safety across FFI boundaries (#47)
Co-authored-by: Pratyush Mishra <pratyushmishra@berkeley.edu>
2021-02-04 14:04:55 -08:00