@@ -35,7 +35,8 @@ struct saferp_key {
3535
3636#ifdef LTC_RIJNDAEL
3737struct rijndael_key {
38- ulong32 eK [60 ], dK [60 ];
38+ ulong32 eK [60 ] LTC_ALIGN (16 );
39+ ulong32 dK [60 ] LTC_ALIGN (16 );
3940 int Nr ;
4041};
4142#endif
@@ -318,9 +319,9 @@ typedef struct {
318319 ctrlen ;
319320
320321 /** The counter */
321- unsigned char ctr [MAXBLOCKSIZE ],
322+ unsigned char ctr [MAXBLOCKSIZE ];
322323 /** The pad used to encrypt/decrypt */
323- pad [MAXBLOCKSIZE ];
324+ unsigned char pad [MAXBLOCKSIZE ] LTC_ALIGN ( 16 ) ;
324325 /** The scheduled key */
325326 symmetric_key key ;
326327} symmetric_CTR ;
@@ -688,18 +689,19 @@ extern const struct ltc_cipher_descriptor safer_k64_desc, safer_k128_desc, safer
688689#endif
689690
690691#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 ;
703705
704706int rijndael_setup (const unsigned char * key , int keylen , int num_rounds , symmetric_key * skey );
705707int 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
711713int rijndael_enc_ecb_encrypt (const unsigned char * pt , unsigned char * ct , const symmetric_key * skey );
712714void rijndael_enc_done (symmetric_key * skey );
713715int 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 ;
716729#endif
717730
718731#ifdef LTC_XTEA
0 commit comments