]> andersk Git - openssh.git/blobdiff - rijndael.h
- markus@cvs.openbsd.org 2000/12/06 23:10:39
[openssh.git] / rijndael.h
index 09c4257423dba71fc5192f070f836df67a79feec..75853cfff2c53e4d27f46ddd04ed4f0fcc3874f1 100644 (file)
@@ -1,33 +1,27 @@
-#ifndef _RIJNDAEL_H_
-#define _RIJNDAEL_H_
+/*
+ * rijndael-alg-fst.h   v2.4   April '2000
+ * rijndael-api-fst.h   v2.4   April '2000
+ *
+ * Optimised ANSI C code
+ *
+ */
 
-#include "config.h"
+#ifndef RIJNDAEL_H
+#define RIJNDAEL_H
 
-/* 1. Standard types for AES cryptography source code               */
+#define RIJNDAEL_MAXKC         (256/32)
+#define RIJNDAEL_MAXROUNDS     14
 
-typedef u_int8_t   u1byte; /* an 8 bit unsigned character type */
-typedef u_int16_t  u2byte; /* a 16 bit unsigned integer type   */
-typedef u_int32_t  u4byte; /* a 32 bit unsigned integer type   */
+#define        RIJNDAEL_ENCRYPT        0
+#define        RIJNDAEL_DECRYPT        1
 
-typedef int8_t     s1byte; /* an 8 bit signed character type   */
-typedef int16_t    s2byte; /* a 16 bit signed integer type     */
-typedef int32_t    s4byte; /* a 32 bit signed integer type     */
+typedef struct {
+       int ROUNDS;             /* key-length-dependent number of rounds */
+       u_int8_t keySched[RIJNDAEL_MAXROUNDS+1][4][4];
+} rijndael_key;
 
-typedef struct _rijndael_ctx {
-       u4byte  k_len;
-       int decrypt;
-       u4byte  e_key[64];
-       u4byte  d_key[64];
-} rijndael_ctx;
+int rijndael_encrypt(rijndael_key *key, u_int8_t a[16], u_int8_t b[16]);
+int rijndael_decrypt(rijndael_key *key, u_int8_t a[16], u_int8_t b[16]);
+int rijndael_makekey(rijndael_key *key, int direction, int keyLen, u_int8_t *keyMaterial);
 
-
-/* 2. Standard interface for AES cryptographic routines             */
-
-/* These are all based on 32 bit unsigned values and will therefore */
-/* require endian conversions for big-endian architectures          */
-
-rijndael_ctx *rijndael_set_key  __P((rijndael_ctx *, const u4byte *, u4byte, int));
-void rijndael_encrypt __P((rijndael_ctx *, const u4byte *, u4byte *));
-void rijndael_decrypt __P((rijndael_ctx *, const u4byte *, u4byte *));
-
-#endif /* _RIJNDAEL_H_ */
+#endif
This page took 0.036102 seconds and 4 git commands to generate.