Luke Parker
94bd30083b
Slightly simplify CLSAG signing
...
Expands its test to test all possible ring indexes, though just 0 and a
single n would be sufficient.
2022-05-14 00:45:13 -04:00
Luke Parker
3533e66c7f
Add Rust CLSAG verification
...
Marked experimental, not guaranteed to match Monero yet
2022-05-13 20:26:29 -04:00
Luke Parker
3e7598315c
Reorganize CLSAG sign flow
2022-05-06 19:07:37 -04:00
Luke Parker
3dab26cd94
Correct discrepancies with the IETF draft
...
While all the transcript/extension code works as expected, which means,
they don't cause any conflicts, n was still capped at u64::MAX at
creation when it needs to be u16. Furthermore, participant index and
scalars/points were little endian instead of big endian/curve dependent.
2022-05-06 07:49:18 -04:00
Luke Parker
964cb357e6
Use a global transcript
2022-05-06 07:33:08 -04:00
Luke Parker
cc9c2e0d40
Use dom-sep tags in the transcripts
...
Also simplifies form in some places
2022-05-06 01:35:23 -04:00
Luke Parker
9a42391b75
Cleanup which makes transcript optional, only required for multisig
2022-05-03 08:49:46 -04:00
Luke Parker
bf257b3a1f
Transcript crate with both a merlin backend and a basic label len value backend
...
Moves binding factor/seeded RNGs over to the transcripts.
2022-05-03 07:20:24 -04:00
Luke Parker
9ccf683e9d
Working multisig TXs
2022-04-30 04:32:19 -04:00
Luke Parker
d6649fffb1
Merge InputMultisig into Multisig
...
There's no reason to use the latter.
2022-04-30 01:43:15 -04:00
Luke Parker
22ac5ce3b6
Update the CLSAG multisig API for TX signing
2022-04-30 01:41:05 -04:00
Luke Parker
27396a6291
Implement a CLSAG algorithm extension which also does key images
...
Practically, this should be mergeable. There's little reason to do a
CLSAG and not also a key image. Keeps them isolated for now.
2022-04-29 22:03:34 -04:00
Luke Parker
45559e14ee
Various corrections to multisig API
2022-04-29 15:28:04 -04:00
Luke Parker
1d0a0c7c16
Clean up code, correct a few bugs, add leader based one-time-key/BP gen
2022-04-28 20:09:31 -04:00
Luke Parker
c4b7cb71d7
Move SignableInput to clsag::Input
2022-04-28 17:29:56 -04:00
Luke Parker
7ed1fca270
Use a SeedableRng for CLSAG multisig signing
2022-04-28 17:12:54 -04:00
Luke Parker
20f214c300
Update CLSAG multisig to work again
2022-04-28 12:01:20 -04:00
Luke Parker
c9537a08a1
Files meant for the previous commit
2022-04-27 00:09:25 -04:00
Luke Parker
df4be9ca0c
Move the Monero create to coins/
...
Includes misc bug fixes
2022-04-27 00:09:05 -04:00