2个不稳定版本

0.1.0 2023年4月3日
0.0.0 2023年3月3日

#2589 in 加密学

MIT/Apache

11KB
186

RustCrypto: belt-mac

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

纯Rust实现的belt-mac

示例

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();

最低支持的Rust版本

Rust 1.57 或更高。

最低支持的Rust版本可能会在未来更改,但将使用较小的版本号升级进行更改。

SemVer策略

  • 此库的所有默认功能都受SemVer覆盖
  • MSRV如上所述被视为SemVer的例外

许可

许可如下

任选其一。

贡献

除非您明确声明,否则您提交给作品的所有有意贡献,根据Apache-2.0许可证定义,将按上述方式双重许可,不附加任何额外条款或条件。

依赖关系

~505KB
~11K SLoC