#aes-key #encryption-key #aes #aes-kw #keywrap

no-std aes-keywrap

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

7 releases

0.2.5 Feb 8, 2023
0.2.4 Feb 11, 2022
0.2.3 May 27, 2021
0.2.2 Apr 30, 2021
0.1.0 Oct 13, 2020

#2328 in Cryptography

Download history 33/week @ 2024-07-20 51/week @ 2024-07-27 37/week @ 2024-08-03 35/week @ 2024-08-10 16/week @ 2024-08-17 66/week @ 2024-08-24 82/week @ 2024-08-31 72/week @ 2024-09-07 56/week @ 2024-09-14 119/week @ 2024-09-21 58/week @ 2024-09-28 38/week @ 2024-10-05 42/week @ 2024-10-12 93/week @ 2024-10-19 94/week @ 2024-10-26 111/week @ 2024-11-02

346 downloads per month

MIT license

13KB
280 lines

AES Key Wrap for Rust

AES Key Wrap is a construction to encrypt secret keys using a master key.

This is an AES-KWP (NIST SP800-38F) implementation for Rust.

It is essentially a 5 round Feistel network using AES as the core function. One half of each AES block is used to encrypt the key, and the second half of the last permutation is used to compute a 64-bit MAC.

It doesn't require nonces, but still allows key reuse.

This is a NIST-blessed construction. Other than that, AES Key Wrap is inefficient and is generally not very useful.

Dependencies

~710KB
~16K SLoC