summaryrefslogtreecommitdiff
path: root/plugins/MirOTR/libgcrypt-1.4.6/tests/hmac.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/MirOTR/libgcrypt-1.4.6/tests/hmac.c')
-rw-r--r--plugins/MirOTR/libgcrypt-1.4.6/tests/hmac.c171
1 files changed, 0 insertions, 171 deletions
diff --git a/plugins/MirOTR/libgcrypt-1.4.6/tests/hmac.c b/plugins/MirOTR/libgcrypt-1.4.6/tests/hmac.c
deleted file mode 100644
index 9d87dbb5b9..0000000000
--- a/plugins/MirOTR/libgcrypt-1.4.6/tests/hmac.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/* hmac.c - HMAC regression tests
- * Copyright (C) 2005 Free Software Foundation, Inc.
- *
- * This file is part of Libgcrypt.
- *
- * Libgcrypt 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.
- *
- * Libgcrypt 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 program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdarg.h>
-
-#include "../src/gcrypt.h"
-
-static int verbose;
-static int error_count;
-
-static void
-fail (const char *format, ...)
-{
- va_list arg_ptr;
-
- va_start (arg_ptr, format);
- vfprintf (stderr, format, arg_ptr);
- va_end (arg_ptr);
- error_count++;
-}
-
-static void
-die (const char *format, ...)
-{
- va_list arg_ptr;
-
- va_start (arg_ptr, format);
- vfprintf (stderr, format, arg_ptr);
- va_end (arg_ptr);
- exit (1);
-}
-
-
-
-static void
-check_one_mac (int algo,
- const void *key, size_t keylen,
- const void *data, size_t datalen,
- const char *expect)
-{
- gcry_md_hd_t hd;
- unsigned char *p;
- int mdlen;
- int i;
- gcry_error_t err = 0;
-
- err = gcry_md_open (&hd, algo, GCRY_MD_FLAG_HMAC);
- if (err)
- {
- fail ("algo %d, grcy_md_open failed: %s\n", algo, gpg_strerror (err));
- return;
- }
-
- mdlen = gcry_md_get_algo_dlen (algo);
- if (mdlen < 1 || mdlen > 500)
- {
- fail ("algo %d, grcy_md_get_algo_dlen failed: %d\n", algo, mdlen);
- return;
- }
-
- err = gcry_md_setkey (hd, key, keylen);
- if (err)
- {
- fail ("algo %d, grcy_md_setkey failed: %s\n", algo, gpg_strerror (err));
- return;
- }
-
- gcry_md_write (hd, data, datalen);
-
- p = gcry_md_read (hd, 0);
-
- if (memcmp (p, expect, mdlen))
- {
- printf ("computed: ");
- for (i = 0; i < mdlen; i++)
- printf ("%02x ", p[i] & 0xFF);
- printf ("\nexpected: ");
- for (i = 0; i < mdlen; i++)
- printf ("%02x ", expect[i] & 0xFF);
- printf ("\n");
-
- fail ("algo %d, MAC does not match\n", algo);
- }
-
- gcry_md_close (hd);
-}
-
-static void
-check_hmac (void)
-{
- unsigned char key[128];
- int i, j;
-
- if (verbose)
- fprintf (stderr, "checking FIPS-198a, A.1\n");
- for (i=0; i < 64; i++)
- key[i] = i;
- check_one_mac (GCRY_MD_SHA1, key, 64, "Sample #1", 9,
- "\x4f\x4c\xa3\xd5\xd6\x8b\xa7\xcc\x0a\x12"
- "\x08\xc9\xc6\x1e\x9c\x5d\xa0\x40\x3c\x0a");
-
- if (verbose)
- fprintf (stderr, "checking FIPS-198a, A.2\n");
- for (i=0, j=0x30; i < 20; i++)
- key[i] = j++;
- check_one_mac (GCRY_MD_SHA1, key, 20, "Sample #2", 9,
- "\x09\x22\xd3\x40\x5f\xaa\x3d\x19\x4f\x82"
- "\xa4\x58\x30\x73\x7d\x5c\xc6\xc7\x5d\x24");
-
- if (verbose)
- fprintf (stderr, "checking FIPS-198a, A.3\n");
- for (i=0, j=0x50; i < 100; i++)
- key[i] = j++;
- check_one_mac (GCRY_MD_SHA1, key, 100, "Sample #3", 9,
- "\xbc\xf4\x1e\xab\x8b\xb2\xd8\x02\xf3\xd0"
- "\x5c\xaf\x7c\xb0\x92\xec\xf8\xd1\xa3\xaa");
-
- if (verbose)
- fprintf (stderr, "checking FIPS-198a, A.4\n");
- for (i=0, j=0x70; i < 49; i++)
- key[i] = j++;
- check_one_mac (GCRY_MD_SHA1, key, 49, "Sample #4", 9,
- "\x9e\xa8\x86\xef\xe2\x68\xdb\xec\xce\x42"
- "\x0c\x75\x24\xdf\x32\xe0\x75\x1a\x2a\x26");
-
-}
-
-int
-main (int argc, char **argv)
-{
- int debug = 0;
-
- if (argc > 1 && !strcmp (argv[1], "--verbose"))
- verbose = 1;
- else if (argc > 1 && !strcmp (argv[1], "--debug"))
- verbose = debug = 1;
-
- if (!gcry_check_version (GCRYPT_VERSION))
- die ("version mismatch\n");
-
- gcry_control (GCRYCTL_DISABLE_SECMEM, 0);
- gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
- if (debug)
- gcry_control (GCRYCTL_SET_DEBUG_FLAGS, 1u, 0);
- check_hmac ();
-
- return error_count ? 1 : 0;
-}