2个不稳定版本
0.1.0 | 2024年3月27日 |
---|---|
0.0.0 | 2021年5月5日 |
#2521 in 密码学
8,026 monthly downloads
在 12 个crate中使用 (2 directly)
29KB
452 行
RustCrypto: OCB3
Rust对RFC7253中描述的偏移代码本模式v3(OCB3)认证加密与关联数据(AEAD)密码的纯Rust实现。
示例
use aes::Aes128;
use ocb3::{
aead::{Aead, AeadCore, KeyInit, OsRng, generic_array::GenericArray},
consts::U12,
Ocb3,
};
type Aes128Ocb3 = Ocb3<Aes128, U12>;
let key = Aes128::generate_key(&mut OsRng);
let cipher = Aes128Ocb3::new(&key);
let nonce = Aes128Ocb3::generate_nonce(&mut OsRng);
let ciphertext = cipher.encrypt(&nonce, b"plaintext message".as_ref()).unwrap();
let plaintext = cipher.decrypt(&nonce, ciphertext.as_ref()).unwrap();
assert_eq!(&plaintext, b"plaintext message");
安全注意事项
此crate从未进行过安全审计,并且未彻底评估以确保它在常见CPU架构上操作为恒时。
自行承担风险!
许可
根据您的选择,许可方式为
。
贡献
除非您明确表示,否则根据Apache-2.0许可证定义的,您提交给工作的任何有意贡献将按上述方式双许可,不附加任何额外条款或条件。
依赖关系
~410–720KB
~15K SLoC