Rijndael Advanced Encryption Standard (AES) cryptography software
Rijndael is a block cipher, designed by Joan Daemen and Vincent Rijmen, selected as the new Advanced Encryption Standard (AES) by the US National Institute of Standards and Technology (NIST). AES is intended to provide strong cryptographic security for the protection of sensitive information well into the 21st century.
For more details, see NIST's very detailed AES Page, or read the FIPS standard Federal Information Processing Standards Publication 197 FIPS-197.
AES is specified in FIPS 197 with a 128-bit block length and three key lengths, referred to as AES-128, AES-192 and AES-256.
AES128_Hex - en/decrypt a hex string in one step
(AES192_Hex,
AES256_Hex)
AES128_HexMode - en/decrypt a hex string in one step using specified mode (EBC, CBC, CFP, OFB, CTR)
(AES192_HexMode,
AES256_HexMode)
AES128_Bytes - en/decrypt a byte array in one step
(AES192_Bytes,
AES256_Bytes)
AES128_BytesMode - en/decrypt a byte array in one step using specified mode (EBC, CBC, CFP, OFB, CTR)
(AES192_BytesMode,
AES256_BytesMode)
AES128_File - en/decrypt a file
(AES192_File,
AES256_File)
AES128_FileHex - en/decrypt a file using a hex key
(AES192_FileHex,
AES256_FileHex)
AES128_Init - initialise the context ready for repeated use
(AES192_Init,
AES256_Init)
AES128_InitHex - initialise the context using hex values ready for repeated use
(AES192_InitHex,
AES256_InitHex)
AES128_Update - en/decrypt the next set of data and update the context
(AES192_Update,
AES256_Update)
AES128_UpdateHex - en/decrypt the next set of data in hex and update the context
(AES192_UpdateHex,
AES256_UpdateHex)
AES128_Final - close and clear the context
(AES192_Final,
AES256_Final)
See the Aes128 Class, Aes192 Class and Aes256 Class for the equivalent .NET methods for C# and VB.NET/2005/8.
The original design of Rijndael had variable block lengths of 128/192/256 bits.
The AES_ functions in the first version of CryptoSys API
(created and released before FIPS 197 was published) included these options. These functions are still
provided but are no longer documented in the manual.
This page last updated 20 March 2009