[cryptography] AES Implementation

Steve Weis steveweis at gmail.com
Tue May 12 11:24:31 EDT 2015


OpenSSL's AES implementation is in C and can be built standalone:
https://github.com/openssl/openssl/tree/master/crypto/aes

Once catch is the /asm directory uses Perl templates to generate
assembly files. If you are on an x86 platform, those aesni assembly
implementations, mostly by Andy Polyakov with contributions from
Intel, are among the fastest I've found. They can also be built into a
kernel module.

The BoringSSL fork by Adam Langley has a single file implementation. I
haven't looked at the diffs from OpenSSL or used it:
https://boringssl.googlesource.com/boringssl/+/master/crypto/aes/aes.c

Apple has another C implementation here, which I've never used:
http://www.opensource.apple.com/source/CommonCrypto/CommonCrypto-55010/Source/AESedp/AES.c

NaCL also has a C implementation of AES, but I don't know how easy it
would be to use on its own:
http://nacl.cr.yp.to/

This was also ported over to libsodium:
https://github.com/jedisct1/libsodium/tree/master/src/libsodium/crypto_stream/aes128ctr/portable

On Tue, May 12, 2015 at 2:47 AM, Givon Zirkind <givonne at gmx.com> wrote:
> Hi,
>
> Can anyone recommend an open source AES library in some flavor of C?
>
> Thanks.
>
> G.
>
> _______________________________________________
> cryptography mailing list
> cryptography at randombit.net
> http://lists.randombit.net/mailman/listinfo/cryptography


More information about the cryptography mailing list