6. AOCL-Cryptography Library - 5.2 English - 57404

AOCL User Guide (57404)

Document ID
57404
Release Date
2025-12-29
Version
5.2 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.

  • SHA-2 digest routines for the following schemes:

    • SHA2_224

    • SHA2_256

    • SHA2_384

    • SHA2_512

    • SHA2_512_224

    • SHA2_512_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)

    • 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.2 release.

  3. Behavior might be undefined if AVX512 is disabled in the BIOS configuration on the Zen5 platform.

  4. AOCL Cryptography is not FIPS compliant.

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