[BACK]Return to rijndael.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/rijndael.h between version 1.1.4.3 and 1.2

version 1.1.4.3, 2001/03/21 18:52:58 version 1.2, 2000/12/06 23:05:43
Line 1 
Line 1 
 /*      $OpenBSD$       */  /*
    * rijndael-alg-fst.h   v2.4   April '2000
    * rijndael-api-fst.h   v2.4   April '2000
    *
    * Optimised ANSI C code
    *
    */
   
 /* This is an independent implementation of the encryption algorithm:   */  #ifndef RIJNDAEL_H
 /*                                                                      */  #define RIJNDAEL_H
 /*         RIJNDAEL by Joan Daemen and Vincent Rijmen                   */  
 /*                                                                      */  
 /* which is a candidate algorithm in the Advanced Encryption Standard   */  
 /* programme of the US National Institute of Standards and Technology.  */  
 /*                                                                      */  
 /* Copyright in this implementation is held by Dr B R Gladman but I     */  
 /* hereby give permission for its free direct or derivative use subject */  
 /* to acknowledgment of its origin and compliance with any conditions   */  
 /* that the originators of the algorithm place on its exploitation.     */  
 /*                                                                      */  
 /* Dr Brian Gladman (gladman@seven77.demon.co.uk) 14th January 1999     */  
   
 #ifndef _RIJNDAEL_H_  #define RIJNDAEL_MAXKC          (256/32)
 #define _RIJNDAEL_H_  #define RIJNDAEL_MAXROUNDS      14
   
 /* 1. Standard types for AES cryptography source code               */  #define RIJNDAEL_ENCRYPT        0
   #define RIJNDAEL_DECRYPT        1
   
 typedef u_int8_t   u1byte; /* an 8 bit unsigned character type */  typedef struct {
 typedef u_int16_t  u2byte; /* a 16 bit unsigned integer type   */          int ROUNDS;             /* key-length-dependent number of rounds */
 typedef u_int32_t  u4byte; /* a 32 bit unsigned integer type   */          u_int8_t keySched[RIJNDAEL_MAXROUNDS+1][4][4];
   } rijndael_key;
   
 typedef int8_t     s1byte; /* an 8 bit signed character type   */  int rijndael_encrypt(rijndael_key *key, u_int8_t a[16], u_int8_t b[16]);
 typedef int16_t    s2byte; /* a 16 bit signed integer type     */  int rijndael_decrypt(rijndael_key *key, u_int8_t a[16], u_int8_t b[16]);
 typedef int32_t    s4byte; /* a 32 bit signed integer type     */  int rijndael_makekey(rijndael_key *key, int direction, int keyLen, u_int8_t *keyMaterial);
   
 typedef struct _rijndael_ctx {  #endif
         u4byte  k_len;  
         int decrypt;  
         u4byte  e_key[64];  
         u4byte  d_key[64];  
 } rijndael_ctx;  
   
   
 /* 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_ */  

Legend:
Removed from v.1.1.4.3  
changed lines
  Added in v.1.2