SUN8ICRYPTO(4) | Device Drivers Manual | SUN8ICRYPTO(4)

# NAME

`sun8icrypto` —
driver for Allwinner Crypto Engine

# SYNOPSIS

`sun8icrypto* at fdt?`

# DESCRIPTION

The `sun8icrypto` driver provides support for the cryptographic processors on Allwinner A64, H3 and H5 systems-on-a-chip. The Allwinner Crypto Engine is the successor to the earlier Allwinner Security System.

The hardware includes a True Random Number Generator (TRNG) that is used as an entropy source for the rnd(4) system, and implementations of various cryptographic algorithms that can be used with ipsec(4) and crypto(4).

The following opencrypto(9) algorithms are supported:

- `CRYPTO_AES_CBC`
- `CRYPTO_AES_CTR`
- `CRYPTO_AES_ECB`
- `CRYPTO_AES_XTS`
- `CRYPTO_DES_CBC`
- `CRYPTO_DES_ECB`
- `CRYPTO_3DES_CBC`
- `CRYPTO_3DES_ECB`
- `CRYPTO_MD5`
- `CRYPTO_SHA1`
- `CRYPTO_SHA224`
- `CRYPTO_SHA256`
- `CRYPTO_SHA1_HMAC`
- `CRYPTO_SHA2_256_HMAC`

# SEE ALSO

crypto(4), ipsec(4), rnd(4), entropy(7), opencrypto(9)

# HISTORY

The `sun8icrypto` device driver first appeared in NetBSD 9.1.

# CAVEATS

The `sun8icrypto` TRNG's underlying source of randomness is not documented by Allwinner, so is not trusted as a reliable source of entropy. Initial tests using NIST's SP800-90B tools showed highly biased runs of output, suggesting any potential physical source is not subject to whitening.

Cryptographic operations using `sun8icrypto` are generally slower than using the CPU on supported devices, but provide an advantage in terms of hardware offloading if the CPU is busy.

April 28, 2021 | NetBSD 10.1