# assh/mod_openssl.h header reference

## Description [link]

Descriptors for algorithms and modules based on OpenSSL

## Members [link]

### Function [link]

- assh_status_t assh_openssl_allocator(void *alloc_pv, void **ptr, size_t size, enum assh_alloc_type_e type)

### Constants [link]

- const struct assh_algo_cipher_s assh_cipher_openssl_aes128_cbc
- const struct assh_algo_cipher_s assh_cipher_openssl_aes128_ctr
- const struct assh_algo_cipher_s assh_cipher_openssl_aes128_gcm
- const struct assh_algo_cipher_s assh_cipher_openssl_aes192_cbc
- const struct assh_algo_cipher_s assh_cipher_openssl_aes192_ctr
- const struct assh_algo_cipher_s assh_cipher_openssl_aes256_cbc
- const struct assh_algo_cipher_s assh_cipher_openssl_aes256_ctr
- const struct assh_algo_cipher_s assh_cipher_openssl_aes256_gcm
- const struct assh_algo_cipher_s assh_cipher_openssl_arc4
- const struct assh_algo_cipher_s assh_cipher_openssl_arc4_128
- const struct assh_algo_cipher_s assh_cipher_openssl_arc4_256
- const struct assh_algo_cipher_s assh_cipher_openssl_blowfish_cbc
- const struct assh_algo_cipher_s assh_cipher_openssl_camellia128_cbc
- const struct assh_algo_cipher_s assh_cipher_openssl_camellia128_ctr
- const struct assh_algo_cipher_s assh_cipher_openssl_camellia192_cbc
- const struct assh_algo_cipher_s assh_cipher_openssl_camellia192_ctr
- const struct assh_algo_cipher_s assh_cipher_openssl_camellia256_cbc
- const struct assh_algo_cipher_s assh_cipher_openssl_camellia256_ctr
- const struct assh_algo_cipher_s assh_cipher_openssl_cast128_cbc
- const struct assh_algo_cipher_s assh_cipher_openssl_idea_cbc
- const struct assh_algo_cipher_s assh_cipher_openssl_tdes_cbc
- const struct assh_algo_cipher_s assh_cipher_openssl_tdes_cbc
- const struct assh_algo_mac_s assh_mac_openssl_md5
- const struct assh_algo_mac_s assh_mac_openssl_md5_96
- const struct assh_algo_mac_s assh_mac_openssl_md5_96_etm
- const struct assh_algo_mac_s assh_mac_openssl_md5_etm
- const struct assh_algo_mac_s assh_mac_openssl_ripemd160
- const struct assh_algo_mac_s assh_mac_openssl_ripemd160_etm
- const struct assh_algo_mac_s assh_mac_openssl_sha1
- const struct assh_algo_mac_s assh_mac_openssl_sha1_96
- const struct assh_algo_mac_s assh_mac_openssl_sha1_96_etm
- const struct assh_algo_mac_s assh_mac_openssl_sha1_etm
- const struct assh_algo_mac_s assh_mac_openssl_sha256
- const struct assh_algo_mac_s assh_mac_openssl_sha256_etm
- const struct assh_algo_mac_s assh_mac_openssl_sha512
- const struct assh_algo_mac_s assh_mac_openssl_sha512_etm
- const struct assh_prng_s assh_prng_openssl
- const struct assh_algo_sign_s assh_sign_openssl_rsa_sha1
- const struct assh_algo_sign_s assh_sign_openssl_rsa_sha1_2048
- const struct assh_algo_sign_s assh_sign_openssl_rsa_sha1_md5
- const struct assh_algo_sign_s assh_sign_openssl_rsa_sha256
- const struct assh_algo_sign_s assh_sign_openssl_rsa_sha512

## Members detail [link]

### const struct assh_algo_cipher_s assh_cipher_openssl_aes128_cbc [link]

This constant is declared in assh/mod_openssl.h source file, line 81.

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_CIPHERS )

This constant is a cipher algorithm descriptor for the AES implementation.

See also Cipher algorithms.

### const struct assh_algo_cipher_s assh_cipher_openssl_aes128_ctr [link]

This constant is declared in assh/mod_openssl.h source file, line 84.

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_CIPHERS )

This constant is a cipher algorithm descriptor for the AES implementation.

See also Cipher algorithms.

### const struct assh_algo_cipher_s assh_cipher_openssl_aes128_gcm [link]

This constant is declared in assh/mod_openssl.h source file, line 87.

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_CIPHERS )

This constant is a cipher algorithm descriptor for the AES implementation.

See also Cipher algorithms.

### const struct assh_algo_cipher_s assh_cipher_openssl_aes192_cbc [link]

This constant is declared in assh/mod_openssl.h source file, line 82.

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_CIPHERS )

This constant is a cipher algorithm descriptor for the AES implementation.

See also Cipher algorithms.

### const struct assh_algo_cipher_s assh_cipher_openssl_aes192_ctr [link]

This constant is declared in assh/mod_openssl.h source file, line 85.

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_CIPHERS )

This constant is a cipher algorithm descriptor for the AES implementation.

See also Cipher algorithms.

### const struct assh_algo_cipher_s assh_cipher_openssl_aes256_cbc [link]

This constant is declared in assh/mod_openssl.h source file, line 83.

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_CIPHERS )

This constant is a cipher algorithm descriptor for the AES implementation.

See also Cipher algorithms.

### const struct assh_algo_cipher_s assh_cipher_openssl_aes256_ctr [link]

This constant is declared in assh/mod_openssl.h source file, line 86.

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_CIPHERS )

This constant is a cipher algorithm descriptor for the AES implementation.

See also Cipher algorithms.

### const struct assh_algo_cipher_s assh_cipher_openssl_aes256_gcm [link]

This constant is declared in assh/mod_openssl.h source file, line 88.

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_CIPHERS )

This constant is a cipher algorithm descriptor for the AES implementation.

See also Cipher algorithms.

### const struct assh_algo_cipher_s assh_cipher_openssl_arc4 [link]

This constant is declared in assh/mod_openssl.h source file, line 46.

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_CIPHERS )

This constant is a cipher algorithm implementation descriptor for the Arc4 implementation.

See also Cipher algorithms.

### const struct assh_algo_cipher_s assh_cipher_openssl_arc4_128 [link]

This constant is declared in assh/mod_openssl.h source file, line 47.

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_CIPHERS )

This constant is a cipher algorithm implementation descriptor for the Arc4 implementation.

See also Cipher algorithms.

### const struct assh_algo_cipher_s assh_cipher_openssl_arc4_256 [link]

This constant is declared in assh/mod_openssl.h source file, line 48.

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_CIPHERS )

This constant is a cipher algorithm implementation descriptor for the Arc4 implementation.

See also Cipher algorithms.

### const struct assh_algo_cipher_s assh_cipher_openssl_blowfish_cbc [link]

This constant is declared in assh/mod_openssl.h source file, line 70.

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_CIPHERS )

This constant is a cipher algorithm descriptor for the Blowfish implementation.

See also Cipher algorithms.

### const struct assh_algo_cipher_s assh_cipher_openssl_camellia128_cbc [link]

This constant is declared in assh/mod_openssl.h source file, line 93.

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_CIPHERS )

This constant is a cipher algorithm descriptor for the Camellia implementation.

See also Cipher algorithms.

### const struct assh_algo_cipher_s assh_cipher_openssl_camellia128_ctr [link]

This constant is declared in assh/mod_openssl.h source file, line 96.

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_CIPHERS )

This constant is a cipher algorithm descriptor for the Camellia implementation.

See also Cipher algorithms.

### const struct assh_algo_cipher_s assh_cipher_openssl_camellia192_cbc [link]

This constant is declared in assh/mod_openssl.h source file, line 94.

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_CIPHERS )

This constant is a cipher algorithm descriptor for the Camellia implementation.

See also Cipher algorithms.

### const struct assh_algo_cipher_s assh_cipher_openssl_camellia192_ctr [link]

This constant is declared in assh/mod_openssl.h source file, line 97.

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_CIPHERS )

This constant is a cipher algorithm descriptor for the Camellia implementation.

See also Cipher algorithms.

### const struct assh_algo_cipher_s assh_cipher_openssl_camellia256_cbc [link]

This constant is declared in assh/mod_openssl.h source file, line 95.

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_CIPHERS )

This constant is a cipher algorithm descriptor for the Camellia implementation.

See also Cipher algorithms.

### const struct assh_algo_cipher_s assh_cipher_openssl_camellia256_ctr [link]

This constant is declared in assh/mod_openssl.h source file, line 98.

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_CIPHERS )

This constant is a cipher algorithm descriptor for the Camellia implementation.

See also Cipher algorithms.

### const struct assh_algo_cipher_s assh_cipher_openssl_cast128_cbc [link]

This constant is declared in assh/mod_openssl.h source file, line 58.

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_CIPHERS )

This constant is a cipher algorithm descriptor for the CAST128 implementation.

See also Cipher algorithms.

### const struct assh_algo_cipher_s assh_cipher_openssl_idea_cbc [link]

This constant is declared in assh/mod_openssl.h source file, line 64.

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_CIPHERS )

This constant is a cipher algorithm descriptor for the IDEA implementation.

See also Cipher algorithms.

### const struct assh_algo_cipher_s assh_cipher_openssl_tdes_cbc [link]

This constant is declared in assh/mod_openssl.h source file, line 52.

Alternate declarations with same identifier: [1], [2].

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_CIPHERS )

This constant is a cipher algorithm descriptor for the Triple DES implementation.

See also Cipher algorithms.

### const struct assh_algo_cipher_s assh_cipher_openssl_tdes_cbc [link]

This constant is declared in assh/mod_openssl.h source file, line 76.

Alternate declarations with same identifier: [1], [2].

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_CIPHERS )

This constant is a cipher algorithm descriptor for the 3 DES implementation.

See also Cipher algorithms.

### const struct assh_algo_mac_s assh_mac_openssl_md5 [link]

This constant is declared in assh/mod_openssl.h source file, line 106.

This constant is a mac algorithm implementation descriptor.

See also Message authentication algorithms.

### const struct assh_algo_mac_s assh_mac_openssl_md5_96 [link]

This constant is declared in assh/mod_openssl.h source file, line 107.

This constant is a mac algorithm implementation descriptor.

See also Message authentication algorithms.

### const struct assh_algo_mac_s assh_mac_openssl_md5_96_etm [link]

This constant is declared in assh/mod_openssl.h source file, line 109.

This constant is a mac algorithm implementation descriptor.

See also Message authentication algorithms.

### const struct assh_algo_mac_s assh_mac_openssl_md5_etm [link]

This constant is declared in assh/mod_openssl.h source file, line 108.

This constant is a mac algorithm implementation descriptor.

See also Message authentication algorithms.

### const struct assh_algo_mac_s assh_mac_openssl_ripemd160 [link]

This constant is declared in assh/mod_openssl.h source file, line 122.

This constant is a mac algorithm implementation descriptor.

See also Message authentication algorithms.

### const struct assh_algo_mac_s assh_mac_openssl_ripemd160_etm [link]

This constant is declared in assh/mod_openssl.h source file, line 123.

This constant is a mac algorithm implementation descriptor.

See also Message authentication algorithms.

### const struct assh_algo_mac_s assh_mac_openssl_sha1 [link]

This constant is declared in assh/mod_openssl.h source file, line 112.

This constant is a mac algorithm implementation descriptor.

See also Message authentication algorithms.

### const struct assh_algo_mac_s assh_mac_openssl_sha1_96 [link]

This constant is declared in assh/mod_openssl.h source file, line 113.

This constant is a mac algorithm implementation descriptor.

See also Message authentication algorithms.

### const struct assh_algo_mac_s assh_mac_openssl_sha1_96_etm [link]

This constant is declared in assh/mod_openssl.h source file, line 115.

This constant is a mac algorithm implementation descriptor.

See also Message authentication algorithms.

### const struct assh_algo_mac_s assh_mac_openssl_sha1_etm [link]

This constant is declared in assh/mod_openssl.h source file, line 114.

This constant is a mac algorithm implementation descriptor.

See also Message authentication algorithms.

### const struct assh_algo_mac_s assh_mac_openssl_sha256 [link]

This constant is declared in assh/mod_openssl.h source file, line 116.

This constant is a mac algorithm implementation descriptor.

See also Message authentication algorithms.

### const struct assh_algo_mac_s assh_mac_openssl_sha256_etm [link]

This constant is declared in assh/mod_openssl.h source file, line 118.

This constant is a mac algorithm implementation descriptor.

See also Message authentication algorithms.

### const struct assh_algo_mac_s assh_mac_openssl_sha512 [link]

This constant is declared in assh/mod_openssl.h source file, line 117.

This constant is a mac algorithm implementation descriptor.

See also Message authentication algorithms.

### const struct assh_algo_mac_s assh_mac_openssl_sha512_etm [link]

This constant is declared in assh/mod_openssl.h source file, line 119.

This constant is a mac algorithm implementation descriptor.

See also Message authentication algorithms.

### assh_status_t assh_openssl_allocator(void *alloc_pv, void **ptr, size_t size, enum assh_alloc_type_e type) [link]

This function is declared in assh/mod_openssl.h source file, line 169.

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_ALLOC )

This allocator relies on the secur memory allocation functions provided by the openssl library.

It does not requires private data; NULL may be passed as alloc_pv parameter of the initialization function.

When this is enabled in the build, the assh_deps_init function calls the openssl CRYPTO_secure_malloc_init function unless the CRYPTO_secure_malloc_initialized function indicates that it has already been performed.

### const struct assh_prng_s assh_prng_openssl [link]

This constant is declared in assh/mod_openssl.h source file, line 154.

Preprocessor condition: defined( CONFIG_ASSH_USE_OPENSSL_PRNG )

This constant is a descriptor for the *OpenSSL* random number generator module.

### const struct assh_algo_sign_s assh_sign_openssl_rsa_sha1 [link]

This constant is declared in assh/mod_openssl.h source file, line 135.

Accept sha* RSA signatures, generate sha1 signatures, Reject keys with modulus size less than 1024 bits.

### const struct assh_algo_sign_s assh_sign_openssl_rsa_sha1_2048 [link]

This constant is declared in assh/mod_openssl.h source file, line 139.

Accept sha* RSA signatures, generate sha1 signatures. Reject keys with modulus size less than 2048 bits.

### const struct assh_algo_sign_s assh_sign_openssl_rsa_sha1_md5 [link]

This constant is declared in assh/mod_openssl.h source file, line 131.

Accept sha* and md5 RSA signatures, generate sha1 signatures. Reject keys with modulus size less than 768 bits.

### const struct assh_algo_sign_s assh_sign_openssl_rsa_sha256 [link]

This constant is declared in assh/mod_openssl.h source file, line 143.

Accept sha2, RSA signatures, generate sha256 signatures. Reject keys with modulus size less than 2048 bits.

### const struct assh_algo_sign_s assh_sign_openssl_rsa_sha512 [link]

This constant is declared in assh/mod_openssl.h source file, line 147.

Accept sha2 RSA signatures, generate sha512 signatures. Reject keys with modulus size less than 2048 bits.