digest-kangarootwelve 0.4.8 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/LICENSE.XKCP +0 -20
- data/README.md +2 -2
- data/ext/digest/kangarootwelve/XKCP/lib/high/KangarooTwelve/KangarooTwelve.c +20 -20
- data/ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.c +2 -0
- data/ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.h +4 -4
- data/ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.inc +27 -31
- data/ext/digest/kangarootwelve/XKCP/lib/high/TurboSHAKE/TurboSHAKE.c +2 -0
- data/ext/digest/kangarootwelve/XKCP/lib/high/TurboSHAKE/TurboSHAKE.h +1 -1
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ARM/KeccakP-1600-SnP.h +18 -12
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ARMv7A-NEON/KeccakP-1600-SnP.h +19 -11
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVR8/KeccakP-1600-SnP.h +18 -12
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVR8/KeccakP-1600-avr8-fast.s +10 -10
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX2/KeccakP-1600-AVX2.s +3 -0
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX2/KeccakP-1600-SnP.h +24 -14
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX512/C/KeccakP-1600-AVX512.c +23 -22
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX512/C/KeccakP-1600-SnP.h +18 -13
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX512/KeccakP-1600-AVX512.s +12 -12
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX512/KeccakP-1600-SnP.h +18 -14
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/XOP/KeccakP-1600-SnP.h +19 -13
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/XOP/KeccakP-1600-XOP.c +36 -36
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/compact/KeccakP-1600-SnP.h +18 -12
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/compact/KeccakP-1600-compact64.c +19 -19
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-32bits-inplace/KeccakP-1600-SnP.h +18 -12
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-32bits-inplace/KeccakP-1600-inplace32BI.c +31 -31
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-64bits/KeccakP-1600-SnP.h +21 -16
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-64bits/KeccakP-1600-opt64.c +64 -64
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/ARMv7A-NEON/KeccakP-1600-inplace-pl2-armv7a-neon-le-gcc.s +16 -16
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/ARMv7A-NEON/KeccakP-1600-times2-SnP.h +24 -17
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/AVX512/KeccakP-1600-times2-SIMD512.c +37 -37
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/AVX512/KeccakP-1600-times2-SnP.h +25 -17
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/SIMD128/KeccakP-1600-times2-SIMD128.c +32 -34
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/SIMD128/KeccakP-1600-times2-SnP.h +24 -17
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX2/KeccakP-1600-times4-SIMD256.c +39 -43
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX2/KeccakP-1600-times4-SnP.h +26 -20
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX512/KeccakP-1600-times4-SIMD512.c +38 -39
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX512/KeccakP-1600-times4-SnP.h +25 -19
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/AVX512/KeccakP-1600-times8-SIMD512.c +33 -35
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/AVX512/KeccakP-1600-times8-SnP.h +26 -21
- data/ext/digest/kangarootwelve/XKCP/lib/low/common/SnP-Relaned.h +25 -21
- data/ext/digest/kangarootwelve/targets/armv7a/config.h +1 -0
- data/ext/digest/kangarootwelve/targets/avx/config.h +1 -0
- data/ext/digest/kangarootwelve/targets/avx2/config.h +2 -0
- data/ext/digest/kangarootwelve/targets/avx2noasm/config.h +2 -0
- data/ext/digest/kangarootwelve/targets/avx512/config.h +3 -0
- data/ext/digest/kangarootwelve/targets/avx512noasm/config.h +3 -0
- data/ext/digest/kangarootwelve/targets/config.h +0 -6
- data/ext/digest/kangarootwelve/targets/list +0 -2
- data/ext/digest/kangarootwelve/targets/ssse3/config.h +1 -0
- data/ext/digest/kangarootwelve/targets/xop/config.h +1 -0
- data/lib/digest/kangarootwelve/version.rb +1 -1
- metadata +2 -423
- data/ext/digest/kangarootwelve/.sitearchdir.-.digest.time +0 -0
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-32bits/KeccakP-1600-SnP.h +0 -44
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-32bits/KeccakP-1600-reference.h +0 -23
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-32bits/KeccakP-1600-reference32BI.c +0 -625
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-64bits/KeccakP-1600-SnP.h +0 -44
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-64bits/KeccakP-1600-reference.c +0 -444
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-64bits/KeccakP-1600-reference.h +0 -23
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/fallback-on1/KeccakP-1600-times2-SnP.h +0 -45
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/fallback-on1/KeccakP-1600-times2-on1.c +0 -37
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on1/KeccakP-1600-times4-SnP.h +0 -45
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on1/KeccakP-1600-times4-on1.c +0 -37
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on2/KeccakP-1600-times4-SnP.h +0 -45
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on2/KeccakP-1600-times4-on2.c +0 -38
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on1/KeccakP-1600-times8-SnP.h +0 -45
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on1/KeccakP-1600-times8-on1.c +0 -37
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on2/KeccakP-1600-times8-SnP.h +0 -45
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on2/KeccakP-1600-times8-on2.c +0 -38
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on4/KeccakP-1600-times8-SnP.h +0 -45
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on4/KeccakP-1600-times8-on4.c +0 -38
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ARM/KeccakP-200-SnP.h +0 -41
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ARM/KeccakP-200-armv6m-le-gcc.s +0 -446
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ARM/KeccakP-200-armv7m-le-gcc.s +0 -427
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/AVR8/KeccakP-200-SnP.h +0 -41
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/AVR8/KeccakP-200-avr8-fast.s +0 -647
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/compact/KeccakP-200-SnP.h +0 -39
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/compact/KeccakP-200-compact.c +0 -190
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ref/KeccakP-200-SnP.h +0 -43
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ref/KeccakP-200-reference.c +0 -416
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ref/KeccakP-200-reference.h +0 -23
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ARM/KeccakP-400-SnP.h +0 -41
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ARM/KeccakP-400-armv6m-le-gcc.s +0 -458
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ARM/KeccakP-400-armv7m-le-gcc.s +0 -458
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/AVR8/KeccakP-400-SnP.h +0 -41
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/AVR8/KeccakP-400-avr8-fast.s +0 -728
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ref/KeccakP-400-SnP.h +0 -43
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ref/KeccakP-400-reference.c +0 -418
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ref/KeccakP-400-reference.h +0 -23
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ARM/KeccakP-800-SnP.h +0 -42
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ARM/KeccakP-800-u2-armv6m-le-gcc.s +0 -534
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ARM/KeccakP-800-u2-armv7a-le-gcc.s +0 -527
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ARM/KeccakP-800-u2-armv7m-le-gcc.s +0 -523
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/AVR8/KeccakP-800-SnP.h +0 -42
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/AVR8/KeccakP-800-avr8-fast.s +0 -929
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/compact/KeccakP-800-SnP.h +0 -40
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/compact/KeccakP-800-compact.c +0 -244
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-SnP.h +0 -46
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-opt32-bis.macros +0 -184
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-opt32.c +0 -454
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-opt32.macros +0 -459
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-unrolling-bis.macros +0 -83
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-unrolling.macros +0 -88
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/lcu2/KeccakP-800-opt32-config.h +0 -7
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/lcua/KeccakP-800-opt32-config.h +0 -7
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/u2/KeccakP-800-opt32-config.h +0 -7
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/ua/KeccakP-800-opt32-config.h +0 -7
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ref/KeccakP-800-SnP.h +0 -44
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ref/KeccakP-800-reference.c +0 -441
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ref/KeccakP-800-reference.h +0 -23
- data/ext/digest/kangarootwelve/XKCP/lib/low/common/PlSnP-Fallback.inc +0 -291
- data/ext/digest/kangarootwelve/XKCP/tests/UnitTests/displayIntermediateValues.c +0 -177
- data/ext/digest/kangarootwelve/XKCP/tests/UnitTests/displayIntermediateValues.h +0 -30
- data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times2-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times2-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times4-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times4-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times8-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times8-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/armv6/KeccakP-200-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv6/KeccakP-200-armv6m-le-gcc.S +0 -1
- data/ext/digest/kangarootwelve/targets/armv6/KeccakP-400-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv6/KeccakP-400-armv6m-le-gcc.S +0 -1
- data/ext/digest/kangarootwelve/targets/armv6/KeccakP-800-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv6/KeccakP-800-u2-armv6m-le-gcc.S +0 -1
- data/ext/digest/kangarootwelve/targets/armv6/PlSnP-Fallback.inc +0 -1
- data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times2-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times2-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times4-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times4-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times8-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times8-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-200-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-200-armv6m-le-gcc.S +0 -1
- data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-400-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-400-armv6m-le-gcc.S +0 -1
- data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-800-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-800-u2-armv6m-le-gcc.S +0 -1
- data/ext/digest/kangarootwelve/targets/armv6m/PlSnP-Fallback.inc +0 -1
- data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times4-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times4-on2.c +0 -1
- data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times8-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times8-on2.c +0 -1
- data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-200-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-200-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-200-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-400-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-400-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-400-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-800-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-800-u2-armv7a-le-gcc.S +0 -1
- data/ext/digest/kangarootwelve/targets/armv7a/PlSnP-Fallback.inc +0 -1
- data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times2-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times2-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times4-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times4-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times8-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times8-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-200-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-200-armv7m-le-gcc.S +0 -1
- data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-400-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-400-armv7m-le-gcc.S +0 -1
- data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-800-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-800-u2-armv7m-le-gcc.S +0 -1
- data/ext/digest/kangarootwelve/targets/armv7m/PlSnP-Fallback.inc +0 -1
- data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times2-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times2-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times4-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times4-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times8-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times8-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-200-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-200-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-200-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-400-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-400-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-400-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32-config.h +0 -1
- data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32.c +0 -1
- data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32.macros +0 -1
- data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-unrolling-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-unrolling.macros +0 -1
- data/ext/digest/kangarootwelve/targets/armv8a/PlSnP-Fallback.inc +0 -1
- data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times2-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times2-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times4-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times4-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times8-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times8-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/avr8/KeccakP-200-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avr8/KeccakP-200-avr8-fast.S +0 -1
- data/ext/digest/kangarootwelve/targets/avr8/KeccakP-400-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avr8/KeccakP-400-avr8-fast.S +0 -1
- data/ext/digest/kangarootwelve/targets/avr8/KeccakP-800-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avr8/KeccakP-800-avr8-fast.S +0 -1
- data/ext/digest/kangarootwelve/targets/avr8/PlSnP-Fallback.inc +0 -1
- data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times4-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times4-on2.c +0 -1
- data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times8-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times8-on2.c +0 -1
- data/ext/digest/kangarootwelve/targets/avx/KeccakP-200-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx/KeccakP-200-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/avx/KeccakP-200-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx/KeccakP-400-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx/KeccakP-400-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/avx/KeccakP-400-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32-config.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32.c +0 -1
- data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32.macros +0 -1
- data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-unrolling-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-unrolling.macros +0 -1
- data/ext/digest/kangarootwelve/targets/avx/PlSnP-Fallback.inc +0 -1
- data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times8-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times8-on4.c +0 -1
- data/ext/digest/kangarootwelve/targets/avx2/KeccakP-200-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx2/KeccakP-200-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/avx2/KeccakP-200-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx2/KeccakP-400-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx2/KeccakP-400-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/avx2/KeccakP-400-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32-config.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32.c +0 -1
- data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32.macros +0 -1
- data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-unrolling-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-unrolling.macros +0 -1
- data/ext/digest/kangarootwelve/targets/avx2/PlSnP-Fallback.inc +0 -1
- data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times8-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times8-on4.c +0 -1
- data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-200-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-200-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-200-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-400-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-400-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-400-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32-config.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32.c +0 -1
- data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32.macros +0 -1
- data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-unrolling-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-unrolling.macros +0 -1
- data/ext/digest/kangarootwelve/targets/avx2noasm/PlSnP-Fallback.inc +0 -1
- data/ext/digest/kangarootwelve/targets/avx512/KeccakP-200-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx512/KeccakP-200-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/avx512/KeccakP-200-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx512/KeccakP-400-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx512/KeccakP-400-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/avx512/KeccakP-400-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32-config.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32.c +0 -1
- data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32.macros +0 -1
- data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-unrolling-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-unrolling.macros +0 -1
- data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-200-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-200-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-200-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-400-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-400-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-400-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32-config.h +0 -1
- data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32.c +0 -1
- data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32.macros +0 -1
- data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-unrolling-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-unrolling.macros +0 -1
- data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times2-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times2-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times4-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times4-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times8-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times8-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/compact/KeccakP-200-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/compact/KeccakP-200-compact.c +0 -1
- data/ext/digest/kangarootwelve/targets/compact/KeccakP-400-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/compact/KeccakP-400-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/compact/KeccakP-400-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/compact/KeccakP-800-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/compact/KeccakP-800-compact.c +0 -1
- data/ext/digest/kangarootwelve/targets/compact/PlSnP-Fallback.inc +0 -1
- data/ext/digest/kangarootwelve/targets/defs +0 -2
- data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times2-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times2-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times4-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times4-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times8-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times8-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic32/KeccakP-200-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic32/KeccakP-200-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic32/KeccakP-200-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic32/KeccakP-400-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic32/KeccakP-400-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic32/KeccakP-400-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32-config.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32.macros +0 -1
- data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-unrolling-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-unrolling.macros +0 -1
- data/ext/digest/kangarootwelve/targets/generic32/PlSnP-Fallback.inc +0 -1
- data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times2-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times2-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times4-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times4-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times8-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times8-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-200-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-200-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-200-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-400-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-400-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-400-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32-config.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32.macros +0 -1
- data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-unrolling-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-unrolling.macros +0 -1
- data/ext/digest/kangarootwelve/targets/generic32lc/PlSnP-Fallback.inc +0 -1
- data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times2-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times2-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times4-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times4-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times8-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times8-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic64/KeccakP-200-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic64/KeccakP-200-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic64/KeccakP-200-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic64/KeccakP-400-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic64/KeccakP-400-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic64/KeccakP-400-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32-config.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32.macros +0 -1
- data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-unrolling-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-unrolling.macros +0 -1
- data/ext/digest/kangarootwelve/targets/generic64/PlSnP-Fallback.inc +0 -1
- data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times2-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times2-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times4-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times4-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times8-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times8-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-200-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-200-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-200-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-400-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-400-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-400-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32-config.h +0 -1
- data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32.c +0 -1
- data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32.macros +0 -1
- data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-unrolling-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-unrolling.macros +0 -1
- data/ext/digest/kangarootwelve/targets/generic64lc/PlSnP-Fallback.inc +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KangarooTwelve.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KangarooTwelve.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times2-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times2-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times4-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times4-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times8-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times8-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KeccakP-200-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KeccakP-200-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KeccakP-200-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KeccakP-400-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KeccakP-400-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KeccakP-400-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KeccakP-800-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KeccakP-800-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KeccakP-800-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KeccakSponge.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KeccakSponge.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference/KeccakSponge.inc +0 -1
- data/ext/digest/kangarootwelve/targets/reference/Phases.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference/PlSnP-Fallback.inc +0 -1
- data/ext/digest/kangarootwelve/targets/reference/TurboSHAKE.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference/TurboSHAKE.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference/align.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference/brg_endian.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference/config.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference/displayIntermediateValues.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference/displayIntermediateValues.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference/ext.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference/utils.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KangarooTwelve.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KangarooTwelve.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-reference32BI.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times2-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times2-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times4-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times4-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times8-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times8-on1.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-200-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-200-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-200-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-400-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-400-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-400-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-800-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-800-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-800-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KeccakSponge.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KeccakSponge.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/KeccakSponge.inc +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/Phases.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/PlSnP-Fallback.inc +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/TurboSHAKE.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/TurboSHAKE.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/align.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/brg_endian.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/config.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/displayIntermediateValues.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/displayIntermediateValues.h +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/ext.c +0 -1
- data/ext/digest/kangarootwelve/targets/reference32bits/utils.h +0 -1
- data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times4-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times4-on2.c +0 -1
- data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times8-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times8-on2.c +0 -1
- data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-200-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-200-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-200-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-400-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-400-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-400-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32-config.h +0 -1
- data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32.c +0 -1
- data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32.macros +0 -1
- data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-unrolling-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-unrolling.macros +0 -1
- data/ext/digest/kangarootwelve/targets/ssse3/PlSnP-Fallback.inc +0 -1
- data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times4-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times4-on2.c +0 -1
- data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times8-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times8-on2.c +0 -1
- data/ext/digest/kangarootwelve/targets/xop/KeccakP-200-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/xop/KeccakP-200-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/xop/KeccakP-200-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/xop/KeccakP-400-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/xop/KeccakP-400-reference.c +0 -1
- data/ext/digest/kangarootwelve/targets/xop/KeccakP-400-reference.h +0 -1
- data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-SnP.h +0 -1
- data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32-config.h +0 -1
- data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32.c +0 -1
- data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32.macros +0 -1
- data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-unrolling-bis.macros +0 -1
- data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-unrolling.macros +0 -1
- data/ext/digest/kangarootwelve/targets/xop/PlSnP-Fallback.inc +0 -1
| @@ -1,929 +0,0 @@ | |
| 1 | 
            -
            ;
         | 
| 2 | 
            -
            ; The eXtended Keccak Code Package (XKCP)
         | 
| 3 | 
            -
            ; https://github.com/XKCP/XKCP
         | 
| 4 | 
            -
            ;
         | 
| 5 | 
            -
            ; The Keccak-p permutations, designed by Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche.
         | 
| 6 | 
            -
            ;
         | 
| 7 | 
            -
            ; Implementation by Ronny Van Keer, hereby denoted as "the implementer".
         | 
| 8 | 
            -
            ;
         | 
| 9 | 
            -
            ; For more information, feedback or questions, please refer to the Keccak Team website:
         | 
| 10 | 
            -
            ; https://keccak.team/
         | 
| 11 | 
            -
            ;
         | 
| 12 | 
            -
            ; To the extent possible under law, the implementer has waived all copyright
         | 
| 13 | 
            -
            ; and related or neighboring rights to the source code in this file.
         | 
| 14 | 
            -
            ; http://creativecommons.org/publicdomain/zero/1.0/
         | 
| 15 | 
            -
            ;
         | 
| 16 | 
            -
            ; ---
         | 
| 17 | 
            -
            ;
         | 
| 18 | 
            -
            ; This file implements Keccak-p[800] in a SnP-compatible way.
         | 
| 19 | 
            -
            ; Please refer to SnP-documentation.h for more details.
         | 
| 20 | 
            -
            ;
         | 
| 21 | 
            -
            ; This implementation comes with KeccakP-800-SnP.h in the same folder.
         | 
| 22 | 
            -
            ; Please refer to LowLevel.build for the exact list of other files it must be combined with.
         | 
| 23 | 
            -
            ;
         | 
| 24 | 
            -
             | 
| 25 | 
            -
            ; INFO: Tested on ATmega1280 simulator
         | 
| 26 | 
            -
             | 
| 27 | 
            -
            ; Registers used in all routines
         | 
| 28 | 
            -
            #define zero    1
         | 
| 29 | 
            -
            #define rpState 24
         | 
| 30 | 
            -
            #define rX      26
         | 
| 31 | 
            -
            #define rY      28
         | 
| 32 | 
            -
            #define rZ      30
         | 
| 33 | 
            -
            #define sp      0x3D
         | 
| 34 | 
            -
             | 
| 35 | 
            -
            ;----------------------------------------------------------------------------
         | 
| 36 | 
            -
            ;
         | 
| 37 | 
            -
            ; void KeccakP800_StaticInitialize( void )
         | 
| 38 | 
            -
            ;
         | 
| 39 | 
            -
            .global KeccakP800_StaticInitialize
         | 
| 40 | 
            -
             | 
| 41 | 
            -
            ;----------------------------------------------------------------------------
         | 
| 42 | 
            -
            ;
         | 
| 43 | 
            -
            ; void KeccakP800_Initialize(void *state)
         | 
| 44 | 
            -
            ;
         | 
| 45 | 
            -
            ; argument state   is passed in r24:r25
         | 
| 46 | 
            -
            ;
         | 
| 47 | 
            -
            .global KeccakP800_Initialize
         | 
| 48 | 
            -
            KeccakP800_Initialize:
         | 
| 49 | 
            -
                movw    rZ, r24
         | 
| 50 | 
            -
                ldi     r23, 5*5            ; clear state (4 bytes/1 lane per iteration)
         | 
| 51 | 
            -
            KeccakP800_Initialize_Loop:
         | 
| 52 | 
            -
                st      z+, zero
         | 
| 53 | 
            -
                st      z+, zero
         | 
| 54 | 
            -
                st      z+, zero
         | 
| 55 | 
            -
                st      z+, zero
         | 
| 56 | 
            -
                dec     r23
         | 
| 57 | 
            -
                brne    KeccakP800_Initialize_Loop
         | 
| 58 | 
            -
            KeccakP800_StaticInitialize:
         | 
| 59 | 
            -
                ret
         | 
| 60 | 
            -
             | 
| 61 | 
            -
            ;----------------------------------------------------------------------------
         | 
| 62 | 
            -
            ;
         | 
| 63 | 
            -
            ; void KeccakP800_AddByte(void *state, unsigned char data, unsigned int offset)
         | 
| 64 | 
            -
            ;
         | 
| 65 | 
            -
            ; argument state     is passed in r24:r25
         | 
| 66 | 
            -
            ; argument data      is passed in r22:r23, only LSB (r22) is used
         | 
| 67 | 
            -
            ; argument offset    is passed in r20:r21, only LSB (r20) is used
         | 
| 68 | 
            -
            ;
         | 
| 69 | 
            -
            .global KeccakP800_AddByte
         | 
| 70 | 
            -
            KeccakP800_AddByte:
         | 
| 71 | 
            -
                movw    rZ, r24
         | 
| 72 | 
            -
                add     rZ, r20
         | 
| 73 | 
            -
                adc     rZ+1, zero
         | 
| 74 | 
            -
                ld      r0, Z
         | 
| 75 | 
            -
                eor     r0, r22
         | 
| 76 | 
            -
                st      Z, r0
         | 
| 77 | 
            -
                ret
         | 
| 78 | 
            -
             | 
| 79 | 
            -
            ;----------------------------------------------------------------------------
         | 
| 80 | 
            -
            ;
         | 
| 81 | 
            -
            ; void KeccakP800_AddBytes(void *state, const unsigned char *data, unsigned int offset, unsigned int length)
         | 
| 82 | 
            -
            ;
         | 
| 83 | 
            -
            ; argument state     is passed in r24:r25
         | 
| 84 | 
            -
            ; argument data      is passed in r22:r23
         | 
| 85 | 
            -
            ; argument offset    is passed in r20:r21, only LSB (r20) is used
         | 
| 86 | 
            -
            ; argument length    is passed in r18:r19, only LSB (r18) is used
         | 
| 87 | 
            -
            ;
         | 
| 88 | 
            -
            .global KeccakP800_AddBytes
         | 
| 89 | 
            -
            KeccakP800_AddBytes:
         | 
| 90 | 
            -
                movw    rZ, r24
         | 
| 91 | 
            -
                add     rZ, r20
         | 
| 92 | 
            -
                adc     rZ+1, zero
         | 
| 93 | 
            -
                movw    rX, r22
         | 
| 94 | 
            -
                subi    r18, 8
         | 
| 95 | 
            -
                brcs    KeccakP800_AddBytes_Byte
         | 
| 96 | 
            -
                ;do 8 bytes per iteration
         | 
| 97 | 
            -
            KeccakP800_AddBytes_Loop8:
         | 
| 98 | 
            -
                ld      r21, X+
         | 
| 99 | 
            -
                ld      r0, Z
         | 
| 100 | 
            -
                eor     r0, r21
         | 
| 101 | 
            -
                st      Z+, r0
         | 
| 102 | 
            -
                ld      r21, X+
         | 
| 103 | 
            -
                ld      r0, Z
         | 
| 104 | 
            -
                eor     r0, r21
         | 
| 105 | 
            -
                st      Z+, r0
         | 
| 106 | 
            -
                ld      r21, X+
         | 
| 107 | 
            -
                ld      r0, Z
         | 
| 108 | 
            -
                eor     r0, r21
         | 
| 109 | 
            -
                st      Z+, r0
         | 
| 110 | 
            -
                ld      r21, X+
         | 
| 111 | 
            -
                ld      r0, Z
         | 
| 112 | 
            -
                eor     r0, r21
         | 
| 113 | 
            -
                st      Z+, r0
         | 
| 114 | 
            -
             | 
| 115 | 
            -
                ld      r21, X+
         | 
| 116 | 
            -
                ld      r0, Z
         | 
| 117 | 
            -
                eor     r0, r21
         | 
| 118 | 
            -
                st      Z+, r0
         | 
| 119 | 
            -
                ld      r21, X+
         | 
| 120 | 
            -
                ld      r0, Z
         | 
| 121 | 
            -
                eor     r0, r21
         | 
| 122 | 
            -
                st      Z+, r0
         | 
| 123 | 
            -
                ld      r21, X+
         | 
| 124 | 
            -
                ld      r0, Z
         | 
| 125 | 
            -
                eor     r0, r21
         | 
| 126 | 
            -
                st      Z+, r0
         | 
| 127 | 
            -
                ld      r21, X+
         | 
| 128 | 
            -
                ld      r0, Z
         | 
| 129 | 
            -
                eor     r0, r21
         | 
| 130 | 
            -
                st      Z+, r0
         | 
| 131 | 
            -
             | 
| 132 | 
            -
                subi    r18, 8
         | 
| 133 | 
            -
                brcc    KeccakP800_AddBytes_Loop8
         | 
| 134 | 
            -
            KeccakP800_AddBytes_Byte:
         | 
| 135 | 
            -
                ldi     r19, 8
         | 
| 136 | 
            -
                add     r18, r19
         | 
| 137 | 
            -
                breq    KeccakP800_AddBytes_End
         | 
| 138 | 
            -
            KeccakP800_AddBytes_Loop1:
         | 
| 139 | 
            -
                ld      r21, X+
         | 
| 140 | 
            -
                ld      r0, Z
         | 
| 141 | 
            -
                eor     r0, r21
         | 
| 142 | 
            -
                st      Z+, r0
         | 
| 143 | 
            -
                dec     r18
         | 
| 144 | 
            -
                brne    KeccakP800_AddBytes_Loop1
         | 
| 145 | 
            -
            KeccakP800_AddBytes_End:
         | 
| 146 | 
            -
                ret
         | 
| 147 | 
            -
             | 
| 148 | 
            -
             | 
| 149 | 
            -
            ;----------------------------------------------------------------------------
         | 
| 150 | 
            -
            ;
         | 
| 151 | 
            -
            ; void KeccakP800_OverwriteBytes(void *state, const unsigned char *data, unsigned int offset, unsigned int length)
         | 
| 152 | 
            -
            ;
         | 
| 153 | 
            -
            ; argument state     is passed in r24:r25
         | 
| 154 | 
            -
            ; argument data      is passed in r22:r23
         | 
| 155 | 
            -
            ; argument offset    is passed in r20:r21, only LSB (r20) is used
         | 
| 156 | 
            -
            ; argument length    is passed in r18:r19, only LSB (r18) is used
         | 
| 157 | 
            -
            ;
         | 
| 158 | 
            -
            .global KeccakP800_OverwriteBytes
         | 
| 159 | 
            -
            KeccakP800_OverwriteBytes:
         | 
| 160 | 
            -
                movw    rZ, r24
         | 
| 161 | 
            -
                add     rZ, r20
         | 
| 162 | 
            -
                adc     rZ+1, zero
         | 
| 163 | 
            -
                movw    rX, r22
         | 
| 164 | 
            -
                subi    r18, 8
         | 
| 165 | 
            -
                brcs    KeccakP800_OverwriteBytes_Byte
         | 
| 166 | 
            -
                ;do 8 bytes per iteration
         | 
| 167 | 
            -
            KeccakP800_OverwriteBytes_Loop8:
         | 
| 168 | 
            -
                ld      r0, X+
         | 
| 169 | 
            -
                st      Z+, r0
         | 
| 170 | 
            -
                ld      r0, X+
         | 
| 171 | 
            -
                st      Z+, r0
         | 
| 172 | 
            -
                ld      r0, X+
         | 
| 173 | 
            -
                st      Z+, r0
         | 
| 174 | 
            -
                ld      r0, X+
         | 
| 175 | 
            -
                st      Z+, r0
         | 
| 176 | 
            -
                ld      r0, X+
         | 
| 177 | 
            -
                st      Z+, r0
         | 
| 178 | 
            -
                ld      r0, X+
         | 
| 179 | 
            -
                st      Z+, r0
         | 
| 180 | 
            -
                ld      r0, X+
         | 
| 181 | 
            -
                st      Z+, r0
         | 
| 182 | 
            -
                ld      r0, X+
         | 
| 183 | 
            -
                st      Z+, r0
         | 
| 184 | 
            -
                subi    r18, 8
         | 
| 185 | 
            -
                brcc    KeccakP800_OverwriteBytes_Loop8
         | 
| 186 | 
            -
            KeccakP800_OverwriteBytes_Byte:
         | 
| 187 | 
            -
                ldi     r19, 8
         | 
| 188 | 
            -
                add     r18, r19
         | 
| 189 | 
            -
                breq    KeccakP800_OverwriteBytes_End
         | 
| 190 | 
            -
            KeccakP800_OverwriteBytes_Loop1:
         | 
| 191 | 
            -
                ld      r0, X+
         | 
| 192 | 
            -
                st      Z+, r0
         | 
| 193 | 
            -
                dec     r18
         | 
| 194 | 
            -
                brne    KeccakP800_OverwriteBytes_Loop1
         | 
| 195 | 
            -
            KeccakP800_OverwriteBytes_End:
         | 
| 196 | 
            -
                ret
         | 
| 197 | 
            -
             | 
| 198 | 
            -
            ;----------------------------------------------------------------------------
         | 
| 199 | 
            -
            ;
         | 
| 200 | 
            -
            ; void KeccakP800_OverwriteWithZeroes(void *state, unsigned int byteCount)
         | 
| 201 | 
            -
            ;
         | 
| 202 | 
            -
            ; argument state        is passed in r24:r25
         | 
| 203 | 
            -
            ; argument byteCount    is passed in r22:r23, only LSB (r22) is used
         | 
| 204 | 
            -
            ;
         | 
| 205 | 
            -
            .global KeccakP800_OverwriteWithZeroes
         | 
| 206 | 
            -
            KeccakP800_OverwriteWithZeroes:
         | 
| 207 | 
            -
                movw    rZ, r24         ;rZ = state
         | 
| 208 | 
            -
                mov     r23, r22
         | 
| 209 | 
            -
                lsr     r23
         | 
| 210 | 
            -
                lsr     r23
         | 
| 211 | 
            -
                breq    KeccakP800_OverwriteWithZeroes_Bytes
         | 
| 212 | 
            -
            KeccakP800_OverwriteWithZeroes_LoopLanes:
         | 
| 213 | 
            -
                st      Z+, r1
         | 
| 214 | 
            -
                st      Z+, r1
         | 
| 215 | 
            -
                st      Z+, r1
         | 
| 216 | 
            -
                st      Z+, r1
         | 
| 217 | 
            -
                dec     r23
         | 
| 218 | 
            -
                brne    KeccakP800_OverwriteWithZeroes_LoopLanes
         | 
| 219 | 
            -
            KeccakP800_OverwriteWithZeroes_Bytes:
         | 
| 220 | 
            -
                andi    r22, 3
         | 
| 221 | 
            -
                breq    KeccakP800_OverwriteWithZeroes_End
         | 
| 222 | 
            -
            KeccakP800_OverwriteWithZeroes_LoopBytes:
         | 
| 223 | 
            -
                st      Z+, r1
         | 
| 224 | 
            -
                dec     r22
         | 
| 225 | 
            -
                brne    KeccakP800_OverwriteWithZeroes_LoopBytes
         | 
| 226 | 
            -
            KeccakP800_OverwriteWithZeroes_End:
         | 
| 227 | 
            -
                ret
         | 
| 228 | 
            -
             | 
| 229 | 
            -
            ;----------------------------------------------------------------------------
         | 
| 230 | 
            -
            ;
         | 
| 231 | 
            -
            ; void KeccakP800_ExtractBytes(void *state, const unsigned char *data, unsigned int offset, unsigned int length)
         | 
| 232 | 
            -
            ;
         | 
| 233 | 
            -
            ; argument state     is passed in r24:r25
         | 
| 234 | 
            -
            ; argument data      is passed in r22:r23
         | 
| 235 | 
            -
            ; argument offset    is passed in r20:r21, only LSB (r20) is used
         | 
| 236 | 
            -
            ; argument length    is passed in r18:r19, only LSB (r18) is used
         | 
| 237 | 
            -
            ;
         | 
| 238 | 
            -
            .global KeccakP800_ExtractBytes
         | 
| 239 | 
            -
            KeccakP800_ExtractBytes:
         | 
| 240 | 
            -
                movw    rZ, r24
         | 
| 241 | 
            -
                add     rZ, r20
         | 
| 242 | 
            -
                adc     rZ+1, zero
         | 
| 243 | 
            -
                movw    rX, r22
         | 
| 244 | 
            -
                subi    r18, 8
         | 
| 245 | 
            -
                brcs    KeccakP800_ExtractBytes_Byte
         | 
| 246 | 
            -
                ;do 8 bytes per iteration
         | 
| 247 | 
            -
            KeccakP800_ExtractBytes_Loop8:
         | 
| 248 | 
            -
                ld      r0, Z+
         | 
| 249 | 
            -
                st      X+, r0
         | 
| 250 | 
            -
                ld      r0, Z+
         | 
| 251 | 
            -
                st      X+, r0
         | 
| 252 | 
            -
                ld      r0, Z+
         | 
| 253 | 
            -
                st      X+, r0
         | 
| 254 | 
            -
                ld      r0, Z+
         | 
| 255 | 
            -
                st      X+, r0
         | 
| 256 | 
            -
                ld      r0, Z+
         | 
| 257 | 
            -
                st      X+, r0
         | 
| 258 | 
            -
                ld      r0, Z+
         | 
| 259 | 
            -
                st      X+, r0
         | 
| 260 | 
            -
                ld      r0, Z+
         | 
| 261 | 
            -
                st      X+, r0
         | 
| 262 | 
            -
                ld      r0, Z+
         | 
| 263 | 
            -
                st      X+, r0
         | 
| 264 | 
            -
                subi    r18, 8
         | 
| 265 | 
            -
                brcc    KeccakP800_ExtractBytes_Loop8
         | 
| 266 | 
            -
            KeccakP800_ExtractBytes_Byte:
         | 
| 267 | 
            -
                ldi     r19, 8
         | 
| 268 | 
            -
                add     r18, r19
         | 
| 269 | 
            -
                breq    KeccakP800_ExtractBytes_End
         | 
| 270 | 
            -
            KeccakP800_ExtractBytes_Loop1:
         | 
| 271 | 
            -
                ld      r0, Z+
         | 
| 272 | 
            -
                st      X+, r0
         | 
| 273 | 
            -
                dec     r18
         | 
| 274 | 
            -
                brne    KeccakP800_ExtractBytes_Loop1
         | 
| 275 | 
            -
            KeccakP800_ExtractBytes_End:
         | 
| 276 | 
            -
                ret
         | 
| 277 | 
            -
             | 
| 278 | 
            -
            ;----------------------------------------------------------------------------
         | 
| 279 | 
            -
            ;
         | 
| 280 | 
            -
            ; void KeccakP800_ExtractAndAddBytes(void *state, const unsigned char *input, unsigned char *output, unsigned int offset, unsigned int length)
         | 
| 281 | 
            -
            ;
         | 
| 282 | 
            -
            ; argument state     is passed in r24:r25
         | 
| 283 | 
            -
            ; argument input     is passed in r22:r23
         | 
| 284 | 
            -
            ; argument output    is passed in r20:r21
         | 
| 285 | 
            -
            ; argument offset    is passed in r18:r19, only LSB (r18) is used
         | 
| 286 | 
            -
            ; argument length    is passed in r16:r17, only LSB (r16) is used
         | 
| 287 | 
            -
            ;
         | 
| 288 | 
            -
            .global KeccakP800_ExtractAndAddBytes
         | 
| 289 | 
            -
            KeccakP800_ExtractAndAddBytes:
         | 
| 290 | 
            -
                tst     r16
         | 
| 291 | 
            -
                breq    KeccakP800_ExtractAndAddBytes_End
         | 
| 292 | 
            -
                push    r16
         | 
| 293 | 
            -
                push    r28
         | 
| 294 | 
            -
                push    r29
         | 
| 295 | 
            -
                movw    rZ, r24
         | 
| 296 | 
            -
                add     rZ, r18
         | 
| 297 | 
            -
                adc     rZ+1, zero
         | 
| 298 | 
            -
                movw    rX, r22
         | 
| 299 | 
            -
                movw    rY, r20
         | 
| 300 | 
            -
                subi    r16, 4
         | 
| 301 | 
            -
                brcs    KeccakP800_ExtractAndAddBytes_Byte
         | 
| 302 | 
            -
            KeccakP800_ExtractAndAddBytes_LoopLane:
         | 
| 303 | 
            -
                ld      r21, Z+
         | 
| 304 | 
            -
                ld      r0, X+
         | 
| 305 | 
            -
                eor     r0, r21
         | 
| 306 | 
            -
                st      Y+, r0
         | 
| 307 | 
            -
                ld      r21, Z+
         | 
| 308 | 
            -
                ld      r0, X+
         | 
| 309 | 
            -
                eor     r0, r21
         | 
| 310 | 
            -
                st      Y+, r0
         | 
| 311 | 
            -
                ld      r21, Z+
         | 
| 312 | 
            -
                ld      r0, X+
         | 
| 313 | 
            -
                eor     r0, r21
         | 
| 314 | 
            -
                st      Y+, r0
         | 
| 315 | 
            -
                ld      r21, Z+
         | 
| 316 | 
            -
                ld      r0, X+
         | 
| 317 | 
            -
                eor     r0, r21
         | 
| 318 | 
            -
                st      Y+, r0
         | 
| 319 | 
            -
                subi    r16, 4
         | 
| 320 | 
            -
                brcc    KeccakP800_ExtractAndAddBytes_LoopLane
         | 
| 321 | 
            -
            KeccakP800_ExtractAndAddBytes_Byte:
         | 
| 322 | 
            -
                ldi     r19, 4
         | 
| 323 | 
            -
                add     r16, r19
         | 
| 324 | 
            -
                breq    KeccakP800_ExtractAndAddBytes_Done
         | 
| 325 | 
            -
            KeccakP800_ExtractAndAddBytes_Loop1:
         | 
| 326 | 
            -
                ld      r21, Z+
         | 
| 327 | 
            -
                ld      r0, X+
         | 
| 328 | 
            -
                eor     r0, r21
         | 
| 329 | 
            -
                st      Y+, r0
         | 
| 330 | 
            -
                dec     r16
         | 
| 331 | 
            -
                brne    KeccakP800_ExtractAndAddBytes_Loop1
         | 
| 332 | 
            -
            KeccakP800_ExtractAndAddBytes_Done:
         | 
| 333 | 
            -
                pop     r29
         | 
| 334 | 
            -
                pop     r28
         | 
| 335 | 
            -
                pop     r16
         | 
| 336 | 
            -
            KeccakP800_ExtractAndAddBytes_End:
         | 
| 337 | 
            -
                ret
         | 
| 338 | 
            -
             | 
| 339 | 
            -
             | 
| 340 | 
            -
            #define ROT_BIT(a)      ((a) & 7)
         | 
| 341 | 
            -
            #define ROT_BYTE(a)     ((((a)/8 + !!(((a)%8) > 4)) & 3) * 5)
         | 
| 342 | 
            -
             | 
| 343 | 
            -
            KeccakP800_RhoPiConstants:
         | 
| 344 | 
            -
                .BYTE    ROT_BIT( 1), ROT_BYTE( 3), 10 * 4
         | 
| 345 | 
            -
                .BYTE    ROT_BIT( 3), ROT_BYTE( 6),  7 * 4
         | 
| 346 | 
            -
                .BYTE    ROT_BIT( 6), ROT_BYTE(10), 11 * 4
         | 
| 347 | 
            -
                .BYTE    ROT_BIT(10), ROT_BYTE(15), 17 * 4
         | 
| 348 | 
            -
                .BYTE    ROT_BIT(15), ROT_BYTE(21), 18 * 4
         | 
| 349 | 
            -
                .BYTE    ROT_BIT(21), ROT_BYTE(28),  3 * 4
         | 
| 350 | 
            -
                .BYTE    ROT_BIT(28), ROT_BYTE(36),  5 * 4
         | 
| 351 | 
            -
                .BYTE    ROT_BIT(36), ROT_BYTE(45), 16 * 4
         | 
| 352 | 
            -
                .BYTE    ROT_BIT(45), ROT_BYTE(55),  8 * 4
         | 
| 353 | 
            -
                .BYTE    ROT_BIT(55), ROT_BYTE( 2), 21 * 4
         | 
| 354 | 
            -
                .BYTE    ROT_BIT( 2), ROT_BYTE(14), 24 * 4
         | 
| 355 | 
            -
                .BYTE    ROT_BIT(14), ROT_BYTE(27),  4 * 4
         | 
| 356 | 
            -
                .BYTE    ROT_BIT(27), ROT_BYTE(41), 15 * 4
         | 
| 357 | 
            -
                .BYTE    ROT_BIT(41), ROT_BYTE(56), 23 * 4
         | 
| 358 | 
            -
                .BYTE    ROT_BIT(56), ROT_BYTE( 8), 19 * 4
         | 
| 359 | 
            -
                .BYTE    ROT_BIT( 8), ROT_BYTE(25), 13 * 4
         | 
| 360 | 
            -
                .BYTE    ROT_BIT(25), ROT_BYTE(43), 12 * 4
         | 
| 361 | 
            -
                .BYTE    ROT_BIT(43), ROT_BYTE(62),  2 * 4
         | 
| 362 | 
            -
                .BYTE    ROT_BIT(62), ROT_BYTE(18), 20 * 4
         | 
| 363 | 
            -
                .BYTE    ROT_BIT(18), ROT_BYTE(39), 14 * 4
         | 
| 364 | 
            -
                .BYTE    ROT_BIT(39), ROT_BYTE(61), 22 * 4
         | 
| 365 | 
            -
                .BYTE    ROT_BIT(61), ROT_BYTE(20),  9 * 4
         | 
| 366 | 
            -
                .BYTE    ROT_BIT(20), ROT_BYTE(44),  6 * 4
         | 
| 367 | 
            -
                .BYTE    ROT_BIT(44), ROT_BYTE( 1),  1 * 4
         | 
| 368 | 
            -
             | 
| 369 | 
            -
            KeccakP800_RoundConstants_22:
         | 
| 370 | 
            -
                .BYTE    0x01, 0x00, 0x00, 0x00
         | 
| 371 | 
            -
                .BYTE    0x82, 0x80, 0x00, 0x00
         | 
| 372 | 
            -
                .BYTE    0x8a, 0x80, 0x00, 0x00
         | 
| 373 | 
            -
                .BYTE    0x00, 0x80, 0x00, 0x80
         | 
| 374 | 
            -
                .BYTE    0x8b, 0x80, 0x00, 0x00
         | 
| 375 | 
            -
                .BYTE    0x01, 0x00, 0x00, 0x80
         | 
| 376 | 
            -
                .BYTE    0x81, 0x80, 0x00, 0x80
         | 
| 377 | 
            -
                .BYTE    0x09, 0x80, 0x00, 0x00
         | 
| 378 | 
            -
                .BYTE    0x8a, 0x00, 0x00, 0x00
         | 
| 379 | 
            -
                .BYTE    0x88, 0x00, 0x00, 0x00
         | 
| 380 | 
            -
            KeccakP800_RoundConstants_12:
         | 
| 381 | 
            -
                .BYTE    0x09, 0x80, 0x00, 0x80
         | 
| 382 | 
            -
                .BYTE    0x0a, 0x00, 0x00, 0x80
         | 
| 383 | 
            -
                .BYTE    0x8b, 0x80, 0x00, 0x80
         | 
| 384 | 
            -
                .BYTE    0x8b, 0x00, 0x00, 0x00
         | 
| 385 | 
            -
                .BYTE    0x89, 0x80, 0x00, 0x00
         | 
| 386 | 
            -
                .BYTE    0x03, 0x80, 0x00, 0x00
         | 
| 387 | 
            -
                .BYTE    0x02, 0x80, 0x00, 0x00
         | 
| 388 | 
            -
                .BYTE    0x80, 0x00, 0x00, 0x00
         | 
| 389 | 
            -
                .BYTE    0x0a, 0x80, 0x00, 0x00
         | 
| 390 | 
            -
                .BYTE    0x0a, 0x00, 0x00, 0x80
         | 
| 391 | 
            -
                .BYTE    0x81, 0x80, 0x00, 0x80
         | 
| 392 | 
            -
                .BYTE    0x80, 0x80, 0x00, 0x00
         | 
| 393 | 
            -
            KeccakP800_RoundConstants_0:
         | 
| 394 | 
            -
                .BYTE    0xFF, 0        ; terminator
         | 
| 395 | 
            -
             | 
| 396 | 
            -
                .text
         | 
| 397 | 
            -
             | 
| 398 | 
            -
                #define pRound        22        // 2 regs (22-23)
         | 
| 399 | 
            -
             | 
| 400 | 
            -
            ;----------------------------------------------------------------------------
         | 
| 401 | 
            -
            ;
         | 
| 402 | 
            -
            ; void KeccakP800_Permute_Nrounds( void *state, unsigned int nrounds )
         | 
| 403 | 
            -
            ;
         | 
| 404 | 
            -
            ; argument state     is passed in r24:r25
         | 
| 405 | 
            -
            ; argument nrounds   is passed in r22:r23 (only LSB (r22) is used)
         | 
| 406 | 
            -
            ;
         | 
| 407 | 
            -
            .global KeccakP800_Permute_Nrounds
         | 
| 408 | 
            -
            KeccakP800_Permute_Nrounds:
         | 
| 409 | 
            -
            	mov		r26, r22
         | 
| 410 | 
            -
                ldi     pRound,   lo8(KeccakP800_RoundConstants_0)
         | 
| 411 | 
            -
                ldi     pRound+1, hi8(KeccakP800_RoundConstants_0)
         | 
| 412 | 
            -
            	lsl		r26
         | 
| 413 | 
            -
            	lsl		r26
         | 
| 414 | 
            -
                sub     pRound, r26
         | 
| 415 | 
            -
                sbc     pRound+1, zero
         | 
| 416 | 
            -
                rjmp    KeccakP800_Permute
         | 
| 417 | 
            -
             | 
| 418 | 
            -
            ;----------------------------------------------------------------------------
         | 
| 419 | 
            -
            ;
         | 
| 420 | 
            -
            ; void KeccakP800_Permute_22rounds( void *state )
         | 
| 421 | 
            -
            ;
         | 
| 422 | 
            -
            .global KeccakP800_Permute_22rounds
         | 
| 423 | 
            -
            KeccakP800_Permute_22rounds:
         | 
| 424 | 
            -
                ldi     pRound,   lo8(KeccakP800_RoundConstants_22)
         | 
| 425 | 
            -
                ldi     pRound+1, hi8(KeccakP800_RoundConstants_22)
         | 
| 426 | 
            -
                rjmp    KeccakP800_Permute
         | 
| 427 | 
            -
             | 
| 428 | 
            -
            ;----------------------------------------------------------------------------
         | 
| 429 | 
            -
            ;
         | 
| 430 | 
            -
            ; void KeccakP800_Permute_12rounds( void *state )
         | 
| 431 | 
            -
            ;
         | 
| 432 | 
            -
            .global KeccakP800_Permute_12rounds
         | 
| 433 | 
            -
            KeccakP800_Permute_12rounds:
         | 
| 434 | 
            -
                ldi     pRound,   lo8(KeccakP800_RoundConstants_12)
         | 
| 435 | 
            -
                ldi     pRound+1, hi8(KeccakP800_RoundConstants_12)
         | 
| 436 | 
            -
            KeccakP800_Permute:
         | 
| 437 | 
            -
                push    r2
         | 
| 438 | 
            -
                push    r3
         | 
| 439 | 
            -
                push    r4
         | 
| 440 | 
            -
                push    r5
         | 
| 441 | 
            -
                push    r6
         | 
| 442 | 
            -
                push    r7
         | 
| 443 | 
            -
                push    r8
         | 
| 444 | 
            -
                push    r9
         | 
| 445 | 
            -
                push    r10
         | 
| 446 | 
            -
                push    r11
         | 
| 447 | 
            -
                push    r12
         | 
| 448 | 
            -
                push    r13
         | 
| 449 | 
            -
                push    r14
         | 
| 450 | 
            -
                push    r15
         | 
| 451 | 
            -
                push    r16
         | 
| 452 | 
            -
                push    r17
         | 
| 453 | 
            -
                push    r28
         | 
| 454 | 
            -
                push    r29
         | 
| 455 | 
            -
             | 
| 456 | 
            -
                ; Allocate C variables (5*4)
         | 
| 457 | 
            -
                in      rZ,   sp
         | 
| 458 | 
            -
                in      rZ+1, sp+1
         | 
| 459 | 
            -
                sbiw     rZ, 5*4
         | 
| 460 | 
            -
                in      r0, 0x3F
         | 
| 461 | 
            -
                cli
         | 
| 462 | 
            -
                out     sp+1, rZ+1
         | 
| 463 | 
            -
                out     sp, rZ                ; Z points to 5 C lanes
         | 
| 464 | 
            -
                out     0x3F, r0
         | 
| 465 | 
            -
             | 
| 466 | 
            -
                ; Variables used in multiple operations
         | 
| 467 | 
            -
                #define rTemp        2      // 8 regs (2-9)
         | 
| 468 | 
            -
                #define rTempBis    10      // 8 regs (10-17)
         | 
| 469 | 
            -
                #define rTempTer    18      // 4 regs (18-21)
         | 
| 470 | 
            -
                #define pRound      22      // 2 regs (22-23)
         | 
| 471 | 
            -
             | 
| 472 | 
            -
                ; Initial Prepare Theta
         | 
| 473 | 
            -
                #define TCIPx       rTempTer
         | 
| 474 | 
            -
             | 
| 475 | 
            -
                ldi     TCIPx, 5
         | 
| 476 | 
            -
                movw    rY, rpState
         | 
| 477 | 
            -
            KeccakInitialPrepTheta_Loop:
         | 
| 478 | 
            -
                ld      rTemp+0, Y+        ;state[x]
         | 
| 479 | 
            -
                ld      rTemp+1, Y+
         | 
| 480 | 
            -
                ld      rTemp+2, Y+
         | 
| 481 | 
            -
                ld      rTemp+3, Y+
         | 
| 482 | 
            -
             | 
| 483 | 
            -
                adiw    rY, 16
         | 
| 484 | 
            -
                ld      r0, Y+            ;state[5+x]
         | 
| 485 | 
            -
                eor     rTemp+0, r0
         | 
| 486 | 
            -
                ld      r0, Y+
         | 
| 487 | 
            -
                eor     rTemp+1, r0
         | 
| 488 | 
            -
                ld      r0, Y+
         | 
| 489 | 
            -
                eor     rTemp+2, r0
         | 
| 490 | 
            -
                ld      r0, Y+
         | 
| 491 | 
            -
                eor     rTemp+3, r0
         | 
| 492 | 
            -
             | 
| 493 | 
            -
                adiw    rY, 16
         | 
| 494 | 
            -
                ld      r0, Y+            ;state[10+x]
         | 
| 495 | 
            -
                eor     rTemp+0, r0
         | 
| 496 | 
            -
                ld      r0, Y+
         | 
| 497 | 
            -
                eor     rTemp+1, r0
         | 
| 498 | 
            -
                ld      r0, Y+
         | 
| 499 | 
            -
                eor     rTemp+2, r0
         | 
| 500 | 
            -
                ld      r0, Y+
         | 
| 501 | 
            -
                eor     rTemp+3, r0
         | 
| 502 | 
            -
             | 
| 503 | 
            -
                adiw    rY, 16
         | 
| 504 | 
            -
                ld      r0, Y+            ;state[15+x]
         | 
| 505 | 
            -
                eor     rTemp+0, r0
         | 
| 506 | 
            -
                ld      r0, Y+
         | 
| 507 | 
            -
                eor     rTemp+1, r0
         | 
| 508 | 
            -
                ld      r0, Y+
         | 
| 509 | 
            -
                eor     rTemp+2, r0
         | 
| 510 | 
            -
                ld      r0, Y+
         | 
| 511 | 
            -
                eor     rTemp+3, r0
         | 
| 512 | 
            -
             | 
| 513 | 
            -
                adiw    rY, 16
         | 
| 514 | 
            -
                ld      r0, Y+            ;state[20+x]
         | 
| 515 | 
            -
                eor     rTemp+0, r0
         | 
| 516 | 
            -
                ld      r0, Y+
         | 
| 517 | 
            -
                eor     rTemp+1, r0
         | 
| 518 | 
            -
                ld      r0, Y+
         | 
| 519 | 
            -
                eor     rTemp+2, r0
         | 
| 520 | 
            -
                ld      r0, Y+
         | 
| 521 | 
            -
                eor     rTemp+3, r0
         | 
| 522 | 
            -
             | 
| 523 | 
            -
                st      Z+, rTemp+0
         | 
| 524 | 
            -
                st      Z+, rTemp+1
         | 
| 525 | 
            -
                st      Z+, rTemp+2
         | 
| 526 | 
            -
                st      Z+, rTemp+3
         | 
| 527 | 
            -
             | 
| 528 | 
            -
                subi    rY, 80
         | 
| 529 | 
            -
                sbc     rY+1, zero
         | 
| 530 | 
            -
             | 
| 531 | 
            -
                subi    TCIPx, 1
         | 
| 532 | 
            -
                brne    KeccakInitialPrepTheta_Loop
         | 
| 533 | 
            -
                #undef  TCIPx
         | 
| 534 | 
            -
             | 
| 535 | 
            -
            Keccak_RoundLoop:
         | 
| 536 | 
            -
             | 
| 537 | 
            -
                ; Theta
         | 
| 538 | 
            -
                #define TCplus          rX
         | 
| 539 | 
            -
                #define TCminus         rZ
         | 
| 540 | 
            -
                #define TCcoordX        rTempTer
         | 
| 541 | 
            -
                #define TCcoordY        rTempTer+1
         | 
| 542 | 
            -
             | 
| 543 | 
            -
                in      TCminus, sp
         | 
| 544 | 
            -
                in      TCminus+1, sp+1
         | 
| 545 | 
            -
                movw    TCplus, TCminus
         | 
| 546 | 
            -
                adiw    TCminus, 4*4
         | 
| 547 | 
            -
                adiw    TCplus, 1*4
         | 
| 548 | 
            -
                movw    rY, rpState
         | 
| 549 | 
            -
             | 
| 550 | 
            -
                ldi     TCcoordX, 0x16
         | 
| 551 | 
            -
            KeccakTheta_Loop1:
         | 
| 552 | 
            -
                ld      rTemp+0, X+
         | 
| 553 | 
            -
                ld      rTemp+1, X+
         | 
| 554 | 
            -
                ld      rTemp+2, X+
         | 
| 555 | 
            -
                ld      rTemp+3, X+
         | 
| 556 | 
            -
             | 
| 557 | 
            -
                lsl     rTemp+0
         | 
| 558 | 
            -
                rol     rTemp+1
         | 
| 559 | 
            -
                rol     rTemp+2
         | 
| 560 | 
            -
                rol     rTemp+3
         | 
| 561 | 
            -
                adc     rTemp+0, zero
         | 
| 562 | 
            -
             | 
| 563 | 
            -
                ld      r0, Z+
         | 
| 564 | 
            -
                eor     rTemp+0, r0
         | 
| 565 | 
            -
                ld      r0, Z+
         | 
| 566 | 
            -
                eor     rTemp+1, r0
         | 
| 567 | 
            -
                ld      r0, Z+
         | 
| 568 | 
            -
                eor     rTemp+2, r0
         | 
| 569 | 
            -
                ld      r0, Z+
         | 
| 570 | 
            -
                eor     rTemp+3, r0
         | 
| 571 | 
            -
             | 
| 572 | 
            -
                ldi     TCcoordY, 5
         | 
| 573 | 
            -
            KeccakTheta_Loop2:
         | 
| 574 | 
            -
                ld      r0, Y
         | 
| 575 | 
            -
                eor     r0, rTemp+0
         | 
| 576 | 
            -
                st      Y+, r0
         | 
| 577 | 
            -
                ld      r0, Y
         | 
| 578 | 
            -
                eor     r0, rTemp+1
         | 
| 579 | 
            -
                st      Y+, r0
         | 
| 580 | 
            -
                ld      r0, Y
         | 
| 581 | 
            -
                eor     r0, rTemp+2
         | 
| 582 | 
            -
                st      Y+, r0
         | 
| 583 | 
            -
                ld      r0, Y
         | 
| 584 | 
            -
                eor     r0, rTemp+3
         | 
| 585 | 
            -
                st      Y+, r0
         | 
| 586 | 
            -
                adiw    rY, 16
         | 
| 587 | 
            -
             | 
| 588 | 
            -
                dec     TCcoordY
         | 
| 589 | 
            -
                brne    KeccakTheta_Loop2
         | 
| 590 | 
            -
             | 
| 591 | 
            -
                subi    rY, 100-4
         | 
| 592 | 
            -
                sbc     rY+1, zero
         | 
| 593 | 
            -
             | 
| 594 | 
            -
                lsr     TCcoordX
         | 
| 595 | 
            -
                brcc    1f
         | 
| 596 | 
            -
                brne    KeccakTheta_Loop1
         | 
| 597 | 
            -
                rjmp    KeccakTheta_End
         | 
| 598 | 
            -
            1:
         | 
| 599 | 
            -
                cpi     TCcoordX, 0x0B
         | 
| 600 | 
            -
                brne    2f
         | 
| 601 | 
            -
                sbiw    TCminus, 20
         | 
| 602 | 
            -
                rjmp    KeccakTheta_Loop1
         | 
| 603 | 
            -
            2:
         | 
| 604 | 
            -
                sbiw    TCplus, 20
         | 
| 605 | 
            -
                rjmp    KeccakTheta_Loop1
         | 
| 606 | 
            -
             | 
| 607 | 
            -
            KeccakTheta_End:
         | 
| 608 | 
            -
                #undef  TCplus
         | 
| 609 | 
            -
                #undef  TCminus
         | 
| 610 | 
            -
                #undef  TCcoordX
         | 
| 611 | 
            -
                #undef  TCcoordY
         | 
| 612 | 
            -
             | 
| 613 | 
            -
                ; Rho Pi
         | 
| 614 | 
            -
                #define RPpConst    rTempTer        // 2 regs
         | 
| 615 | 
            -
                #define RPindex     rTempTer+2
         | 
| 616 | 
            -
                #define RPpBitRot   rX
         | 
| 617 | 
            -
                #define RPpByteRot  pRound
         | 
| 618 | 
            -
             | 
| 619 | 
            -
                sbiw    rY, 16
         | 
| 620 | 
            -
             | 
| 621 | 
            -
                ld      rTemp+0, Y+
         | 
| 622 | 
            -
                ld      rTemp+1, Y+
         | 
| 623 | 
            -
                ld      rTemp+2, Y+
         | 
| 624 | 
            -
                ld      rTemp+3, Y+
         | 
| 625 | 
            -
             | 
| 626 | 
            -
                push    pRound
         | 
| 627 | 
            -
                push    pRound+1
         | 
| 628 | 
            -
                ldi     RPpConst,   lo8(KeccakP800_RhoPiConstants)
         | 
| 629 | 
            -
                ldi     RPpConst+1, hi8(KeccakP800_RhoPiConstants)
         | 
| 630 | 
            -
                ldi     RPpBitRot,   pm_lo8(bit_rot_jmp_table)
         | 
| 631 | 
            -
                ldi     RPpBitRot+1, pm_hi8(bit_rot_jmp_table)
         | 
| 632 | 
            -
                ldi     RPpByteRot,   pm_lo8(rotate32_0byte_left)
         | 
| 633 | 
            -
                ldi     RPpByteRot+1, pm_hi8(rotate32_0byte_left)
         | 
| 634 | 
            -
             | 
| 635 | 
            -
            KeccakRhoPi_Loop:
         | 
| 636 | 
            -
                ; get rotation codes and state index
         | 
| 637 | 
            -
                movw    rZ, RPpConst
         | 
| 638 | 
            -
                lpm     r0, Z+              ;bits
         | 
| 639 | 
            -
                lpm     rTempBis, Z+        ;bytes
         | 
| 640 | 
            -
                lpm     RPindex, Z+
         | 
| 641 | 
            -
                movw    RPpConst, rZ
         | 
| 642 | 
            -
             | 
| 643 | 
            -
                ; do bit rotation
         | 
| 644 | 
            -
                movw    rZ, RPpBitRot
         | 
| 645 | 
            -
                add     rZ, r0
         | 
| 646 | 
            -
                adc     rZ+1, zero
         | 
| 647 | 
            -
                ijmp
         | 
| 648 | 
            -
             | 
| 649 | 
            -
            KeccakRhoPi_RhoBitRotateDone:
         | 
| 650 | 
            -
                movw    rY, rpState
         | 
| 651 | 
            -
                add     rY, RPindex
         | 
| 652 | 
            -
                adc     rY+1, zero
         | 
| 653 | 
            -
             | 
| 654 | 
            -
                movw    rZ, RPpByteRot
         | 
| 655 | 
            -
                add     rZ, rTempBis
         | 
| 656 | 
            -
                adc     rZ+1, zero
         | 
| 657 | 
            -
                ijmp
         | 
| 658 | 
            -
             | 
| 659 | 
            -
            KeccakRhoPi_PiStore:
         | 
| 660 | 
            -
                sbiw    rY, 4
         | 
| 661 | 
            -
                st      Y+, rTemp+0
         | 
| 662 | 
            -
                st      Y+, rTemp+1
         | 
| 663 | 
            -
                st      Y+, rTemp+2
         | 
| 664 | 
            -
                st      Y+, rTemp+3
         | 
| 665 | 
            -
             | 
| 666 | 
            -
                movw    rTemp+0, rTempBis+0
         | 
| 667 | 
            -
                movw    rTemp+2, rTempBis+2
         | 
| 668 | 
            -
            KeccakRhoPi_RhoDone:
         | 
| 669 | 
            -
                subi    RPindex, 4
         | 
| 670 | 
            -
                brne    KeccakRhoPi_Loop
         | 
| 671 | 
            -
                pop     pRound+1
         | 
| 672 | 
            -
                pop     pRound
         | 
| 673 | 
            -
             | 
| 674 | 
            -
                #undef  RPpConst
         | 
| 675 | 
            -
                #undef  RPindex
         | 
| 676 | 
            -
                #undef  RPpBitrot
         | 
| 677 | 
            -
                #undef  RPpByteRot
         | 
| 678 | 
            -
             | 
| 679 | 
            -
             | 
| 680 | 
            -
                ; Chi Iota prepare Theta
         | 
| 681 | 
            -
                #define CIPTa0          rTemp
         | 
| 682 | 
            -
                #define CIPTa1          rTemp+1
         | 
| 683 | 
            -
                #define CIPTa2          rTemp+2
         | 
| 684 | 
            -
                #define CIPTa3          rTemp+3
         | 
| 685 | 
            -
                #define CIPTa4          rTemp+4
         | 
| 686 | 
            -
                #define CIPTc0          rTempBis
         | 
| 687 | 
            -
                #define CIPTc1          rTempBis+1
         | 
| 688 | 
            -
                #define CIPTc2          rTempBis+2
         | 
| 689 | 
            -
                #define CIPTc3          rTempBis+3
         | 
| 690 | 
            -
                #define CIPTc4          rTempBis+4
         | 
| 691 | 
            -
                #define CIPTz           rTempBis+6
         | 
| 692 | 
            -
                #define CIPTy           rTempBis+7
         | 
| 693 | 
            -
             | 
| 694 | 
            -
                in      rX, sp          ; 5 * C
         | 
| 695 | 
            -
                in      rX+1, sp+1
         | 
| 696 | 
            -
                movw    rY, rpState
         | 
| 697 | 
            -
                movw    rZ, pRound
         | 
| 698 | 
            -
             | 
| 699 | 
            -
                ldi     CIPTz, 4
         | 
| 700 | 
            -
            KeccakChiIotaPrepareTheta_zLoop:
         | 
| 701 | 
            -
                mov     CIPTc0, zero
         | 
| 702 | 
            -
                mov     CIPTc1, zero
         | 
| 703 | 
            -
                movw    CIPTc2, CIPTc0
         | 
| 704 | 
            -
                mov     CIPTc4, zero
         | 
| 705 | 
            -
             | 
| 706 | 
            -
                ldi     CIPTy, 5
         | 
| 707 | 
            -
            KeccakChiIotaPrepareTheta_yLoop:
         | 
| 708 | 
            -
                ld      CIPTa0, Y
         | 
| 709 | 
            -
                ldd     CIPTa1, Y+4
         | 
| 710 | 
            -
                ldd     CIPTa2, Y+8
         | 
| 711 | 
            -
                ldd     CIPTa3, Y+12
         | 
| 712 | 
            -
                ldd     CIPTa4, Y+16
         | 
| 713 | 
            -
             | 
| 714 | 
            -
                ;*p = t = a0 ^ ((~a1) & a2); c0 ^= t;
         | 
| 715 | 
            -
                mov     r0, CIPTa1
         | 
| 716 | 
            -
                com     r0
         | 
| 717 | 
            -
                and     r0, CIPTa2
         | 
| 718 | 
            -
                eor     r0, CIPTa0
         | 
| 719 | 
            -
                eor     CIPTc0, r0
         | 
| 720 | 
            -
                st      Y, r0
         | 
| 721 | 
            -
             | 
| 722 | 
            -
                ;*(p+4) = t = a1 ^ ((~a2) & a3); c1 ^= t;
         | 
| 723 | 
            -
                mov     r0, CIPTa2
         | 
| 724 | 
            -
                com     r0
         | 
| 725 | 
            -
                and     r0, CIPTa3
         | 
| 726 | 
            -
                eor     r0, CIPTa1
         | 
| 727 | 
            -
                eor     CIPTc1, r0
         | 
| 728 | 
            -
                std     Y+4, r0
         | 
| 729 | 
            -
             | 
| 730 | 
            -
                ;*(p+8) = a2 ^= ((~a3) & a4); c2 ^= a2;
         | 
| 731 | 
            -
                mov     r0, CIPTa3
         | 
| 732 | 
            -
                com     r0
         | 
| 733 | 
            -
                and     r0, CIPTa4
         | 
| 734 | 
            -
                eor     r0, CIPTa2
         | 
| 735 | 
            -
                eor     CIPTc2, r0
         | 
| 736 | 
            -
                std     Y+8, r0
         | 
| 737 | 
            -
             | 
| 738 | 
            -
                ;*(p+12) = a3 ^= ((~a4) & a0); c3 ^= a3;
         | 
| 739 | 
            -
                mov     r0, CIPTa4
         | 
| 740 | 
            -
                com     r0
         | 
| 741 | 
            -
                and     r0, CIPTa0
         | 
| 742 | 
            -
                eor     r0, CIPTa3
         | 
| 743 | 
            -
                eor     CIPTc3, r0
         | 
| 744 | 
            -
                std     Y+12, r0
         | 
| 745 | 
            -
             | 
| 746 | 
            -
                ;*(p+16) = a4 ^= ((~a0) & a1); c4 ^= a4;
         | 
| 747 | 
            -
                com     CIPTa0
         | 
| 748 | 
            -
                and     CIPTa0, CIPTa1
         | 
| 749 | 
            -
                eor     CIPTa0, CIPTa4
         | 
| 750 | 
            -
                eor     CIPTc4, CIPTa0
         | 
| 751 | 
            -
                std     Y+16, CIPTa0
         | 
| 752 | 
            -
             | 
| 753 | 
            -
                adiw    rY, 20
         | 
| 754 | 
            -
                dec     CIPTy
         | 
| 755 | 
            -
                brne    KeccakChiIotaPrepareTheta_yLoop
         | 
| 756 | 
            -
             | 
| 757 | 
            -
                subi    rY, 100
         | 
| 758 | 
            -
                sbc     rY+1, zero
         | 
| 759 | 
            -
             | 
| 760 | 
            -
                lpm     r0, Z+            ;Round Constant
         | 
| 761 | 
            -
                ld      CIPTa0, Y
         | 
| 762 | 
            -
                eor     CIPTa0, r0
         | 
| 763 | 
            -
                st      Y+, CIPTa0
         | 
| 764 | 
            -
             | 
| 765 | 
            -
                movw    pRound, rZ
         | 
| 766 | 
            -
                movw    rZ, rX
         | 
| 767 | 
            -
                eor     CIPTc0, r0
         | 
| 768 | 
            -
                st      Z+, CIPTc0
         | 
| 769 | 
            -
                std     Z+3, CIPTc1
         | 
| 770 | 
            -
                std     Z+7, CIPTc2
         | 
| 771 | 
            -
                std     Z+11, CIPTc3
         | 
| 772 | 
            -
                std     Z+15, CIPTc4
         | 
| 773 | 
            -
                movw    rX, rZ
         | 
| 774 | 
            -
                movw    rZ, pRound
         | 
| 775 | 
            -
             | 
| 776 | 
            -
                dec     CIPTz
         | 
| 777 | 
            -
                brne    KeccakChiIotaPrepareTheta_zLoop
         | 
| 778 | 
            -
             | 
| 779 | 
            -
                #undef  CIPTa0
         | 
| 780 | 
            -
                #undef  CIPTa1
         | 
| 781 | 
            -
                #undef  CIPTa2
         | 
| 782 | 
            -
                #undef  CIPTa3
         | 
| 783 | 
            -
                #undef  CIPTa4
         | 
| 784 | 
            -
                #undef  CIPTc0
         | 
| 785 | 
            -
                #undef  CIPTc1
         | 
| 786 | 
            -
                #undef  CIPTc2
         | 
| 787 | 
            -
                #undef  CIPTc3
         | 
| 788 | 
            -
                #undef  CIPTc4
         | 
| 789 | 
            -
                #undef  CIPTz
         | 
| 790 | 
            -
                #undef  CIPTy
         | 
| 791 | 
            -
             | 
| 792 | 
            -
                ;Check for terminator
         | 
| 793 | 
            -
                lpm     r0, Z
         | 
| 794 | 
            -
                inc     r0
         | 
| 795 | 
            -
                breq    Keccak_Done
         | 
| 796 | 
            -
                rjmp    Keccak_RoundLoop
         | 
| 797 | 
            -
            Keccak_Done:
         | 
| 798 | 
            -
             | 
| 799 | 
            -
                ; Free C(on stack) and registers
         | 
| 800 | 
            -
                in      rX, sp          ; free 5 C lanes
         | 
| 801 | 
            -
                in      rX+1, sp+1
         | 
| 802 | 
            -
                adiw    rX, 5*4
         | 
| 803 | 
            -
                in      r0, 0x3F
         | 
| 804 | 
            -
                cli
         | 
| 805 | 
            -
                out     sp+1, rX+1
         | 
| 806 | 
            -
                out     sp, rX
         | 
| 807 | 
            -
                out     0x3F, r0
         | 
| 808 | 
            -
             | 
| 809 | 
            -
                pop     r29
         | 
| 810 | 
            -
                pop     r28
         | 
| 811 | 
            -
                pop     r17
         | 
| 812 | 
            -
                pop     r16
         | 
| 813 | 
            -
                pop     r15
         | 
| 814 | 
            -
                pop     r14
         | 
| 815 | 
            -
                pop     r13
         | 
| 816 | 
            -
                pop     r12
         | 
| 817 | 
            -
                pop     r11
         | 
| 818 | 
            -
                pop     r10
         | 
| 819 | 
            -
                pop     r9
         | 
| 820 | 
            -
                pop     r8
         | 
| 821 | 
            -
                pop     r7
         | 
| 822 | 
            -
                pop     r6
         | 
| 823 | 
            -
                pop     r5
         | 
| 824 | 
            -
                pop     r4
         | 
| 825 | 
            -
                pop     r3
         | 
| 826 | 
            -
                pop     r2
         | 
| 827 | 
            -
                ret
         | 
| 828 | 
            -
             | 
| 829 | 
            -
            bit_rot_jmp_table:
         | 
| 830 | 
            -
                rjmp    KeccakRhoPi_RhoBitRotateDone
         | 
| 831 | 
            -
                rjmp    rotate32_1bit_left
         | 
| 832 | 
            -
                rjmp    rotate32_2bit_left
         | 
| 833 | 
            -
                rjmp    rotate32_3bit_left
         | 
| 834 | 
            -
                rjmp    rotate32_4bit_left
         | 
| 835 | 
            -
                rjmp    rotate32_3bit_right
         | 
| 836 | 
            -
                rjmp    rotate32_2bit_right
         | 
| 837 | 
            -
                rjmp    rotate32_1bit_right
         | 
| 838 | 
            -
             | 
| 839 | 
            -
            rotate32_4bit_left:
         | 
| 840 | 
            -
                lsl     rTemp
         | 
| 841 | 
            -
                rol     rTemp+1
         | 
| 842 | 
            -
                rol     rTemp+2
         | 
| 843 | 
            -
                rol     rTemp+3
         | 
| 844 | 
            -
                adc     rTemp, r1
         | 
| 845 | 
            -
            rotate32_3bit_left:
         | 
| 846 | 
            -
                lsl     rTemp
         | 
| 847 | 
            -
                rol     rTemp+1
         | 
| 848 | 
            -
                rol     rTemp+2
         | 
| 849 | 
            -
                rol     rTemp+3
         | 
| 850 | 
            -
                adc     rTemp, r1
         | 
| 851 | 
            -
            rotate32_2bit_left:
         | 
| 852 | 
            -
                lsl     rTemp
         | 
| 853 | 
            -
                rol     rTemp+1
         | 
| 854 | 
            -
                rol     rTemp+2
         | 
| 855 | 
            -
                rol     rTemp+3
         | 
| 856 | 
            -
                adc     rTemp, r1
         | 
| 857 | 
            -
            rotate32_1bit_left:
         | 
| 858 | 
            -
                lsl     rTemp
         | 
| 859 | 
            -
                rol     rTemp+1
         | 
| 860 | 
            -
                rol     rTemp+2
         | 
| 861 | 
            -
                rol     rTemp+3
         | 
| 862 | 
            -
                adc     rTemp, r1
         | 
| 863 | 
            -
                rjmp    KeccakRhoPi_RhoBitRotateDone
         | 
| 864 | 
            -
             | 
| 865 | 
            -
            rotate32_3bit_right:
         | 
| 866 | 
            -
                bst     rTemp, 0
         | 
| 867 | 
            -
                ror     rTemp+3
         | 
| 868 | 
            -
                ror     rTemp+2
         | 
| 869 | 
            -
                ror     rTemp+1
         | 
| 870 | 
            -
                ror     rTemp
         | 
| 871 | 
            -
                bld     rTemp+3, 7
         | 
| 872 | 
            -
            rotate32_2bit_right:
         | 
| 873 | 
            -
                bst     rTemp, 0
         | 
| 874 | 
            -
                ror     rTemp+3
         | 
| 875 | 
            -
                ror     rTemp+2
         | 
| 876 | 
            -
                ror     rTemp+1
         | 
| 877 | 
            -
                ror     rTemp
         | 
| 878 | 
            -
                bld     rTemp+3, 7
         | 
| 879 | 
            -
            rotate32_1bit_right:
         | 
| 880 | 
            -
                bst     rTemp, 0
         | 
| 881 | 
            -
                ror     rTemp+3
         | 
| 882 | 
            -
                ror     rTemp+2
         | 
| 883 | 
            -
                ror     rTemp+1
         | 
| 884 | 
            -
                ror     rTemp
         | 
| 885 | 
            -
                bld     rTemp+3, 7
         | 
| 886 | 
            -
                rjmp    KeccakRhoPi_RhoBitRotateDone
         | 
| 887 | 
            -
             | 
| 888 | 
            -
             | 
| 889 | 
            -
            ; Each byte rotate routine must be 5 instructions long.
         | 
| 890 | 
            -
             | 
| 891 | 
            -
            rotate32_0byte_left:
         | 
| 892 | 
            -
                ld      rTempBis+0, Y+
         | 
| 893 | 
            -
                ld      rTempBis+1, Y+
         | 
| 894 | 
            -
                ld      rTempBis+2, Y+
         | 
| 895 | 
            -
                ld      rTempBis+3, Y+
         | 
| 896 | 
            -
                rjmp    KeccakRhoPi_PiStore
         | 
| 897 | 
            -
             | 
| 898 | 
            -
            rotate32_1byte_left:
         | 
| 899 | 
            -
                ld      rTempBis+1, Y+
         | 
| 900 | 
            -
                ld      rTempBis+2, Y+
         | 
| 901 | 
            -
                ld      rTempBis+3, Y+
         | 
| 902 | 
            -
                ld      rTempBis+0, Y+
         | 
| 903 | 
            -
                rjmp    KeccakRhoPi_PiStore
         | 
| 904 | 
            -
             | 
| 905 | 
            -
            rotate32_2byte_left:
         | 
| 906 | 
            -
                ld      rTempBis+2, Y+
         | 
| 907 | 
            -
                ld      rTempBis+3, Y+
         | 
| 908 | 
            -
                ld      rTempBis+0, Y+
         | 
| 909 | 
            -
                ld      rTempBis+1, Y+
         | 
| 910 | 
            -
                rjmp    KeccakRhoPi_PiStore
         | 
| 911 | 
            -
             | 
| 912 | 
            -
            rotate32_3byte_left:
         | 
| 913 | 
            -
                ld      rTempBis+3, Y+
         | 
| 914 | 
            -
                ld      rTempBis+0, Y+
         | 
| 915 | 
            -
                ld      rTempBis+1, Y+
         | 
| 916 | 
            -
                ld      rTempBis+2, Y+
         | 
| 917 | 
            -
                rjmp    KeccakRhoPi_PiStore
         | 
| 918 | 
            -
             | 
| 919 | 
            -
                #undef  rTemp
         | 
| 920 | 
            -
                #undef  rTempBis
         | 
| 921 | 
            -
                #undef  rTempTer
         | 
| 922 | 
            -
                #undef  pRound
         | 
| 923 | 
            -
             | 
| 924 | 
            -
                #undef  rpState
         | 
| 925 | 
            -
                #undef  zero
         | 
| 926 | 
            -
                #undef  rX
         | 
| 927 | 
            -
                #undef  rY
         | 
| 928 | 
            -
                #undef  rZ
         | 
| 929 | 
            -
                #undef  sp
         |