From: Mark Wooding Date: Wed, 10 May 2017 18:48:20 +0000 (+0100) Subject: symm/: Eliminate the remaining checked-in stubby source files. X-Git-Tag: 2.4.0~21 X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb/commitdiff_plain/84924d420a1ae0012853fa1efe956a2196f4a76e symm/: Eliminate the remaining checked-in stubby source files. Now that $(STUBS_SRC) actually works, use it to eliminate `safersk.c', `sha224.c', `sha384.c', and `whirlpool256.c'. Move test vectors to their new homes, and modify the base files to actually run them. Alas, the build machinery wants to ship `t/safersk' even though it's empty, so leave it as a stub. (Maybe...) And the HMAC mode machinery wants to put its test in the mode test-vector file, which is a bit annoying. Still, the cruft is reduced. --- diff --git a/.gitignore b/.gitignore index 9237f603..f90258b2 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,7 @@ symm/stubs.am /symm/chacha20-ietf.h /symm/chacha8-ietf.h /symm/xchacha.h +/symm/safersk.c +/symm/sha224.c +/symm/sha384.c +/symm/whirlpool256.c diff --git a/symm/Makefile.am b/symm/Makefile.am index ceefff27..a15ef2e9 100644 --- a/symm/Makefile.am +++ b/symm/Makefile.am @@ -219,6 +219,7 @@ nodist_libsymm_la_SOURCES += ../precomp/symm/safer-tab.c PRECOMPS += $(precomp)/symm/safer-tab.c PRECOMP_PROGS += safer-mktab STUBS_HDR += SAFER-SK,safersk,safer +STUBS_SRC += safersk,safer if !CROSS_COMPILING $(precomp)/symm/safer-tab.c: $(AM_V_at)$(MKDIR_P) $(precomp)/symm @@ -330,6 +331,8 @@ HASHES += sha224 sha256 HASHES += sha384 sha512 STUBS_HDR += SHA-224,sha224,sha256 STUBS_HDR += SHA-384,sha384,sha512 +STUBS_SRC += sha224,sha256 +STUBS_SRC += sha384,sha512 ## Anderson and Biham's `Tiger' hash function. HASHES += tiger @@ -352,6 +355,7 @@ nodist_libsymm_la_SOURCES += ../precomp/symm/whirlpool-tab.c PRECOMPS += $(precomp)/symm/whirlpool-tab.c PRECOMP_PROGS += whirlpool-mktab STUBS_HDR += Whirlpool-256,whirlpool256,whirlpool +STUBS_SRC += whirlpool256,whirlpool if !CROSS_COMPILING $(precomp)/symm/whirlpool-tab.c: $(AM_V_at)$(MKDIR_P) $(precomp)/symm diff --git a/symm/safer.c b/symm/safer.c index a75e6147..569eb839 100644 --- a/symm/safer.c +++ b/symm/safer.c @@ -318,6 +318,29 @@ void safer_dblk(const safer_ctx *k, const uint32 *src, uint32 *dst) PACK(dst, a, b, c, d, e, f, g, h); } -BLKC_TEST(SAFER, safer) +/*----- Test rig ----------------------------------------------------------*/ + +#ifdef TEST_RIG + +#include + +#define CIPHERS(_) \ + _(SAFER, safer) \ + _(SAFERSK, safersk) + +CIPHERS(BLKC_VERIFY) + +static const test_chunk defs[] = { + CIPHERS(BLKC_TESTDEFS) + { 0, 0, { 0 } } +}; + +int main(int argc, char *argv[]) +{ + test_run(argc, argv, defs, SRCDIR "/t/safer"); + return (0); +} + +#endif /*----- That's all, folks -------------------------------------------------*/ diff --git a/symm/safersk.c b/symm/safersk.c deleted file mode 100644 index 389b5536..00000000 --- a/symm/safersk.c +++ /dev/null @@ -1,10 +0,0 @@ -/* -*-c-*- - * - * Stub code for SAFER-SK - */ - -#include "blkc.h" -#include "safersk.h" - -typedef int uninteresting; -BLKC_TEST(SAFERSK, safersk) diff --git a/symm/sha224.c b/symm/sha224.c deleted file mode 100644 index 997c51ab..00000000 --- a/symm/sha224.c +++ /dev/null @@ -1,12 +0,0 @@ -/* -*-c-*- - * - * Stub code for SHA-224 - */ - -#include "ghash.h" -#include "ghash-def.h" -#include "hash.h" -#include "sha224.h" - -GHASH_DEF(SHA224, sha224) -HASH_TEST(SHA224, sha224) diff --git a/symm/sha256.c b/symm/sha256.c index a8796d33..cecab254 100644 --- a/symm/sha256.c +++ b/symm/sha256.c @@ -324,10 +324,31 @@ unsigned long sha256_state(sha256_ctx *ctx, void *state) /* --- Generic interface --- */ -GHASH_DEF(SHA256, sha256) +#define HASHES(_) \ + _(SHA224, sha224) \ + _(SHA256, sha256) -/* --- Test code --- */ +HASHES(GHASH_DEF) -HASH_TEST(SHA256, sha256) +/*----- Test rig ----------------------------------------------------------*/ + +#ifdef TEST_RIG + +#include + +HASHES(HASH_VERIFY) + +static const test_chunk defs[] = { + HASHES(HASH_TESTDEFS) + { 0, 0, { 0 } } +}; + +int main(int argc, char *argv[]) +{ + test_run(argc, argv, defs, SRCDIR "/t/sha256"); + return (0); +} + +#endif /*----- That's all, folks -------------------------------------------------*/ diff --git a/symm/sha384.c b/symm/sha384.c deleted file mode 100644 index e7de7ad7..00000000 --- a/symm/sha384.c +++ /dev/null @@ -1,12 +0,0 @@ -/* -*-c-*- - * - * Stub code for SHA-384 - */ - -#include "ghash.h" -#include "ghash-def.h" -#include "hash.h" -#include "sha384.h" - -GHASH_DEF(SHA384, sha384) -HASH_TEST(SHA384, sha384) diff --git a/symm/sha512.c b/symm/sha512.c index d4df182c..04b0a9db 100644 --- a/symm/sha512.c +++ b/symm/sha512.c @@ -331,10 +331,31 @@ unsigned long sha512_state(sha512_ctx *ctx, void *state) /* --- Generic interface --- */ -GHASH_DEF(SHA512, sha512) +#define HASHES(_) \ + _(SHA384, sha384, "sha384") \ + _(SHA512, sha512, "sha512") -/* --- Test code --- */ +HASHES(GHASH_DEFX) -HASH_TEST(SHA512, sha512) +/*----- Test rig ----------------------------------------------------------*/ + +#ifdef TEST_RIG + +#include + +HASHES(HASH_VERIFYX) + +static const test_chunk defs[] = { + HASHES(HASH_TESTDEFSX) + { 0, 0, { 0 } } +}; + +int main(int argc, char *argv[]) +{ + test_run(argc, argv, defs, SRCDIR "/t/sha512"); + return (0); +} + +#endif /*----- That's all, folks -------------------------------------------------*/ diff --git a/symm/t/safer b/symm/t/safer index 1279b75f..15f75ee9 100644 --- a/symm/t/safer +++ b/symm/t/safer @@ -6,3 +6,8 @@ safer { 0807060504030201 0102030405060708 c8f29cdd87783ed9; 100f0e0d0c0b0a090807060504030201 0102030405060708 4a99b15cce9ada19; } + +safersk { + 0102030405060708 0102030405060708 60d04ad7c49b8ded; + 100f0e0d0c0b0a090807060504030201 0102030405060708 b260740f80d2445d; +} diff --git a/symm/t/safersk b/symm/t/safersk index ac83b5b7..8c42f586 100644 --- a/symm/t/safersk +++ b/symm/t/safersk @@ -1,8 +1 @@ -# Test vectors for SAFER - -# From HAC 7.114, and Richard de Moliner's implementation - -safersk { - 0102030405060708 0102030405060708 60d04ad7c49b8ded; - 100f0e0d0c0b0a090807060504030201 0102030405060708 b260740f80d2445d; -} +### No tests here. See `safer' instead. diff --git a/symm/t/sha224 b/symm/t/sha224 index 35e11715..8534f4f3 100644 --- a/symm/t/sha224 +++ b/symm/t/sha224 @@ -1,42 +1,5 @@ # Test vectors for SHA-224 -# --- Basic hash function --- - -sha224 { - - # --- Test vectors from the definition [FALSE] --- - - "abc" - 23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7; - "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" - 75388b16512776cc5dba5da1fd890150b0c6455cb4f58b1952522525; - - # --- Other tests to trap regression --- - - "" - d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f; - "a" - abd37534c7d9a2efb9465de931cd7055ffdb8879563ae98078d6d6d5; - "message digest" - 2cb21c83ae2f004de7e81c3c7019cbcb65b71ab656b22d6d0c39b8eb; - "abcdefghijklmnopqrstuvwxyz" - 45a5f72c39c5cff2522eb3429799e49e5f44b356ef926bcf390dccc2; - "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" - 75388b16512776cc5dba5da1fd890150b0c6455cb4f58b1952522525; - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" - bff72b4fcb7d75e5632900ac5f90d219e05e97a7bde72e740db393d9; -} - -sha224-rep { - "1234567890" 8 - b50aecbe4e9bb0b57bc5f3ae760a8e01db24f203fb3cdcd13148046e; - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 -" 23 - 5a86156c37c95ab356e003d569370580737794815f46de7f4834d634; - "a" 1000000 - 20794655980c91d8bbb4c1ea97618a4bf03f42581948b2ee4ee7ad67; -} - # --- HMAC mode --- # # Autogenerated, unofficial. diff --git a/symm/t/sha256 b/symm/t/sha256 index f4561e8a..9a6d16ee 100644 --- a/symm/t/sha256 +++ b/symm/t/sha256 @@ -27,6 +27,31 @@ sha256 { db4bfcbd4da0cd85a60c3c37d3fbd8805c77f15fc6b1fdfe614ee0a7c8fdb4c0; } +sha224 { + + # --- Test vectors from the definition [FALSE] --- + + "abc" + 23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7; + "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" + 75388b16512776cc5dba5da1fd890150b0c6455cb4f58b1952522525; + + # --- Other tests to trap regression --- + + "" + d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f; + "a" + abd37534c7d9a2efb9465de931cd7055ffdb8879563ae98078d6d6d5; + "message digest" + 2cb21c83ae2f004de7e81c3c7019cbcb65b71ab656b22d6d0c39b8eb; + "abcdefghijklmnopqrstuvwxyz" + 45a5f72c39c5cff2522eb3429799e49e5f44b356ef926bcf390dccc2; + "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" + 75388b16512776cc5dba5da1fd890150b0c6455cb4f58b1952522525; + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" + bff72b4fcb7d75e5632900ac5f90d219e05e97a7bde72e740db393d9; +} + sha256-rep { "1234567890" 8 f371bc4a311f2b009eef952dd83ca80e2b60026c8e935592d0f9c308453c813e; @@ -36,6 +61,16 @@ sha256-rep { cdc76e5c9914fb9281a1c7e284d73e67f1809a48a497200e046d39ccc7112cd0; } +sha224-rep { + "1234567890" 8 + b50aecbe4e9bb0b57bc5f3ae760a8e01db24f203fb3cdcd13148046e; + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 +" 23 + 5a86156c37c95ab356e003d569370580737794815f46de7f4834d634; + "a" 1000000 + 20794655980c91d8bbb4c1ea97618a4bf03f42581948b2ee4ee7ad67; +} + # --- HMAC mode --- # # Autogenerated, unofficial. diff --git a/symm/t/sha384 b/symm/t/sha384 index f3148fde..21818329 100644 --- a/symm/t/sha384 +++ b/symm/t/sha384 @@ -1,42 +1,5 @@ # Test vectors for SHA-384 -# --- Basic hash function --- - -sha384 { - - # --- Test vectors from the definition --- - - "abc" - cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7; - "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu" - 09330c33f71147e83d192fc782cd1b4753111b173b3b05d22fa08086e3b0f712fcc7c71a557e2db966c3e9fa91746039; - - # --- Other tests to trap regression --- - - "" - 38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b; - "a" - 54a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31; - "message digest" - 473ed35167ec1f5d8e550368a3db39be54639f828868e9454c239fc8b52e3c61dbd0d8b4de1390c256dcbb5d5fd99cd5; - "abcdefghijklmnopqrstuvwxyz" - feb67349df3db6f5924815d6c3dc133f091809213731fe5c7b5f4999e463479ff2877f5f2936fa63bb43784b12f3ebb4; - "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" - 3391fdddfc8dc7393707a65b1b4709397cf8b1d162af05abfe8f450de5f36bc6b0455a8520bc4e6f5fe95b1fe3c8452b; - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" - 1761336e3f7cbfe51deb137f026f89e01a448e3b1fafa64039c1464ee8732f11a5341a6f41e0c202294736ed64db1a84; -} - -sha384-rep { - "1234567890" 8 - b12932b0627d1c060942f5447764155655bd4da0c9afa6dd9b9ef53129af1b8fb0195996d2de9ca0df9d821ffee67026; - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 -" 23 - f77d169c73427bd30cceff74f822a0209657dfb78c07980509bf8452a3c5d671b7198081898d0a0034e0f7151211fa0f; - "a" 1000000 - 9d0e1809716474cb086e834e310a4a1ced149e9c00f248527972cec5704c2a5b07b8b3dc38ecc4ebae97ddd87f3d8985; -} - # --- HMAC mode --- # # Autogenerated, unofficial. diff --git a/symm/t/sha512 b/symm/t/sha512 index dcf3f04d..52e7ec69 100644 --- a/symm/t/sha512 +++ b/symm/t/sha512 @@ -27,6 +27,31 @@ sha512 { 1e07be23c26a86ea37ea810c8ec7809352515a970e9253c26f536cfc7a9996c45c8370583e0a78fa4a90041d71a4ceab7423f19c71b9d5a3e01249f0bebd5894; } +sha384 { + + # --- Test vectors from the definition --- + + "abc" + cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7; + "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu" + 09330c33f71147e83d192fc782cd1b4753111b173b3b05d22fa08086e3b0f712fcc7c71a557e2db966c3e9fa91746039; + + # --- Other tests to trap regression --- + + "" + 38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b; + "a" + 54a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31; + "message digest" + 473ed35167ec1f5d8e550368a3db39be54639f828868e9454c239fc8b52e3c61dbd0d8b4de1390c256dcbb5d5fd99cd5; + "abcdefghijklmnopqrstuvwxyz" + feb67349df3db6f5924815d6c3dc133f091809213731fe5c7b5f4999e463479ff2877f5f2936fa63bb43784b12f3ebb4; + "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" + 3391fdddfc8dc7393707a65b1b4709397cf8b1d162af05abfe8f450de5f36bc6b0455a8520bc4e6f5fe95b1fe3c8452b; + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" + 1761336e3f7cbfe51deb137f026f89e01a448e3b1fafa64039c1464ee8732f11a5341a6f41e0c202294736ed64db1a84; +} + sha512-rep { "1234567890" 8 72ec1ef1124a45b047e8b7c75a932195135bb61de24ec0d1914042246e0aec3a2354e093d76f3048b456764346900cb130d2a4fd5dd16abb5e30bcb850dee843; @@ -38,6 +63,16 @@ sha512-rep { e718483d0ce769644e2e42c7bc15b4638e1f98b13b2044285632a803afa973ebde0ff244877ea60a4cb0432ce577c31beb009c5c2c49aa2e4eadb217ad8cc09b; } +sha384-rep { + "1234567890" 8 + b12932b0627d1c060942f5447764155655bd4da0c9afa6dd9b9ef53129af1b8fb0195996d2de9ca0df9d821ffee67026; + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 +" 23 + f77d169c73427bd30cceff74f822a0209657dfb78c07980509bf8452a3c5d671b7198081898d0a0034e0f7151211fa0f; + "a" 1000000 + 9d0e1809716474cb086e834e310a4a1ced149e9c00f248527972cec5704c2a5b07b8b3dc38ecc4ebae97ddd87f3d8985; +} + # --- HMAC mode --- # # Autogenerated, unofficial. diff --git a/symm/t/whirlpool b/symm/t/whirlpool index 56477875..185abe85 100644 --- a/symm/t/whirlpool +++ b/symm/t/whirlpool @@ -22,6 +22,23 @@ whirlpool { dc37e008cf9ee69bf11f00ed9aba26901dd7c28cdec066cc6af42e40f82f3a1e08eba26629129d8fb7cb57211b9281a65517cc879d7b962142c65f5a7af01467; } +whirlpool256 { + "" + 19fa61d75522a4669b44e39c1d2e1726c530232130d407f89afee0964997f7a7; + "a" + 8aca2602792aec6f11a67206531fb7d7f0dff59413145e6973c45001d0087b42; + "abc" + 4e2448a4c6f486bb16b6562c73b4020bf3043e3a731bce721ae1b303d97e6d4c; + "message digest" + 378c84a4126e2dc6e56dcc7458377aac838d00032230f53ce1f5700c0ffb4d3b; + "abcdefghijklmnopqrstuvwxyz" + f1d754662636ffe92c82ebb9212a484a8d38631ead4238f5442ee13b8054e41b; + "abcdbcdecdefdefgefghfghighijhijk" + 2a987ea40f917061f5d6f0a0e4644f488a7a5a52deee656207c562f988e95c69; + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" + dc37e008cf9ee69bf11f00ed9aba26901dd7c28cdec066cc6af42e40f82f3a1e; +} + whirlpool-rep { "1234567890" 8 466ef18babb0154d25b9d38a6414f5c08784372bccb204d6549c4afadb6014294d5bd8df2a6c44e538cd047b2681a51a2c60481e88c5a20b2c2a80cf3a9a083b; @@ -29,6 +46,13 @@ whirlpool-rep { 0c99005beb57eff50a7cf005560ddf5d29057fd86b20bfd62deca0f1ccea4af51fc15490eddc47af32bb2b66c34ff9ad8c6008ad677f77126953b226e4ed8b01; } +whirlpool256-rep { + "1234567890" 8 + 466ef18babb0154d25b9d38a6414f5c08784372bccb204d6549c4afadb601429; + "a" 1000000 + 0c99005beb57eff50a7cf005560ddf5d29057fd86b20bfd62deca0f1ccea4af5; +} + # --- HMAC mode --- # # Home-made test vectors, for regression. diff --git a/symm/t/whirlpool256 b/symm/t/whirlpool256 index b1b68c20..801ca3df 100644 --- a/symm/t/whirlpool256 +++ b/symm/t/whirlpool256 @@ -1,34 +1,5 @@ # Test vectors for the Whirlpool hash function -# --- Basic hash function --- -# -# Some of these are taken from the ISO test vectors from the Whirlpool -# distribution. - -whirlpool256 { - "" - 19fa61d75522a4669b44e39c1d2e1726c530232130d407f89afee0964997f7a7; - "a" - 8aca2602792aec6f11a67206531fb7d7f0dff59413145e6973c45001d0087b42; - "abc" - 4e2448a4c6f486bb16b6562c73b4020bf3043e3a731bce721ae1b303d97e6d4c; - "message digest" - 378c84a4126e2dc6e56dcc7458377aac838d00032230f53ce1f5700c0ffb4d3b; - "abcdefghijklmnopqrstuvwxyz" - f1d754662636ffe92c82ebb9212a484a8d38631ead4238f5442ee13b8054e41b; - "abcdbcdecdefdefgefghfghighijhijk" - 2a987ea40f917061f5d6f0a0e4644f488a7a5a52deee656207c562f988e95c69; - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" - dc37e008cf9ee69bf11f00ed9aba26901dd7c28cdec066cc6af42e40f82f3a1e; -} - -whirlpool256-rep { - "1234567890" 8 - 466ef18babb0154d25b9d38a6414f5c08784372bccb204d6549c4afadb601429; - "a" 1000000 - 0c99005beb57eff50a7cf005560ddf5d29057fd86b20bfd62deca0f1ccea4af5; -} - # --- HMAC mode --- # # Home-made test vectors, for regression. diff --git a/symm/whirlpool.c b/symm/whirlpool.c index ff517ce1..708e3fce 100644 --- a/symm/whirlpool.c +++ b/symm/whirlpool.c @@ -294,10 +294,31 @@ unsigned long whirlpool_state(whirlpool_ctx *ctx, void *state) /* --- Generic interface --- */ -GHASH_DEF(WHIRLPOOL, whirlpool) +#define HASHES(_) \ + _(WHIRLPOOL, whirlpool) \ + _(WHIRLPOOL256, whirlpool256) -/* --- Test code --- */ +HASHES(GHASH_DEF) -HASH_TEST(WHIRLPOOL, whirlpool) +/*----- Test rig ----------------------------------------------------------*/ + +#ifdef TEST_RIG + +#include + +HASHES(HASH_VERIFY) + +static const test_chunk defs[] = { + HASHES(HASH_TESTDEFS) + { 0, 0, { 0 } } +}; + +int main(int argc, char *argv[]) +{ + test_run(argc, argv, defs, SRCDIR "/t/whirlpool"); + return (0); +} + +#endif /*----- That's all, folks -------------------------------------------------*/ diff --git a/symm/whirlpool256.c b/symm/whirlpool256.c deleted file mode 100644 index 48245f28..00000000 --- a/symm/whirlpool256.c +++ /dev/null @@ -1,12 +0,0 @@ -/* -*-c-*- - * - * Stub code for Whirlpool-256 - */ - -#include "ghash.h" -#include "ghash-def.h" -#include "hash.h" -#include "whirlpool256.h" - -GHASH_DEF(WHIRLPOOL256, whirlpool256) -HASH_TEST(WHIRLPOOL256, whirlpool256)