-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
89 lines (78 loc) · 2.39 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
[package]
name = "clatter"
version = "1.1.0"
edition = "2021"
license = "MIT"
description = "no_std compatible implementation of Noise protocol framework with Post-Quantum extensions"
documentation = "https://docs.rs/clatter"
repository = "https://github.com/jmlepisto/clatter"
keywords = [
"noise",
"noise-protocol",
"crypto",
"protocol",
"post-quantum",
]
categories = [
"cryptography",
"no-std",
"no-std::no-alloc",
"algorithms",
]
exclude = [
"vectors/*",
".github/*",
"tests/*",
]
[features]
default = [
"use-aes-gcm",
"use-chacha20poly1305",
"use-sha",
"use-blake2",
"use-25519",
"use-pqclean-kyber",
"use-rust-crypto-ml-kem",
]
alloc = []
std = [
"alloc",
"sha2/std",
"blake2/std",
"aes-gcm/std",
"chacha20poly1305/std",
"ml-kem/std",
"zeroize/std",
]
use-sha = ["sha2"]
use-blake2 = ["blake2"]
use-aes-gcm = ["aes-gcm"]
use-chacha20poly1305 = ["chacha20poly1305"]
use-pqclean-kyber = ["pqcrypto-kyber", "pqcrypto-traits"]
use-rust-crypto-ml-kem = ["ml-kem"]
use-25519 = ["x25519-dalek"]
# docs.rs-specific configuration
[package.metadata.docs.rs]
all-features = true
# defines the configuration attribute `docsrs`
rustdoc-args = ["--cfg", "docsrs"]
[dependencies]
# Mandatory
arrayvec = { version = "0.7.6", default-features = false, features = ["zeroize"] }
rand_core = "0.6.4"
zeroize = { version = "1.8.1", default-features = false, features = ["zeroize_derive"] }
# Optional
aes-gcm = { version = "0.10.3", default-features = false, features = ["aes"], optional = true }
blake2 = { version = "0.10.6", default-features = false, optional = true }
chacha20poly1305 = { version = "0.10.1", default-features = false, features = ["rand_core"], optional = true }
ml-kem = { version = "0.2.1", default-features = false, features = ["zeroize"], optional = true }
sha2 = { version = "0.10.8", default-features = false, optional = true }
thiserror-no-std = { version = "2.0.2", default-features = false }
x25519-dalek = { version = "2.0.1", default-features = false, features = ["static_secrets", "zeroize"], optional = true }
pqcrypto-kyber = { version = "0.8.1", default-features = false, optional = true }
pqcrypto-traits = { version = "0.3.5", default-features = false, optional = true }
displaydoc = { version = "0.2.5", default-features = false }
[dev-dependencies]
rand = "0.8.5"
[workspace]
members = ["fuzz", "vectors"]