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.
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