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

Diff for /src/usr.bin/ssh/umac.c between version 1.9 and 1.10

version 1.9, 2014/04/20 02:30:25 version 1.10, 2014/04/30 19:07:48
Line 151 
Line 151 
 /* UMAC uses AES with 16 byte block and key lengths */  /* UMAC uses AES with 16 byte block and key lengths */
 #define AES_BLOCK_LEN  16  #define AES_BLOCK_LEN  16
   
 /* OpenSSL's AES */  #ifdef WITH_OPENSSL
 #include <openssl/aes.h>  #include <openssl/aes.h>
 typedef AES_KEY aes_int_key[1];  typedef AES_KEY aes_int_key[1];
 #define aes_encryption(in,out,int_key)                  \  #define aes_encryption(in,out,int_key)                  \
   AES_encrypt((u_char *)(in),(u_char *)(out),(AES_KEY *)int_key)    AES_encrypt((u_char *)(in),(u_char *)(out),(AES_KEY *)int_key)
 #define aes_key_setup(key,int_key)                      \  #define aes_key_setup(key,int_key)                      \
   AES_set_encrypt_key((const u_char *)(key),UMAC_KEY_LEN*8,int_key)    AES_set_encrypt_key((const u_char *)(key),UMAC_KEY_LEN*8,int_key)
   #else
   #include "rijndael.h"
   #define AES_ROUNDS ((UMAC_KEY_LEN / 4) + 6)
   typedef UINT8 aes_int_key[AES_ROUNDS+1][4][4];  /* AES internal */
   #define aes_encryption(in,out,int_key) \
     rijndaelEncrypt((u32 *)(int_key), AES_ROUNDS, (u8 *)(in), (u8 *)(out))
   #define aes_key_setup(key,int_key) \
     rijndaelKeySetupEnc((u32 *)(int_key), (const unsigned char *)(key), \
     UMAC_KEY_LEN*8)
   #endif
   
 /* The user-supplied UMAC key is stretched using AES in a counter  /* The user-supplied UMAC key is stretched using AES in a counter
  * mode to supply all random bits needed by UMAC. The kdf function takes   * mode to supply all random bits needed by UMAC. The kdf function takes

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10