Cargo Features
cosmian_kyber has no features set by default.
[dependencies]
cosmian_kyber = { version = "0.1.0", features = ["kyber512", "kyber768", "kyber1024", "hazmat", "90s", "avx2", "wasm", "nasm", "std", "benchmarking", "zeroize"] }
- kyber512
-
Security Levels
Defaults to "kyber768" if none selected
Will throw a compile-time error if more than one level is chosenAffects
poly::poly_compress
,poly::poly_decompress
,poly::poly_getnoise_eta1122_4x
,poly::poly_getnoise_eta2
… - kyber768
- kyber1024
-
Affects
poly::poly_compress
,poly::poly_decompress
,poly::poly_getnoise_eta2
… - hazmat
-
Export IND-CPA primitives WARNING use with caution
- 90s = sha2
-
Additional features
90s mode uses AES-CTR and SHA2 as primitives insteadAffects
cbd::poly_cbd_eta1_90s
… - avx2 nasm? = cc
-
Use avx2 intrinsics on x86 architectures
Wont compile if the platform doesn't supprt it - wasm = getrandom, rand, wasm-bindgen
-
For compiling to wasm targets
Affects
cosmian_kyber::wasm
… - nasm = avx2, nasm-rs
-
Uses Netwide Assembler avx2 code instead of GAS, this offers increased portability, you will need a nasm compiler installed. Can be downloaded from https://www.nasm.us/
- std
-
Enable std library support
- benchmarking = criterion
-
For benchmarking
Features from optional dependencies
In crates that don't use the dep:
syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.
- wasm-bindgen wasm?
- sha2 90s?
- getrandom wasm?
- zeroize implicit feature
- cc build avx2?
- nasm-rs build nasm?
-
Enables nasm-rs ^0.2.4
- rand wasm?
- criterion benchmarking?
-
Enables criterion ^0.4.0