digest-kangarootwelve 0.4.8 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (473) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.XKCP +0 -20
  3. data/README.md +2 -2
  4. data/ext/digest/kangarootwelve/XKCP/lib/high/KangarooTwelve/KangarooTwelve.c +20 -20
  5. data/ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.c +2 -0
  6. data/ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.h +4 -4
  7. data/ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.inc +27 -31
  8. data/ext/digest/kangarootwelve/XKCP/lib/high/TurboSHAKE/TurboSHAKE.c +2 -0
  9. data/ext/digest/kangarootwelve/XKCP/lib/high/TurboSHAKE/TurboSHAKE.h +1 -1
  10. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ARM/KeccakP-1600-SnP.h +18 -12
  11. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ARMv7A-NEON/KeccakP-1600-SnP.h +19 -11
  12. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVR8/KeccakP-1600-SnP.h +18 -12
  13. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVR8/KeccakP-1600-avr8-fast.s +10 -10
  14. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX2/KeccakP-1600-AVX2.s +3 -0
  15. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX2/KeccakP-1600-SnP.h +24 -14
  16. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX512/C/KeccakP-1600-AVX512.c +23 -22
  17. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX512/C/KeccakP-1600-SnP.h +18 -13
  18. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX512/KeccakP-1600-AVX512.s +12 -12
  19. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX512/KeccakP-1600-SnP.h +18 -14
  20. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/XOP/KeccakP-1600-SnP.h +19 -13
  21. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/XOP/KeccakP-1600-XOP.c +36 -36
  22. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/compact/KeccakP-1600-SnP.h +18 -12
  23. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/compact/KeccakP-1600-compact64.c +19 -19
  24. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-32bits-inplace/KeccakP-1600-SnP.h +18 -12
  25. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-32bits-inplace/KeccakP-1600-inplace32BI.c +31 -31
  26. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-64bits/KeccakP-1600-SnP.h +21 -16
  27. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-64bits/KeccakP-1600-opt64.c +64 -64
  28. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/ARMv7A-NEON/KeccakP-1600-inplace-pl2-armv7a-neon-le-gcc.s +16 -16
  29. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/ARMv7A-NEON/KeccakP-1600-times2-SnP.h +24 -17
  30. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/AVX512/KeccakP-1600-times2-SIMD512.c +37 -37
  31. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/AVX512/KeccakP-1600-times2-SnP.h +25 -17
  32. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/SIMD128/KeccakP-1600-times2-SIMD128.c +32 -34
  33. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/SIMD128/KeccakP-1600-times2-SnP.h +24 -17
  34. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX2/KeccakP-1600-times4-SIMD256.c +39 -43
  35. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX2/KeccakP-1600-times4-SnP.h +26 -20
  36. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX512/KeccakP-1600-times4-SIMD512.c +38 -39
  37. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX512/KeccakP-1600-times4-SnP.h +25 -19
  38. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/AVX512/KeccakP-1600-times8-SIMD512.c +33 -35
  39. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/AVX512/KeccakP-1600-times8-SnP.h +26 -21
  40. data/ext/digest/kangarootwelve/XKCP/lib/low/common/SnP-Relaned.h +25 -21
  41. data/ext/digest/kangarootwelve/targets/armv7a/config.h +1 -0
  42. data/ext/digest/kangarootwelve/targets/avx/config.h +1 -0
  43. data/ext/digest/kangarootwelve/targets/avx2/config.h +2 -0
  44. data/ext/digest/kangarootwelve/targets/avx2noasm/config.h +2 -0
  45. data/ext/digest/kangarootwelve/targets/avx512/config.h +3 -0
  46. data/ext/digest/kangarootwelve/targets/avx512noasm/config.h +3 -0
  47. data/ext/digest/kangarootwelve/targets/config.h +0 -6
  48. data/ext/digest/kangarootwelve/targets/list +0 -2
  49. data/ext/digest/kangarootwelve/targets/ssse3/config.h +1 -0
  50. data/ext/digest/kangarootwelve/targets/xop/config.h +1 -0
  51. data/lib/digest/kangarootwelve/version.rb +1 -1
  52. metadata +2 -423
  53. data/ext/digest/kangarootwelve/.sitearchdir.-.digest.time +0 -0
  54. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-32bits/KeccakP-1600-SnP.h +0 -44
  55. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-32bits/KeccakP-1600-reference.h +0 -23
  56. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-32bits/KeccakP-1600-reference32BI.c +0 -625
  57. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-64bits/KeccakP-1600-SnP.h +0 -44
  58. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-64bits/KeccakP-1600-reference.c +0 -444
  59. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-64bits/KeccakP-1600-reference.h +0 -23
  60. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/fallback-on1/KeccakP-1600-times2-SnP.h +0 -45
  61. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/fallback-on1/KeccakP-1600-times2-on1.c +0 -37
  62. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on1/KeccakP-1600-times4-SnP.h +0 -45
  63. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on1/KeccakP-1600-times4-on1.c +0 -37
  64. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on2/KeccakP-1600-times4-SnP.h +0 -45
  65. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on2/KeccakP-1600-times4-on2.c +0 -38
  66. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on1/KeccakP-1600-times8-SnP.h +0 -45
  67. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on1/KeccakP-1600-times8-on1.c +0 -37
  68. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on2/KeccakP-1600-times8-SnP.h +0 -45
  69. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on2/KeccakP-1600-times8-on2.c +0 -38
  70. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on4/KeccakP-1600-times8-SnP.h +0 -45
  71. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on4/KeccakP-1600-times8-on4.c +0 -38
  72. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ARM/KeccakP-200-SnP.h +0 -41
  73. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ARM/KeccakP-200-armv6m-le-gcc.s +0 -446
  74. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ARM/KeccakP-200-armv7m-le-gcc.s +0 -427
  75. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/AVR8/KeccakP-200-SnP.h +0 -41
  76. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/AVR8/KeccakP-200-avr8-fast.s +0 -647
  77. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/compact/KeccakP-200-SnP.h +0 -39
  78. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/compact/KeccakP-200-compact.c +0 -190
  79. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ref/KeccakP-200-SnP.h +0 -43
  80. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ref/KeccakP-200-reference.c +0 -416
  81. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ref/KeccakP-200-reference.h +0 -23
  82. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ARM/KeccakP-400-SnP.h +0 -41
  83. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ARM/KeccakP-400-armv6m-le-gcc.s +0 -458
  84. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ARM/KeccakP-400-armv7m-le-gcc.s +0 -458
  85. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/AVR8/KeccakP-400-SnP.h +0 -41
  86. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/AVR8/KeccakP-400-avr8-fast.s +0 -728
  87. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ref/KeccakP-400-SnP.h +0 -43
  88. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ref/KeccakP-400-reference.c +0 -418
  89. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ref/KeccakP-400-reference.h +0 -23
  90. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ARM/KeccakP-800-SnP.h +0 -42
  91. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ARM/KeccakP-800-u2-armv6m-le-gcc.s +0 -534
  92. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ARM/KeccakP-800-u2-armv7a-le-gcc.s +0 -527
  93. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ARM/KeccakP-800-u2-armv7m-le-gcc.s +0 -523
  94. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/AVR8/KeccakP-800-SnP.h +0 -42
  95. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/AVR8/KeccakP-800-avr8-fast.s +0 -929
  96. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/compact/KeccakP-800-SnP.h +0 -40
  97. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/compact/KeccakP-800-compact.c +0 -244
  98. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-SnP.h +0 -46
  99. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-opt32-bis.macros +0 -184
  100. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-opt32.c +0 -454
  101. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-opt32.macros +0 -459
  102. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-unrolling-bis.macros +0 -83
  103. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-unrolling.macros +0 -88
  104. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/lcu2/KeccakP-800-opt32-config.h +0 -7
  105. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/lcua/KeccakP-800-opt32-config.h +0 -7
  106. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/u2/KeccakP-800-opt32-config.h +0 -7
  107. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/ua/KeccakP-800-opt32-config.h +0 -7
  108. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ref/KeccakP-800-SnP.h +0 -44
  109. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ref/KeccakP-800-reference.c +0 -441
  110. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ref/KeccakP-800-reference.h +0 -23
  111. data/ext/digest/kangarootwelve/XKCP/lib/low/common/PlSnP-Fallback.inc +0 -291
  112. data/ext/digest/kangarootwelve/XKCP/tests/UnitTests/displayIntermediateValues.c +0 -177
  113. data/ext/digest/kangarootwelve/XKCP/tests/UnitTests/displayIntermediateValues.h +0 -30
  114. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times2-SnP.h +0 -1
  115. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times2-on1.c +0 -1
  116. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times4-SnP.h +0 -1
  117. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times4-on1.c +0 -1
  118. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times8-SnP.h +0 -1
  119. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times8-on1.c +0 -1
  120. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-200-SnP.h +0 -1
  121. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-200-armv6m-le-gcc.S +0 -1
  122. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-400-SnP.h +0 -1
  123. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-400-armv6m-le-gcc.S +0 -1
  124. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-800-SnP.h +0 -1
  125. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-800-u2-armv6m-le-gcc.S +0 -1
  126. data/ext/digest/kangarootwelve/targets/armv6/PlSnP-Fallback.inc +0 -1
  127. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times2-SnP.h +0 -1
  128. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times2-on1.c +0 -1
  129. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times4-SnP.h +0 -1
  130. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times4-on1.c +0 -1
  131. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times8-SnP.h +0 -1
  132. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times8-on1.c +0 -1
  133. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-200-SnP.h +0 -1
  134. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-200-armv6m-le-gcc.S +0 -1
  135. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-400-SnP.h +0 -1
  136. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-400-armv6m-le-gcc.S +0 -1
  137. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-800-SnP.h +0 -1
  138. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-800-u2-armv6m-le-gcc.S +0 -1
  139. data/ext/digest/kangarootwelve/targets/armv6m/PlSnP-Fallback.inc +0 -1
  140. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times4-SnP.h +0 -1
  141. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times4-on2.c +0 -1
  142. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times8-SnP.h +0 -1
  143. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times8-on2.c +0 -1
  144. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-200-SnP.h +0 -1
  145. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-200-reference.c +0 -1
  146. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-200-reference.h +0 -1
  147. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-400-SnP.h +0 -1
  148. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-400-reference.c +0 -1
  149. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-400-reference.h +0 -1
  150. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-800-SnP.h +0 -1
  151. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-800-u2-armv7a-le-gcc.S +0 -1
  152. data/ext/digest/kangarootwelve/targets/armv7a/PlSnP-Fallback.inc +0 -1
  153. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times2-SnP.h +0 -1
  154. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times2-on1.c +0 -1
  155. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times4-SnP.h +0 -1
  156. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times4-on1.c +0 -1
  157. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times8-SnP.h +0 -1
  158. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times8-on1.c +0 -1
  159. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-200-SnP.h +0 -1
  160. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-200-armv7m-le-gcc.S +0 -1
  161. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-400-SnP.h +0 -1
  162. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-400-armv7m-le-gcc.S +0 -1
  163. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-800-SnP.h +0 -1
  164. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-800-u2-armv7m-le-gcc.S +0 -1
  165. data/ext/digest/kangarootwelve/targets/armv7m/PlSnP-Fallback.inc +0 -1
  166. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times2-SnP.h +0 -1
  167. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times2-on1.c +0 -1
  168. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times4-SnP.h +0 -1
  169. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times4-on1.c +0 -1
  170. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times8-SnP.h +0 -1
  171. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times8-on1.c +0 -1
  172. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-200-SnP.h +0 -1
  173. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-200-reference.c +0 -1
  174. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-200-reference.h +0 -1
  175. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-400-SnP.h +0 -1
  176. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-400-reference.c +0 -1
  177. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-400-reference.h +0 -1
  178. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-SnP.h +0 -1
  179. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32-bis.macros +0 -1
  180. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32-config.h +0 -1
  181. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32.c +0 -1
  182. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32.macros +0 -1
  183. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-unrolling-bis.macros +0 -1
  184. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-unrolling.macros +0 -1
  185. data/ext/digest/kangarootwelve/targets/armv8a/PlSnP-Fallback.inc +0 -1
  186. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times2-SnP.h +0 -1
  187. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times2-on1.c +0 -1
  188. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times4-SnP.h +0 -1
  189. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times4-on1.c +0 -1
  190. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times8-SnP.h +0 -1
  191. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times8-on1.c +0 -1
  192. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-200-SnP.h +0 -1
  193. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-200-avr8-fast.S +0 -1
  194. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-400-SnP.h +0 -1
  195. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-400-avr8-fast.S +0 -1
  196. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-800-SnP.h +0 -1
  197. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-800-avr8-fast.S +0 -1
  198. data/ext/digest/kangarootwelve/targets/avr8/PlSnP-Fallback.inc +0 -1
  199. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times4-SnP.h +0 -1
  200. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times4-on2.c +0 -1
  201. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times8-SnP.h +0 -1
  202. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times8-on2.c +0 -1
  203. data/ext/digest/kangarootwelve/targets/avx/KeccakP-200-SnP.h +0 -1
  204. data/ext/digest/kangarootwelve/targets/avx/KeccakP-200-reference.c +0 -1
  205. data/ext/digest/kangarootwelve/targets/avx/KeccakP-200-reference.h +0 -1
  206. data/ext/digest/kangarootwelve/targets/avx/KeccakP-400-SnP.h +0 -1
  207. data/ext/digest/kangarootwelve/targets/avx/KeccakP-400-reference.c +0 -1
  208. data/ext/digest/kangarootwelve/targets/avx/KeccakP-400-reference.h +0 -1
  209. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-SnP.h +0 -1
  210. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32-bis.macros +0 -1
  211. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32-config.h +0 -1
  212. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32.c +0 -1
  213. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32.macros +0 -1
  214. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-unrolling-bis.macros +0 -1
  215. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-unrolling.macros +0 -1
  216. data/ext/digest/kangarootwelve/targets/avx/PlSnP-Fallback.inc +0 -1
  217. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times8-SnP.h +0 -1
  218. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times8-on4.c +0 -1
  219. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-200-SnP.h +0 -1
  220. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-200-reference.c +0 -1
  221. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-200-reference.h +0 -1
  222. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-400-SnP.h +0 -1
  223. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-400-reference.c +0 -1
  224. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-400-reference.h +0 -1
  225. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-SnP.h +0 -1
  226. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32-bis.macros +0 -1
  227. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32-config.h +0 -1
  228. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32.c +0 -1
  229. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32.macros +0 -1
  230. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-unrolling-bis.macros +0 -1
  231. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-unrolling.macros +0 -1
  232. data/ext/digest/kangarootwelve/targets/avx2/PlSnP-Fallback.inc +0 -1
  233. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times8-SnP.h +0 -1
  234. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times8-on4.c +0 -1
  235. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-200-SnP.h +0 -1
  236. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-200-reference.c +0 -1
  237. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-200-reference.h +0 -1
  238. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-400-SnP.h +0 -1
  239. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-400-reference.c +0 -1
  240. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-400-reference.h +0 -1
  241. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-SnP.h +0 -1
  242. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32-bis.macros +0 -1
  243. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32-config.h +0 -1
  244. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32.c +0 -1
  245. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32.macros +0 -1
  246. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-unrolling-bis.macros +0 -1
  247. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-unrolling.macros +0 -1
  248. data/ext/digest/kangarootwelve/targets/avx2noasm/PlSnP-Fallback.inc +0 -1
  249. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-200-SnP.h +0 -1
  250. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-200-reference.c +0 -1
  251. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-200-reference.h +0 -1
  252. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-400-SnP.h +0 -1
  253. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-400-reference.c +0 -1
  254. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-400-reference.h +0 -1
  255. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-SnP.h +0 -1
  256. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32-bis.macros +0 -1
  257. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32-config.h +0 -1
  258. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32.c +0 -1
  259. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32.macros +0 -1
  260. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-unrolling-bis.macros +0 -1
  261. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-unrolling.macros +0 -1
  262. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-200-SnP.h +0 -1
  263. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-200-reference.c +0 -1
  264. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-200-reference.h +0 -1
  265. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-400-SnP.h +0 -1
  266. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-400-reference.c +0 -1
  267. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-400-reference.h +0 -1
  268. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-SnP.h +0 -1
  269. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32-bis.macros +0 -1
  270. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32-config.h +0 -1
  271. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32.c +0 -1
  272. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32.macros +0 -1
  273. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-unrolling-bis.macros +0 -1
  274. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-unrolling.macros +0 -1
  275. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times2-SnP.h +0 -1
  276. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times2-on1.c +0 -1
  277. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times4-SnP.h +0 -1
  278. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times4-on1.c +0 -1
  279. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times8-SnP.h +0 -1
  280. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times8-on1.c +0 -1
  281. data/ext/digest/kangarootwelve/targets/compact/KeccakP-200-SnP.h +0 -1
  282. data/ext/digest/kangarootwelve/targets/compact/KeccakP-200-compact.c +0 -1
  283. data/ext/digest/kangarootwelve/targets/compact/KeccakP-400-SnP.h +0 -1
  284. data/ext/digest/kangarootwelve/targets/compact/KeccakP-400-reference.c +0 -1
  285. data/ext/digest/kangarootwelve/targets/compact/KeccakP-400-reference.h +0 -1
  286. data/ext/digest/kangarootwelve/targets/compact/KeccakP-800-SnP.h +0 -1
  287. data/ext/digest/kangarootwelve/targets/compact/KeccakP-800-compact.c +0 -1
  288. data/ext/digest/kangarootwelve/targets/compact/PlSnP-Fallback.inc +0 -1
  289. data/ext/digest/kangarootwelve/targets/defs +0 -2
  290. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times2-SnP.h +0 -1
  291. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times2-on1.c +0 -1
  292. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times4-SnP.h +0 -1
  293. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times4-on1.c +0 -1
  294. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times8-SnP.h +0 -1
  295. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times8-on1.c +0 -1
  296. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-200-SnP.h +0 -1
  297. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-200-reference.c +0 -1
  298. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-200-reference.h +0 -1
  299. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-400-SnP.h +0 -1
  300. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-400-reference.c +0 -1
  301. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-400-reference.h +0 -1
  302. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-SnP.h +0 -1
  303. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32-bis.macros +0 -1
  304. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32-config.h +0 -1
  305. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32.c +0 -1
  306. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32.macros +0 -1
  307. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-unrolling-bis.macros +0 -1
  308. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-unrolling.macros +0 -1
  309. data/ext/digest/kangarootwelve/targets/generic32/PlSnP-Fallback.inc +0 -1
  310. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times2-SnP.h +0 -1
  311. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times2-on1.c +0 -1
  312. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times4-SnP.h +0 -1
  313. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times4-on1.c +0 -1
  314. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times8-SnP.h +0 -1
  315. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times8-on1.c +0 -1
  316. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-200-SnP.h +0 -1
  317. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-200-reference.c +0 -1
  318. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-200-reference.h +0 -1
  319. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-400-SnP.h +0 -1
  320. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-400-reference.c +0 -1
  321. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-400-reference.h +0 -1
  322. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-SnP.h +0 -1
  323. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32-bis.macros +0 -1
  324. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32-config.h +0 -1
  325. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32.c +0 -1
  326. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32.macros +0 -1
  327. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-unrolling-bis.macros +0 -1
  328. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-unrolling.macros +0 -1
  329. data/ext/digest/kangarootwelve/targets/generic32lc/PlSnP-Fallback.inc +0 -1
  330. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times2-SnP.h +0 -1
  331. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times2-on1.c +0 -1
  332. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times4-SnP.h +0 -1
  333. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times4-on1.c +0 -1
  334. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times8-SnP.h +0 -1
  335. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times8-on1.c +0 -1
  336. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-200-SnP.h +0 -1
  337. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-200-reference.c +0 -1
  338. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-200-reference.h +0 -1
  339. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-400-SnP.h +0 -1
  340. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-400-reference.c +0 -1
  341. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-400-reference.h +0 -1
  342. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-SnP.h +0 -1
  343. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32-bis.macros +0 -1
  344. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32-config.h +0 -1
  345. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32.c +0 -1
  346. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32.macros +0 -1
  347. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-unrolling-bis.macros +0 -1
  348. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-unrolling.macros +0 -1
  349. data/ext/digest/kangarootwelve/targets/generic64/PlSnP-Fallback.inc +0 -1
  350. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times2-SnP.h +0 -1
  351. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times2-on1.c +0 -1
  352. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times4-SnP.h +0 -1
  353. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times4-on1.c +0 -1
  354. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times8-SnP.h +0 -1
  355. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times8-on1.c +0 -1
  356. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-200-SnP.h +0 -1
  357. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-200-reference.c +0 -1
  358. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-200-reference.h +0 -1
  359. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-400-SnP.h +0 -1
  360. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-400-reference.c +0 -1
  361. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-400-reference.h +0 -1
  362. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-SnP.h +0 -1
  363. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32-bis.macros +0 -1
  364. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32-config.h +0 -1
  365. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32.c +0 -1
  366. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32.macros +0 -1
  367. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-unrolling-bis.macros +0 -1
  368. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-unrolling.macros +0 -1
  369. data/ext/digest/kangarootwelve/targets/generic64lc/PlSnP-Fallback.inc +0 -1
  370. data/ext/digest/kangarootwelve/targets/reference/KangarooTwelve.c +0 -1
  371. data/ext/digest/kangarootwelve/targets/reference/KangarooTwelve.h +0 -1
  372. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-SnP.h +0 -1
  373. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-reference.c +0 -1
  374. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-reference.h +0 -1
  375. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times2-SnP.h +0 -1
  376. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times2-on1.c +0 -1
  377. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times4-SnP.h +0 -1
  378. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times4-on1.c +0 -1
  379. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times8-SnP.h +0 -1
  380. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times8-on1.c +0 -1
  381. data/ext/digest/kangarootwelve/targets/reference/KeccakP-200-SnP.h +0 -1
  382. data/ext/digest/kangarootwelve/targets/reference/KeccakP-200-reference.c +0 -1
  383. data/ext/digest/kangarootwelve/targets/reference/KeccakP-200-reference.h +0 -1
  384. data/ext/digest/kangarootwelve/targets/reference/KeccakP-400-SnP.h +0 -1
  385. data/ext/digest/kangarootwelve/targets/reference/KeccakP-400-reference.c +0 -1
  386. data/ext/digest/kangarootwelve/targets/reference/KeccakP-400-reference.h +0 -1
  387. data/ext/digest/kangarootwelve/targets/reference/KeccakP-800-SnP.h +0 -1
  388. data/ext/digest/kangarootwelve/targets/reference/KeccakP-800-reference.c +0 -1
  389. data/ext/digest/kangarootwelve/targets/reference/KeccakP-800-reference.h +0 -1
  390. data/ext/digest/kangarootwelve/targets/reference/KeccakSponge.c +0 -1
  391. data/ext/digest/kangarootwelve/targets/reference/KeccakSponge.h +0 -1
  392. data/ext/digest/kangarootwelve/targets/reference/KeccakSponge.inc +0 -1
  393. data/ext/digest/kangarootwelve/targets/reference/Phases.h +0 -1
  394. data/ext/digest/kangarootwelve/targets/reference/PlSnP-Fallback.inc +0 -1
  395. data/ext/digest/kangarootwelve/targets/reference/TurboSHAKE.c +0 -1
  396. data/ext/digest/kangarootwelve/targets/reference/TurboSHAKE.h +0 -1
  397. data/ext/digest/kangarootwelve/targets/reference/align.h +0 -1
  398. data/ext/digest/kangarootwelve/targets/reference/brg_endian.h +0 -1
  399. data/ext/digest/kangarootwelve/targets/reference/config.h +0 -1
  400. data/ext/digest/kangarootwelve/targets/reference/displayIntermediateValues.c +0 -1
  401. data/ext/digest/kangarootwelve/targets/reference/displayIntermediateValues.h +0 -1
  402. data/ext/digest/kangarootwelve/targets/reference/ext.c +0 -1
  403. data/ext/digest/kangarootwelve/targets/reference/utils.h +0 -1
  404. data/ext/digest/kangarootwelve/targets/reference32bits/KangarooTwelve.c +0 -1
  405. data/ext/digest/kangarootwelve/targets/reference32bits/KangarooTwelve.h +0 -1
  406. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-SnP.h +0 -1
  407. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-reference.h +0 -1
  408. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-reference32BI.c +0 -1
  409. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times2-SnP.h +0 -1
  410. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times2-on1.c +0 -1
  411. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times4-SnP.h +0 -1
  412. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times4-on1.c +0 -1
  413. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times8-SnP.h +0 -1
  414. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times8-on1.c +0 -1
  415. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-200-SnP.h +0 -1
  416. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-200-reference.c +0 -1
  417. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-200-reference.h +0 -1
  418. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-400-SnP.h +0 -1
  419. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-400-reference.c +0 -1
  420. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-400-reference.h +0 -1
  421. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-800-SnP.h +0 -1
  422. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-800-reference.c +0 -1
  423. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-800-reference.h +0 -1
  424. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakSponge.c +0 -1
  425. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakSponge.h +0 -1
  426. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakSponge.inc +0 -1
  427. data/ext/digest/kangarootwelve/targets/reference32bits/Phases.h +0 -1
  428. data/ext/digest/kangarootwelve/targets/reference32bits/PlSnP-Fallback.inc +0 -1
  429. data/ext/digest/kangarootwelve/targets/reference32bits/TurboSHAKE.c +0 -1
  430. data/ext/digest/kangarootwelve/targets/reference32bits/TurboSHAKE.h +0 -1
  431. data/ext/digest/kangarootwelve/targets/reference32bits/align.h +0 -1
  432. data/ext/digest/kangarootwelve/targets/reference32bits/brg_endian.h +0 -1
  433. data/ext/digest/kangarootwelve/targets/reference32bits/config.h +0 -1
  434. data/ext/digest/kangarootwelve/targets/reference32bits/displayIntermediateValues.c +0 -1
  435. data/ext/digest/kangarootwelve/targets/reference32bits/displayIntermediateValues.h +0 -1
  436. data/ext/digest/kangarootwelve/targets/reference32bits/ext.c +0 -1
  437. data/ext/digest/kangarootwelve/targets/reference32bits/utils.h +0 -1
  438. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times4-SnP.h +0 -1
  439. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times4-on2.c +0 -1
  440. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times8-SnP.h +0 -1
  441. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times8-on2.c +0 -1
  442. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-200-SnP.h +0 -1
  443. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-200-reference.c +0 -1
  444. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-200-reference.h +0 -1
  445. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-400-SnP.h +0 -1
  446. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-400-reference.c +0 -1
  447. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-400-reference.h +0 -1
  448. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-SnP.h +0 -1
  449. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32-bis.macros +0 -1
  450. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32-config.h +0 -1
  451. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32.c +0 -1
  452. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32.macros +0 -1
  453. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-unrolling-bis.macros +0 -1
  454. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-unrolling.macros +0 -1
  455. data/ext/digest/kangarootwelve/targets/ssse3/PlSnP-Fallback.inc +0 -1
  456. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times4-SnP.h +0 -1
  457. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times4-on2.c +0 -1
  458. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times8-SnP.h +0 -1
  459. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times8-on2.c +0 -1
  460. data/ext/digest/kangarootwelve/targets/xop/KeccakP-200-SnP.h +0 -1
  461. data/ext/digest/kangarootwelve/targets/xop/KeccakP-200-reference.c +0 -1
  462. data/ext/digest/kangarootwelve/targets/xop/KeccakP-200-reference.h +0 -1
  463. data/ext/digest/kangarootwelve/targets/xop/KeccakP-400-SnP.h +0 -1
  464. data/ext/digest/kangarootwelve/targets/xop/KeccakP-400-reference.c +0 -1
  465. data/ext/digest/kangarootwelve/targets/xop/KeccakP-400-reference.h +0 -1
  466. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-SnP.h +0 -1
  467. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32-bis.macros +0 -1
  468. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32-config.h +0 -1
  469. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32.c +0 -1
  470. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32.macros +0 -1
  471. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-unrolling-bis.macros +0 -1
  472. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-unrolling.macros +0 -1
  473. data/ext/digest/kangarootwelve/targets/xop/PlSnP-Fallback.inc +0 -1
@@ -23,9 +23,6 @@ Please refer to LowLevel.build for the exact list of other files it must be comb
23
23
  #include <stdio.h>
24
24
  #include <stdlib.h>
25
25
  #include <string.h>
26
- #include <smmintrin.h>
27
- #include <wmmintrin.h>
28
- #include <immintrin.h>
29
26
  #include <emmintrin.h>
30
27
  #include "align.h"
31
28
  #include "KeccakP-1600-times4-SnP.h"
@@ -37,7 +34,6 @@ Please refer to LowLevel.build for the exact list of other files it must be comb
37
34
  #endif
38
35
 
39
36
  typedef __m128i V128;
40
- typedef __m256i V256;
41
37
 
42
38
  //#define UseGatherScatter
43
39
 
@@ -53,8 +49,8 @@ typedef __m256i V256;
53
49
  #define ROL64in256(d, a, o) d = _mm256_or_si256(_mm256_slli_epi64(a, o), _mm256_srli_epi64(a, 64-(o)))
54
50
  #define ROL64in256_8(d, a) d = _mm256_shuffle_epi8(a, CONST256(rho8))
55
51
  #define ROL64in256_56(d, a) d = _mm256_shuffle_epi8(a, CONST256(rho56))
56
- static ALIGN(KeccakP1600times4_statesAlignment) const uint64_t rho8[4] = {0x0605040302010007, 0x0E0D0C0B0A09080F, 0x1615141312111017, 0x1E1D1C1B1A19181F};
57
- static ALIGN(KeccakP1600times4_statesAlignment) const uint64_t rho56[4] = {0x0007060504030201, 0x080F0E0D0C0B0A09, 0x1017161514131211, 0x181F1E1D1C1B1A19};
52
+ static ALIGN(32) const uint64_t rho8[4] = {0x0605040302010007, 0x0E0D0C0B0A09080F, 0x1615141312111017, 0x1E1D1C1B1A19181F};
53
+ static ALIGN(32) const uint64_t rho56[4] = {0x0007060504030201, 0x080F0E0D0C0B0A09, 0x1017161514131211, 0x181F1E1D1C1B1A19};
58
54
  #define STORE256(a, b) _mm256_store_si256((V256 *)&(a), b)
59
55
  #define STORE256u(a, b) _mm256_storeu_si256((V256 *)&(a), b)
60
56
  #define STORE2_128(ah, al, v) _mm256_storeu2_m128i(&(ah), &(al), v)
@@ -87,18 +83,18 @@ static ALIGN(KeccakP1600times4_statesAlignment) const uint64_t rho56[4] = {0x000
87
83
 
88
84
  #define SnP_laneLengthInBytes 8
89
85
 
90
- void KeccakP1600times4_InitializeAll(void *states)
86
+ void KeccakP1600times4_InitializeAll(KeccakP1600times4_states *states)
91
87
  {
92
- memset(states, 0, KeccakP1600times4_statesSizeInBytes);
88
+ memset(states, 0, sizeof(KeccakP1600times4_states));
93
89
  }
94
90
 
95
- void KeccakP1600times4_AddBytes(void *states, unsigned int instanceIndex, const unsigned char *data, unsigned int offset, unsigned int length)
91
+ void KeccakP1600times4_AddBytes(KeccakP1600times4_states *states, unsigned int instanceIndex, const unsigned char *data, unsigned int offset, unsigned int length)
96
92
  {
97
93
  unsigned int sizeLeft = length;
98
94
  unsigned int lanePosition = offset/SnP_laneLengthInBytes;
99
95
  unsigned int offsetInLane = offset%SnP_laneLengthInBytes;
100
96
  const unsigned char *curData = data;
101
- uint64_t *statesAsLanes = (uint64_t *)states;
97
+ uint64_t *statesAsLanes = (uint64_t *)states->A;
102
98
 
103
99
  if ((sizeLeft > 0) && (offsetInLane != 0)) {
104
100
  unsigned int bytesInLane = SnP_laneLengthInBytes - offsetInLane;
@@ -127,9 +123,9 @@ void KeccakP1600times4_AddBytes(void *states, unsigned int instanceIndex, const
127
123
  }
128
124
  }
129
125
 
130
- void KeccakP1600times4_AddLanesAll(void *states, const unsigned char *data, unsigned int laneCount, unsigned int laneOffset)
126
+ void KeccakP1600times4_AddLanesAll(KeccakP1600times4_states *states, const unsigned char *data, unsigned int laneCount, unsigned int laneOffset)
131
127
  {
132
- V256 *stateAsLanes = (V256 *)states;
128
+ V256 *stateAsLanes = states->A;
133
129
  unsigned int i;
134
130
  const uint64_t *curData0 = (const uint64_t *)data;
135
131
  const uint64_t *curData1 = (const uint64_t *)(data+laneOffset*SnP_laneLengthInBytes);
@@ -172,13 +168,13 @@ void KeccakP1600times4_AddLanesAll(void *states, const unsigned char *data, unsi
172
168
  #undef Xor_In4
173
169
  }
174
170
 
175
- void KeccakP1600times4_OverwriteBytes(void *states, unsigned int instanceIndex, const unsigned char *data, unsigned int offset, unsigned int length)
171
+ void KeccakP1600times4_OverwriteBytes(KeccakP1600times4_states *states, unsigned int instanceIndex, const unsigned char *data, unsigned int offset, unsigned int length)
176
172
  {
177
173
  unsigned int sizeLeft = length;
178
174
  unsigned int lanePosition = offset/SnP_laneLengthInBytes;
179
175
  unsigned int offsetInLane = offset%SnP_laneLengthInBytes;
180
176
  const unsigned char *curData = data;
181
- uint64_t *statesAsLanes = (uint64_t *)states;
177
+ uint64_t *statesAsLanes = (uint64_t *)states->A;
182
178
 
183
179
  if ((sizeLeft > 0) && (offsetInLane != 0)) {
184
180
  unsigned int bytesInLane = SnP_laneLengthInBytes - offsetInLane;
@@ -203,9 +199,9 @@ void KeccakP1600times4_OverwriteBytes(void *states, unsigned int instanceIndex,
203
199
  }
204
200
  }
205
201
 
206
- void KeccakP1600times4_OverwriteLanesAll(void *states, const unsigned char *data, unsigned int laneCount, unsigned int laneOffset)
202
+ void KeccakP1600times4_OverwriteLanesAll(KeccakP1600times4_states *states, const unsigned char *data, unsigned int laneCount, unsigned int laneOffset)
207
203
  {
208
- V256 *stateAsLanes = (V256 *)states;
204
+ V256 *stateAsLanes = states->A;
209
205
  unsigned int i;
210
206
  const uint64_t *curData0 = (const uint64_t *)data;
211
207
  const uint64_t *curData1 = (const uint64_t *)(data+laneOffset*SnP_laneLengthInBytes);
@@ -248,11 +244,11 @@ void KeccakP1600times4_OverwriteLanesAll(void *states, const unsigned char *data
248
244
  #undef OverWr4
249
245
  }
250
246
 
251
- void KeccakP1600times4_OverwriteWithZeroes(void *states, unsigned int instanceIndex, unsigned int byteCount)
247
+ void KeccakP1600times4_OverwriteWithZeroes(KeccakP1600times4_states *states, unsigned int instanceIndex, unsigned int byteCount)
252
248
  {
253
249
  unsigned int sizeLeft = byteCount;
254
250
  unsigned int lanePosition = 0;
255
- uint64_t *statesAsLanes = (uint64_t *)states;
251
+ uint64_t *statesAsLanes = (uint64_t *)states->A;
256
252
 
257
253
  while(sizeLeft >= SnP_laneLengthInBytes) {
258
254
  statesAsLanes[laneIndex(instanceIndex, lanePosition)] = 0;
@@ -265,13 +261,13 @@ void KeccakP1600times4_OverwriteWithZeroes(void *states, unsigned int instanceIn
265
261
  }
266
262
  }
267
263
 
268
- void KeccakP1600times4_ExtractBytes(const void *states, unsigned int instanceIndex, unsigned char *data, unsigned int offset, unsigned int length)
264
+ void KeccakP1600times4_ExtractBytes(const KeccakP1600times4_states *states, unsigned int instanceIndex, unsigned char *data, unsigned int offset, unsigned int length)
269
265
  {
270
266
  unsigned int sizeLeft = length;
271
267
  unsigned int lanePosition = offset/SnP_laneLengthInBytes;
272
268
  unsigned int offsetInLane = offset%SnP_laneLengthInBytes;
273
269
  unsigned char *curData = data;
274
- const uint64_t *statesAsLanes = (const uint64_t *)states;
270
+ const uint64_t *statesAsLanes = (const uint64_t *)states->A;
275
271
 
276
272
  if ((sizeLeft > 0) && (offsetInLane != 0)) {
277
273
  unsigned int bytesInLane = SnP_laneLengthInBytes - offsetInLane;
@@ -295,15 +291,15 @@ void KeccakP1600times4_ExtractBytes(const void *states, unsigned int instanceInd
295
291
  }
296
292
  }
297
293
 
298
- void KeccakP1600times4_ExtractLanesAll(const void *states, unsigned char *data, unsigned int laneCount, unsigned int laneOffset)
294
+ void KeccakP1600times4_ExtractLanesAll(const KeccakP1600times4_states *states, unsigned char *data, unsigned int laneCount, unsigned int laneOffset)
299
295
  {
300
296
  uint64_t *curData0 = (uint64_t *)data;
301
297
  uint64_t *curData1 = (uint64_t *)(data+laneOffset*1*SnP_laneLengthInBytes);
302
298
  uint64_t *curData2 = (uint64_t *)(data+laneOffset*2*SnP_laneLengthInBytes);
303
299
  uint64_t *curData3 = (uint64_t *)(data+laneOffset*3*SnP_laneLengthInBytes);
304
300
 
305
- const V256 *stateAsLanes = (const V256 *)states;
306
- const uint64_t *stateAsLanes64 = (const uint64_t*)states;
301
+ const V256 *stateAsLanes = states->A;
302
+ const uint64_t *stateAsLanes64 = (const uint64_t*)states->A;
307
303
  V256 lanes0, lanes1, lanes2, lanes3, lanesL01, lanesL23, lanesH01, lanesH23;
308
304
  unsigned int i;
309
305
 
@@ -345,14 +341,14 @@ void KeccakP1600times4_ExtractLanesAll(const void *states, unsigned char *data,
345
341
  #undef Extr4
346
342
  }
347
343
 
348
- void KeccakP1600times4_ExtractAndAddBytes(const void *states, unsigned int instanceIndex, const unsigned char *input, unsigned char *output, unsigned int offset, unsigned int length)
344
+ void KeccakP1600times4_ExtractAndAddBytes(const KeccakP1600times4_states *states, unsigned int instanceIndex, const unsigned char *input, unsigned char *output, unsigned int offset, unsigned int length)
349
345
  {
350
346
  unsigned int sizeLeft = length;
351
347
  unsigned int lanePosition = offset/SnP_laneLengthInBytes;
352
348
  unsigned int offsetInLane = offset%SnP_laneLengthInBytes;
353
349
  const unsigned char *curInput = input;
354
350
  unsigned char *curOutput = output;
355
- const uint64_t *statesAsLanes = (const uint64_t *)states;
351
+ const uint64_t *statesAsLanes = (const uint64_t *)states->A;
356
352
 
357
353
  if ((sizeLeft > 0) && (offsetInLane != 0)) {
358
354
  unsigned int bytesInLane = SnP_laneLengthInBytes - offsetInLane;
@@ -384,7 +380,7 @@ void KeccakP1600times4_ExtractAndAddBytes(const void *states, unsigned int insta
384
380
  }
385
381
  }
386
382
 
387
- void KeccakP1600times4_ExtractAndAddLanesAll(const void *states, const unsigned char *input, unsigned char *output, unsigned int laneCount, unsigned int laneOffset)
383
+ void KeccakP1600times4_ExtractAndAddLanesAll(const KeccakP1600times4_states *states, const unsigned char *input, unsigned char *output, unsigned int laneCount, unsigned int laneOffset)
388
384
  {
389
385
  const uint64_t *curInput0 = (uint64_t *)input;
390
386
  const uint64_t *curInput1 = (uint64_t *)(input+laneOffset*1*SnP_laneLengthInBytes);
@@ -395,8 +391,8 @@ void KeccakP1600times4_ExtractAndAddLanesAll(const void *states, const unsigned
395
391
  uint64_t *curOutput2 = (uint64_t *)(output+laneOffset*2*SnP_laneLengthInBytes);
396
392
  uint64_t *curOutput3 = (uint64_t *)(output+laneOffset*3*SnP_laneLengthInBytes);
397
393
 
398
- const V256 *stateAsLanes = (const V256 *)states;
399
- const uint64_t *stateAsLanes64 = (const uint64_t*)states;
394
+ const V256 *stateAsLanes = states->A;
395
+ const uint64_t *stateAsLanes64 = (const uint64_t*)states->A;
400
396
  V256 lanes0, lanes1, lanes2, lanes3, lanesL01, lanesL23, lanesH01, lanesH23;
401
397
  unsigned int i;
402
398
 
@@ -692,7 +688,7 @@ void KeccakP1600times4_ExtractAndAddLanesAll(const void *states, const unsigned
692
688
  E##su = XOR256(Bsu, ANDnu256(Bsa, Bse)); \
693
689
  \
694
690
 
695
- static ALIGN(KeccakP1600times4_statesAlignment) const uint64_t KeccakF1600RoundConstants[24] = {
691
+ static ALIGN(32) const uint64_t KeccakF1600RoundConstants[24] = {
696
692
  0x0000000000000001ULL,
697
693
  0x0000000000008082ULL,
698
694
  0x800000000000808aULL,
@@ -806,9 +802,9 @@ static ALIGN(KeccakP1600times4_statesAlignment) const uint64_t KeccakF1600RoundC
806
802
  #endif
807
803
  #include "KeccakP-1600-unrolling.macros"
808
804
 
809
- void KeccakP1600times4_PermuteAll_24rounds(void *states)
805
+ void KeccakP1600times4_PermuteAll_24rounds(KeccakP1600times4_states *states)
810
806
  {
811
- V256 *statesAsLanes = (V256 *)states;
807
+ V256 *statesAsLanes = states->A;
812
808
  declareABCDE
813
809
  #ifndef KeccakP1600times4_fullUnrolling
814
810
  unsigned int i;
@@ -819,9 +815,9 @@ void KeccakP1600times4_PermuteAll_24rounds(void *states)
819
815
  copyToState(statesAsLanes, A)
820
816
  }
821
817
 
822
- void KeccakP1600times4_PermuteAll_12rounds(void *states)
818
+ void KeccakP1600times4_PermuteAll_12rounds(KeccakP1600times4_states *states)
823
819
  {
824
- V256 *statesAsLanes = (V256 *)states;
820
+ V256 *statesAsLanes = states->A;
825
821
  declareABCDE
826
822
  #ifndef KeccakP1600times4_fullUnrolling
827
823
  unsigned int i;
@@ -832,9 +828,9 @@ void KeccakP1600times4_PermuteAll_12rounds(void *states)
832
828
  copyToState(statesAsLanes, A)
833
829
  }
834
830
 
835
- void KeccakP1600times4_PermuteAll_6rounds(void *states)
831
+ void KeccakP1600times4_PermuteAll_6rounds(KeccakP1600times4_states *states)
836
832
  {
837
- V256 *statesAsLanes = (V256 *)states;
833
+ V256 *statesAsLanes = states->A;
838
834
  declareABCDE
839
835
  #ifndef KeccakP1600times4_fullUnrolling
840
836
  unsigned int i;
@@ -845,9 +841,9 @@ void KeccakP1600times4_PermuteAll_6rounds(void *states)
845
841
  copyToState(statesAsLanes, A)
846
842
  }
847
843
 
848
- void KeccakP1600times4_PermuteAll_4rounds(void *states)
844
+ void KeccakP1600times4_PermuteAll_4rounds(KeccakP1600times4_states *states)
849
845
  {
850
- V256 *statesAsLanes = (V256 *)states;
846
+ V256 *statesAsLanes = states->A;
851
847
  declareABCDE
852
848
  #ifndef KeccakP1600times4_fullUnrolling
853
849
  unsigned int i;
@@ -858,7 +854,7 @@ void KeccakP1600times4_PermuteAll_4rounds(void *states)
858
854
  copyToState(statesAsLanes, A)
859
855
  }
860
856
 
861
- size_t KeccakF1600times4_FastLoop_Absorb(void *states, unsigned int laneCount, unsigned int laneOffsetParallel, unsigned int laneOffsetSerial, const unsigned char *data, size_t dataByteLen)
857
+ size_t KeccakF1600times4_FastLoop_Absorb(KeccakP1600times4_states *states, unsigned int laneCount, unsigned int laneOffsetParallel, unsigned int laneOffsetSerial, const unsigned char *data, size_t dataByteLen)
862
858
  {
863
859
  if (laneCount == 21) {
864
860
  #if 0
@@ -869,7 +865,7 @@ size_t KeccakF1600times4_FastLoop_Absorb(void *states, unsigned int laneCount, u
869
865
  const uint64_t *curData3 = (const uint64_t *)(data+laneOffsetParallel*3*SnP_laneLengthInBytes);
870
866
 
871
867
  while(dataByteLen >= (laneOffsetParallel*3 + laneCount)*8) {
872
- V256 *stateAsLanes = (V256 *)states;
868
+ V256 *stateAsLanes = states->A;
873
869
  V256 lanes0, lanes1, lanes2, lanes3, lanesL01, lanesL23, lanesH01, lanesH23;
874
870
  #define Xor_In( argIndex ) \
875
871
  XOReq256(stateAsLanes[argIndex], LOAD4_64(curData3[argIndex], curData2[argIndex], curData1[argIndex], curData0[argIndex]))
@@ -906,7 +902,7 @@ size_t KeccakF1600times4_FastLoop_Absorb(void *states, unsigned int laneCount, u
906
902
  const uint64_t *curData1 = (const uint64_t *)(data+laneOffsetParallel*1*SnP_laneLengthInBytes);
907
903
  const uint64_t *curData2 = (const uint64_t *)(data+laneOffsetParallel*2*SnP_laneLengthInBytes);
908
904
  const uint64_t *curData3 = (const uint64_t *)(data+laneOffsetParallel*3*SnP_laneLengthInBytes);
909
- V256 *statesAsLanes = (V256 *)states;
905
+ V256 *statesAsLanes = states->A;
910
906
  declareABCDE
911
907
 
912
908
  copyFromState(A, statesAsLanes)
@@ -960,7 +956,7 @@ size_t KeccakF1600times4_FastLoop_Absorb(void *states, unsigned int laneCount, u
960
956
  }
961
957
  }
962
958
 
963
- size_t KeccakP1600times4_12rounds_FastLoop_Absorb(void *states, unsigned int laneCount, unsigned int laneOffsetParallel, unsigned int laneOffsetSerial, const unsigned char *data, size_t dataByteLen)
959
+ size_t KeccakP1600times4_12rounds_FastLoop_Absorb(KeccakP1600times4_states *states, unsigned int laneCount, unsigned int laneOffsetParallel, unsigned int laneOffsetSerial, const unsigned char *data, size_t dataByteLen)
964
960
  {
965
961
  if (laneCount == 21) {
966
962
  #if 0
@@ -971,7 +967,7 @@ size_t KeccakP1600times4_12rounds_FastLoop_Absorb(void *states, unsigned int lan
971
967
  const uint64_t *curData3 = (const uint64_t *)(data+laneOffsetParallel*3*SnP_laneLengthInBytes);
972
968
 
973
969
  while(dataByteLen >= (laneOffsetParallel*3 + laneCount)*8) {
974
- V256 *stateAsLanes = states;
970
+ V256 *stateAsLanes = states->A;
975
971
  V256 lanes0, lanes1, lanes2, lanes3, lanesL01, lanesL23, lanesH01, lanesH23;
976
972
  #define Xor_In( argIndex ) \
977
973
  XOReq256(stateAsLanes[argIndex], LOAD4_64(curData3[argIndex], curData2[argIndex], curData1[argIndex], curData0[argIndex]))
@@ -1008,7 +1004,7 @@ size_t KeccakP1600times4_12rounds_FastLoop_Absorb(void *states, unsigned int lan
1008
1004
  const uint64_t *curData1 = (const uint64_t *)(data+laneOffsetParallel*1*SnP_laneLengthInBytes);
1009
1005
  const uint64_t *curData2 = (const uint64_t *)(data+laneOffsetParallel*2*SnP_laneLengthInBytes);
1010
1006
  const uint64_t *curData3 = (const uint64_t *)(data+laneOffsetParallel*3*SnP_laneLengthInBytes);
1011
- V256 *statesAsLanes = states;
1007
+ V256 *statesAsLanes = states->A;
1012
1008
  declareABCDE
1013
1009
 
1014
1010
  copyFromState(A, statesAsLanes)
@@ -19,36 +19,42 @@ Please refer to PlSnP-documentation.h for more details.
19
19
  #define _KeccakP_1600_times4_SnP_h_
20
20
 
21
21
  #include <stdint.h>
22
+ #include <immintrin.h>
22
23
  #include "SIMD256-config.h"
23
24
 
25
+ typedef __m256i V256;
26
+
27
+ typedef struct {
28
+ V256 A[25];
29
+ } KeccakP1600times4_SIMD256_states;
30
+
31
+ typedef KeccakP1600times4_SIMD256_states KeccakP1600times4_states;
32
+
33
+
24
34
  #define KeccakP1600times4_implementation "256-bit SIMD implementation (" KeccakP1600times4_implementation_config ")"
25
- #define KeccakP1600times4_statesSizeInBytes 800
26
- #define KeccakP1600times4_statesAlignment 32
27
35
  #define KeccakF1600times4_FastLoop_supported
28
36
  #define KeccakP1600times4_12rounds_FastLoop_supported
29
37
  #define KeccakF1600times4_FastKravatte_supported
30
38
 
31
- #include <stddef.h>
32
-
33
39
  #define KeccakP1600times4_StaticInitialize()
34
- void KeccakP1600times4_InitializeAll(void *states);
40
+ void KeccakP1600times4_InitializeAll(KeccakP1600times4_states *states);
35
41
  #define KeccakP1600times4_AddByte(states, instanceIndex, byte, offset) \
36
42
  ((unsigned char*)(states))[(instanceIndex)*8 + ((offset)/8)*4*8 + (offset)%8] ^= (byte)
37
- void KeccakP1600times4_AddBytes(void *states, unsigned int instanceIndex, const unsigned char *data, unsigned int offset, unsigned int length);
38
- void KeccakP1600times4_AddLanesAll(void *states, const unsigned char *data, unsigned int laneCount, unsigned int laneOffset);
39
- void KeccakP1600times4_OverwriteBytes(void *states, unsigned int instanceIndex, const unsigned char *data, unsigned int offset, unsigned int length);
40
- void KeccakP1600times4_OverwriteLanesAll(void *states, const unsigned char *data, unsigned int laneCount, unsigned int laneOffset);
41
- void KeccakP1600times4_OverwriteWithZeroes(void *states, unsigned int instanceIndex, unsigned int byteCount);
42
- void KeccakP1600times4_PermuteAll_4rounds(void *states);
43
- void KeccakP1600times4_PermuteAll_6rounds(void *states);
44
- void KeccakP1600times4_PermuteAll_12rounds(void *states);
45
- void KeccakP1600times4_PermuteAll_24rounds(void *states);
46
- void KeccakP1600times4_ExtractBytes(const void *states, unsigned int instanceIndex, unsigned char *data, unsigned int offset, unsigned int length);
47
- void KeccakP1600times4_ExtractLanesAll(const void *states, unsigned char *data, unsigned int laneCount, unsigned int laneOffset);
48
- void KeccakP1600times4_ExtractAndAddBytes(const void *states, unsigned int instanceIndex, const unsigned char *input, unsigned char *output, unsigned int offset, unsigned int length);
49
- void KeccakP1600times4_ExtractAndAddLanesAll(const void *states, const unsigned char *input, unsigned char *output, unsigned int laneCount, unsigned int laneOffset);
50
- size_t KeccakF1600times4_FastLoop_Absorb(void *states, unsigned int laneCount, unsigned int laneOffsetParallel, unsigned int laneOffsetSerial, const unsigned char *data, size_t dataByteLen);
51
- size_t KeccakP1600times4_12rounds_FastLoop_Absorb(void *states, unsigned int laneCount, unsigned int laneOffsetParallel, unsigned int laneOffsetSerial, const unsigned char *data, size_t dataByteLen);
43
+ void KeccakP1600times4_AddBytes(KeccakP1600times4_states *states, unsigned int instanceIndex, const unsigned char *data, unsigned int offset, unsigned int length);
44
+ void KeccakP1600times4_AddLanesAll(KeccakP1600times4_states *states, const unsigned char *data, unsigned int laneCount, unsigned int laneOffset);
45
+ void KeccakP1600times4_OverwriteBytes(KeccakP1600times4_states *states, unsigned int instanceIndex, const unsigned char *data, unsigned int offset, unsigned int length);
46
+ void KeccakP1600times4_OverwriteLanesAll(KeccakP1600times4_states *states, const unsigned char *data, unsigned int laneCount, unsigned int laneOffset);
47
+ void KeccakP1600times4_OverwriteWithZeroes(KeccakP1600times4_states *states, unsigned int instanceIndex, unsigned int byteCount);
48
+ void KeccakP1600times4_PermuteAll_4rounds(KeccakP1600times4_states *states);
49
+ void KeccakP1600times4_PermuteAll_6rounds(KeccakP1600times4_states *states);
50
+ void KeccakP1600times4_PermuteAll_12rounds(KeccakP1600times4_states *states);
51
+ void KeccakP1600times4_PermuteAll_24rounds(KeccakP1600times4_states *states);
52
+ void KeccakP1600times4_ExtractBytes(const KeccakP1600times4_states *states, unsigned int instanceIndex, unsigned char *data, unsigned int offset, unsigned int length);
53
+ void KeccakP1600times4_ExtractLanesAll(const KeccakP1600times4_states *states, unsigned char *data, unsigned int laneCount, unsigned int laneOffset);
54
+ void KeccakP1600times4_ExtractAndAddBytes(const KeccakP1600times4_states *states, unsigned int instanceIndex, const unsigned char *input, unsigned char *output, unsigned int offset, unsigned int length);
55
+ void KeccakP1600times4_ExtractAndAddLanesAll(const KeccakP1600times4_states *states, const unsigned char *input, unsigned char *output, unsigned int laneCount, unsigned int laneOffset);
56
+ size_t KeccakF1600times4_FastLoop_Absorb(KeccakP1600times4_states *states, unsigned int laneCount, unsigned int laneOffsetParallel, unsigned int laneOffsetSerial, const unsigned char *data, size_t dataByteLen);
57
+ size_t KeccakP1600times4_12rounds_FastLoop_Absorb(KeccakP1600times4_states *states, unsigned int laneCount, unsigned int laneOffsetParallel, unsigned int laneOffsetSerial, const unsigned char *data, size_t dataByteLen);
52
58
  size_t KeccakP1600times4_KravatteCompress(uint64_t *xAccu, uint64_t *kRoll, const unsigned char *input, size_t inputByteLen);
53
59
  size_t KeccakP1600times4_KravatteExpand(uint64_t *yAccu, const uint64_t *kRoll, unsigned char *output, size_t outputByteLen);
54
60
 
@@ -114,7 +114,6 @@ static void _mm512_i32scatter_epi64( void *p, __m256i idx, __m512i value, int sc
114
114
  #endif
115
115
 
116
116
  typedef __m128i V128;
117
- typedef __m256i V256;
118
117
  typedef __m512i V512;
119
118
 
120
119
  #if defined(KeccakP1600times4_useAVX512)
@@ -129,8 +128,8 @@ typedef __m512i V512;
129
128
  #define CONST256_64(a) _mm256_set1_epi64x(a)
130
129
  #define LOAD4_32(a,b,c,d) _mm_set_epi32((uint64_t)(a), (uint32_t)(b), (uint32_t)(c), (uint32_t)(d))
131
130
  #define LOAD8_32(a,b,c,d,e,f,g,h) _mm256_set_epi32((uint64_t)(a), (uint32_t)(b), (uint32_t)(c), (uint32_t)(d), (uint32_t)(e), (uint32_t)(f), (uint32_t)(g), (uint32_t)(h))
132
- #define LOAD_GATHER4_64(idx,p) _mm256_i32gather_epi64( (const void*)(p), idx, 8)
133
- #define LOAD_GATHER8_64(idx,p) _mm512_i32gather_epi64( idx, (const void*)(p), 8)
131
+ #define LOAD_GATHER4_64(idx,p) _mm256_i32gather_epi64( (const long long int*)(p), idx, 8)
132
+ #define LOAD_GATHER8_64(idx,p) _mm512_i32gather_epi64( idx, (const long long int*)(p), 8)
134
133
  #define STORE_SCATTER4_64(p,idx, v) _mm256_i32scatter_epi64( (void*)(p), idx, v, 8)
135
134
  #define STORE_SCATTER8_64(p,idx, v) _mm512_i32scatter_epi64( (void*)(p), idx, v, 8)
136
135
 
@@ -139,18 +138,18 @@ typedef __m512i V512;
139
138
  #define laneIndex(instanceIndex, lanePosition) ((lanePosition)*4 + instanceIndex)
140
139
  #define SnP_laneLengthInBytes 8
141
140
 
142
- void KeccakP1600times4_InitializeAll(void *states)
141
+ void KeccakP1600times4_InitializeAll(KeccakP1600times4_align512SIMD256_states *states)
143
142
  {
144
- memset(states, 0, KeccakP1600times4_statesSizeInBytes);
143
+ memset(states, 0, sizeof(KeccakP1600times4_align512SIMD256_states));
145
144
  }
146
145
 
147
- void KeccakP1600times4_AddBytes(void *states, unsigned int instanceIndex, const unsigned char *data, unsigned int offset, unsigned int length)
146
+ void KeccakP1600times4_AddBytes(KeccakP1600times4_align512SIMD256_states *states, unsigned int instanceIndex, const unsigned char *data, unsigned int offset, unsigned int length)
148
147
  {
149
148
  unsigned int sizeLeft = length;
150
149
  unsigned int lanePosition = offset/SnP_laneLengthInBytes;
151
150
  unsigned int offsetInLane = offset%SnP_laneLengthInBytes;
152
151
  const unsigned char *curData = data;
153
- uint64_t *statesAsLanes = states;
152
+ uint64_t *statesAsLanes = (uint64_t*)states->A;
154
153
 
155
154
  if ((sizeLeft > 0) && (offsetInLane != 0)) {
156
155
  unsigned int bytesInLane = SnP_laneLengthInBytes - offsetInLane;
@@ -179,10 +178,10 @@ void KeccakP1600times4_AddBytes(void *states, unsigned int instanceIndex, const
179
178
  }
180
179
  }
181
180
 
182
- void KeccakP1600times4_AddLanesAll(void *states, const unsigned char *data, unsigned int laneCount, unsigned int laneOffset)
181
+ void KeccakP1600times4_AddLanesAll(KeccakP1600times4_align512SIMD256_states *states, const unsigned char *data, unsigned int laneCount, unsigned int laneOffset)
183
182
  {
184
- V256 *stateAsLanes256 = states;
185
- V512 *stateAsLanes512 = states;
183
+ V256 *stateAsLanes256 = states->A;
184
+ V512 *stateAsLanes512 = (V512*)states->A;
186
185
  const uint64_t *dataAsLanes = (const uint64_t *)data;
187
186
  unsigned int i;
188
187
  V256 index512;
@@ -220,13 +219,13 @@ void KeccakP1600times4_AddLanesAll(void *states, const unsigned char *data, unsi
220
219
  #undef Add_In2
221
220
  }
222
221
 
223
- void KeccakP1600times4_OverwriteBytes(void *states, unsigned int instanceIndex, const unsigned char *data, unsigned int offset, unsigned int length)
222
+ void KeccakP1600times4_OverwriteBytes(KeccakP1600times4_align512SIMD256_states *states, unsigned int instanceIndex, const unsigned char *data, unsigned int offset, unsigned int length)
224
223
  {
225
224
  unsigned int sizeLeft = length;
226
225
  unsigned int lanePosition = offset/SnP_laneLengthInBytes;
227
226
  unsigned int offsetInLane = offset%SnP_laneLengthInBytes;
228
227
  const unsigned char *curData = data;
229
- uint64_t *statesAsLanes = states;
228
+ uint64_t *statesAsLanes = (uint64_t*)states->A;
230
229
 
231
230
  if ((sizeLeft > 0) && (offsetInLane != 0)) {
232
231
  unsigned int bytesInLane = SnP_laneLengthInBytes - offsetInLane;
@@ -251,10 +250,10 @@ void KeccakP1600times4_OverwriteBytes(void *states, unsigned int instanceIndex,
251
250
  }
252
251
  }
253
252
 
254
- void KeccakP1600times4_OverwriteLanesAll(void *states, const unsigned char *data, unsigned int laneCount, unsigned int laneOffset)
253
+ void KeccakP1600times4_OverwriteLanesAll(KeccakP1600times4_align512SIMD256_states *states, const unsigned char *data, unsigned int laneCount, unsigned int laneOffset)
255
254
  {
256
- V256 *stateAsLanes256 = states;
257
- V512 *stateAsLanes512 = states;
255
+ V256 *stateAsLanes256 = states->A;
256
+ V512 *stateAsLanes512 = (V512*)states->A;
258
257
  const uint64_t *dataAsLanes = (const uint64_t *)data;
259
258
  unsigned int i;
260
259
  V256 index512;
@@ -292,11 +291,11 @@ void KeccakP1600times4_OverwriteLanesAll(void *states, const unsigned char *data
292
291
  #undef OverWr2
293
292
  }
294
293
 
295
- void KeccakP1600times4_OverwriteWithZeroes(void *states, unsigned int instanceIndex, unsigned int byteCount)
294
+ void KeccakP1600times4_OverwriteWithZeroes(KeccakP1600times4_align512SIMD256_states *states, unsigned int instanceIndex, unsigned int byteCount)
296
295
  {
297
296
  unsigned int sizeLeft = byteCount;
298
297
  unsigned int lanePosition = 0;
299
- uint64_t *statesAsLanes = states;
298
+ uint64_t *statesAsLanes = (uint64_t*)states->A;
300
299
 
301
300
  while(sizeLeft >= SnP_laneLengthInBytes) {
302
301
  statesAsLanes[laneIndex(instanceIndex, lanePosition)] = 0;
@@ -309,13 +308,13 @@ void KeccakP1600times4_OverwriteWithZeroes(void *states, unsigned int instanceIn
309
308
  }
310
309
  }
311
310
 
312
- void KeccakP1600times4_ExtractBytes(const void *states, unsigned int instanceIndex, unsigned char *data, unsigned int offset, unsigned int length)
311
+ void KeccakP1600times4_ExtractBytes(const KeccakP1600times4_align512SIMD256_states *states, unsigned int instanceIndex, unsigned char *data, unsigned int offset, unsigned int length)
313
312
  {
314
313
  unsigned int sizeLeft = length;
315
314
  unsigned int lanePosition = offset/SnP_laneLengthInBytes;
316
315
  unsigned int offsetInLane = offset%SnP_laneLengthInBytes;
317
316
  unsigned char *curData = data;
318
- const uint64_t *statesAsLanes = states;
317
+ const uint64_t *statesAsLanes = (const uint64_t*)states->A;
319
318
 
320
319
  if ((sizeLeft > 0) && (offsetInLane != 0)) {
321
320
  unsigned int bytesInLane = SnP_laneLengthInBytes - offsetInLane;
@@ -339,10 +338,10 @@ void KeccakP1600times4_ExtractBytes(const void *states, unsigned int instanceInd
339
338
  }
340
339
  }
341
340
 
342
- void KeccakP1600times4_ExtractLanesAll(const void *states, unsigned char *data, unsigned int laneCount, unsigned int laneOffset)
341
+ void KeccakP1600times4_ExtractLanesAll(const KeccakP1600times4_align512SIMD256_states *states, unsigned char *data, unsigned int laneCount, unsigned int laneOffset)
343
342
  {
344
- const V256 *stateAsLanes256 = states;
345
- const V512 *stateAsLanes512 = states;
343
+ const V256 *stateAsLanes256 = states->A;
344
+ const V512 *stateAsLanes512 = (const V512*)states->A;
346
345
  uint64_t *dataAsLanes = (uint64_t *)data;
347
346
  unsigned int i;
348
347
  V256 index512;
@@ -380,14 +379,14 @@ void KeccakP1600times4_ExtractLanesAll(const void *states, unsigned char *data,
380
379
  #undef Extr2
381
380
  }
382
381
 
383
- void KeccakP1600times4_ExtractAndAddBytes(const void *states, unsigned int instanceIndex, const unsigned char *input, unsigned char *output, unsigned int offset, unsigned int length)
382
+ void KeccakP1600times4_ExtractAndAddBytes(const KeccakP1600times4_align512SIMD256_states *states, unsigned int instanceIndex, const unsigned char *input, unsigned char *output, unsigned int offset, unsigned int length)
384
383
  {
385
384
  unsigned int sizeLeft = length;
386
385
  unsigned int lanePosition = offset/SnP_laneLengthInBytes;
387
386
  unsigned int offsetInLane = offset%SnP_laneLengthInBytes;
388
387
  const unsigned char *curInput = input;
389
388
  unsigned char *curOutput = output;
390
- const uint64_t *statesAsLanes = states;
389
+ const uint64_t *statesAsLanes = (const uint64_t*)states->A;
391
390
 
392
391
  if ((sizeLeft > 0) && (offsetInLane != 0)) {
393
392
  unsigned int bytesInLane = SnP_laneLengthInBytes - offsetInLane;
@@ -419,10 +418,10 @@ void KeccakP1600times4_ExtractAndAddBytes(const void *states, unsigned int insta
419
418
  }
420
419
  }
421
420
 
422
- void KeccakP1600times4_ExtractAndAddLanesAll(const void *states, const unsigned char *input, unsigned char *output, unsigned int laneCount, unsigned int laneOffset)
421
+ void KeccakP1600times4_ExtractAndAddLanesAll(const KeccakP1600times4_align512SIMD256_states *states, const unsigned char *input, unsigned char *output, unsigned int laneCount, unsigned int laneOffset)
423
422
  {
424
- const V256 *stateAsLanes256 = states;
425
- const V512 *stateAsLanes512 = states;
423
+ const V256 *stateAsLanes256 = states->A;
424
+ const V512 *stateAsLanes512 = (const V512*)states->A;
426
425
  const uint64_t *inAsLanes = (const uint64_t *)input;
427
426
  uint64_t *outAsLanes = (uint64_t *)output;
428
427
  unsigned int i;
@@ -713,9 +712,9 @@ static ALIGN(KeccakP1600times4_statesAlignment) const uint64_t KeccakP1600RoundC
713
712
  pState[23] = _so; \
714
713
  pState[24] = _su
715
714
 
716
- void KeccakP1600times4_PermuteAll_24rounds(void *states)
715
+ void KeccakP1600times4_PermuteAll_24rounds(KeccakP1600times4_align512SIMD256_states *states)
717
716
  {
718
- V256 *statesAsLanes = states;
717
+ V256 *statesAsLanes = states->A;
719
718
  KeccakP_DeclareVars;
720
719
  #ifndef KeccakP1600times4_fullUnrolling
721
720
  unsigned int i;
@@ -726,9 +725,9 @@ void KeccakP1600times4_PermuteAll_24rounds(void *states)
726
725
  copyToState(statesAsLanes);
727
726
  }
728
727
 
729
- void KeccakP1600times4_PermuteAll_12rounds(void *states)
728
+ void KeccakP1600times4_PermuteAll_12rounds(KeccakP1600times4_align512SIMD256_states *states)
730
729
  {
731
- V256 *statesAsLanes = states;
730
+ V256 *statesAsLanes = states->A;
732
731
  KeccakP_DeclareVars;
733
732
  #if (KeccakP1600times4_unrolling < 12)
734
733
  unsigned int i;
@@ -739,9 +738,9 @@ void KeccakP1600times4_PermuteAll_12rounds(void *states)
739
738
  copyToState(statesAsLanes);
740
739
  }
741
740
 
742
- void KeccakP1600times4_PermuteAll_6rounds(void *states)
741
+ void KeccakP1600times4_PermuteAll_6rounds(KeccakP1600times4_align512SIMD256_states *states)
743
742
  {
744
- V256 *statesAsLanes = states;
743
+ V256 *statesAsLanes = states->A;
745
744
  KeccakP_DeclareVars;
746
745
 
747
746
  copyFromState2rounds(statesAsLanes);
@@ -750,9 +749,9 @@ void KeccakP1600times4_PermuteAll_6rounds(void *states)
750
749
  copyToState(statesAsLanes);
751
750
  }
752
751
 
753
- void KeccakP1600times4_PermuteAll_4rounds(void *states)
752
+ void KeccakP1600times4_PermuteAll_4rounds(KeccakP1600times4_align512SIMD256_states *states)
754
753
  {
755
- V256 *statesAsLanes = states;
754
+ V256 *statesAsLanes = states->A;
756
755
  KeccakP_DeclareVars;
757
756
 
758
757
  copyFromState(statesAsLanes);
@@ -760,7 +759,7 @@ void KeccakP1600times4_PermuteAll_4rounds(void *states)
760
759
  copyToState(statesAsLanes);
761
760
  }
762
761
 
763
- size_t KeccakF1600times4_FastLoop_Absorb(void *states, unsigned int laneCount, unsigned int laneOffsetParallel, unsigned int laneOffsetSerial, const unsigned char *data, size_t dataByteLen)
762
+ size_t KeccakF1600times4_FastLoop_Absorb(KeccakP1600times4_align512SIMD256_states *states, unsigned int laneCount, unsigned int laneOffsetParallel, unsigned int laneOffsetSerial, const unsigned char *data, size_t dataByteLen)
764
763
  {
765
764
  size_t dataMinimumSize = (laneOffsetParallel*3 + laneCount)*8;
766
765
 
@@ -769,7 +768,7 @@ size_t KeccakF1600times4_FastLoop_Absorb(void *states, unsigned int laneCount, u
769
768
  unsigned int i;
770
769
  #endif
771
770
  const unsigned char *dataStart = data;
772
- V256 *statesAsLanes = states;
771
+ V256 *statesAsLanes = states->A;
773
772
  const uint64_t *dataAsLanes = (const uint64_t *)data;
774
773
  KeccakP_DeclareVars;
775
774
  V128 index;
@@ -820,7 +819,7 @@ size_t KeccakF1600times4_FastLoop_Absorb(void *states, unsigned int laneCount, u
820
819
  }
821
820
  }
822
821
 
823
- size_t KeccakP1600times4_12rounds_FastLoop_Absorb(void *states, unsigned int laneCount, unsigned int laneOffsetParallel, unsigned int laneOffsetSerial, const unsigned char *data, size_t dataByteLen)
822
+ size_t KeccakP1600times4_12rounds_FastLoop_Absorb(KeccakP1600times4_align512SIMD256_states *states, unsigned int laneCount, unsigned int laneOffsetParallel, unsigned int laneOffsetSerial, const unsigned char *data, size_t dataByteLen)
824
823
  {
825
824
  size_t dataMinimumSize = (laneOffsetParallel*3 + laneCount)*8;
826
825
 
@@ -829,7 +828,7 @@ size_t KeccakP1600times4_12rounds_FastLoop_Absorb(void *states, unsigned int lan
829
828
  unsigned int i;
830
829
  #endif
831
830
  const unsigned char *dataStart = data;
832
- V256 *statesAsLanes = states;
831
+ V256 *statesAsLanes = states->A;
833
832
  const uint64_t *dataAsLanes = (const uint64_t *)data;
834
833
  KeccakP_DeclareVars;
835
834
  V128 index;
@@ -18,34 +18,40 @@ Please refer to PlSnP-documentation.h for more details.
18
18
  #ifndef _KeccakP_1600_times4_SnP_h_
19
19
  #define _KeccakP_1600_times4_SnP_h_
20
20
 
21
+ #include <immintrin.h>
21
22
  #include "SIMD512-4-config.h"
22
23
 
24
+ typedef __m256i V256;
25
+
26
+ typedef struct {
27
+ ALIGN(64) V256 A[25];
28
+ } KeccakP1600times4_align512SIMD256_states;
29
+
30
+ typedef KeccakP1600times4_align512SIMD256_states KeccakP1600times4_states;
31
+
23
32
  #define KeccakP1600times4_implementation "512-bit SIMD implementation (" KeccakP1600times4_implementation_config ")"
24
- #define KeccakP1600times4_statesSizeInBytes 800
25
33
  #define KeccakP1600times4_statesAlignment 64
26
34
  #define KeccakF1600times4_FastLoop_supported
27
35
  #define KeccakP1600times4_12rounds_FastLoop_supported
28
36
 
29
- #include <stddef.h>
30
-
31
37
  #define KeccakP1600times4_StaticInitialize()
32
- void KeccakP1600times4_InitializeAll(void *states);
38
+ void KeccakP1600times4_InitializeAll(KeccakP1600times4_align512SIMD256_states *states);
33
39
  #define KeccakP1600times4_AddByte(states, instanceIndex, byte, offset) \
34
40
  ((unsigned char*)(states))[(instanceIndex)*8 + ((offset)/8)*4*8 + (offset)%8] ^= (byte)
35
- void KeccakP1600times4_AddBytes(void *states, unsigned int instanceIndex, const unsigned char *data, unsigned int offset, unsigned int length);
36
- void KeccakP1600times4_AddLanesAll(void *states, const unsigned char *data, unsigned int laneCount, unsigned int laneOffset);
37
- void KeccakP1600times4_OverwriteBytes(void *states, unsigned int instanceIndex, const unsigned char *data, unsigned int offset, unsigned int length);
38
- void KeccakP1600times4_OverwriteLanesAll(void *states, const unsigned char *data, unsigned int laneCount, unsigned int laneOffset);
39
- void KeccakP1600times4_OverwriteWithZeroes(void *states, unsigned int instanceIndex, unsigned int byteCount);
40
- void KeccakP1600times4_PermuteAll_4rounds(void *states);
41
- void KeccakP1600times4_PermuteAll_6rounds(void *states);
42
- void KeccakP1600times4_PermuteAll_12rounds(void *states);
43
- void KeccakP1600times4_PermuteAll_24rounds(void *states);
44
- void KeccakP1600times4_ExtractBytes(const void *states, unsigned int instanceIndex, unsigned char *data, unsigned int offset, unsigned int length);
45
- void KeccakP1600times4_ExtractLanesAll(const void *states, unsigned char *data, unsigned int laneCount, unsigned int laneOffset);
46
- void KeccakP1600times4_ExtractAndAddBytes(const void *states, unsigned int instanceIndex, const unsigned char *input, unsigned char *output, unsigned int offset, unsigned int length);
47
- void KeccakP1600times4_ExtractAndAddLanesAll(const void *states, const unsigned char *input, unsigned char *output, unsigned int laneCount, unsigned int laneOffset);
48
- size_t KeccakF1600times4_FastLoop_Absorb(void *states, unsigned int laneCount, unsigned int laneOffsetParallel, unsigned int laneOffsetSerial, const unsigned char *data, size_t dataByteLen);
49
- size_t KeccakP1600times4_12rounds_FastLoop_Absorb(void *states, unsigned int laneCount, unsigned int laneOffsetParallel, unsigned int laneOffsetSerial, const unsigned char *data, size_t dataByteLen);
41
+ void KeccakP1600times4_AddBytes(KeccakP1600times4_align512SIMD256_states *states, unsigned int instanceIndex, const unsigned char *data, unsigned int offset, unsigned int length);
42
+ void KeccakP1600times4_AddLanesAll(KeccakP1600times4_align512SIMD256_states *states, const unsigned char *data, unsigned int laneCount, unsigned int laneOffset);
43
+ void KeccakP1600times4_OverwriteBytes(KeccakP1600times4_align512SIMD256_states *states, unsigned int instanceIndex, const unsigned char *data, unsigned int offset, unsigned int length);
44
+ void KeccakP1600times4_OverwriteLanesAll(KeccakP1600times4_align512SIMD256_states *states, const unsigned char *data, unsigned int laneCount, unsigned int laneOffset);
45
+ void KeccakP1600times4_OverwriteWithZeroes(KeccakP1600times4_align512SIMD256_states *states, unsigned int instanceIndex, unsigned int byteCount);
46
+ void KeccakP1600times4_PermuteAll_4rounds(KeccakP1600times4_align512SIMD256_states *states);
47
+ void KeccakP1600times4_PermuteAll_6rounds(KeccakP1600times4_align512SIMD256_states *states);
48
+ void KeccakP1600times4_PermuteAll_12rounds(KeccakP1600times4_align512SIMD256_states *states);
49
+ void KeccakP1600times4_PermuteAll_24rounds(KeccakP1600times4_align512SIMD256_states *states);
50
+ void KeccakP1600times4_ExtractBytes(const KeccakP1600times4_align512SIMD256_states *states, unsigned int instanceIndex, unsigned char *data, unsigned int offset, unsigned int length);
51
+ void KeccakP1600times4_ExtractLanesAll(const KeccakP1600times4_align512SIMD256_states *states, unsigned char *data, unsigned int laneCount, unsigned int laneOffset);
52
+ void KeccakP1600times4_ExtractAndAddBytes(const KeccakP1600times4_align512SIMD256_states *states, unsigned int instanceIndex, const unsigned char *input, unsigned char *output, unsigned int offset, unsigned int length);
53
+ void KeccakP1600times4_ExtractAndAddLanesAll(const KeccakP1600times4_align512SIMD256_states *states, const unsigned char *input, unsigned char *output, unsigned int laneCount, unsigned int laneOffset);
54
+ size_t KeccakF1600times4_FastLoop_Absorb(KeccakP1600times4_align512SIMD256_states *states, unsigned int laneCount, unsigned int laneOffsetParallel, unsigned int laneOffsetSerial, const unsigned char *data, size_t dataByteLen);
55
+ size_t KeccakP1600times4_12rounds_FastLoop_Absorb(KeccakP1600times4_align512SIMD256_states *states, unsigned int laneCount, unsigned int laneOffsetParallel, unsigned int laneOffsetSerial, const unsigned char *data, size_t dataByteLen);
50
56
 
51
57
  #endif