Skip to content

Commit aa95960

Browse files
add all cipher suites from frost (#3)
1 parent 541aee4 commit aa95960

File tree

20 files changed

+718
-5
lines changed

20 files changed

+718
-5
lines changed

Cargo.lock

Lines changed: 391 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,37 @@
22
resolver = "2"
33
members = [
44
"roast-core",
5+
"roast-ed25519",
6+
"roast-ed448",
7+
"roast-p256",
8+
"roast-ristretto255",
9+
"roast-secp256k1",
510
]
611

712
[workspace.package]
813
version = "0.1.0"
914
authors = ["StackOverflowExcept1on"]
1015
edition = "2021"
1116
readme = "README.md"
12-
repository = "https://github.com/StackOverflowExcept1on/roastbeef"
17+
repository = "https://github.com/StackOverflowExcept1on/roast"
1318
license = "MIT"
1419
categories = ["cryptography"]
1520

1621
[workspace.dependencies]
1722
document-features = "0.2"
1823
frost-core = { git = "https://github.com/ZcashFoundation/frost", branch = "expose-verify-signature-share", features = ["internals"], default-features = false }
24+
frost-ed25519 = { git = "https://github.com/ZcashFoundation/frost", branch = "expose-verify-signature-share", default-features = false }
25+
frost-ed448 = { git = "https://github.com/ZcashFoundation/frost", branch = "expose-verify-signature-share", default-features = false }
26+
frost-p256 = { git = "https://github.com/ZcashFoundation/frost", branch = "expose-verify-signature-share", default-features = false }
27+
frost-ristretto255 = { git = "https://github.com/ZcashFoundation/frost", branch = "expose-verify-signature-share", default-features = false }
28+
frost-secp256k1 = { git = "https://github.com/ZcashFoundation/frost", branch = "expose-verify-signature-share", default-features = false }
1929
rand_core = { version = "0.6", default-features = false }
2030
thiserror-nostd-notrait = { version = "1.0", default-features = false }
2131
thiserror = { version = "1.0", default-features = false }
32+
33+
roast-core = { path = "roast-core", default-features = false }
34+
roast-ed25519 = { path = "roast-ed25519", default-features = false }
35+
roast-ed448 = { path = "roast-ed448", default-features = false }
36+
roast-p256 = { path = "roast-p256", default-features = false }
37+
roast-ristretto255 = { path = "roast-ristretto255", default-features = false }
38+
roast-secp256k1 = { path = "roast-secp256k1", default-features = false }

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
### roastbeef
1+
### roast
22

3-
[![Build Status](https://github.com/StackOverflowExcept1on/roastbeef/workflows/CI/badge.svg)](https://github.com/StackOverflowExcept1on/roastbeef/actions)
3+
[![Build Status](https://github.com/StackOverflowExcept1on/roast/workflows/CI/badge.svg)](https://github.com/StackOverflowExcept1on/roast/actions)
44

55
Rust implementations of [ROAST: Robust Asynchronous Schnorr Threshold Signatures](https://eprint.iacr.org/2022/550).

roast-core/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ description = "Rust implementations of Robust Asynchronous Schnorr Threshold Sig
77
readme.workspace = true
88
repository.workspace = true
99
license.workspace = true
10-
keywords = ["cryptography", "crypto", "threshold", "signature", "schnorr"]
10+
keywords = ["cryptography", "crypto", "schnorr", "threshold", "signature"]
1111
categories.workspace = true
1212

1313
[dependencies]

roast-core/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ mod coordinator;
99
mod error;
1010
mod signer;
1111

12-
pub use frost_core;
12+
pub use frost_core as frost;
1313

1414
pub use coordinator::*;
1515
pub use error::*;

roast-ed25519/Cargo.toml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
[package]
2+
name = "roast-ed25519"
3+
version.workspace = true
4+
authors.workspace = true
5+
edition.workspace = true
6+
description = "A Schnorr signature scheme over Ed25519 that supports ROAST"
7+
readme.workspace = true
8+
repository.workspace = true
9+
license.workspace = true
10+
keywords = ["cryptography", "crypto", "ed25519", "threshold", "signature"]
11+
categories.workspace = true
12+
13+
[dependencies]
14+
document-features.workspace = true
15+
frost-ed25519.workspace = true
16+
roast-core.workspace = true
17+
18+
[features]
19+
default = ["serialization", "cheater-detection", "std"]
20+
#! ## Features
21+
## Enable standard library support.
22+
std = ["roast-core/std"]
23+
## Enable `serde` support for types that need to be communicated. You
24+
## can use `serde` to serialize structs with any encoder that supports
25+
## `serde` (e.g. JSON with `serde_json`).
26+
serde = ["roast-core/serde"]
27+
## Enable a default serialization format. Enables `serde`.
28+
serialization = ["roast-core/serialization"]
29+
## Enable cheater detection.
30+
cheater-detection = ["roast-core/cheater-detection"]

roast-ed25519/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
An implementation of Schnorr signatures on the Ed25519 curve for threshold numbers of signers (ROAST).

roast-ed25519/src/lib.rs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#![cfg_attr(not(feature = "std"), no_std)]
2+
#![deny(missing_docs)]
3+
#![doc = include_str!("../README.md")]
4+
#![doc = document_features::document_features!()]
5+
6+
mod coordinator {
7+
/// Represents all possible session statuses.
8+
pub type SessionStatus = roast_core::SessionStatus<frost_ed25519::Ed25519Sha512>;
9+
10+
/// Represents coordinator.
11+
pub type Coordinator = roast_core::Coordinator<frost_ed25519::Ed25519Sha512>;
12+
}
13+
14+
mod error {
15+
pub use roast_core::MaliciousSignerError;
16+
17+
/// Represents all possible errors that can occur.
18+
pub type Error = roast_core::Error<frost_ed25519::Ed25519Sha512>;
19+
}
20+
21+
mod signer {
22+
/// Represents signer.
23+
pub type Signer = roast_core::Signer<frost_ed25519::Ed25519Sha512>;
24+
}
25+
26+
pub use frost_ed25519 as frost;
27+
28+
pub use coordinator::*;
29+
pub use error::*;
30+
pub use signer::*;

roast-ed448/Cargo.toml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
[package]
2+
name = "roast-ed448"
3+
version.workspace = true
4+
authors.workspace = true
5+
edition.workspace = true
6+
description = "A Schnorr signature scheme over Ed448 that supports ROAST"
7+
readme.workspace = true
8+
repository.workspace = true
9+
license.workspace = true
10+
keywords = ["cryptography", "crypto", "ed448", "threshold", "signature"]
11+
categories.workspace = true
12+
13+
[dependencies]
14+
document-features.workspace = true
15+
frost-ed448.workspace = true
16+
roast-core.workspace = true
17+
18+
[features]
19+
default = ["serialization", "cheater-detection", "std"]
20+
#! ## Features
21+
## Enable standard library support.
22+
std = ["roast-core/std"]
23+
## Enable `serde` support for types that need to be communicated. You
24+
## can use `serde` to serialize structs with any encoder that supports
25+
## `serde` (e.g. JSON with `serde_json`).
26+
serde = ["roast-core/serde"]
27+
## Enable a default serialization format. Enables `serde`.
28+
serialization = ["roast-core/serialization"]
29+
## Enable cheater detection.
30+
cheater-detection = ["roast-core/cheater-detection"]

roast-ed448/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
An implementation of Schnorr signatures on the Ed448 curve for threshold numbers of signers (ROAST).

0 commit comments

Comments
 (0)