1个不稳定版本
0.1.0 | 2023年6月22日 |
---|
#2015在密码学
54KB
1K SLoC
tinyaes-rs
tinyaes是一个用于快速AES加密和解密的紧凑型Rust包
工作正在进行中
lib.rs
:
tinyaes是AES(高级加密标准)的纯Rust实现。
它支持AES-128、AES-192和AES-256。这是一个低级实现,目前只能加密数据块。目前不打算直接使用,而是作为其他加密库的构建块。未来可能会添加更高级的功能。
示例:使用AES-256加密数据块
use tinyaes::AESCore;
use tinyaes::AESKey;
let key: [u8; 32] = "This is a 256-bit key as bytes!!".as_bytes().try_into().unwrap();
let plaintext: [u8; 16] = "This is a block!".as_bytes().try_into().unwrap();
let aes256: AESCore = AESCore::new(AESKey::AES256(key));
let ciphertext: [u8; 16] = aes256.encrypt(&plaintext);
let expected_result: [u8; 16] = [0x08, 0x39, 0x58, 0x3b, 0xc4, 0x15, 0xef, 0xf6, 0x7e, 0x46, 0x65, 0x04, 0x03, 0x7e, 0x7a, 0x88];
assert_eq!(ciphertext, expected_result);
let decrypted: [u8; 16] = aes256.decrypt(&ciphertext);
assert_eq!(decrypted, plaintext);
依赖项
~23KB