CRYPTO(4) BSD Kernel Interfaces Manual CRYPTO(4)NAME
crypto, cryptodev -- hardware crypto access driver
SYNOPSIS
device crypto
device cryptodev
DESCRIPTION
The crypto driver provides a device-independent framework to support cryptographic operations in the kernel. The cryptodev driver provides
userland applications access to this support through the /dev/crypto device. This node primarily operates in an ioctl(2) based model, per-
mitting a variety of applications to query device capabilities, submit transactions, and get results.
If count given in the specification, and is greater than 0, a maximum of one crypto device is created.
The following ioctl(2) calls apply only to the crypto devices:
CIOCGSESSION Setup a new crypto session for a new type of operation.
CIOCFSESSION Free a previously established session.
CIOCCRYPT Perform a crypto operation against a previously setup session.
FEATURES
Depending on hardware being present, the following symmetric and asymmetric cryptographic features are potentially available from
/dev/crypto:
CRYPTO_DES_CBC
CRYPTO_3DES_CBC
CRYPTO_BLF_CBC
CRYPTO_CAMELLIA_CBC
CRYPTO_CAST_CBC
CRYPTO_SKIPJACK_CBC
CRYPTO_MD5_HMAC
CRYPTO_SHA1_HMAC
CRYPTO_RIPEMD160_HMAC
CRYPTO_MD5_KPDK
CRYPTO_SHA1_KPDK
CRYPTO_AES_CBC
CRYPTO_ARC4
CRYPTO_MD5
CRYPTO_SHA1
CRK_MOD_EXP
CRK_MOD_EXP_CRT
CRK_DSA_SIGN
CRK_DSA_VERIFY
CRK_DH_COMPUTE_KEY
FILES
/dev/crypto crypto access device
SEE ALSO aesni(4), glxsb(4), hifn(4), ipsec(4), padlock(4), safe(4), ubsec(4), geli(8), crypto(9)HISTORY
The crypto driver first appeared in OpenBSD 3.0. The crypto driver was imported to FreeBSD 5.0.
BSD September 7, 2010 BSD
Check Out this Related Man Page
HIFN(4) BSD Kernel Interfaces Manual HIFN(4)NAME
hifn -- Hifn 7751/7951/7811/7955/7956 crypto accelerator
SYNOPSIS
To compile this driver into the kernel, place the following lines in your kernel configuration file:
device crypto
device cryptodev
device hifn
Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):
hifn_load="YES"
DESCRIPTION
The hifn driver supports various cards containing the Hifn 7751, 7951, 7811, 7955, and 7956 chipsets.
The hifn driver registers itself to accelerate DES, Triple-DES, AES (7955 and 7956 only), ARC4, MD5, MD5-HMAC, SHA1, and SHA1-HMAC operations
for ipsec(4) and crypto(4).
The Hifn 7951, 7811, 7955, and 7956 will also supply data to the kernel random(4) subsystem.
HARDWARE
The hifn driver supports various cards containing the Hifn 7751, 7951, 7811, 7955, and 7956 chipsets, such as:
Invertex AEON No longer being made. Came as 128KB SRAM model, or 2MB DRAM model.
Hifn 7751 Reference board with 512KB SRAM.
PowerCrypt Comes with 512KB SRAM.
XL-Crypt Only board based on 7811 (which is faster than 7751 and has a random number generator).
NetSec 7751 Supports the most IPsec sessions, with 1MB SRAM.
Soekris Engineering vpn1201 and vpn1211
See http://www.soekris.com/. Contains a 7951 and supports symmetric and random number operations.
Soekris Engineering vpn1401 and vpn1411
See http://www.soekris.com/. Contains a 7955 and supports symmetric and random number operations.
SEE ALSO crypt(3), crypto(4), intro(4), ipsec(4), random(4), crypto(9)CAVEATS
The Hifn 9751 shares the same PCI ID. This chip is basically a 7751, but with the cryptographic functions missing. Instead, the 9751 is
only capable of doing compression. Since we do not currently attempt to use any of these chips to do compression, the 9751-based cards are
not useful.
Support for the 7955 and 7956 is incomplete; the asymmetric crypto facilities are to be added and the performance is suboptimal.
HISTORY
The hifn device driver appeared in OpenBSD 2.7. The hifn device driver was imported to FreeBSD 5.0.
BUGS
The 7751 chip starts out at initialization by only supporting compression. A proprietary algorithm, which has been reverse engineered, is
required to unlock the cryptographic functionality of the chip. It is possible for vendors to make boards which have a lock ID not known to
the driver, but all vendors currently just use the obvious ID which is 13 bytes of 0.
BSD October 19, 2009 BSD