]> andersk Git - openssh.git/blobdiff - rijndael.h
- djm@cvs.openbsd.org 2010/01/30 02:54:53
[openssh.git] / rijndael.h
index 75853cfff2c53e4d27f46ddd04ed4f0fcc3874f1..c614bb18877fbc3220ee29f1592f0b8ba6649842 100644 (file)
@@ -1,27 +1,51 @@
-/*
- * rijndael-alg-fst.h   v2.4   April '2000
- * rijndael-api-fst.h   v2.4   April '2000
+/*     $OpenBSD: rijndael.h,v 1.12 2001/12/19 07:18:56 deraadt Exp $ */
+
+/**
+ * rijndael-alg-fst.h
+ *
+ * @version 3.0 (December 2000)
+ *
+ * Optimised ANSI C code for the Rijndael cipher (now AES)
  *
- * Optimised ANSI C code
+ * @author Vincent Rijmen <vincent.rijmen@esat.kuleuven.ac.be>
+ * @author Antoon Bosselaers <antoon.bosselaers@esat.kuleuven.ac.be>
+ * @author Paulo Barreto <paulo.barreto@terra.com.br>
  *
+ * This code is hereby placed in the public domain.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
+#ifndef __RIJNDAEL_H
+#define __RIJNDAEL_H
 
-#ifndef RIJNDAEL_H
-#define RIJNDAEL_H
-
-#define RIJNDAEL_MAXKC         (256/32)
-#define RIJNDAEL_MAXROUNDS     14
+#define MAXKC  (256/32)
+#define MAXKB  (256/8)
+#define MAXNR  14
 
-#define        RIJNDAEL_ENCRYPT        0
-#define        RIJNDAEL_DECRYPT        1
+typedef unsigned char  u8;
+typedef unsigned short u16;
+typedef unsigned int   u32;
 
+/*  The structure for key information */
 typedef struct {
-       int ROUNDS;             /* key-length-dependent number of rounds */
-       u_int8_t keySched[RIJNDAEL_MAXROUNDS+1][4][4];
-} rijndael_key;
+       int     decrypt;
+       int     Nr;                     /* key-length-dependent number of rounds */
+       u32     ek[4*(MAXNR + 1)];      /* encrypt key schedule */
+       u32     dk[4*(MAXNR + 1)];      /* decrypt key schedule */
+} 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);
+void    rijndael_set_key(rijndael_ctx *, u_char *, int, int);
+void    rijndael_decrypt(rijndael_ctx *, u_char *, u_char *);
+void    rijndael_encrypt(rijndael_ctx *, u_char *, u_char *);
 
-#endif
+#endif /* __RIJNDAEL_H */
This page took 0.050669 seconds and 4 git commands to generate.