digest-kangarootwelve 0.3.1 → 0.4.4

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