Skip to main content

Crate gost94

Crate gost94 

Source
Expand description

§RustCrypto: GOST94

crate Docs Apache2/MIT licensed Rust Version Project Chat Build Status

Pure Rust implementation of the GOST R 34.11-94 cryptographic hash algorithm.

§Examples

use gost94::{Gost94CryptoPro, Digest};
use hex_literal::hex;

let mut hasher = Gost94CryptoPro::new();
hasher.update("The quick brown fox jumps over the lazy dog");
let hash = hasher.finalize();

assert_eq!(hash, hex!("9004294a361a508c586fe53d1f1b02746765e71b765472786e4770d565830a76"));

See the digest crate docs for additional examples.

§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 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.

§License

The crate is licensed under either of:

at your option.

§Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Re-exports§

pub use digest;

Modules§

block_api
Block-level types
params
GOST94 parameters.

Structs§

Gost94
GOST94 hash function generic over parameters.

Traits§

Digest
Convenience wrapper trait covering functionality of cryptographic hash functions with fixed output size.

Type Aliases§

Gost94CryptoPro
GOST94 hash function with CryptoPro parameters.
Gost94Test
GOST94 hash function with test parameters.
Gost94UA
GOST94 hash function with UAPKI GOST 34.311-95 parameters
Gost94s2015
GOST94 hash function with S-box defined in GOST R 34.12-2015.