]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
Add meta interface for CMAC functions.
authorNiels Möller <nisse@lysator.liu.se>
Sun, 9 Feb 2020 07:48:27 +0000 (08:48 +0100)
committerNiels Möller <nisse@lysator.liu.se>
Sun, 9 Feb 2020 08:52:45 +0000 (09:52 +0100)
Based on patches by Daiki Ueno.
* testsuite/cmac-test.c (nettle_cmac_aes128, nettle_cmac_aes256):
Moved to...
* cmac-aes128-meta.c: New file.
* cmac-aes256-meta.c: New file.

ChangeLog
Makefile.in
cmac-aes128-meta.c [new file with mode: 0644]
cmac-aes256-meta.c [new file with mode: 0644]
nettle-meta.h
testsuite/cmac-test.c

index 90bfe47a4b237e8776ea1164dbe97f24c5916e17..a5da54b4282be1f2921329e95986a3c5f836b408 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2020-02-09  Niels Möller  <nisse@lysator.liu.se>
 
+       Based on patches by Daiki Ueno.
+       * testsuite/cmac-test.c (nettle_cmac_aes128, nettle_cmac_aes256):
+       Moved to...
+       * cmac-aes128-meta.c: New file.
+       * cmac-aes256-meta.c: New file.
+
+       * Makefile.in (nettle_SOURCES): Add cmac-aes128-meta.c cmac-aes256-meta.c.
        * nettle-meta.h (struct nettle_mac): New public struct,
        * testsuite/testutils.h: ...moved from this file.
 
index 0de54e85c7aeb9258e88d181ebf06a3ef0d1dd81..c1302a5faa084c99340dd54e078e0be2c18d2f9f 100644 (file)
@@ -103,6 +103,7 @@ nettle_SOURCES = aes-decrypt-internal.c aes-decrypt.c \
                 gcm-camellia128.c gcm-camellia128-meta.c \
                 gcm-camellia256.c gcm-camellia256-meta.c \
                 cmac.c cmac64.c cmac-aes128.c cmac-aes256.c cmac-des3.c \
+                cmac-aes128-meta.c cmac-aes256-meta.c \
                 gost28147.c gosthash94.c gosthash94-meta.c \
                 hmac.c hmac-gosthash94.c hmac-md5.c hmac-ripemd160.c \
                 hmac-sha1.c hmac-sha224.c hmac-sha256.c hmac-sha384.c \
diff --git a/cmac-aes128-meta.c b/cmac-aes128-meta.c
new file mode 100644 (file)
index 0000000..d2d4cc9
--- /dev/null
@@ -0,0 +1,52 @@
+/* cmac-aes128-meta.c
+
+   Copyright (C) 2013, 2014 Niels Möller
+
+   This file is part of GNU Nettle.
+
+   GNU Nettle is free software: you can redistribute it and/or
+   modify it under the terms of either:
+
+     * the GNU Lesser General Public License as published by the Free
+       Software Foundation; either version 3 of the License, or (at your
+       option) any later version.
+
+   or
+
+     * the GNU General Public License as published by the Free
+       Software Foundation; either version 2 of the License, or (at your
+       option) any later version.
+
+   or both in parallel, as here.
+
+   GNU Nettle 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
+   General Public License for more details.
+
+   You should have received copies of the GNU General Public License and
+   the GNU Lesser General Public License along with this program.  If
+   not, see http://www.gnu.org/licenses/.
+*/
+
+#if HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <assert.h>
+
+#include "nettle-meta.h"
+
+#include "cmac.h"
+
+const struct nettle_mac nettle_cmac_aes128 =
+{
+  "cmac_aes128",
+  sizeof(struct cmac_aes128_ctx),
+  CMAC128_DIGEST_SIZE,
+  AES128_KEY_SIZE,
+
+  (nettle_set_key_func*) cmac_aes128_set_key,
+  (nettle_hash_update_func*) cmac_aes128_update,
+  (nettle_hash_digest_func*) cmac_aes128_digest
+};
diff --git a/cmac-aes256-meta.c b/cmac-aes256-meta.c
new file mode 100644 (file)
index 0000000..b649c9d
--- /dev/null
@@ -0,0 +1,52 @@
+/* cmac-aes256-meta.c
+
+   Copyright (C) 2013, 2014 Niels Möller
+
+   This file is part of GNU Nettle.
+
+   GNU Nettle is free software: you can redistribute it and/or
+   modify it under the terms of either:
+
+     * the GNU Lesser General Public License as published by the Free
+       Software Foundation; either version 3 of the License, or (at your
+       option) any later version.
+
+   or
+
+     * the GNU General Public License as published by the Free
+       Software Foundation; either version 2 of the License, or (at your
+       option) any later version.
+
+   or both in parallel, as here.
+
+   GNU Nettle 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
+   General Public License for more details.
+
+   You should have received copies of the GNU General Public License and
+   the GNU Lesser General Public License along with this program.  If
+   not, see http://www.gnu.org/licenses/.
+*/
+
+#if HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <assert.h>
+
+#include "nettle-meta.h"
+
+#include "cmac.h"
+
+const struct nettle_mac nettle_cmac_aes256 =
+{
+  "cmac-aes256",
+  sizeof(struct cmac_aes256_ctx),
+  CMAC128_DIGEST_SIZE,
+  AES256_KEY_SIZE,
+
+  (nettle_set_key_func*) cmac_aes256_set_key,
+  (nettle_hash_update_func*) cmac_aes256_update,
+  (nettle_hash_digest_func*) cmac_aes256_digest
+};
index fbe5df89ceb9d33ce71f0f93c64c70f8d5b82e88..42f8a8635bbada69a345990610dbcc47556b13dc 100644 (file)
@@ -257,6 +257,9 @@ extern const struct nettle_armor nettle_base64;
 extern const struct nettle_armor nettle_base64url;
 extern const struct nettle_armor nettle_base16;
 
+extern const struct nettle_mac nettle_cmac_aes128;
+extern const struct nettle_mac nettle_cmac_aes256;
+
 #ifdef __cplusplus
 }
 #endif
index 9d6682777dcf3042d6ab1056e9a91c8b9edb4141..1a2cd0e591cfbdb46382b268c0d40c2496b34d16 100644 (file)
@@ -2,30 +2,6 @@
 #include "nettle-internal.h"
 #include "cmac.h"
 
-const struct nettle_mac nettle_cmac_aes128 =
-{
-  "CMAC-AES128",
-  sizeof(struct cmac_aes128_ctx),
-  CMAC128_DIGEST_SIZE,
-  AES128_KEY_SIZE,
-
-  (nettle_set_key_func*) cmac_aes128_set_key,
-  (nettle_hash_update_func*) cmac_aes128_update,
-  (nettle_hash_digest_func*) cmac_aes128_digest
-};
-
-const struct nettle_mac nettle_cmac_aes256 =
-{
-  "CMAC-AES256",
-  sizeof(struct cmac_aes256_ctx),
-  CMAC128_DIGEST_SIZE,
-  AES256_KEY_SIZE,
-
-  (nettle_set_key_func*) cmac_aes256_set_key,
-  (nettle_hash_update_func*) cmac_aes256_update,
-  (nettle_hash_digest_func*) cmac_aes256_digest
-};
-
 const struct nettle_mac nettle_cmac_des3 =
 {
   "CMAC-3DES",