digest-kangarootwelve 0.3.2 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of digest-kangarootwelve might be problematic. Click here for more details.

Files changed (1025) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/LICENSE.XKCP +9 -0
  4. data/README.md +63 -33
  5. data/Rakefile +58 -4
  6. data/digest-kangarootwelve.gemspec +22 -316
  7. data/ext/digest/kangarootwelve/XKCP/lib/common/align.h +33 -0
  8. data/ext/digest/kangarootwelve/XKCP/lib/common/brg_endian.h +143 -0
  9. data/ext/digest/kangarootwelve/XKCP/lib/high/KangarooTwelve/KangarooTwelve.c +301 -0
  10. data/ext/digest/kangarootwelve/XKCP/lib/high/KangarooTwelve/KangarooTwelve.h +97 -0
  11. data/ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.c +111 -0
  12. data/ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.h +76 -0
  13. data/ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.inc +314 -0
  14. data/ext/digest/kangarootwelve/XKCP/lib/high/common/Phases.h +25 -0
  15. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ARM/KeccakP-1600-SnP.h +41 -0
  16. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ARMv7A-NEON/KeccakP-1600-SnP.h +42 -0
  17. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVR8/KeccakP-1600-SnP.h +42 -0
  18. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX2/KeccakP-1600-SnP.h +52 -0
  19. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX512/C/KeccakP-1600-AVX512.c +623 -0
  20. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX512/C/KeccakP-1600-SnP.h +47 -0
  21. data/ext/digest/kangarootwelve/{keccak/skylakex → XKCP/lib/low/KeccakP-1600/AVX512/C/u12}/KeccakP-1600-AVX512-config.h +0 -0
  22. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX512/KeccakP-1600-SnP.h +53 -0
  23. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/XOP/KeccakP-1600-SnP.h +44 -0
  24. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/XOP/KeccakP-1600-XOP.c +476 -0
  25. data/ext/digest/kangarootwelve/{keccak/bulldozer → XKCP/lib/low/KeccakP-1600/XOP/ua}/KeccakP-1600-XOP-config.h +0 -0
  26. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/common/KeccakP-1600-64.macros +748 -0
  27. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/common/KeccakP-1600-unrolling.macros +305 -0
  28. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/compact/KeccakP-1600-SnP.h +40 -0
  29. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/compact/KeccakP-1600-compact64.c +420 -0
  30. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-32bits-inplace/KeccakP-1600-SnP.h +43 -0
  31. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-32bits-inplace/KeccakP-1600-inplace32BI.c +1163 -0
  32. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-64bits/KeccakP-1600-SnP.h +54 -0
  33. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-64bits/KeccakP-1600-opt64.c +565 -0
  34. data/ext/digest/kangarootwelve/{keccak/generic64lc → XKCP/lib/low/KeccakP-1600/plain-64bits/lcua}/KeccakP-1600-opt64-config.h +0 -0
  35. data/ext/digest/kangarootwelve/{keccak/sandybridge → XKCP/lib/low/KeccakP-1600/plain-64bits/lcua-shld}/KeccakP-1600-opt64-config.h +0 -0
  36. data/ext/digest/kangarootwelve/{keccak/generic64 → XKCP/lib/low/KeccakP-1600/plain-64bits/ua}/KeccakP-1600-opt64-config.h +0 -0
  37. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-32bits/KeccakP-1600-SnP.h +44 -0
  38. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-32bits/KeccakP-1600-reference.h +23 -0
  39. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-32bits/KeccakP-1600-reference32BI.c +625 -0
  40. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-64bits/KeccakP-1600-SnP.h +44 -0
  41. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-64bits/KeccakP-1600-reference.c +440 -0
  42. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-64bits/KeccakP-1600-reference.h +23 -0
  43. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/ARMv7A-NEON/KeccakP-1600-times2-SnP.h +42 -0
  44. data/ext/digest/kangarootwelve/{keccak/skylakex → XKCP/lib/low/KeccakP-1600-times2/AVX512/AVX512u12}/SIMD512-2-config.h +0 -0
  45. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/AVX512/KeccakP-1600-times2-SIMD512.c +850 -0
  46. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/AVX512/KeccakP-1600-times2-SnP.h +51 -0
  47. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/SIMD128/KeccakP-1600-times2-SIMD128.c +957 -0
  48. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/SIMD128/KeccakP-1600-times2-SnP.h +49 -0
  49. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/SIMD128/SSSE3-u2/SIMD128-config.h +8 -0
  50. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/SIMD128/SSSE3-ua/SIMD128-config.h +8 -0
  51. data/ext/digest/kangarootwelve/{keccak/bulldozer → XKCP/lib/low/KeccakP-1600-times2/SIMD128/XOP-ua}/SIMD128-config.h +0 -0
  52. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/fallback-on1/KeccakP-1600-times2-SnP.h +45 -0
  53. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/fallback-on1/KeccakP-1600-times2-on1.c +37 -0
  54. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX2/KeccakP-1600-times4-SIMD256.c +1321 -0
  55. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX2/KeccakP-1600-times4-SnP.h +55 -0
  56. data/ext/digest/kangarootwelve/{keccak/haswell → XKCP/lib/low/KeccakP-1600-times4/AVX2/u12}/SIMD256-config.h +0 -0
  57. data/ext/digest/kangarootwelve/{keccak/skylakex → XKCP/lib/low/KeccakP-1600-times4/AVX512/AVX512u12}/SIMD512-4-config.h +0 -0
  58. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX512/KeccakP-1600-times4-SIMD512.c +881 -0
  59. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX512/KeccakP-1600-times4-SnP.h +51 -0
  60. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on1/KeccakP-1600-times4-SnP.h +45 -0
  61. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on1/KeccakP-1600-times4-on1.c +37 -0
  62. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on2/KeccakP-1600-times4-SnP.h +45 -0
  63. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on2/KeccakP-1600-times4-on2.c +38 -0
  64. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/AVX512/KeccakP-1600-times8-SIMD512.c +1615 -0
  65. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/AVX512/KeccakP-1600-times8-SnP.h +57 -0
  66. data/ext/digest/kangarootwelve/{keccak/skylakex → XKCP/lib/low/KeccakP-1600-times8/AVX512/u12}/SIMD512-config.h +0 -0
  67. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on1/KeccakP-1600-times8-SnP.h +45 -0
  68. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on1/KeccakP-1600-times8-on1.c +37 -0
  69. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on2/KeccakP-1600-times8-SnP.h +45 -0
  70. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on2/KeccakP-1600-times8-on2.c +38 -0
  71. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on4/KeccakP-1600-times8-SnP.h +45 -0
  72. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on4/KeccakP-1600-times8-on4.c +38 -0
  73. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ARM/KeccakP-200-SnP.h +41 -0
  74. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ARM/KeccakP-200-armv7m-le-gcc.s +427 -0
  75. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/AVR8/KeccakP-200-SnP.h +41 -0
  76. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/compact/KeccakP-200-SnP.h +39 -0
  77. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/compact/KeccakP-200-compact.c +190 -0
  78. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ref/KeccakP-200-SnP.h +43 -0
  79. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ref/KeccakP-200-reference.c +412 -0
  80. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ref/KeccakP-200-reference.h +23 -0
  81. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ARM/KeccakP-400-SnP.h +41 -0
  82. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/AVR8/KeccakP-400-SnP.h +41 -0
  83. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ref/KeccakP-400-SnP.h +43 -0
  84. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ref/KeccakP-400-reference.c +414 -0
  85. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ref/KeccakP-400-reference.h +23 -0
  86. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ARM/KeccakP-800-SnP.h +42 -0
  87. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/AVR8/KeccakP-800-SnP.h +42 -0
  88. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/compact/KeccakP-800-SnP.h +40 -0
  89. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/compact/KeccakP-800-compact.c +244 -0
  90. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-SnP.h +46 -0
  91. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-opt32-bis.macros +184 -0
  92. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-opt32.c +454 -0
  93. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-opt32.macros +459 -0
  94. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-unrolling-bis.macros +83 -0
  95. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-unrolling.macros +88 -0
  96. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/lcu2/KeccakP-800-opt32-config.h +7 -0
  97. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/lcua/KeccakP-800-opt32-config.h +7 -0
  98. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/u2/KeccakP-800-opt32-config.h +7 -0
  99. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/ua/KeccakP-800-opt32-config.h +7 -0
  100. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ref/KeccakP-800-SnP.h +44 -0
  101. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ref/KeccakP-800-reference.c +437 -0
  102. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ref/KeccakP-800-reference.h +23 -0
  103. data/ext/digest/kangarootwelve/XKCP/lib/low/common/PlSnP-Fallback.inc +290 -0
  104. data/ext/digest/kangarootwelve/XKCP/lib/low/common/SnP-Relaned.h +141 -0
  105. data/ext/digest/kangarootwelve/XKCP/tests/UnitTests/displayIntermediateValues.c +177 -0
  106. data/ext/digest/kangarootwelve/XKCP/tests/UnitTests/displayIntermediateValues.h +30 -0
  107. data/ext/digest/kangarootwelve/ext.c +30 -22
  108. data/ext/digest/kangarootwelve/extconf.rb +7 -11
  109. data/ext/digest/kangarootwelve/targets/armv6/KangarooTwelve.c +1 -0
  110. data/ext/digest/kangarootwelve/targets/armv6/KangarooTwelve.h +1 -0
  111. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-SnP.h +1 -0
  112. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times2-SnP.h +1 -0
  113. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times2-on1.c +1 -0
  114. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times4-SnP.h +1 -0
  115. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times4-on1.c +1 -0
  116. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times8-SnP.h +1 -0
  117. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times8-on1.c +1 -0
  118. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-200-SnP.h +1 -0
  119. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-400-SnP.h +1 -0
  120. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-800-SnP.h +1 -0
  121. data/ext/digest/kangarootwelve/targets/armv6/KeccakSponge.c +1 -0
  122. data/ext/digest/kangarootwelve/targets/armv6/KeccakSponge.h +1 -0
  123. data/ext/digest/kangarootwelve/targets/armv6/KeccakSponge.inc +1 -0
  124. data/ext/digest/kangarootwelve/targets/armv6/Phases.h +1 -0
  125. data/ext/digest/kangarootwelve/targets/armv6/PlSnP-Fallback.inc +1 -0
  126. data/ext/digest/kangarootwelve/targets/armv6/align.h +1 -0
  127. data/ext/digest/kangarootwelve/targets/armv6/brg_endian.h +1 -0
  128. data/ext/digest/kangarootwelve/targets/armv6/config.h +1 -0
  129. data/ext/digest/kangarootwelve/{keccak/armv6m/ext.link.c → targets/armv6/ext.c} +0 -0
  130. data/ext/digest/kangarootwelve/targets/armv6/utils.h +1 -0
  131. data/ext/digest/kangarootwelve/targets/armv6m/KangarooTwelve.c +1 -0
  132. data/ext/digest/kangarootwelve/targets/armv6m/KangarooTwelve.h +1 -0
  133. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-SnP.h +1 -0
  134. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times2-SnP.h +1 -0
  135. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times2-on1.c +1 -0
  136. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times4-SnP.h +1 -0
  137. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times4-on1.c +1 -0
  138. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times8-SnP.h +1 -0
  139. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times8-on1.c +1 -0
  140. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-200-SnP.h +1 -0
  141. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-400-SnP.h +1 -0
  142. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-800-SnP.h +1 -0
  143. data/ext/digest/kangarootwelve/targets/armv6m/KeccakSponge.c +1 -0
  144. data/ext/digest/kangarootwelve/targets/armv6m/KeccakSponge.h +1 -0
  145. data/ext/digest/kangarootwelve/targets/armv6m/KeccakSponge.inc +1 -0
  146. data/ext/digest/kangarootwelve/targets/armv6m/Phases.h +1 -0
  147. data/ext/digest/kangarootwelve/targets/armv6m/PlSnP-Fallback.inc +1 -0
  148. data/ext/digest/kangarootwelve/targets/armv6m/align.h +1 -0
  149. data/ext/digest/kangarootwelve/targets/armv6m/brg_endian.h +1 -0
  150. data/ext/digest/kangarootwelve/targets/armv6m/config.h +1 -0
  151. data/ext/digest/kangarootwelve/{keccak/armv7a/ext.link.c → targets/armv6m/ext.c} +0 -0
  152. data/ext/digest/kangarootwelve/targets/armv6m/utils.h +1 -0
  153. data/ext/digest/kangarootwelve/targets/armv7a/KangarooTwelve.c +1 -0
  154. data/ext/digest/kangarootwelve/targets/armv7a/KangarooTwelve.h +1 -0
  155. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-SnP.h +1 -0
  156. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times2-SnP.h +1 -0
  157. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times4-SnP.h +1 -0
  158. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times4-on2.c +1 -0
  159. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times8-SnP.h +1 -0
  160. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times8-on2.c +1 -0
  161. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-200-SnP.h +1 -0
  162. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-200-reference.c +1 -0
  163. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-200-reference.h +1 -0
  164. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-400-SnP.h +1 -0
  165. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-400-reference.c +1 -0
  166. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-400-reference.h +1 -0
  167. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-800-SnP.h +1 -0
  168. data/ext/digest/kangarootwelve/targets/armv7a/KeccakSponge.c +1 -0
  169. data/ext/digest/kangarootwelve/targets/armv7a/KeccakSponge.h +1 -0
  170. data/ext/digest/kangarootwelve/targets/armv7a/KeccakSponge.inc +1 -0
  171. data/ext/digest/kangarootwelve/targets/armv7a/Phases.h +1 -0
  172. data/ext/digest/kangarootwelve/targets/armv7a/PlSnP-Fallback.inc +1 -0
  173. data/ext/digest/kangarootwelve/targets/armv7a/align.h +1 -0
  174. data/ext/digest/kangarootwelve/targets/armv7a/brg_endian.h +1 -0
  175. data/ext/digest/kangarootwelve/targets/armv7a/config.h +1 -0
  176. data/ext/digest/kangarootwelve/{keccak/armv7m/ext.link.c → targets/armv7a/ext.c} +0 -0
  177. data/ext/digest/kangarootwelve/targets/armv7a/utils.h +1 -0
  178. data/ext/digest/kangarootwelve/targets/armv7m/KangarooTwelve.c +1 -0
  179. data/ext/digest/kangarootwelve/targets/armv7m/KangarooTwelve.h +1 -0
  180. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-SnP.h +1 -0
  181. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times2-SnP.h +1 -0
  182. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times2-on1.c +1 -0
  183. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times4-SnP.h +1 -0
  184. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times4-on1.c +1 -0
  185. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times8-SnP.h +1 -0
  186. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times8-on1.c +1 -0
  187. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-200-SnP.h +1 -0
  188. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-200-armv7m-le-gcc.s +1 -0
  189. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-400-SnP.h +1 -0
  190. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-800-SnP.h +1 -0
  191. data/ext/digest/kangarootwelve/targets/armv7m/KeccakSponge.c +1 -0
  192. data/ext/digest/kangarootwelve/targets/armv7m/KeccakSponge.h +1 -0
  193. data/ext/digest/kangarootwelve/targets/armv7m/KeccakSponge.inc +1 -0
  194. data/ext/digest/kangarootwelve/targets/armv7m/Phases.h +1 -0
  195. data/ext/digest/kangarootwelve/targets/armv7m/PlSnP-Fallback.inc +1 -0
  196. data/ext/digest/kangarootwelve/targets/armv7m/align.h +1 -0
  197. data/ext/digest/kangarootwelve/targets/armv7m/brg_endian.h +1 -0
  198. data/ext/digest/kangarootwelve/targets/armv7m/config.h +1 -0
  199. data/ext/digest/kangarootwelve/{keccak/armv8a/ext.link.c → targets/armv7m/ext.c} +0 -0
  200. data/ext/digest/kangarootwelve/targets/armv7m/utils.h +1 -0
  201. data/ext/digest/kangarootwelve/targets/armv8a/KangarooTwelve.c +1 -0
  202. data/ext/digest/kangarootwelve/targets/armv8a/KangarooTwelve.h +1 -0
  203. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-64.macros +1 -0
  204. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-SnP.h +1 -0
  205. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-opt64-config.h +1 -0
  206. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-opt64.c +1 -0
  207. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times2-SnP.h +1 -0
  208. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times2-on1.c +1 -0
  209. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times4-SnP.h +1 -0
  210. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times4-on1.c +1 -0
  211. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times8-SnP.h +1 -0
  212. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times8-on1.c +1 -0
  213. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-unrolling.macros +1 -0
  214. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-200-SnP.h +1 -0
  215. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-200-reference.c +1 -0
  216. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-200-reference.h +1 -0
  217. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-400-SnP.h +1 -0
  218. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-400-reference.c +1 -0
  219. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-400-reference.h +1 -0
  220. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-SnP.h +1 -0
  221. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32-bis.macros +1 -0
  222. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32-config.h +1 -0
  223. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32.c +1 -0
  224. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32.macros +1 -0
  225. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-unrolling-bis.macros +1 -0
  226. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-unrolling.macros +1 -0
  227. data/ext/digest/kangarootwelve/targets/armv8a/KeccakSponge.c +1 -0
  228. data/ext/digest/kangarootwelve/targets/armv8a/KeccakSponge.h +1 -0
  229. data/ext/digest/kangarootwelve/targets/armv8a/KeccakSponge.inc +1 -0
  230. data/ext/digest/kangarootwelve/targets/armv8a/Phases.h +1 -0
  231. data/ext/digest/kangarootwelve/targets/armv8a/PlSnP-Fallback.inc +1 -0
  232. data/ext/digest/kangarootwelve/targets/armv8a/SnP-Relaned.h +1 -0
  233. data/ext/digest/kangarootwelve/targets/armv8a/align.h +1 -0
  234. data/ext/digest/kangarootwelve/targets/armv8a/brg_endian.h +1 -0
  235. data/ext/digest/kangarootwelve/targets/armv8a/config.h +1 -0
  236. data/ext/digest/kangarootwelve/{keccak/asmx86-64/ext.link.c → targets/armv8a/ext.c} +0 -0
  237. data/ext/digest/kangarootwelve/targets/armv8a/utils.h +1 -0
  238. data/ext/digest/kangarootwelve/targets/avr8/KangarooTwelve.c +1 -0
  239. data/ext/digest/kangarootwelve/targets/avr8/KangarooTwelve.h +1 -0
  240. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-SnP.h +1 -0
  241. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times2-SnP.h +1 -0
  242. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times2-on1.c +1 -0
  243. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times4-SnP.h +1 -0
  244. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times4-on1.c +1 -0
  245. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times8-SnP.h +1 -0
  246. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times8-on1.c +1 -0
  247. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-200-SnP.h +1 -0
  248. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-400-SnP.h +1 -0
  249. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-800-SnP.h +1 -0
  250. data/ext/digest/kangarootwelve/targets/avr8/KeccakSponge.c +1 -0
  251. data/ext/digest/kangarootwelve/targets/avr8/KeccakSponge.h +1 -0
  252. data/ext/digest/kangarootwelve/targets/avr8/KeccakSponge.inc +1 -0
  253. data/ext/digest/kangarootwelve/targets/avr8/Phases.h +1 -0
  254. data/ext/digest/kangarootwelve/targets/avr8/PlSnP-Fallback.inc +1 -0
  255. data/ext/digest/kangarootwelve/targets/avr8/align.h +1 -0
  256. data/ext/digest/kangarootwelve/targets/avr8/brg_endian.h +1 -0
  257. data/ext/digest/kangarootwelve/targets/avr8/config.h +1 -0
  258. data/ext/digest/kangarootwelve/{keccak/asmx86-64shld/ext.link.c → targets/avr8/ext.c} +0 -0
  259. data/ext/digest/kangarootwelve/targets/avr8/utils.h +1 -0
  260. data/ext/digest/kangarootwelve/targets/avx/KangarooTwelve.c +1 -0
  261. data/ext/digest/kangarootwelve/targets/avx/KangarooTwelve.h +1 -0
  262. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-64.macros +1 -0
  263. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-SnP.h +1 -0
  264. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-opt64-config.h +1 -0
  265. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-opt64.c +1 -0
  266. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times2-SIMD128.c +1 -0
  267. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times2-SnP.h +1 -0
  268. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times4-SnP.h +1 -0
  269. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times4-on2.c +1 -0
  270. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times8-SnP.h +1 -0
  271. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times8-on2.c +1 -0
  272. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-unrolling.macros +1 -0
  273. data/ext/digest/kangarootwelve/targets/avx/KeccakP-200-SnP.h +1 -0
  274. data/ext/digest/kangarootwelve/targets/avx/KeccakP-200-reference.c +1 -0
  275. data/ext/digest/kangarootwelve/targets/avx/KeccakP-200-reference.h +1 -0
  276. data/ext/digest/kangarootwelve/targets/avx/KeccakP-400-SnP.h +1 -0
  277. data/ext/digest/kangarootwelve/targets/avx/KeccakP-400-reference.c +1 -0
  278. data/ext/digest/kangarootwelve/targets/avx/KeccakP-400-reference.h +1 -0
  279. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-SnP.h +1 -0
  280. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32-bis.macros +1 -0
  281. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32-config.h +1 -0
  282. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32.c +1 -0
  283. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32.macros +1 -0
  284. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-unrolling-bis.macros +1 -0
  285. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-unrolling.macros +1 -0
  286. data/ext/digest/kangarootwelve/targets/avx/KeccakSponge.c +1 -0
  287. data/ext/digest/kangarootwelve/targets/avx/KeccakSponge.h +1 -0
  288. data/ext/digest/kangarootwelve/targets/avx/KeccakSponge.inc +1 -0
  289. data/ext/digest/kangarootwelve/targets/avx/Phases.h +1 -0
  290. data/ext/digest/kangarootwelve/targets/avx/PlSnP-Fallback.inc +1 -0
  291. data/ext/digest/kangarootwelve/targets/avx/SIMD128-config.h +1 -0
  292. data/ext/digest/kangarootwelve/targets/avx/SnP-Relaned.h +1 -0
  293. data/ext/digest/kangarootwelve/targets/avx/align.h +1 -0
  294. data/ext/digest/kangarootwelve/targets/avx/brg_endian.h +1 -0
  295. data/ext/digest/kangarootwelve/targets/avx/config.h +1 -0
  296. data/ext/digest/kangarootwelve/{keccak/avr8/ext.link.c → targets/avx/ext.c} +0 -0
  297. data/ext/digest/kangarootwelve/targets/avx/utils.h +1 -0
  298. data/ext/digest/kangarootwelve/targets/avx2/KangarooTwelve.c +1 -0
  299. data/ext/digest/kangarootwelve/targets/avx2/KangarooTwelve.h +1 -0
  300. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-SnP.h +1 -0
  301. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times2-SIMD128.c +1 -0
  302. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times2-SnP.h +1 -0
  303. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times4-SIMD256.c +1 -0
  304. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times4-SnP.h +1 -0
  305. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times8-SnP.h +1 -0
  306. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times8-on4.c +1 -0
  307. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-unrolling.macros +1 -0
  308. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-200-SnP.h +1 -0
  309. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-200-reference.c +1 -0
  310. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-200-reference.h +1 -0
  311. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-400-SnP.h +1 -0
  312. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-400-reference.c +1 -0
  313. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-400-reference.h +1 -0
  314. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-SnP.h +1 -0
  315. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32-bis.macros +1 -0
  316. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32-config.h +1 -0
  317. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32.c +1 -0
  318. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32.macros +1 -0
  319. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-unrolling-bis.macros +1 -0
  320. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-unrolling.macros +1 -0
  321. data/ext/digest/kangarootwelve/targets/avx2/KeccakSponge.c +1 -0
  322. data/ext/digest/kangarootwelve/targets/avx2/KeccakSponge.h +1 -0
  323. data/ext/digest/kangarootwelve/targets/avx2/KeccakSponge.inc +1 -0
  324. data/ext/digest/kangarootwelve/targets/avx2/Phases.h +1 -0
  325. data/ext/digest/kangarootwelve/targets/avx2/PlSnP-Fallback.inc +1 -0
  326. data/ext/digest/kangarootwelve/targets/avx2/SIMD128-config.h +1 -0
  327. data/ext/digest/kangarootwelve/targets/avx2/SIMD256-config.h +1 -0
  328. data/ext/digest/kangarootwelve/targets/avx2/align.h +1 -0
  329. data/ext/digest/kangarootwelve/targets/avx2/brg_endian.h +1 -0
  330. data/ext/digest/kangarootwelve/targets/avx2/config.h +1 -0
  331. data/ext/digest/kangarootwelve/{keccak/bulldozer/ext.link.c → targets/avx2/ext.c} +0 -0
  332. data/ext/digest/kangarootwelve/targets/avx2/utils.h +1 -0
  333. data/ext/digest/kangarootwelve/targets/avx2noasm/KangarooTwelve.c +1 -0
  334. data/ext/digest/kangarootwelve/targets/avx2noasm/KangarooTwelve.h +1 -0
  335. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-64.macros +1 -0
  336. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-SnP.h +1 -0
  337. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-opt64-config.h +1 -0
  338. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-opt64.c +1 -0
  339. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times2-SIMD128.c +1 -0
  340. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times2-SnP.h +1 -0
  341. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times4-SIMD256.c +1 -0
  342. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times4-SnP.h +1 -0
  343. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times8-SnP.h +1 -0
  344. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times8-on4.c +1 -0
  345. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-unrolling.macros +1 -0
  346. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-200-SnP.h +1 -0
  347. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-200-reference.c +1 -0
  348. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-200-reference.h +1 -0
  349. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-400-SnP.h +1 -0
  350. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-400-reference.c +1 -0
  351. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-400-reference.h +1 -0
  352. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-SnP.h +1 -0
  353. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32-bis.macros +1 -0
  354. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32-config.h +1 -0
  355. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32.c +1 -0
  356. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32.macros +1 -0
  357. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-unrolling-bis.macros +1 -0
  358. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-unrolling.macros +1 -0
  359. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakSponge.c +1 -0
  360. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakSponge.h +1 -0
  361. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakSponge.inc +1 -0
  362. data/ext/digest/kangarootwelve/targets/avx2noasm/Phases.h +1 -0
  363. data/ext/digest/kangarootwelve/targets/avx2noasm/PlSnP-Fallback.inc +1 -0
  364. data/ext/digest/kangarootwelve/targets/avx2noasm/SIMD128-config.h +1 -0
  365. data/ext/digest/kangarootwelve/targets/avx2noasm/SIMD256-config.h +1 -0
  366. data/ext/digest/kangarootwelve/targets/avx2noasm/SnP-Relaned.h +1 -0
  367. data/ext/digest/kangarootwelve/targets/avx2noasm/align.h +1 -0
  368. data/ext/digest/kangarootwelve/targets/avx2noasm/brg_endian.h +1 -0
  369. data/ext/digest/kangarootwelve/targets/avx2noasm/config.h +1 -0
  370. data/ext/digest/kangarootwelve/{keccak/compact/ext.link.c → targets/avx2noasm/ext.c} +0 -0
  371. data/ext/digest/kangarootwelve/targets/avx2noasm/utils.h +1 -0
  372. data/ext/digest/kangarootwelve/targets/avx512/KangarooTwelve.c +1 -0
  373. data/ext/digest/kangarootwelve/targets/avx512/KangarooTwelve.h +1 -0
  374. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-1600-SnP.h +1 -0
  375. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-1600-times2-SIMD512.c +1 -0
  376. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-1600-times2-SnP.h +1 -0
  377. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-1600-times4-SIMD512.c +1 -0
  378. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-1600-times4-SnP.h +1 -0
  379. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-1600-times8-SIMD512.c +1 -0
  380. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-1600-times8-SnP.h +1 -0
  381. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-200-SnP.h +1 -0
  382. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-200-reference.c +1 -0
  383. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-200-reference.h +1 -0
  384. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-400-SnP.h +1 -0
  385. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-400-reference.c +1 -0
  386. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-400-reference.h +1 -0
  387. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-SnP.h +1 -0
  388. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32-bis.macros +1 -0
  389. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32-config.h +1 -0
  390. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32.c +1 -0
  391. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32.macros +1 -0
  392. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-unrolling-bis.macros +1 -0
  393. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-unrolling.macros +1 -0
  394. data/ext/digest/kangarootwelve/targets/avx512/KeccakSponge.c +1 -0
  395. data/ext/digest/kangarootwelve/targets/avx512/KeccakSponge.h +1 -0
  396. data/ext/digest/kangarootwelve/targets/avx512/KeccakSponge.inc +1 -0
  397. data/ext/digest/kangarootwelve/targets/avx512/Phases.h +1 -0
  398. data/ext/digest/kangarootwelve/targets/avx512/SIMD512-2-config.h +1 -0
  399. data/ext/digest/kangarootwelve/targets/avx512/SIMD512-4-config.h +1 -0
  400. data/ext/digest/kangarootwelve/targets/avx512/SIMD512-config.h +1 -0
  401. data/ext/digest/kangarootwelve/targets/avx512/align.h +1 -0
  402. data/ext/digest/kangarootwelve/targets/avx512/brg_endian.h +1 -0
  403. data/ext/digest/kangarootwelve/targets/avx512/config.h +1 -0
  404. data/ext/digest/kangarootwelve/{keccak/generic32/ext.link.c → targets/avx512/ext.c} +0 -0
  405. data/ext/digest/kangarootwelve/targets/avx512/utils.h +1 -0
  406. data/ext/digest/kangarootwelve/targets/avx512noasm/KangarooTwelve.c +1 -0
  407. data/ext/digest/kangarootwelve/targets/avx512noasm/KangarooTwelve.h +1 -0
  408. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-AVX512-config.h +1 -0
  409. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-AVX512.c +1 -0
  410. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-SnP.h +1 -0
  411. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-times2-SIMD512.c +1 -0
  412. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-times2-SnP.h +1 -0
  413. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-times4-SIMD512.c +1 -0
  414. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-times4-SnP.h +1 -0
  415. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-times8-SIMD512.c +1 -0
  416. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-times8-SnP.h +1 -0
  417. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-200-SnP.h +1 -0
  418. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-200-reference.c +1 -0
  419. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-200-reference.h +1 -0
  420. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-400-SnP.h +1 -0
  421. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-400-reference.c +1 -0
  422. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-400-reference.h +1 -0
  423. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-SnP.h +1 -0
  424. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32-bis.macros +1 -0
  425. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32-config.h +1 -0
  426. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32.c +1 -0
  427. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32.macros +1 -0
  428. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-unrolling-bis.macros +1 -0
  429. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-unrolling.macros +1 -0
  430. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakSponge.c +1 -0
  431. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakSponge.h +1 -0
  432. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakSponge.inc +1 -0
  433. data/ext/digest/kangarootwelve/targets/avx512noasm/Phases.h +1 -0
  434. data/ext/digest/kangarootwelve/targets/avx512noasm/SIMD512-2-config.h +1 -0
  435. data/ext/digest/kangarootwelve/targets/avx512noasm/SIMD512-4-config.h +1 -0
  436. data/ext/digest/kangarootwelve/targets/avx512noasm/SIMD512-config.h +1 -0
  437. data/ext/digest/kangarootwelve/targets/avx512noasm/align.h +1 -0
  438. data/ext/digest/kangarootwelve/targets/avx512noasm/brg_endian.h +1 -0
  439. data/ext/digest/kangarootwelve/targets/avx512noasm/config.h +1 -0
  440. data/ext/digest/kangarootwelve/{keccak/generic32lc/ext.link.c → targets/avx512noasm/ext.c} +0 -0
  441. data/ext/digest/kangarootwelve/targets/avx512noasm/utils.h +1 -0
  442. data/ext/digest/kangarootwelve/targets/compact/KangarooTwelve.c +1 -0
  443. data/ext/digest/kangarootwelve/targets/compact/KangarooTwelve.h +1 -0
  444. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-SnP.h +1 -0
  445. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-compact64.c +1 -0
  446. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times2-SnP.h +1 -0
  447. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times2-on1.c +1 -0
  448. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times4-SnP.h +1 -0
  449. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times4-on1.c +1 -0
  450. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times8-SnP.h +1 -0
  451. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times8-on1.c +1 -0
  452. data/ext/digest/kangarootwelve/targets/compact/KeccakP-200-SnP.h +1 -0
  453. data/ext/digest/kangarootwelve/targets/compact/KeccakP-200-compact.c +1 -0
  454. data/ext/digest/kangarootwelve/targets/compact/KeccakP-400-SnP.h +1 -0
  455. data/ext/digest/kangarootwelve/targets/compact/KeccakP-400-reference.c +1 -0
  456. data/ext/digest/kangarootwelve/targets/compact/KeccakP-400-reference.h +1 -0
  457. data/ext/digest/kangarootwelve/targets/compact/KeccakP-800-SnP.h +1 -0
  458. data/ext/digest/kangarootwelve/targets/compact/KeccakP-800-compact.c +1 -0
  459. data/ext/digest/kangarootwelve/targets/compact/KeccakSponge.c +1 -0
  460. data/ext/digest/kangarootwelve/targets/compact/KeccakSponge.h +1 -0
  461. data/ext/digest/kangarootwelve/targets/compact/KeccakSponge.inc +1 -0
  462. data/ext/digest/kangarootwelve/targets/compact/Phases.h +1 -0
  463. data/ext/digest/kangarootwelve/targets/compact/PlSnP-Fallback.inc +1 -0
  464. data/ext/digest/kangarootwelve/targets/compact/SnP-Relaned.h +1 -0
  465. data/ext/digest/kangarootwelve/targets/compact/align.h +1 -0
  466. data/ext/digest/kangarootwelve/targets/compact/brg_endian.h +1 -0
  467. data/ext/digest/kangarootwelve/targets/compact/config.h +1 -0
  468. data/ext/digest/kangarootwelve/{keccak/generic64/ext.link.c → targets/compact/ext.c} +0 -0
  469. data/ext/digest/kangarootwelve/targets/compact/utils.h +1 -0
  470. data/ext/digest/kangarootwelve/targets/config.h +9 -0
  471. data/ext/digest/kangarootwelve/targets/defs +2 -0
  472. data/ext/digest/kangarootwelve/targets/generic32/KangarooTwelve.c +1 -0
  473. data/ext/digest/kangarootwelve/targets/generic32/KangarooTwelve.h +1 -0
  474. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-SnP.h +1 -0
  475. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-inplace32BI.c +1 -0
  476. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times2-SnP.h +1 -0
  477. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times2-on1.c +1 -0
  478. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times4-SnP.h +1 -0
  479. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times4-on1.c +1 -0
  480. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times8-SnP.h +1 -0
  481. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times8-on1.c +1 -0
  482. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-200-SnP.h +1 -0
  483. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-200-reference.c +1 -0
  484. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-200-reference.h +1 -0
  485. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-400-SnP.h +1 -0
  486. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-400-reference.c +1 -0
  487. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-400-reference.h +1 -0
  488. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-SnP.h +1 -0
  489. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32-bis.macros +1 -0
  490. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32-config.h +1 -0
  491. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32.c +1 -0
  492. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32.macros +1 -0
  493. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-unrolling-bis.macros +1 -0
  494. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-unrolling.macros +1 -0
  495. data/ext/digest/kangarootwelve/targets/generic32/KeccakSponge.c +1 -0
  496. data/ext/digest/kangarootwelve/targets/generic32/KeccakSponge.h +1 -0
  497. data/ext/digest/kangarootwelve/targets/generic32/KeccakSponge.inc +1 -0
  498. data/ext/digest/kangarootwelve/targets/generic32/Phases.h +1 -0
  499. data/ext/digest/kangarootwelve/targets/generic32/PlSnP-Fallback.inc +1 -0
  500. data/ext/digest/kangarootwelve/targets/generic32/SnP-Relaned.h +1 -0
  501. data/ext/digest/kangarootwelve/targets/generic32/align.h +1 -0
  502. data/ext/digest/kangarootwelve/targets/generic32/brg_endian.h +1 -0
  503. data/ext/digest/kangarootwelve/targets/generic32/config.h +1 -0
  504. data/ext/digest/kangarootwelve/{keccak/generic64lc/ext.link.c → targets/generic32/ext.c} +0 -0
  505. data/ext/digest/kangarootwelve/targets/generic32/utils.h +1 -0
  506. data/ext/digest/kangarootwelve/targets/generic32lc/KangarooTwelve.c +1 -0
  507. data/ext/digest/kangarootwelve/targets/generic32lc/KangarooTwelve.h +1 -0
  508. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-SnP.h +1 -0
  509. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-inplace32BI.c +1 -0
  510. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times2-SnP.h +1 -0
  511. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times2-on1.c +1 -0
  512. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times4-SnP.h +1 -0
  513. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times4-on1.c +1 -0
  514. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times8-SnP.h +1 -0
  515. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times8-on1.c +1 -0
  516. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-200-SnP.h +1 -0
  517. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-200-reference.c +1 -0
  518. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-200-reference.h +1 -0
  519. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-400-SnP.h +1 -0
  520. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-400-reference.c +1 -0
  521. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-400-reference.h +1 -0
  522. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-SnP.h +1 -0
  523. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32-bis.macros +1 -0
  524. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32-config.h +1 -0
  525. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32.c +1 -0
  526. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32.macros +1 -0
  527. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-unrolling-bis.macros +1 -0
  528. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-unrolling.macros +1 -0
  529. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakSponge.c +1 -0
  530. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakSponge.h +1 -0
  531. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakSponge.inc +1 -0
  532. data/ext/digest/kangarootwelve/targets/generic32lc/Phases.h +1 -0
  533. data/ext/digest/kangarootwelve/targets/generic32lc/PlSnP-Fallback.inc +1 -0
  534. data/ext/digest/kangarootwelve/targets/generic32lc/SnP-Relaned.h +1 -0
  535. data/ext/digest/kangarootwelve/targets/generic32lc/align.h +1 -0
  536. data/ext/digest/kangarootwelve/targets/generic32lc/brg_endian.h +1 -0
  537. data/ext/digest/kangarootwelve/targets/generic32lc/config.h +1 -0
  538. data/ext/digest/kangarootwelve/{keccak/haswell/ext.link.c → targets/generic32lc/ext.c} +0 -0
  539. data/ext/digest/kangarootwelve/targets/generic32lc/utils.h +1 -0
  540. data/ext/digest/kangarootwelve/targets/generic64/KangarooTwelve.c +1 -0
  541. data/ext/digest/kangarootwelve/targets/generic64/KangarooTwelve.h +1 -0
  542. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-64.macros +1 -0
  543. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-SnP.h +1 -0
  544. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-opt64-config.h +1 -0
  545. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-opt64.c +1 -0
  546. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times2-SnP.h +1 -0
  547. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times2-on1.c +1 -0
  548. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times4-SnP.h +1 -0
  549. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times4-on1.c +1 -0
  550. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times8-SnP.h +1 -0
  551. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times8-on1.c +1 -0
  552. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-unrolling.macros +1 -0
  553. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-200-SnP.h +1 -0
  554. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-200-reference.c +1 -0
  555. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-200-reference.h +1 -0
  556. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-400-SnP.h +1 -0
  557. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-400-reference.c +1 -0
  558. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-400-reference.h +1 -0
  559. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-SnP.h +1 -0
  560. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32-bis.macros +1 -0
  561. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32-config.h +1 -0
  562. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32.c +1 -0
  563. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32.macros +1 -0
  564. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-unrolling-bis.macros +1 -0
  565. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-unrolling.macros +1 -0
  566. data/ext/digest/kangarootwelve/targets/generic64/KeccakSponge.c +1 -0
  567. data/ext/digest/kangarootwelve/targets/generic64/KeccakSponge.h +1 -0
  568. data/ext/digest/kangarootwelve/targets/generic64/KeccakSponge.inc +1 -0
  569. data/ext/digest/kangarootwelve/targets/generic64/Phases.h +1 -0
  570. data/ext/digest/kangarootwelve/targets/generic64/PlSnP-Fallback.inc +1 -0
  571. data/ext/digest/kangarootwelve/targets/generic64/SnP-Relaned.h +1 -0
  572. data/ext/digest/kangarootwelve/targets/generic64/align.h +1 -0
  573. data/ext/digest/kangarootwelve/targets/generic64/brg_endian.h +1 -0
  574. data/ext/digest/kangarootwelve/targets/generic64/config.h +1 -0
  575. data/ext/digest/kangarootwelve/{keccak/nehalem/ext.link.c → targets/generic64/ext.c} +0 -0
  576. data/ext/digest/kangarootwelve/targets/generic64/utils.h +1 -0
  577. data/ext/digest/kangarootwelve/targets/generic64lc/KangarooTwelve.c +1 -0
  578. data/ext/digest/kangarootwelve/targets/generic64lc/KangarooTwelve.h +1 -0
  579. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-64.macros +1 -0
  580. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-SnP.h +1 -0
  581. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-opt64-config.h +1 -0
  582. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-opt64.c +1 -0
  583. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times2-SnP.h +1 -0
  584. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times2-on1.c +1 -0
  585. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times4-SnP.h +1 -0
  586. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times4-on1.c +1 -0
  587. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times8-SnP.h +1 -0
  588. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times8-on1.c +1 -0
  589. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-unrolling.macros +1 -0
  590. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-200-SnP.h +1 -0
  591. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-200-reference.c +1 -0
  592. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-200-reference.h +1 -0
  593. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-400-SnP.h +1 -0
  594. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-400-reference.c +1 -0
  595. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-400-reference.h +1 -0
  596. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-SnP.h +1 -0
  597. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32-bis.macros +1 -0
  598. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32-config.h +1 -0
  599. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32.c +1 -0
  600. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32.macros +1 -0
  601. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-unrolling-bis.macros +1 -0
  602. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-unrolling.macros +1 -0
  603. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakSponge.c +1 -0
  604. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakSponge.h +1 -0
  605. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakSponge.inc +1 -0
  606. data/ext/digest/kangarootwelve/targets/generic64lc/Phases.h +1 -0
  607. data/ext/digest/kangarootwelve/targets/generic64lc/PlSnP-Fallback.inc +1 -0
  608. data/ext/digest/kangarootwelve/targets/generic64lc/SnP-Relaned.h +1 -0
  609. data/ext/digest/kangarootwelve/targets/generic64lc/align.h +1 -0
  610. data/ext/digest/kangarootwelve/targets/generic64lc/brg_endian.h +1 -0
  611. data/ext/digest/kangarootwelve/targets/generic64lc/config.h +1 -0
  612. data/ext/digest/kangarootwelve/{keccak/reference/ext.link.c → targets/generic64lc/ext.c} +0 -0
  613. data/ext/digest/kangarootwelve/targets/generic64lc/utils.h +1 -0
  614. data/ext/digest/kangarootwelve/targets/list +20 -0
  615. data/ext/digest/kangarootwelve/targets/reference/KangarooTwelve.c +1 -0
  616. data/ext/digest/kangarootwelve/targets/reference/KangarooTwelve.h +1 -0
  617. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-SnP.h +1 -0
  618. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-reference.c +1 -0
  619. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-reference.h +1 -0
  620. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times2-SnP.h +1 -0
  621. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times2-on1.c +1 -0
  622. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times4-SnP.h +1 -0
  623. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times4-on1.c +1 -0
  624. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times8-SnP.h +1 -0
  625. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times8-on1.c +1 -0
  626. data/ext/digest/kangarootwelve/targets/reference/KeccakP-200-SnP.h +1 -0
  627. data/ext/digest/kangarootwelve/targets/reference/KeccakP-200-reference.c +1 -0
  628. data/ext/digest/kangarootwelve/targets/reference/KeccakP-200-reference.h +1 -0
  629. data/ext/digest/kangarootwelve/targets/reference/KeccakP-400-SnP.h +1 -0
  630. data/ext/digest/kangarootwelve/targets/reference/KeccakP-400-reference.c +1 -0
  631. data/ext/digest/kangarootwelve/targets/reference/KeccakP-400-reference.h +1 -0
  632. data/ext/digest/kangarootwelve/targets/reference/KeccakP-800-SnP.h +1 -0
  633. data/ext/digest/kangarootwelve/targets/reference/KeccakP-800-reference.c +1 -0
  634. data/ext/digest/kangarootwelve/targets/reference/KeccakP-800-reference.h +1 -0
  635. data/ext/digest/kangarootwelve/targets/reference/KeccakSponge.c +1 -0
  636. data/ext/digest/kangarootwelve/targets/reference/KeccakSponge.h +1 -0
  637. data/ext/digest/kangarootwelve/targets/reference/KeccakSponge.inc +1 -0
  638. data/ext/digest/kangarootwelve/targets/reference/Phases.h +1 -0
  639. data/ext/digest/kangarootwelve/targets/reference/PlSnP-Fallback.inc +1 -0
  640. data/ext/digest/kangarootwelve/targets/reference/align.h +1 -0
  641. data/ext/digest/kangarootwelve/targets/reference/brg_endian.h +1 -0
  642. data/ext/digest/kangarootwelve/targets/reference/config.h +1 -0
  643. data/ext/digest/kangarootwelve/targets/reference/displayIntermediateValues.c +1 -0
  644. data/ext/digest/kangarootwelve/targets/reference/displayIntermediateValues.h +1 -0
  645. data/ext/digest/kangarootwelve/{keccak/reference32bits/ext.link.c → targets/reference/ext.c} +0 -0
  646. data/ext/digest/kangarootwelve/targets/reference/utils.h +1 -0
  647. data/ext/digest/kangarootwelve/targets/reference32bits/KangarooTwelve.c +1 -0
  648. data/ext/digest/kangarootwelve/targets/reference32bits/KangarooTwelve.h +1 -0
  649. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-SnP.h +1 -0
  650. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-reference.h +1 -0
  651. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-reference32BI.c +1 -0
  652. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times2-SnP.h +1 -0
  653. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times2-on1.c +1 -0
  654. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times4-SnP.h +1 -0
  655. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times4-on1.c +1 -0
  656. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times8-SnP.h +1 -0
  657. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times8-on1.c +1 -0
  658. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-200-SnP.h +1 -0
  659. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-200-reference.c +1 -0
  660. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-200-reference.h +1 -0
  661. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-400-SnP.h +1 -0
  662. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-400-reference.c +1 -0
  663. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-400-reference.h +1 -0
  664. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-800-SnP.h +1 -0
  665. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-800-reference.c +1 -0
  666. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-800-reference.h +1 -0
  667. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakSponge.c +1 -0
  668. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakSponge.h +1 -0
  669. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakSponge.inc +1 -0
  670. data/ext/digest/kangarootwelve/targets/reference32bits/Phases.h +1 -0
  671. data/ext/digest/kangarootwelve/targets/reference32bits/PlSnP-Fallback.inc +1 -0
  672. data/ext/digest/kangarootwelve/targets/reference32bits/align.h +1 -0
  673. data/ext/digest/kangarootwelve/targets/reference32bits/brg_endian.h +1 -0
  674. data/ext/digest/kangarootwelve/targets/reference32bits/config.h +1 -0
  675. data/ext/digest/kangarootwelve/targets/reference32bits/displayIntermediateValues.c +1 -0
  676. data/ext/digest/kangarootwelve/targets/reference32bits/displayIntermediateValues.h +1 -0
  677. data/ext/digest/kangarootwelve/{keccak/sandybridge/ext.link.c → targets/reference32bits/ext.c} +0 -0
  678. data/ext/digest/kangarootwelve/targets/reference32bits/utils.h +1 -0
  679. data/ext/digest/kangarootwelve/targets/ssse3/KangarooTwelve.c +1 -0
  680. data/ext/digest/kangarootwelve/targets/ssse3/KangarooTwelve.h +1 -0
  681. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-64.macros +1 -0
  682. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-SnP.h +1 -0
  683. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-opt64-config.h +1 -0
  684. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-opt64.c +1 -0
  685. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times2-SIMD128.c +1 -0
  686. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times2-SnP.h +1 -0
  687. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times4-SnP.h +1 -0
  688. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times4-on2.c +1 -0
  689. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times8-SnP.h +1 -0
  690. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times8-on2.c +1 -0
  691. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-unrolling.macros +1 -0
  692. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-200-SnP.h +1 -0
  693. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-200-reference.c +1 -0
  694. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-200-reference.h +1 -0
  695. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-400-SnP.h +1 -0
  696. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-400-reference.c +1 -0
  697. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-400-reference.h +1 -0
  698. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-SnP.h +1 -0
  699. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32-bis.macros +1 -0
  700. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32-config.h +1 -0
  701. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32.c +1 -0
  702. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32.macros +1 -0
  703. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-unrolling-bis.macros +1 -0
  704. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-unrolling.macros +1 -0
  705. data/ext/digest/kangarootwelve/targets/ssse3/KeccakSponge.c +1 -0
  706. data/ext/digest/kangarootwelve/targets/ssse3/KeccakSponge.h +1 -0
  707. data/ext/digest/kangarootwelve/targets/ssse3/KeccakSponge.inc +1 -0
  708. data/ext/digest/kangarootwelve/targets/ssse3/Phases.h +1 -0
  709. data/ext/digest/kangarootwelve/targets/ssse3/PlSnP-Fallback.inc +1 -0
  710. data/ext/digest/kangarootwelve/targets/ssse3/SIMD128-config.h +1 -0
  711. data/ext/digest/kangarootwelve/targets/ssse3/SnP-Relaned.h +1 -0
  712. data/ext/digest/kangarootwelve/targets/ssse3/align.h +1 -0
  713. data/ext/digest/kangarootwelve/targets/ssse3/brg_endian.h +1 -0
  714. data/ext/digest/kangarootwelve/targets/ssse3/config.h +1 -0
  715. data/ext/digest/kangarootwelve/{keccak/skylakex/ext.link.c → targets/ssse3/ext.c} +0 -0
  716. data/ext/digest/kangarootwelve/targets/ssse3/utils.h +1 -0
  717. data/ext/digest/kangarootwelve/targets/xop/KangarooTwelve.c +1 -0
  718. data/ext/digest/kangarootwelve/targets/xop/KangarooTwelve.h +1 -0
  719. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-SnP.h +1 -0
  720. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-XOP-config.h +1 -0
  721. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-XOP.c +1 -0
  722. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times2-SIMD128.c +1 -0
  723. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times2-SnP.h +1 -0
  724. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times4-SnP.h +1 -0
  725. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times4-on2.c +1 -0
  726. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times8-SnP.h +1 -0
  727. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times8-on2.c +1 -0
  728. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-unrolling.macros +1 -0
  729. data/ext/digest/kangarootwelve/targets/xop/KeccakP-200-SnP.h +1 -0
  730. data/ext/digest/kangarootwelve/targets/xop/KeccakP-200-reference.c +1 -0
  731. data/ext/digest/kangarootwelve/targets/xop/KeccakP-200-reference.h +1 -0
  732. data/ext/digest/kangarootwelve/targets/xop/KeccakP-400-SnP.h +1 -0
  733. data/ext/digest/kangarootwelve/targets/xop/KeccakP-400-reference.c +1 -0
  734. data/ext/digest/kangarootwelve/targets/xop/KeccakP-400-reference.h +1 -0
  735. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-SnP.h +1 -0
  736. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32-bis.macros +1 -0
  737. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32-config.h +1 -0
  738. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32.c +1 -0
  739. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32.macros +1 -0
  740. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-unrolling-bis.macros +1 -0
  741. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-unrolling.macros +1 -0
  742. data/ext/digest/kangarootwelve/targets/xop/KeccakSponge.c +1 -0
  743. data/ext/digest/kangarootwelve/targets/xop/KeccakSponge.h +1 -0
  744. data/ext/digest/kangarootwelve/targets/xop/KeccakSponge.inc +1 -0
  745. data/ext/digest/kangarootwelve/targets/xop/Phases.h +1 -0
  746. data/ext/digest/kangarootwelve/targets/xop/PlSnP-Fallback.inc +1 -0
  747. data/ext/digest/kangarootwelve/targets/xop/SIMD128-config.h +1 -0
  748. data/ext/digest/kangarootwelve/targets/xop/SnP-Relaned.h +1 -0
  749. data/ext/digest/kangarootwelve/targets/xop/align.h +1 -0
  750. data/ext/digest/kangarootwelve/targets/xop/brg_endian.h +1 -0
  751. data/ext/digest/kangarootwelve/targets/xop/config.h +1 -0
  752. data/ext/digest/kangarootwelve/targets/xop/ext.c +1 -0
  753. data/ext/digest/kangarootwelve/targets/xop/utils.h +1 -0
  754. data/lib/digest/kangarootwelve/version.rb +1 -1
  755. data/rakelib/alt-install-task.rake +59 -0
  756. data/test/test.rb +5 -3
  757. metadata +778 -300
  758. data/ext/digest/kangarootwelve/keccak/armv6m/KangarooTwelve.link.c +0 -1
  759. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakDuplexWidth1600.link.c +0 -1
  760. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-SnP.h +0 -36
  761. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-times2-SnP.h +0 -45
  762. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-times2-on1.c +0 -37
  763. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-times4-SnP.h +0 -45
  764. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-times4-on1.c +0 -37
  765. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-times8-SnP.h +0 -45
  766. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-times8-on1.c +0 -37
  767. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-u2-32bi-armv6m-le-gcc.s +0 -1334
  768. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakSpongeWidth1600.link.c +0 -1
  769. data/ext/digest/kangarootwelve/keccak/armv6m/PlSnP-Fallback.inc +0 -287
  770. data/ext/digest/kangarootwelve/keccak/armv7a/KangarooTwelve.link.c +0 -1
  771. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakDuplexWidth1600.link.c +0 -1
  772. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-SnP.h +0 -37
  773. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-armv7a-le-neon-gcc.s +0 -826
  774. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-inplace-pl2-armv7a-neon-le-gcc.s +0 -1245
  775. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-times2-SnP.h +0 -38
  776. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-times4-SnP.h +0 -45
  777. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-times4-on2.c +0 -38
  778. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-times8-SnP.h +0 -45
  779. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-times8-on2.c +0 -38
  780. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakSpongeWidth1600.link.c +0 -1
  781. data/ext/digest/kangarootwelve/keccak/armv7a/PlSnP-Fallback.inc +0 -287
  782. data/ext/digest/kangarootwelve/keccak/armv7m/KangarooTwelve.link.c +0 -1
  783. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakDuplexWidth1600.link.c +0 -1
  784. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-SnP.h +0 -36
  785. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-inplace-32bi-armv7m-le-gcc.s +0 -1170
  786. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-times2-SnP.h +0 -45
  787. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-times2-on1.c +0 -37
  788. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-times4-SnP.h +0 -45
  789. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-times4-on1.c +0 -37
  790. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-times8-SnP.h +0 -45
  791. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-times8-on1.c +0 -37
  792. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakSpongeWidth1600.link.c +0 -1
  793. data/ext/digest/kangarootwelve/keccak/armv7m/PlSnP-Fallback.inc +0 -287
  794. data/ext/digest/kangarootwelve/keccak/armv8a/KangarooTwelve.link.c +0 -1
  795. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakDuplexWidth1600.link.c +0 -1
  796. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-SnP.h +0 -28
  797. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-armv8a-neon.s +0 -537
  798. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-times2-SnP.h +0 -45
  799. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-times2-on1.c +0 -37
  800. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-times4-SnP.h +0 -45
  801. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-times4-on1.c +0 -37
  802. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-times8-SnP.h +0 -45
  803. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-times8-on1.c +0 -37
  804. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakSpongeWidth1600.link.c +0 -1
  805. data/ext/digest/kangarootwelve/keccak/armv8a/PlSnP-Fallback.inc +0 -287
  806. data/ext/digest/kangarootwelve/keccak/asmx86-64/KangarooTwelve.link.c +0 -1
  807. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakDuplexWidth1600.link.c +0 -1
  808. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-SnP.h +0 -37
  809. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-times2-SnP.h +0 -45
  810. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-times2-on1.c +0 -37
  811. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-times4-SnP.h +0 -45
  812. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-times4-on1.c +0 -37
  813. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-times8-SnP.h +0 -45
  814. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-times8-on1.c +0 -37
  815. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-x86-64-gas.s +0 -1190
  816. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakSpongeWidth1600.link.c +0 -1
  817. data/ext/digest/kangarootwelve/keccak/asmx86-64/PlSnP-Fallback.inc +0 -287
  818. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KangarooTwelve.link.c +0 -1
  819. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakDuplexWidth1600.link.c +0 -1
  820. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-SnP.h +0 -37
  821. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-times2-SnP.h +0 -45
  822. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-times2-on1.c +0 -37
  823. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-times4-SnP.h +0 -45
  824. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-times4-on1.c +0 -37
  825. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-times8-SnP.h +0 -45
  826. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-times8-on1.c +0 -37
  827. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-x86-64-shld-gas.s +0 -1190
  828. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakSpongeWidth1600.link.c +0 -1
  829. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/PlSnP-Fallback.inc +0 -287
  830. data/ext/digest/kangarootwelve/keccak/avr8/KangarooTwelve.link.c +0 -1
  831. data/ext/digest/kangarootwelve/keccak/avr8/KeccakDuplexWidth1600.link.c +0 -1
  832. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-SnP.h +0 -37
  833. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-avr8-fast.s +0 -1116
  834. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-times2-SnP.h +0 -45
  835. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-times2-on1.c +0 -37
  836. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-times4-SnP.h +0 -45
  837. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-times4-on1.c +0 -37
  838. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-times8-SnP.h +0 -45
  839. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-times8-on1.c +0 -37
  840. data/ext/digest/kangarootwelve/keccak/avr8/KeccakSpongeWidth1600.link.c +0 -1
  841. data/ext/digest/kangarootwelve/keccak/avr8/PlSnP-Fallback.inc +0 -287
  842. data/ext/digest/kangarootwelve/keccak/bulldozer/KangarooTwelve.link.c +0 -1
  843. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakDuplexWidth1600.link.c +0 -1
  844. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-SnP.h +0 -39
  845. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-XOP.c +0 -473
  846. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-times2-SIMD128.c +0 -954
  847. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-times2-SnP.h +0 -47
  848. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-times4-SnP.h +0 -45
  849. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-times4-on2.c +0 -38
  850. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-times8-SnP.h +0 -45
  851. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-times8-on2.c +0 -38
  852. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-unrolling.macros +0 -302
  853. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakSpongeWidth1600.link.c +0 -1
  854. data/ext/digest/kangarootwelve/keccak/bulldozer/PlSnP-Fallback.inc +0 -287
  855. data/ext/digest/kangarootwelve/keccak/bulldozer/SnP-Relaned.h +0 -140
  856. data/ext/digest/kangarootwelve/keccak/common/KangarooTwelve.c +0 -271
  857. data/ext/digest/kangarootwelve/keccak/common/KangarooTwelve.h +0 -89
  858. data/ext/digest/kangarootwelve/keccak/common/KeccakDuplex-common.h +0 -37
  859. data/ext/digest/kangarootwelve/keccak/common/KeccakDuplex.inc +0 -192
  860. data/ext/digest/kangarootwelve/keccak/common/KeccakDuplexWidth1600.c +0 -34
  861. data/ext/digest/kangarootwelve/keccak/common/KeccakDuplexWidth1600.h +0 -25
  862. data/ext/digest/kangarootwelve/keccak/common/KeccakSponge-common.h +0 -35
  863. data/ext/digest/kangarootwelve/keccak/common/KeccakSponge.inc +0 -311
  864. data/ext/digest/kangarootwelve/keccak/common/KeccakSpongeWidth1600.c +0 -54
  865. data/ext/digest/kangarootwelve/keccak/common/KeccakSpongeWidth1600.h +0 -31
  866. data/ext/digest/kangarootwelve/keccak/common/Phases.h +0 -22
  867. data/ext/digest/kangarootwelve/keccak/common/align.h +0 -32
  868. data/ext/digest/kangarootwelve/keccak/common/brg_endian.h +0 -142
  869. data/ext/digest/kangarootwelve/keccak/compact/KangarooTwelve.link.c +0 -1
  870. data/ext/digest/kangarootwelve/keccak/compact/KeccakDuplexWidth1600.link.c +0 -1
  871. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-SnP.h +0 -35
  872. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-compact64.c +0 -416
  873. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-times2-SnP.h +0 -45
  874. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-times2-on1.c +0 -37
  875. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-times4-SnP.h +0 -45
  876. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-times4-on1.c +0 -37
  877. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-times8-SnP.h +0 -45
  878. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-times8-on1.c +0 -37
  879. data/ext/digest/kangarootwelve/keccak/compact/KeccakSpongeWidth1600.link.c +0 -1
  880. data/ext/digest/kangarootwelve/keccak/compact/PlSnP-Fallback.inc +0 -287
  881. data/ext/digest/kangarootwelve/keccak/compact/SnP-Relaned.h +0 -140
  882. data/ext/digest/kangarootwelve/keccak/generic32/KangarooTwelve.link.c +0 -1
  883. data/ext/digest/kangarootwelve/keccak/generic32/KeccakDuplexWidth1600.link.c +0 -1
  884. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-SnP.h +0 -38
  885. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-inplace32BI.c +0 -1162
  886. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-times2-SnP.h +0 -45
  887. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-times2-on1.c +0 -37
  888. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-times4-SnP.h +0 -45
  889. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-times4-on1.c +0 -37
  890. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-times8-SnP.h +0 -45
  891. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-times8-on1.c +0 -37
  892. data/ext/digest/kangarootwelve/keccak/generic32/KeccakSpongeWidth1600.link.c +0 -1
  893. data/ext/digest/kangarootwelve/keccak/generic32/PlSnP-Fallback.inc +0 -287
  894. data/ext/digest/kangarootwelve/keccak/generic32/SnP-Relaned.h +0 -140
  895. data/ext/digest/kangarootwelve/keccak/generic32lc/KangarooTwelve.link.c +0 -1
  896. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakDuplexWidth1600.link.c +0 -1
  897. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-SnP.h +0 -38
  898. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-inplace32BI.c +0 -1162
  899. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-times2-SnP.h +0 -45
  900. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-times2-on1.c +0 -37
  901. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-times4-SnP.h +0 -45
  902. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-times4-on1.c +0 -37
  903. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-times8-SnP.h +0 -45
  904. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-times8-on1.c +0 -37
  905. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakSpongeWidth1600.link.c +0 -1
  906. data/ext/digest/kangarootwelve/keccak/generic32lc/PlSnP-Fallback.inc +0 -287
  907. data/ext/digest/kangarootwelve/keccak/generic32lc/SnP-Relaned.h +0 -140
  908. data/ext/digest/kangarootwelve/keccak/generic64/KangarooTwelve.link.c +0 -1
  909. data/ext/digest/kangarootwelve/keccak/generic64/KeccakDuplexWidth1600.link.c +0 -1
  910. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-64.macros +0 -2195
  911. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-SnP.h +0 -49
  912. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-opt64.c +0 -541
  913. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-times2-SnP.h +0 -45
  914. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-times2-on1.c +0 -37
  915. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-times4-SnP.h +0 -45
  916. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-times4-on1.c +0 -37
  917. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-times8-SnP.h +0 -45
  918. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-times8-on1.c +0 -37
  919. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-unrolling.macros +0 -302
  920. data/ext/digest/kangarootwelve/keccak/generic64/KeccakSpongeWidth1600.link.c +0 -1
  921. data/ext/digest/kangarootwelve/keccak/generic64/PlSnP-Fallback.inc +0 -287
  922. data/ext/digest/kangarootwelve/keccak/generic64/SnP-Relaned.h +0 -140
  923. data/ext/digest/kangarootwelve/keccak/generic64lc/KangarooTwelve.link.c +0 -1
  924. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakDuplexWidth1600.link.c +0 -1
  925. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-64.macros +0 -2195
  926. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-SnP.h +0 -49
  927. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-opt64.c +0 -541
  928. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-times2-SnP.h +0 -45
  929. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-times2-on1.c +0 -37
  930. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-times4-SnP.h +0 -45
  931. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-times4-on1.c +0 -37
  932. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-times8-SnP.h +0 -45
  933. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-times8-on1.c +0 -37
  934. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-unrolling.macros +0 -302
  935. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakSpongeWidth1600.link.c +0 -1
  936. data/ext/digest/kangarootwelve/keccak/generic64lc/PlSnP-Fallback.inc +0 -287
  937. data/ext/digest/kangarootwelve/keccak/generic64lc/SnP-Relaned.h +0 -140
  938. data/ext/digest/kangarootwelve/keccak/haswell/KangarooTwelve.link.c +0 -1
  939. data/ext/digest/kangarootwelve/keccak/haswell/KeccakDuplexWidth1600.link.c +0 -1
  940. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-AVX2.s +0 -993
  941. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-SnP.h +0 -41
  942. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-times2-SIMD128.c +0 -954
  943. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-times2-SnP.h +0 -47
  944. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-times4-SIMD256.c +0 -1303
  945. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-times4-SnP.h +0 -53
  946. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-times8-SnP.h +0 -45
  947. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-times8-on4.c +0 -38
  948. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-unrolling.macros +0 -302
  949. data/ext/digest/kangarootwelve/keccak/haswell/KeccakSpongeWidth1600.link.c +0 -1
  950. data/ext/digest/kangarootwelve/keccak/haswell/PlSnP-Fallback.inc +0 -287
  951. data/ext/digest/kangarootwelve/keccak/haswell/SIMD128-config.h +0 -8
  952. data/ext/digest/kangarootwelve/keccak/nehalem/KangarooTwelve.link.c +0 -1
  953. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakDuplexWidth1600.link.c +0 -1
  954. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-64.macros +0 -2195
  955. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-SnP.h +0 -49
  956. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-opt64-config.h +0 -7
  957. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-opt64.c +0 -541
  958. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-times2-SIMD128.c +0 -954
  959. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-times2-SnP.h +0 -47
  960. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-times4-SnP.h +0 -45
  961. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-times4-on2.c +0 -38
  962. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-times8-SnP.h +0 -45
  963. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-times8-on2.c +0 -38
  964. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-unrolling.macros +0 -302
  965. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakSpongeWidth1600.link.c +0 -1
  966. data/ext/digest/kangarootwelve/keccak/nehalem/PlSnP-Fallback.inc +0 -287
  967. data/ext/digest/kangarootwelve/keccak/nehalem/SIMD128-config.h +0 -8
  968. data/ext/digest/kangarootwelve/keccak/nehalem/SnP-Relaned.h +0 -140
  969. data/ext/digest/kangarootwelve/keccak/reference/KangarooTwelve.link.c +0 -1
  970. data/ext/digest/kangarootwelve/keccak/reference/KeccakDuplexWidth1600.link.c +0 -1
  971. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-SnP.h +0 -41
  972. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-reference.c +0 -424
  973. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-reference.h +0 -20
  974. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-times2-SnP.h +0 -45
  975. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-times2-on1.c +0 -37
  976. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-times4-SnP.h +0 -45
  977. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-times4-on1.c +0 -37
  978. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-times8-SnP.h +0 -45
  979. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-times8-on1.c +0 -37
  980. data/ext/digest/kangarootwelve/keccak/reference/KeccakSpongeWidth1600.link.c +0 -1
  981. data/ext/digest/kangarootwelve/keccak/reference/PlSnP-Fallback.inc +0 -287
  982. data/ext/digest/kangarootwelve/keccak/reference/displayIntermediateValues.c +0 -176
  983. data/ext/digest/kangarootwelve/keccak/reference/displayIntermediateValues.h +0 -29
  984. data/ext/digest/kangarootwelve/keccak/reference32bits/KangarooTwelve.link.c +0 -1
  985. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakDuplexWidth1600.link.c +0 -1
  986. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-SnP.h +0 -41
  987. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-reference.h +0 -20
  988. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-reference32BI.c +0 -612
  989. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-times2-SnP.h +0 -45
  990. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-times2-on1.c +0 -37
  991. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-times4-SnP.h +0 -45
  992. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-times4-on1.c +0 -37
  993. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-times8-SnP.h +0 -45
  994. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-times8-on1.c +0 -37
  995. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakSpongeWidth1600.link.c +0 -1
  996. data/ext/digest/kangarootwelve/keccak/reference32bits/PlSnP-Fallback.inc +0 -287
  997. data/ext/digest/kangarootwelve/keccak/reference32bits/displayIntermediateValues.c +0 -176
  998. data/ext/digest/kangarootwelve/keccak/reference32bits/displayIntermediateValues.h +0 -29
  999. data/ext/digest/kangarootwelve/keccak/sandybridge/KangarooTwelve.link.c +0 -1
  1000. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakDuplexWidth1600.link.c +0 -1
  1001. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-64.macros +0 -2195
  1002. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-SnP.h +0 -49
  1003. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-opt64.c +0 -541
  1004. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-times2-SIMD128.c +0 -954
  1005. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-times2-SnP.h +0 -47
  1006. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-times4-SnP.h +0 -45
  1007. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-times4-on2.c +0 -38
  1008. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-times8-SnP.h +0 -45
  1009. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-times8-on2.c +0 -38
  1010. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-unrolling.macros +0 -302
  1011. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakSpongeWidth1600.link.c +0 -1
  1012. data/ext/digest/kangarootwelve/keccak/sandybridge/PlSnP-Fallback.inc +0 -287
  1013. data/ext/digest/kangarootwelve/keccak/sandybridge/SIMD128-config.h +0 -8
  1014. data/ext/digest/kangarootwelve/keccak/sandybridge/SnP-Relaned.h +0 -140
  1015. data/ext/digest/kangarootwelve/keccak/skylakex/KangarooTwelve.link.c +0 -1
  1016. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakDuplexWidth1600.link.c +0 -1
  1017. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-AVX512.c +0 -621
  1018. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-SnP.h +0 -42
  1019. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-times2-SIMD512.c +0 -852
  1020. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-times2-SnP.h +0 -49
  1021. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-times4-SIMD512.c +0 -883
  1022. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-times4-SnP.h +0 -49
  1023. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-times8-SIMD512.c +0 -1473
  1024. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-times8-SnP.h +0 -53
  1025. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakSpongeWidth1600.link.c +0 -1
@@ -1,993 +0,0 @@
1
- # Copyright (c) 2006-2017, CRYPTOGAMS by <appro@openssl.org>
2
- # Copyright (c) 2017 Ronny Van Keer
3
- # All rights reserved.
4
- #
5
- # The source code in this file is licensed under the CRYPTOGAMS license.
6
- # For further details see http://www.openssl.org/~appro/cryptogams/.
7
- #
8
- # Notes:
9
- # The code for the permutation (__KeccakF1600) was generated with
10
- # Andy Polyakov's keccak1600-avx2.pl from the CRYPTOGAMS project
11
- # (https://github.com/dot-asm/cryptogams/blob/master/x86_64/keccak1600-avx2.pl).
12
- # The rest of the code was written by Ronny Van Keer.
13
-
14
- .text
15
-
16
- # -----------------------------------------------------------------------------
17
- #
18
- # void KeccakP1600_Initialize(void *state);
19
- #
20
- .globl KeccakP1600_Initialize
21
- .type KeccakP1600_Initialize,@function
22
- .align 32
23
- KeccakP1600_Initialize:
24
- vpxor %ymm0,%ymm0,%ymm0
25
- vmovdqa %ymm0,0*32(%rdi)
26
- vmovdqa %ymm0,1*32(%rdi)
27
- vmovdqa %ymm0,2*32(%rdi)
28
- vmovdqa %ymm0,3*32(%rdi)
29
- vmovdqa %ymm0,4*32(%rdi)
30
- vmovdqa %ymm0,5*32(%rdi)
31
- movq $0,6*32(%rdi)
32
- ret
33
- .size KeccakP1600_Initialize,.-KeccakP1600_Initialize
34
-
35
- # -----------------------------------------------------------------------------
36
- #
37
- # void KeccakP1600_AddByte(void *state, unsigned char data, unsigned int offset);
38
- # %rdi %rsi %rdx
39
- #
40
- .globl KeccakP1600_AddByte
41
- .type KeccakP1600_AddByte,@function
42
- .align 32
43
- KeccakP1600_AddByte:
44
- mov %rdx, %rax
45
- and $7, %rax
46
- and $0xFFFFFFF8, %edx
47
- mov mapState(%rdx), %rdx
48
- add %rdx, %rdi
49
- add %rax, %rdi
50
- xorb %sil, (%rdi)
51
- ret
52
- .size KeccakP1600_AddByte,.-KeccakP1600_AddByte
53
-
54
- # -----------------------------------------------------------------------------
55
- #
56
- # void KeccakP1600_AddBytes(void *state, const unsigned char *data, unsigned int offset, unsigned int length);
57
- # %rdi %rsi %rdx %rcx
58
- #
59
- .globl KeccakP1600_AddBytes
60
- .type KeccakP1600_AddBytes,@function
61
- .align 32
62
- KeccakP1600_AddBytes:
63
- cmp $0, %rcx
64
- jz KeccakP1600_AddBytes_Exit
65
- mov %rdx, %rax # rax offset in lane
66
- and $0xFFFFFFF8, %edx # rdx pointer into state index mapper
67
- lea mapState(%rdx), %rdx
68
- and $7, %rax
69
- jz KeccakP1600_AddBytes_LaneAlignedCheck
70
- mov $8, %r9 # r9 is (max) length of incomplete lane
71
- sub %rax, %r9
72
- cmp %rcx, %r9
73
- cmovae %rcx, %r9
74
- sub %r9, %rcx # length -= length of incomplete lane
75
- add (%rdx), %rax # rax = pointer to state lane
76
- add $8, %rdx
77
- add %rdi, %rax
78
- KeccakP1600_AddBytes_NotAlignedLoop:
79
- mov (%rsi), %r8b
80
- inc %rsi
81
- xorb %r8b, (%rax)
82
- inc %rax
83
- dec %r9
84
- jnz KeccakP1600_AddBytes_NotAlignedLoop
85
- jmp KeccakP1600_AddBytes_LaneAlignedCheck
86
- KeccakP1600_AddBytes_LaneAlignedLoop:
87
- mov (%rsi), %r8
88
- add $8, %rsi
89
- mov (%rdx), %rax
90
- add $8, %rdx
91
- add %rdi, %rax
92
- xor %r8, (%rax)
93
- KeccakP1600_AddBytes_LaneAlignedCheck:
94
- sub $8, %rcx
95
- jnc KeccakP1600_AddBytes_LaneAlignedLoop
96
- KeccakP1600_AddBytes_LastIncompleteLane:
97
- add $8, %rcx
98
- jz KeccakP1600_AddBytes_Exit
99
- mov (%rdx), %rax
100
- add %rdi, %rax
101
- KeccakP1600_AddBytes_LastIncompleteLaneLoop:
102
- mov (%rsi), %r8b
103
- inc %rsi
104
- xor %r8b, (%rax)
105
- inc %rax
106
- dec %rcx
107
- jnz KeccakP1600_AddBytes_LastIncompleteLaneLoop
108
- KeccakP1600_AddBytes_Exit:
109
- ret
110
- .size KeccakP1600_AddBytes,.-KeccakP1600_AddBytes
111
-
112
- # -----------------------------------------------------------------------------
113
- #
114
- # void KeccakP1600_OverwriteBytes(void *state, const unsigned char *data, unsigned int offset, unsigned int length);
115
- # %rdi %rsi %rdx %rcx
116
- #
117
- .globl KeccakP1600_OverwriteBytes
118
- .type KeccakP1600_OverwriteBytes,@function
119
- .align 32
120
- KeccakP1600_OverwriteBytes:
121
- cmp $0, %rcx
122
- jz KeccakP1600_OverwriteBytes_Exit
123
- mov %rdx, %rax # rax offset in lane
124
- and $0xFFFFFFF8, %edx # rdx pointer into state index mapper
125
- lea mapState(%rdx), %rdx
126
- and $7, %rax
127
- jz KeccakP1600_OverwriteBytes_LaneAlignedCheck
128
- mov $8, %r9 # r9 is (max) length of incomplete lane
129
- sub %rax, %r9
130
- cmp %rcx, %r9
131
- cmovae %rcx, %r9
132
- sub %r9, %rcx # length -= length of incomplete lane
133
- add (%rdx), %rax # rax = pointer to state lane
134
- add $8, %rdx
135
- add %rdi, %rax
136
- KeccakP1600_OverwriteBytes_NotAlignedLoop:
137
- mov (%rsi), %r8b
138
- inc %rsi
139
- mov %r8b, (%rax)
140
- inc %rax
141
- dec %r9
142
- jnz KeccakP1600_OverwriteBytes_NotAlignedLoop
143
- jmp KeccakP1600_OverwriteBytes_LaneAlignedCheck
144
- KeccakP1600_OverwriteBytes_LaneAlignedLoop:
145
- mov (%rsi), %r8
146
- add $8, %rsi
147
- mov (%rdx), %rax
148
- add $8, %rdx
149
- add %rdi, %rax
150
- mov %r8, (%rax)
151
- KeccakP1600_OverwriteBytes_LaneAlignedCheck:
152
- sub $8, %rcx
153
- jnc KeccakP1600_OverwriteBytes_LaneAlignedLoop
154
- KeccakP1600_OverwriteBytes_LastIncompleteLane:
155
- add $8, %rcx
156
- jz KeccakP1600_OverwriteBytes_Exit
157
- mov (%rdx), %rax
158
- add %rdi, %rax
159
- KeccakP1600_OverwriteBytes_LastIncompleteLaneLoop:
160
- mov (%rsi), %r8b
161
- inc %rsi
162
- mov %r8b, (%rax)
163
- inc %rax
164
- dec %rcx
165
- jnz KeccakP1600_OverwriteBytes_LastIncompleteLaneLoop
166
- KeccakP1600_OverwriteBytes_Exit:
167
- ret
168
- .size KeccakP1600_OverwriteBytes,.-KeccakP1600_OverwriteBytes
169
-
170
- # -----------------------------------------------------------------------------
171
- #
172
- # void KeccakP1600_OverwriteWithZeroes(void *state, unsigned int byteCount);
173
- # %rdi %rsi
174
- #
175
- .globl KeccakP1600_OverwriteWithZeroes
176
- .type KeccakP1600_OverwriteWithZeroes,@function
177
- .align 32
178
- KeccakP1600_OverwriteWithZeroes:
179
- cmp $0, %rsi
180
- jz KeccakP1600_OverwriteWithZeroes_Exit
181
- lea mapState, %rdx # rdx pointer into state index mapper
182
- jmp KeccakP1600_OverwriteWithZeroes_LaneAlignedCheck
183
- KeccakP1600_OverwriteWithZeroes_LaneAlignedLoop:
184
- mov (%rdx), %rax
185
- add $8, %rdx
186
- add %rdi, %rax
187
- movq $0, (%rax)
188
- KeccakP1600_OverwriteWithZeroes_LaneAlignedCheck:
189
- sub $8, %rsi
190
- jnc KeccakP1600_OverwriteWithZeroes_LaneAlignedLoop
191
- KeccakP1600_OverwriteWithZeroes_LastIncompleteLane:
192
- add $8, %rsi
193
- jz KeccakP1600_OverwriteWithZeroes_Exit
194
- mov (%rdx), %rax
195
- add %rdi, %rax
196
- KeccakP1600_OverwriteWithZeroes_LastIncompleteLaneLoop:
197
- movb $0, (%rax)
198
- inc %rax
199
- dec %rsi
200
- jnz KeccakP1600_OverwriteWithZeroes_LastIncompleteLaneLoop
201
- KeccakP1600_OverwriteWithZeroes_Exit:
202
- ret
203
- .size KeccakP1600_OverwriteWithZeroes,.-KeccakP1600_OverwriteWithZeroes
204
-
205
- # -----------------------------------------------------------------------------
206
- #
207
- # void KeccakP1600_ExtractBytes(const void *state, unsigned char *data, unsigned int offset, unsigned int length);
208
- # %rdi %rsi %rdx %rcx
209
- #
210
- .globl KeccakP1600_ExtractBytes
211
- .type KeccakP1600_ExtractBytes,@function
212
- .align 32
213
- KeccakP1600_ExtractBytes:
214
- push %rbx
215
- cmp $0, %rcx
216
- jz KeccakP1600_ExtractBytes_Exit
217
- mov %rdx, %rax # rax offset in lane
218
- and $0xFFFFFFF8, %edx # rdx pointer into state index mapper
219
- lea mapState(%rdx), %rdx
220
- and $7, %rax
221
- jz KeccakP1600_ExtractBytes_LaneAlignedCheck
222
- mov $8, %rbx # rbx is (max) length of incomplete lane
223
- sub %rax, %rbx
224
- cmp %rcx, %rbx
225
- cmovae %rcx, %rbx
226
- sub %rbx, %rcx # length -= length of incomplete lane
227
- mov (%rdx), %r9
228
- add $8, %rdx
229
- add %rdi, %r9
230
- add %rax, %r9
231
- KeccakP1600_ExtractBytes_NotAlignedLoop:
232
- mov (%r9), %r8b
233
- inc %r9
234
- mov %r8b, (%rsi)
235
- inc %rsi
236
- dec %rbx
237
- jnz KeccakP1600_ExtractBytes_NotAlignedLoop
238
- jmp KeccakP1600_ExtractBytes_LaneAlignedCheck
239
- KeccakP1600_ExtractBytes_LaneAlignedLoop:
240
- mov (%rdx), %rax
241
- add $8, %rdx
242
- add %rdi, %rax
243
- mov (%rax), %r8
244
- mov %r8, (%rsi)
245
- add $8, %rsi
246
- KeccakP1600_ExtractBytes_LaneAlignedCheck:
247
- sub $8, %rcx
248
- jnc KeccakP1600_ExtractBytes_LaneAlignedLoop
249
- KeccakP1600_ExtractBytes_LastIncompleteLane:
250
- add $8, %rcx
251
- jz KeccakP1600_ExtractBytes_Exit
252
- mov (%rdx), %rax
253
- add %rdi, %rax
254
- mov (%rax), %r8
255
- KeccakP1600_ExtractBytes_LastIncompleteLaneLoop:
256
- mov %r8b, (%rsi)
257
- shr $8, %r8
258
- inc %rsi
259
- dec %rcx
260
- jnz KeccakP1600_ExtractBytes_LastIncompleteLaneLoop
261
- KeccakP1600_ExtractBytes_Exit:
262
- pop %rbx
263
- ret
264
- .size KeccakP1600_ExtractBytes,.-KeccakP1600_ExtractBytes
265
-
266
- # -----------------------------------------------------------------------------
267
- #
268
- # void KeccakP1600_ExtractAndAddBytes(const void *state, const unsigned char *input, unsigned char *output, unsigned int offset, unsigned int length);
269
- # %rdi %rsi %rdx %rcx %r8
270
- #
271
- .globl KeccakP1600_ExtractAndAddBytes
272
- .type KeccakP1600_ExtractAndAddBytes,@function
273
- .align 32
274
- KeccakP1600_ExtractAndAddBytes:
275
- push %rbx
276
- push %r10
277
- cmp $0, %r8
278
- jz KeccakP1600_ExtractAndAddBytes_Exit
279
- mov %rcx, %rax # rax offset in lane
280
- and $0xFFFFFFF8, %ecx # rcx pointer into state index mapper
281
- lea mapState(%rcx), %rcx
282
- and $7, %rax
283
- jz KeccakP1600_ExtractAndAddBytes_LaneAlignedCheck
284
- mov $8, %rbx # rbx is (max) length of incomplete lane
285
- sub %rax, %rbx
286
- cmp %r8, %rbx
287
- cmovae %r8, %rbx
288
- sub %rbx, %r8 # length -= length of incomplete lane
289
- mov (%rcx), %r9
290
- add $8, %rcx
291
- add %rdi, %r9
292
- add %rax, %r9
293
- KeccakP1600_ExtractAndAddBytes_NotAlignedLoop:
294
- mov (%r9), %r10b
295
- inc %r9
296
- xor (%rsi), %r10b
297
- inc %rsi
298
- mov %r10b, (%rdx)
299
- inc %rdx
300
- dec %rbx
301
- jnz KeccakP1600_ExtractAndAddBytes_NotAlignedLoop
302
- jmp KeccakP1600_ExtractAndAddBytes_LaneAlignedCheck
303
- KeccakP1600_ExtractAndAddBytes_LaneAlignedLoop:
304
- mov (%rcx), %rax
305
- add $8, %rcx
306
- add %rdi, %rax
307
- mov (%rax), %r10
308
- xor (%rsi), %r10
309
- add $8, %rsi
310
- mov %r10, (%rdx)
311
- add $8, %rdx
312
- KeccakP1600_ExtractAndAddBytes_LaneAlignedCheck:
313
- sub $8, %r8
314
- jnc KeccakP1600_ExtractAndAddBytes_LaneAlignedLoop
315
- KeccakP1600_ExtractAndAddBytes_LastIncompleteLane:
316
- add $8, %r8
317
- jz KeccakP1600_ExtractAndAddBytes_Exit
318
- mov (%rcx), %rax
319
- add %rdi, %rax
320
- mov (%rax), %r10
321
- KeccakP1600_ExtractAndAddBytes_LastIncompleteLaneLoop:
322
- xor (%rsi), %r10b
323
- inc %rsi
324
- mov %r10b, (%rdx)
325
- inc %rdx
326
- shr $8, %r10
327
- dec %r8
328
- jnz KeccakP1600_ExtractAndAddBytes_LastIncompleteLaneLoop
329
- KeccakP1600_ExtractAndAddBytes_Exit:
330
- pop %r10
331
- pop %rbx
332
- ret
333
- .size KeccakP1600_ExtractAndAddBytes,.-KeccakP1600_ExtractAndAddBytes
334
-
335
- # -----------------------------------------------------------------------------
336
- #
337
- # internal
338
- #
339
- .type __KeccakF1600,@function
340
- .align 32
341
- __KeccakF1600:
342
- .Loop_avx2:
343
- ######################################### Theta
344
- vpshufd $0b01001110,%ymm2,%ymm13
345
- vpxor %ymm3,%ymm5,%ymm12
346
- vpxor %ymm6,%ymm4,%ymm9
347
- vpxor %ymm1,%ymm12,%ymm12
348
- vpxor %ymm9,%ymm12,%ymm12 # C[1..4]
349
-
350
- vpermq $0b10010011,%ymm12,%ymm11
351
- vpxor %ymm2,%ymm13,%ymm13
352
- vpermq $0b01001110,%ymm13,%ymm7
353
-
354
- vpsrlq $63,%ymm12,%ymm8
355
- vpaddq %ymm12,%ymm12,%ymm9
356
- vpor %ymm9,%ymm8,%ymm8 # ROL64(C[1..4],1)
357
-
358
- vpermq $0b00111001,%ymm8,%ymm15
359
- vpxor %ymm11,%ymm8,%ymm14
360
- vpermq $0b00000000,%ymm14,%ymm14 # D[0..0] = ROL64(C[1],1) ^ C[4]
361
-
362
- vpxor %ymm0,%ymm13,%ymm13
363
- vpxor %ymm7,%ymm13,%ymm13 # C[0..0]
364
-
365
- vpsrlq $63,%ymm13,%ymm7
366
- vpaddq %ymm13,%ymm13,%ymm8
367
- vpor %ymm7,%ymm8,%ymm8 # ROL64(C[0..0],1)
368
-
369
- vpxor %ymm14,%ymm2,%ymm2 # ^= D[0..0]
370
- vpxor %ymm14,%ymm0,%ymm0 # ^= D[0..0]
371
-
372
- vpblendd $0b11000000,%ymm8,%ymm15,%ymm15
373
- vpblendd $0b00000011,%ymm13,%ymm11,%ymm11
374
- vpxor %ymm11,%ymm15,%ymm15 # D[1..4] = ROL64(C[2..4,0),1) ^ C[0..3]
375
-
376
- ######################################### Rho + Pi + pre-Chi shuffle
377
- vpsllvq 0*32-96(%r8),%ymm2,%ymm10
378
- vpsrlvq 0*32-96(%r9),%ymm2,%ymm2
379
- vpor %ymm10,%ymm2,%ymm2
380
-
381
- vpxor %ymm15,%ymm3,%ymm3 # ^= D[1..4] from Theta
382
- vpsllvq 2*32-96(%r8),%ymm3,%ymm11
383
- vpsrlvq 2*32-96(%r9),%ymm3,%ymm3
384
- vpor %ymm11,%ymm3,%ymm3
385
-
386
- vpxor %ymm15,%ymm4,%ymm4 # ^= D[1..4] from Theta
387
- vpsllvq 3*32-96(%r8),%ymm4,%ymm12
388
- vpsrlvq 3*32-96(%r9),%ymm4,%ymm4
389
- vpor %ymm12,%ymm4,%ymm4
390
-
391
- vpxor %ymm15,%ymm5,%ymm5 # ^= D[1..4] from Theta
392
- vpsllvq 4*32-96(%r8),%ymm5,%ymm13
393
- vpsrlvq 4*32-96(%r9),%ymm5,%ymm5
394
- vpor %ymm13,%ymm5,%ymm5
395
-
396
- vpxor %ymm15,%ymm6,%ymm6 # ^= D[1..4] from Theta
397
- vpermq $0b10001101,%ymm2,%ymm10 # %ymm2 -> future %ymm3
398
- vpermq $0b10001101,%ymm3,%ymm11 # %ymm3 -> future %ymm4
399
- vpsllvq 5*32-96(%r8),%ymm6,%ymm14
400
- vpsrlvq 5*32-96(%r9),%ymm6,%ymm8
401
- vpor %ymm14,%ymm8,%ymm8 # %ymm6 -> future %ymm1
402
-
403
- vpxor %ymm15,%ymm1,%ymm1 # ^= D[1..4] from Theta
404
- vpermq $0b00011011,%ymm4,%ymm12 # %ymm4 -> future %ymm5
405
- vpermq $0b01110010,%ymm5,%ymm13 # %ymm5 -> future %ymm6
406
- vpsllvq 1*32-96(%r8),%ymm1,%ymm15
407
- vpsrlvq 1*32-96(%r9),%ymm1,%ymm9
408
- vpor %ymm15,%ymm9,%ymm9 # %ymm1 -> future %ymm2
409
-
410
- ######################################### Chi
411
- vpsrldq $8,%ymm8,%ymm14
412
- vpandn %ymm14,%ymm8,%ymm7 # tgting [0][0] [0][0] [0][0] [0][0]
413
-
414
- vpblendd $0b00001100,%ymm13,%ymm9,%ymm3 # [4][4] [2][0]
415
- vpblendd $0b00001100,%ymm9,%ymm11,%ymm15 # [4][0] [2][1]
416
- vpblendd $0b00001100,%ymm11,%ymm10,%ymm5 # [4][2] [2][4]
417
- vpblendd $0b00001100,%ymm10,%ymm9,%ymm14 # [4][3] [2][0]
418
- vpblendd $0b00110000,%ymm11,%ymm3,%ymm3 # [1][3] [4][4] [2][0]
419
- vpblendd $0b00110000,%ymm12,%ymm15,%ymm15 # [1][4] [4][0] [2][1]
420
- vpblendd $0b00110000,%ymm9,%ymm5,%ymm5 # [1][0] [4][2] [2][4]
421
- vpblendd $0b00110000,%ymm13,%ymm14,%ymm14 # [1][1] [4][3] [2][0]
422
- vpblendd $0b11000000,%ymm12,%ymm3,%ymm3 # [3][2] [1][3] [4][4] [2][0]
423
- vpblendd $0b11000000,%ymm13,%ymm15,%ymm15 # [3][3] [1][4] [4][0] [2][1]
424
- vpblendd $0b11000000,%ymm13,%ymm5,%ymm5 # [3][3] [1][0] [4][2] [2][4]
425
- vpblendd $0b11000000,%ymm11,%ymm14,%ymm14 # [3][4] [1][1] [4][3] [2][0]
426
- vpandn %ymm15,%ymm3,%ymm3 # tgting [3][1] [1][2] [4][3] [2][4]
427
- vpandn %ymm14,%ymm5,%ymm5 # tgting [3][2] [1][4] [4][1] [2][3]
428
-
429
- vpblendd $0b00001100,%ymm9,%ymm12,%ymm6 # [4][0] [2][3]
430
- vpblendd $0b00001100,%ymm12,%ymm10,%ymm15 # [4][1] [2][4]
431
- vpxor %ymm10,%ymm3,%ymm3
432
- vpblendd $0b00110000,%ymm10,%ymm6,%ymm6 # [1][2] [4][0] [2][3]
433
- vpblendd $0b00110000,%ymm11,%ymm15,%ymm15 # [1][3] [4][1] [2][4]
434
- vpxor %ymm12,%ymm5,%ymm5
435
- vpblendd $0b11000000,%ymm11,%ymm6,%ymm6 # [3][4] [1][2] [4][0] [2][3]
436
- vpblendd $0b11000000,%ymm9,%ymm15,%ymm15 # [3][0] [1][3] [4][1] [2][4]
437
- vpandn %ymm15,%ymm6,%ymm6 # tgting [3][3] [1][1] [4][4] [2][2]
438
- vpxor %ymm13,%ymm6,%ymm6
439
-
440
- vpermq $0b00011110,%ymm8,%ymm4 # [0][1] [0][2] [0][4] [0][3]
441
- vpblendd $0b00110000,%ymm0,%ymm4,%ymm15 # [0][1] [0][0] [0][4] [0][3]
442
- vpermq $0b00111001,%ymm8,%ymm1 # [0][1] [0][4] [0][3] [0][2]
443
- vpblendd $0b11000000,%ymm0,%ymm1,%ymm1 # [0][0] [0][4] [0][3] [0][2]
444
- vpandn %ymm15,%ymm1,%ymm1 # tgting [0][4] [0][3] [0][2] [0][1]
445
-
446
- vpblendd $0b00001100,%ymm12,%ymm11,%ymm2 # [4][1] [2][1]
447
- vpblendd $0b00001100,%ymm11,%ymm13,%ymm14 # [4][2] [2][2]
448
- vpblendd $0b00110000,%ymm13,%ymm2,%ymm2 # [1][1] [4][1] [2][1]
449
- vpblendd $0b00110000,%ymm10,%ymm14,%ymm14 # [1][2] [4][2] [2][2]
450
- vpblendd $0b11000000,%ymm10,%ymm2,%ymm2 # [3][1] [1][1] [4][1] [2][1]
451
- vpblendd $0b11000000,%ymm12,%ymm14,%ymm14 # [3][2] [1][2] [4][2] [2][2]
452
- vpandn %ymm14,%ymm2,%ymm2 # tgting [3][0] [1][0] [4][0] [2][0]
453
- vpxor %ymm9,%ymm2,%ymm2
454
-
455
- vpermq $0b00000000,%ymm7,%ymm7 # [0][0] [0][0] [0][0] [0][0]
456
- vpermq $0b00011011,%ymm3,%ymm3 # post-Chi shuffle
457
- vpermq $0b10001101,%ymm5,%ymm5
458
- vpermq $0b01110010,%ymm6,%ymm6
459
-
460
- vpblendd $0b00001100,%ymm10,%ymm13,%ymm4 # [4][3] [2][2]
461
- vpblendd $0b00001100,%ymm13,%ymm12,%ymm14 # [4][4] [2][3]
462
- vpblendd $0b00110000,%ymm12,%ymm4,%ymm4 # [1][4] [4][3] [2][2]
463
- vpblendd $0b00110000,%ymm9,%ymm14,%ymm14 # [1][0] [4][4] [2][3]
464
- vpblendd $0b11000000,%ymm9,%ymm4,%ymm4 # [3][0] [1][4] [4][3] [2][2]
465
- vpblendd $0b11000000,%ymm10,%ymm14,%ymm14 # [3][1] [1][0] [4][4] [2][3]
466
- vpandn %ymm14,%ymm4,%ymm4 # tgting [3][4] [1][3] [4][2] [2][1]
467
-
468
- vpxor %ymm7,%ymm0,%ymm0
469
- vpxor %ymm8,%ymm1,%ymm1
470
- vpxor %ymm11,%ymm4,%ymm4
471
-
472
- ######################################### Iota
473
- vpxor (%r10),%ymm0,%ymm0
474
- lea 32(%r10),%r10
475
-
476
- dec %eax
477
- jnz .Loop_avx2
478
- ret
479
- .size __KeccakF1600,.-__KeccakF1600
480
-
481
-
482
-
483
- .globl KeccakP1600_Permute_24rounds
484
- .type KeccakP1600_Permute_24rounds,@function
485
- .align 32
486
- KeccakP1600_Permute_24rounds:
487
- lea rhotates_left+96(%rip),%r8
488
- lea rhotates_right+96(%rip),%r9
489
- lea iotas(%rip),%r10
490
- mov $24,%eax
491
- lea 96(%rdi),%rdi
492
- vzeroupper
493
- vpbroadcastq -96(%rdi),%ymm0 # load A[5][5]
494
- vmovdqu 8+32*0-96(%rdi),%ymm1
495
- vmovdqu 8+32*1-96(%rdi),%ymm2
496
- vmovdqu 8+32*2-96(%rdi),%ymm3
497
- vmovdqu 8+32*3-96(%rdi),%ymm4
498
- vmovdqu 8+32*4-96(%rdi),%ymm5
499
- vmovdqu 8+32*5-96(%rdi),%ymm6
500
- call __KeccakF1600
501
- vmovq %xmm0,-96(%rdi)
502
- vmovdqu %ymm1,8+32*0-96(%rdi)
503
- vmovdqu %ymm2,8+32*1-96(%rdi)
504
- vmovdqu %ymm3,8+32*2-96(%rdi)
505
- vmovdqu %ymm4,8+32*3-96(%rdi)
506
- vmovdqu %ymm5,8+32*4-96(%rdi)
507
- vmovdqu %ymm6,8+32*5-96(%rdi)
508
- vzeroupper
509
- ret
510
- .size KeccakP1600_Permute_24rounds,.-KeccakP1600_Permute_24rounds
511
-
512
- .globl KeccakP1600_Permute_12rounds
513
- .type KeccakP1600_Permute_12rounds,@function
514
- .align 32
515
- KeccakP1600_Permute_12rounds:
516
- lea rhotates_left+96(%rip),%r8
517
- lea rhotates_right+96(%rip),%r9
518
- lea iotas+12*4*8(%rip),%r10
519
- mov $12,%eax
520
- lea 96(%rdi),%rdi
521
- vzeroupper
522
- vpbroadcastq -96(%rdi),%ymm0 # load A[5][5]
523
- vmovdqu 8+32*0-96(%rdi),%ymm1
524
- vmovdqu 8+32*1-96(%rdi),%ymm2
525
- vmovdqu 8+32*2-96(%rdi),%ymm3
526
- vmovdqu 8+32*3-96(%rdi),%ymm4
527
- vmovdqu 8+32*4-96(%rdi),%ymm5
528
- vmovdqu 8+32*5-96(%rdi),%ymm6
529
- call __KeccakF1600
530
- vmovq %xmm0,-96(%rdi)
531
- vmovdqu %ymm1,8+32*0-96(%rdi)
532
- vmovdqu %ymm2,8+32*1-96(%rdi)
533
- vmovdqu %ymm3,8+32*2-96(%rdi)
534
- vmovdqu %ymm4,8+32*3-96(%rdi)
535
- vmovdqu %ymm5,8+32*4-96(%rdi)
536
- vmovdqu %ymm6,8+32*5-96(%rdi)
537
- vzeroupper
538
- ret
539
- .size KeccakP1600_Permute_12rounds,.-KeccakP1600_Permute_12rounds
540
-
541
- .globl KeccakP1600_Permute_Nrounds
542
- .type KeccakP1600_Permute_Nrounds,@function
543
- .align 32
544
- KeccakP1600_Permute_Nrounds:
545
- lea rhotates_left+96(%rip),%r8
546
- lea rhotates_right+96(%rip),%r9
547
- lea iotas+24*4*8(%rip),%r10
548
- mov %rsi,%rax
549
- shl $2+3,%rsi
550
- sub %rsi, %r10
551
- lea 96(%rdi),%rdi
552
- vzeroupper
553
- vpbroadcastq -96(%rdi),%ymm0 # load A[5][5]
554
- vmovdqu 8+32*0-96(%rdi),%ymm1
555
- vmovdqu 8+32*1-96(%rdi),%ymm2
556
- vmovdqu 8+32*2-96(%rdi),%ymm3
557
- vmovdqu 8+32*3-96(%rdi),%ymm4
558
- vmovdqu 8+32*4-96(%rdi),%ymm5
559
- vmovdqu 8+32*5-96(%rdi),%ymm6
560
- call __KeccakF1600
561
- vmovq %xmm0,-96(%rdi)
562
- vmovdqu %ymm1,8+32*0-96(%rdi)
563
- vmovdqu %ymm2,8+32*1-96(%rdi)
564
- vmovdqu %ymm3,8+32*2-96(%rdi)
565
- vmovdqu %ymm4,8+32*3-96(%rdi)
566
- vmovdqu %ymm5,8+32*4-96(%rdi)
567
- vmovdqu %ymm6,8+32*5-96(%rdi)
568
- vzeroupper
569
- ret
570
- .size KeccakP1600_Permute_Nrounds,.-KeccakP1600_Permute_Nrounds
571
-
572
- # -----------------------------------------------------------------------------
573
- #
574
- # size_t KeccakF1600_FastLoop_Absorb(void *state, unsigned int laneCount, const unsigned char *data, size_t dataByteLen);
575
- # %rdi %rsi %rdx %rcx
576
- #
577
- .globl KeccakF1600_FastLoop_Absorb
578
- .type KeccakF1600_FastLoop_Absorb,@function
579
- .align 32
580
- KeccakF1600_FastLoop_Absorb:
581
- push %rbx
582
- push %r10
583
- shr $3, %rcx # rcx = data length in lanes
584
- mov %rdx, %rbx # rbx = initial data pointer
585
- cmp %rsi, %rcx
586
- jb KeccakF1600_FastLoop_Absorb_Exit
587
- vzeroupper
588
- cmp $21, %rsi
589
- jnz KeccakF1600_FastLoop_Absorb_Not21Lanes
590
- sub $21, %rcx
591
- lea rhotates_left+96(%rip),%r8
592
- lea rhotates_right+96(%rip),%r9
593
- lea 96(%rdi),%rdi
594
- vpbroadcastq -96(%rdi),%ymm0 # load A[5][5]
595
- vmovdqu 8+32*0-96(%rdi),%ymm1
596
- vmovdqu 8+32*1-96(%rdi),%ymm2
597
- vmovdqu 8+32*2-96(%rdi),%ymm3
598
- vmovdqu 8+32*3-96(%rdi),%ymm4
599
- vmovdqu 8+32*4-96(%rdi),%ymm5
600
- vmovdqu 8+32*5-96(%rdi),%ymm6
601
- KeccakF1600_FastLoop_Absorb_Loop21Lanes:
602
- vpbroadcastq (%rdx),%ymm7
603
- vmovdqu 8(%rdx),%ymm8
604
-
605
- vmovdqa map2(%rip), %xmm15
606
- vpcmpeqq %ymm14, %ymm14, %ymm14
607
- vpgatherdq %ymm14, (%rdx, %xmm15, 1), %ymm9
608
-
609
- vmovdqa mask3_21(%rip), %ymm14
610
- vpxor %ymm10, %ymm10, %ymm10
611
- vmovdqa map3(%rip), %xmm15
612
- vpgatherdq %ymm14, (%rdx, %xmm15, 1), %ymm10
613
-
614
- vmovdqa mask4_21(%rip), %ymm14
615
- vpxor %ymm11, %ymm11, %ymm11
616
- vmovdqa map4(%rip), %xmm15
617
- vpgatherdq %ymm14, (%rdx, %xmm15, 1), %ymm11
618
-
619
- vmovdqa mask5_21(%rip), %ymm14
620
- vpxor %ymm12, %ymm12, %ymm12
621
- vmovdqa map5(%rip), %xmm15
622
- vpgatherdq %ymm14, (%rdx, %xmm15, 1), %ymm12
623
-
624
- vmovdqa mask6_21(%rip), %ymm14
625
- vpxor %ymm13, %ymm13, %ymm13
626
- vmovdqa map6(%rip), %xmm15
627
- vpgatherdq %ymm14, (%rdx, %xmm15, 1), %ymm13
628
-
629
- vpxor %ymm7,%ymm0,%ymm0
630
- vpxor %ymm8,%ymm1,%ymm1
631
- vpxor %ymm9,%ymm2,%ymm2
632
- vpxor %ymm10,%ymm3,%ymm3
633
- vpxor %ymm11,%ymm4,%ymm4
634
- vpxor %ymm12,%ymm5,%ymm5
635
- vpxor %ymm13,%ymm6,%ymm6
636
- add $21*8, %rdx
637
- lea iotas(%rip),%r10
638
- mov $24,%eax
639
- call __KeccakF1600
640
- sub $21, %rcx
641
- jnc KeccakF1600_FastLoop_Absorb_Loop21Lanes
642
- KeccakF1600_FastLoop_Absorb_SaveAndExit:
643
- vmovq %xmm0,-96(%rdi)
644
- vmovdqu %ymm1,8+32*0-96(%rdi)
645
- vmovdqu %ymm2,8+32*1-96(%rdi)
646
- vmovdqu %ymm3,8+32*2-96(%rdi)
647
- vmovdqu %ymm4,8+32*3-96(%rdi)
648
- vmovdqu %ymm5,8+32*4-96(%rdi)
649
- vmovdqu %ymm6,8+32*5-96(%rdi)
650
- KeccakF1600_FastLoop_Absorb_Exit:
651
- vzeroupper
652
- mov %rdx, %rax # return number of bytes processed
653
- sub %rbx, %rax
654
- pop %r10
655
- pop %rbx
656
- ret
657
- KeccakF1600_FastLoop_Absorb_Not21Lanes:
658
- cmp $17, %rsi
659
- jnz KeccakF1600_FastLoop_Absorb_Not17Lanes
660
- sub $17, %rcx
661
- lea rhotates_left+96(%rip),%r8
662
- lea rhotates_right+96(%rip),%r9
663
- lea 96(%rdi),%rdi
664
- vpbroadcastq -96(%rdi),%ymm0 # load A[5][5]
665
- vmovdqu 8+32*0-96(%rdi),%ymm1
666
- vmovdqu 8+32*1-96(%rdi),%ymm2
667
- vmovdqu 8+32*2-96(%rdi),%ymm3
668
- vmovdqu 8+32*3-96(%rdi),%ymm4
669
- vmovdqu 8+32*4-96(%rdi),%ymm5
670
- vmovdqu 8+32*5-96(%rdi),%ymm6
671
- KeccakF1600_FastLoop_Absorb_Loop17Lanes:
672
- vpbroadcastq (%rdx),%ymm7
673
- vmovdqu 8(%rdx),%ymm8
674
-
675
- vmovdqa mask2_17(%rip), %ymm14
676
- vpxor %ymm9, %ymm9, %ymm9
677
- vmovdqa map2(%rip), %xmm15
678
- vpgatherdq %ymm14, (%rdx, %xmm15, 1), %ymm9
679
-
680
- vmovdqa mask3_17(%rip), %ymm14
681
- vpxor %ymm10, %ymm10, %ymm10
682
- vmovdqa map3(%rip), %xmm15
683
- vpgatherdq %ymm14, (%rdx, %xmm15, 1), %ymm10
684
-
685
- vmovdqa mask4_17(%rip), %ymm14
686
- vpxor %ymm11, %ymm11, %ymm11
687
- vmovdqa map4(%rip), %xmm15
688
- vpgatherdq %ymm14, (%rdx, %xmm15, 1), %ymm11
689
-
690
- vmovdqa mask5_17(%rip), %ymm14
691
- vpxor %ymm12, %ymm12, %ymm12
692
- vmovdqa map5(%rip), %xmm15
693
- vpgatherdq %ymm14, (%rdx, %xmm15, 1), %ymm12
694
-
695
- vmovdqa mask6_17(%rip), %ymm14
696
- vpxor %ymm13, %ymm13, %ymm13
697
- vmovdqa map6(%rip), %xmm15
698
- vpgatherdq %ymm14, (%rdx, %xmm15, 1), %ymm13
699
-
700
- vpxor %ymm7,%ymm0,%ymm0
701
- vpxor %ymm8,%ymm1,%ymm1
702
- vpxor %ymm9,%ymm2,%ymm2
703
- vpxor %ymm10,%ymm3,%ymm3
704
- vpxor %ymm11,%ymm4,%ymm4
705
- vpxor %ymm12,%ymm5,%ymm5
706
- vpxor %ymm13,%ymm6,%ymm6
707
- add $17*8, %rdx
708
- lea iotas(%rip),%r10
709
- mov $24,%eax
710
- call __KeccakF1600
711
- sub $17, %rcx
712
- jnc KeccakF1600_FastLoop_Absorb_Loop17Lanes
713
- jmp KeccakF1600_FastLoop_Absorb_SaveAndExit
714
- KeccakF1600_FastLoop_Absorb_Not17Lanes:
715
- lea mapState(%rip), %r9
716
- mov %rsi, %rax
717
- KeccakF1600_FastLoop_Absorb_LanesAddLoop:
718
- mov (%rdx), %r8
719
- add $8, %rdx
720
- mov (%r9), %r10
721
- add $8, %r9
722
- add %rdi, %r10
723
- xor %r8, (%r10)
724
- sub $1, %rax
725
- jnz KeccakF1600_FastLoop_Absorb_LanesAddLoop
726
- sub %rsi, %rcx
727
- push %rdi
728
- push %rsi
729
- push %rdx
730
- push %rcx
731
- call KeccakP1600_Permute_24rounds
732
- pop %rcx
733
- pop %rdx
734
- pop %rsi
735
- pop %rdi
736
- cmp %rsi, %rcx
737
- jae KeccakF1600_FastLoop_Absorb_Not17Lanes
738
- jmp KeccakF1600_FastLoop_Absorb_Exit
739
- .size KeccakF1600_FastLoop_Absorb,.-KeccakF1600_FastLoop_Absorb
740
-
741
- # -----------------------------------------------------------------------------
742
- #
743
- # size_t KeccakP1600_12rounds_FastLoop_Absorb(void *state, unsigned int laneCount, const unsigned char *data, size_t dataByteLen);
744
- # %rdi %rsi %rdx %rcx
745
- #
746
- .globl KeccakP1600_12rounds_FastLoop_Absorb
747
- .type KeccakP1600_12rounds_FastLoop_Absorb,@function
748
- .align 32
749
- KeccakP1600_12rounds_FastLoop_Absorb:
750
- push %rbx
751
- push %r10
752
- shr $3, %rcx # rcx = data length in lanes
753
- mov %rdx, %rbx # rbx = initial data pointer
754
- cmp %rsi, %rcx
755
- jb KeccakP1600_12rounds_FastLoop_Absorb_Exit
756
- vzeroupper
757
- cmp $21, %rsi
758
- jnz KeccakP1600_12rounds_FastLoop_Absorb_Not21Lanes
759
- sub $21, %rcx
760
- lea rhotates_left+96(%rip),%r8
761
- lea rhotates_right+96(%rip),%r9
762
- lea 96(%rdi),%rdi
763
- vpbroadcastq -96(%rdi),%ymm0 # load A[5][5]
764
- vmovdqu 8+32*0-96(%rdi),%ymm1
765
- vmovdqu 8+32*1-96(%rdi),%ymm2
766
- vmovdqu 8+32*2-96(%rdi),%ymm3
767
- vmovdqu 8+32*3-96(%rdi),%ymm4
768
- vmovdqu 8+32*4-96(%rdi),%ymm5
769
- vmovdqu 8+32*5-96(%rdi),%ymm6
770
- KeccakP1600_12rounds_FastLoop_Absorb_Loop21Lanes:
771
- vpbroadcastq (%rdx),%ymm7
772
- vmovdqu 8(%rdx),%ymm8
773
-
774
- vmovdqa map2(%rip), %xmm15
775
- vpcmpeqq %ymm14, %ymm14, %ymm14
776
- vpgatherdq %ymm14, (%rdx, %xmm15, 1), %ymm9
777
-
778
- vmovdqa mask3_21(%rip), %ymm14
779
- vpxor %ymm10, %ymm10, %ymm10
780
- vmovdqa map3(%rip), %xmm15
781
- vpgatherdq %ymm14, (%rdx, %xmm15, 1), %ymm10
782
-
783
- vmovdqa mask4_21(%rip), %ymm14
784
- vpxor %ymm11, %ymm11, %ymm11
785
- vmovdqa map4(%rip), %xmm15
786
- vpgatherdq %ymm14, (%rdx, %xmm15, 1), %ymm11
787
-
788
- vmovdqa mask5_21(%rip), %ymm14
789
- vpxor %ymm12, %ymm12, %ymm12
790
- vmovdqa map5(%rip), %xmm15
791
- vpgatherdq %ymm14, (%rdx, %xmm15, 1), %ymm12
792
-
793
- vmovdqa mask6_21(%rip), %ymm14
794
- vpxor %ymm13, %ymm13, %ymm13
795
- vmovdqa map6(%rip), %xmm15
796
- vpgatherdq %ymm14, (%rdx, %xmm15, 1), %ymm13
797
-
798
- vpxor %ymm7,%ymm0,%ymm0
799
- vpxor %ymm8,%ymm1,%ymm1
800
- vpxor %ymm9,%ymm2,%ymm2
801
- vpxor %ymm10,%ymm3,%ymm3
802
- vpxor %ymm11,%ymm4,%ymm4
803
- vpxor %ymm12,%ymm5,%ymm5
804
- vpxor %ymm13,%ymm6,%ymm6
805
- add $21*8, %rdx
806
- lea iotas+12*4*8(%rip),%r10
807
- mov $12,%eax
808
- call __KeccakF1600
809
- sub $21, %rcx
810
- jnc KeccakP1600_12rounds_FastLoop_Absorb_Loop21Lanes
811
- KeccakP1600_12rounds_FastLoop_Absorb_SaveAndExit:
812
- vmovq %xmm0,-96(%rdi)
813
- vmovdqu %ymm1,8+32*0-96(%rdi)
814
- vmovdqu %ymm2,8+32*1-96(%rdi)
815
- vmovdqu %ymm3,8+32*2-96(%rdi)
816
- vmovdqu %ymm4,8+32*3-96(%rdi)
817
- vmovdqu %ymm5,8+32*4-96(%rdi)
818
- vmovdqu %ymm6,8+32*5-96(%rdi)
819
- KeccakP1600_12rounds_FastLoop_Absorb_Exit:
820
- vzeroupper
821
- mov %rdx, %rax # return number of bytes processed
822
- sub %rbx, %rax
823
- pop %r10
824
- pop %rbx
825
- ret
826
- KeccakP1600_12rounds_FastLoop_Absorb_Not21Lanes:
827
- cmp $17, %rsi
828
- jnz KeccakP1600_12rounds_FastLoop_Absorb_Not17Lanes
829
- sub $17, %rcx
830
- lea rhotates_left+96(%rip),%r8
831
- lea rhotates_right+96(%rip),%r9
832
- lea 96(%rdi),%rdi
833
- vpbroadcastq -96(%rdi),%ymm0 # load A[5][5]
834
- vmovdqu 8+32*0-96(%rdi),%ymm1
835
- vmovdqu 8+32*1-96(%rdi),%ymm2
836
- vmovdqu 8+32*2-96(%rdi),%ymm3
837
- vmovdqu 8+32*3-96(%rdi),%ymm4
838
- vmovdqu 8+32*4-96(%rdi),%ymm5
839
- vmovdqu 8+32*5-96(%rdi),%ymm6
840
- KeccakP1600_12rounds_FastLoop_Absorb_Loop17Lanes:
841
- vpbroadcastq (%rdx),%ymm7
842
- vmovdqu 8(%rdx),%ymm8
843
-
844
- vmovdqa mask2_17(%rip), %ymm14
845
- vpxor %ymm9, %ymm9, %ymm9
846
- vmovdqa map2(%rip), %xmm15
847
- vpgatherdq %ymm14, (%rdx, %xmm15, 1), %ymm9
848
-
849
- vmovdqa mask3_17(%rip), %ymm14
850
- vpxor %ymm10, %ymm10, %ymm10
851
- vmovdqa map3(%rip), %xmm15
852
- vpgatherdq %ymm14, (%rdx, %xmm15, 1), %ymm10
853
-
854
- vmovdqa mask4_17(%rip), %ymm14
855
- vpxor %ymm11, %ymm11, %ymm11
856
- vmovdqa map4(%rip), %xmm15
857
- vpgatherdq %ymm14, (%rdx, %xmm15, 1), %ymm11
858
-
859
- vmovdqa mask5_17(%rip), %ymm14
860
- vpxor %ymm12, %ymm12, %ymm12
861
- vmovdqa map5(%rip), %xmm15
862
- vpgatherdq %ymm14, (%rdx, %xmm15, 1), %ymm12
863
-
864
- vmovdqa mask6_17(%rip), %ymm14
865
- vpxor %ymm13, %ymm13, %ymm13
866
- vmovdqa map6(%rip), %xmm15
867
- vpgatherdq %ymm14, (%rdx, %xmm15, 1), %ymm13
868
-
869
- vpxor %ymm7,%ymm0,%ymm0
870
- vpxor %ymm8,%ymm1,%ymm1
871
- vpxor %ymm9,%ymm2,%ymm2
872
- vpxor %ymm10,%ymm3,%ymm3
873
- vpxor %ymm11,%ymm4,%ymm4
874
- vpxor %ymm12,%ymm5,%ymm5
875
- vpxor %ymm13,%ymm6,%ymm6
876
- add $17*8, %rdx
877
- lea iotas+12*4*8(%rip),%r10
878
- mov $12,%eax
879
- call __KeccakF1600
880
- sub $17, %rcx
881
- jnc KeccakP1600_12rounds_FastLoop_Absorb_Loop17Lanes
882
- jmp KeccakP1600_12rounds_FastLoop_Absorb_SaveAndExit
883
- KeccakP1600_12rounds_FastLoop_Absorb_Not17Lanes:
884
- lea mapState(%rip), %r9
885
- mov %rsi, %rax
886
- KeccakP1600_12rounds_FastLoop_Absorb_LanesAddLoop:
887
- mov (%rdx), %r8
888
- add $8, %rdx
889
- mov (%r9), %r10
890
- add $8, %r9
891
- add %rdi, %r10
892
- xor %r8, (%r10)
893
- sub $1, %rax
894
- jnz KeccakP1600_12rounds_FastLoop_Absorb_LanesAddLoop
895
- sub %rsi, %rcx
896
- push %rdi
897
- push %rsi
898
- push %rdx
899
- push %rcx
900
- call KeccakP1600_Permute_12rounds
901
- pop %rcx
902
- pop %rdx
903
- pop %rsi
904
- pop %rdi
905
- cmp %rsi, %rcx
906
- jae KeccakP1600_12rounds_FastLoop_Absorb_Not17Lanes
907
- jmp KeccakP1600_12rounds_FastLoop_Absorb_Exit
908
- .size KeccakP1600_12rounds_FastLoop_Absorb,.-KeccakP1600_12rounds_FastLoop_Absorb
909
-
910
- .equ ALLON, 0xFFFFFFFFFFFFFFFF
911
-
912
- .align 64
913
- rhotates_left:
914
- .quad 3, 18, 36, 41 # [2][0] [4][0] [1][0] [3][0]
915
- .quad 1, 62, 28, 27 # [0][1] [0][2] [0][3] [0][4]
916
- .quad 45, 6, 56, 39 # [3][1] [1][2] [4][3] [2][4]
917
- .quad 10, 61, 55, 8 # [2][1] [4][2] [1][3] [3][4]
918
- .quad 2, 15, 25, 20 # [4][1] [3][2] [2][3] [1][4]
919
- .quad 44, 43, 21, 14 # [1][1] [2][2] [3][3] [4][4]
920
- rhotates_right:
921
- .quad 64-3, 64-18, 64-36, 64-41
922
- .quad 64-1, 64-62, 64-28, 64-27
923
- .quad 64-45, 64-6, 64-56, 64-39
924
- .quad 64-10, 64-61, 64-55, 64-8
925
- .quad 64-2, 64-15, 64-25, 64-20
926
- .quad 64-44, 64-43, 64-21, 64-14
927
- iotas:
928
- .quad 0x0000000000000001, 0x0000000000000001, 0x0000000000000001, 0x0000000000000001
929
- .quad 0x0000000000008082, 0x0000000000008082, 0x0000000000008082, 0x0000000000008082
930
- .quad 0x800000000000808a, 0x800000000000808a, 0x800000000000808a, 0x800000000000808a
931
- .quad 0x8000000080008000, 0x8000000080008000, 0x8000000080008000, 0x8000000080008000
932
- .quad 0x000000000000808b, 0x000000000000808b, 0x000000000000808b, 0x000000000000808b
933
- .quad 0x0000000080000001, 0x0000000080000001, 0x0000000080000001, 0x0000000080000001
934
- .quad 0x8000000080008081, 0x8000000080008081, 0x8000000080008081, 0x8000000080008081
935
- .quad 0x8000000000008009, 0x8000000000008009, 0x8000000000008009, 0x8000000000008009
936
- .quad 0x000000000000008a, 0x000000000000008a, 0x000000000000008a, 0x000000000000008a
937
- .quad 0x0000000000000088, 0x0000000000000088, 0x0000000000000088, 0x0000000000000088
938
- .quad 0x0000000080008009, 0x0000000080008009, 0x0000000080008009, 0x0000000080008009
939
- .quad 0x000000008000000a, 0x000000008000000a, 0x000000008000000a, 0x000000008000000a
940
- .quad 0x000000008000808b, 0x000000008000808b, 0x000000008000808b, 0x000000008000808b
941
- .quad 0x800000000000008b, 0x800000000000008b, 0x800000000000008b, 0x800000000000008b
942
- .quad 0x8000000000008089, 0x8000000000008089, 0x8000000000008089, 0x8000000000008089
943
- .quad 0x8000000000008003, 0x8000000000008003, 0x8000000000008003, 0x8000000000008003
944
- .quad 0x8000000000008002, 0x8000000000008002, 0x8000000000008002, 0x8000000000008002
945
- .quad 0x8000000000000080, 0x8000000000000080, 0x8000000000000080, 0x8000000000000080
946
- .quad 0x000000000000800a, 0x000000000000800a, 0x000000000000800a, 0x000000000000800a
947
- .quad 0x800000008000000a, 0x800000008000000a, 0x800000008000000a, 0x800000008000000a
948
- .quad 0x8000000080008081, 0x8000000080008081, 0x8000000080008081, 0x8000000080008081
949
- .quad 0x8000000000008080, 0x8000000000008080, 0x8000000000008080, 0x8000000000008080
950
- .quad 0x0000000080000001, 0x0000000080000001, 0x0000000080000001, 0x0000000080000001
951
- .quad 0x8000000080008008, 0x8000000080008008, 0x8000000080008008, 0x8000000080008008
952
-
953
- mapState:
954
- .quad 0*8, 1*8, 2*8, 3*8, 4*8
955
- .quad 7*8, 21*8, 10*8, 15*8, 20*8
956
- .quad 5*8, 13*8, 22*8, 19*8, 12*8
957
- .quad 8*8, 9*8, 18*8, 23*8, 16*8
958
- .quad 6*8, 17*8, 14*8, 11*8, 24*8
959
-
960
- .align 16
961
- map2:
962
- .long 10*8, 20*8, 5*8, 15*8
963
- map3:
964
- .long 16*8, 7*8, 23*8, 14*8
965
- map4:
966
- .long 11*8, 22*8, 8*8, 19*8
967
- map5:
968
- .long 21*8, 17*8, 13*8, 9*8
969
- map6:
970
- .long 6*8, 12*8, 18*8, 24*8
971
-
972
- .align 32
973
- mask3_21:
974
- .quad ALLON, ALLON, 0, ALLON
975
- mask4_21:
976
- .quad ALLON, 0, ALLON, ALLON
977
- mask5_21:
978
- .quad 0, ALLON, ALLON, ALLON
979
- mask6_21:
980
- .quad ALLON, ALLON, ALLON, 0
981
-
982
- mask2_17:
983
- .quad ALLON, 0, ALLON, ALLON
984
- mask3_17:
985
- .quad ALLON, ALLON, 0, ALLON
986
- mask4_17:
987
- .quad ALLON, 0, ALLON, 0
988
- mask5_17:
989
- .quad 0, 0, ALLON, ALLON
990
- mask6_17:
991
- .quad ALLON, ALLON, 0, 0
992
-
993
- .asciz "Keccak-1600 for AVX2, CRYPTOGAMS by <appro@openssl.org>"