AES Key Wrap for Rust
This crate implements the AES KeyWrap(RFC 3394 / RFC 5649) using AES Block function(128/192/256 ECB mode) of Crypto2.
Usage
Keywrap
let kek = decode.unwrap;
let encrypted = decode.unwrap;
let plain = decode.unwrap;
let encrypted_out = aes_wrap_key.unwrap;
let plain_out = aes_unwrap_key.unwrap;
Keywrap with Padding(RFC5649)
let encrypted_out = aes_wrap_key_with_pad.unwrap;
let plain_out = aes_unwrap_key_with_pad.unwrap;
References
- RFC3394
- Advanced Encryption Standard (AES) Key Wrap Algorithm
- RFC5649
- Advanced Encryption Standard (AES) Key Wrap with Padding Algorithm
- Rust AES Keywrap
- It doesn't support RFC3394 now. issue #2
- aes-keywrap-py
- Strongly inspired by this python module.
- AesKeyWrap(C++) and AesKeyWrap Test(C++)
- (C++) AES Key Wrap / Unwrap example
- FreeBSD Crypto
License
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)