libfortuna
1
FortunalibraryfunctionsextractedfromPostgreSQLsource
Main Page
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Macros
rijndael.h
Go to the documentation of this file.
1
/*
2
* contrib/pgcrypto/rijndael.h
3
*
4
* $OpenBSD: rijndael.h,v 1.3 2001/05/09 23:01:32 markus Exp $ */
5
6
/* This is an independent implementation of the encryption algorithm: */
7
/* */
8
/* RIJNDAEL by Joan Daemen and Vincent Rijmen */
9
/* */
10
/* which is a candidate algorithm in the Advanced Encryption Standard */
11
/* programme of the US National Institute of Standards and Technology. */
12
/* */
13
/* Copyright in this implementation is held by Dr B R Gladman but I */
14
/* hereby give permission for its free direct or derivative use subject */
15
/* to acknowledgment of its origin and compliance with any conditions */
16
/* that the originators of the algorithm place on its exploitation. */
17
/* */
18
/* Dr Brian Gladman (gladman@seven77.demon.co.uk) 14th January 1999 */
19
20
#ifndef _RIJNDAEL_H_
21
#define _RIJNDAEL_H_
22
23
#include "
c.h
"
24
25
/* 1. Standard types for AES cryptography source code */
26
27
typedef
uint8
u1byte
;
/* an 8 bit unsigned character type */
28
typedef
uint16
u2byte
;
/* a 16 bit unsigned integer type */
29
typedef
uint32
u4byte
;
/* a 32 bit unsigned integer type */
30
31
typedef
int8
s1byte
;
/* an 8 bit signed character type */
32
typedef
int16
s2byte
;
/* a 16 bit signed integer type */
33
typedef
int32
s4byte
;
/* a 32 bit signed integer type */
34
35
typedef
struct
_rijndael_ctx
36
{
37
u4byte
k_len
;
38
int
decrypt
;
39
u4byte
e_key
[64];
40
u4byte
d_key
[64];
41
}
rijndael_ctx
;
42
43
44
/* 2. Standard interface for AES cryptographic routines */
45
46
/* These are all based on 32 bit unsigned values and will therefore */
47
/* require endian conversions for big-endian architectures */
48
49
rijndael_ctx
*
50
rijndael_set_key
(
rijndael_ctx
*,
const
u4byte
*,
const
u4byte
,
int
);
51
void
rijndael_encrypt
(
rijndael_ctx
*,
const
u4byte
*,
u4byte
*);
52
void
rijndael_decrypt
(
rijndael_ctx
*,
const
u4byte
*,
u4byte
*);
53
54
/* conventional interface */
55
56
void
aes_set_key
(
rijndael_ctx
*ctx,
const
uint8
*key,
unsigned
keybits,
int
enc);
57
void
aes_ecb_encrypt
(
rijndael_ctx
*ctx,
uint8
*data,
unsigned
len);
58
void
aes_ecb_decrypt
(
rijndael_ctx
*ctx,
uint8
*data,
unsigned
len);
59
void
aes_cbc_encrypt
(
rijndael_ctx
*ctx,
uint8
*iva,
uint8
*data,
unsigned
len);
60
void
aes_cbc_decrypt
(
rijndael_ctx
*ctx,
uint8
*iva,
uint8
*data,
unsigned
len);
61
62
#endif
/* _RIJNDAEL_H_ */
src
rijndael.h
Generated on Fri Jul 19 2013 03:29:02 for libfortuna by
1.8.3.1