Cryptographic Hardware Accelerators

From linux-sunxi.org
Jump to: navigation, search

Linux provides a cryptography framework in the kernel that can be used for e.g. IPsec and dm-crypt. Some SoCs, co-prosessors, and extension boards provide hardware acceleration for speeding up cryptographic operations. The Allwinner boards provide varying degrees of hardware support for such operations (e.g. AES/DES/3DES, MD5/SHA1/SHA224/SHA256/SHA384/SHA512, and random number generation). The current status of the sunxi support in mainline kernels is documented in http://sunxi.montjoie.ovh/#support_overview

Support status

Driver sun4i-ss sun8i-ss sun8i-ce
Category Name A20 A10 A10S A31 A33 V3S A80 A83T H3 A64 H5 H6 Note
AES/DES/3DES CBC 4.3 4.3 NT 4.3 4.3 WIP 5.5 5.5 5.5 5.5 5.5 5.5
ECB 4.3 4.3 NT 4.3 4.3 WIP 5.5 5.5 5.5 5.5 5.5 5.5
CTS NO(1)(2) NO NO NO NO NO NT WIP OK OK OK WIP (1)(2)
CTR NO(1)(3) NO NO NO NO NO NT WIP OK OK OK WIP (1)(3)
OFB WIP WIP
CFB WIP WIP
CBC-MAC WIP WIP
XTS WIP
HASH MD5 4.3 4.3 NT 4.3 4.3 WIP WIP WIP OK WIP WIP WIP
SHA1 4.3 4.3 NT 4.3 4.3 WIP WIP WIP OK WIP WIP WIP
SHA224 NO NO OK WIP WIP WIP
SHA256 NO NO OK WIP WIP WIP
SHA384 OK WIP WIP
SHA512 OK WIP WIP
HMAC-SHA1 WIP WIP WIP WIP
HMAC-SHA256 WIP WIP
RNG PRNG 4.14 WIP 4.14 4.14 4.14 WIP WIP WIP OK OK WIP WIP (8)
TRNG NO  ??(10)  ??(10)  ??(10)  ??(10) WIP
RSA NO WIP  ??(9) WIP WIP
ECC 160 WIP
224 WIP
256 WIP
384 WIP
521 WIP
Note (7) (5) (6)

Legend

  • 4.3 support is available since Linux x
  • OOT support is available via an out of source patch
  • NO support is not written
  • WIP support is being written
  • NT Need hardware for testing

Read the datasheet for more details.

Notes

  • (1): CTR and CTS are not available due to hardware bug see this answer on linux-crypto
  • (2): CTS block mode is not available for DES/3DES according to datasheet
  • (3): CTR mode is referenced as CNT mode in the datasheet
  • (7): The PRNG does not seem to work on A10 for the moment
  • (8): See the PRNG section
  • (9): Allwinner have removed all RSA documentation from the H3 user manual 1.2
  • (10): The TRNG is not really random due do lack of documentation
Personal tools
Namespaces

Variants
Actions
Navigation
Tools