From fc38bb90abd9785e686e5e986ffe916753961f1c Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Tue, 4 Nov 2014 07:38:00 +0100 Subject: whoops, error in non-python version when hashing with a wordsize below 64 bits MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- java/ConcurrentSHA3.java | 100 +++++++++++++++++++++++------------------------ java/SHA3.java | 100 +++++++++++++++++++++++------------------------ 2 files changed, 100 insertions(+), 100 deletions(-) (limited to 'java') diff --git a/java/ConcurrentSHA3.java b/java/ConcurrentSHA3.java index 622feb5..90569f8 100644 --- a/java/ConcurrentSHA3.java +++ b/java/ConcurrentSHA3.java @@ -471,31 +471,31 @@ public class ConcurrentSHA3 else for (int i = 0; i < len; i += rr) { - this.S[ 0] ^= this.toLane(n, ww, i + 0 ); - this.S[ 5] ^= this.toLane(n, ww, i + w); - this.S[10] ^= this.toLane(n, ww, i + 2 * w); - this.S[15] ^= this.toLane(n, ww, i + 3 * w); - this.S[20] ^= this.toLane(n, ww, i + 4 * w); - this.S[ 1] ^= this.toLane(n, ww, i + 5 * w); - this.S[ 6] ^= this.toLane(n, ww, i + 6 * w); - this.S[11] ^= this.toLane(n, ww, i + 7 * w); - this.S[16] ^= this.toLane(n, ww, i + 8 * w); - this.S[21] ^= this.toLane(n, ww, i + 9 * w); - this.S[ 2] ^= this.toLane(n, ww, i + 10 * w); - this.S[ 7] ^= this.toLane(n, ww, i + 11 * w); - this.S[12] ^= this.toLane(n, ww, i + 12 * w); - this.S[17] ^= this.toLane(n, ww, i + 13 * w); - this.S[22] ^= this.toLane(n, ww, i + 14 * w); - this.S[ 3] ^= this.toLane(n, ww, i + 15 * w); - this.S[ 8] ^= this.toLane(n, ww, i + 16 * w); - this.S[13] ^= this.toLane(n, ww, i + 17 * w); - this.S[18] ^= this.toLane(n, ww, i + 18 * w); - this.S[23] ^= this.toLane(n, ww, i + 19 * w); - this.S[ 4] ^= this.toLane(n, ww, i + 20 * w); - this.S[ 9] ^= this.toLane(n, ww, i + 21 * w); - this.S[14] ^= this.toLane(n, ww, i + 22 * w); - this.S[19] ^= this.toLane(n, ww, i + 23 * w); - this.S[24] ^= this.toLane(n, ww, i + 24 * w); + this.S[ 0] ^= this.toLane(n, ww, i + 0 ); + this.S[ 5] ^= this.toLane(n, ww, i + ww); + this.S[10] ^= this.toLane(n, ww, i + 2 * ww); + this.S[15] ^= this.toLane(n, ww, i + 3 * ww); + this.S[20] ^= this.toLane(n, ww, i + 4 * ww); + this.S[ 1] ^= this.toLane(n, ww, i + 5 * ww); + this.S[ 6] ^= this.toLane(n, ww, i + 6 * ww); + this.S[11] ^= this.toLane(n, ww, i + 7 * ww); + this.S[16] ^= this.toLane(n, ww, i + 8 * ww); + this.S[21] ^= this.toLane(n, ww, i + 9 * ww); + this.S[ 2] ^= this.toLane(n, ww, i + 10 * ww); + this.S[ 7] ^= this.toLane(n, ww, i + 11 * ww); + this.S[12] ^= this.toLane(n, ww, i + 12 * ww); + this.S[17] ^= this.toLane(n, ww, i + 13 * ww); + this.S[22] ^= this.toLane(n, ww, i + 14 * ww); + this.S[ 3] ^= this.toLane(n, ww, i + 15 * ww); + this.S[ 8] ^= this.toLane(n, ww, i + 16 * ww); + this.S[13] ^= this.toLane(n, ww, i + 17 * ww); + this.S[18] ^= this.toLane(n, ww, i + 18 * ww); + this.S[23] ^= this.toLane(n, ww, i + 19 * ww); + this.S[ 4] ^= this.toLane(n, ww, i + 20 * ww); + this.S[ 9] ^= this.toLane(n, ww, i + 21 * ww); + this.S[14] ^= this.toLane(n, ww, i + 22 * ww); + this.S[19] ^= this.toLane(n, ww, i + 23 * ww); + this.S[24] ^= this.toLane(n, ww, i + 24 * ww); this.keccakF(this.S); n += rr; } @@ -795,31 +795,31 @@ public class ConcurrentSHA3 else for (int i = 0; i < len; i += rr) { - this.S[ 0] ^= this.toLane(n, ww, i + 0 ); - this.S[ 5] ^= this.toLane(n, ww, i + w); - this.S[10] ^= this.toLane(n, ww, i + 2 * w); - this.S[15] ^= this.toLane(n, ww, i + 3 * w); - this.S[20] ^= this.toLane(n, ww, i + 4 * w); - this.S[ 1] ^= this.toLane(n, ww, i + 5 * w); - this.S[ 6] ^= this.toLane(n, ww, i + 6 * w); - this.S[11] ^= this.toLane(n, ww, i + 7 * w); - this.S[16] ^= this.toLane(n, ww, i + 8 * w); - this.S[21] ^= this.toLane(n, ww, i + 9 * w); - this.S[ 2] ^= this.toLane(n, ww, i + 10 * w); - this.S[ 7] ^= this.toLane(n, ww, i + 11 * w); - this.S[12] ^= this.toLane(n, ww, i + 12 * w); - this.S[17] ^= this.toLane(n, ww, i + 13 * w); - this.S[22] ^= this.toLane(n, ww, i + 14 * w); - this.S[ 3] ^= this.toLane(n, ww, i + 15 * w); - this.S[ 8] ^= this.toLane(n, ww, i + 16 * w); - this.S[13] ^= this.toLane(n, ww, i + 17 * w); - this.S[18] ^= this.toLane(n, ww, i + 18 * w); - this.S[23] ^= this.toLane(n, ww, i + 19 * w); - this.S[ 4] ^= this.toLane(n, ww, i + 20 * w); - this.S[ 9] ^= this.toLane(n, ww, i + 21 * w); - this.S[14] ^= this.toLane(n, ww, i + 22 * w); - this.S[19] ^= this.toLane(n, ww, i + 23 * w); - this.S[24] ^= this.toLane(n, ww, i + 24 * w); + this.S[ 0] ^= this.toLane(n, ww, i + 0 ); + this.S[ 5] ^= this.toLane(n, ww, i + ww); + this.S[10] ^= this.toLane(n, ww, i + 2 * ww); + this.S[15] ^= this.toLane(n, ww, i + 3 * ww); + this.S[20] ^= this.toLane(n, ww, i + 4 * ww); + this.S[ 1] ^= this.toLane(n, ww, i + 5 * ww); + this.S[ 6] ^= this.toLane(n, ww, i + 6 * ww); + this.S[11] ^= this.toLane(n, ww, i + 7 * ww); + this.S[16] ^= this.toLane(n, ww, i + 8 * ww); + this.S[21] ^= this.toLane(n, ww, i + 9 * ww); + this.S[ 2] ^= this.toLane(n, ww, i + 10 * ww); + this.S[ 7] ^= this.toLane(n, ww, i + 11 * ww); + this.S[12] ^= this.toLane(n, ww, i + 12 * ww); + this.S[17] ^= this.toLane(n, ww, i + 13 * ww); + this.S[22] ^= this.toLane(n, ww, i + 14 * ww); + this.S[ 3] ^= this.toLane(n, ww, i + 15 * ww); + this.S[ 8] ^= this.toLane(n, ww, i + 16 * ww); + this.S[13] ^= this.toLane(n, ww, i + 17 * ww); + this.S[18] ^= this.toLane(n, ww, i + 18 * ww); + this.S[23] ^= this.toLane(n, ww, i + 19 * ww); + this.S[ 4] ^= this.toLane(n, ww, i + 20 * ww); + this.S[ 9] ^= this.toLane(n, ww, i + 21 * ww); + this.S[14] ^= this.toLane(n, ww, i + 22 * ww); + this.S[19] ^= this.toLane(n, ww, i + 23 * ww); + this.S[24] ^= this.toLane(n, ww, i + 24 * ww); this.keccakF(this.S); n += rr; } diff --git a/java/SHA3.java b/java/SHA3.java index 8ab9a51..fa70915 100644 --- a/java/SHA3.java +++ b/java/SHA3.java @@ -477,31 +477,31 @@ public class SHA3 else for (int i = 0; i < len; i += rr) { - SHA3.S[ 0] ^= SHA3.toLane(n, ww, i + 0 ); - SHA3.S[ 5] ^= SHA3.toLane(n, ww, i + w); - SHA3.S[10] ^= SHA3.toLane(n, ww, i + 2 * w); - SHA3.S[15] ^= SHA3.toLane(n, ww, i + 3 * w); - SHA3.S[20] ^= SHA3.toLane(n, ww, i + 4 * w); - SHA3.S[ 1] ^= SHA3.toLane(n, ww, i + 5 * w); - SHA3.S[ 6] ^= SHA3.toLane(n, ww, i + 6 * w); - SHA3.S[11] ^= SHA3.toLane(n, ww, i + 7 * w); - SHA3.S[16] ^= SHA3.toLane(n, ww, i + 8 * w); - SHA3.S[21] ^= SHA3.toLane(n, ww, i + 9 * w); - SHA3.S[ 2] ^= SHA3.toLane(n, ww, i + 10 * w); - SHA3.S[ 7] ^= SHA3.toLane(n, ww, i + 11 * w); - SHA3.S[12] ^= SHA3.toLane(n, ww, i + 12 * w); - SHA3.S[17] ^= SHA3.toLane(n, ww, i + 13 * w); - SHA3.S[22] ^= SHA3.toLane(n, ww, i + 14 * w); - SHA3.S[ 3] ^= SHA3.toLane(n, ww, i + 15 * w); - SHA3.S[ 8] ^= SHA3.toLane(n, ww, i + 16 * w); - SHA3.S[13] ^= SHA3.toLane(n, ww, i + 17 * w); - SHA3.S[18] ^= SHA3.toLane(n, ww, i + 18 * w); - SHA3.S[23] ^= SHA3.toLane(n, ww, i + 19 * w); - SHA3.S[ 4] ^= SHA3.toLane(n, ww, i + 20 * w); - SHA3.S[ 9] ^= SHA3.toLane(n, ww, i + 21 * w); - SHA3.S[14] ^= SHA3.toLane(n, ww, i + 22 * w); - SHA3.S[19] ^= SHA3.toLane(n, ww, i + 23 * w); - SHA3.S[24] ^= SHA3.toLane(n, ww, i + 24 * w); + SHA3.S[ 0] ^= SHA3.toLane(n, ww, i + 0 ); + SHA3.S[ 5] ^= SHA3.toLane(n, ww, i + ww); + SHA3.S[10] ^= SHA3.toLane(n, ww, i + 2 * ww); + SHA3.S[15] ^= SHA3.toLane(n, ww, i + 3 * ww); + SHA3.S[20] ^= SHA3.toLane(n, ww, i + 4 * ww); + SHA3.S[ 1] ^= SHA3.toLane(n, ww, i + 5 * ww); + SHA3.S[ 6] ^= SHA3.toLane(n, ww, i + 6 * ww); + SHA3.S[11] ^= SHA3.toLane(n, ww, i + 7 * ww); + SHA3.S[16] ^= SHA3.toLane(n, ww, i + 8 * ww); + SHA3.S[21] ^= SHA3.toLane(n, ww, i + 9 * ww); + SHA3.S[ 2] ^= SHA3.toLane(n, ww, i + 10 * ww); + SHA3.S[ 7] ^= SHA3.toLane(n, ww, i + 11 * ww); + SHA3.S[12] ^= SHA3.toLane(n, ww, i + 12 * ww); + SHA3.S[17] ^= SHA3.toLane(n, ww, i + 13 * ww); + SHA3.S[22] ^= SHA3.toLane(n, ww, i + 14 * ww); + SHA3.S[ 3] ^= SHA3.toLane(n, ww, i + 15 * ww); + SHA3.S[ 8] ^= SHA3.toLane(n, ww, i + 16 * ww); + SHA3.S[13] ^= SHA3.toLane(n, ww, i + 17 * ww); + SHA3.S[18] ^= SHA3.toLane(n, ww, i + 18 * ww); + SHA3.S[23] ^= SHA3.toLane(n, ww, i + 19 * ww); + SHA3.S[ 4] ^= SHA3.toLane(n, ww, i + 20 * ww); + SHA3.S[ 9] ^= SHA3.toLane(n, ww, i + 21 * ww); + SHA3.S[14] ^= SHA3.toLane(n, ww, i + 22 * ww); + SHA3.S[19] ^= SHA3.toLane(n, ww, i + 23 * ww); + SHA3.S[24] ^= SHA3.toLane(n, ww, i + 24 * ww); SHA3.keccakF(SHA3.S); n += rr; } @@ -801,31 +801,31 @@ public class SHA3 else for (int i = 0; i < len; i += rr) { - SHA3.S[ 0] ^= SHA3.toLane(n, ww, i + 0 ); - SHA3.S[ 5] ^= SHA3.toLane(n, ww, i + w); - SHA3.S[10] ^= SHA3.toLane(n, ww, i + 2 * w); - SHA3.S[15] ^= SHA3.toLane(n, ww, i + 3 * w); - SHA3.S[20] ^= SHA3.toLane(n, ww, i + 4 * w); - SHA3.S[ 1] ^= SHA3.toLane(n, ww, i + 5 * w); - SHA3.S[ 6] ^= SHA3.toLane(n, ww, i + 6 * w); - SHA3.S[11] ^= SHA3.toLane(n, ww, i + 7 * w); - SHA3.S[16] ^= SHA3.toLane(n, ww, i + 8 * w); - SHA3.S[21] ^= SHA3.toLane(n, ww, i + 9 * w); - SHA3.S[ 2] ^= SHA3.toLane(n, ww, i + 10 * w); - SHA3.S[ 7] ^= SHA3.toLane(n, ww, i + 11 * w); - SHA3.S[12] ^= SHA3.toLane(n, ww, i + 12 * w); - SHA3.S[17] ^= SHA3.toLane(n, ww, i + 13 * w); - SHA3.S[22] ^= SHA3.toLane(n, ww, i + 14 * w); - SHA3.S[ 3] ^= SHA3.toLane(n, ww, i + 15 * w); - SHA3.S[ 8] ^= SHA3.toLane(n, ww, i + 16 * w); - SHA3.S[13] ^= SHA3.toLane(n, ww, i + 17 * w); - SHA3.S[18] ^= SHA3.toLane(n, ww, i + 18 * w); - SHA3.S[23] ^= SHA3.toLane(n, ww, i + 19 * w); - SHA3.S[ 4] ^= SHA3.toLane(n, ww, i + 20 * w); - SHA3.S[ 9] ^= SHA3.toLane(n, ww, i + 21 * w); - SHA3.S[14] ^= SHA3.toLane(n, ww, i + 22 * w); - SHA3.S[19] ^= SHA3.toLane(n, ww, i + 23 * w); - SHA3.S[24] ^= SHA3.toLane(n, ww, i + 24 * w); + SHA3.S[ 0] ^= SHA3.toLane(n, ww, i + 0 ); + SHA3.S[ 5] ^= SHA3.toLane(n, ww, i + ww); + SHA3.S[10] ^= SHA3.toLane(n, ww, i + 2 * ww); + SHA3.S[15] ^= SHA3.toLane(n, ww, i + 3 * ww); + SHA3.S[20] ^= SHA3.toLane(n, ww, i + 4 * ww); + SHA3.S[ 1] ^= SHA3.toLane(n, ww, i + 5 * ww); + SHA3.S[ 6] ^= SHA3.toLane(n, ww, i + 6 * ww); + SHA3.S[11] ^= SHA3.toLane(n, ww, i + 7 * ww); + SHA3.S[16] ^= SHA3.toLane(n, ww, i + 8 * ww); + SHA3.S[21] ^= SHA3.toLane(n, ww, i + 9 * ww); + SHA3.S[ 2] ^= SHA3.toLane(n, ww, i + 10 * ww); + SHA3.S[ 7] ^= SHA3.toLane(n, ww, i + 11 * ww); + SHA3.S[12] ^= SHA3.toLane(n, ww, i + 12 * ww); + SHA3.S[17] ^= SHA3.toLane(n, ww, i + 13 * ww); + SHA3.S[22] ^= SHA3.toLane(n, ww, i + 14 * ww); + SHA3.S[ 3] ^= SHA3.toLane(n, ww, i + 15 * ww); + SHA3.S[ 8] ^= SHA3.toLane(n, ww, i + 16 * ww); + SHA3.S[13] ^= SHA3.toLane(n, ww, i + 17 * ww); + SHA3.S[18] ^= SHA3.toLane(n, ww, i + 18 * ww); + SHA3.S[23] ^= SHA3.toLane(n, ww, i + 19 * ww); + SHA3.S[ 4] ^= SHA3.toLane(n, ww, i + 20 * ww); + SHA3.S[ 9] ^= SHA3.toLane(n, ww, i + 21 * ww); + SHA3.S[14] ^= SHA3.toLane(n, ww, i + 22 * ww); + SHA3.S[19] ^= SHA3.toLane(n, ww, i + 23 * ww); + SHA3.S[24] ^= SHA3.toLane(n, ww, i + 24 * ww); SHA3.keccakF(SHA3.S); n += rr; } -- cgit v1.2.3-70-g09d2