aboutsummaryrefslogtreecommitdiff
path: root/openssl/src
diff options
context:
space:
mode:
authorAndy Gauge <[email protected]>2017-09-26 16:51:37 -0700
committerAndy Gauge <[email protected]>2017-09-26 16:51:37 -0700
commitad879ad7dea7548385277cbce8c6dd35284df4b0 (patch)
tree87b32f0e72a5b09e8241abe92df84484d4dcbeb6 /openssl/src
parentAES Module level docs and example (diff)
downloadrust-openssl-ad879ad7dea7548385277cbce8c6dd35284df4b0.tar.xz
rust-openssl-ad879ad7dea7548385277cbce8c6dd35284df4b0.zip
AES (IGE) encryption documentation
Diffstat (limited to 'openssl/src')
-rw-r--r--openssl/src/aes.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/openssl/src/aes.rs b/openssl/src/aes.rs
index c7e744ae..d128a666 100644
--- a/openssl/src/aes.rs
+++ b/openssl/src/aes.rs
@@ -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