rijndael_api.c File Reference

#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include "rijndael-alg.h"
#include "rijndael-api.h"

Include dependency graph for rijndael_api.c:

Go to the source code of this file.

Defines

#define W(a)   ((word32 *) (a))
#define B(a)   ((word8 *) (a))
#define aligned(a)   (((unsigned) (a) & 3) == 0)
#define aligned2(a1, a2)   aligned((unsigned) (a1) | (unsigned) (a2))
#define between(a, c, z)   ((unsigned) (c) - (a) <= (unsigned) (z) - (a))

Functions

static void blockcpy (void *dst, const void *src)
int rijndael_makekey (rd_keyinstance *key, size_t keylen, const void *keymaterial)
ssize_t rijndael_ecb_encrypt (rd_keyinstance *key, const void *input, void *output, size_t length, void *dummyIV)
ssize_t rijndael_ecb_decrypt (rd_keyinstance *key, const void *input, void *output, size_t length, void *dummyIV)
ssize_t rijndael_cbc_encrypt (rd_keyinstance *key, const void *input, void *output, size_t length, void *IV)
ssize_t rijndael_cbc_decrypt (rd_keyinstance *key, const void *input, void *output, size_t length, void *IV)
ssize_t rijndael_cfb1_encrypt (rd_keyinstance *key, const void *input, void *output, size_t length, void *IV)
ssize_t rijndael_cfb1_decrypt (rd_keyinstance *key, const void *input, void *output, size_t length, void *IV)
ssize_t rijndael_cfb8_encrypt (rd_keyinstance *key, const void *input, void *output, size_t length, void *IV)
ssize_t rijndael_cfb8_decrypt (rd_keyinstance *key, const void *input, void *output, size_t length, void *IV)
ssize_t rijndael_pad (void *input, size_t length)
ssize_t rijndael_unpad (const void *input, size_t length)


Define Documentation

#define aligned a   )     (((unsigned) (a) & 3) == 0)
 

Definition at line 28 of file rijndael_api.c.

Referenced by print(), and rijndael_cbc_encrypt().

#define aligned2 a1,
a2   )     aligned((unsigned) (a1) | (unsigned) (a2))
 

Definition at line 29 of file rijndael_api.c.

Referenced by rijndael_cbc_decrypt(), rijndael_cbc_encrypt(), rijndael_ecb_decrypt(), and rijndael_ecb_encrypt().

#define B a   )     ((word8 *) (a))
 

Definition at line 19 of file rijndael_api.c.

#define between a,
c,
z   )     ((unsigned) (c) - (a) <= (unsigned) (z) - (a))
 

Definition at line 62 of file rijndael_api.c.

#define W a   )     ((word32 *) (a))
 

Definition at line 18 of file rijndael_api.c.

Referenced by rijndael_cbc_decrypt(), rijndael_cbc_encrypt(), rijndael_KeyEncToDec(), rl_check_ints(), rl_reset_hw(), test03(), test04(), test05(), and TTYinfo().


Function Documentation

static void blockcpy void *  dst,
const void *  src
[static]
 

Definition at line 31 of file rijndael_api.c.

References B, and i.

Referenced by rijndael_cbc_decrypt(), rijndael_cbc_encrypt(), rijndael_cfb1_decrypt(), rijndael_cfb1_encrypt(), rijndael_cfb8_decrypt(), and rijndael_cfb8_encrypt().

ssize_t rijndael_cbc_decrypt rd_keyinstance key,
const void *  input,
void *  output,
size_t  length,
void *  IV
 

Definition at line 289 of file rijndael_api.c.

References aligned2, blockcpy(), extra(), i, in, key, out, outp, RD_BAD_BLOCK_LENGTH, rijndael_Decrypt(), t, and W.

ssize_t rijndael_cbc_encrypt rd_keyinstance key,
const void *  input,
void *  output,
size_t  length,
void *  IV
 

Definition at line 221 of file rijndael_api.c.

References aligned, aligned2, blockcpy(), extra(), i, in, key, out, outp, RD_BAD_BLOCK_LENGTH, rijndael_Encrypt(), t, and W.

ssize_t rijndael_cfb1_decrypt rd_keyinstance key,
const void *  input,
void *  output,
size_t  length,
void *  IV
 

Definition at line 404 of file rijndael_api.c.

References B, b, blockcpy(), i, key, outp, rijndael_Encrypt(), and t.

ssize_t rijndael_cfb1_encrypt rd_keyinstance key,
const void *  input,
void *  output,
size_t  length,
void *  IV
 

Definition at line 363 of file rijndael_api.c.

References B, b, blockcpy(), i, key, outp, rijndael_Encrypt(), and t.

ssize_t rijndael_cfb8_decrypt rd_keyinstance key,
const void *  input,
void *  output,
size_t  length,
void *  IV
 

Definition at line 483 of file rijndael_api.c.

References B, blockcpy(), i, key, outp, rijndael_Encrypt(), and t.

ssize_t rijndael_cfb8_encrypt rd_keyinstance key,
const void *  input,
void *  output,
size_t  length,
void *  IV
 

Definition at line 445 of file rijndael_api.c.

References B, blockcpy(), i, key, outp, rijndael_Encrypt(), and t.

ssize_t rijndael_ecb_decrypt rd_keyinstance key,
const void *  input,
void *  output,
size_t  length,
void *  dummyIV
 

Definition at line 173 of file rijndael_api.c.

References aligned2, extra(), i, in, key, out, outp, RD_BAD_BLOCK_LENGTH, rijndael_Decrypt(), and t.

ssize_t rijndael_ecb_encrypt rd_keyinstance key,
const void *  input,
void *  output,
size_t  length,
void *  dummyIV
 

Definition at line 118 of file rijndael_api.c.

References aligned2, extra(), i, in, key, out, outp, RD_BAD_BLOCK_LENGTH, rijndael_Encrypt(), and t.

int rijndael_makekey rd_keyinstance key,
size_t  keylen,
const void *  keymaterial
 

Definition at line 64 of file rijndael_api.c.

References B, b, between, c, k, MAXKC, RD_BAD_KEY_MAT, and RD_KEY_HEX.

ssize_t rijndael_pad void *  input,
size_t  length
 

Definition at line 521 of file rijndael_api.c.

References memset().

ssize_t rijndael_unpad const void *  input,
size_t  length
 

Definition at line 538 of file rijndael_api.c.

References i, RD_BAD_BLOCK_LENGTH, and RD_BAD_DATA.


Generated on Fri Apr 14 23:09:15 2006 for minix by  doxygen 1.4.6