From b07b0e7fb783fe8e9c0d7b697742273885c496b2 Mon Sep 17 00:00:00 2001 From: Andy Gauge Date: Mon, 25 Sep 2017 17:01:08 -0700 Subject: [PATCH] WIP: document AES --- openssl/src/aes.rs | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) 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;