91 lines
2.6 KiB
TOML
91 lines
2.6 KiB
TOML
[package]
|
|
name = "chacha20"
|
|
version = "0.10.1"
|
|
authors = ["RustCrypto Developers"]
|
|
edition = "2024"
|
|
rust-version = "1.85"
|
|
documentation = "https://docs.rs/chacha20"
|
|
readme = "README.md"
|
|
repository = "https://github.com/RustCrypto/stream-ciphers"
|
|
license = "MIT OR Apache-2.0"
|
|
keywords = ["crypto", "stream-cipher", "chacha8", "chacha12", "xchacha20"]
|
|
categories = ["cryptography", "no-std"]
|
|
description = """
|
|
The ChaCha20 stream cipher (RFC 8439) implemented in pure Rust using traits
|
|
from the RustCrypto `cipher` crate, with optional architecture-specific
|
|
hardware acceleration (AVX2, SSE2). Additionally provides the ChaCha8, ChaCha12,
|
|
XChaCha20, XChaCha12 and XChaCha8 stream ciphers, and also optional
|
|
rand_core-compatible RNGs based on those ciphers.
|
|
"""
|
|
|
|
[dependencies]
|
|
cfg-if = "1"
|
|
cipher = { version = "0.5", optional = true, features = ["stream-wrapper"] }
|
|
rand_core = { version = "0.10", optional = true, default-features = false }
|
|
|
|
# `zeroize` is an explicit dependency because this crate may be used without the `cipher` crate
|
|
zeroize = { version = "1.8.1", optional = true, default-features = false }
|
|
|
|
[target.'cfg(any(target_arch = "x86_64", target_arch = "x86"))'.dependencies]
|
|
cpufeatures = "0.3"
|
|
|
|
[dev-dependencies]
|
|
cipher = { version = "0.5", features = ["dev"] }
|
|
hex-literal = "1"
|
|
|
|
[features]
|
|
default = ["cipher"]
|
|
legacy = ["cipher"]
|
|
rng = ["dep:rand_core"]
|
|
xchacha = ["cipher"]
|
|
|
|
[lints.rust]
|
|
missing_copy_implementations = "warn"
|
|
missing_debug_implementations = "warn"
|
|
missing_docs = "warn"
|
|
trivial_casts = "warn"
|
|
trivial_numeric_casts = "warn"
|
|
unreachable_pub = "warn"
|
|
unused_lifetimes = "warn"
|
|
unused_qualifications = "warn"
|
|
|
|
[lints.rust.unexpected_cfgs]
|
|
level = "warn"
|
|
check-cfg = [
|
|
'cfg(chacha20_avx512)',
|
|
'cfg(chacha20_backend, values("avx2", "avx512", "soft", "sse2"))'
|
|
]
|
|
|
|
[lints.clippy]
|
|
borrow_as_ptr = "warn"
|
|
cast_lossless = "warn"
|
|
cast_possible_truncation = "warn"
|
|
cast_possible_wrap = "warn"
|
|
cast_precision_loss = "warn"
|
|
cast_sign_loss = "warn"
|
|
checked_conversions = "warn"
|
|
from_iter_instead_of_collect = "warn"
|
|
implicit_saturating_sub = "warn"
|
|
manual_assert = "warn"
|
|
map_unwrap_or = "warn"
|
|
missing_errors_doc = "warn"
|
|
missing_panics_doc = "warn"
|
|
mod_module_files = "warn"
|
|
must_use_candidate = "warn"
|
|
needless_range_loop = "allow"
|
|
ptr_as_ptr = "warn"
|
|
redundant_closure_for_method_calls = "warn"
|
|
ref_as_ptr = "warn"
|
|
return_self_not_must_use = "warn"
|
|
semicolon_if_nothing_returned = "warn"
|
|
trivially_copy_pass_by_ref = "warn"
|
|
std_instead_of_alloc = "warn"
|
|
std_instead_of_core = "warn"
|
|
undocumented_unsafe_blocks = "warn"
|
|
unnecessary_safety_comment = "warn"
|
|
unwrap_in_result = "warn"
|
|
unwrap_used = "warn"
|
|
|
|
[package.metadata.docs.rs]
|
|
all-features = true
|