6. AOCL-Cryptography Library - 6. AOCL-Cryptography Library - 5.3 English - 57404

AOCL User Guide (57404)

Document ID
57404
Release Date
2026-05-13
Version
5.3 English

AOCL-Cryptography is a library consisting of the core cryptographic functions optimized for AMD “Zen” micro-architecture. This library has multiple implementations of different types:

  • Advanced Encryption Standard (AES) block ciphers, ChaCha20 stream cipher, ChaCha20-Poly1305 Cipher algorithms

  • Secure Hash Algorithms (SHA-2, SHA-3 and SHAKE)

  • Cipher, Hash, and Poly1305 based Message Authentication Code (MAC) algorithms

  • Elliptic-curve Diffie–Hellman (ECDH) Key Generation algorithms, and Rivest, Shamir, and Adleman (RSA) Encryption/Decryption and Sign/Verify algorithms

The AOCL-Cryptography library has the following functions:

  • AES block cipher encrypt/decrypt routines for the following schemes:

    • Cipher Block Chaining (CBC)

    • Cipher Feedback (CFB)

    • Output Feedback (OFB)

    • Counter (CTR)

    • Galois/Counter Mode (GCM)

    • Ciphertext Stealing Mode (XTS)

    • Counter with Cipher Block Chaining Message Authentication Code (CCM)

    • Synthetic Initialization Vector (SIV)

    • Stream cipher encrypt/decrypt routines - ChaCha20, and ChaCha20-Poly1305

    • Multibuffer (Encrypt/Decrypt multiple parallel buffers) support for CBC and CFB with variable-length buffer sizes.

  • SHA-2 digest routines for the following schemes:

    • SHA2_224

    • SHA2_256

    • SHA2_384

    • SHA2_512

    • SHA2_512_224

    • SHA2_512_256

    • Multibuffer support for SHA2_224 and SHA2_256

  • SHA-3 digest routines for the following schemes:

    • SHA3_224, SHA3_256, SHA3_384, and SHA3_512

  • SHAKE128 and SHAKE256

  • MAC routines:

    • Hash-based Message Authentication Code (HMAC)

    • Multibuffer support for HMAC_SHA2_224 and HMAC_SHA2_256

    • Cipher-based Message Authentication Code (CMAC)

    • Poly1305

  • ECDH x25519 key exchange functions:

    • Generate Public Key

    • Compute Secret Key

  • RSA 1024/2048

    • Encrypt text with Public Key (Non-Padded, OAEP and PKCS padding modes)

    • Decrypt text with Private Key (Non-Padded, OAEP and PKCS padding modes)

    • Sign with Private Key and Verify with Public Key (PKCS and PSS padding modes)

Note

  1. AES Ciphers, RSA and EC algorithms are not supported in pre-AVX2 architectures.

  2. IPP Compat library is in experimental state in 5.3 release.

  3. AOCL Cryptography is not FIPS compliant.

AOCL-Crypto API Guide documentation is available at AOCL-Crypto API Guide