Expand description
An implementation of the GOST R 34.11-94 cryptographic hash algorithm.
§Usage
use gost94::{Gost94CryptoPro, Digest};
use hex_literal::hex;
// create Gost94 hasher instance with CryptoPro params
let mut hasher = Gost94CryptoPro::new();
// process input message
hasher.update("The quick brown fox jumps over the lazy dog");
// acquire hash digest in the form of GenericArray,
// which in this case is equivalent to [u8; 32]
let result = hasher.finalize();
assert_eq!(result[..], hex!("
9004294a361a508c586fe53d1f1b02746765e71b765472786e4770d565830a76
"));
Also see RustCrypto/hashes readme.
§Associated OIDs.
There can be a confusion regarding OIDs associated with declared types. According to the RFC 4357, the OIDs 1.2.643.2.2.30.1 and 1.2.643.2.2.30.0 are used to identify the hash function parameter sets (CryptoPro vs Test ones). According to RFC 4490 the OID 1.2.643.2.2.9 identifies the GOST 34.311-95 (former GOST R 34.11-94) function, but then it continues that this function MUST be used only with the CryptoPro parameter set.
Re-exports§
pub use digest;
Modules§
- params
- GOST94 parameters.
Structs§
- Gost94
Core - Core GOST94 algorithm generic over parameters.
Traits§
- Digest
- Convenience wrapper trait covering functionality of cryptographic hash functions with fixed output size.
Type Aliases§
- Gost94
Crypto Pro - GOST94 hash function with CryptoPro parameters.
- Gost94
Test - GOST94 hash function with test parameters.
- Gost94UA
- GOST94 hash function with UAPKI GOST 34.311-95 parameters (1.2.804.2.1.1.1.1.2.1 OID).
- Gost94s2015
- GOST94 hash function with S-box defined in GOST R 34.12-2015.