Commit Graph

1321 Commits

Author SHA1 Message Date
Thomas Eizinger
e62c67753a
Inline clsag_round_hash_prefix fn 2021-05-11 14:30:35 +10:00
Thomas Eizinger
52939ad217
Redesign macro to use || as separator 2021-05-11 14:21:28 +10:00
Thomas Eizinger
cf32828739
Make hash_to_scalar a macro so we can pass different types 2021-05-11 14:14:08 +10:00
Thomas Eizinger
53916aab6b
Make Ring an implementation detail of clsag module 2021-05-11 12:47:20 +10:00
Thomas Eizinger
f9cac4b6c9
Don't take Rings by value if we don't consume them 2021-05-11 12:40:37 +10:00
Thomas Eizinger
6a4961a472
Add missing arguments to verify fn 2021-05-11 12:39:31 +10:00
Thomas Eizinger
9255cc8f68
Add dedicated test to clsag module 2021-05-11 12:34:58 +10:00
Thomas Eizinger
1bd8eb83d1
Move Signature::verify to clsag::verify 2021-05-11 12:32:47 +10:00
Thomas Eizinger
874179685a
Move Signature::verify under sign 2021-05-11 12:31:37 +10:00
Thomas Eizinger
07d544adde
Reorder and rename for clarification 2021-05-11 12:25:56 +10:00
Thomas Eizinger
4933d7f1b7
Extract INV_EIGHT constant 2021-05-11 12:21:10 +10:00
Thomas Eizinger
a73024ccfc
Inline AggregationHashes::hash 2021-05-11 12:17:22 +10:00
Thomas Eizinger
a4077d13e5
Inline challenge function 2021-05-11 12:13:14 +10:00
Thomas Eizinger
fb36b7fe4f
Extract hasher utility function 2021-05-11 12:09:15 +10:00
Thomas Eizinger
be7cdb23c3
Re-order arguments of clsag::sign 2021-05-11 12:00:51 +10:00
Thomas Eizinger
c68fe77211
Remove Result return value because we can never fail 2021-05-11 11:57:36 +10:00
Thomas Eizinger
a9e60515a1
Inline const's that are only used once 2021-05-11 11:56:27 +10:00
Thomas Eizinger
0658520ad6
Re-order clsag module to have pub fns first 2021-05-11 11:54:39 +10:00
Thomas Eizinger
ec3c358795
Extract clsag module 2021-05-11 11:51:29 +10:00
Thomas Eizinger
2abc7799e1
Return Signature from sign function 2021-05-11 11:47:20 +10:00
Thomas Eizinger
f4b9f11fef
Pass z and H_p_pk back in because we need z inside for a signature 2021-05-11 11:23:18 +10:00
Thomas Eizinger
cfb05994a6
Remove warning, fmt and make things compile 2021-05-11 11:15:27 +10:00
Thomas Eizinger
41310d860c
Invert D where necessary 2021-05-11 11:15:00 +10:00
Thomas Eizinger
345154ab3e
Multiply BF by 8 because 2021-05-11 11:00:15 +10:00
Thomas Eizinger
799ae7db3e
Pass D into clsag instead of I 2021-05-11 10:43:19 +10:00
Lucas Soriano del Pino
b7fa6edd10
We're almost there (I think) 2021-05-10 19:30:47 +10:00
Thomas Eizinger
b944f0f989
Fix TODO by instructing Vec 2021-05-10 17:45:31 +10:00
Lucas Soriano del Pino
38123a324f
Use Ring type 2021-05-10 17:37:56 +10:00
Thomas Eizinger
80165ba91b
Add ring newtype for easy access of bytes and elements 2021-05-10 17:28:03 +10:00
Lucas Soriano del Pino
05c1b63aa2
[WIP] Conform to Monero CLSAG 2021-05-10 17:25:58 +10:00
Lucas Soriano del Pino
cbdda9b9c4
Document differences with Monero CLSAG 2021-05-10 15:34:19 +10:00
Lucas Soriano del Pino
64cd618aea
[WIP] Make test self-contained 2021-05-10 13:21:40 +10:00
Lucas Soriano del Pino
46d0eaedea
Compute I earlier 2021-05-07 17:48:56 +10:00
Thomas Eizinger
22ff99b65f
Compute s_prime_a properly and make rng configurable 2021-05-07 17:48:07 +10:00
Thomas Eizinger
d9e30b903e
Must have two outputs and upper bound was too low 2021-05-07 15:25:38 +10:00
Thomas Eizinger
ce3134c86a
More debugging 2021-05-07 14:53:32 +10:00
Thomas Eizinger
2b581d0122
Debugging ... 2021-05-07 12:12:24 +10:00
Thomas Eizinger
a04d6efb39
Choose correct lock output automatically 2021-05-06 17:54:50 +10:00
Lucas Soriano del Pino
134287d195
[WIP] More done 2021-05-06 17:25:53 +10:00
Lucas Soriano del Pino
64a0bd7f8a
[WIP] Almost done 2021-05-06 13:39:05 +10:00
Thomas Eizinger
be9c2c7d6b
Fill in some TODOs 2021-05-04 17:58:54 +10:00
Lucas Soriano del Pino
21f31ccb8d
[WIP] More transaction stuff 2021-05-04 16:59:44 +10:00
Thomas Eizinger
36b8da0117
Update to latest monero-rs fork 2021-05-04 14:06:46 +10:00
Thomas Eizinger
47a63f3467
WIP SIGN STUFF 2021-05-04 13:37:07 +10:00
Thomas Eizinger
f3f1d96431
Add test for monero ring signature adapter 2021-05-04 11:46:58 +10:00
Thomas Eizinger
bce693ae76
Update Rust version 2021-05-04 11:46:34 +10:00
Thomas Eizinger
6c238b1617
Clippy fixes after Rust update 2021-05-04 11:29:59 +10:00
Thomas Eizinger
99fd1c84d9
Add Monero adaptor signature protocol 2021-05-04 10:52:50 +10:00
bors[bot]
e7785d2c83
Merge #434
434: Introduce monero-wallet crate r=thomaseizinger a=thomaseizinger

This PR:

1. ~Introduce a crate for the epee binary serialization as a serde format~: Released here: https://github.com/comit-network/monero-epee-bin-serde
2. Extends the MoneroRPC client with two binary calls
3. Introduces a `monero-wallet` crate that for now just provides functionality for choosing random key offsets. Together with the the ability to produce bulletproofs and ring signatures, this should be enough for signing Monero transactions locally.

(1) and (2) are a prerequisite for (3).

Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2021-05-03 03:21:18 +00:00
bors[bot]
02a61f1328
Merge #462
462: Bump rust_decimal from 1.12.2 to 1.12.3 r=thomaseizinger a=dependabot[bot]

Bumps [rust_decimal](https://github.com/paupino/rust-decimal) from 1.12.2 to 1.12.3.
<details>
<summary>Commits</summary>
<ul>
<li><a href="322e3d1a40"><code>322e3d1</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/363">#363</a> from paupino/version/1.12.3</li>
<li><a href="74f1a06b7d"><code>74f1a06</code></a> Version 1.12.3</li>
<li><a href="6c0a1dbff4"><code>6c0a1db</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/362">#362</a> from paupino/issue/361</li>
<li><a href="010868df10"><code>010868d</code></a> Fixes an issue whereby rounding small negative numbers towards zero would cau...</li>
<li><a href="bb9b05c05a"><code>bb9b05c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/358">#358</a> from paupino/feautre/min-version</li>
<li><a href="831fb9ae2e"><code>831fb9a</code></a> Use precompiled version of cargo make</li>
<li><a href="2e80bff136"><code>2e80bff</code></a> Relax when CI should be run</li>
<li><a href="c862d1dd41"><code>c862d1d</code></a> Use stable toolchain for file format/clippy checks</li>
<li><a href="571f5c06d1"><code>571f5c0</code></a> Switch back to --workspace for cargo check compatible functions</li>
<li><a href="c64b400844"><code>c64b400</code></a> Revert to --all for older toolchain</li>
<li>Additional commits viewable in <a href="https://github.com/paupino/rust-decimal/compare/1.12.2...1.12.3">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust_decimal&package-manager=cargo&previous-version=1.12.2&new-version=1.12.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-03 03:02:27 +00:00