AES-128-WRAP-INV ENCRYPTION TOOL
Other Crypto Algorithms
AES-128-CBC AES-128-CBC-CTS AES-128-CBC-HMAC-SHA1 AES-128-CBC-HMAC-SHA256 AES-128-CCM AES-128-CFB AES-128-CFB1 AES-128-CFB8 AES-128-CTR AES-128-ECB AES-128-GCM AES-128-GCM-SIV AES-128-OCB AES-128-OFB AES-128-SIV AES-128-WRAP AES-128-WRAP-INV AES-128-WRAP-PAD AES-128-WRAP-PAD-INV AES-128-XTS AES-192-CBC AES-192-CBC-CTS AES-192-CCM AES-192-CFB AES-192-CFB1 AES-192-CFB8 AES-192-CTR AES-192-ECB AES-192-GCM AES-192-GCM-SIV AES-192-OCB AES-192-OFB AES-192-SIV AES-192-WRAP AES-192-WRAP-INV AES-192-WRAP-PAD AES-192-WRAP-PAD-INV AES-256-CBC AES-256-CBC-CTS AES-256-CBC-HMAC-SHA1 AES-256-CBC-HMAC-SHA256 AES-256-CCM AES-256-CFB AES-256-CFB1 AES-256-CFB8 AES-256-CTR AES-256-ECB AES-256-GCM AES-256-GCM-SIV AES-256-OCB AES-256-OFB AES-256-SIV AES-256-WRAP AES-256-WRAP-INV AES-256-WRAP-PAD AES-256-WRAP-PAD-INV AES-256-XTS ARIA-128-CBC ARIA-128-CCM ARIA-128-CFB ARIA-128-CFB1 ARIA-128-CFB8 ARIA-128-CTR ARIA-128-ECB ARIA-128-GCM ARIA-128-OFB ARIA-192-CBC ARIA-192-CCM ARIA-192-CFB ARIA-192-CFB1 ARIA-192-CFB8 ARIA-192-CTR ARIA-192-ECB ARIA-192-GCM ARIA-192-OFB ARIA-256-CBC ARIA-256-CCM ARIA-256-CFB ARIA-256-CFB1 ARIA-256-CFB8 ARIA-256-CTR ARIA-256-ECB ARIA-256-GCM ARIA-256-OFB CAMELLIA-128-CBC CAMELLIA-128-CBC-CTS CAMELLIA-128-CFB CAMELLIA-128-CFB1 CAMELLIA-128-CFB8 CAMELLIA-128-CTR CAMELLIA-128-ECB CAMELLIA-128-OFB CAMELLIA-192-CBC CAMELLIA-192-CBC-CTS CAMELLIA-192-CFB CAMELLIA-192-CFB1 CAMELLIA-192-CFB8 CAMELLIA-192-CTR CAMELLIA-192-ECB CAMELLIA-192-OFB CAMELLIA-256-CBC CAMELLIA-256-CBC-CTS CAMELLIA-256-CFB CAMELLIA-256-CFB1 CAMELLIA-256-CFB8 CAMELLIA-256-CTR CAMELLIA-256-ECB CAMELLIA-256-OFB CHACHA20 CHACHA20-POLY1305 DES-EDE-CBC DES-EDE-CFB DES-EDE-ECB DES-EDE-OFB DES-EDE3-CBC DES-EDE3-CFB DES-EDE3-CFB1 DES-EDE3-CFB8 DES-EDE3-ECB DES-EDE3-OFB DES3-WRAPThe AES-128-WRAP-INV algorithm is a cryptographic procedure used for the unwrapping of data keys that were previously protected using the AES Key Wrap standard. It specifically employs the Advanced Encryption Standard (AES) with a 128-bit key length to ensure secure and efficient key recovery. This algorithm is designed to reverse the wrapping process, restoring the original plaintext key from its encrypted form.
Algorithm Overview
The algorithm operates on a sequence of input data blocks that represent the wrapped key. Each block is precisely 64 bits in length, conforming to the AES Key Wrap specification. The total number of blocks, denoted as n, determines the iteration count during the unwrapping process. The algorithm utilizes a fixed initialization vector (IV) that is combined with intermediate values to maintain data integrity throughout the operation.
Step-by-Step Procedure
- Initialize the intermediate variable A with the predetermined IV.
- Divide the input ciphertext into n blocks labeled R[1] through R[n].
- For each round, from j = 5 down to 0, iterate over the blocks in reverse order:
- Compute a temporary value by XOR-ing A with a round-dependent constant derived from the block index and round number.
- Decrypt the concatenation of the temporary value and the current block using AES-128 in ECB mode.
- Update A with the first 64 bits of the decrypted output.
- Replace the current block with the last 64 bits of the decrypted output.
- After completing all iterations, compare A with the initial IV to validate successful unwrapping.
- If the comparison is successful, the sequence R[1] through R[n] represents the original unwrapped key.
Security Considerations
The AES-128-WRAP-INV algorithm maintains the security properties of AES-128, ensuring that the unwrapped key cannot be recovered without access to the correct wrapping key. The integrity check using the IV prevents undetected tampering, and the iterative decryption ensures that the relationship between blocks is preserved accurately. Any deviation in the ciphertext or key results in verification failure, providing resistance against unauthorized manipulation.
Implementation Notes
Implementations must carefully manage byte ordering and block alignment to comply with the AES Key Wrap standard. Side-channel protections are recommended, as the repeated decryption operations can be susceptible to timing attacks if not handled correctly. Optimized libraries often provide built-in functions for AES-128 key unwrapping that conform to the NIST specification, reducing the risk of implementation errors.