Balazs Komuves
|
2cd07acad0
|
implemented modular inversion (just for the kick of it) + lots of new tests
(inversion certainly makes testing more serious!)
|
2026-01-30 06:41:16 +01:00 |
|
Balazs Komuves
|
b01b63bdab
|
implement Zero and One trait abstractions
|
2026-01-30 03:04:16 +01:00 |
|
Balazs Komuves
|
0628b17ca1
|
add some quickcheck tests for bigint
|
2026-01-30 01:33:20 +01:00 |
|
Balazs Komuves
|
f6c30ed6e0
|
started adding some tests
|
2026-01-29 23:19:04 +01:00 |
|
Balazs Komuves
|
b46a6dde66
|
add random number / field element generation support
|
2026-01-29 23:18:17 +01:00 |
|
Balazs Komuves
|
0c4b1934f3
|
fix an embarrassing thing (256-bit specific routines were "generic"...)
|
2026-01-29 21:42:43 +01:00 |
|
Balazs Komuves
|
e596c5b16b
|
improve the Poseidon API
(thanks goes to Chrysostomos Nanakos for the help!)
|
2026-01-29 14:56:08 +01:00 |
|
Balazs Komuves
|
4740fa3d88
|
change the Poseidon2 state representation from triple to array
|
2026-01-29 11:53:41 +01:00 |
|
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
|
453eb12deb
|
add conversion to/from bytes
|
2026-01-23 19:37:04 +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
|
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 |
|