28 Commits

Author SHA1 Message Date
Balazs Komuves
702fa34c34
add functions to convert vectors of field elements between standard and Montgomery representation 2026-01-29 11:40:54 +01:00
Balazs Komuves
ee15a60f89
remove all the unnecessary references 2026-01-29 11:29:37 +01:00
Balazs Komuves
dd278668a2
some more improvements (stylistic + traits) 2026-01-28 00:49:22 +01:00
Balazs Komuves
6234888649
implement some standard traits (Eq, Cmp, Add, Sub, Mul, From, Into) 2026-01-28 00:29:56 +01:00
Balazs Komuves
37d424c319
minor improvements (README, bench) 2026-01-27 14:24:28 +01:00
Balazs Komuves
49e10423d0
implement circom's Poseidon permutation and compression for t=2,3,4,5 2026-01-25 21:17:45 +01:00
Balazs Komuves
f43a8d55a2
implement circomlib's Poseidon for t=3 2026-01-25 20:53:47 +01:00
Balazs Komuves
92881234bf
conversion to decimal string; mulAdd 2026-01-25 20:49:34 +01:00
Balazs Komuves
1786565415
haskell script to convert circomlib's constant to rust (untested) 2026-01-23 23:57:28 +01:00
Balazs Komuves
8d3f3fd975
copy poseidon(1) constants from circomlib 2026-01-23 20:23:53 +01:00
Balazs Komuves
453eb12deb
add conversion to/from bytes 2026-01-23 19:37:04 +01:00
Balazs Komuves
012ab9f5cc
add license files 2026-01-23 16:13:57 +01:00
Balazs Komuves
8dbb8fe359
a little bit more inlining... 2026-01-23 13:19:03 +01:00
Balazs Komuves
e3c83cbcad
more inlining does help though! 2026-01-23 13:10:43 +01:00
Balazs Komuves
bf2228f16a
tried specializing to the prime, doesn't seem to help 2026-01-23 13:07:55 +01:00
Balazs Komuves
ea3ceb0605
some loop unrolling (in REDC particularly) seems to help a bit (about 20%) 2026-01-23 12:23:33 +01:00
Balazs Komuves
d12b3f89b5
readme 2026-01-23 02:21:03 +01:00
Balazs Komuves
2f719307f4
refactor the platform stuff 2026-01-23 02:12:42 +01:00
Balazs Komuves
86e2f50ce2
apparently, singleton structs _sometimes_ compile to newtypes, but _not always_... "zero-cost abstractions", my ass 2026-01-23 01:19:24 +01:00
Balazs Komuves
1262c72bc7
experimenting with variations... 2026-01-23 00:57:38 +01:00
Balazs Komuves
4ab91e4b28
wrote a different bigint squaring routine, but on (this particular machine) it's actually slower than the naive multiplication 2026-01-22 22:37:06 +01:00
Balazs Komuves
fb74a20cd2
add a very simple bench 2026-01-22 22:36:25 +01:00
Balazs Komuves
2d8f9163cd
renamed the package 2026-01-22 21:18:41 +01:00
Balazs Komuves
9abeac984f
implement Poseidon2 with t=3 2026-01-22 21:08:51 +01:00
Balazs Komuves
6123e90836
implement REDC (no serious testing yet) 2026-01-22 19:36:49 +01:00
Balazs Komuves
ad6c9d01b2
WIP field implementation (the Montgomery REDC algo is missing) 2026-01-22 18:49:39 +01:00
Balazs Komuves
be33579a63
some basic bigint operations 2026-01-22 16:30:52 +01:00
Balazs Komuves
dd1192f9b6 initial commit 2026-01-22 16:30:52 +01:00