Added assembler AES for x86 and x86_64.
[crypto.git] / lib / silccrypt / silccipher.c
index c340e255cc49fa8f8c318030098da9ce6cd75e8d..bf018c9716f8fb1e05fc5064574c8b725d054972 100644 (file)
@@ -36,47 +36,47 @@ SilcDList silc_cipher_list = NULL;
 /* Static list of ciphers for silc_cipher_register_default(). */
 const SilcCipherObject silc_default_ciphers[] =
 {
-  { "aes-256-cbc", silc_aes_set_key, silc_aes_set_key_with_string,
+  { "aes-256-cbc", silc_aes_set_key,
     silc_aes_encrypt_cbc, silc_aes_decrypt_cbc, silc_aes_context_len,
     256, 16, 16 },
-  { "aes-192-cbc", silc_aes_set_key, silc_aes_set_key_with_string,
+  { "aes-192-cbc", silc_aes_set_key,
     silc_aes_encrypt_cbc, silc_aes_decrypt_cbc, silc_aes_context_len,
     192, 16, 16 },
-  { "aes-128-cbc", silc_aes_set_key, silc_aes_set_key_with_string,
+  { "aes-128-cbc", silc_aes_set_key,
     silc_aes_encrypt_cbc, silc_aes_decrypt_cbc, silc_aes_context_len,
     128, 16, 16 },
-  { "twofish-256-cbc", silc_twofish_set_key, silc_twofish_set_key_with_string,
+  { "twofish-256-cbc", silc_twofish_set_key,
     silc_twofish_encrypt_cbc, silc_twofish_decrypt_cbc,
     silc_twofish_context_len,
     256, 16, 16 },
-  { "twofish-192-cbc", silc_twofish_set_key, silc_twofish_set_key_with_string,
+  { "twofish-192-cbc", silc_twofish_set_key,
     silc_twofish_encrypt_cbc, silc_twofish_decrypt_cbc,
     silc_twofish_context_len,
     192, 16, 16 },
-  { "twofish-128-cbc", silc_twofish_set_key, silc_twofish_set_key_with_string,
+  { "twofish-128-cbc", silc_twofish_set_key,
     silc_twofish_encrypt_cbc, silc_twofish_decrypt_cbc,
     silc_twofish_context_len,
     128, 16, 16 },
-  { "cast-256-cbc", silc_cast_set_key, silc_cast_set_key_with_string,
+  { "cast-256-cbc", silc_cast_set_key,
     silc_cast_encrypt_cbc, silc_cast_decrypt_cbc,
     silc_cast_context_len,
     256, 16, 16 },
-  { "cast-192-cbc", silc_cast_set_key, silc_cast_set_key_with_string,
+  { "cast-192-cbc", silc_cast_set_key,
     silc_cast_encrypt_cbc, silc_cast_decrypt_cbc,
     silc_cast_context_len,
     192, 16, 16 },
-  { "cast-128-cbc", silc_cast_set_key, silc_cast_set_key_with_string,
+  { "cast-128-cbc", silc_cast_set_key,
     silc_cast_encrypt_cbc, silc_cast_decrypt_cbc,
     silc_cast_context_len,
     128, 16, 16 },
 #ifdef SILC_DEBUG
-  { "none", silc_none_set_key, silc_none_set_key_with_string,
+  { "none", silc_none_set_key,
     silc_none_encrypt_cbc, silc_none_decrypt_cbc,
     silc_none_context_len,
     0, 0, 0 },
 #endif /* SILC_DEBUG */
 
-  { NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0 }
+  { NULL, NULL, NULL, NULL, NULL, 0, 0, 0 }
 };
 
 /* Register a new cipher into SILC. This is used at the initialization of
@@ -107,7 +107,6 @@ SilcBool silc_cipher_register(const SilcCipherObject *cipher)
   new->block_len = cipher->block_len;
   new->iv_len = cipher->iv_len;
   new->set_key = cipher->set_key;
-  new->set_key_with_string = cipher->set_key_with_string;
   new->encrypt = cipher->encrypt;
   new->decrypt = cipher->decrypt;
   new->context_len = cipher->context_len;
@@ -313,7 +312,7 @@ SilcBool silc_cipher_encrypt(SilcCipher cipher, const unsigned char *src,
                             unsigned char *iv)
 {
   SILC_ASSERT((len & (cipher->cipher->block_len - 1)) == 0);
-  if (len & (cipher->cipher->block_len - 1))
+  if (silc_unlikely(len & (cipher->cipher->block_len - 1)))
     return FALSE;
   return cipher->cipher->encrypt(cipher->context, src, dst, len,
                                 iv ? iv : cipher->iv);
@@ -325,7 +324,7 @@ SilcBool silc_cipher_decrypt(SilcCipher cipher, const unsigned char *src,
                             unsigned char *dst, SilcUInt32 len,
                             unsigned char *iv)
 {
-  if (len & (cipher->cipher->block_len - 1))
+  if (silc_unlikely(len & (cipher->cipher->block_len - 1)))
     return FALSE;
   return cipher->cipher->decrypt(cipher->context, src, dst, len,
                                 iv ? iv : cipher->iv);