Luke Parker
758d422595
Have <ed448::Point as Zeroize>::zeroize yield a well-defined value
2025-08-20 08:14:00 -04:00
Luke Parker
9841061b49
Add missing feature in substrate/client
2025-08-20 06:38:25 -04:00
Luke Parker
4122a0135f
Fix dirty Cargo.lock
2025-08-20 05:20:47 -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
8be03a8fc2
Fix dirty lockfile
2025-08-20 01:15:56 -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
c8ef044acb
Version bump std-shims
2025-08-19 21:01:14 -04:00
Luke Parker
ddbc32de4d
Update ciphersuite/dkg MSRVs
2025-08-19 18:20:19 -04:00
Luke Parker
e5ccfac19e
Replace bespoke LazyLock/OnceLock with spin re-exports
...
Presumably notably slower on platforms with std, yet only when compiled with old
versions of Rust for which the option is this or no support anyways.
2025-08-19 18:10:33 -04:00
Luke Parker
432daae1d1
Polyfill extension traits for div_ceil and io::Error::other
2025-08-19 18:04:29 -04:00
Luke Parker
da3a85efe5
Only drop OnceLock value if initialized
2025-08-19 17:50:04 -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
f2c13a0040
Expose Once within std-shims, bump spin to 0.9
...
This is technically a semver break due to bumping spin to 0.10, with the types
from spin being directly exposed. Long-term, we should not directly expose spin
but instead have our own types which are thin wrappers around spin (clearly
defining our API and allowing upgrading internals without breaking semver).
2025-08-19 13:36:01 -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
95c30720d2
Update how x coordinates are handled in bitcoin-serai
2025-08-18 14:52:29 -04:00
Luke Parker
ceede14f5c
Fix misc compilation errors
2025-08-18 14:52:29 -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
153f6f2f2f
Update to a monero-oxide patched to dkg 0.6
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
a8b8844e3f
Fix MSRV for simple-request
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
72e80c1a3d
Update everything which uses dkg to the new APIs
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
078d6e51e5
Re-install python3 after removal to solve unmet dependencies
2025-08-15 16:17:31 -04:00
Luke Parker
6c33e18745
Explicitly install python3 to fix build-dependencies
2025-08-15 16:14:10 -04:00
Luke Parker
b743c9a43e
Update Rust version
...
This causes the Serai node to compile and run again.
2025-08-15 15:26:16 -04:00