aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2022-02-26 23:34:06 +0100
committerMattias Andrée <maandree@kth.se>2022-02-26 23:34:46 +0100
commit80dd2db385b7655db12a1e9ac82b8c9da0a54389 (patch)
tree2510dd117730ed25c46594c7c66f42a36634101c
parentAdd shake128sum and rawshake128sum (diff)
downloadsha3sum-80dd2db385b7655db12a1e9ac82b8c9da0a54389.tar.gz
sha3sum-80dd2db385b7655db12a1e9ac82b8c9da0a54389.tar.bz2
sha3sum-80dd2db385b7655db12a1e9ac82b8c9da0a54389.tar.xz
Add support for new spec error in libkeccak
Signed-off-by: Mattias Andrée <maandree@kth.se>
-rw-r--r--DEPENDENCIES2
-rw-r--r--common.c24
2 files changed, 14 insertions, 12 deletions
diff --git a/DEPENDENCIES b/DEPENDENCIES
index d62071a..3172d30 100644
--- a/DEPENDENCIES
+++ b/DEPENDENCIES
@@ -9,7 +9,7 @@ BUILD DEPENDENCIES:
coreutils
gcc
libc
- libkeccak>=1.2
+ libkeccak>=1.4
make
sed
diff --git a/common.c b/common.c
index dda8683..ebda81d 100644
--- a/common.c
+++ b/common.c
@@ -91,17 +91,19 @@ make_spec(struct libkeccak_generalised_spec *restrict gspec, struct libkeccak_sp
switch (libkeccak_degeneralise_spec(gspec, spec)) {
case 0:
break;
- TEST (STATE_NONPOSITIVE, "the state size must be positive");
- TEST (STATE_TOO_LARGE, "the state size is too large, may not exceed 1600");
- TEST (STATE_MOD_25, "the state size must be a multiple of 25");
- TEST (WORD_NONPOSITIVE, "the word size must be positive");
- TEST (WORD_TOO_LARGE, "the word size is too large, may not exceed 64");
- TEST (STATE_WORD_INCOHERENCY, "the state size must be exactly 25 times the word size");
- TEST (CAPACITY_NONPOSITIVE, "the capacity must be positive");
- TEST (CAPACITY_MOD_8, "the capacity must be a multiple of 8");
- TEST (BITRATE_NONPOSITIVE, "the rate must be positive");
- TEST (BITRATE_MOD_8, "the rate must be a multiple of 8");
- TEST (OUTPUT_NONPOSITIVE, "the output size must be positive");
+ TEST (STATE_NONPOSITIVE, "the state size must be positive");
+ TEST (STATE_TOO_LARGE, "the state size is too large, may not exceed 1600");
+ TEST (STATE_MOD_25, "the state size must be a multiple of 25");
+ TEST (WORD_NONPOSITIVE, "the word size must be positive");
+ TEST (WORD_TOO_LARGE, "the word size is too large, may not exceed 64");
+ TEST (STATE_WORD_INCOHERENCY, "the state size must be exactly 25 times the word size");
+ TEST (CAPACITY_NONPOSITIVE, "the capacity must be positive");
+ TEST (CAPACITY_MOD_8, "the capacity must be a multiple of 8");
+ TEST (BITRATE_NONPOSITIVE, "the rate must be positive");
+ TEST (BITRATE_MOD_8, "the rate must be a multiple of 8");
+ TEST (OUTPUT_NONPOSITIVE, "the output size must be positive");
+ TEST (STATE_BITRATE_CAPACITY_INCONSISTENCY, "the sum of the rate and capacity must equal"
+ " the state size (25 times the word size)");
default:
user_error("unknown error in algorithm parameters");
}