Annotation of src/usr.bin/ssh/rijndael.h, Revision 1.8
1.8 ! markus 1: /* $OpenBSD: rijndael.h,v 1.7 2001/03/01 03:38:33 deraadt Exp $ */
1.7 deraadt 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 */
1.6 niklas 16:
1.3 markus 17: #ifndef _RIJNDAEL_H_
18: #define _RIJNDAEL_H_
1.1 markus 19:
1.3 markus 20: /* 1. Standard types for AES cryptography source code */
21:
1.5 markus 22: typedef u_int8_t u1byte; /* an 8 bit unsigned character type */
23: typedef u_int16_t u2byte; /* a 16 bit unsigned integer type */
24: typedef u_int32_t u4byte; /* a 32 bit unsigned integer type */
1.3 markus 25:
26: typedef int8_t s1byte; /* an 8 bit signed character type */
27: typedef int16_t s2byte; /* a 16 bit signed integer type */
28: typedef int32_t s4byte; /* a 32 bit signed integer type */
29:
30: typedef struct _rijndael_ctx {
31: u4byte k_len;
32: int decrypt;
33: u4byte e_key[64];
34: u4byte d_key[64];
35: } rijndael_ctx;
36:
37:
38: /* 2. Standard interface for AES cryptographic routines */
39:
1.5 markus 40: /* These are all based on 32 bit unsigned values and will therefore */
1.3 markus 41: /* require endian conversions for big-endian architectures */
42:
1.8 ! markus 43: rijndael_ctx *
! 44: rijndael_set_key __P((rijndael_ctx *, const u4byte *, const u4byte, int));
1.3 markus 45: void rijndael_encrypt __P((rijndael_ctx *, const u4byte *, u4byte *));
46: void rijndael_decrypt __P((rijndael_ctx *, const u4byte *, u4byte *));
47:
48: #endif /* _RIJNDAEL_H_ */