AM263x MCU+ SDK  08.05.00
DTHE

DTHE stands for Data Transform and Hashing Engine. This module is a wrapper on top of the Crypto IP with some additional capability, including CRC and Checksum

Features Supported In Hardware

DTHE provides the following features:

  • Symmetric encryption and decryption
    • AES: 128, 192, and 256 bit keys
    • Cipher modes ECB, CTR, CBC, GCM, CCM, F9, F8, XTS, CFB, ICM, CTR, CBC-MAC, CMAC based on AES
  • Asymmetric cryptography
    • High performance PKA (public key engine) for large vector math/modulus operation
    • RSA2048, RSA3092, RSA4096
    • ECC (accelerated using PKA module)
  • Hashing
    • MD5, SHA-1, SHA-224, SHA-256, SHA-384 and SHA-512
    • HMAC-SHA256, HMAC-SHA512 keyed hashing
  • Random number generator
    • 128 bit True random number generator
    • 128 bit Deterministic random bit generator
  • This module wraps following IP inside
    • EIP29T : PKA accelerator
    • EIP57T : SHA/MD5 accelerator
    • EIP36T : AES accelerator
    • EIP75T : True Random Number Generation

Apart from this the module holds HW accelerator for CRC and Checksum.

The IP supports the following features:

  • Supports these CRC functions:
    • Bisync, Modbus, USB, ANSI X3.28, many others; also known as CRC-16 and CRC-16-ANSI : (x^16+x^15+x^2+1)
    • CRC16- /X.25 with Polynomial 0x1021 : (x^16+x^12+x^5+1)
    • CRC32-IEEE/MPEG2/Hamming with Polynomial 0x4C11DB7 : (x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2 + x+1)
    • CRC32-G.Hn/CRC32C with Polynomial 0x1EDC6F41: (x^32+x^28+x^27+x^26+x^25+x^23+x^22+x^20+x^19+x^18+x^14+x^13+ x^11+x^10+x^9+x^8+x^6+1)
  • Supports TCP CheckSum (CSUM)

Features Supported In Driver

Note
True Random Number Generation (TRNG) is not supported currently and will be available in future releases.
  • SHA
    • Secure hash algorithms)
      • SHA256, SHA512
    • Hash-based message authentication code
      • HMAC SHA-256, HMAC SHA-512
  • AES
    • Advanced encryption standard
      • AES-CBC(128/256)(Cipher Block Chaining)
      • AES-ECB(128/256)(Electronic Code Book)
      • AES-CMAC(128/256)(Cipher-based Message Authentication Code)
  • PKA (Public key accelerator)
    • RSA Module
      • Supports up to 4096 bit key.
      • Supports Raw operations.
      • Supports RSA encryption and decryption operations.
      • Supports RSA signing and verification operations.
    • ECDSA Module
      • ECDSA signing and verification operations
      • p-256 and p-384 curves

Block diagram

DTHE block diagram

Functional description

DTHE API's Supported

  • DTHE_init(): Initializes the DTHE module.
  • DTHE_deinit(): This function de-initializes the DTHE.
  • DTHE_open(): Function to open DTHE instance, enable DTHE engine.
  • DTHE_close(): Function to close a DTHE module specified by the DTHE handle.

API