digest-kangarootwelve 0.3.2 → 0.4.0

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

Potentially problematic release.


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

Files changed (1025) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/LICENSE.XKCP +9 -0
  4. data/README.md +63 -33
  5. data/Rakefile +58 -4
  6. data/digest-kangarootwelve.gemspec +22 -316
  7. data/ext/digest/kangarootwelve/XKCP/lib/common/align.h +33 -0
  8. data/ext/digest/kangarootwelve/XKCP/lib/common/brg_endian.h +143 -0
  9. data/ext/digest/kangarootwelve/XKCP/lib/high/KangarooTwelve/KangarooTwelve.c +301 -0
  10. data/ext/digest/kangarootwelve/XKCP/lib/high/KangarooTwelve/KangarooTwelve.h +97 -0
  11. data/ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.c +111 -0
  12. data/ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.h +76 -0
  13. data/ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.inc +314 -0
  14. data/ext/digest/kangarootwelve/XKCP/lib/high/common/Phases.h +25 -0
  15. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ARM/KeccakP-1600-SnP.h +41 -0
  16. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ARMv7A-NEON/KeccakP-1600-SnP.h +42 -0
  17. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVR8/KeccakP-1600-SnP.h +42 -0
  18. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX2/KeccakP-1600-SnP.h +52 -0
  19. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX512/C/KeccakP-1600-AVX512.c +623 -0
  20. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX512/C/KeccakP-1600-SnP.h +47 -0
  21. data/ext/digest/kangarootwelve/{keccak/skylakex → XKCP/lib/low/KeccakP-1600/AVX512/C/u12}/KeccakP-1600-AVX512-config.h +0 -0
  22. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX512/KeccakP-1600-SnP.h +53 -0
  23. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/XOP/KeccakP-1600-SnP.h +44 -0
  24. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/XOP/KeccakP-1600-XOP.c +476 -0
  25. data/ext/digest/kangarootwelve/{keccak/bulldozer → XKCP/lib/low/KeccakP-1600/XOP/ua}/KeccakP-1600-XOP-config.h +0 -0
  26. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/common/KeccakP-1600-64.macros +748 -0
  27. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/common/KeccakP-1600-unrolling.macros +305 -0
  28. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/compact/KeccakP-1600-SnP.h +40 -0
  29. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/compact/KeccakP-1600-compact64.c +420 -0
  30. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-32bits-inplace/KeccakP-1600-SnP.h +43 -0
  31. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-32bits-inplace/KeccakP-1600-inplace32BI.c +1163 -0
  32. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-64bits/KeccakP-1600-SnP.h +54 -0
  33. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-64bits/KeccakP-1600-opt64.c +565 -0
  34. data/ext/digest/kangarootwelve/{keccak/generic64lc → XKCP/lib/low/KeccakP-1600/plain-64bits/lcua}/KeccakP-1600-opt64-config.h +0 -0
  35. data/ext/digest/kangarootwelve/{keccak/sandybridge → XKCP/lib/low/KeccakP-1600/plain-64bits/lcua-shld}/KeccakP-1600-opt64-config.h +0 -0
  36. data/ext/digest/kangarootwelve/{keccak/generic64 → XKCP/lib/low/KeccakP-1600/plain-64bits/ua}/KeccakP-1600-opt64-config.h +0 -0
  37. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-32bits/KeccakP-1600-SnP.h +44 -0
  38. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-32bits/KeccakP-1600-reference.h +23 -0
  39. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-32bits/KeccakP-1600-reference32BI.c +625 -0
  40. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-64bits/KeccakP-1600-SnP.h +44 -0
  41. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-64bits/KeccakP-1600-reference.c +440 -0
  42. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-64bits/KeccakP-1600-reference.h +23 -0
  43. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/ARMv7A-NEON/KeccakP-1600-times2-SnP.h +42 -0
  44. data/ext/digest/kangarootwelve/{keccak/skylakex → XKCP/lib/low/KeccakP-1600-times2/AVX512/AVX512u12}/SIMD512-2-config.h +0 -0
  45. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/AVX512/KeccakP-1600-times2-SIMD512.c +850 -0
  46. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/AVX512/KeccakP-1600-times2-SnP.h +51 -0
  47. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/SIMD128/KeccakP-1600-times2-SIMD128.c +957 -0
  48. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/SIMD128/KeccakP-1600-times2-SnP.h +49 -0
  49. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/SIMD128/SSSE3-u2/SIMD128-config.h +8 -0
  50. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/SIMD128/SSSE3-ua/SIMD128-config.h +8 -0
  51. data/ext/digest/kangarootwelve/{keccak/bulldozer → XKCP/lib/low/KeccakP-1600-times2/SIMD128/XOP-ua}/SIMD128-config.h +0 -0
  52. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/fallback-on1/KeccakP-1600-times2-SnP.h +45 -0
  53. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/fallback-on1/KeccakP-1600-times2-on1.c +37 -0
  54. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX2/KeccakP-1600-times4-SIMD256.c +1321 -0
  55. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX2/KeccakP-1600-times4-SnP.h +55 -0
  56. data/ext/digest/kangarootwelve/{keccak/haswell → XKCP/lib/low/KeccakP-1600-times4/AVX2/u12}/SIMD256-config.h +0 -0
  57. data/ext/digest/kangarootwelve/{keccak/skylakex → XKCP/lib/low/KeccakP-1600-times4/AVX512/AVX512u12}/SIMD512-4-config.h +0 -0
  58. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX512/KeccakP-1600-times4-SIMD512.c +881 -0
  59. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX512/KeccakP-1600-times4-SnP.h +51 -0
  60. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on1/KeccakP-1600-times4-SnP.h +45 -0
  61. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on1/KeccakP-1600-times4-on1.c +37 -0
  62. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on2/KeccakP-1600-times4-SnP.h +45 -0
  63. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on2/KeccakP-1600-times4-on2.c +38 -0
  64. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/AVX512/KeccakP-1600-times8-SIMD512.c +1615 -0
  65. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/AVX512/KeccakP-1600-times8-SnP.h +57 -0
  66. data/ext/digest/kangarootwelve/{keccak/skylakex → XKCP/lib/low/KeccakP-1600-times8/AVX512/u12}/SIMD512-config.h +0 -0
  67. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on1/KeccakP-1600-times8-SnP.h +45 -0
  68. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on1/KeccakP-1600-times8-on1.c +37 -0
  69. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on2/KeccakP-1600-times8-SnP.h +45 -0
  70. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on2/KeccakP-1600-times8-on2.c +38 -0
  71. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on4/KeccakP-1600-times8-SnP.h +45 -0
  72. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on4/KeccakP-1600-times8-on4.c +38 -0
  73. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ARM/KeccakP-200-SnP.h +41 -0
  74. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ARM/KeccakP-200-armv7m-le-gcc.s +427 -0
  75. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/AVR8/KeccakP-200-SnP.h +41 -0
  76. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/compact/KeccakP-200-SnP.h +39 -0
  77. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/compact/KeccakP-200-compact.c +190 -0
  78. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ref/KeccakP-200-SnP.h +43 -0
  79. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ref/KeccakP-200-reference.c +412 -0
  80. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ref/KeccakP-200-reference.h +23 -0
  81. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ARM/KeccakP-400-SnP.h +41 -0
  82. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/AVR8/KeccakP-400-SnP.h +41 -0
  83. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ref/KeccakP-400-SnP.h +43 -0
  84. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ref/KeccakP-400-reference.c +414 -0
  85. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ref/KeccakP-400-reference.h +23 -0
  86. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ARM/KeccakP-800-SnP.h +42 -0
  87. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/AVR8/KeccakP-800-SnP.h +42 -0
  88. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/compact/KeccakP-800-SnP.h +40 -0
  89. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/compact/KeccakP-800-compact.c +244 -0
  90. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-SnP.h +46 -0
  91. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-opt32-bis.macros +184 -0
  92. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-opt32.c +454 -0
  93. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-opt32.macros +459 -0
  94. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-unrolling-bis.macros +83 -0
  95. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-unrolling.macros +88 -0
  96. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/lcu2/KeccakP-800-opt32-config.h +7 -0
  97. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/lcua/KeccakP-800-opt32-config.h +7 -0
  98. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/u2/KeccakP-800-opt32-config.h +7 -0
  99. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/ua/KeccakP-800-opt32-config.h +7 -0
  100. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ref/KeccakP-800-SnP.h +44 -0
  101. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ref/KeccakP-800-reference.c +437 -0
  102. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ref/KeccakP-800-reference.h +23 -0
  103. data/ext/digest/kangarootwelve/XKCP/lib/low/common/PlSnP-Fallback.inc +290 -0
  104. data/ext/digest/kangarootwelve/XKCP/lib/low/common/SnP-Relaned.h +141 -0
  105. data/ext/digest/kangarootwelve/XKCP/tests/UnitTests/displayIntermediateValues.c +177 -0
  106. data/ext/digest/kangarootwelve/XKCP/tests/UnitTests/displayIntermediateValues.h +30 -0
  107. data/ext/digest/kangarootwelve/ext.c +30 -22
  108. data/ext/digest/kangarootwelve/extconf.rb +7 -11
  109. data/ext/digest/kangarootwelve/targets/armv6/KangarooTwelve.c +1 -0
  110. data/ext/digest/kangarootwelve/targets/armv6/KangarooTwelve.h +1 -0
  111. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-SnP.h +1 -0
  112. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times2-SnP.h +1 -0
  113. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times2-on1.c +1 -0
  114. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times4-SnP.h +1 -0
  115. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times4-on1.c +1 -0
  116. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times8-SnP.h +1 -0
  117. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times8-on1.c +1 -0
  118. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-200-SnP.h +1 -0
  119. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-400-SnP.h +1 -0
  120. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-800-SnP.h +1 -0
  121. data/ext/digest/kangarootwelve/targets/armv6/KeccakSponge.c +1 -0
  122. data/ext/digest/kangarootwelve/targets/armv6/KeccakSponge.h +1 -0
  123. data/ext/digest/kangarootwelve/targets/armv6/KeccakSponge.inc +1 -0
  124. data/ext/digest/kangarootwelve/targets/armv6/Phases.h +1 -0
  125. data/ext/digest/kangarootwelve/targets/armv6/PlSnP-Fallback.inc +1 -0
  126. data/ext/digest/kangarootwelve/targets/armv6/align.h +1 -0
  127. data/ext/digest/kangarootwelve/targets/armv6/brg_endian.h +1 -0
  128. data/ext/digest/kangarootwelve/targets/armv6/config.h +1 -0
  129. data/ext/digest/kangarootwelve/{keccak/armv6m/ext.link.c → targets/armv6/ext.c} +0 -0
  130. data/ext/digest/kangarootwelve/targets/armv6/utils.h +1 -0
  131. data/ext/digest/kangarootwelve/targets/armv6m/KangarooTwelve.c +1 -0
  132. data/ext/digest/kangarootwelve/targets/armv6m/KangarooTwelve.h +1 -0
  133. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-SnP.h +1 -0
  134. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times2-SnP.h +1 -0
  135. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times2-on1.c +1 -0
  136. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times4-SnP.h +1 -0
  137. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times4-on1.c +1 -0
  138. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times8-SnP.h +1 -0
  139. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times8-on1.c +1 -0
  140. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-200-SnP.h +1 -0
  141. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-400-SnP.h +1 -0
  142. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-800-SnP.h +1 -0
  143. data/ext/digest/kangarootwelve/targets/armv6m/KeccakSponge.c +1 -0
  144. data/ext/digest/kangarootwelve/targets/armv6m/KeccakSponge.h +1 -0
  145. data/ext/digest/kangarootwelve/targets/armv6m/KeccakSponge.inc +1 -0
  146. data/ext/digest/kangarootwelve/targets/armv6m/Phases.h +1 -0
  147. data/ext/digest/kangarootwelve/targets/armv6m/PlSnP-Fallback.inc +1 -0
  148. data/ext/digest/kangarootwelve/targets/armv6m/align.h +1 -0
  149. data/ext/digest/kangarootwelve/targets/armv6m/brg_endian.h +1 -0
  150. data/ext/digest/kangarootwelve/targets/armv6m/config.h +1 -0
  151. data/ext/digest/kangarootwelve/{keccak/armv7a/ext.link.c → targets/armv6m/ext.c} +0 -0
  152. data/ext/digest/kangarootwelve/targets/armv6m/utils.h +1 -0
  153. data/ext/digest/kangarootwelve/targets/armv7a/KangarooTwelve.c +1 -0
  154. data/ext/digest/kangarootwelve/targets/armv7a/KangarooTwelve.h +1 -0
  155. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-SnP.h +1 -0
  156. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times2-SnP.h +1 -0
  157. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times4-SnP.h +1 -0
  158. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times4-on2.c +1 -0
  159. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times8-SnP.h +1 -0
  160. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times8-on2.c +1 -0
  161. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-200-SnP.h +1 -0
  162. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-200-reference.c +1 -0
  163. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-200-reference.h +1 -0
  164. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-400-SnP.h +1 -0
  165. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-400-reference.c +1 -0
  166. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-400-reference.h +1 -0
  167. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-800-SnP.h +1 -0
  168. data/ext/digest/kangarootwelve/targets/armv7a/KeccakSponge.c +1 -0
  169. data/ext/digest/kangarootwelve/targets/armv7a/KeccakSponge.h +1 -0
  170. data/ext/digest/kangarootwelve/targets/armv7a/KeccakSponge.inc +1 -0
  171. data/ext/digest/kangarootwelve/targets/armv7a/Phases.h +1 -0
  172. data/ext/digest/kangarootwelve/targets/armv7a/PlSnP-Fallback.inc +1 -0
  173. data/ext/digest/kangarootwelve/targets/armv7a/align.h +1 -0
  174. data/ext/digest/kangarootwelve/targets/armv7a/brg_endian.h +1 -0
  175. data/ext/digest/kangarootwelve/targets/armv7a/config.h +1 -0
  176. data/ext/digest/kangarootwelve/{keccak/armv7m/ext.link.c → targets/armv7a/ext.c} +0 -0
  177. data/ext/digest/kangarootwelve/targets/armv7a/utils.h +1 -0
  178. data/ext/digest/kangarootwelve/targets/armv7m/KangarooTwelve.c +1 -0
  179. data/ext/digest/kangarootwelve/targets/armv7m/KangarooTwelve.h +1 -0
  180. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-SnP.h +1 -0
  181. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times2-SnP.h +1 -0
  182. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times2-on1.c +1 -0
  183. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times4-SnP.h +1 -0
  184. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times4-on1.c +1 -0
  185. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times8-SnP.h +1 -0
  186. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times8-on1.c +1 -0
  187. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-200-SnP.h +1 -0
  188. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-200-armv7m-le-gcc.s +1 -0
  189. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-400-SnP.h +1 -0
  190. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-800-SnP.h +1 -0
  191. data/ext/digest/kangarootwelve/targets/armv7m/KeccakSponge.c +1 -0
  192. data/ext/digest/kangarootwelve/targets/armv7m/KeccakSponge.h +1 -0
  193. data/ext/digest/kangarootwelve/targets/armv7m/KeccakSponge.inc +1 -0
  194. data/ext/digest/kangarootwelve/targets/armv7m/Phases.h +1 -0
  195. data/ext/digest/kangarootwelve/targets/armv7m/PlSnP-Fallback.inc +1 -0
  196. data/ext/digest/kangarootwelve/targets/armv7m/align.h +1 -0
  197. data/ext/digest/kangarootwelve/targets/armv7m/brg_endian.h +1 -0
  198. data/ext/digest/kangarootwelve/targets/armv7m/config.h +1 -0
  199. data/ext/digest/kangarootwelve/{keccak/armv8a/ext.link.c → targets/armv7m/ext.c} +0 -0
  200. data/ext/digest/kangarootwelve/targets/armv7m/utils.h +1 -0
  201. data/ext/digest/kangarootwelve/targets/armv8a/KangarooTwelve.c +1 -0
  202. data/ext/digest/kangarootwelve/targets/armv8a/KangarooTwelve.h +1 -0
  203. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-64.macros +1 -0
  204. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-SnP.h +1 -0
  205. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-opt64-config.h +1 -0
  206. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-opt64.c +1 -0
  207. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times2-SnP.h +1 -0
  208. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times2-on1.c +1 -0
  209. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times4-SnP.h +1 -0
  210. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times4-on1.c +1 -0
  211. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times8-SnP.h +1 -0
  212. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times8-on1.c +1 -0
  213. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-unrolling.macros +1 -0
  214. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-200-SnP.h +1 -0
  215. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-200-reference.c +1 -0
  216. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-200-reference.h +1 -0
  217. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-400-SnP.h +1 -0
  218. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-400-reference.c +1 -0
  219. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-400-reference.h +1 -0
  220. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-SnP.h +1 -0
  221. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32-bis.macros +1 -0
  222. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32-config.h +1 -0
  223. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32.c +1 -0
  224. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32.macros +1 -0
  225. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-unrolling-bis.macros +1 -0
  226. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-unrolling.macros +1 -0
  227. data/ext/digest/kangarootwelve/targets/armv8a/KeccakSponge.c +1 -0
  228. data/ext/digest/kangarootwelve/targets/armv8a/KeccakSponge.h +1 -0
  229. data/ext/digest/kangarootwelve/targets/armv8a/KeccakSponge.inc +1 -0
  230. data/ext/digest/kangarootwelve/targets/armv8a/Phases.h +1 -0
  231. data/ext/digest/kangarootwelve/targets/armv8a/PlSnP-Fallback.inc +1 -0
  232. data/ext/digest/kangarootwelve/targets/armv8a/SnP-Relaned.h +1 -0
  233. data/ext/digest/kangarootwelve/targets/armv8a/align.h +1 -0
  234. data/ext/digest/kangarootwelve/targets/armv8a/brg_endian.h +1 -0
  235. data/ext/digest/kangarootwelve/targets/armv8a/config.h +1 -0
  236. data/ext/digest/kangarootwelve/{keccak/asmx86-64/ext.link.c → targets/armv8a/ext.c} +0 -0
  237. data/ext/digest/kangarootwelve/targets/armv8a/utils.h +1 -0
  238. data/ext/digest/kangarootwelve/targets/avr8/KangarooTwelve.c +1 -0
  239. data/ext/digest/kangarootwelve/targets/avr8/KangarooTwelve.h +1 -0
  240. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-SnP.h +1 -0
  241. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times2-SnP.h +1 -0
  242. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times2-on1.c +1 -0
  243. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times4-SnP.h +1 -0
  244. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times4-on1.c +1 -0
  245. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times8-SnP.h +1 -0
  246. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times8-on1.c +1 -0
  247. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-200-SnP.h +1 -0
  248. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-400-SnP.h +1 -0
  249. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-800-SnP.h +1 -0
  250. data/ext/digest/kangarootwelve/targets/avr8/KeccakSponge.c +1 -0
  251. data/ext/digest/kangarootwelve/targets/avr8/KeccakSponge.h +1 -0
  252. data/ext/digest/kangarootwelve/targets/avr8/KeccakSponge.inc +1 -0
  253. data/ext/digest/kangarootwelve/targets/avr8/Phases.h +1 -0
  254. data/ext/digest/kangarootwelve/targets/avr8/PlSnP-Fallback.inc +1 -0
  255. data/ext/digest/kangarootwelve/targets/avr8/align.h +1 -0
  256. data/ext/digest/kangarootwelve/targets/avr8/brg_endian.h +1 -0
  257. data/ext/digest/kangarootwelve/targets/avr8/config.h +1 -0
  258. data/ext/digest/kangarootwelve/{keccak/asmx86-64shld/ext.link.c → targets/avr8/ext.c} +0 -0
  259. data/ext/digest/kangarootwelve/targets/avr8/utils.h +1 -0
  260. data/ext/digest/kangarootwelve/targets/avx/KangarooTwelve.c +1 -0
  261. data/ext/digest/kangarootwelve/targets/avx/KangarooTwelve.h +1 -0
  262. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-64.macros +1 -0
  263. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-SnP.h +1 -0
  264. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-opt64-config.h +1 -0
  265. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-opt64.c +1 -0
  266. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times2-SIMD128.c +1 -0
  267. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times2-SnP.h +1 -0
  268. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times4-SnP.h +1 -0
  269. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times4-on2.c +1 -0
  270. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times8-SnP.h +1 -0
  271. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times8-on2.c +1 -0
  272. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-unrolling.macros +1 -0
  273. data/ext/digest/kangarootwelve/targets/avx/KeccakP-200-SnP.h +1 -0
  274. data/ext/digest/kangarootwelve/targets/avx/KeccakP-200-reference.c +1 -0
  275. data/ext/digest/kangarootwelve/targets/avx/KeccakP-200-reference.h +1 -0
  276. data/ext/digest/kangarootwelve/targets/avx/KeccakP-400-SnP.h +1 -0
  277. data/ext/digest/kangarootwelve/targets/avx/KeccakP-400-reference.c +1 -0
  278. data/ext/digest/kangarootwelve/targets/avx/KeccakP-400-reference.h +1 -0
  279. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-SnP.h +1 -0
  280. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32-bis.macros +1 -0
  281. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32-config.h +1 -0
  282. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32.c +1 -0
  283. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32.macros +1 -0
  284. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-unrolling-bis.macros +1 -0
  285. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-unrolling.macros +1 -0
  286. data/ext/digest/kangarootwelve/targets/avx/KeccakSponge.c +1 -0
  287. data/ext/digest/kangarootwelve/targets/avx/KeccakSponge.h +1 -0
  288. data/ext/digest/kangarootwelve/targets/avx/KeccakSponge.inc +1 -0
  289. data/ext/digest/kangarootwelve/targets/avx/Phases.h +1 -0
  290. data/ext/digest/kangarootwelve/targets/avx/PlSnP-Fallback.inc +1 -0
  291. data/ext/digest/kangarootwelve/targets/avx/SIMD128-config.h +1 -0
  292. data/ext/digest/kangarootwelve/targets/avx/SnP-Relaned.h +1 -0
  293. data/ext/digest/kangarootwelve/targets/avx/align.h +1 -0
  294. data/ext/digest/kangarootwelve/targets/avx/brg_endian.h +1 -0
  295. data/ext/digest/kangarootwelve/targets/avx/config.h +1 -0
  296. data/ext/digest/kangarootwelve/{keccak/avr8/ext.link.c → targets/avx/ext.c} +0 -0
  297. data/ext/digest/kangarootwelve/targets/avx/utils.h +1 -0
  298. data/ext/digest/kangarootwelve/targets/avx2/KangarooTwelve.c +1 -0
  299. data/ext/digest/kangarootwelve/targets/avx2/KangarooTwelve.h +1 -0
  300. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-SnP.h +1 -0
  301. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times2-SIMD128.c +1 -0
  302. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times2-SnP.h +1 -0
  303. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times4-SIMD256.c +1 -0
  304. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times4-SnP.h +1 -0
  305. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times8-SnP.h +1 -0
  306. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times8-on4.c +1 -0
  307. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-unrolling.macros +1 -0
  308. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-200-SnP.h +1 -0
  309. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-200-reference.c +1 -0
  310. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-200-reference.h +1 -0
  311. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-400-SnP.h +1 -0
  312. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-400-reference.c +1 -0
  313. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-400-reference.h +1 -0
  314. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-SnP.h +1 -0
  315. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32-bis.macros +1 -0
  316. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32-config.h +1 -0
  317. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32.c +1 -0
  318. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32.macros +1 -0
  319. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-unrolling-bis.macros +1 -0
  320. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-unrolling.macros +1 -0
  321. data/ext/digest/kangarootwelve/targets/avx2/KeccakSponge.c +1 -0
  322. data/ext/digest/kangarootwelve/targets/avx2/KeccakSponge.h +1 -0
  323. data/ext/digest/kangarootwelve/targets/avx2/KeccakSponge.inc +1 -0
  324. data/ext/digest/kangarootwelve/targets/avx2/Phases.h +1 -0
  325. data/ext/digest/kangarootwelve/targets/avx2/PlSnP-Fallback.inc +1 -0
  326. data/ext/digest/kangarootwelve/targets/avx2/SIMD128-config.h +1 -0
  327. data/ext/digest/kangarootwelve/targets/avx2/SIMD256-config.h +1 -0
  328. data/ext/digest/kangarootwelve/targets/avx2/align.h +1 -0
  329. data/ext/digest/kangarootwelve/targets/avx2/brg_endian.h +1 -0
  330. data/ext/digest/kangarootwelve/targets/avx2/config.h +1 -0
  331. data/ext/digest/kangarootwelve/{keccak/bulldozer/ext.link.c → targets/avx2/ext.c} +0 -0
  332. data/ext/digest/kangarootwelve/targets/avx2/utils.h +1 -0
  333. data/ext/digest/kangarootwelve/targets/avx2noasm/KangarooTwelve.c +1 -0
  334. data/ext/digest/kangarootwelve/targets/avx2noasm/KangarooTwelve.h +1 -0
  335. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-64.macros +1 -0
  336. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-SnP.h +1 -0
  337. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-opt64-config.h +1 -0
  338. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-opt64.c +1 -0
  339. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times2-SIMD128.c +1 -0
  340. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times2-SnP.h +1 -0
  341. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times4-SIMD256.c +1 -0
  342. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times4-SnP.h +1 -0
  343. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times8-SnP.h +1 -0
  344. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times8-on4.c +1 -0
  345. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-unrolling.macros +1 -0
  346. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-200-SnP.h +1 -0
  347. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-200-reference.c +1 -0
  348. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-200-reference.h +1 -0
  349. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-400-SnP.h +1 -0
  350. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-400-reference.c +1 -0
  351. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-400-reference.h +1 -0
  352. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-SnP.h +1 -0
  353. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32-bis.macros +1 -0
  354. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32-config.h +1 -0
  355. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32.c +1 -0
  356. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32.macros +1 -0
  357. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-unrolling-bis.macros +1 -0
  358. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-unrolling.macros +1 -0
  359. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakSponge.c +1 -0
  360. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakSponge.h +1 -0
  361. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakSponge.inc +1 -0
  362. data/ext/digest/kangarootwelve/targets/avx2noasm/Phases.h +1 -0
  363. data/ext/digest/kangarootwelve/targets/avx2noasm/PlSnP-Fallback.inc +1 -0
  364. data/ext/digest/kangarootwelve/targets/avx2noasm/SIMD128-config.h +1 -0
  365. data/ext/digest/kangarootwelve/targets/avx2noasm/SIMD256-config.h +1 -0
  366. data/ext/digest/kangarootwelve/targets/avx2noasm/SnP-Relaned.h +1 -0
  367. data/ext/digest/kangarootwelve/targets/avx2noasm/align.h +1 -0
  368. data/ext/digest/kangarootwelve/targets/avx2noasm/brg_endian.h +1 -0
  369. data/ext/digest/kangarootwelve/targets/avx2noasm/config.h +1 -0
  370. data/ext/digest/kangarootwelve/{keccak/compact/ext.link.c → targets/avx2noasm/ext.c} +0 -0
  371. data/ext/digest/kangarootwelve/targets/avx2noasm/utils.h +1 -0
  372. data/ext/digest/kangarootwelve/targets/avx512/KangarooTwelve.c +1 -0
  373. data/ext/digest/kangarootwelve/targets/avx512/KangarooTwelve.h +1 -0
  374. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-1600-SnP.h +1 -0
  375. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-1600-times2-SIMD512.c +1 -0
  376. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-1600-times2-SnP.h +1 -0
  377. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-1600-times4-SIMD512.c +1 -0
  378. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-1600-times4-SnP.h +1 -0
  379. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-1600-times8-SIMD512.c +1 -0
  380. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-1600-times8-SnP.h +1 -0
  381. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-200-SnP.h +1 -0
  382. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-200-reference.c +1 -0
  383. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-200-reference.h +1 -0
  384. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-400-SnP.h +1 -0
  385. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-400-reference.c +1 -0
  386. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-400-reference.h +1 -0
  387. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-SnP.h +1 -0
  388. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32-bis.macros +1 -0
  389. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32-config.h +1 -0
  390. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32.c +1 -0
  391. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32.macros +1 -0
  392. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-unrolling-bis.macros +1 -0
  393. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-unrolling.macros +1 -0
  394. data/ext/digest/kangarootwelve/targets/avx512/KeccakSponge.c +1 -0
  395. data/ext/digest/kangarootwelve/targets/avx512/KeccakSponge.h +1 -0
  396. data/ext/digest/kangarootwelve/targets/avx512/KeccakSponge.inc +1 -0
  397. data/ext/digest/kangarootwelve/targets/avx512/Phases.h +1 -0
  398. data/ext/digest/kangarootwelve/targets/avx512/SIMD512-2-config.h +1 -0
  399. data/ext/digest/kangarootwelve/targets/avx512/SIMD512-4-config.h +1 -0
  400. data/ext/digest/kangarootwelve/targets/avx512/SIMD512-config.h +1 -0
  401. data/ext/digest/kangarootwelve/targets/avx512/align.h +1 -0
  402. data/ext/digest/kangarootwelve/targets/avx512/brg_endian.h +1 -0
  403. data/ext/digest/kangarootwelve/targets/avx512/config.h +1 -0
  404. data/ext/digest/kangarootwelve/{keccak/generic32/ext.link.c → targets/avx512/ext.c} +0 -0
  405. data/ext/digest/kangarootwelve/targets/avx512/utils.h +1 -0
  406. data/ext/digest/kangarootwelve/targets/avx512noasm/KangarooTwelve.c +1 -0
  407. data/ext/digest/kangarootwelve/targets/avx512noasm/KangarooTwelve.h +1 -0
  408. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-AVX512-config.h +1 -0
  409. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-AVX512.c +1 -0
  410. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-SnP.h +1 -0
  411. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-times2-SIMD512.c +1 -0
  412. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-times2-SnP.h +1 -0
  413. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-times4-SIMD512.c +1 -0
  414. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-times4-SnP.h +1 -0
  415. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-times8-SIMD512.c +1 -0
  416. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-times8-SnP.h +1 -0
  417. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-200-SnP.h +1 -0
  418. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-200-reference.c +1 -0
  419. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-200-reference.h +1 -0
  420. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-400-SnP.h +1 -0
  421. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-400-reference.c +1 -0
  422. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-400-reference.h +1 -0
  423. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-SnP.h +1 -0
  424. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32-bis.macros +1 -0
  425. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32-config.h +1 -0
  426. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32.c +1 -0
  427. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32.macros +1 -0
  428. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-unrolling-bis.macros +1 -0
  429. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-unrolling.macros +1 -0
  430. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakSponge.c +1 -0
  431. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakSponge.h +1 -0
  432. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakSponge.inc +1 -0
  433. data/ext/digest/kangarootwelve/targets/avx512noasm/Phases.h +1 -0
  434. data/ext/digest/kangarootwelve/targets/avx512noasm/SIMD512-2-config.h +1 -0
  435. data/ext/digest/kangarootwelve/targets/avx512noasm/SIMD512-4-config.h +1 -0
  436. data/ext/digest/kangarootwelve/targets/avx512noasm/SIMD512-config.h +1 -0
  437. data/ext/digest/kangarootwelve/targets/avx512noasm/align.h +1 -0
  438. data/ext/digest/kangarootwelve/targets/avx512noasm/brg_endian.h +1 -0
  439. data/ext/digest/kangarootwelve/targets/avx512noasm/config.h +1 -0
  440. data/ext/digest/kangarootwelve/{keccak/generic32lc/ext.link.c → targets/avx512noasm/ext.c} +0 -0
  441. data/ext/digest/kangarootwelve/targets/avx512noasm/utils.h +1 -0
  442. data/ext/digest/kangarootwelve/targets/compact/KangarooTwelve.c +1 -0
  443. data/ext/digest/kangarootwelve/targets/compact/KangarooTwelve.h +1 -0
  444. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-SnP.h +1 -0
  445. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-compact64.c +1 -0
  446. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times2-SnP.h +1 -0
  447. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times2-on1.c +1 -0
  448. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times4-SnP.h +1 -0
  449. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times4-on1.c +1 -0
  450. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times8-SnP.h +1 -0
  451. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times8-on1.c +1 -0
  452. data/ext/digest/kangarootwelve/targets/compact/KeccakP-200-SnP.h +1 -0
  453. data/ext/digest/kangarootwelve/targets/compact/KeccakP-200-compact.c +1 -0
  454. data/ext/digest/kangarootwelve/targets/compact/KeccakP-400-SnP.h +1 -0
  455. data/ext/digest/kangarootwelve/targets/compact/KeccakP-400-reference.c +1 -0
  456. data/ext/digest/kangarootwelve/targets/compact/KeccakP-400-reference.h +1 -0
  457. data/ext/digest/kangarootwelve/targets/compact/KeccakP-800-SnP.h +1 -0
  458. data/ext/digest/kangarootwelve/targets/compact/KeccakP-800-compact.c +1 -0
  459. data/ext/digest/kangarootwelve/targets/compact/KeccakSponge.c +1 -0
  460. data/ext/digest/kangarootwelve/targets/compact/KeccakSponge.h +1 -0
  461. data/ext/digest/kangarootwelve/targets/compact/KeccakSponge.inc +1 -0
  462. data/ext/digest/kangarootwelve/targets/compact/Phases.h +1 -0
  463. data/ext/digest/kangarootwelve/targets/compact/PlSnP-Fallback.inc +1 -0
  464. data/ext/digest/kangarootwelve/targets/compact/SnP-Relaned.h +1 -0
  465. data/ext/digest/kangarootwelve/targets/compact/align.h +1 -0
  466. data/ext/digest/kangarootwelve/targets/compact/brg_endian.h +1 -0
  467. data/ext/digest/kangarootwelve/targets/compact/config.h +1 -0
  468. data/ext/digest/kangarootwelve/{keccak/generic64/ext.link.c → targets/compact/ext.c} +0 -0
  469. data/ext/digest/kangarootwelve/targets/compact/utils.h +1 -0
  470. data/ext/digest/kangarootwelve/targets/config.h +9 -0
  471. data/ext/digest/kangarootwelve/targets/defs +2 -0
  472. data/ext/digest/kangarootwelve/targets/generic32/KangarooTwelve.c +1 -0
  473. data/ext/digest/kangarootwelve/targets/generic32/KangarooTwelve.h +1 -0
  474. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-SnP.h +1 -0
  475. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-inplace32BI.c +1 -0
  476. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times2-SnP.h +1 -0
  477. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times2-on1.c +1 -0
  478. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times4-SnP.h +1 -0
  479. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times4-on1.c +1 -0
  480. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times8-SnP.h +1 -0
  481. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times8-on1.c +1 -0
  482. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-200-SnP.h +1 -0
  483. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-200-reference.c +1 -0
  484. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-200-reference.h +1 -0
  485. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-400-SnP.h +1 -0
  486. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-400-reference.c +1 -0
  487. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-400-reference.h +1 -0
  488. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-SnP.h +1 -0
  489. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32-bis.macros +1 -0
  490. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32-config.h +1 -0
  491. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32.c +1 -0
  492. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32.macros +1 -0
  493. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-unrolling-bis.macros +1 -0
  494. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-unrolling.macros +1 -0
  495. data/ext/digest/kangarootwelve/targets/generic32/KeccakSponge.c +1 -0
  496. data/ext/digest/kangarootwelve/targets/generic32/KeccakSponge.h +1 -0
  497. data/ext/digest/kangarootwelve/targets/generic32/KeccakSponge.inc +1 -0
  498. data/ext/digest/kangarootwelve/targets/generic32/Phases.h +1 -0
  499. data/ext/digest/kangarootwelve/targets/generic32/PlSnP-Fallback.inc +1 -0
  500. data/ext/digest/kangarootwelve/targets/generic32/SnP-Relaned.h +1 -0
  501. data/ext/digest/kangarootwelve/targets/generic32/align.h +1 -0
  502. data/ext/digest/kangarootwelve/targets/generic32/brg_endian.h +1 -0
  503. data/ext/digest/kangarootwelve/targets/generic32/config.h +1 -0
  504. data/ext/digest/kangarootwelve/{keccak/generic64lc/ext.link.c → targets/generic32/ext.c} +0 -0
  505. data/ext/digest/kangarootwelve/targets/generic32/utils.h +1 -0
  506. data/ext/digest/kangarootwelve/targets/generic32lc/KangarooTwelve.c +1 -0
  507. data/ext/digest/kangarootwelve/targets/generic32lc/KangarooTwelve.h +1 -0
  508. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-SnP.h +1 -0
  509. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-inplace32BI.c +1 -0
  510. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times2-SnP.h +1 -0
  511. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times2-on1.c +1 -0
  512. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times4-SnP.h +1 -0
  513. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times4-on1.c +1 -0
  514. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times8-SnP.h +1 -0
  515. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times8-on1.c +1 -0
  516. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-200-SnP.h +1 -0
  517. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-200-reference.c +1 -0
  518. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-200-reference.h +1 -0
  519. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-400-SnP.h +1 -0
  520. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-400-reference.c +1 -0
  521. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-400-reference.h +1 -0
  522. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-SnP.h +1 -0
  523. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32-bis.macros +1 -0
  524. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32-config.h +1 -0
  525. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32.c +1 -0
  526. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32.macros +1 -0
  527. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-unrolling-bis.macros +1 -0
  528. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-unrolling.macros +1 -0
  529. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakSponge.c +1 -0
  530. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakSponge.h +1 -0
  531. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakSponge.inc +1 -0
  532. data/ext/digest/kangarootwelve/targets/generic32lc/Phases.h +1 -0
  533. data/ext/digest/kangarootwelve/targets/generic32lc/PlSnP-Fallback.inc +1 -0
  534. data/ext/digest/kangarootwelve/targets/generic32lc/SnP-Relaned.h +1 -0
  535. data/ext/digest/kangarootwelve/targets/generic32lc/align.h +1 -0
  536. data/ext/digest/kangarootwelve/targets/generic32lc/brg_endian.h +1 -0
  537. data/ext/digest/kangarootwelve/targets/generic32lc/config.h +1 -0
  538. data/ext/digest/kangarootwelve/{keccak/haswell/ext.link.c → targets/generic32lc/ext.c} +0 -0
  539. data/ext/digest/kangarootwelve/targets/generic32lc/utils.h +1 -0
  540. data/ext/digest/kangarootwelve/targets/generic64/KangarooTwelve.c +1 -0
  541. data/ext/digest/kangarootwelve/targets/generic64/KangarooTwelve.h +1 -0
  542. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-64.macros +1 -0
  543. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-SnP.h +1 -0
  544. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-opt64-config.h +1 -0
  545. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-opt64.c +1 -0
  546. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times2-SnP.h +1 -0
  547. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times2-on1.c +1 -0
  548. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times4-SnP.h +1 -0
  549. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times4-on1.c +1 -0
  550. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times8-SnP.h +1 -0
  551. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times8-on1.c +1 -0
  552. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-unrolling.macros +1 -0
  553. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-200-SnP.h +1 -0
  554. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-200-reference.c +1 -0
  555. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-200-reference.h +1 -0
  556. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-400-SnP.h +1 -0
  557. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-400-reference.c +1 -0
  558. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-400-reference.h +1 -0
  559. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-SnP.h +1 -0
  560. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32-bis.macros +1 -0
  561. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32-config.h +1 -0
  562. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32.c +1 -0
  563. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32.macros +1 -0
  564. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-unrolling-bis.macros +1 -0
  565. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-unrolling.macros +1 -0
  566. data/ext/digest/kangarootwelve/targets/generic64/KeccakSponge.c +1 -0
  567. data/ext/digest/kangarootwelve/targets/generic64/KeccakSponge.h +1 -0
  568. data/ext/digest/kangarootwelve/targets/generic64/KeccakSponge.inc +1 -0
  569. data/ext/digest/kangarootwelve/targets/generic64/Phases.h +1 -0
  570. data/ext/digest/kangarootwelve/targets/generic64/PlSnP-Fallback.inc +1 -0
  571. data/ext/digest/kangarootwelve/targets/generic64/SnP-Relaned.h +1 -0
  572. data/ext/digest/kangarootwelve/targets/generic64/align.h +1 -0
  573. data/ext/digest/kangarootwelve/targets/generic64/brg_endian.h +1 -0
  574. data/ext/digest/kangarootwelve/targets/generic64/config.h +1 -0
  575. data/ext/digest/kangarootwelve/{keccak/nehalem/ext.link.c → targets/generic64/ext.c} +0 -0
  576. data/ext/digest/kangarootwelve/targets/generic64/utils.h +1 -0
  577. data/ext/digest/kangarootwelve/targets/generic64lc/KangarooTwelve.c +1 -0
  578. data/ext/digest/kangarootwelve/targets/generic64lc/KangarooTwelve.h +1 -0
  579. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-64.macros +1 -0
  580. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-SnP.h +1 -0
  581. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-opt64-config.h +1 -0
  582. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-opt64.c +1 -0
  583. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times2-SnP.h +1 -0
  584. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times2-on1.c +1 -0
  585. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times4-SnP.h +1 -0
  586. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times4-on1.c +1 -0
  587. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times8-SnP.h +1 -0
  588. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times8-on1.c +1 -0
  589. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-unrolling.macros +1 -0
  590. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-200-SnP.h +1 -0
  591. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-200-reference.c +1 -0
  592. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-200-reference.h +1 -0
  593. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-400-SnP.h +1 -0
  594. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-400-reference.c +1 -0
  595. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-400-reference.h +1 -0
  596. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-SnP.h +1 -0
  597. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32-bis.macros +1 -0
  598. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32-config.h +1 -0
  599. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32.c +1 -0
  600. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32.macros +1 -0
  601. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-unrolling-bis.macros +1 -0
  602. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-unrolling.macros +1 -0
  603. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakSponge.c +1 -0
  604. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakSponge.h +1 -0
  605. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakSponge.inc +1 -0
  606. data/ext/digest/kangarootwelve/targets/generic64lc/Phases.h +1 -0
  607. data/ext/digest/kangarootwelve/targets/generic64lc/PlSnP-Fallback.inc +1 -0
  608. data/ext/digest/kangarootwelve/targets/generic64lc/SnP-Relaned.h +1 -0
  609. data/ext/digest/kangarootwelve/targets/generic64lc/align.h +1 -0
  610. data/ext/digest/kangarootwelve/targets/generic64lc/brg_endian.h +1 -0
  611. data/ext/digest/kangarootwelve/targets/generic64lc/config.h +1 -0
  612. data/ext/digest/kangarootwelve/{keccak/reference/ext.link.c → targets/generic64lc/ext.c} +0 -0
  613. data/ext/digest/kangarootwelve/targets/generic64lc/utils.h +1 -0
  614. data/ext/digest/kangarootwelve/targets/list +20 -0
  615. data/ext/digest/kangarootwelve/targets/reference/KangarooTwelve.c +1 -0
  616. data/ext/digest/kangarootwelve/targets/reference/KangarooTwelve.h +1 -0
  617. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-SnP.h +1 -0
  618. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-reference.c +1 -0
  619. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-reference.h +1 -0
  620. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times2-SnP.h +1 -0
  621. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times2-on1.c +1 -0
  622. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times4-SnP.h +1 -0
  623. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times4-on1.c +1 -0
  624. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times8-SnP.h +1 -0
  625. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times8-on1.c +1 -0
  626. data/ext/digest/kangarootwelve/targets/reference/KeccakP-200-SnP.h +1 -0
  627. data/ext/digest/kangarootwelve/targets/reference/KeccakP-200-reference.c +1 -0
  628. data/ext/digest/kangarootwelve/targets/reference/KeccakP-200-reference.h +1 -0
  629. data/ext/digest/kangarootwelve/targets/reference/KeccakP-400-SnP.h +1 -0
  630. data/ext/digest/kangarootwelve/targets/reference/KeccakP-400-reference.c +1 -0
  631. data/ext/digest/kangarootwelve/targets/reference/KeccakP-400-reference.h +1 -0
  632. data/ext/digest/kangarootwelve/targets/reference/KeccakP-800-SnP.h +1 -0
  633. data/ext/digest/kangarootwelve/targets/reference/KeccakP-800-reference.c +1 -0
  634. data/ext/digest/kangarootwelve/targets/reference/KeccakP-800-reference.h +1 -0
  635. data/ext/digest/kangarootwelve/targets/reference/KeccakSponge.c +1 -0
  636. data/ext/digest/kangarootwelve/targets/reference/KeccakSponge.h +1 -0
  637. data/ext/digest/kangarootwelve/targets/reference/KeccakSponge.inc +1 -0
  638. data/ext/digest/kangarootwelve/targets/reference/Phases.h +1 -0
  639. data/ext/digest/kangarootwelve/targets/reference/PlSnP-Fallback.inc +1 -0
  640. data/ext/digest/kangarootwelve/targets/reference/align.h +1 -0
  641. data/ext/digest/kangarootwelve/targets/reference/brg_endian.h +1 -0
  642. data/ext/digest/kangarootwelve/targets/reference/config.h +1 -0
  643. data/ext/digest/kangarootwelve/targets/reference/displayIntermediateValues.c +1 -0
  644. data/ext/digest/kangarootwelve/targets/reference/displayIntermediateValues.h +1 -0
  645. data/ext/digest/kangarootwelve/{keccak/reference32bits/ext.link.c → targets/reference/ext.c} +0 -0
  646. data/ext/digest/kangarootwelve/targets/reference/utils.h +1 -0
  647. data/ext/digest/kangarootwelve/targets/reference32bits/KangarooTwelve.c +1 -0
  648. data/ext/digest/kangarootwelve/targets/reference32bits/KangarooTwelve.h +1 -0
  649. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-SnP.h +1 -0
  650. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-reference.h +1 -0
  651. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-reference32BI.c +1 -0
  652. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times2-SnP.h +1 -0
  653. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times2-on1.c +1 -0
  654. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times4-SnP.h +1 -0
  655. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times4-on1.c +1 -0
  656. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times8-SnP.h +1 -0
  657. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times8-on1.c +1 -0
  658. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-200-SnP.h +1 -0
  659. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-200-reference.c +1 -0
  660. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-200-reference.h +1 -0
  661. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-400-SnP.h +1 -0
  662. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-400-reference.c +1 -0
  663. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-400-reference.h +1 -0
  664. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-800-SnP.h +1 -0
  665. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-800-reference.c +1 -0
  666. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-800-reference.h +1 -0
  667. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakSponge.c +1 -0
  668. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakSponge.h +1 -0
  669. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakSponge.inc +1 -0
  670. data/ext/digest/kangarootwelve/targets/reference32bits/Phases.h +1 -0
  671. data/ext/digest/kangarootwelve/targets/reference32bits/PlSnP-Fallback.inc +1 -0
  672. data/ext/digest/kangarootwelve/targets/reference32bits/align.h +1 -0
  673. data/ext/digest/kangarootwelve/targets/reference32bits/brg_endian.h +1 -0
  674. data/ext/digest/kangarootwelve/targets/reference32bits/config.h +1 -0
  675. data/ext/digest/kangarootwelve/targets/reference32bits/displayIntermediateValues.c +1 -0
  676. data/ext/digest/kangarootwelve/targets/reference32bits/displayIntermediateValues.h +1 -0
  677. data/ext/digest/kangarootwelve/{keccak/sandybridge/ext.link.c → targets/reference32bits/ext.c} +0 -0
  678. data/ext/digest/kangarootwelve/targets/reference32bits/utils.h +1 -0
  679. data/ext/digest/kangarootwelve/targets/ssse3/KangarooTwelve.c +1 -0
  680. data/ext/digest/kangarootwelve/targets/ssse3/KangarooTwelve.h +1 -0
  681. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-64.macros +1 -0
  682. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-SnP.h +1 -0
  683. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-opt64-config.h +1 -0
  684. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-opt64.c +1 -0
  685. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times2-SIMD128.c +1 -0
  686. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times2-SnP.h +1 -0
  687. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times4-SnP.h +1 -0
  688. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times4-on2.c +1 -0
  689. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times8-SnP.h +1 -0
  690. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times8-on2.c +1 -0
  691. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-unrolling.macros +1 -0
  692. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-200-SnP.h +1 -0
  693. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-200-reference.c +1 -0
  694. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-200-reference.h +1 -0
  695. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-400-SnP.h +1 -0
  696. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-400-reference.c +1 -0
  697. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-400-reference.h +1 -0
  698. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-SnP.h +1 -0
  699. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32-bis.macros +1 -0
  700. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32-config.h +1 -0
  701. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32.c +1 -0
  702. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32.macros +1 -0
  703. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-unrolling-bis.macros +1 -0
  704. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-unrolling.macros +1 -0
  705. data/ext/digest/kangarootwelve/targets/ssse3/KeccakSponge.c +1 -0
  706. data/ext/digest/kangarootwelve/targets/ssse3/KeccakSponge.h +1 -0
  707. data/ext/digest/kangarootwelve/targets/ssse3/KeccakSponge.inc +1 -0
  708. data/ext/digest/kangarootwelve/targets/ssse3/Phases.h +1 -0
  709. data/ext/digest/kangarootwelve/targets/ssse3/PlSnP-Fallback.inc +1 -0
  710. data/ext/digest/kangarootwelve/targets/ssse3/SIMD128-config.h +1 -0
  711. data/ext/digest/kangarootwelve/targets/ssse3/SnP-Relaned.h +1 -0
  712. data/ext/digest/kangarootwelve/targets/ssse3/align.h +1 -0
  713. data/ext/digest/kangarootwelve/targets/ssse3/brg_endian.h +1 -0
  714. data/ext/digest/kangarootwelve/targets/ssse3/config.h +1 -0
  715. data/ext/digest/kangarootwelve/{keccak/skylakex/ext.link.c → targets/ssse3/ext.c} +0 -0
  716. data/ext/digest/kangarootwelve/targets/ssse3/utils.h +1 -0
  717. data/ext/digest/kangarootwelve/targets/xop/KangarooTwelve.c +1 -0
  718. data/ext/digest/kangarootwelve/targets/xop/KangarooTwelve.h +1 -0
  719. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-SnP.h +1 -0
  720. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-XOP-config.h +1 -0
  721. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-XOP.c +1 -0
  722. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times2-SIMD128.c +1 -0
  723. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times2-SnP.h +1 -0
  724. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times4-SnP.h +1 -0
  725. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times4-on2.c +1 -0
  726. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times8-SnP.h +1 -0
  727. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times8-on2.c +1 -0
  728. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-unrolling.macros +1 -0
  729. data/ext/digest/kangarootwelve/targets/xop/KeccakP-200-SnP.h +1 -0
  730. data/ext/digest/kangarootwelve/targets/xop/KeccakP-200-reference.c +1 -0
  731. data/ext/digest/kangarootwelve/targets/xop/KeccakP-200-reference.h +1 -0
  732. data/ext/digest/kangarootwelve/targets/xop/KeccakP-400-SnP.h +1 -0
  733. data/ext/digest/kangarootwelve/targets/xop/KeccakP-400-reference.c +1 -0
  734. data/ext/digest/kangarootwelve/targets/xop/KeccakP-400-reference.h +1 -0
  735. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-SnP.h +1 -0
  736. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32-bis.macros +1 -0
  737. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32-config.h +1 -0
  738. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32.c +1 -0
  739. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32.macros +1 -0
  740. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-unrolling-bis.macros +1 -0
  741. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-unrolling.macros +1 -0
  742. data/ext/digest/kangarootwelve/targets/xop/KeccakSponge.c +1 -0
  743. data/ext/digest/kangarootwelve/targets/xop/KeccakSponge.h +1 -0
  744. data/ext/digest/kangarootwelve/targets/xop/KeccakSponge.inc +1 -0
  745. data/ext/digest/kangarootwelve/targets/xop/Phases.h +1 -0
  746. data/ext/digest/kangarootwelve/targets/xop/PlSnP-Fallback.inc +1 -0
  747. data/ext/digest/kangarootwelve/targets/xop/SIMD128-config.h +1 -0
  748. data/ext/digest/kangarootwelve/targets/xop/SnP-Relaned.h +1 -0
  749. data/ext/digest/kangarootwelve/targets/xop/align.h +1 -0
  750. data/ext/digest/kangarootwelve/targets/xop/brg_endian.h +1 -0
  751. data/ext/digest/kangarootwelve/targets/xop/config.h +1 -0
  752. data/ext/digest/kangarootwelve/targets/xop/ext.c +1 -0
  753. data/ext/digest/kangarootwelve/targets/xop/utils.h +1 -0
  754. data/lib/digest/kangarootwelve/version.rb +1 -1
  755. data/rakelib/alt-install-task.rake +59 -0
  756. data/test/test.rb +5 -3
  757. metadata +778 -300
  758. data/ext/digest/kangarootwelve/keccak/armv6m/KangarooTwelve.link.c +0 -1
  759. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakDuplexWidth1600.link.c +0 -1
  760. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-SnP.h +0 -36
  761. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-times2-SnP.h +0 -45
  762. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-times2-on1.c +0 -37
  763. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-times4-SnP.h +0 -45
  764. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-times4-on1.c +0 -37
  765. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-times8-SnP.h +0 -45
  766. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-times8-on1.c +0 -37
  767. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-u2-32bi-armv6m-le-gcc.s +0 -1334
  768. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakSpongeWidth1600.link.c +0 -1
  769. data/ext/digest/kangarootwelve/keccak/armv6m/PlSnP-Fallback.inc +0 -287
  770. data/ext/digest/kangarootwelve/keccak/armv7a/KangarooTwelve.link.c +0 -1
  771. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakDuplexWidth1600.link.c +0 -1
  772. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-SnP.h +0 -37
  773. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-armv7a-le-neon-gcc.s +0 -826
  774. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-inplace-pl2-armv7a-neon-le-gcc.s +0 -1245
  775. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-times2-SnP.h +0 -38
  776. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-times4-SnP.h +0 -45
  777. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-times4-on2.c +0 -38
  778. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-times8-SnP.h +0 -45
  779. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-times8-on2.c +0 -38
  780. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakSpongeWidth1600.link.c +0 -1
  781. data/ext/digest/kangarootwelve/keccak/armv7a/PlSnP-Fallback.inc +0 -287
  782. data/ext/digest/kangarootwelve/keccak/armv7m/KangarooTwelve.link.c +0 -1
  783. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakDuplexWidth1600.link.c +0 -1
  784. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-SnP.h +0 -36
  785. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-inplace-32bi-armv7m-le-gcc.s +0 -1170
  786. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-times2-SnP.h +0 -45
  787. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-times2-on1.c +0 -37
  788. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-times4-SnP.h +0 -45
  789. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-times4-on1.c +0 -37
  790. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-times8-SnP.h +0 -45
  791. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-times8-on1.c +0 -37
  792. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakSpongeWidth1600.link.c +0 -1
  793. data/ext/digest/kangarootwelve/keccak/armv7m/PlSnP-Fallback.inc +0 -287
  794. data/ext/digest/kangarootwelve/keccak/armv8a/KangarooTwelve.link.c +0 -1
  795. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakDuplexWidth1600.link.c +0 -1
  796. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-SnP.h +0 -28
  797. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-armv8a-neon.s +0 -537
  798. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-times2-SnP.h +0 -45
  799. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-times2-on1.c +0 -37
  800. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-times4-SnP.h +0 -45
  801. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-times4-on1.c +0 -37
  802. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-times8-SnP.h +0 -45
  803. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-times8-on1.c +0 -37
  804. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakSpongeWidth1600.link.c +0 -1
  805. data/ext/digest/kangarootwelve/keccak/armv8a/PlSnP-Fallback.inc +0 -287
  806. data/ext/digest/kangarootwelve/keccak/asmx86-64/KangarooTwelve.link.c +0 -1
  807. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakDuplexWidth1600.link.c +0 -1
  808. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-SnP.h +0 -37
  809. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-times2-SnP.h +0 -45
  810. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-times2-on1.c +0 -37
  811. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-times4-SnP.h +0 -45
  812. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-times4-on1.c +0 -37
  813. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-times8-SnP.h +0 -45
  814. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-times8-on1.c +0 -37
  815. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-x86-64-gas.s +0 -1190
  816. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakSpongeWidth1600.link.c +0 -1
  817. data/ext/digest/kangarootwelve/keccak/asmx86-64/PlSnP-Fallback.inc +0 -287
  818. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KangarooTwelve.link.c +0 -1
  819. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakDuplexWidth1600.link.c +0 -1
  820. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-SnP.h +0 -37
  821. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-times2-SnP.h +0 -45
  822. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-times2-on1.c +0 -37
  823. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-times4-SnP.h +0 -45
  824. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-times4-on1.c +0 -37
  825. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-times8-SnP.h +0 -45
  826. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-times8-on1.c +0 -37
  827. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-x86-64-shld-gas.s +0 -1190
  828. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakSpongeWidth1600.link.c +0 -1
  829. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/PlSnP-Fallback.inc +0 -287
  830. data/ext/digest/kangarootwelve/keccak/avr8/KangarooTwelve.link.c +0 -1
  831. data/ext/digest/kangarootwelve/keccak/avr8/KeccakDuplexWidth1600.link.c +0 -1
  832. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-SnP.h +0 -37
  833. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-avr8-fast.s +0 -1116
  834. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-times2-SnP.h +0 -45
  835. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-times2-on1.c +0 -37
  836. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-times4-SnP.h +0 -45
  837. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-times4-on1.c +0 -37
  838. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-times8-SnP.h +0 -45
  839. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-times8-on1.c +0 -37
  840. data/ext/digest/kangarootwelve/keccak/avr8/KeccakSpongeWidth1600.link.c +0 -1
  841. data/ext/digest/kangarootwelve/keccak/avr8/PlSnP-Fallback.inc +0 -287
  842. data/ext/digest/kangarootwelve/keccak/bulldozer/KangarooTwelve.link.c +0 -1
  843. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakDuplexWidth1600.link.c +0 -1
  844. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-SnP.h +0 -39
  845. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-XOP.c +0 -473
  846. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-times2-SIMD128.c +0 -954
  847. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-times2-SnP.h +0 -47
  848. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-times4-SnP.h +0 -45
  849. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-times4-on2.c +0 -38
  850. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-times8-SnP.h +0 -45
  851. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-times8-on2.c +0 -38
  852. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-unrolling.macros +0 -302
  853. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakSpongeWidth1600.link.c +0 -1
  854. data/ext/digest/kangarootwelve/keccak/bulldozer/PlSnP-Fallback.inc +0 -287
  855. data/ext/digest/kangarootwelve/keccak/bulldozer/SnP-Relaned.h +0 -140
  856. data/ext/digest/kangarootwelve/keccak/common/KangarooTwelve.c +0 -271
  857. data/ext/digest/kangarootwelve/keccak/common/KangarooTwelve.h +0 -89
  858. data/ext/digest/kangarootwelve/keccak/common/KeccakDuplex-common.h +0 -37
  859. data/ext/digest/kangarootwelve/keccak/common/KeccakDuplex.inc +0 -192
  860. data/ext/digest/kangarootwelve/keccak/common/KeccakDuplexWidth1600.c +0 -34
  861. data/ext/digest/kangarootwelve/keccak/common/KeccakDuplexWidth1600.h +0 -25
  862. data/ext/digest/kangarootwelve/keccak/common/KeccakSponge-common.h +0 -35
  863. data/ext/digest/kangarootwelve/keccak/common/KeccakSponge.inc +0 -311
  864. data/ext/digest/kangarootwelve/keccak/common/KeccakSpongeWidth1600.c +0 -54
  865. data/ext/digest/kangarootwelve/keccak/common/KeccakSpongeWidth1600.h +0 -31
  866. data/ext/digest/kangarootwelve/keccak/common/Phases.h +0 -22
  867. data/ext/digest/kangarootwelve/keccak/common/align.h +0 -32
  868. data/ext/digest/kangarootwelve/keccak/common/brg_endian.h +0 -142
  869. data/ext/digest/kangarootwelve/keccak/compact/KangarooTwelve.link.c +0 -1
  870. data/ext/digest/kangarootwelve/keccak/compact/KeccakDuplexWidth1600.link.c +0 -1
  871. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-SnP.h +0 -35
  872. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-compact64.c +0 -416
  873. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-times2-SnP.h +0 -45
  874. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-times2-on1.c +0 -37
  875. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-times4-SnP.h +0 -45
  876. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-times4-on1.c +0 -37
  877. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-times8-SnP.h +0 -45
  878. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-times8-on1.c +0 -37
  879. data/ext/digest/kangarootwelve/keccak/compact/KeccakSpongeWidth1600.link.c +0 -1
  880. data/ext/digest/kangarootwelve/keccak/compact/PlSnP-Fallback.inc +0 -287
  881. data/ext/digest/kangarootwelve/keccak/compact/SnP-Relaned.h +0 -140
  882. data/ext/digest/kangarootwelve/keccak/generic32/KangarooTwelve.link.c +0 -1
  883. data/ext/digest/kangarootwelve/keccak/generic32/KeccakDuplexWidth1600.link.c +0 -1
  884. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-SnP.h +0 -38
  885. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-inplace32BI.c +0 -1162
  886. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-times2-SnP.h +0 -45
  887. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-times2-on1.c +0 -37
  888. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-times4-SnP.h +0 -45
  889. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-times4-on1.c +0 -37
  890. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-times8-SnP.h +0 -45
  891. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-times8-on1.c +0 -37
  892. data/ext/digest/kangarootwelve/keccak/generic32/KeccakSpongeWidth1600.link.c +0 -1
  893. data/ext/digest/kangarootwelve/keccak/generic32/PlSnP-Fallback.inc +0 -287
  894. data/ext/digest/kangarootwelve/keccak/generic32/SnP-Relaned.h +0 -140
  895. data/ext/digest/kangarootwelve/keccak/generic32lc/KangarooTwelve.link.c +0 -1
  896. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakDuplexWidth1600.link.c +0 -1
  897. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-SnP.h +0 -38
  898. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-inplace32BI.c +0 -1162
  899. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-times2-SnP.h +0 -45
  900. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-times2-on1.c +0 -37
  901. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-times4-SnP.h +0 -45
  902. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-times4-on1.c +0 -37
  903. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-times8-SnP.h +0 -45
  904. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-times8-on1.c +0 -37
  905. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakSpongeWidth1600.link.c +0 -1
  906. data/ext/digest/kangarootwelve/keccak/generic32lc/PlSnP-Fallback.inc +0 -287
  907. data/ext/digest/kangarootwelve/keccak/generic32lc/SnP-Relaned.h +0 -140
  908. data/ext/digest/kangarootwelve/keccak/generic64/KangarooTwelve.link.c +0 -1
  909. data/ext/digest/kangarootwelve/keccak/generic64/KeccakDuplexWidth1600.link.c +0 -1
  910. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-64.macros +0 -2195
  911. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-SnP.h +0 -49
  912. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-opt64.c +0 -541
  913. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-times2-SnP.h +0 -45
  914. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-times2-on1.c +0 -37
  915. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-times4-SnP.h +0 -45
  916. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-times4-on1.c +0 -37
  917. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-times8-SnP.h +0 -45
  918. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-times8-on1.c +0 -37
  919. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-unrolling.macros +0 -302
  920. data/ext/digest/kangarootwelve/keccak/generic64/KeccakSpongeWidth1600.link.c +0 -1
  921. data/ext/digest/kangarootwelve/keccak/generic64/PlSnP-Fallback.inc +0 -287
  922. data/ext/digest/kangarootwelve/keccak/generic64/SnP-Relaned.h +0 -140
  923. data/ext/digest/kangarootwelve/keccak/generic64lc/KangarooTwelve.link.c +0 -1
  924. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakDuplexWidth1600.link.c +0 -1
  925. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-64.macros +0 -2195
  926. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-SnP.h +0 -49
  927. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-opt64.c +0 -541
  928. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-times2-SnP.h +0 -45
  929. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-times2-on1.c +0 -37
  930. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-times4-SnP.h +0 -45
  931. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-times4-on1.c +0 -37
  932. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-times8-SnP.h +0 -45
  933. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-times8-on1.c +0 -37
  934. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-unrolling.macros +0 -302
  935. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakSpongeWidth1600.link.c +0 -1
  936. data/ext/digest/kangarootwelve/keccak/generic64lc/PlSnP-Fallback.inc +0 -287
  937. data/ext/digest/kangarootwelve/keccak/generic64lc/SnP-Relaned.h +0 -140
  938. data/ext/digest/kangarootwelve/keccak/haswell/KangarooTwelve.link.c +0 -1
  939. data/ext/digest/kangarootwelve/keccak/haswell/KeccakDuplexWidth1600.link.c +0 -1
  940. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-AVX2.s +0 -993
  941. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-SnP.h +0 -41
  942. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-times2-SIMD128.c +0 -954
  943. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-times2-SnP.h +0 -47
  944. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-times4-SIMD256.c +0 -1303
  945. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-times4-SnP.h +0 -53
  946. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-times8-SnP.h +0 -45
  947. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-times8-on4.c +0 -38
  948. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-unrolling.macros +0 -302
  949. data/ext/digest/kangarootwelve/keccak/haswell/KeccakSpongeWidth1600.link.c +0 -1
  950. data/ext/digest/kangarootwelve/keccak/haswell/PlSnP-Fallback.inc +0 -287
  951. data/ext/digest/kangarootwelve/keccak/haswell/SIMD128-config.h +0 -8
  952. data/ext/digest/kangarootwelve/keccak/nehalem/KangarooTwelve.link.c +0 -1
  953. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakDuplexWidth1600.link.c +0 -1
  954. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-64.macros +0 -2195
  955. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-SnP.h +0 -49
  956. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-opt64-config.h +0 -7
  957. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-opt64.c +0 -541
  958. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-times2-SIMD128.c +0 -954
  959. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-times2-SnP.h +0 -47
  960. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-times4-SnP.h +0 -45
  961. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-times4-on2.c +0 -38
  962. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-times8-SnP.h +0 -45
  963. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-times8-on2.c +0 -38
  964. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-unrolling.macros +0 -302
  965. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakSpongeWidth1600.link.c +0 -1
  966. data/ext/digest/kangarootwelve/keccak/nehalem/PlSnP-Fallback.inc +0 -287
  967. data/ext/digest/kangarootwelve/keccak/nehalem/SIMD128-config.h +0 -8
  968. data/ext/digest/kangarootwelve/keccak/nehalem/SnP-Relaned.h +0 -140
  969. data/ext/digest/kangarootwelve/keccak/reference/KangarooTwelve.link.c +0 -1
  970. data/ext/digest/kangarootwelve/keccak/reference/KeccakDuplexWidth1600.link.c +0 -1
  971. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-SnP.h +0 -41
  972. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-reference.c +0 -424
  973. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-reference.h +0 -20
  974. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-times2-SnP.h +0 -45
  975. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-times2-on1.c +0 -37
  976. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-times4-SnP.h +0 -45
  977. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-times4-on1.c +0 -37
  978. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-times8-SnP.h +0 -45
  979. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-times8-on1.c +0 -37
  980. data/ext/digest/kangarootwelve/keccak/reference/KeccakSpongeWidth1600.link.c +0 -1
  981. data/ext/digest/kangarootwelve/keccak/reference/PlSnP-Fallback.inc +0 -287
  982. data/ext/digest/kangarootwelve/keccak/reference/displayIntermediateValues.c +0 -176
  983. data/ext/digest/kangarootwelve/keccak/reference/displayIntermediateValues.h +0 -29
  984. data/ext/digest/kangarootwelve/keccak/reference32bits/KangarooTwelve.link.c +0 -1
  985. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakDuplexWidth1600.link.c +0 -1
  986. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-SnP.h +0 -41
  987. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-reference.h +0 -20
  988. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-reference32BI.c +0 -612
  989. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-times2-SnP.h +0 -45
  990. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-times2-on1.c +0 -37
  991. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-times4-SnP.h +0 -45
  992. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-times4-on1.c +0 -37
  993. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-times8-SnP.h +0 -45
  994. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-times8-on1.c +0 -37
  995. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakSpongeWidth1600.link.c +0 -1
  996. data/ext/digest/kangarootwelve/keccak/reference32bits/PlSnP-Fallback.inc +0 -287
  997. data/ext/digest/kangarootwelve/keccak/reference32bits/displayIntermediateValues.c +0 -176
  998. data/ext/digest/kangarootwelve/keccak/reference32bits/displayIntermediateValues.h +0 -29
  999. data/ext/digest/kangarootwelve/keccak/sandybridge/KangarooTwelve.link.c +0 -1
  1000. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakDuplexWidth1600.link.c +0 -1
  1001. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-64.macros +0 -2195
  1002. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-SnP.h +0 -49
  1003. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-opt64.c +0 -541
  1004. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-times2-SIMD128.c +0 -954
  1005. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-times2-SnP.h +0 -47
  1006. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-times4-SnP.h +0 -45
  1007. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-times4-on2.c +0 -38
  1008. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-times8-SnP.h +0 -45
  1009. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-times8-on2.c +0 -38
  1010. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-unrolling.macros +0 -302
  1011. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakSpongeWidth1600.link.c +0 -1
  1012. data/ext/digest/kangarootwelve/keccak/sandybridge/PlSnP-Fallback.inc +0 -287
  1013. data/ext/digest/kangarootwelve/keccak/sandybridge/SIMD128-config.h +0 -8
  1014. data/ext/digest/kangarootwelve/keccak/sandybridge/SnP-Relaned.h +0 -140
  1015. data/ext/digest/kangarootwelve/keccak/skylakex/KangarooTwelve.link.c +0 -1
  1016. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakDuplexWidth1600.link.c +0 -1
  1017. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-AVX512.c +0 -621
  1018. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-SnP.h +0 -42
  1019. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-times2-SIMD512.c +0 -852
  1020. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-times2-SnP.h +0 -49
  1021. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-times4-SIMD512.c +0 -883
  1022. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-times4-SnP.h +0 -49
  1023. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-times8-SIMD512.c +0 -1473
  1024. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-times8-SnP.h +0 -53
  1025. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakSpongeWidth1600.link.c +0 -1
@@ -1,1245 +0,0 @@
1
- @
2
- @ Implementation by Ronny Van Keer, hereby denoted as "the implementer".
3
- @
4
- @ For more information, feedback or questions, please refer to our website:
5
- @ https://keccak.team/
6
- @
7
- @ To the extent possible under law, the implementer has waived all copyright
8
- @ and related or neighboring rights to the source code in this file.
9
- @ http://creativecommons.org/publicdomain/zero/1.0/
10
- @
11
- @ ---
12
- @
13
- @ This file implements Keccak-p[1600]×2 in a PlSnP-compatible way.
14
- @ Please refer to PlSnP-documentation.h for more details.
15
- @
16
- @ This implementation comes with KeccakP-1600-times2-SnP.h in the same folder.
17
- @ Please refer to LowLevel.build for the exact list of other files it must be combined with.
18
- @
19
-
20
- @ WARNING: These functions work only on little endian CPU with@ ARMv7A + NEON architecture
21
- @ WARNING: State must be 256 bit (32 bytes) aligned, best is 64-byte (cache alignment).
22
-
23
- @ INFO: Tested on Cortex-A8 (BeagleBone Black), using gcc.
24
- @ INFO: Parallel execution of Keccak-P permutation on 2 lane interleaved states.
25
-
26
- @ INFO: KeccakP1600times2_PermuteAll_12rounds() execution time is 7690 cycles on a Cortex-A8 (BeagleBone Black)
27
-
28
-
29
-
30
- .text
31
-
32
- @----------------------------------------------------------------------------
33
-
34
- @ --- offsets in state
35
- .equ _ba , 0*16
36
- .equ _be , 1*16
37
- .equ _bi , 2*16
38
- .equ _bo , 3*16
39
- .equ _bu , 4*16
40
- .equ _ga , 5*16
41
- .equ _ge , 6*16
42
- .equ _gi , 7*16
43
- .equ _go , 8*16
44
- .equ _gu , 9*16
45
- .equ _ka , 10*16
46
- .equ _ke , 11*16
47
- .equ _ki , 12*16
48
- .equ _ko , 13*16
49
- .equ _ku , 14*16
50
- .equ _ma , 15*16
51
- .equ _me , 16*16
52
- .equ _mi , 17*16
53
- .equ _mo , 18*16
54
- .equ _mu , 19*16
55
- .equ _sa , 20*16
56
- .equ _se , 21*16
57
- .equ _si , 22*16
58
- .equ _so , 23*16
59
- .equ _su , 24*16
60
-
61
- @ --- macros for Single permutation
62
-
63
- .macro KeccakS_ThetaRhoPiChiIota argA1, argA2, argA3, argA4, argA5
64
-
65
- @Prepare Theta
66
- @ Ca = Aba^Aga^Aka^Ama^Asa
67
- @ Ce = Abe^Age^Ake^Ame^Ase
68
- @ Ci = Abi^Agi^Aki^Ami^Asi
69
- @ Co = Abo^Ago^Ako^Amo^Aso
70
- @ Cu = Abu^Agu^Aku^Amu^Asu
71
- @ De = Ca^ROL64(Ci, 1)
72
- @ Di = Ce^ROL64(Co, 1)
73
- @ Do = Ci^ROL64(Cu, 1)
74
- @ Du = Co^ROL64(Ca, 1)
75
- @ Da = Cu^ROL64(Ce, 1)
76
- veor.64 q4, q6, q7
77
- veor.64 q5, q9, q10
78
- veor.64 d8, d8, d9
79
- veor.64 d10, d10, d11
80
- veor.64 d1, d8, d16
81
- veor.64 d2, d10, d17
82
-
83
- veor.64 q4, q11, q12
84
- veor.64 q5, q14, q15
85
- veor.64 d8, d8, d9
86
- veor.64 d10, d10, d11
87
- veor.64 d3, d8, d26
88
-
89
- vadd.u64 q4, q1, q1
90
- veor.64 d4, d10, d27
91
- vmov.64 d0, d5
92
- vsri.64 q4, q1, #63
93
-
94
- vadd.u64 q5, q2, q2
95
- veor.64 q4, q4, q0
96
- vsri.64 q5, q2, #63
97
- vadd.u64 d7, d1, d1
98
- veor.64 \argA2, \argA2,d8
99
- veor.64 q5, q5, q1
100
-
101
- vsri.64 d7, d1, #63
102
- vshl.u64 d1, \argA2,#44
103
- veor.64 \argA3, \argA3,d9
104
- veor.64 d7, d7, d4
105
-
106
- @ Ba = argA1^Da
107
- @ Be = ROL64((argA2^De), 44)
108
- @ Bi = ROL64((argA3^Di), 43)
109
- @ Bo = ROL64((argA4^Do), 21)
110
- @ Bu = ROL64((argA5^Du), 14)
111
- @ argA2 = Be ^((~Bi)& Bo )
112
- @ argA3 = Bi ^((~Bo)& Bu )
113
- @ argA4 = Bo ^((~Bu)& Ba )
114
- @ argA5 = Bu ^((~Ba)& Be )
115
- @ argA1 = Ba ^((~Be)& Bi )
116
- @ argA1 ^= KeccakP1600RoundConstants[i+round]
117
- vsri.64 d1, \argA2, #64-44
118
- vshl.u64 d2, \argA3, #43
119
- vldr.64 d0, [r0, #\argA1]
120
- veor.64 \argA4, \argA4, d10
121
- vsri.64 d2, \argA3, #64-43
122
- vshl.u64 d3, \argA4, #21
123
- veor.64 \argA5, \argA5, d11
124
- veor.64 d0, d0, d7
125
- vsri.64 d3, \argA4, #64-21
126
- vbic.64 d5, d2, d1
127
- vshl.u64 d4, \argA5, #14
128
- vbic.64 \argA2, d3, d2
129
- vld1.64 d6, [r1]!
130
- veor.64 d5, d0
131
- vsri.64 d4, \argA5, #64-14
132
- veor.64 d5, d6
133
- vbic.64 \argA5, d1, d0
134
- vbic.64 \argA3, d4, d3
135
- vbic.64 \argA4, d0, d4
136
- veor.64 \argA2, d1
137
- vstr.64 d5, [r0, #\argA1]
138
- veor.64 \argA3, d2
139
- veor.64 \argA4, d3
140
- veor.64 \argA5, d4
141
- .endm
142
-
143
- .macro KeccakS_ThetaRhoPiChi1 argA1, argA2, argA3, argA4, argA5
144
-
145
- @ Bi = ROL64((argA1^Da), 3)
146
- @ Bo = ROL64((argA2^De), 45)
147
- @ Bu = ROL64((argA3^Di), 61)
148
- @ Ba = ROL64((argA4^Do), 28)
149
- @ Be = ROL64((argA5^Du), 20)
150
- @ argA1 = Ba ^((~Be)& Bi )
151
- @ Ca ^= argA1
152
- @ argA2 = Be ^((~Bi)& Bo )
153
- @ argA3 = Bi ^((~Bo)& Bu )
154
- @ argA4 = Bo ^((~Bu)& Ba )
155
- @ argA5 = Bu ^((~Ba)& Be )
156
- veor.64 \argA2, \argA2, d8
157
- veor.64 \argA3, \argA3, d9
158
- vshl.u64 d3, \argA2, #45
159
- vldr.64 d6, [r0, #\argA1]
160
- vshl.u64 d4, \argA3, #61
161
- veor.64 \argA4, \argA4, d10
162
- vsri.64 d3, \argA2, #64-45
163
- veor.64 \argA5, \argA5, d11
164
- vsri.64 d4, \argA3, #64-61
165
- vshl.u64 d0, \argA4, #28
166
- veor.64 d6, d6, d7
167
- vshl.u64 d1, \argA5, #20
168
- vbic.64 \argA3, d4, d3
169
- vsri.64 d0, \argA4, #64-28
170
- vbic.64 \argA4, d0, d4
171
- vshl.u64 d2, d6, #3
172
- vsri.64 d1, \argA5, #64-20
173
- veor.64 \argA4, d3
174
- vsri.64 d2, d6, #64-3
175
- vbic.64 \argA5, d1, d0
176
- vbic.64 d6, d2, d1
177
- vbic.64 \argA2, d3, d2
178
- veor.64 d6, d0
179
- veor.64 \argA2, d1
180
- vstr.64 d6, [r0, #\argA1]
181
- veor.64 \argA3, d2
182
- veor.64 d5, d6
183
- veor.64 \argA5, d4
184
- .endm
185
-
186
- .macro KeccakS_ThetaRhoPiChi2 argA1, argA2, argA3, argA4, argA5
187
-
188
- @ Bu = ROL64((argA1^Da), 18)
189
- @ Ba = ROL64((argA2^De), 1)
190
- @ Be = ROL64((argA3^Di), 6)
191
- @ Bi = ROL64((argA4^Do), 25)
192
- @ Bo = ROL64((argA5^Du), 8)
193
- @ argA1 = Ba ^((~Be)& Bi )
194
- @ Ca ^= argA1@
195
- @ argA2 = Be ^((~Bi)& Bo )
196
- @ argA3 = Bi ^((~Bo)& Bu )
197
- @ argA4 = Bo ^((~Bu)& Ba )
198
- @ argA5 = Bu ^((~Ba)& Be )
199
- veor.64 \argA3, \argA3, d9
200
- veor.64 \argA4, \argA4, d10
201
- vshl.u64 d1, \argA3, #6
202
- vldr.64 d6, [r0, #\argA1]
203
- vshl.u64 d2, \argA4, #25
204
- veor.64 \argA5, \argA5, d11
205
- vsri.64 d1, \argA3, #64-6
206
- veor.64 \argA2, \argA2, d8
207
- vsri.64 d2, \argA4, #64-25
208
- vext.8 d3, \argA5, \argA5, #7
209
- veor.64 d6, d6, d7
210
- vbic.64 \argA3, d2, d1
211
- vadd.u64 d0, \argA2, \argA2
212
- vbic.64 \argA4, d3, d2
213
- vsri.64 d0, \argA2, #64-1
214
- vshl.u64 d4, d6, #18
215
- veor.64 \argA2, d1, \argA4
216
- veor.64 \argA3, d0
217
- vsri.64 d4, d6, #64-18
218
- vstr.64 \argA3, [r0, #\argA1]
219
- veor.64 d5, \argA3
220
- vbic.64 \argA5, d1, d0
221
- vbic.64 \argA3, d4, d3
222
- vbic.64 \argA4, d0, d4
223
- veor.64 \argA3, d2
224
- veor.64 \argA4, d3
225
- veor.64 \argA5, d4
226
- .endm
227
-
228
- .macro KeccakS_ThetaRhoPiChi3 argA1, argA2, argA3, argA4, argA5
229
-
230
- @ Be = ROL64((argA1^Da), 36)
231
- @ Bi = ROL64((argA2^De), 10)
232
- @ Bo = ROL64((argA3^Di), 15)
233
- @ Bu = ROL64((argA4^Do), 56)
234
- @ Ba = ROL64((argA5^Du), 27)
235
- @ argA1 = Ba ^((~Be)& Bi )
236
- @ Ca ^= argA1
237
- @ argA2 = Be ^((~Bi)& Bo )
238
- @ argA3 = Bi ^((~Bo)& Bu )
239
- @ argA4 = Bo ^((~Bu)& Ba )
240
- @ argA5 = Bu ^((~Ba)& Be )
241
- veor.64 \argA2, \argA2, d8
242
- veor.64 \argA3, \argA3, d9
243
- vshl.u64 d2, \argA2, #10
244
- vldr.64 d6, [r0, #\argA1]
245
- vshl.u64 d3, \argA3, #15
246
- veor.64 \argA4, \argA4, d10
247
- vsri.64 d2, \argA2, #64-10
248
- vsri.64 d3, \argA3, #64-15
249
- veor.64 \argA5, \argA5, d11
250
- vext.8 d4, \argA4, \argA4, #1
251
- vbic.64 \argA2, d3, d2
252
- vshl.u64 d0, \argA5, #27
253
- veor.64 d6, d6, d7
254
- vbic.64 \argA3, d4, d3
255
- vsri.64 d0, \argA5, #64-27
256
- vshl.u64 d1, d6, #36
257
- veor.64 \argA3, d2
258
- vbic.64 \argA4, d0, d4
259
- vsri.64 d1, d6, #64-36
260
- veor.64 \argA4, d3
261
- vbic.64 d6, d2, d1
262
- vbic.64 \argA5, d1, d0
263
- veor.64 d6, d0
264
- veor.64 \argA2, d1
265
- vstr.64 d6, [r0, #\argA1]
266
- veor.64 d5, d6
267
- veor.64 \argA5, d4
268
- .endm
269
-
270
- .macro KeccakS_ThetaRhoPiChi4 argA1, argA2, argA3, argA4, argA5
271
-
272
- @ Bo = ROL64((argA1^Da), 41)
273
- @ Bu = ROL64((argA2^De), 2)
274
- @ Ba = ROL64((argA3^Di), 62)
275
- @ Be = ROL64((argA4^Do), 55)
276
- @ Bi = ROL64((argA5^Du), 39)
277
- @ argA1 = Ba ^((~Be)& Bi )
278
- @ Ca ^= argA1
279
- @ argA2 = Be ^((~Bi)& Bo )
280
- @ argA3 = Bi ^((~Bo)& Bu )
281
- @ argA4 = Bo ^((~Bu)& Ba )
282
- @ argA5 = Bu ^((~Ba)& Be )
283
- veor.64 \argA2, \argA2, d8
284
- veor.64 \argA3, \argA3, d9
285
- vshl.u64 d4, \argA2, #2
286
- veor.64 \argA5, \argA5, d11
287
- vshl.u64 d0, \argA3, #62
288
- vldr.64 d6, [r0, #\argA1]
289
- vsri.64 d4, \argA2, #64-2
290
- veor.64 \argA4, \argA4, d10
291
- vsri.64 d0, \argA3, #64-62
292
- vshl.u64 d1, \argA4, #55
293
- veor.64 d6, d6, d7
294
- vshl.u64 d2, \argA5, #39
295
- vsri.64 d1, \argA4, #64-55
296
- vbic.64 \argA4, d0, d4
297
- vsri.64 d2, \argA5, #64-39
298
- vbic.64 \argA2, d1, d0
299
- vshl.u64 d3, d6, #41
300
- veor.64 \argA5, d4, \argA2
301
- vbic.64 \argA2, d2, d1
302
- vsri.64 d3, d6, #64-41
303
- veor.64 d6, d0, \argA2
304
- vbic.64 \argA2, d3, d2
305
- vbic.64 \argA3, d4, d3
306
- veor.64 \argA2, d1
307
- vstr.64 d6, [r0, #\argA1]
308
- veor.64 d5, d6
309
- veor.64 \argA3, d2
310
- veor.64 \argA4, d3
311
- .endm
312
-
313
- @ --- macros for Parallel permutation
314
-
315
- .macro m_pls start
316
- .if \start != -1
317
- add r3, r0, #\start
318
- .endif
319
- .endm
320
-
321
- .macro m_ld qreg, next
322
- .if \next == 16
323
- vld1.64 { \qreg }, [r3:128]!
324
- .else
325
- vld1.64 { \qreg }, [r3:128], r4
326
- .endif
327
- .endm
328
-
329
- .macro m_st qreg, next
330
- .if \next == 16
331
- vst1.64 { \qreg }, [r3:128]!
332
- .else
333
- vst1.64 { \qreg }, [r3:128], r4
334
- .endif
335
- .endm
336
-
337
- .macro KeccakP_ThetaRhoPiChiIota ofs1, ofs2, ofs3, ofs4, ofs5, next, ofsn1
338
-
339
- @ De = Ca ^ ROL64(Ci, 1)
340
- @ Di = Ce ^ ROL64(Co, 1)
341
- @ Do = Ci ^ ROL64(Cu, 1)
342
- @ Du = Co ^ ROL64(Ca, 1)
343
- @ Da = Cu ^ ROL64(Ce, 1)
344
- vadd.u64 q6, q2, q2
345
- vadd.u64 q7, q3, q3
346
- vadd.u64 q8, q4, q4
347
- vadd.u64 q9, q0, q0
348
- vadd.u64 q5, q1, q1
349
-
350
- vsri.64 q6, q2, #63
351
- vsri.64 q7, q3, #63
352
- vsri.64 q8, q4, #63
353
- vsri.64 q9, q0, #63
354
- vsri.64 q5, q1, #63
355
-
356
- veor.64 q6, q6, q0
357
- veor.64 q7, q7, q1
358
- veor.64 q8, q8, q2
359
- .if \next != 16
360
- mov r4, #\next
361
- .endif
362
- veor.64 q9, q9, q3
363
- veor.64 q5, q5, q4
364
-
365
- @ Ba = argA1^Da
366
- @ Be = ROL64(argA2^De, 44)
367
- @ Bi = ROL64(argA3^Di, 43)
368
- @ Bo = ROL64(argA4^Do, 21)
369
- @ Bu = ROL64(argA5^Du, 14)
370
- m_ld q10, \next
371
- m_pls \ofs2
372
- m_ld q1, \next
373
- m_pls \ofs3
374
- veor.64 q10, q10, q5
375
- m_ld q2, \next
376
- m_pls \ofs4
377
- veor.64 q1, q1, q6
378
- m_ld q3, \next
379
- m_pls \ofs5
380
- veor.64 q2, q2, q7
381
- m_ld q4, \next
382
- veor.64 q3, q3, q8
383
- mov r6, r5
384
- veor.64 q4, q4, q9
385
-
386
- vst1.64 { q6 }, [r6:128]!
387
- vshl.u64 q11, q1, #44
388
- vshl.u64 q12, q2, #43
389
- vst1.64 { q7 }, [r6:128]!
390
- vshl.u64 q13, q3, #21
391
- vshl.u64 q14, q4, #14
392
- vst1.64 { q8 }, [r6:128]!
393
- vsri.64 q11, q1, #64-44
394
- vsri.64 q12, q2, #64-43
395
- vst1.64 { q9 }, [r6:128]!
396
- vsri.64 q13, q3, #64-21
397
- vsri.64 q14, q4, #64-14
398
-
399
- @ argA1 = Ba ^(~Be & Bi) ^ KeccakP1600RoundConstants[round]
400
- @ argA2 = Be ^(~Bi & Bo)
401
- @ argA3 = Bi ^(~Bo & Bu)
402
- @ argA4 = Bo ^(~Bu & Ba)
403
- @ argA5 = Bu ^(~Ba & Be)
404
- vld1.64 { d30 }, [r1:64]
405
- vbic.64 q0, q12, q11
406
- vbic.64 q1, q13, q12
407
- vld1.64 { d31 }, [r1:64]!
408
- veor.64 q0, q10
409
- vbic.64 q4, q11, q10
410
- veor.64 q0, q15
411
- vbic.64 q2, q14, q13
412
- vbic.64 q3, q10, q14
413
-
414
- m_pls \ofs1
415
- veor.64 q1, q11
416
- m_st q0, \next
417
- m_pls \ofs2
418
- veor.64 q2, q12
419
- m_st q1, \next
420
- m_pls \ofs3
421
- veor.64 q3, q13
422
- m_st q2, \next
423
- m_pls \ofs4
424
- veor.64 q4, q14
425
- m_st q3, \next
426
- m_pls \ofs5
427
- m_st q4, \next
428
- m_pls \ofsn1
429
- .endm
430
-
431
- .macro KeccakP_ThetaRhoPiChi ofs1, ofs2, ofs3, ofs4, ofs5, next, ofsn1, Bb1, Bb2, Bb3, Bb4, Bb5, Rr1, Rr2, Rr3, Rr4, Rr5
432
-
433
- @ Bb1 = ROL64((argA1^Da), Rr1)
434
- @ Bb2 = ROL64((argA2^De), Rr2)
435
- @ Bb3 = ROL64((argA3^Di), Rr3)
436
- @ Bb4 = ROL64((argA4^Do), Rr4)
437
- @ Bb5 = ROL64((argA5^Du), Rr5)
438
-
439
- .if \next != 16
440
- mov r4, #\next
441
- .endif
442
-
443
- m_ld \Bb1, \next
444
- m_pls \ofs2
445
- m_ld \Bb2, \next
446
- m_pls \ofs3
447
- veor.64 q15, q5, \Bb1
448
- m_ld \Bb3, \next
449
- m_pls \ofs4
450
- veor.64 q6, q6, \Bb2
451
- m_ld \Bb4, \next
452
- m_pls \ofs5
453
- veor.64 q7, q7, \Bb3
454
- m_ld \Bb5, \next
455
- veor.64 q8, q8, \Bb4
456
- veor.64 q9, q9, \Bb5
457
-
458
- vshl.u64 \Bb1, q15, #\Rr1
459
- vshl.u64 \Bb2, q6, #\Rr2
460
- vshl.u64 \Bb3, q7, #\Rr3
461
- vshl.u64 \Bb4, q8, #\Rr4
462
- vshl.u64 \Bb5, q9, #\Rr5
463
-
464
- vsri.64 \Bb1, q15, #64-\Rr1
465
- vsri.64 \Bb2, q6, #64-\Rr2
466
- vsri.64 \Bb3, q7, #64-\Rr3
467
- vsri.64 \Bb4, q8, #64-\Rr4
468
- vsri.64 \Bb5, q9, #64-\Rr5
469
-
470
- @ argA1 = Ba ^((~Be)& Bi ), Ca ^= argA1
471
- @ argA2 = Be ^((~Bi)& Bo ), Ce ^= argA2
472
- @ argA3 = Bi ^((~Bo)& Bu ), Ci ^= argA3
473
- @ argA4 = Bo ^((~Bu)& Ba ), Co ^= argA4
474
- @ argA5 = Bu ^((~Ba)& Be ), Cu ^= argA5
475
- vbic.64 q15, q12, q11
476
- mov r6, r5
477
- vbic.64 q6, q13, q12
478
- m_pls \ofs1
479
- vbic.64 q7, q14, q13
480
- vbic.64 q8, q10, q14
481
- vbic.64 q9, q11, q10
482
-
483
- veor.64 q15, q15, q10
484
- veor.64 q6, q6, q11
485
-
486
- m_st q15, \next
487
- m_pls \ofs2
488
- veor.64 q7, q7, q12
489
-
490
- m_st q6, \next
491
- m_pls \ofs3
492
- veor.64 q1, q1, q6
493
- vld1.64 { q6 }, [r6:128]!
494
- veor.64 q8, q8, q13
495
-
496
- m_st q7, \next
497
- m_pls \ofs4
498
- veor.64 q2, q2, q7
499
- vld1.64 { q7 }, [r6:128]!
500
- veor.64 q9, q9, q14
501
-
502
- m_st q8, \next
503
- m_pls \ofs5
504
- veor.64 q3, q3, q8
505
-
506
- m_st q9, \next
507
-
508
- vld1.64 { q8 }, [r6:128]!
509
- veor.64 q4, q4, q9
510
- m_pls \ofsn1
511
- vld1.64 { q9 }, [r6:128]!
512
- veor.64 q0, q0, q15
513
- .endm
514
-
515
- .macro KeccakP_ThetaRhoPiChi1 ofs1, ofs2, ofs3, ofs4, ofs5, next, ofsn1
516
- KeccakP_ThetaRhoPiChi \ofs1, \ofs2, \ofs3, \ofs4, \ofs5, \next, \ofsn1, q12, q13, q14, q10, q11, 3, 45, 61, 28, 20
517
- .endm
518
-
519
- .macro KeccakP_ThetaRhoPiChi2 ofs1, ofs2, ofs3, ofs4, ofs5, next, ofsn1
520
- KeccakP_ThetaRhoPiChi \ofs1, \ofs2, \ofs3, \ofs4, \ofs5, \next, \ofsn1, q14, q10, q11, q12, q13, 18, 1, 6, 25, 8
521
- .endm
522
-
523
- .macro KeccakP_ThetaRhoPiChi3 ofs1, ofs2, ofs3, ofs4, ofs5, next, ofsn1
524
- KeccakP_ThetaRhoPiChi \ofs1, \ofs2, \ofs3, \ofs4, \ofs5, \next, \ofsn1, q11, q12, q13, q14, q10, 36, 10, 15, 56, 27
525
- .endm
526
-
527
- .macro KeccakP_ThetaRhoPiChi4 ofs1, ofs2, ofs3, ofs4, ofs5, next, ofsn1
528
-
529
- @ Bo = ROL64((argA1^Da), 41)
530
- @ Bu = ROL64((argA2^De), 2)
531
- @ Ba = ROL64((argA3^Di), 62)
532
- @ Be = ROL64((argA4^Do), 55)
533
- @ Bi = ROL64((argA5^Du), 39)
534
- @ KeccakChi
535
-
536
- .if \next != 16
537
- mov r4, #\next
538
- .endif
539
-
540
- m_ld q13, \next
541
- m_pls \ofs2
542
- m_ld q14, \next
543
- m_pls \ofs3
544
- veor.64 q5, q5, q13
545
- m_ld q10, \next
546
- m_pls \ofs4
547
- veor.64 q6, q6, q14
548
- m_ld q11, \next
549
- m_pls \ofs5
550
- veor.64 q7, q7, q10
551
- m_ld q12, \next
552
- veor.64 q8, q8, q11
553
- veor.64 q9, q9, q12
554
-
555
- vshl.u64 q13, q5, #41
556
- vshl.u64 q14, q6, #2
557
- vshl.u64 q10, q7, #62
558
- vshl.u64 q11, q8, #55
559
- vshl.u64 q12, q9, #39
560
-
561
- vsri.64 q13, q5, #64-41
562
- vsri.64 q14, q6, #64-2
563
- vsri.64 q11, q8, #64-55
564
- vsri.64 q12, q9, #64-39
565
- vsri.64 q10, q7, #64-62
566
-
567
- vbic.64 q5, q12, q11
568
- vbic.64 q6, q13, q12
569
- vbic.64 q7, q14, q13
570
- vbic.64 q8, q10, q14
571
- vbic.64 q9, q11, q10
572
- veor.64 q5, q5, q10
573
- veor.64 q6, q6, q11
574
- veor.64 q7, q7, q12
575
- veor.64 q8, q8, q13
576
- m_pls \ofs1
577
- veor.64 q9, q9, q14
578
- m_st q5, \next
579
- m_pls \ofs2
580
- veor.64 q0, q0, q5
581
- m_st q6, \next
582
- m_pls \ofs3
583
- veor.64 q1, q1, q6
584
- m_st q7, \next
585
- m_pls \ofs4
586
- veor.64 q2, q2, q7
587
- m_st q8, \next
588
- m_pls \ofs5
589
- veor.64 q3, q3, q8
590
- m_st q9, \next
591
- m_pls \ofsn1
592
- veor.64 q4, q4, q9
593
- .endm
594
-
595
- @----------------------------------------------------------------------------
596
- @
597
- @ void KeccakP1600_Pl_StaticInitialize( void )
598
- @
599
- .align 8
600
- .global KeccakP1600_Pl_StaticInitialize
601
- .type KeccakP1600_Pl_StaticInitialize, %function;
602
- KeccakP1600_Pl_StaticInitialize:
603
- bx lr
604
-
605
-
606
- @----------------------------------------------------------------------------
607
- @
608
- @ void KeccakP1600times2_InitializeAll( void *states )
609
- @
610
- .align 8
611
- .global KeccakP1600times2_InitializeAll
612
- .type KeccakP1600times2_InitializeAll, %function;
613
- KeccakP1600times2_InitializeAll:
614
- vmov.i64 q0, #0
615
- vmov.i64 q1, #0
616
- vmov.i64 q2, #0
617
- vmov.i64 q3, #0
618
- vstm r0!, { d0 - d7 } @ 8 (clear 8 lanes at a time)
619
- vstm r0!, { d0 - d7 } @ 16
620
- vstm r0!, { d0 - d7 } @ 24
621
- vstm r0!, { d0 - d7 } @ 32
622
- vstm r0!, { d0 - d7 } @ 40
623
- vstm r0!, { d0 - d7 } @ 48
624
- vstm r0!, { d0 - d1} @ 50
625
- bx lr
626
-
627
-
628
-
629
- @----------------------------------------------------------------------------
630
- @
631
- @ void KeccakP1600times2_AddByte( void *states, unsigned int instanceIndex, unsigned char byte, unsigned int offset )
632
- @
633
- .align 8
634
- .global KeccakP1600times2_AddByte
635
- .type KeccakP1600times2_AddByte, %function;
636
- KeccakP1600times2_AddByte:
637
- add r0, r0, r1, LSL #3 @ states += 8 * instanceIndex
638
- lsr r1, r3, #3 @ states += (offset & ~7) * 2
639
- add r0, r0, r1, LSL #4
640
- and r3, r3, #7
641
- add r0, r0, r3 @ states += offset & 7
642
- ldrb r1, [r0]
643
- eor r1, r1, r2
644
- strb r1, [r0]
645
- bx lr
646
-
647
-
648
- @----------------------------------------------------------------------------
649
- @
650
- @ void KeccakP1600times2_AddBytes( void *states, unsigned int instanceIndex, const unsigned char *data,
651
- @ unsigned int offset, unsigned int length )
652
- @
653
- .align 8
654
- .global KeccakP1600times2_AddBytes
655
- .type KeccakP1600times2_AddBytes, %function;
656
- KeccakP1600times2_AddBytes:
657
- add r0, r0, r1, LSL #3 @ states += 8 * instanceIndex
658
- ldr r1, [sp, #0*4] @ r1 = length
659
- cmp r1, #0
660
- beq KeccakP1600times2_AddBytes_Exit
661
- push { r4- r7 }
662
- lsr r4, r3, #3 @ states += (offset & ~7) * 2
663
- add r0, r0, r4, LSL #4
664
- ands r3, r3, #7 @ .if (offset & 7) != 0
665
- beq KeccakP1600times2_AddBytes_CheckLanes
666
- add r0, r0, r3 @ states += offset & 7
667
- rsb r3, r3, #8 @ lenInLane = 8 - (offset & 7)
668
- KeccakP1600times2_AddBytes_LoopBytesFirst:
669
- ldrb r4, [r0]
670
- ldrb r5, [r2], #1
671
- eor r4, r4, r5
672
- subs r1, r1, #1
673
- strb r4, [r0], #1
674
- beq KeccakP1600times2_AddBytes_Done
675
- subs r3, r3, #1
676
- bne KeccakP1600times2_AddBytes_LoopBytesFirst
677
- add r0, r0, #8 @ states += 8 (next lane of current state part)
678
- KeccakP1600times2_AddBytes_CheckLanes:
679
- lsrs r3, r1, #3
680
- beq KeccakP1600times2_AddBytes_CheckBytesLast
681
- KeccakP1600times2_AddBytes_LoopLanes:
682
- ldr r4, [r0]
683
- ldr r5, [r0, #4]
684
- ldr r6, [r2], #4
685
- ldr r7, [r2], #4
686
- eor r4, r4, r6
687
- eor r5, r5, r7
688
- subs r3, r3, #1
689
- str r4, [r0], #4
690
- str r5, [r0], #12 @ states += 8 (next lane of current state part)
691
- bne KeccakP1600times2_AddBytes_LoopLanes
692
- KeccakP1600times2_AddBytes_CheckBytesLast:
693
- ands r1, r1, #7
694
- beq KeccakP1600times2_AddBytes_Done
695
- KeccakP1600times2_AddBytes_LoopBytesLast:
696
- ldrb r4, [r0]
697
- ldrb r5, [r2], #1
698
- eor r4, r4, r5
699
- subs r1, r1, #1
700
- strb r4, [r0], #1
701
- bne KeccakP1600times2_AddBytes_LoopBytesLast
702
- KeccakP1600times2_AddBytes_Done:
703
- pop { r4- r7 }
704
- KeccakP1600times2_AddBytes_Exit:
705
- bx lr
706
-
707
-
708
- @----------------------------------------------------------------------------
709
- @
710
- @ void KeccakP1600times2_AddLanesAll( void *states, const unsigned char *data, unsigned int laneCount, unsigned int laneOffset )
711
- @
712
- .global KeccakP1600times2_AddLanesAll
713
- .type KeccakP1600times2_AddLanesAll, %function;
714
- .align 8
715
- KeccakP1600times2_AddLanesAll:
716
- cmp r2, #0
717
- beq KeccakP1600times2_AddLanesAll_Exit
718
- add r3, r1, r3, LSL #3 @ r3: data + 8 * laneOffset
719
- push {r4 - r7}
720
- KeccakP1600times2_AddLanesAll_Loop:
721
- ldr r4, [r1], #4 @ index 0
722
- ldr r5, [r1], #4
723
- ldrd r6, r7, [r0]
724
- eor r6, r6, r4
725
- eor r7, r7, r5
726
- strd r6, r7, [r0], #8
727
- ldr r4, [r3], #4 @ index 1
728
- ldr r5, [r3], #4
729
- ldrd r6, r7, [r0]
730
- eor r6, r6, r4
731
- eor r7, r7, r5
732
- strd r6, r7, [r0], #8
733
- subs r2, r2, #1
734
- bne KeccakP1600times2_AddLanesAll_Loop
735
- pop {r4 - r7}
736
- KeccakP1600times2_AddLanesAll_Exit:
737
- bx lr
738
-
739
-
740
- @----------------------------------------------------------------------------
741
- @
742
- @ void KeccakP1600times2_OverwriteBytes( void *states, unsigned int instanceIndex, const unsigned char *data,
743
- @ unsigned int offset, unsigned int length )
744
- @
745
- .align 8
746
- .global KeccakP1600times2_OverwriteBytes
747
- .type KeccakP1600times2_OverwriteBytes, %function;
748
- KeccakP1600times2_OverwriteBytes:
749
- add r0, r0, r1, LSL #3 @ states += 8 * instanceIndex
750
- ldr r1, [sp, #0*4] @ r1 = length
751
- cmp r1, #0
752
- beq KeccakP1600times2_OverwriteBytes_Exit
753
- push { r4-r5 }
754
- lsr r4, r3, #3 @ states += (offset & ~7) * 2
755
- add r0, r0, r4, LSL #4
756
- ands r3, r3, #7 @ .if (offset & 7) != 0
757
- beq KeccakP1600times2_OverwriteBytes_CheckLanes
758
- add r0, r0, r3 @ states += offset & 7
759
- rsb r3, r3, #8 @ lenInLane = 8 - (offset & 7)
760
- KeccakP1600times2_OverwriteBytes_LoopBytesFirst:
761
- ldrb r4, [r2], #1
762
- strb r4, [r0], #1
763
- subs r1, r1, #1
764
- beq KeccakP1600times2_OverwriteBytes_Done
765
- subs r3, r3, #1
766
- bne KeccakP1600times2_OverwriteBytes_LoopBytesFirst
767
- add r0, r0, #8 @ states += 8 (next lane of current state part)
768
- KeccakP1600times2_OverwriteBytes_CheckLanes:
769
- lsrs r3, r1, #3
770
- beq KeccakP1600times2_OverwriteBytes_CheckBytesLast
771
- KeccakP1600times2_OverwriteBytes_LoopLanes:
772
- ldr r4, [r2], #4
773
- ldr r5, [r2], #4
774
- str r4, [r0], #4
775
- str r5, [r0], #12 @ states += 8 (next lane of current state part)
776
- subs r3, r3, #1
777
- bne KeccakP1600times2_OverwriteBytes_LoopLanes
778
- KeccakP1600times2_OverwriteBytes_CheckBytesLast:
779
- ands r1, r1, #7
780
- beq KeccakP1600times2_OverwriteBytes_Done
781
- KeccakP1600times2_OverwriteBytes_LoopBytesLast:
782
- ldrb r4, [r2], #1
783
- subs r1, r1, #1
784
- strb r4, [r0], #1
785
- bne KeccakP1600times2_OverwriteBytes_LoopBytesLast
786
- KeccakP1600times2_OverwriteBytes_Done:
787
- pop { r4- r5 }
788
- KeccakP1600times2_OverwriteBytes_Exit:
789
- bx lr
790
-
791
-
792
- @----------------------------------------------------------------------------
793
- @
794
- @ KeccakP1600times2_OverwriteLanesAll( void *states, const unsigned char *data, unsigned int laneCount, unsigned int laneOffset )
795
- @
796
- .align 8
797
- .global KeccakP1600times2_OverwriteLanesAll
798
- .type KeccakP1600times2_OverwriteLanesAll, %function;
799
- KeccakP1600times2_OverwriteLanesAll:
800
- cmp r2, #0
801
- beq KeccakP1600times2_OverwriteLanesAll_Exit
802
- lsls r12, r1, #32-3
803
- bne KeccakP1600times2_OverwriteLanesAll_Unaligned
804
- add r3, r1, r3, LSL #3 @ r3(pointer instance 1): data + 8 * laneOffset
805
- lsrs r2, r2, #1
806
- bcc KeccakP1600times2_OverwriteLanesAll_LoopAligned
807
- vldm r1!, { d0 }
808
- vldm r3!, { d1 }
809
- vstm r0!, { d0 - d1 }
810
- beq KeccakP1600times2_OverwriteLanesAll_Exit
811
- KeccakP1600times2_OverwriteLanesAll_LoopAligned:
812
- vldm r1!, { d0 }
813
- vldm r1!, { d2 }
814
- vldm r3!, { d1 }
815
- vldm r3!, { d3 }
816
- subs r2, r2, #1
817
- vstm r0!, { d0 - d3 }
818
- bne KeccakP1600times2_OverwriteLanesAll_LoopAligned
819
- bx lr
820
- KeccakP1600times2_OverwriteLanesAll_Unaligned:
821
- add r3, r1, r3, LSL #3 @ r3(pointer instance 1): data + 8 * laneOffset
822
- push { r4, r5 }
823
- KeccakP1600times2_OverwriteLanesAll_LoopUnaligned:
824
- ldr r4, [r1], #4
825
- ldr r5, [r1], #4
826
- strd r4, r5, [r0], #8
827
- ldr r4, [r3], #4
828
- ldr r5, [r3], #4
829
- subs r2, r2, #1
830
- strd r4, r5, [r0], #8
831
- bne KeccakP1600times2_OverwriteLanesAll_LoopUnaligned
832
- pop { r4, r5 }
833
- KeccakP1600times2_OverwriteLanesAll_Exit:
834
- bx lr
835
-
836
-
837
- @----------------------------------------------------------------------------
838
- @
839
- @ void KeccakP1600times2_OverwriteWithZeroes( void *states, unsigned int instanceIndex, unsigned int byteCount )
840
- @
841
- .align 8
842
- .global KeccakP1600times2_OverwriteWithZeroes
843
- .type KeccakP1600times2_OverwriteWithZeroes, %function;
844
- KeccakP1600times2_OverwriteWithZeroes:
845
- add r0, r0, r1, LSL #3 @ states += 8 * instanceIndex
846
- lsrs r1, r2, #3 @ r1: laneCount
847
- beq KeccakP1600times2_OverwriteWithZeroes_Bytes
848
- vmov.i64 d0, #0
849
- KeccakP1600times2_OverwriteWithZeroes_LoopLanes:
850
- subs r1, r1, #1
851
- vstm r0!, { d0 }
852
- add r0, r0, #8
853
- bne KeccakP1600times2_OverwriteWithZeroes_LoopLanes
854
- KeccakP1600times2_OverwriteWithZeroes_Bytes:
855
- ands r2, r2, #7 @ r2: byteCount remaining
856
- beq KeccakP1600times2_OverwriteWithZeroes_Exit
857
- movs r3, #0
858
- KeccakP1600times2_OverwriteWithZeroes_LoopBytes:
859
- subs r2, r2, #1
860
- strb r3, [r0], #1
861
- bne KeccakP1600times2_OverwriteWithZeroes_LoopBytes
862
- KeccakP1600times2_OverwriteWithZeroes_Exit:
863
- bx lr
864
-
865
-
866
- @----------------------------------------------------------------------------
867
- @
868
- @ void KeccakP1600times2_ExtractBytes( void *states, unsigned int instanceIndex, const unsigned char *data,
869
- @ unsigned int offset, unsigned int length )
870
- @
871
- .align 8
872
- .global KeccakP1600times2_ExtractBytes
873
- .type KeccakP1600times2_ExtractBytes, %function;
874
- KeccakP1600times2_ExtractBytes:
875
- add r0, r0, r1, LSL #3 @ states += 8 * instanceIndex
876
- ldr r1, [sp, #0*4] @ r1 = length
877
- cmp r1, #0
878
- beq KeccakP1600times2_ExtractBytes_Exit
879
- push { r4-r5 }
880
- lsr r4, r3, #3 @ states += (offset & ~7) * 2
881
- add r0, r0, r4, LSL #4
882
- ands r3, r3, #7 @ .if (offset & 7) != 0
883
- beq KeccakP1600times2_ExtractBytes_CheckLanes
884
- add r0, r0, r3 @ states += offset & 7
885
- rsb r3, r3, #8 @ lenInLane = 8 - (offset & 7)
886
- KeccakP1600times2_ExtractBytes_LoopBytesFirst:
887
- ldrb r4, [r0], #1
888
- strb r4, [r2], #1
889
- subs r1, r1, #1
890
- beq KeccakP1600times2_ExtractBytes_Done
891
- subs r3, r3, #1
892
- bne KeccakP1600times2_ExtractBytes_LoopBytesFirst
893
- add r0, r0, #8 @ states += 8 (next lane of current state part)
894
- KeccakP1600times2_ExtractBytes_CheckLanes:
895
- lsrs r3, r1, #3
896
- beq KeccakP1600times2_ExtractBytes_CheckBytesLast
897
- KeccakP1600times2_ExtractBytes_LoopLanes:
898
- ldr r4, [r0], #4
899
- ldr r5, [r0], #12 @ states += 8 (next lane of current state part)
900
- str r4, [r2], #4
901
- str r5, [r2], #4
902
- subs r3, r3, #1
903
- bne KeccakP1600times2_ExtractBytes_LoopLanes
904
- KeccakP1600times2_ExtractBytes_CheckBytesLast:
905
- ands r1, r1, #7
906
- beq KeccakP1600times2_ExtractBytes_Done
907
- KeccakP1600times2_ExtractBytes_LoopBytesLast:
908
- ldrb r4, [r0], #1
909
- subs r1, r1, #1
910
- strb r4, [r2], #1
911
- bne KeccakP1600times2_ExtractBytes_LoopBytesLast
912
- KeccakP1600times2_ExtractBytes_Done:
913
- pop { r4-r5 }
914
- KeccakP1600times2_ExtractBytes_Exit:
915
- bx lr
916
-
917
-
918
- @----------------------------------------------------------------------------
919
- @
920
- @ void KeccakP1600times2_ExtractLanesAll( const void *states, unsigned char *data, unsigned int laneCount, unsigned int laneOffset )
921
- @
922
- .align 8
923
- .global KeccakP1600times2_ExtractLanesAll
924
- .type KeccakP1600times2_ExtractLanesAll, %function;
925
- KeccakP1600times2_ExtractLanesAll:
926
- cmp r2, #0
927
- beq KeccakP1600times2_ExtractLanesAll_Exit
928
- lsls r12, r1, #32-3
929
- bne KeccakP1600times2_ExtractLanesAll_Unaligned
930
- add r3, r1, r3, LSL #3 @ r3(pointer instance 1): data + 8 * laneOffset
931
- lsrs r2, r2, #1
932
- bcc KeccakP1600times2_ExtractLanesAll_LoopAligned
933
- vldm r0!, { d0 - d1 }
934
- vstm r1!, { d0 }
935
- vstm r3!, { d1 }
936
- beq KeccakP1600times2_ExtractLanesAll_Exit
937
- KeccakP1600times2_ExtractLanesAll_LoopAligned:
938
- vldm r0!, { d0 - d3 }
939
- subs r2, r2, #1
940
- vstm r1!, { d0 }
941
- vstm r1!, { d2 }
942
- vstm r3!, { d1 }
943
- vstm r3!, { d3 }
944
- bne KeccakP1600times2_ExtractLanesAll_LoopAligned
945
- bx lr
946
- KeccakP1600times2_ExtractLanesAll_Unaligned:
947
- add r3, r1, r3, LSL #3 @ r3(pointer instance 1): data + 8 * laneOffset
948
- push { r4, r5 }
949
- KeccakP1600times2_ExtractLanesAll_LoopUnaligned:
950
- ldrd r4, r5, [r0], #8
951
- str r4, [r1], #4
952
- str r5, [r1], #4
953
- ldrd r4, r5, [r0], #8
954
- subs r2, r2, #1
955
- str r4, [r3], #4
956
- str r5, [r3], #4
957
- bne KeccakP1600times2_ExtractLanesAll_LoopUnaligned
958
- pop { r4, r5 }
959
- KeccakP1600times2_ExtractLanesAll_Exit:
960
- bx lr
961
-
962
-
963
- @----------------------------------------------------------------------------
964
- @
965
- @ void KeccakP1600times2_ExtractAndAddBytes( void *states, unsigned int instanceIndex,
966
- @ const unsigned char *input, unsigned char *output,
967
- @ unsigned int offset, unsigned int length )
968
- @
969
- .align 8
970
- .global KeccakP1600times2_ExtractAndAddBytes
971
- .type KeccakP1600times2_ExtractAndAddBytes, %function;
972
- KeccakP1600times2_ExtractAndAddBytes:
973
- add r0, r0, r1, LSL #3 @ states += 8 * instanceIndex
974
- ldr r1, [sp, #1*4] @ r1 = length
975
- cmp r1, #0
976
- beq KeccakP1600times2_ExtractAndAddBytes_Exit
977
- push { r4 - r9 }
978
- ldr r8, [sp, #6*4] @ r8 = offset
979
- lsr r4, r8, #3 @ states += (offset & ~7) * 2
980
- add r0, r0, r4, LSL #4
981
- ands r8, r8, #7 @ .if (offset & 7) != 0
982
- beq KeccakP1600times2_ExtractAndAddBytes_CheckLanes
983
- add r0, r0, r8 @ states += offset & 7
984
- rsb r8, r8, #8 @ lenInLane = 8 - (offset & 7)
985
- KeccakP1600times2_ExtractAndAddBytes_LoopBytesFirst:
986
- ldrb r4, [r0], #1
987
- ldrb r5, [r2], #1
988
- eor r4, r4, r5
989
- strb r4, [r3], #1
990
- subs r1, r1, #1
991
- beq KeccakP1600times2_ExtractAndAddBytes_Done
992
- subs r8, r8, #1
993
- bne KeccakP1600times2_ExtractAndAddBytes_LoopBytesFirst
994
- add r0, r0, #8 @ states += 8 (next lane of current state part)
995
- KeccakP1600times2_ExtractAndAddBytes_CheckLanes:
996
- lsrs r8, r1, #3
997
- beq KeccakP1600times2_ExtractAndAddBytes_CheckBytesLast
998
- KeccakP1600times2_ExtractAndAddBytes_LoopLanes:
999
- ldr r4, [r0], #4
1000
- ldr r5, [r0], #12
1001
- ldr r6, [r2], #4
1002
- ldr r7, [r2], #4
1003
- eor r4, r4, r6
1004
- eor r5, r5, r7
1005
- str r4, [r3], #4
1006
- str r5, [r3], #4 @ states += 8 (next lane of current state part)
1007
- subs r8, r8, #1
1008
- bne KeccakP1600times2_ExtractAndAddBytes_LoopLanes
1009
- KeccakP1600times2_ExtractAndAddBytes_CheckBytesLast:
1010
- ands r1, r1, #7
1011
- beq KeccakP1600times2_ExtractAndAddBytes_Done
1012
- KeccakP1600times2_ExtractAndAddBytes_LoopBytesLast:
1013
- ldrb r4, [r0], #1
1014
- ldrb r5, [r2], #1
1015
- eor r4, r4, r5
1016
- strb r4, [r3], #1
1017
- subs r1, r1, #1
1018
- bne KeccakP1600times2_ExtractAndAddBytes_LoopBytesLast
1019
- KeccakP1600times2_ExtractAndAddBytes_Done:
1020
- pop { r4 - r9 }
1021
- KeccakP1600times2_ExtractAndAddBytes_Exit:
1022
- bx lr
1023
-
1024
-
1025
- @----------------------------------------------------------------------------
1026
- @
1027
- @ void KeccakP1600times2_ExtractAndAddLanesAll( const void *states,
1028
- @ const unsigned char *input, unsigned char *output,
1029
- @ unsigned int laneCount, unsigned int laneOffset )
1030
- @
1031
- .align 8
1032
- .global KeccakP1600times2_ExtractAndAddLanesAll
1033
- .type KeccakP1600times2_ExtractAndAddLanesAll, %function;
1034
- KeccakP1600times2_ExtractAndAddLanesAll:
1035
- cmp r3, #0
1036
- beq KeccakP1600times2_ExtractAndAddLanesAll_Exit
1037
- orr r12, r1, r2
1038
- lsls r12, r12, #32-3 @ unaligned access .if input or output unaligned
1039
- bne KeccakP1600times2_ExtractAndAddLanesAll_Unaligned
1040
- push {r4,r5}
1041
- ldr r12, [sp, #2*4] @ r12 = laneOffset
1042
- lsrs r3, r3, #1
1043
- add r4, r1, r12, LSL #3 @ r4(input instance 1): input + 8 * laneOffset
1044
- add r5, r2, r12, LSL #3 @ r5(output instance 1): output + 8 * laneOffset
1045
- bcc KeccakP1600times2_ExtractAndAddLanesAll_LoopAligned
1046
- vldm r0!, { d0 - d1 }
1047
- vldm r1!, { d2 }
1048
- vldm r4!, { d3 }
1049
- veor q0, q0, q1
1050
- vstm r2!, { d0 }
1051
- vstm r5!, { d1 }
1052
- beq KeccakP1600times2_ExtractAndAddLanesAll_AlignedDone
1053
- KeccakP1600times2_ExtractAndAddLanesAll_LoopAligned:
1054
- vldm r0!, { d0 - d3 }
1055
- vldm r1!, { d4 }
1056
- vldm r1!, { d6 }
1057
- vldm r4!, { d5 }
1058
- vldm r4!, { d7 }
1059
- subs r3, r3, #1
1060
- veor q0, q0, q2
1061
- veor q1, q1, q3
1062
- vstm r2!, { d0 }
1063
- vstm r2!, { d2 }
1064
- vstm r5!, { d1 }
1065
- vstm r5!, { d3 }
1066
- bne KeccakP1600times2_ExtractAndAddLanesAll_LoopAligned
1067
- KeccakP1600times2_ExtractAndAddLanesAll_AlignedDone:
1068
- pop {r4,r5}
1069
- bx lr
1070
- KeccakP1600times2_ExtractAndAddLanesAll_Unaligned:
1071
- push {r4-r9}
1072
- ldr r12, [sp, #6*4] @ r12 = laneOffset
1073
- add r4, r1, r12, LSL #3 @ r4(input instance 1): input + 8 * laneOffset
1074
- add r5, r2, r12, LSL #3 @ r5(output instance 1): output + 8 * laneOffset
1075
- KeccakP1600times2_ExtractAndAddLanesAll_LoopUnaligned:
1076
- ldrd r8, r9, [r0], #8
1077
- ldr r6, [r1], #4
1078
- ldr r7, [r1], #4
1079
- eor r8, r8, r6
1080
- eor r9, r9, r7
1081
- str r8, [r2], #4
1082
- str r9, [r2], #4
1083
- ldrd r8, r9, [r0], #8
1084
- ldr r6, [r4], #4
1085
- ldr r7, [r4], #4
1086
- eor r8, r8, r6
1087
- eor r9, r9, r7
1088
- str r8, [r5], #4
1089
- subs r3, r3, #1
1090
- str r9, [r5], #4
1091
- bne KeccakP1600times2_ExtractAndAddLanesAll_LoopUnaligned
1092
- pop { r4 - r9 }
1093
- KeccakP1600times2_ExtractAndAddLanesAll_Exit:
1094
- bx lr
1095
-
1096
-
1097
- @----------------------------------------------------------------------------
1098
- @
1099
- @ void KeccakP1600times2_PermuteAll_24rounds( void *states )
1100
- @
1101
- .align 8
1102
- .global KeccakP1600times2_PermuteAll_24rounds
1103
- .type KeccakP1600times2_PermuteAll_24rounds, %function;
1104
- KeccakP1600times2_PermuteAll_24rounds:
1105
- adr r1, KeccakP1600times2_Permute_RoundConstants24
1106
- movs r2, #24
1107
- b KeccakP1600times2_PermuteAll
1108
-
1109
-
1110
- @----------------------------------------------------------------------------
1111
- @
1112
- @ void KeccakP1600times2_PermuteAll_12rounds( void *states )
1113
- @
1114
- .align 8
1115
- .global KeccakP1600times2_PermuteAll_12rounds
1116
- .type KeccakP1600times2_PermuteAll_12rounds, %function;
1117
- KeccakP1600times2_PermuteAll_12rounds:
1118
- adr r1, KeccakP1600times2_Permute_RoundConstants12
1119
- movs r2, #12
1120
- b KeccakP1600times2_PermuteAll
1121
-
1122
-
1123
- .align 8
1124
- KeccakP1600times2_Permute_RoundConstants24:
1125
- .quad 0x0000000000000001
1126
- .quad 0x0000000000008082
1127
- .quad 0x800000000000808a
1128
- .quad 0x8000000080008000
1129
- .quad 0x000000000000808b
1130
- .quad 0x0000000080000001
1131
- .quad 0x8000000080008081
1132
- .quad 0x8000000000008009
1133
- .quad 0x000000000000008a
1134
- .quad 0x0000000000000088
1135
- .quad 0x0000000080008009
1136
- .quad 0x000000008000000a
1137
- KeccakP1600times2_Permute_RoundConstants12:
1138
- .quad 0x000000008000808b
1139
- .quad 0x800000000000008b
1140
- .quad 0x8000000000008089
1141
- .quad 0x8000000000008003
1142
- .quad 0x8000000000008002
1143
- .quad 0x8000000000000080
1144
- .quad 0x000000000000800a
1145
- .quad 0x800000008000000a
1146
- .quad 0x8000000080008081
1147
- .quad 0x8000000000008080
1148
- .quad 0x0000000080000001
1149
- .quad 0x8000000080008008
1150
-
1151
- @----------------------------------------------------------------------------
1152
- @
1153
- @ void KeccakP1600times2_PermuteAll( void *states, void *rc, unsigned int nr )
1154
- @
1155
- .align 8
1156
- KeccakP1600times2_PermuteAll:
1157
- vpush {q4-q7}
1158
- push {r4-r7}
1159
- sub sp, #4*2*8+8 @allocate 4 D double lanes (plus 8bytes to allow alignment on 16 bytes)
1160
- mov r3, r0
1161
- add r5, sp, #8
1162
-
1163
- @PrepareTheta
1164
- @ Ca = ba ^ ga ^ ka ^ ma ^ sa
1165
- @ Ce = be ^ ge ^ ke ^ me ^ se
1166
- @ Ci = bi ^ gi ^ ki ^ mi ^ si
1167
- @ Co = bo ^ go ^ ko ^ mo ^ so
1168
- @ Cu = bu ^ gu ^ ku ^ mu ^ su
1169
- vld1.64 { d0, d1, d2, d3 }, [r3:256]! @ _ba _be
1170
- bic r5, #15
1171
- vld1.64 { d4, d5, d6, d7 }, [r3:256]! @ _bi _bo
1172
- vld1.64 { d8, d9, d10, d11 }, [r3:256]! @ _bu _ga
1173
- vld1.64 { d12, d13 }, [r3:128]! @ _ge
1174
- veor.64 q0, q0, q5
1175
- vld1.64 { d14, d15 }, [r3:128]! @ _gi
1176
- veor.64 q1, q1, q6
1177
- vld1.64 { d16, d17 }, [r3:128]! @ _go
1178
- veor.64 q2, q2, q7
1179
- vld1.64 { d18, d19 }, [r3:128]! @ _gu
1180
- veor.64 q3, q3, q8
1181
- vld1.64 { d10, d11 }, [r3:128]! @ _ka
1182
- veor.64 q4, q4, q9
1183
- vld1.64 { d12, d13 }, [r3:128]! @ _ke
1184
- veor.64 q0, q0, q5
1185
- vld1.64 { d14, d15 }, [r3:128]! @ _ki
1186
- veor.64 q1, q1, q6
1187
- vld1.64 { d16, d17 }, [r3:128]! @ _ko
1188
- veor.64 q2, q2, q7
1189
- vld1.64 { d18, d19 }, [r3:128]! @ _ku
1190
- veor.64 q3, q3, q8
1191
- vld1.64 { d10, d11 }, [r3:128]! @ _ma
1192
- veor.64 q4, q4, q9
1193
- vld1.64 { d12, d13 }, [r3:128]! @ _me
1194
- veor.64 q0, q0, q5
1195
- vld1.64 { d14, d15 }, [r3:128]! @ _mi
1196
- veor.64 q1, q1, q6
1197
- vld1.64 { d16, d17 }, [r3:128]! @ _mo
1198
- veor.64 q2, q2, q7
1199
- vld1.64 { d18, d19 }, [r3:128]! @ _mu
1200
- veor.64 q3, q3, q8
1201
- vld1.64 { d10, d11 }, [r3:128]! @ _sa
1202
- veor.64 q4, q4, q9
1203
- vld1.64 { d12, d13 }, [r3:128]! @ _se
1204
- veor.64 q0, q0, q5
1205
- vld1.64 { d14, d15 }, [r3:128]! @ _si
1206
- veor.64 q1, q1, q6
1207
- vld1.64 { d16, d17 }, [r3:128]! @ _so
1208
- veor.64 q2, q2, q7
1209
- vld1.64 { d18, d19 }, [r3:128]! @ _su
1210
- mov r3, r0
1211
- veor.64 q3, q3, q8
1212
- veor.64 q4, q4, q9
1213
-
1214
- KeccakP1600times2_PermuteAll_RoundLoop:
1215
- KeccakP_ThetaRhoPiChiIota _ba, -1, -1, -1, -1, _ge-_ba, _ka @ _ba, _ge, _ki, _mo, _su
1216
- KeccakP_ThetaRhoPiChi1 _ka, -1, -1, _bo, -1, _me-_ka, _sa @ _ka, _me, _si, _bo, _gu
1217
- KeccakP_ThetaRhoPiChi2 _sa, _be, -1, -1, -1, _gi-_be, _ga @ _sa, _be, _gi, _ko, _mu
1218
- KeccakP_ThetaRhoPiChi3 _ga, -1, -1, -1, _bu, _ke-_ga, _ma @ _ga, _ke, _mi, _so, _bu
1219
- KeccakP_ThetaRhoPiChi4 _ma, -1, _bi, -1, -1, _se-_ma, _ba @ _ma, _se, _bi, _go, _ku
1220
-
1221
- KeccakP_ThetaRhoPiChiIota _ba, -1, _gi, -1, _ku, _me-_ba, _sa @ _ba, _me, _gi, _so, _ku
1222
- KeccakP_ThetaRhoPiChi1 _sa, _ke, _bi, -1, _gu, _mo-_bi, _ma @ _sa, _ke, _bi, _mo, _gu
1223
- KeccakP_ThetaRhoPiChi2 _ma, _ge, -1, _ko, _bu, _si-_ge, _ka @ _ma, _ge, _si, _ko, _bu
1224
- KeccakP_ThetaRhoPiChi3 _ka, _be, -1, _go, -1, _mi-_be, _ga @ _ka, _be, _mi, _go, _su
1225
- KeccakP_ThetaRhoPiChi4 _ga, -1, _ki, _bo, -1, _se-_ga, _ba @ _ga, _se, _ki, _bo, _mu
1226
-
1227
- KeccakP_ThetaRhoPiChiIota _ba, -1, -1, _go, -1, _ke-_ba, _ma @ _ba, _ke, _si, _go, _mu
1228
- KeccakP_ThetaRhoPiChi1 _ma, _be, -1, -1, _gu, _ki-_be, _ga @ _ma, _be, _ki, _so, _gu
1229
- KeccakP_ThetaRhoPiChi2 _ga, -1, _bi, -1, -1, _me-_ga, _sa @ _ga, _me, _bi, _ko, _su
1230
- KeccakP_ThetaRhoPiChi3 _sa, _ge, -1, _bo, -1, _mi-_ge, _ka @ _sa, _ge, _mi, _bo, _ku
1231
- KeccakP_ThetaRhoPiChi4 _ka, -1, _gi, -1, _bu, _se-_ka, _ba @ _ka, _se, _gi, _mo, _bu
1232
-
1233
- KeccakP_ThetaRhoPiChiIota _ba, -1, -1, -1, -1, _be-_ba, _ga @ _ba, _be, _bi, _bo, _bu
1234
- KeccakP_ThetaRhoPiChi1 _ga, -1, -1, -1, -1, _ge-_ga, _ka @ _ga, _ge, _gi, _go, _gu
1235
- KeccakP_ThetaRhoPiChi2 _ka, -1, -1, -1, -1, _ke-_ka, _ma @ _ka, _ke, _ki, _ko, _ku
1236
- KeccakP_ThetaRhoPiChi3 _ma, -1, -1, -1, -1, _me-_ma, _sa @ _ma, _me, _mi, _mo, _mu
1237
- subs r2, #4
1238
- KeccakP_ThetaRhoPiChi4 _sa, -1, -1, -1, -1, _se-_sa, _ba @ _sa, _se, _si, _so, _su
1239
- bne KeccakP1600times2_PermuteAll_RoundLoop
1240
- add sp, #4*2*8+8 @ free 4.5 D lanes
1241
- pop {r4-r7}
1242
- vpop {q4-q7}
1243
- bx lr
1244
-
1245
-