diff options
Diffstat (limited to 'other/ssharp/rijndael.h')
| -rw-r--r-- | other/ssharp/rijndael.h | 49 |
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 | |||
| 24 | typedef u_int8_t u1byte; /* an 8 bit unsigned character type */ | ||
| 25 | typedef u_int16_t u2byte; /* a 16 bit unsigned integer type */ | ||
| 26 | typedef u_int32_t u4byte; /* a 32 bit unsigned integer type */ | ||
| 27 | |||
| 28 | typedef int8_t s1byte; /* an 8 bit signed character type */ | ||
| 29 | typedef int16_t s2byte; /* a 16 bit signed integer type */ | ||
| 30 | typedef int32_t s4byte; /* a 32 bit signed integer type */ | ||
| 31 | |||
| 32 | typedef 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 | |||
| 45 | rijndael_ctx *rijndael_set_key __P((rijndael_ctx *, const u4byte *, u4byte, int)); | ||
| 46 | void rijndael_encrypt __P((rijndael_ctx *, const u4byte *, u4byte *)); | ||
| 47 | void rijndael_decrypt __P((rijndael_ctx *, const u4byte *, u4byte *)); | ||
| 48 | |||
| 49 | #endif /* _RIJNDAEL_H_ */ | ||
