#aes-key #aes #aes-kw #keywrap #crypto #aes-ecb

nightly aes-keywrap-rs

AES Key Wrap for Rust (AES-KW, RFC 3394 / RFC 5649)

2 unstable releases

0.2.0 Dec 29, 2020
0.1.0 Dec 28, 2020

#1671 in Cryptography

MIT license

19KB
312 lines

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 = hex::decode("000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F").unwrap();
let encrypted = hex::decode("A8F9BC1612C68B3FF6E6F4FBE30E71E4769C8B80A32CB8958CD5D17D6B254DA1").unwrap();
let plain = hex::decode("00112233445566778899AABBCCDDEEFF0001020304050607").unwrap();
let encrypted_out = aes_wrap_key(&kek, &plain).unwrap();
let plain_out = aes_unwrap_key(&kek, &encrypted).unwrap();

Keywrap with Padding(RFC5649)

let encrypted_out = aes_wrap_key_with_pad(&kek, &plain).unwrap();
let plain_out = aes_unwrap_key_with_pad(&kek, &encrypted).unwrap();

References

License

Dependencies

~600KB
~12K SLoC