mirror of
https://github.com/logos-blockchain/sponges.git
synced 2026-07-30 02:23:31 +00:00
Extracts a struct to hold the state for Keccak-p1600/Keccak-f1600, along with a CPU feature detection `InitToken` which is queried at the time the state is initialized. The previous `p1600`/`f1600` functions with CPU feature detection support have been factored onto this struct, leaving the software implementation available unconditionally as part of the public API, and avoiding performing CPU feature detection on each invocation of the permutation. It looks like it should be possible to slot a struct like this into something like `Sha3HasherCore` in place of its current `state` array.
63 lines
1.8 KiB
TOML
63 lines
1.8 KiB
TOML
[package]
|
|
name = "keccak"
|
|
version = "0.2.0-rc.1"
|
|
description = """
|
|
Pure Rust implementation of the Keccak sponge function including the keccak-f
|
|
and keccak-p variants
|
|
"""
|
|
authors = ["RustCrypto Developers"]
|
|
license = "Apache-2.0 OR MIT"
|
|
documentation = "https://docs.rs/keccak"
|
|
homepage = "https://github.com/RustCrypto/sponges/tree/master/keccak"
|
|
repository = "https://github.com/RustCrypto/sponges"
|
|
keywords = ["crypto", "sponge", "keccak", "keccak-f", "keccak-p"]
|
|
categories = ["cryptography", "no-std"]
|
|
readme = "README.md"
|
|
edition = "2024"
|
|
rust-version = "1.85"
|
|
|
|
[target.'cfg(all(target_arch = "aarch64", keccak_backend = "armv8_asm"))'.dependencies]
|
|
cpufeatures = "0.3"
|
|
|
|
[lints.rust]
|
|
missing_debug_implementations = "warn"
|
|
missing_docs = "warn"
|
|
trivial_casts = "warn"
|
|
trivial_numeric_casts = "warn"
|
|
unused_lifetimes = "warn"
|
|
unused_qualifications = "warn"
|
|
|
|
[lints.rust.unexpected_cfgs]
|
|
level = "warn"
|
|
check-cfg = ['cfg(keccak_backend, values("armv8_asm", "simd", "soft-compact"))']
|
|
|
|
[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"
|