Daniel Lubarov
64cd2e5686
2 challenges, 28 routed wires ( #310 )
...
* 2 challenges, 28 routed wires
2 challenges gives certain checks approximately (field_bits - degree_bits) * 2 bits of security, so we maintain our target of 100 bits for circuits with 2^14 gates or fewer.
28 routed wires is the min for `InterpolationGate`. A lower number helps reduce proof sizes. We can go back to a high number if there's any strong reason to reduce our gate count (e.g. if we were trying to hit 2^12).
* Check FRI conjectured security
* Fix
2021-10-19 12:38:20 -07:00
wborgeaud
019ccf537b
Merge pull request #309 from mir-protocol/use_quadratic_extension
...
Generalize `RandomAccessGate` to allow using quadratic field extensions
2021-10-18 22:00:04 +02:00
wborgeaud
0af4b1f02a
Merge pull request #308 from mir-protocol/borrow_new_from_config
...
Minor: Take `CircuitConfig` by reference to avoid a few clones
2021-10-18 21:49:24 +02:00
wborgeaud
e24285c3b0
Separate random access generators
2021-10-18 21:48:40 +02:00
wborgeaud
5f4a244240
PR feedback
2021-10-18 21:38:57 +02:00
wborgeaud
c7674b24ba
Unused imports
2021-10-18 17:27:22 +02:00
wborgeaud
dda14011c5
Forgot a random access check
2021-10-18 17:23:39 +02:00
wborgeaud
5b81006e9a
Fill random access gates to make sure all generators are run
2021-10-18 17:11:59 +02:00
wborgeaud
3f0b5ab9d3
Keep track of the last used RAM gate
2021-10-18 16:48:21 +02:00
wborgeaud
a35cd98b03
New random access gadget
2021-10-18 15:45:52 +02:00
wborgeaud
104fd08e72
Working RAM gate
2021-10-18 15:19:09 +02:00
wborgeaud
9503bb22f4
Take config by reference to avoid clone
2021-10-18 11:11:48 +02:00
wborgeaud
00ce9d9f25
Add num_copies to RAM gate
2021-10-18 11:07:18 +02:00
Jakub Nabaglo
1a43d130d9
Relegate poseidon_naive to testing only. ( #303 )
2021-10-14 18:35:57 -07:00
Jakub Nabaglo
3790b55c4b
Delete obsolete optimizations (Crandall Poseidon on AVX2 and NEON) ( #305 )
2021-10-14 08:59:47 -07:00
Jakub Nabaglo
ff3f0891bc
Minor: unused import warning ( #304 )
2021-10-13 16:20:17 -07:00
Jakub Nabaglo
0f7be8b221
Fix compilation error on Aarch64 ( #301 )
2021-10-13 10:33:36 -07:00
Jakub Nabaglo
609028c899
Poseidon-12 in hand-rolled ASM ( #276 )
...
* Goldilocks Poseidon-12 in asm
* Lints
* Hamish comments
* Reorganize arch-specific files
2021-10-13 09:47:50 -07:00
wborgeaud
0f90e4fbf2
Merge pull request #300 from mir-protocol/clean_get_challenges
...
Clean `get_challenges`
2021-10-13 18:37:29 +02:00
Jakub Nabaglo
5d099c5d45
x86 ASM tricks for scalar Goldilocks multiplication ( #299 )
...
* ASM tricks for scalar Goldilocks multiplication
* Minor style
* Provide generic versions of `add/sub_with_wraparound`
* Minor bugfix
2021-10-13 09:16:45 -07:00
wborgeaud
710959f077
Comments
2021-10-13 15:45:43 +02:00
wborgeaud
7f6d90ee42
Clean get_challenges
2021-10-13 15:39:12 +02:00
wborgeaud
164aa0947e
Use cap_height: 0 in size-optimized proof
2021-10-12 21:36:20 +02:00
wborgeaud
d43850e580
Merge pull request #298 from mir-protocol/remove_inferred_elmt
...
Remove inferred element in compressed proof
2021-10-12 20:22:05 +02:00
wborgeaud
839110b794
coset_index in other places
2021-10-12 20:21:29 +02:00
wborgeaud
1ced853f33
Add coset_index var
2021-10-12 08:40:56 +02:00
wborgeaud
cdb2892969
Move inferred elements to a new struct
2021-10-12 08:38:43 +02:00
Hamish Ivey-Law
ad30f4aca6
WIP: Remove old benchmarks ( #297 )
...
* Remove old benchmarkmarking binaries now that we use Criterion.
* Benchmark CrandallField alongside Goldilocks.
2021-10-12 09:46:38 +11:00
wborgeaud
62f3b558ad
Typos
2021-10-11 18:45:55 +02:00
wborgeaud
288a8e1155
Minor comments
2021-10-11 18:44:17 +02:00
wborgeaud
ddac8026f2
Comments
2021-10-11 17:24:06 +02:00
wborgeaud
acadd64371
Clippy
2021-10-11 16:51:30 +02:00
wborgeaud
ea69a87338
Working
2021-10-11 16:40:31 +02:00
Hamish Ivey-Law
41b26e1f56
Precompute the Dth root of unity. ( #296 )
2021-10-10 20:42:10 +11:00
Hamish Ivey-Law
8f59381c87
Faster modular inverse ( #292 )
...
* Working "faster" inverse algo, using u128s.
* Faster inverse_2exp for large exp.
* More inverse tests.
* Make f, g u64.
* Comments.
* Unroll first two iterations.
* Fix bug and re-unroll first two iterations.
* Simplify loop.
* Refactoring and documentation.
* Clean up testing.
* Move inverse code to inversion.rs; use in GoldilocksField.
* Bench quartic Goldilocks extension too.
* cargo fmt
* Add more documentation.
* Address Jakub's comments.
2021-10-10 10:39:02 +11:00
Daniel Lubarov
dc600d5abf
Hash benchmarks ( #295 )
2021-10-09 14:07:49 -07:00
Jakub Nabaglo
c55181a4ea
Fix logging in tests ( #293 )
...
* Fix logging in tests
* lint
2021-10-08 17:07:03 -07:00
wborgeaud
011429da01
Merge pull request #291 from mir-protocol/fix_path_compression
...
Fix path compression
2021-10-08 08:25:41 +02:00
wborgeaud
bc95563f43
PR feedback
2021-10-08 08:15:55 +02:00
wborgeaud
64d386051b
More cleaning
2021-10-07 22:41:30 +02:00
wborgeaud
e531eda576
Cleaning
2021-10-07 22:32:58 +02:00
wborgeaud
64ad8783eb
Fix path compression
2021-10-07 22:19:26 +02:00
wborgeaud
d2a5e67980
Somewhat working
2021-10-07 19:30:39 +02:00
wborgeaud
145ee8cb18
Merge pull request #290 from mir-protocol/trivial_random_access
...
Add check for trivial random access
2021-10-07 08:37:42 +02:00
Nicholas Ward
7f18b21ace
minor fix
2021-10-06 12:35:37 -07:00
Nicholas Ward
0f82f41b64
Merge pull request #289 from mir-protocol/secp256k1
...
Secp256K1Base field
2021-10-06 11:44:17 -07:00
Nicholas Ward
88b528e3fe
fix
2021-10-06 11:44:02 -07:00
Nicholas Ward
d2c589e281
addressed comments
2021-10-06 11:42:34 -07:00
Nicholas Ward
695a56c4ca
addressed comments
2021-10-06 11:34:50 -07:00
Nicholas Ward
b5fea8d1bb
addressed comments
2021-10-06 11:24:24 -07:00