AES (IGE) encryption documentation

This commit is contained in:
Andy Gauge 2017-09-26 16:51:37 -07:00
parent afde5a84b1
commit ad879ad7de
1 changed files with 10 additions and 0 deletions

View File

@ -49,9 +49,11 @@ use libc::c_int;
use symm::Mode;
/// Provides Error handling for parsing keys.
#[derive(Debug)]
pub struct KeyError(());
/// The key used to encrypt or decrypt cipher blocks.
pub struct AesKey(ffi::AES_KEY);
impl AesKey {
@ -105,6 +107,14 @@ impl AesKey {
/// Performs AES IGE encryption or decryption
///
/// AES IGE (Infinite Garble Extension) is the form of AES block cipher utilized in
/// OpenSSL. Infinite Garble referes to propogating forward errors. IGE, like other
/// block ciphers implemented for AES requires an initalization vector. The IGE mode
/// allows a stream of blocks to be encrypted or decrypted without having the entire
/// plaintext available. For more information, visit [AES IGE Encryption].
///
/// [AES IGE Encryption]: http://www.links.org/files/openssl-ige.pdf
///
/// # Panics
///
/// Panics if `in_` is not the same length as `out`, if that length is not a multiple of 16, or if