| Main index | Section 9 | Options |
#include <opencrypto/cryptodev.h>
crypto supports encryption and decryption operations using block and stream ciphers as well as computation and verification of message authentication codes (MACs). Consumers allocate sessions to describe a transform as discussed in crypto_session(9). Consumers then allocate request objects to describe each transformation such as encrypting a network packet or decrypting a disk sector. Requests are described in crypto_request(9).
Device drivers are responsible for processing requests submitted by consumers. crypto_driver(9) describes the interfaces drivers use to register with the framework, helper routines the framework provides to facilitate request processing, and the interfaces drivers are required to provide.
Session initialization does not use callbacks and returns errors synchronously.
The following authentication algorithms are supported:
| CRYPTO_AES_CCM_CBC_MAC
CRYPTO_AES_NIST_GMAC CRYPTO_BLAKE2B CRYPTO_BLAKE2S CRYPTO_NULL_HMAC CRYPTO_POLY1305 CRYPTO_RIPEMD160 CRYPTO_RIPEMD160_HMAC CRYPTO_SHA1 CRYPTO_SHA1_HMAC CRYPTO_SHA2_224 CRYPTO_SHA2_224_HMAC CRYPTO_SHA2_256 CRYPTO_SHA2_256_HMAC CRYPTO_SHA2_384 CRYPTO_SHA2_384_HMAC CRYPTO_SHA2_512 CRYPTO_SHA2_512_HMAC | |
The following encryption algorithms are supported:
| CRYPTO_AES_CBC
CRYPTO_AES_ICM CRYPTO_AES_XTS CRYPTO_CAMELLIA_CBC CRYPTO_CHACHA20 CRYPTO_NULL_CBC | |
The following authenticated encryption with additional data (AEAD) algorithms are supported:
| CRYPTO_AES_CCM_16
CRYPTO_AES_NIST_GCM_16 CRYPTO_CHACHA20_POLY1305 | |
The following compression algorithms are supported:
| CRYPTO_DEFLATE_COMP | |
| sys/opencrypto/crypto.c | |
| most of the framework code | |
| CRYPTO (9) | April 12, 2021 |
| Main index | Section 9 | Options |
Please direct any comments about this manual page service to Ben Bullock. Privacy policy.
