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.