@@ -35,7 +35,8 @@ struct saferp_key {
35
35
36
36
#ifdef LTC_RIJNDAEL
37
37
struct rijndael_key {
38
- ulong32 eK [60 ], dK [60 ];
38
+ ulong32 eK [60 ] LTC_ALIGN (16 );
39
+ ulong32 dK [60 ] LTC_ALIGN (16 );
39
40
int Nr ;
40
41
};
41
42
#endif
@@ -318,9 +319,9 @@ typedef struct {
318
319
ctrlen ;
319
320
320
321
/** The counter */
321
- unsigned char ctr [MAXBLOCKSIZE ],
322
+ unsigned char ctr [MAXBLOCKSIZE ];
322
323
/** The pad used to encrypt/decrypt */
323
- pad [MAXBLOCKSIZE ];
324
+ unsigned char pad [MAXBLOCKSIZE ] LTC_ALIGN ( 16 ) ;
324
325
/** The scheduled key */
325
326
symmetric_key key ;
326
327
} symmetric_CTR ;
@@ -688,18 +689,19 @@ extern const struct ltc_cipher_descriptor safer_k64_desc, safer_k128_desc, safer
688
689
#endif
689
690
690
691
#ifdef LTC_RIJNDAEL
691
-
692
- /* make aes an alias */
693
- #define aes_setup rijndael_setup
694
- #define aes_ecb_encrypt rijndael_ecb_encrypt
695
- #define aes_ecb_decrypt rijndael_ecb_decrypt
696
- #define aes_test rijndael_test
697
- #define aes_done rijndael_done
698
- #define aes_keysize rijndael_keysize
699
-
700
- #define aes_enc_setup rijndael_enc_setup
701
- #define aes_enc_ecb_encrypt rijndael_enc_ecb_encrypt
702
- #define aes_enc_keysize rijndael_enc_keysize
692
+ /* declare aes properly now */
693
+ int aes_setup (const unsigned char * key , int keylen , int num_rounds , symmetric_key * skey );
694
+ int aes_ecb_encrypt (const unsigned char * pt , unsigned char * ct , const symmetric_key * skey );
695
+ int aes_ecb_decrypt (const unsigned char * ct , unsigned char * pt , const symmetric_key * skey );
696
+ int aes_test (void );
697
+ void aes_done (symmetric_key * skey );
698
+ int aes_keysize (int * keysize );
699
+ int aes_enc_setup (const unsigned char * key , int keylen , int num_rounds , symmetric_key * skey );
700
+ int aes_enc_ecb_encrypt (const unsigned char * pt , unsigned char * ct , const symmetric_key * skey );
701
+ void aes_enc_done (symmetric_key * skey );
702
+ int aes_enc_keysize (int * keysize );
703
+ extern const struct ltc_cipher_descriptor aes_desc ;
704
+ extern const struct ltc_cipher_descriptor aes_enc_desc ;
703
705
704
706
int rijndael_setup (const unsigned char * key , int keylen , int num_rounds , symmetric_key * skey );
705
707
int rijndael_ecb_encrypt (const unsigned char * pt , unsigned char * ct , const symmetric_key * skey );
@@ -711,8 +713,19 @@ int rijndael_enc_setup(const unsigned char *key, int keylen, int num_rounds, sym
711
713
int rijndael_enc_ecb_encrypt (const unsigned char * pt , unsigned char * ct , const symmetric_key * skey );
712
714
void rijndael_enc_done (symmetric_key * skey );
713
715
int rijndael_enc_keysize (int * keysize );
714
- extern const struct ltc_cipher_descriptor rijndael_desc , aes_desc ;
715
- extern const struct ltc_cipher_descriptor rijndael_enc_desc , aes_enc_desc ;
716
+ extern const struct ltc_cipher_descriptor rijndael_desc ;
717
+ extern const struct ltc_cipher_descriptor rijndael_enc_desc ;
718
+ #endif
719
+
720
+ #if defined(LTC_AES_NI ) && defined(LTC_AMD64_SSE4_1 )
721
+ int aesni_is_supported (void );
722
+ int aesni_setup (const unsigned char * key , int keylen , int num_rounds , symmetric_key * skey );
723
+ int aesni_ecb_encrypt (const unsigned char * pt , unsigned char * ct , const symmetric_key * skey );
724
+ int aesni_ecb_decrypt (const unsigned char * ct , unsigned char * pt , const symmetric_key * skey );
725
+ int aesni_test (void );
726
+ void aesni_done (symmetric_key * skey );
727
+ int aesni_keysize (int * keysize );
728
+ extern const struct ltc_cipher_descriptor aesni_desc ;
716
729
#endif
717
730
718
731
#ifdef LTC_XTEA
0 commit comments