mirror of
https://github.com/openssl/openssl.git
synced 2024-12-09 05:51:54 +08:00
Add support for aes-128/192/256-ctr to the cryptodev engine.
This can be used to speed up SRTP with libsrtp, e.g. on TI omap/sitara based devices.
This commit is contained in:
parent
3343220327
commit
be2c4d9bd9
@ -147,6 +147,9 @@ static struct {
|
||||
{ CRYPTO_AES_CBC, NID_aes_128_cbc, 16, 16, },
|
||||
{ CRYPTO_AES_CBC, NID_aes_192_cbc, 16, 24, },
|
||||
{ CRYPTO_AES_CBC, NID_aes_256_cbc, 16, 32, },
|
||||
{ CRYPTO_AES_CTR, NID_aes_128_ctr, 14, 16, },
|
||||
{ CRYPTO_AES_CTR, NID_aes_192_ctr, 14, 24, },
|
||||
{ CRYPTO_AES_CTR, NID_aes_256_ctr, 14, 32, },
|
||||
{ CRYPTO_BLF_CBC, NID_bf_cbc, 8, 16, },
|
||||
{ CRYPTO_CAST_CBC, NID_cast5_cbc, 8, 16, },
|
||||
{ CRYPTO_SKIPJACK_CBC, NID_undef, 0, 0, },
|
||||
@ -600,6 +603,45 @@ const EVP_CIPHER cryptodev_aes_256_cbc = {
|
||||
NULL
|
||||
};
|
||||
|
||||
const EVP_CIPHER cryptodev_aes_ctr = {
|
||||
NID_aes_128_ctr,
|
||||
16, 16, 14,
|
||||
EVP_CIPH_CTR_MODE,
|
||||
cryptodev_init_key,
|
||||
cryptodev_cipher,
|
||||
cryptodev_cleanup,
|
||||
sizeof(struct dev_crypto_state),
|
||||
EVP_CIPHER_set_asn1_iv,
|
||||
EVP_CIPHER_get_asn1_iv,
|
||||
NULL
|
||||
};
|
||||
|
||||
const EVP_CIPHER cryptodev_aes_ctr_192 = {
|
||||
NID_aes_192_ctr,
|
||||
16, 24, 14,
|
||||
EVP_CIPH_CTR_MODE,
|
||||
cryptodev_init_key,
|
||||
cryptodev_cipher,
|
||||
cryptodev_cleanup,
|
||||
sizeof(struct dev_crypto_state),
|
||||
EVP_CIPHER_set_asn1_iv,
|
||||
EVP_CIPHER_get_asn1_iv,
|
||||
NULL
|
||||
};
|
||||
|
||||
const EVP_CIPHER cryptodev_aes_ctr_256 = {
|
||||
NID_aes_256_ctr,
|
||||
16, 32, 14,
|
||||
EVP_CIPH_CTR_MODE,
|
||||
cryptodev_init_key,
|
||||
cryptodev_cipher,
|
||||
cryptodev_cleanup,
|
||||
sizeof(struct dev_crypto_state),
|
||||
EVP_CIPHER_set_asn1_iv,
|
||||
EVP_CIPHER_get_asn1_iv,
|
||||
NULL
|
||||
};
|
||||
|
||||
/*
|
||||
* Registered by the ENGINE when used to find out how to deal with
|
||||
* a particular NID in the ENGINE. this says what we'll do at the
|
||||
@ -637,6 +679,15 @@ cryptodev_engine_ciphers(ENGINE *e, const EVP_CIPHER **cipher,
|
||||
case NID_aes_256_cbc:
|
||||
*cipher = &cryptodev_aes_256_cbc;
|
||||
break;
|
||||
case NID_aes_128_ctr:
|
||||
*cipher = &cryptodev_aes_ctr;
|
||||
break;
|
||||
case NID_aes_192_ctr:
|
||||
*cipher = &cryptodev_aes_ctr_192;
|
||||
break;
|
||||
case NID_aes_256_ctr:
|
||||
*cipher = &cryptodev_aes_ctr_256;
|
||||
break;
|
||||
default:
|
||||
*cipher = NULL;
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user