aes-keywrap-rs

Crates.ioaes-keywrap-rs
lib.rsaes-keywrap-rs
version0.2.0
sourcesrc
created_at2020-12-28 13:44:30.643733
updated_at2020-12-29 01:04:35.317954
descriptionAES Key Wrap for Rust (AES-KW, RFC 3394 / RFC 5649)
homepagehttps://github.com/hwiorn/aes-keywrap-rs
repositoryhttps://github.com/hwiorn/aes-keywrap-rs
max_upload_size
id328273
size19,801
Tim Lee (hwiorn)

documentation

README

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

Commit count: 7

cargo fmt