-/* crypto/camellia/camellia_misc.c -*- mode:C; c-file-style: "eay" -*- */
/* ====================================================================
* Copyright (c) 2006 The OpenSSL Project. All rights reserved.
*
* are met:
*
* 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
+ * notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* ====================================================================
*
*/
-
+
#include <openssl/opensslv.h>
#include <openssl/camellia.h>
#include "cmll_locl.h"
- const char *CAMELLIA_version="CAMELLIA" OPENSSL_VERSION_PTEXT;
-
int Camellia_set_key(const unsigned char *userKey, const int bits,
- CAMELLIA_KEY *key)
- {
- if(!userKey || !key)
- return -1;
- if(bits != 128 && bits != 192 && bits != 256)
- return -2;
- Camellia_Ekeygen(bits , userKey, key->rd_key);
- key->bitLength = bits;
- return 0;
- }
+ CAMELLIA_KEY *key)
+{
+ if (!userKey || !key)
+ return -1;
+ if (bits != 128 && bits != 192 && bits != 256)
+ return -2;
+ key->grand_rounds = Camellia_Ekeygen(bits, userKey, key->u.rd_key);
+ return 0;
+}
void Camellia_encrypt(const unsigned char *in, unsigned char *out,
- const CAMELLIA_KEY *key)
- {
- Camellia_EncryptBlock(key->bitLength, in , key->rd_key , out);
- }
+ const CAMELLIA_KEY *key)
+{
+ Camellia_EncryptBlock_Rounds(key->grand_rounds, in, key->u.rd_key, out);
+}
void Camellia_decrypt(const unsigned char *in, unsigned char *out,
- const CAMELLIA_KEY *key)
- {
- Camellia_DecryptBlock(key->bitLength, in , key->rd_key , out);
- }
-
+ const CAMELLIA_KEY *key)
+{
+ Camellia_DecryptBlock_Rounds(key->grand_rounds, in, key->u.rd_key, out);
+}