Expand description
§RustCrypto: belt-mac
Pure Rust implementation of [belt-mac
].
§Example
use belt_mac::{BeltMac, Mac};
use hex_literal::hex;
let key = [0x42; 32];
let msg = b"input message";
let expected_tag = hex!("9f5c9623b4eff8802195e81bcd841959");
// To get the authentication code:
let mut mac: BeltMac = BeltMac::new_from_slice(&key).unwrap();
mac.update(msg);
let tag = mac.finalize();
let tag_bytes = tag.into_bytes();
assert_eq!(&tag_bytes[..], &expected_tag[..]);
// To verify the message:
let mut mac: BeltMac = BeltMac::new_from_slice(&key).unwrap();
mac.update(b"input message");
mac.verify(&tag_bytes).unwrap();
§Minimum Supported Rust Version
Rust 1.57 or higher.
Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump.
§SemVer Policy
- All on-by-default features of this library are covered by SemVer
- MSRV is considered exempt from SemVer as noted above
§License
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;
Structs§
- Generic core BeltMac instance, which operates over blocks.
Traits§
- Convenience wrapper trait covering functionality of Message Authentication algorithms.
Type Aliases§
- Generic BeltMac instance.