summaryrefslogtreecommitdiff
path: root/camellia.h
diff options
context:
space:
mode:
authorNiels Möller <nisse@lysator.liu.se>2010-07-06 13:49:56 +0200
committerNiels Möller <nisse@lysator.liu.se>2010-07-06 13:49:56 +0200
commit0357ab51d4f942e7b9548bccca37c02cf38b0c69 (patch)
tree7dfb5af49b751dbab53046a83544f0fd3896ca2a /camellia.h
parentd83cb222034b746c16746484d27f1dd0a0fd4b60 (diff)
downloadnettle-0357ab51d4f942e7b9548bccca37c02cf38b0c69.tar.gz
New files, copied from
http://info.isl.ntt.co.jp/crypt/eng/camellia/dl/camellia-LGPL-1.2.0.tar.gz. Rev: nettle/camellia.c:1.1 Rev: nettle/camellia.h:1.1
Diffstat (limited to 'camellia.h')
-rw-r--r--camellia.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/camellia.h b/camellia.h
new file mode 100644
index 00000000..1ac16606
--- /dev/null
+++ b/camellia.h
@@ -0,0 +1,54 @@
+/* camellia.h ver 1.2.0
+ *
+ * Copyright (C) 2006,2007
+ * NTT (Nippon Telegraph and Telephone Corporation).
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef HEADER_CAMELLIA_H
+#define HEADER_CAMELLIA_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define CAMELLIA_BLOCK_SIZE 16
+#define CAMELLIA_TABLE_BYTE_LEN 272
+#define CAMELLIA_TABLE_WORD_LEN (CAMELLIA_TABLE_BYTE_LEN / 4)
+
+typedef unsigned int KEY_TABLE_TYPE[CAMELLIA_TABLE_WORD_LEN];
+
+
+void Camellia_Ekeygen(const int keyBitLength,
+ const unsigned char *rawKey,
+ KEY_TABLE_TYPE keyTable);
+
+void Camellia_EncryptBlock(const int keyBitLength,
+ const unsigned char *plaintext,
+ const KEY_TABLE_TYPE keyTable,
+ unsigned char *cipherText);
+
+void Camellia_DecryptBlock(const int keyBitLength,
+ const unsigned char *cipherText,
+ const KEY_TABLE_TYPE keyTable,
+ unsigned char *plaintext);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* HEADER_CAMELLIA_H */