pub struct Cipher(_);
Expand description
A symmetric cipher.
Implementations§
source§impl Cipher
impl Cipher
sourcepub fn from_nid(nid: Nid) -> Option<&'static CipherRef>
pub fn from_nid(nid: Nid) -> Option<&'static CipherRef>
Looks up the cipher for a certain nid.
This corresponds to EVP_get_cipherbynid
.
sourcepub fn fetch(
ctx: Option<&LibCtxRef>,
algorithm: &str,
properties: Option<&str>
) -> Result<Self, ErrorStack>
pub fn fetch( ctx: Option<&LibCtxRef>, algorithm: &str, properties: Option<&str> ) -> Result<Self, ErrorStack>
Fetches a cipher object corresponding to the specified algorithm name and properties.
Requires OpenSSL 3.0.0 or newer.
This corresponds to EVP_CIPHER_fetch
.
pub fn aes_128_ecb() -> &'static CipherRef
pub fn aes_128_cbc() -> &'static CipherRef
pub fn aes_128_xts() -> &'static CipherRef
pub fn aes_128_ctr() -> &'static CipherRef
pub fn aes_128_cfb1() -> &'static CipherRef
pub fn aes_128_cfb128() -> &'static CipherRef
pub fn aes_128_cfb8() -> &'static CipherRef
pub fn aes_128_gcm() -> &'static CipherRef
pub fn aes_128_ccm() -> &'static CipherRef
pub fn aes_128_ofb() -> &'static CipherRef
sourcepub fn aes_128_ocb() -> &'static CipherRef
pub fn aes_128_ocb() -> &'static CipherRef
Requires OpenSSL 1.1.0 or newer.
pub fn aes_192_ecb() -> &'static CipherRef
pub fn aes_192_cbc() -> &'static CipherRef
pub fn aes_192_ctr() -> &'static CipherRef
pub fn aes_192_cfb1() -> &'static CipherRef
pub fn aes_192_cfb128() -> &'static CipherRef
pub fn aes_192_cfb8() -> &'static CipherRef
pub fn aes_192_gcm() -> &'static CipherRef
pub fn aes_192_ccm() -> &'static CipherRef
pub fn aes_192_ofb() -> &'static CipherRef
sourcepub fn aes_192_ocb() -> &'static CipherRef
pub fn aes_192_ocb() -> &'static CipherRef
Requires OpenSSL 1.1.0 or newer.
pub fn aes_256_ecb() -> &'static CipherRef
pub fn aes_256_cbc() -> &'static CipherRef
pub fn aes_256_ctr() -> &'static CipherRef
pub fn aes_256_cfb1() -> &'static CipherRef
pub fn aes_256_cfb128() -> &'static CipherRef
pub fn aes_256_cfb8() -> &'static CipherRef
pub fn aes_256_gcm() -> &'static CipherRef
pub fn aes_256_ccm() -> &'static CipherRef
pub fn aes_256_ofb() -> &'static CipherRef
sourcepub fn aes_256_ocb() -> &'static CipherRef
pub fn aes_256_ocb() -> &'static CipherRef
Requires OpenSSL 1.1.0 or newer.
pub fn bf_cbc() -> &'static CipherRef
pub fn bf_ecb() -> &'static CipherRef
pub fn bf_cfb64() -> &'static CipherRef
pub fn bf_ofb() -> &'static CipherRef
pub fn des_cbc() -> &'static CipherRef
pub fn des_ecb() -> &'static CipherRef
pub fn des_ede3() -> &'static CipherRef
pub fn des_ede3_cbc() -> &'static CipherRef
pub fn des_ede3_cfb64() -> &'static CipherRef
pub fn rc4() -> &'static CipherRef
pub fn camellia128_cfb128() -> &'static CipherRef
pub fn camellia128_ecb() -> &'static CipherRef
pub fn camellia192_cfb128() -> &'static CipherRef
pub fn camellia192_ecb() -> &'static CipherRef
pub fn camellia256_cfb128() -> &'static CipherRef
pub fn camellia256_ecb() -> &'static CipherRef
pub fn cast5_cfb64() -> &'static CipherRef
pub fn cast5_ecb() -> &'static CipherRef
pub fn idea_cfb64() -> &'static CipherRef
pub fn idea_ecb() -> &'static CipherRef
pub fn chacha20() -> &'static CipherRef
pub fn chacha20_poly1305() -> &'static CipherRef
pub fn seed_cbc() -> &'static CipherRef
pub fn seed_cfb128() -> &'static CipherRef
pub fn seed_ecb() -> &'static CipherRef
pub fn seed_ofb() -> &'static CipherRef
Methods from Deref<Target = CipherRef>§
sourcepub fn nid(&self) -> Nid
pub fn nid(&self) -> Nid
Returns the cipher’s Nid.
This corresponds to EVP_CIPHER_nid
.
sourcepub fn key_length(&self) -> usize
pub fn key_length(&self) -> usize
Returns the length of keys used with this cipher.
This corresponds to EVP_CIPHER_key_length
.
sourcepub fn iv_length(&self) -> usize
pub fn iv_length(&self) -> usize
Returns the length of the IV used with this cipher.
Note
Ciphers that do not use an IV have an IV length of 0.
This corresponds to EVP_CIPHER_iv_length
.
sourcepub fn block_size(&self) -> usize
pub fn block_size(&self) -> usize
Returns the block size of the cipher.
Note
Stream ciphers have a block size of 1.
This corresponds to EVP_CIPHER_block_size
.