Commit Graph

  • 62d3997591
    implement all Poseidon2 variations (+ tests) in the Rust crate main poseidon2 Balazs Komuves 2026-02-06 22:49:30 +01:00
  • f4ba5d09b5
    full Poseidon2 instance set (both "old" and "new" constants) + reference impl + KATs Balazs Komuves 2026-02-06 16:56:12 +01:00
  • 919db6bc5b
    add Poseidon2 constants for t=2,3,4 generated by the sage script from HorizenLabs Balazs Komuves 2026-02-03 21:26:18 +01:00
  • a64bc59088
    add missing feature annotation (it didn't complain before...) testing Balazs Komuves 2026-01-30 12:44:06 +01:00
  • 2cd07acad0
    implemented modular inversion (just for the kick of it) + lots of new tests Balazs Komuves 2026-01-30 06:41:16 +01:00
  • b01b63bdab
    implement Zero and One trait abstractions Balazs Komuves 2026-01-30 03:04:16 +01:00
  • 0628b17ca1
    add some quickcheck tests for bigint Balazs Komuves 2026-01-30 01:33:20 +01:00
  • f6c30ed6e0
    started adding some tests Balazs Komuves 2026-01-29 23:19:04 +01:00
  • b46a6dde66
    add random number / field element generation support Balazs Komuves 2026-01-29 22:03:52 +01:00
  • 0c4b1934f3
    fix an embarrassing thing (256-bit specific routines were "generic"...) Balazs Komuves 2026-01-29 21:42:43 +01:00
  • e596c5b16b
    improve the Poseidon API (thanks goes to Chrysostomos Nanakos for the help!) Balazs Komuves 2026-01-29 14:56:08 +01:00
  • 4740fa3d88
    change the Poseidon2 state representation from triple to array idiomatic Balazs Komuves 2026-01-29 11:53:41 +01:00
  • 702fa34c34
    add functions to convert vectors of field elements between standard and Montgomery representation Balazs Komuves 2026-01-29 11:40:54 +01:00
  • ee15a60f89
    remove all the unnecessary references Balazs Komuves 2026-01-29 11:29:37 +01:00
  • dd278668a2
    some more improvements (stylistic + traits) Balazs Komuves 2026-01-28 00:49:22 +01:00
  • 6234888649
    implement some standard traits (Eq, Cmp, Add, Sub, Mul, From, Into) Balazs Komuves 2026-01-28 00:29:56 +01:00
  • 37d424c319
    minor improvements (README, bench) Balazs Komuves 2026-01-27 14:24:28 +01:00
  • 49e10423d0
    implement circom's Poseidon permutation and compression for t=2,3,4,5 Balazs Komuves 2026-01-25 21:17:45 +01:00
  • f43a8d55a2
    implement circomlib's Poseidon for t=3 Balazs Komuves 2026-01-25 20:53:47 +01:00
  • 92881234bf
    conversion to decimal string; mulAdd Balazs Komuves 2026-01-25 19:45:51 +01:00
  • 1786565415
    haskell script to convert circomlib's constant to rust (untested) Balazs Komuves 2026-01-23 23:57:28 +01:00
  • 8d3f3fd975
    copy poseidon(1) constants from circomlib Balazs Komuves 2026-01-23 20:23:53 +01:00
  • 453eb12deb
    add conversion to/from bytes Balazs Komuves 2026-01-23 19:37:04 +01:00
  • 012ab9f5cc
    add license files Balazs Komuves 2026-01-23 16:13:57 +01:00
  • 8dbb8fe359
    a little bit more inlining... Balazs Komuves 2026-01-23 13:19:03 +01:00
  • e3c83cbcad
    more inlining does help though! Balazs Komuves 2026-01-23 13:10:43 +01:00
  • bf2228f16a
    tried specializing to the prime, doesn't seem to help Balazs Komuves 2026-01-23 13:07:55 +01:00
  • ea3ceb0605
    some loop unrolling (in REDC particularly) seems to help a bit (about 20%) Balazs Komuves 2026-01-23 12:23:33 +01:00
  • d12b3f89b5
    readme Balazs Komuves 2026-01-23 02:21:03 +01:00
  • 2f719307f4
    refactor the platform stuff Balazs Komuves 2026-01-23 02:12:42 +01:00
  • 86e2f50ce2
    apparently, singleton structs _sometimes_ compile to newtypes, but _not always_... "zero-cost abstractions", my ass Balazs Komuves 2026-01-23 01:19:24 +01:00
  • 1262c72bc7
    experimenting with variations... Balazs Komuves 2026-01-23 00:57:38 +01:00
  • 4ab91e4b28
    wrote a different bigint squaring routine, but on (this particular machine) it's actually slower than the naive multiplication Balazs Komuves 2026-01-22 22:37:06 +01:00
  • fb74a20cd2
    add a very simple bench Balazs Komuves 2026-01-22 22:36:25 +01:00
  • 2d8f9163cd
    renamed the package Balazs Komuves 2026-01-22 21:18:41 +01:00
  • 9abeac984f
    implement Poseidon2 with t=3 Balazs Komuves 2026-01-22 21:08:51 +01:00
  • 6123e90836
    implement REDC (no serious testing yet) Balazs Komuves 2026-01-22 19:36:49 +01:00
  • ad6c9d01b2
    WIP field implementation (the Montgomery REDC algo is missing) Balazs Komuves 2026-01-22 18:49:39 +01:00
  • be33579a63
    some basic bigint operations Balazs Komuves 2026-01-22 16:30:52 +01:00
  • dd1192f9b6 initial commit Balazs Komuves 2026-01-22 16:30:52 +01:00