OpenSSL  1.0.1c
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros
Macros | Typedefs | Functions
aes_x86core.c File Reference
#include <assert.h>
#include <stdlib.h>
#include <openssl/aes.h>
#include "aes_locl.h"

Go to the source code of this file.

Macros

#define NDEBUG
 
#define AES_COMPACT_IN_OUTER_ROUNDS
 
#define GETU32(p)   (*((u32*)(p)))
 
#define U64(C)   C##ULL
 
#define Te0   (u32)((u64*)((u8*)Te+0))
 
#define Te1   (u32)((u64*)((u8*)Te+3))
 
#define Te2   (u32)((u64*)((u8*)Te+2))
 
#define Te3   (u32)((u64*)((u8*)Te+1))
 
#define Td0   (u32)((u64*)((u8*)Td+0))
 
#define Td1   (u32)((u64*)((u8*)Td+3))
 
#define Td2   (u32)((u64*)((u8*)Td+2))
 
#define Td3   (u32)((u64*)((u8*)Td+1))
 

Typedefs

typedef unsigned long long u64
 

Functions

int AES_set_encrypt_key (const unsigned char *userKey, const int bits, AES_KEY *key)
 
int AES_set_decrypt_key (const unsigned char *userKey, const int bits, AES_KEY *key)
 
void AES_encrypt (const unsigned char *in, unsigned char *out, const AES_KEY *key)
 
void AES_decrypt (const unsigned char *in, unsigned char *out, const AES_KEY *key)
 

Macro Definition Documentation

#define AES_COMPACT_IN_OUTER_ROUNDS

Definition at line 53 of file aes_x86core.c.

#define GETU32 (   p)    (*((u32*)(p)))

Definition at line 78 of file aes_x86core.c.

#define NDEBUG

rijndael-alg-fst.c

Version
3.0 (December 2000)

Optimised ANSI C code for the Rijndael cipher (now AES)

Author
Vincent Rijmen vince.nosp@m.nt.r.nosp@m.ijmen.nosp@m.@esa.nosp@m.t.kul.nosp@m.euve.nosp@m.n.ac..nosp@m.be
Antoon Bosselaers antoo.nosp@m.n.bo.nosp@m.ssela.nosp@m.ers@.nosp@m.esat..nosp@m.kule.nosp@m.uven..nosp@m.ac.b.nosp@m.e
Paulo Barreto paulo.nosp@m..bar.nosp@m.reto@.nosp@m.terr.nosp@m.a.com.nosp@m..br

This code is hereby placed in the public domain.

THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition at line 40 of file aes_x86core.c.

#define Td0   (u32)((u64*)((u8*)Td+0))

Definition at line 125 of file aes_x86core.c.

#define Td1   (u32)((u64*)((u8*)Td+3))

Definition at line 126 of file aes_x86core.c.

#define Td2   (u32)((u64*)((u8*)Td+2))

Definition at line 127 of file aes_x86core.c.

#define Td3   (u32)((u64*)((u8*)Td+1))

Definition at line 128 of file aes_x86core.c.

#define Te0   (u32)((u64*)((u8*)Te+0))

Definition at line 113 of file aes_x86core.c.

#define Te1   (u32)((u64*)((u8*)Te+3))

Definition at line 114 of file aes_x86core.c.

#define Te2   (u32)((u64*)((u8*)Te+2))

Definition at line 115 of file aes_x86core.c.

#define Te3   (u32)((u64*)((u8*)Te+1))

Definition at line 116 of file aes_x86core.c.

#define U64 (   C)    C##ULL

Definition at line 88 of file aes_x86core.c.

Typedef Documentation

typedef unsigned long long u64

Definition at line 87 of file aes_x86core.c.

Function Documentation

void AES_decrypt ( const unsigned char *  in,
unsigned char *  out,
const AES_KEY key 
)

Definition at line 864 of file aes_x86core.c.

void AES_encrypt ( const unsigned char *  in,
unsigned char *  out,
const AES_KEY key 
)

Definition at line 652 of file aes_x86core.c.

int AES_set_decrypt_key ( const unsigned char *  userKey,
const int  bits,
AES_KEY key 
)

Expand the cipher key into the decryption key schedule.

Definition at line 571 of file aes_x86core.c.

int AES_set_encrypt_key ( const unsigned char *  userKey,
const int  bits,
AES_KEY key 
)

Expand the cipher key into the encryption key schedule.

Definition at line 470 of file aes_x86core.c.