aboutsummaryrefslogtreecommitdiff
path: root/openssl/src
diff options
context:
space:
mode:
authorAndy Gauge <[email protected]>2017-09-25 17:01:08 -0700
committerAndy Gauge <[email protected]>2017-09-25 17:01:08 -0700
commitb07b0e7fb783fe8e9c0d7b697742273885c496b2 (patch)
treef0377706cf14d5c083ca9f8e42fea7b04d323fb6 /openssl/src
parentFix rerun logic (diff)
downloadrust-openssl-b07b0e7fb783fe8e9c0d7b697742273885c496b2.tar.xz
rust-openssl-b07b0e7fb783fe8e9c0d7b697742273885c496b2.zip
WIP: document AES
Diffstat (limited to 'openssl/src')
-rw-r--r--openssl/src/aes.rs31
1 files changed, 30 insertions, 1 deletions
diff --git a/openssl/src/aes.rs b/openssl/src/aes.rs
index 40546f59..19089dee 100644
--- a/openssl/src/aes.rs
+++ b/openssl/src/aes.rs
@@ -1,6 +1,35 @@
//! Low level AES functionality
//!
-//! The `symm` module should be used in preference to this module in most cases.
+//! Advanced Encryption Standard (AES) provides symmetric key cipher that
+//! the same key is used to encrypt and decrypt data. This implementation
+//! Uses 128, 192, or 256 bit keys. This module provides functions to
+//! create a new key with [`new_encrypt`] and perform an encryption/decryption
+//! using that key with [`aes_ige`].
+//!
+//! [`new_encrypt`]: struct.AesKey.html#method.new_encrypt
+//! [`aes_ige`]: fn.aes_ige.html
+//!
+//! The [`symm`] module should be used in preference to this module in most cases.
+//!
+//! [`symm`]: ../symm/index.html
+//!
+//! # Examples
+//!
+//! ```rust
+//! # extern crate openssl;
+//! extern crate hex;
+//! use openssl::aes::{AesKey, KeyError};
+//! use hex::FromHex;
+//!
+//! fn decrypt() -> Result<(), KeyError> {
+//! let raw_key = "000102030405060708090A0B0C0D0E0F";
+//! let key = AesKey::new_encrypt(&Vec::from_hex(raw_key).unwrap())?;
+//! Ok(())
+//! }
+//!
+//! # fn main() {
+//! # decrypt();
+//! # }
use ffi;
use std::mem;
use libc::c_int;