Expand description
Threefish tweakable single-block ciphers.
The 256-, 512- and 1024-bit variants require a block-sized key and an optional 16-byte tweak. An absent tweak is equivalent to sixteen zero bytes.
ThreefishEngine and its aliases use ThreefishPortableEngine, a
portable engine after Bouncy Castle. The rustcrypto feature adds
ThreefishRustCryptoEngine, backed by RustCrypto’s threefish crate,
which ThreefishEngine then uses. The alloc feature adds
ThreefishParamsOwned, which owns its key and tweak and wipes them on
drop.
Structs§
- Threefish
Engine - Threefish with RustCrypto when the
rustcryptofeature is enabled, otherwise the portable engine, with a compile-time block width. - Threefish
Params Owned - An owned key with an optional owned tweak, both wiped on drop.
- Threefish
Params Ref - A borrowed key with an optional borrowed tweak.
- Threefish
Portable Engine - Portable Threefish after Bouncy Castle, with a compile-time block width.
- Threefish
Rust Crypto Engine - Threefish backed by RustCrypto’s
threefishcrate, enabled withrustcrypto.
Constants§
- THREEFISH_
256_ ALGO_ NAME - Threefish-256 display name.
- THREEFISH_
512_ ALGO_ NAME - Threefish-512 display name.
- THREEFISH_
1024_ ALGO_ NAME - Threefish-1024 display name.
- TWEAK_
BYTES - Fixed tweak length in bytes.
Traits§
- Threefish
Params - Supplies a Threefish key and its optional tweak.
Type Aliases§
- Threefish256
Engine - Threefish-256 engine with a 32-byte block and key.
- Threefish512
Engine - Threefish-512 engine with a 64-byte block and key.
- Threefish1024
Engine - Threefish-1024 engine with a 128-byte block and key.