summaryrefslogtreecommitdiff
path: root/cipher/hmac-tests.c
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2015-08-08 10:47:55 +0200
committerWerner Koch <wk@gnupg.org>2015-08-08 10:47:55 +0200
commit0e17f7a05bba309a87811992aa47a77af9935b99 (patch)
tree5d1c8cc673a6cd4cfb16d2cf154f2f9987d64d05 /cipher/hmac-tests.c
parent10789e3cdda7b944acb4b59624c34a2ccfaea6e5 (diff)
downloadlibgcrypt-0e17f7a05bba309a87811992aa47a77af9935b99.tar.gz
Add framework to eventually support SHA3.
* src/gcrypt.h.in (GCRY_MD_SHA3_224, GCRY_MD_SHA3_256) (GCRY_MD_SHA3_384, GCRY_MD_SHA3_512): New. (GCRY_MAC_HMAC_SHA3_224, GCRY_MAC_HMAC_SHA3_256) (GCRY_MAC_HMAC_SHA3_384, GCRY_MAC_HMAC_SHA3_512): New. * cipher/keccak.c: New with stub functions. * cipher/Makefile.am (EXTRA_libcipher_la_SOURCES): Add keccak.c. * configure.ac (available_digests): Add sha3. (USE_SHA3): New. * src/fips.c (run_hmac_selftests): Add SHA3 to the required selftests. * cipher/md.c (digest_list) [USE_SHA3]: Add standard SHA3 algos. (md_open): Ditto for hmac processing. * cipher/mac-hmac.c (map_mac_algo_to_md): Add mapping. * cipher/hmac-tests.c (run_selftests): Prepare for tests. * cipher/pubkey-util.c (get_hash_algo): Add "sha3-xxx". -- Note that the algo GCRY_MD_SHA3_xxx are prelimanry. We should try to sync them with OpenPGP. Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'cipher/hmac-tests.c')
-rw-r--r--cipher/hmac-tests.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/cipher/hmac-tests.c b/cipher/hmac-tests.c
index 7c27342c..46e1b22e 100644
--- a/cipher/hmac-tests.c
+++ b/cipher/hmac-tests.c
@@ -701,6 +701,17 @@ run_selftests (int algo, int extended, selftest_report_func_t report)
case GCRY_MD_SHA512:
ec = selftests_sha512 (extended, report);
break;
+
+ case GCRY_MD_SHA3_224:
+ case GCRY_MD_SHA3_256:
+ case GCRY_MD_SHA3_384:
+ case GCRY_MD_SHA3_512:
+ ec = 0; /* FIXME: Add selftests. */
+#ifdef __GNUC__
+# warning Please add the self text functions
+#endif
+ break;
+
default:
ec = GPG_ERR_DIGEST_ALGO;
break;