]> andersk Git - openssh.git/blame - rijndael.h
- deraadt@cvs.openbsd.org 2001/03/01 03:38:33
[openssh.git] / rijndael.h
CommitLineData
4371658c 1/* $OpenBSD: rijndael.h,v 1.7 2001/03/01 03:38:33 deraadt Exp $ */
2
3/* This is an independent implementation of the encryption algorithm: */
4/* */
5/* RIJNDAEL by Joan Daemen and Vincent Rijmen */
6/* */
7/* which is a candidate algorithm in the Advanced Encryption Standard */
8/* programme of the US National Institute of Standards and Technology. */
9/* */
10/* Copyright in this implementation is held by Dr B R Gladman but I */
11/* hereby give permission for its free direct or derivative use subject */
12/* to acknowledgment of its origin and compliance with any conditions */
13/* that the originators of the algorithm place on its exploitation. */
14/* */
15/* Dr Brian Gladman (gladman@seven77.demon.co.uk) 14th January 1999 */
23c2a7a5 16
6b523bae 17#ifndef _RIJNDAEL_H_
18#define _RIJNDAEL_H_
94ec8c6b 19
6b523bae 20#include "config.h"
4d670c24 21
6b523bae 22/* 1. Standard types for AES cryptography source code */
94ec8c6b 23
6b523bae 24typedef u_int8_t u1byte; /* an 8 bit unsigned character type */
25typedef u_int16_t u2byte; /* a 16 bit unsigned integer type */
26typedef u_int32_t u4byte; /* a 32 bit unsigned integer type */
94ec8c6b 27
6b523bae 28typedef int8_t s1byte; /* an 8 bit signed character type */
29typedef int16_t s2byte; /* a 16 bit signed integer type */
30typedef int32_t s4byte; /* a 32 bit signed integer type */
94ec8c6b 31
6b523bae 32typedef struct _rijndael_ctx {
33 u4byte k_len;
34 int decrypt;
35 u4byte e_key[64];
36 u4byte d_key[64];
37} rijndael_ctx;
94ec8c6b 38
6b523bae 39
40/* 2. Standard interface for AES cryptographic routines */
41
42/* These are all based on 32 bit unsigned values and will therefore */
43/* require endian conversions for big-endian architectures */
44
45rijndael_ctx *rijndael_set_key __P((rijndael_ctx *, const u4byte *, u4byte, int));
46void rijndael_encrypt __P((rijndael_ctx *, const u4byte *, u4byte *));
47void rijndael_decrypt __P((rijndael_ctx *, const u4byte *, u4byte *));
48
49#endif /* _RIJNDAEL_H_ */
This page took 0.104943 seconds and 5 git commands to generate.