Dev:IOCryptoAcceleratorFamily

IOCryptoAcceleratorFamily is a collection of kernel extensions that provide hardware-accelerated cryptographic functions, e.g. SHA1, AES, pseudo-random number generator (PRNG), etc.

You can use the well-documented OpenSSL or CommonCrypto to do the same job if acceleration is not essential. Hardware acceleration will be used automatically with CommonCrypto when the input text is long enough (1 to 2 KB).

PRNG
The IOPRNGAccelerator service provides a psuedo-random number generator. Its user client seems not usable in the userland.

Methods
where

SHA-1
The IOSHA1Accelerator service provides a hardware-accelerated SHA-1 hashing.

Methods
where

AES
The IOAESAccelerator service provides hardware-accelerated AES encryption/decryption functions in CBC mode. It also provides access to the secure UID (2000) and GID (1000) keys, and the generated securityd (2101/0x835) and various firmware encryption keys (0x836 – 0x838).

The UID and GID are not privileged to be used by the kernel, and the "securityd key" must be used from a user with ID of _securityd (uid=40).

Methods
where

PKE (Public key encryption)
The IOPKEAccelerator service provides hardware-accelerated public key encryption/decryption functions.