187 Commits

Author SHA1 Message Date
wborgeaud
1d77116ef3 Working 2022-03-24 07:19:48 +01:00
wborgeaud
c6ebd06907 Not working yet 2022-03-23 15:47:22 +01:00
wborgeaud
7cf3220439 Rollback 2022-03-23 14:16:02 +01:00
wborgeaud
185d8faef6 Progress 2022-03-23 14:06:09 +01:00
wborgeaud
68bd0f4b3d Not working 2022-03-23 07:27:06 +01:00
wborgeaud
744996ef1c Remove remove_prefix 2022-03-20 10:19:22 +01:00
wborgeaud
dbaa31d818 Back to slice 2022-03-20 10:13:01 +01:00
wborgeaud
296b21aed9 Not working 2022-03-17 11:48:44 +01:00
wborgeaud
e77383b559 Progress 2022-03-17 11:08:25 +01:00
wborgeaud
63a3090452 Start selectors 2022-03-16 18:09:36 +01:00
wborgeaud
cc9a43b574 Fix salt issues 2022-03-15 17:14:45 +01:00
Hamish Ivey-Law
310493c293
Faster extension field multiplication (#500)
* Initial implementation of quintic extensions.

* Update to/from_biguint() methods.

* Draft of fast multiplication on quintic extensions over 64-bit base.

* cargo fmt

* Typo.

* Document functions (a bit).

* Refactor reduction step.

* Change multiplication call so that LLVM generates better assembly.

* Use one main accumulator instead of two minor ones; faster reduce.

* Use one main accumulator in square too; clean up redundant code.

* Call faster routines from Mul and Square impls.

* Fix reduction function.

* Fix square calculation.

* Slightly faster reduction.

* Clean up names and types.

* cargo fmt

* Move extension field mul/sqr specialisations to their own file.

* Rename functions to have unique prefix.

* Add faster quadratic multiplication/squaring.

* Faster quartic multiplication and squaring.

* cargo fmt

* clippy

* Alternative reduce160 function.

* Typo.

* Remove alternative reduction function.

* Remove delayed reduction implementation of squaring.

* Enforce assumptions about extension generators.

* Make the accumulation variable a u32 instead of u64.

* Add test to trigger carry branch in reduce160.

* cargo fmt

* Some documentation.

* Clippy; improved comments.

* cargo fmt

* Remove redundant Square specialisations.

* Fix reduce*() visibility.

* Faster reduce160 from Jakub.

* Change mul-by-const functions to operate on 160 bits instead of 128.

* Move code for extensions of GoldilocksField to its own file.
2022-03-04 09:34:31 +11:00
Nicholas Ward
6b386e756a
Merge pull request #503 from mir-protocol/ecdsa_target_visibility
ECDSA targets visibility
2022-02-24 12:44:03 -08:00
Nicholas Ward
bd7f43adc2 visibility 2022-02-24 10:19:16 -08:00
Nicholas Ward
383b8b68b3 secret_to_public fn 2022-02-24 10:01:38 -08:00
wborgeaud
517d26e4c1
Merge pull request #499 from mir-protocol/stark_permutation_checks
Stark verifier permutation checks
2022-02-23 09:56:02 +01:00
wborgeaud
a31c58b69d Use ReducingFactor 2022-02-22 17:23:55 +01:00
wborgeaud
6cd2fc62b5 Should work (does not) 2022-02-22 11:44:24 +01:00
Jakub Nabaglo
c7af639579
Restore vectorization to full Poseidon rounds on Aarch64 (#498)
* Restore vectorization to full Poseidon layers on Aarch64

* Typos
2022-02-21 17:45:01 -08:00
wborgeaud
9516e14c3e
Merge pull request #491 from mir-protocol/fix_reduction_strategy
Fix reduction strategy
2022-02-18 17:07:03 +01:00
Jakub Nabaglo
a736aa8e70
Update MDS matrix and round consts in Poseidon; disable vectorization (#493) 2022-02-17 22:01:07 -08:00
wborgeaud
67cb5dfd58 PR feedback 2022-02-17 08:26:23 +01:00
wborgeaud
56336e396d Fix 2022-02-16 14:17:14 +01:00
wborgeaud
ea9006f52e Add rate_bits 2022-02-16 13:51:10 +01:00
wborgeaud
b28cd55326 Fix reduction strategy 2022-02-16 13:37:01 +01:00
wborgeaud
c6f80ba59a
Merge pull request #490 from mir-protocol/batchable
Simplify batched gate code
2022-02-16 09:36:47 +01:00
wborgeaud
f8dfc3986b PR feedback 2022-02-16 09:26:16 +01:00
wborgeaud
08e255a2bb Remove params in GateInstance 2022-02-16 09:02:21 +01:00
wborgeaud
661a6b44ef Delete GMiMC files 2022-02-16 08:33:52 +01:00
Hamish Ivey-Law
f4ef692aad
Quintic extension fields (#489)
* Initial implementation of quintic extensions.

* Update to/from_biguint() methods.

* cargo fmt

* Fix call to test suite.

* Small optimisation in try_inverse().

* Replace multiplicative group generator and document requirement.
2022-02-16 10:38:24 +11:00
wborgeaud
3fd5258191 Comments 2022-02-15 18:00:53 +01:00
wborgeaud
2d4d2d21a0 Simplification 2022-02-15 17:35:12 +01:00
wborgeaud
d0da2fe1ad Remove debug info 2022-02-15 17:01:16 +01:00
wborgeaud
c74b0c91c8 Progress towards using generators 2022-02-15 16:59:17 +01:00
wborgeaud
0aefe92b8c Merge MultiOpsGate into Gate 2022-02-15 15:30:34 +01:00
wborgeaud
5e3177520b Fixes 2022-02-15 15:08:53 +01:00
wborgeaud
6d2c9b11a6 Merge branch 'main' into batchable
# Conflicts:
#	plonky2/src/gates/gmimc.rs
#	plonky2/src/hash/gmimc.rs
#	plonky2/src/plonk/circuit_builder.rs
2022-02-15 14:43:12 +01:00
wborgeaud
acd62f1221 Changes after #481 2022-02-15 08:17:07 +01:00
wborgeaud
14d8cf2ceb Merge branch 'main' into recursive_starks 2022-02-15 08:13:50 +01:00
wborgeaud
f4640bb5a1
Merge pull request #481 from mir-protocol/fix_hash_or_noop_merkle_proof
Use `hash_or_noop` for Merkle tree leaves
2022-02-15 08:12:36 +01:00
BGluth
1467732616 Impled Hash for AffinePoint 2022-02-14 12:41:24 -07:00
wborgeaud
b104dfce2a Working 2022-02-14 19:37:24 +01:00
BGluth
c9171517a4 Derived more traits for ecdsa types 2022-02-14 10:55:11 -07:00
wborgeaud
83701096c4 More visibility changes 2022-02-14 10:14:31 +01:00
wborgeaud
cff39c5550 Change visibility 2022-02-14 10:12:24 +01:00
wborgeaud
3db9c775b4 Add set_fri_openings 2022-02-14 10:09:08 +01:00
wborgeaud
80e3c928bb Clippy 2022-02-14 10:00:37 +01:00
wborgeaud
b0de3328c1 Working 2022-02-14 09:53:33 +01:00
wborgeaud
2e008eac23 Change Merkle tree lead hashing (to change back when #481 lands) 2022-02-14 09:35:08 +01:00
wborgeaud
7af2d05828 Save allocation and add const generic bound 2022-02-13 15:04:40 +01:00