Al-Kindi-0
bb42388827
fix: bug in Falcon secret key basis order ( #305 )
1 year ago
Dominik Schmid
2a0ae70645
feature: adding serialization to the SMT ( #304 )
1 year ago
Bobbin Threadbare
4bf087daf8
fix: decrement leaf count in simple SMT when inserting empty value ( #303 )
1 year ago
polydez
b4dc373925
feat: add leaf count to `SimpleSmt` ( #302 )
1 year ago
Bobbin Threadbare
5a2e917dd5
Tracking PR for v0.9.0 release ( #278 )
* chore: update crate version to v0.9.0
* chore: remove deprecated re-exports
* chore: remove Box re-export
* feat: implement pure-Rust keygen and signing for RpoFalcon512 (#285 )
* feat: add reproducible builds (#296 )
* fix: address a few issues for migrating Miden VM (#298 )
* feat: add RngCore supertrait for FeltRng (#299 )
---------
Co-authored-by: Al-Kindi-0 <82364884+Al-Kindi-0@users.noreply.github.com>
Co-authored-by: Paul-Henry Kajfasz <42912740+phklive@users.noreply.github.com>
1 year ago
Bobbin Threadbare
2be17b74fb
fix: add re-exports of vec and format macros
1 year ago
Paul Schoenfelder
4c8a9809ed
fix: re-add unintentionally removed re-exported liballoc macros ( #292 )
1 year ago
Paul Schoenfelder
999a64fca6
chore: handle deprecations in winterfell 0.8.3 release
1 year ago
Augusto Hack
dbab0e9aa9
fix: clippy warnings ( #280 )
1 year ago
Andrey Khmuro
cd4525c7ad
refactor: update repo to be compatible with Winterfell 0.8 ( #275 )
1 year ago
Philippe Laferrière
552d90429b
Remove `TieredSmt` ( #277 )
1 year ago
Philippe Laferrière
119c7e2b6d
`SmtProof`: add accessors ( #276 )
* add accessors
* fmt
* comments
1 year ago
Philippe Laferrière
45e7e78118
Clone ( #274 )
1 year ago
Philippe Laferrière
a9475b2a2d
reexport ( #273 )
1 year ago
Philippe Laferrière
e55b3ed2ce
Introduce `SmtProof` ( #270 )
* add conversion for `SmtLeaf`
* introduce `SmtProof` scaffolding
* implement `verify_membership()`
* SmtLeaf: knows its index
* `SmtLeaf::index`
* `SmtLeaf::get_value()` returns an Option
* fix `verify_membership()`
* impl `SmtProof::get`
* impl `into_parts()`
* `SmtProof::compute_root`
* use `SmtProof` in `Smt::open`
* `SmtLeaf` constructors
* Vec
* impl `Error` for `SmtLeafError`
* fix std Error
* move Word/Digest conversions to LeafIndex
* `SmtProof::new()` returns an error
* `SparseMerkleTree::path_and_leaf_to_opening`
* `SmtLeaf`: serializable/deserializable
* `SmtProof`: serializable/deserializable
* add tests for SmtLeaf serialization
* move `SmtLeaf` to submodule
* use constructors internally
* fix docs
* Add `Vec`
* add `Vec` to tests
* no_std use statements
* fmt
* `Errors`: make heading
* use `SMT_DEPTH`
* SmtLeaf single case: check leaf index
* Multiple case: check consistency with leaf index
* use `pub(super)` instead of `pub(crate)`
* use `pub(super)`
* `SmtLeaf`: add `num_entries()` accessor
* Fix `SmtLeaf` serialization
* improve leaf serialization tests
1 year ago
Bobbin Threadbare
61a0764a61
fix: peak index calculation in MmrProof
1 year ago
Philippe Laferrière
3d71a9b59b
`Smt`: remove inner nodes when removing value ( #269 )
1 year ago
Philippe Laferrière
da12fd258a
Add missing methods to `Smt` ( #268 )
1 year ago
Bobbin Threadbare
5fcf98669d
feat: add PartialMmr::from_parts() constructor
1 year ago
Philippe Laferrière
1cdd3dbbfa
Add methods to `Smt` necessary for VM tests ( #264 )
* Smt::inner_nodes
* Add conversion Smt -> MerkleStore
* add docstring to `Smt`
* add to docstring
* fmt
* add `leaves()` method to `Smt`
* add `kv_pairs` functions
* rewrite `into_elements()` in terms of `into_kv_pairs()`
* change docstring
1 year ago
Bobbin Threadbare
d59ffe274a
feat: add Debug and Clone derives for Falcon signature
1 year ago
Bobbin Threadbare
727ed8fb3e
docs: minor padding comment update
1 year ago
Al-Kindi-0
0acceaa526
fix: always pad bytes with 10*0 ( #267 )
1 year ago
Michael Birch
3882e0f719
fix(dsa): fix deserialization logic ( #266 )
1 year ago
Augusto F. Hack
70e39e7b39
partialmmr: Method add with support for a single peak and tracking
fixes : #258
1 year ago
Philippe Laferrière
5596db7868
Implement `Smt` struct (replacement to `TieredSmt`) ( #254 )
1 year ago
Bobbin Threadbare
a933ff2fa0
refactor: remove obsolete traits
1 year ago
Philippe Laferrière
8ea37904e3
Introduce `SparseMerkleTree` trait ( #245 )
1 year ago
Augusto F. Hack
dae9de9068
docs: fix warnings
1 year ago
Bobbin Threadbare
7e9d4a4316
feat: add to_hex() to RpoDigest and RpxDigest
1 year ago
Al-Kindi-0
c9ab3beccc
New padding rule for RPX ( #236 )
* feat: new padding rule for RPX
* fix: documentation on security
1 year ago
cristiantroy
260592f8e7
Fix: typos ( #249 )
* tests: fix typos
* full.rs: fix typo
* CONTRIBUTING: fix typo
1 year ago
Bobbin Threadbare
6b5db8a6db
fix: clippy
1 year ago
Bobbin Threadbare
3ebee98b0f
feat: add PartialMmr::is_tracked()
1 year ago
Bobbin Threadbare
457c985a92
refactor: remove sve feature flag
1 year ago
Bobbin Threadbare
ac7593a13c
chore: update CI jobs
1 year ago
Bobbin Threadbare
004a3bc7a8
docs: update changelog and readme
1 year ago
Grzegorz Swirski
479fe5e649
feat: use AVX2 instructions whenever available
1 year ago
Bobbin Threadbare
a0f533241f
fix: bugfix in PartialMmr apply delta
1 year ago
Al-Kindi-0
05309b19bb
chore: export default Winterfell randomcoin
1 year ago
Bobbin Threadbare
be1d631630
feat: add Clone derive to PartialMmr
1 year ago
Bobbin Threadbare
4d0d8d3058
refactor: return MmrPeaks from PartialMmr::peaks()
1 year ago
Bobbin Threadbare
59d93cb8ba
fix: typos
1 year ago
Bobbin Threadbare
9baddfd138
feat: implement inner_nodes() iterator for PartialMmr
1 year ago
Bobbin Threadbare
8f92f44a55
feat: add serialization to RpoRandomCoin
1 year ago
Al-Kindi-0
36d3b8dc46
feat: move RpoRandomCoin and define Rng trait
nits: minor
chore: update log and readme
1 year ago
Augusto F. Hack
7e13346e04
serde: for MerklePath, ValuePath, and RootPath
1 year ago
Philippe Laferrière
9a18ed6749
Implement `SimpleSmt::set_subtree` ( #232 )
* recompute_nodes_from_indeX_to_root
* MerkleError variant
* set_subtree
* test_simplesmt_set_subtree
* test_simplesmt_set_subtree_entire_tree
* test
* set_subtree: return root
1 year ago
Augusto F. Hack
df2650eb1f
bugfix: TSMT failed to verify empty word for depth 64.
When a prefix is pushed to the depth 64, the entry list includes only
the values different than ZERO. This is required, since each block
represents a 2^192 values.
The bug was in the proof membership code, that failed to handle the case
of a key that was not in the list, because the depth is 64 and the value
was not set.
1 year ago
Philippe Laferrière
18310a89f0
MmrPeaks::hash_peaks() returns Digest ( #230 )
1 year ago