summaryrefslogtreecommitdiff
path: root/other/ssharp/rijndael.h
diff options
context:
space:
mode:
Diffstat (limited to 'other/ssharp/rijndael.h')
-rw-r--r--other/ssharp/rijndael.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/other/ssharp/rijndael.h b/other/ssharp/rijndael.h
new file mode 100644
index 0000000..fa35048
--- /dev/null
+++ b/other/ssharp/rijndael.h
@@ -0,0 +1,49 @@
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 */
16
17#ifndef _RIJNDAEL_H_
18#define _RIJNDAEL_H_
19
20#include "config.h"
21
22/* 1. Standard types for AES cryptography source code */
23
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 */
27
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 */
31
32typedef struct _rijndael_ctx {
33 u4byte k_len;
34 int decrypt;
35 u4byte e_key[64];
36 u4byte d_key[64];
37} rijndael_ctx;
38
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_ */