diff options
author | Werner Koch <wk@gnupg.org> | 2015-08-08 10:47:55 +0200 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2015-08-08 10:47:55 +0200 |
commit | 0e17f7a05bba309a87811992aa47a77af9935b99 (patch) | |
tree | 5d1c8cc673a6cd4cfb16d2cf154f2f9987d64d05 /src/cipher.h | |
parent | 10789e3cdda7b944acb4b59624c34a2ccfaea6e5 (diff) | |
download | libgcrypt-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 'src/cipher.h')
-rw-r--r-- | src/cipher.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/cipher.h b/src/cipher.h index 89ae2e2d..d96fdb9b 100644 --- a/src/cipher.h +++ b/src/cipher.h @@ -289,8 +289,12 @@ extern gcry_md_spec_t _gcry_digest_spec_rmd160; extern gcry_md_spec_t _gcry_digest_spec_sha1; extern gcry_md_spec_t _gcry_digest_spec_sha224; extern gcry_md_spec_t _gcry_digest_spec_sha256; -extern gcry_md_spec_t _gcry_digest_spec_sha512; extern gcry_md_spec_t _gcry_digest_spec_sha384; +extern gcry_md_spec_t _gcry_digest_spec_sha512; +extern gcry_md_spec_t _gcry_digest_spec_sha3_224; +extern gcry_md_spec_t _gcry_digest_spec_sha3_256; +extern gcry_md_spec_t _gcry_digest_spec_sha3_512; +extern gcry_md_spec_t _gcry_digest_spec_sha3_384; extern gcry_md_spec_t _gcry_digest_spec_tiger; extern gcry_md_spec_t _gcry_digest_spec_tiger1; extern gcry_md_spec_t _gcry_digest_spec_tiger2; |