forked from Argyle-Software/kyber
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCargo.toml
81 lines (64 loc) · 2.02 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
[package]
name = "pqc_kyber"
version = "0.3.0"
authors = ["Mitchell Berry <[email protected]>"]
edition = "2018"
license = "MIT/Apache-2.0"
repository = "https://github.com/Argyle-Software/kyber"
documentation = "https://docs.rs/crate/pqc_kyber/"
categories = ["algorithms", "cryptography"]
description = "A rust implementation of the post-quantum Kyber KEM algorithm"
keywords = ["kyber", "kem", "key-exchange", "kex", "post-quantum"]
readme = "readme.md"
[dependencies]
rand_core = {version = "0.6.2", default-features = false }
wasm-bindgen = { version = "0.2.83", optional = true }
sha2 = { version = "0.10.2", optional = true }
getrandom = {version = "0.2.7", features = ["js"], optional = true}
zeroize = { version = "1.5.3", features = ["derive"], optional = true}
criterion = { version = "0.3.6", features = ["html_reports"], optional = true}
# TODO: Add rustcrypto AES-CTR feature for 90's mode
# aes-ctr = {version = "0.6.0", optional = true}
[dependencies.rand]
version = "0.8.5"
default-features = false
features = ["getrandom"]
optional = true
[dev-dependencies]
rand = "0.8.3"
[build-dependencies]
cc = "1.0.73"
[lib]
crate-type = ["cdylib", "rlib"]
[[bench]]
name = "api"
harness = false
[features]
### Security Levels ###
# Defaults to "kyber768" if none selected
# Will throw a compile-time error if more than one level is chosen
kyber512 = []
kyber768 = []
kyber1024 = []
### Additional features ###
# 90s mode uses AES-CTR and SHA2 as primitives instead
90s = ["sha2"]
# Use avx2 intrinsics on x86 architectures
# Wont compile if the platform doesn't supprt it
avx2 = []
# For compiling to wasm targets
wasm = ["wasm-bindgen", "getrandom", "rand"]
zero = ["zeroize"]
# For benchmarking
benchmarking = ["criterion"]
# Known Answer Tests
# Allows private internal api access to seed the RNG output.
# Do not use this feature for any purpose other than testing.
KAT = []
# Prevents leak sanitiser failing in tests
[profile.test]
opt-level = 2
[profile.test.package."*"]
opt-level = 0
[profile.test.build-override]
opt-level = 0