AM263x MCU+ SDK  09.02.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
    • EIP76T : 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) and PKA (Public Key Accelerator) are not supported from R5F on HS-SE/HS-FS devices as these are secure assets and are locked for HSM.
TRNG and PKA are single context engines and hence are secure assets on HS-SE/HS-FS devices.
  • SHA
    • Secure hash algorithms)
      • SHA256, SHA512
    • Hash-based message authentication code
      • HMAC SHA-256, HMAC SHA-512
  • AES
    • Advanced encryption standard
      • AES-CBC(128/192/256)(Cipher Block Chaining)
      • AES-ECB(128/192/256)(Electronic Code Book)
      • AES-CTR(128/192/256)(CounTeR)
      • AES-CFB(128/192/256)(Cipher FeedBack)
      • AES-CMAC(128/256)(Cipher-based Message Authentication Code)

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