| ... | @@ -7,7 +7,7 @@ const native_endian = builtin.cpu.arch.endian(); | ... | @@ -7,7 +7,7 @@ const native_endian = builtin.cpu.arch.endian(); |
| 7 | | 7 | |
| 8 | /// The Keccak-f permutation. | 8 | /// The Keccak-f permutation. |
| 9 | pub fn KeccakF(comptime f: u11) type { | 9 | pub fn KeccakF(comptime f: u11) type { |
| 10 | comptime assert(f > 200 and f <= 1600 and f % 200 == 0); // invalid bit size | 10 | comptime assert(f >= 200 and f <= 1600 and f % 200 == 0); // invalid bit size |
| 11 | const T = std.meta.Int(.unsigned, f / 25); | 11 | const T = std.meta.Int(.unsigned, f / 25); |
| 12 | const Block = [25]T; | 12 | const Block = [25]T; |
| 13 | | 13 | |
| ... | @@ -196,7 +196,7 @@ pub fn KeccakF(comptime f: u11) type { | ... | @@ -196,7 +196,7 @@ pub fn KeccakF(comptime f: u11) type { |
| 196 | | 196 | |
| 197 | /// A generic Keccak-P state. | 197 | /// A generic Keccak-P state. |
| 198 | pub fn State(comptime f: u11, comptime capacity: u11, comptime rounds: u5) type { | 198 | pub fn State(comptime f: u11, comptime capacity: u11, comptime rounds: u5) type { |
| 199 | comptime assert(f > 200 and f <= 1600 and f % 200 == 0); // invalid state size | 199 | comptime assert(f >= 200 and f <= 1600 and f % 200 == 0); // invalid state size |
| 200 | comptime assert(capacity < f and capacity % 8 == 0); // invalid capacity size | 200 | comptime assert(capacity < f and capacity % 8 == 0); // invalid capacity size |
| 201 | | 201 | |
| 202 | return struct { | 202 | return struct { |