MarshallSoft Advanced Encryption Standard (AES) Library for C/C++/C# (AES4C)

The MarshallSoft Advanced Encryption Standard (AES) Library is a component library of functions used to perform encryption and decryption using the "Advanced Encryption Standard" (AES) as specified by the U.S. National Institute of Standards and Technology (NIST). See fips-197.pdf

AES is considered "strong encryption" and replaces the previous US encryption standard "Data Encryption Standard" (DES). AES is commonly used by many financial entities such as banks to protect their customer's sensitive information.

Our implementation of the Advanced Encryption Standard has been verified by running the "Advanced Encryption Standard Algorithm Validation Suite" (AESAVS), which can be found at Advanced Encryption Standard Algorithm Validation Suite

The MarshallSoft Advanced Encryption Standard (AES) Library for C/C++ provides a simple interface to encrypt/decrypt files, strings or data from C/C++ applications using 256-bit AES (Rijndael) encryption keys. AES4C supports hash algorithm SHA-256, CBC and ECB mode, initialization vectors, key generation from password phrases or text as well as implements PKCS7 padding and does random byte data generation. Diffie-Hellman key exchange is also included. The MarshallSoft Advanced Encryption Standard DLL's will work under all 32-bit and 64-bit versions of Windows through Windows 10. Both Win32 and Win64 DLL's are included.


Note that it is illegal to possess strong encryption software in some countries in the world. Do not download or use this software if it is illegal to do so in your country.

In addition, this software cannot be sold to countries on the US Embargo List. See Embargoed Countries


AES4C Example Program


Current version of the MarshallSoft C/C++ AES Library is 6.0 (February 14, 2022). Registration is $119 for email delivery ($199 with C source code).


Order Page


Download AES4C
AES4C Programmer's Manual
AES User's Manual
AES Reference Manual