Luke Parker
33faa53b56
Remove dleq, dkg-promote, dkg-pedpop per #597
...
Does not move them to a new repository at this time.
2025-08-24 21:40:18 -04:00
Luke Parker
8c366107ae
Merge branch 'develop' into next
...
This resolves the conflicts and gets the workspace `Cargo.toml`s to not be
invalid. It doesn't actually get clippy to pass again yet.
Does move `crypto/dkg/src/evrf` into a new `crypto/dkg/evrf` crate (which does
not yet compile).
2025-08-23 15:05:13 -04:00
Luke Parker
a7c77f8b5f
repr(transparent) on dalek_ff_group::FieldElement
2025-08-23 05:17:43 -04:00
Luke Parker
da3095ed15
Remove FieldElement::from_square
...
The new `FieldElement::from_u256` is sufficient to load an unreduced value. The
caller can perform the square themselves, without us explicitly supporting this
special case.
Updates the monero-oxide version used to one which no longer uses
`FieldElement::from_square` (as their use is why it was added).
2025-08-22 18:42:43 -04:00
Luke Parker
758d422595
Have <ed448::Point as Zeroize>::zeroize yield a well-defined value
2025-08-20 08:14:00 -04:00
Luke Parker
b63ef32864
Smash Ciphersuite definitions into their own crates
...
Uses dalek-ff-group for Ed25519 and Ristretto. Uses minimal-ed448 for Ed448.
Adds ciphersuite-kp256 for Secp256k1 and P-256.
2025-08-20 05:12:36 -04:00
Luke Parker
677a2e5749
Fix zeroization timeline in multiexp, cargo machete
2025-08-20 00:35:56 -04:00
Luke Parker
38bda1d586
dalek_ff_group::FieldElement: FromUniformBytes<64>
2025-08-20 00:23:39 -04:00
Luke Parker
2bc2ca6906
Implement FromUniformBytes<64> for dalek_ff_group::Scalar
2025-08-20 00:06:07 -04:00
Luke Parker
900a6612d7
Use std-shims to reduce flexible-transcript MSRV to 1.66
...
flexible-transcript already had a shim to support <1.66. This was irrelevant
since flexible-transcript had a MSRV of 1.73. Due to how clunky it was, it has
been removed despite theoretically enabling an even lower MSRV.
2025-08-19 23:43:26 -04:00
Luke Parker
17c1d5cd6b
Tweak multiexp to Zeroize points when invoked in constant time, not just scalars
2025-08-19 22:28:59 -04:00
Luke Parker
8a1b56a928
Make the transcript dependency optional for schnorr-signatures
...
It's only required when aggregating.
2025-08-19 21:50:58 -04:00
Luke Parker
75964cf6da
Place Schnorr signature aggregation behind a feature flag
2025-08-19 21:45:59 -04:00
Luke Parker
d407e35cee
Fix Ciphersuite feature flagging
2025-08-19 21:42:25 -04:00
Luke Parker
ddbc32de4d
Update ciphersuite/dkg MSRVs
2025-08-19 18:20:19 -04:00
Luke Parker
1e0240123d
Shim LazyLock when before 1.70
2025-08-19 17:40:19 -04:00
Luke Parker
f6d4d1b084
Remove unused import, fix dirty Cargo.lock
2025-08-19 16:24:19 -04:00
Luke Parker
1b37dd2951
Shim std::sync::LazyLock for Rust < 1.80
...
Allows downgrading some crypto crates' MSRV to 1.79 as well.
2025-08-19 16:15:44 -04:00
Luke Parker
f32e0609f1
Add warning to dalek-ff-group
2025-08-19 15:25:40 -04:00
Luke Parker
ca85f9ba0c
Remove the poorly-designed reduce_512 API
...
Unused and unpublished. This was only added in the FCMP++ branch as a quick fix
for performance reasons. Finding a better API is still a tricky question, but
this API is _bad_.
2025-08-19 15:24:49 -04:00
Luke Parker
cfd1cb3a37
Add FieldElement::wide_reduce to dalek-ff-group
2025-08-19 13:48:54 -04:00
Luke Parker
961f46bc04
Add const fn to create a dalek-ff-group FieldElement
2025-08-19 13:17:39 -04:00
Luke Parker
2c4de3bab4
Bump version of ff-group-tests
2025-08-19 12:51:16 -04:00
Luke Parker
5e60ea9718
Don't offset nonces yet negate to achieve an even Y coordinate
...
Replaces an iterative loop with an immediate result, if action is necessary.
2025-08-18 14:52:29 -04:00
Luke Parker
104c0d4492
Rename ThresholdKeys::secret_share to ThresholdKeys::original_secret_share
2025-08-18 14:52:29 -04:00
Luke Parker
7c8f13ab28
Raise flexible-transcript requirement as required
2025-08-18 14:52:29 -04:00
Luke Parker
cb0deadf9a
Version bump flexible-transcript
2025-08-18 14:52:29 -04:00
Luke Parker
cb489f9cef
Other version bumps
2025-08-18 14:52:29 -04:00
Luke Parker
cc662cb591
Version bumps, add necessary version specifications
2025-08-18 14:52:29 -04:00
Luke Parker
82b543ef75
Fix clippy lint for ed448 on optional compilation path
2025-08-18 14:52:29 -04:00
Luke Parker
b6edc94bcd
Add dealer key generation crate
2025-08-18 14:52:29 -04:00
Luke Parker
cfce2b26e2
Update READMEs, targeting an 80-character line limit
2025-08-18 14:52:29 -04:00
Luke Parker
e87bbcda64
Have modular-frost compile again
2025-08-18 14:52:29 -04:00
Luke Parker
9f84adf8b3
Smash dkg into dkg, dkg-[recovery, promote, musig, pedpop]
...
promote and pedpop require dleq, which don't support no-std. All three should
be moved outside the Serai repository, per #597 , as none are planned for use
and worth covering under our BBP.
2025-08-18 14:52:29 -04:00
Luke Parker
3919cf55ae
Extend modular-frost to test with scaled and offset keys
...
The transcript transcripted the group key _plus_ the offset, when it should've
only transcripted the group key as the declared group key already had the
offset applied. This has been fixed.
2025-08-18 14:52:29 -04:00
Luke Parker
38dd8cb191
Support taking arbitrary linear combinations of signing keys, not just additive offsets
2025-08-18 14:52:29 -04:00
Luke Parker
f2563d39cb
Correct crypto MSRVs
2025-08-18 14:52:29 -04:00
Luke Parker
15a9cbef40
git checkout -f next ./crypto
...
Proceeds to remove the eVRF DKG after, only keeping what's relevant to this
branch alone.
2025-08-18 14:52:29 -04:00
Luke Parker
92d9e908cb
Version bumps for packages that needed to be published for monero-oxide
2025-08-15 10:56:10 -04:00
Luke Parker
4f65a0b147
Remove Clone from ClsagMultisigMask{Sender, Receiver}
...
This had ill-defined properties on Clone, as a mask could be sent multiple times
(unintended) and multiple algorithms may receive the same mask from a singular
sender.
Requires removing the Clone bound within modular-frost and expanding the test
helpers accordingly.
This was not raised in the audit yet upon independent review.
2025-08-12 01:27:28 -04:00
Luke Parker
5a7b815e2e
Update nightly version
2025-02-04 07:57:04 -05:00
Luke Parker
258c02ff39
Merge branch 'develop' into next
...
This is an initial resolution of conflicts which does not work.
2025-01-30 00:56:29 -05:00
Luke Parker
3655dc723f
Use clearer identity check in equality
2025-01-30 00:13:55 -05:00
Luke Parker
315d4fb356
Correct decoding identity for embedwards25519/secq256k1
2025-01-29 23:01:45 -05:00
Luke Parker
2bc880e372
Downstream the eVRF libraries from FCMP++
...
Also adds no-std support to secq256k1 and embedwards25519.
2025-01-29 22:29:40 -05:00
Luke Parker
cb906242e7
2025 nightly
...
Supersedes #640 .
2025-01-18 12:41:25 -05:00
Luke Parker
bcd3f14f4f
Start work on cleaning up the coordinator's tributary handling
2025-01-02 09:11:04 -05:00
Luke Parker
18897978d0
thiserror 2.0, cargo update
2024-12-08 21:55:37 -05:00
Luke Parker
8013c56195
Add/correct msrv labels
2024-12-08 18:27:15 -05:00
Luke Parker
d0201cf2e5
Remove potentially vartime (due to cache side-channel attacks) table access in dalek-ff-group and minimal-ed448
2024-10-27 08:51:19 -04:00