Asymmetric Crypto Engine

Introduction

The Asymmetric Crypto Engine is a software and hardware component that handles public key encryption operations. It is responsible for generating, storing, and managing public and private keys, as well as executing encryption and decryption tasks. By optimizing the implementation of encryption algorithms, the Asymmetric Crypto Engine can significantly enhance the efficiency and security of the encryption process, making it widely used in network security systems.

Functional Architecture

RTL8721Dx:

Not supported.

ECDSA OTP Keys

RTL8721Dx:

Not supported.

Usage

  1. Hardware interface characteristics: Only supports Slave mode, connected to the CPU via APB bus.

  2. Operation process:

    • CPU first acquires the mutex

    • Writes algorithm parameters to the engine storage unit

    • Sets the control register to select the operation mode

    • Enables the engine to start calculation

    • Polls the status register to monitor progress

    • Upon detecting the end flag

    • Reads the calculation result from the storage unit

    • Releases the mutex

  3. Exception handling mechanism

    • Error identification

      • Status register contains error flag bits

      • Immediately terminates the process when an error is detected during polling

    • Error feedback

      • API returns predefined error codes (non-zero values)

      • Returns status code 0 for normal completion

API

Realtek provides low-level APIs, users do not need to concern themselves with specific register operation methods and processes. Additionally, for better adaptability, Realtek has integrated the hardware acceleration engine into the MbedTLS API. MbedTLS ECDSA API only supports Software keys. When using OTP keys, low-level APIs are required. Due to hardware limitations, Realtek has disabled MbedTLS support for the SECP521R1 curve. The following commonly used curve parameters are currently built into the ROM:

RTL8721Dx:

Not supported.