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,1334 +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] in a SnP-compatible way.
14
- @ Please refer to SnP-documentation.h for more details.
15
- @
16
- @ This implementation comes with KeccakP-1600-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: This implementation assumes a little endian CPU with ARMv6M architecture (e.g., Cortex-M0) and the GCC compiler.
21
-
22
-
23
- .thumb
24
- .syntax unified
25
- .text
26
-
27
- @ Credit: Henry S. Warren, Hacker's Delight, Addison-Wesley, 2002
28
- .macro toBitInterleaving in0,in1,out0,out1,t,tt,pMask
29
-
30
- mov \out0, \in0
31
- ldr \t, [\pMask, #0]
32
- ands \out0, \out0, \t
33
- lsrs \t, \out0, #1
34
- orrs \out0, \out0, \t
35
- ldr \t, [\pMask, #4]
36
- ands \out0, \out0, \t
37
- lsrs \t, \out0, #2
38
- orrs \out0, \out0, \t
39
- ldr \t, [\pMask, #8]
40
- ands \out0, \out0, \t
41
- lsrs \t, \out0, #4
42
- orrs \out0, \out0, \t
43
- ldr \t, [\pMask, #12]
44
- ands \out0, \out0, \t
45
- lsrs \t, \out0, #8
46
- orrs \out0, \out0, \t
47
-
48
- mov \out1, \in1
49
- ldr \t, [\pMask, #0]
50
- ands \out1, \out1, \t
51
- lsrs \t, \out1, #1
52
- orrs \out1, \out1, \t
53
- ldr \t, [\pMask, #4]
54
- ands \out1, \out1, \t
55
- lsrs \t, \out1, #2
56
- orrs \out1, \out1, \t
57
- ldr \t, [\pMask, #8]
58
- ands \out1, \out1, \t
59
- lsrs \t, \out1, #4
60
- orrs \out1, \out1, \t
61
- ldr \t, [\pMask, #12]
62
- ands \out1, \out1, \t
63
- lsrs \t, \out1, #8
64
- orrs \out1, \out1, \t
65
-
66
- lsls \out0, \out0, #16
67
- lsrs \out0, \out0, #16
68
- lsls \out1, \out1, #16
69
- orrs \out0, \out0, \out1
70
-
71
- mov \out1, \in0
72
- ldr \t, [\pMask, #16]
73
- ands \out1, \out1, \t
74
- lsls \t, \out1, #1
75
- orrs \out1, \out1, \t
76
- ldr \t, [\pMask, #20]
77
- ands \out1, \out1, \t
78
- lsls \t, \out1, #2
79
- orrs \out1, \out1, \t
80
- ldr \t, [\pMask, #24]
81
- ands \out1, \out1, \t
82
- lsls \t, \out1, #4
83
- orrs \out1, \out1, \t
84
- ldr \t, [\pMask, #28]
85
- ands \out1, \out1, \t
86
- lsls \t, \out1, #8
87
- orrs \out1, \out1, \t
88
-
89
- mov \tt, \in1
90
- ldr \t, [\pMask, #16]
91
- ands \tt, \tt, \t
92
- lsls \t, \tt, #1
93
- orrs \tt, \tt, \t
94
- ldr \t, [\pMask, #20]
95
- ands \tt, \tt, \t
96
- lsls \t, \tt, #2
97
- orrs \tt, \tt, \t
98
- ldr \t, [\pMask, #24]
99
- ands \tt, \tt, \t
100
- lsls \t, \tt, #4
101
- orrs \tt, \tt, \t
102
- ldr \t, [\pMask, #28]
103
- ands \tt, \tt, \t
104
- lsls \t, \tt, #8
105
- orrs \tt, \tt, \t
106
-
107
- lsrs \out1,\out1, #16
108
- lsrs \tt, \tt, #16
109
- lsls \tt, \tt, #16
110
- orrs \out1,\out1,\tt
111
- .endm
112
-
113
- @ Credit: Henry S. Warren, Hacker's Delight, Addison-Wesley, 2002
114
- .macro fromBitInterleavingStep x, t, tt, pMask, maskofs, shift
115
-
116
- @ t = (x ^ (x >> shift)) & mask@ x = x ^ t ^ (t << shift)@
117
- lsrs \t, \x, #\shift
118
- eors \t, \t, \x
119
- ldr \tt, [\pMask, #\maskofs]
120
- ands \t, \t, \tt
121
- eors \x, \x, \t
122
- lsls \t, \t, #\shift
123
- eors \x, \x, \t
124
- .endm
125
-
126
- .macro fromBitInterleaving x0, x1, t, tt, pMask
127
- movs \t, \x0 @ t = x0
128
- lsls \x0, \x0, #16 @ x0 = (x0 & 0x0000FFFF) | (x1 << 16)@
129
- lsrs \x0, \x0, #16
130
- lsls \tt, \x1, #16
131
- orrs \x0, \x0, \tt
132
- lsrs \x1, \x1, #16 @ x1 = (t >> 16) | (x1 & 0xFFFF0000)@
133
- lsls \x1, \x1, #16
134
- lsrs \t, \t, #16
135
- orrs \x1, \x1, \t
136
- fromBitInterleavingStep \x0, \t, \tt, \pMask, 0, 8
137
- fromBitInterleavingStep \x0, \t, \tt, \pMask, 4, 4
138
- fromBitInterleavingStep \x0, \t, \tt, \pMask, 8, 2
139
- fromBitInterleavingStep \x0, \t, \tt, \pMask, 12, 1
140
- fromBitInterleavingStep \x1, \t, \tt, \pMask, 0, 8
141
- fromBitInterleavingStep \x1, \t, \tt, \pMask, 4, 4
142
- fromBitInterleavingStep \x1, \t, \tt, \pMask, 8, 2
143
- fromBitInterleavingStep \x1, \t, \tt, \pMask, 12, 1
144
- .endm
145
-
146
- @ --- offsets in state
147
- .equ _ba0 , 0*4
148
- .equ _ba1 , 1*4
149
- .equ _be0 , 2*4
150
- .equ _be1 , 3*4
151
- .equ _bi0 , 4*4
152
- .equ _bi1 , 5*4
153
- .equ _bo0 , 6*4
154
- .equ _bo1 , 7*4
155
- .equ _bu0 , 8*4
156
- .equ _bu1 , 9*4
157
- .equ _ga0 , 10*4
158
- .equ _ga1 , 11*4
159
- .equ _ge0 , 12*4
160
- .equ _ge1 , 13*4
161
- .equ _gi0 , 14*4
162
- .equ _gi1 , 15*4
163
- .equ _go0 , 16*4
164
- .equ _go1 , 17*4
165
- .equ _gu0 , 18*4
166
- .equ _gu1 , 19*4
167
- .equ _ka0 , 20*4
168
- .equ _ka1 , 21*4
169
- .equ _ke0 , 22*4
170
- .equ _ke1 , 23*4
171
- .equ _ki0 , 24*4
172
- .equ _ki1 , 25*4
173
- .equ _ko0 , 26*4
174
- .equ _ko1 , 27*4
175
- .equ _ku0 , 28*4
176
- .equ _ku1 , 29*4
177
- .equ _ma0 , 30*4
178
- .equ _ma1 , 31*4
179
- .equ _me0 , 32*4
180
- .equ _me1 , 33*4
181
- .equ _mi0 , 34*4
182
- .equ _mi1 , 35*4
183
- .equ _mo0 , 36*4
184
- .equ _mo1 , 37*4
185
- .equ _mu0 , 38*4
186
- .equ _mu1 , 39*4
187
- .equ _sa0 , 40*4
188
- .equ _sa1 , 41*4
189
- .equ _se0 , 42*4
190
- .equ _se1 , 43*4
191
- .equ _si0 , 44*4
192
- .equ _si1 , 45*4
193
- .equ _so0 , 46*4
194
- .equ _so1 , 47*4
195
- .equ _su0 , 48*4
196
- .equ _su1 , 49*4
197
-
198
- @ --- offsets on stack
199
- .equ mEs , 0 @ Secondary state
200
- .equ mD , 25*2*4
201
- .equ mDo0 , mD+0*4
202
- .equ mDo1 , mD+1*4
203
- .equ mDu0 , mD+2*4
204
- .equ mDu1 , mD+3*4
205
- .equ mRC , mD+4*4
206
- .equ mRFU , mD+5*4
207
- .equ mSize , mD+6*4
208
-
209
- @ --- macros
210
-
211
- .macro load reg, stkIn, offset
212
- .if \stkIn == 1
213
- ldr \reg, [sp, #\offset]
214
- .else
215
- .if \offset >= _ma0
216
- ldr \reg, [r7, #\offset-_ma0]
217
- .else
218
- ldr \reg, [r0, #\offset]
219
- .endif
220
- .endif
221
- .endm
222
-
223
- .macro store reg, stkIn, offset
224
- .if \stkIn == 0
225
- str \reg, [sp, #\offset]
226
- .else
227
- .if \offset >= _ma0
228
- str \reg, [r7, #\offset-_ma0]
229
- .else
230
- str \reg, [r0, #\offset]
231
- .endif
232
- .endif
233
- .endm
234
-
235
- .macro xor5 stkIn, result,b,g,k,m,s
236
- load \result, \stkIn, \b
237
- load r6, \stkIn, \g
238
- eors \result, \result, r6
239
- load r6, \stkIn, \k
240
- eors \result, \result, r6
241
- load r6, \stkIn, \m
242
- eors \result, \result, r6
243
- load r6, \stkIn, \s
244
- eors \result, \result, r6
245
- .endm
246
-
247
- .macro te0m oD, rCp0, rCn1
248
- rors \rCn1, \rCn1, r4
249
- eors \rCn1, \rCn1, \rCp0
250
- str \rCn1, [sp, #\oD]
251
- .endm
252
-
253
- .macro te1m oD, rCp1, rCn0
254
- eors \rCn0, \rCn0, \rCp1
255
- str \rCn0, [sp, #\oD]
256
- .endm
257
-
258
- .macro te0r rD, rCp0, rCn1
259
- rors \rCn1, \rCn1, r4
260
- eors \rCn1, \rCn1, \rCp0
261
- mov \rD, \rCn1
262
- .endm
263
-
264
- .macro te1r rD, rCp1, rCn0
265
- eors \rCn0, \rCn0, \rCp1
266
- mov \rD, \rCn0
267
- .endm
268
-
269
- .macro trp1 stkIn, b, ofS, orD, fD, rot
270
- load \b, \stkIn, \ofS
271
- .if \fD != 0
272
- mov r6, \orD
273
- .else
274
- ldr r6, [sp, #\orD]
275
- .endif
276
- eors \b, \b, r6
277
- .if \rot != 0
278
- movs r6, #32-\rot
279
- rors \b, \b, r6
280
- .endif
281
- .endm
282
-
283
- .macro trp5 stkIn, oS0, orD0, fD0, oR0, oS1, orD1, fD1, oR1, oS2, orD2, fD2, oR2, oS3, orD3, fD3, oR3, oS4, orD4, fD4, oR4
284
- trp1 \stkIn, r1, \oS0, \orD0, \fD0, \oR0
285
- trp1 \stkIn, r2, \oS1, \orD1, \fD1, \oR1
286
- trp1 \stkIn, r3, \oS2, \orD2, \fD2, \oR2
287
- trp1 \stkIn, r4, \oS3, \orD3, \fD3, \oR3
288
- trp1 \stkIn, r5, \oS4, \orD4, \fD4, \oR4
289
- .endm
290
-
291
- .macro chio1 stkIn, oOut, ax0, ax1, ax2, iota, useax2
292
- .if \useax2 != 0
293
- bics \ax2, \ax2, \ax1 @ A[x+2] = A[x+2] & ~A[x+1]
294
- eors \ax2, \ax2, \ax0 @ A[x+2] = A[x+2] ^ A[x]
295
- .if \iota != 0xFF
296
- ldr r1, [sp, #mRC]
297
- ldr r4, [r1, #\iota]
298
- eors \ax2, \ax2, r4
299
- .endif
300
- store \ax2, \stkIn, \oOut
301
- .else
302
- mov r6, \ax2 @ T1 = A[x+2]
303
- bics r6, r6, \ax1 @ T1 = T1 & ~A[x+1]
304
- eors r6, r6, \ax0 @ T1 = T1 ^ A[x]
305
- store r6, \stkIn, \oOut
306
- .endif
307
- .endm
308
-
309
- .macro chio5 stkIn, oOut, iota
310
- chio1 \stkIn, \oOut+8*4, r5, r1, r2, 0xFF, 0
311
- chio1 \stkIn, \oOut+6*4, r4, r5, r1, 0xFF, 0
312
- chio1 \stkIn, \oOut+4*4, r3, r4, r5, 0xFF, 1
313
- chio1 \stkIn, \oOut+2*4, r2, r3, r4, 0xFF, 1
314
- chio1 \stkIn, \oOut+0*4, r1, r2, r3, \iota, 1
315
- .endm
316
-
317
- .macro Kround stkIn, iota
318
-
319
- @ prepare Theta
320
- movs r4, #31
321
-
322
- xor5 \stkIn, r1, _be1, _ge1, _ke1, _me1, _se1
323
- xor5 \stkIn, r2, _bu0, _gu0, _ku0, _mu0, _su0
324
- mov r6, r1
325
- te0r r8, r2, r6
326
-
327
- xor5 \stkIn, r3, _bi1, _gi1, _ki1, _mi1, _si1
328
- te1m mDo1, r3, r2
329
-
330
- xor5 \stkIn, r2, _ba0, _ga0, _ka0, _ma0, _sa0
331
- te0r r10, r2, r3
332
-
333
- xor5 \stkIn, r3, _bo1, _go1, _ko1, _mo1, _so1
334
- te1m mDu1, r3, r2
335
-
336
- xor5 \stkIn, r2, _be0, _ge0, _ke0, _me0, _se0
337
- te0r r12, r2, r3
338
-
339
- xor5 \stkIn, r3, _bu1, _gu1, _ku1, _mu1, _su1
340
- te1r r9, r3, r2
341
-
342
- xor5 \stkIn, r2, _bi0, _gi0, _ki0, _mi0, _si0
343
- te0m mDo0, r2, r3
344
-
345
- xor5 \stkIn, r3, _ba1, _ga1, _ka1, _ma1, _sa1
346
- te1r r11, r3, r2
347
-
348
- xor5 \stkIn, r2, _bo0, _go0, _ko0, _mo0, _so0
349
- te0m mDu0, r2, r3
350
- te1r lr, r1, r2
351
-
352
- trp5 \stkIn, _bi0, r12, 1, 31, _go1, mDo1, 0, 28, _ku1, mDu1, 0, 20, _ma1, r9, 1, 21, _se0, r10, 1, 1
353
- chio5 \stkIn, _sa0, 0xFF
354
- trp5 \stkIn, _bi1, lr, 1, 31, _go0, mDo0, 0, 27, _ku0, mDu0, 0, 19, _ma0, r8, 1, 20, _se1, r11, 1, 1
355
- chio5 \stkIn, _sa1, 0xFF
356
-
357
- trp5 \stkIn, _bu1, mDu1, 0, 14, _ga0, r8, 1, 18, _ke0, r10, 1, 5, _mi1, lr, 1, 8, _so0, mDo0, 0, 28
358
- chio5 \stkIn, _ma0, 0xFF
359
- trp5 \stkIn, _bu0, mDu0, 0, 13, _ga1, r9, 1, 18, _ke1, r11, 1, 5, _mi0, r12, 1, 7, _so1, mDo1, 0, 28
360
- chio5 \stkIn, _ma1, 0xFF
361
-
362
- trp5 \stkIn, _be1, r11, 1, 1, _gi0, r12, 1, 3, _ko1, mDo1, 0, 13, _mu0, mDu0, 0, 4, _sa0, r8, 1, 9
363
- chio5 \stkIn, _ka0, 0xFF
364
- trp5 \stkIn, _be0, r10, 1, 0, _gi1, lr, 1, 3, _ko0, mDo0, 0, 12, _mu1, mDu1, 0, 4, _sa1, r9, 1, 9
365
- chio5 \stkIn, _ka1, 0xFF
366
-
367
- trp5 \stkIn, _bo0, mDo0, 0, 14, _gu0, mDu0, 0, 10, _ka1, r9, 1, 2, _me1, r11, 1, 23, _si1, lr, 1, 31
368
- chio5 \stkIn, _ga0, 0xFF
369
- trp5 \stkIn, _bo1, mDo1, 0, 14, _gu1, mDu1, 0, 10, _ka0, r8, 1, 1, _me0, r10, 1, 22, _si0, r12, 1, 30
370
- chio5 \stkIn, _ga1, 0xFF
371
-
372
- trp5 \stkIn, _ba0, r8, 1, 0, _ge0, r10, 1, 22, _ki1, lr, 1, 22, _mo1, mDo1, 0, 11, _su0, mDu0, 0, 7
373
- chio5 \stkIn, _ba0, \iota+0
374
- trp5 \stkIn, _ba1, r9, 1, 0, _ge1, r11, 1, 22, _ki0, r12, 1, 21, _mo0, mDo0, 0, 10, _su1, mDu1, 0, 7
375
- chio5 \stkIn, _ba1, \iota+4
376
- .endm
377
-
378
- @----------------------------------------------------------------------------
379
- @
380
- @ void KeccakP1600_StaticInitialize( void )
381
- @
382
- .align 8
383
- .global KeccakP1600_StaticInitialize
384
- .type KeccakP1600_StaticInitialize, %function;
385
- KeccakP1600_StaticInitialize:
386
- bx lr
387
-
388
-
389
- @----------------------------------------------------------------------------
390
- @
391
- @ void KeccakP1600_Initialize(void *state)
392
- @
393
- .align 8
394
- .global KeccakP1600_Initialize
395
- .type KeccakP1600_Initialize, %function;
396
- KeccakP1600_Initialize:
397
- push {r4 - r5}
398
- movs r1, #0
399
- movs r2, #0
400
- movs r3, #0
401
- movs r4, #0
402
- movs r5, #0
403
- stmia r0!, { r1 - r5 }
404
- stmia r0!, { r1 - r5 }
405
- stmia r0!, { r1 - r5 }
406
- stmia r0!, { r1 - r5 }
407
- stmia r0!, { r1 - r5 }
408
- stmia r0!, { r1 - r5 }
409
- stmia r0!, { r1 - r5 }
410
- stmia r0!, { r1 - r5 }
411
- stmia r0!, { r1 - r5 }
412
- stmia r0!, { r1 - r5 }
413
- pop {r4 - r5}
414
- bx lr
415
-
416
-
417
- @ ----------------------------------------------------------------------------
418
- @
419
- @ void KeccakP1600_AddByte(void *state, unsigned char byte, unsigned int offset)
420
- @
421
- .align 8
422
- .global KeccakP1600_AddByte
423
- .type KeccakP1600_AddByte, %function;
424
- KeccakP1600_AddByte:
425
- push {r4 - r7}
426
- mov r4, r8
427
- mov r5, r9
428
- push {r4 - r5}
429
- lsrs r4, r2, #3 @ offset &= ~7
430
- lsls r4, r4, #3
431
- adds r0, r0, r4 @ add whole lane offset to state pointer
432
- lsls r2, r2, #29 @ offset &= 7 (part not lane aligned)
433
- lsrs r2, r2, #29
434
- adr r7, KeccakP1600_AddBytes_ToBitInterleavingConstants
435
- movs r4, #0
436
- movs r5, #0
437
- push { r4 - r5 }
438
- add r2, r2, sp
439
- strb r1, [r2]
440
- pop { r4 - r5 }
441
- mov r8, r4
442
- mov r9, r5
443
- toBitInterleaving r8, r9, r4, r5, r6, r2, r7
444
- ldr r6, [r0]
445
- eors r4, r4, r6
446
- ldr r6, [r0, #4]
447
- eors r5, r5, r6
448
- stmia r0!, { r4, r5 }
449
- pop {r4 - r5}
450
- mov r8, r4
451
- mov r9, r5
452
- pop {r4 - r7}
453
- bx lr
454
-
455
-
456
- @----------------------------------------------------------------------------
457
- @
458
- @ void KeccakP1600_AddBytes(void *state, const unsigned char *data, unsigned int offset, unsigned int length)
459
- @
460
- .align 8
461
- .global KeccakP1600_AddBytes
462
- .type KeccakP1600_AddBytes, %function;
463
- KeccakP1600_AddBytes:
464
- cmp r3, #0 @ .if length != 0
465
- beq KeccakP1600_AddBytes_Exit1
466
- push {r4 - r6, lr} @ then
467
- mov r4, r8
468
- mov r5, r9
469
- mov r6, r10
470
- push {r4 - r7}
471
- lsrs r4, r2, #3 @ offset &= ~7
472
- lsls r4, r4, #3
473
- adds r0, r0, r4 @ add whole lane offset to state pointer
474
- lsls r2, r2, #29 @ offset &= 7 (part not lane aligned)
475
- lsrs r2, r2, #29
476
- beq KeccakP1600_AddBytes_CheckLanes @ .if offset != 0
477
- movs r4, r3 @ then, do remaining bytes in first lane
478
- movs r5, #8
479
- subs r5, r2 @ max size in lane = 8 - offset
480
- cmp r4, r5
481
- ble KeccakP1600_AddBytes_BytesAlign
482
- movs r4, r5
483
- KeccakP1600_AddBytes_BytesAlign:
484
- subs r3, r3, r4 @ size left
485
- mov r10, r3
486
- movs r3, r4
487
- adr r7, KeccakP1600_AddBytes_ToBitInterleavingConstants
488
- bl __KeccakP1600_AddBytesInLane
489
- mov r3, r10
490
- KeccakP1600_AddBytes_CheckLanes:
491
- lsrs r2, r3, #3 @ .if length >= 8
492
- beq KeccakP1600_AddBytes_Bytes
493
- mov r10, r3
494
- adr r3, KeccakP1600_AddBytes_ToBitInterleavingConstants
495
- bl __KeccakP1600_AddLanes
496
- mov r3, r10
497
- lsls r3, r3, #29
498
- lsrs r3, r3, #29
499
- KeccakP1600_AddBytes_Bytes:
500
- cmp r3, #0
501
- beq KeccakP1600_AddBytes_Exit
502
- movs r2, #0
503
- adr r7, KeccakP1600_AddBytes_ToBitInterleavingConstants
504
- bl __KeccakP1600_AddBytesInLane
505
- KeccakP1600_AddBytes_Exit:
506
- pop {r4 - r7}
507
- mov r8, r4
508
- mov r9, r5
509
- mov r10, r6
510
- pop {r4 - r6, pc}
511
- KeccakP1600_AddBytes_Exit1:
512
- bx lr
513
- nop
514
- KeccakP1600_AddBytes_ToBitInterleavingConstants:
515
- .long 0x55555555
516
- .long 0x33333333
517
- .long 0x0F0F0F0F
518
- .long 0x00FF00FF
519
- .long 0xAAAAAAAA
520
- .long 0xCCCCCCCC
521
- .long 0xF0F0F0F0
522
- .long 0xFF00FF00
523
-
524
-
525
- @----------------------------------------------------------------------------
526
- @
527
- @ __KeccakP1600_AddLanes
528
- @
529
- @ Input:
530
- @ r0 state pointer
531
- @ r1 data pointer
532
- @ r2 laneCount
533
- @ r3 to bit interleaving constants pointer
534
- @
535
- @ Output:
536
- @ r0 state pointer next lane
537
- @ r1 data pointer next byte to input
538
- @
539
- @ Changed: r2-r9
540
- @
541
- .align 8
542
- __KeccakP1600_AddLanes:
543
- lsls r4, r1, #30
544
- bne __KeccakP1600_AddLanes_LoopUnaligned
545
- __KeccakP1600_AddLanes_LoopAligned:
546
- ldmia r1!, {r6,r7}
547
- mov r8, r6
548
- mov r9, r7
549
- toBitInterleaving r8, r9, r6, r7, r5, r4, r3
550
- ldr r5, [r0]
551
- eors r6, r6, r5
552
- ldr r5, [r0, #4]
553
- eors r7, r7, r5
554
- stmia r0!, {r6,r7}
555
- subs r2, r2, #1
556
- bne __KeccakP1600_AddLanes_LoopAligned
557
- bx lr
558
- __KeccakP1600_AddLanes_LoopUnaligned:
559
- ldrb r6, [r1, #0]
560
- ldrb r4, [r1, #1]
561
- lsls r4, r4, #8
562
- orrs r6, r6, r4
563
- ldrb r4, [r1, #2]
564
- lsls r4, r4, #16
565
- orrs r6, r6, r4
566
- ldrb r4, [r1, #3]
567
- lsls r4, r4, #24
568
- orrs r6, r6, r4
569
- ldrb r7, [r1, #4]
570
- ldrb r4, [r1, #5]
571
- lsls r4, r4, #8
572
- orrs r7, r7, r4
573
- ldrb r4, [r1, #6]
574
- lsls r4, r4, #16
575
- orrs r7, r7, r4
576
- ldrb r4, [r1, #7]
577
- lsls r4, r4, #24
578
- orrs r7, r7, r4
579
- adds r1, r1, #8
580
- mov r8, r6
581
- mov r9, r7
582
- toBitInterleaving r8, r9, r6, r7, r5, r4, r3
583
- ldr r5, [r0]
584
- eors r6, r6, r5
585
- ldr r5, [r0, #4]
586
- eors r7, r7, r5
587
- stmia r0!, {r6, r7}
588
- subs r2, r2, #1
589
- bne __KeccakP1600_AddLanes_LoopUnaligned
590
- bx lr
591
-
592
-
593
- @----------------------------------------------------------------------------
594
- @
595
- @ __KeccakP1600_AddBytesInLane
596
- @
597
- @ Input:
598
- @ r0 state pointer
599
- @ r1 data pointer
600
- @ r2 offset in lane
601
- @ r3 length
602
- @ r7 to bit interleaving constants pointer
603
- @
604
- @ Output:
605
- @ r0 state pointer next lane
606
- @ r1 data pointer next byte to input
607
- @
608
- @ Changed: r2-r9
609
- @
610
- .align 8
611
- __KeccakP1600_AddBytesInLane:
612
- movs r4, #0
613
- movs r5, #0
614
- push { r4 - r5 }
615
- add r2, r2, sp
616
- __KeccakP1600_AddBytesInLane_Loop:
617
- ldrb r5, [r1]
618
- strb r5, [r2]
619
- adds r1, r1, #1
620
- adds r2, r2, #1
621
- subs r3, r3, #1
622
- bne __KeccakP1600_AddBytesInLane_Loop
623
- pop { r4 - r5 }
624
- mov r8, r4
625
- mov r9, r5
626
- toBitInterleaving r8, r9, r4, r5, r6, r2, r7
627
- ldr r6, [r0]
628
- eors r4, r4, r6
629
- ldr r6, [r0, #4]
630
- eors r5, r5, r6
631
- stmia r0!, { r4, r5 }
632
- bx lr
633
-
634
-
635
- @----------------------------------------------------------------------------
636
- @
637
- @ void KeccakP1600_OverwriteBytes(void *state, const unsigned char *data, unsigned int offset, unsigned int length)
638
- @
639
- .align 8
640
- .global KeccakP1600_OverwriteBytes
641
- .type KeccakP1600_OverwriteBytes, %function;
642
- KeccakP1600_OverwriteBytes:
643
- cmp r3, #0 @ .if length != 0
644
- beq KeccakP1600_OverwriteBytes_Exit1
645
- push {r4 - r6, lr} @ then
646
- mov r4, r8
647
- mov r5, r9
648
- mov r6, r10
649
- push {r4 - r7}
650
- lsrs r4, r2, #3 @ offset &= ~7
651
- lsls r4, r4, #3
652
- adds r0, r0, r4 @ add whole lane offset to state pointer
653
- lsls r2, r2, #29 @ offset &= 7 (part not lane aligned)
654
- lsrs r2, r2, #29
655
- beq KeccakP1600_OverwriteBytes_CheckLanes @ .if offset != 0
656
- movs r4, r3 @ then, do remaining bytes in first lane
657
- movs r5, #8
658
- subs r5, r2 @ max size in lane = 8 - offset
659
- cmp r4, r5
660
- ble KeccakP1600_OverwriteBytes_BytesAlign
661
- movs r4, r5
662
- KeccakP1600_OverwriteBytes_BytesAlign:
663
- subs r3, r3, r4 @ size left
664
- mov r10, r3
665
- movs r3, r4
666
- adr r7, KeccakP1600_OverwriteBytes_ToBitInterleavingConstants
667
- bl __KeccakP1600_OverwriteBytesInLane
668
- mov r3, r10
669
- KeccakP1600_OverwriteBytes_CheckLanes:
670
- lsrs r2, r3, #3 @ .if length >= 8
671
- beq KeccakP1600_OverwriteBytes_Bytes
672
- mov r10, r3
673
- adr r3, KeccakP1600_OverwriteBytes_ToBitInterleavingConstants
674
- bl __KeccakP1600_OverwriteLanes
675
- mov r3, r10
676
- lsls r3, r3, #29
677
- lsrs r3, r3, #29
678
- KeccakP1600_OverwriteBytes_Bytes:
679
- cmp r3, #0
680
- beq KeccakP1600_OverwriteBytes_Exit
681
- movs r2, #0
682
- adr r7, KeccakP1600_OverwriteBytes_ToBitInterleavingConstants
683
- bl __KeccakP1600_OverwriteBytesInLane
684
- KeccakP1600_OverwriteBytes_Exit:
685
- pop {r4 - r7}
686
- mov r8, r4
687
- mov r9, r5
688
- mov r10, r6
689
- pop {r4 - r6, pc}
690
- KeccakP1600_OverwriteBytes_Exit1:
691
- bx lr
692
- nop
693
- KeccakP1600_OverwriteBytes_ToBitInterleavingConstants:
694
- .long 0x55555555
695
- .long 0x33333333
696
- .long 0x0F0F0F0F
697
- .long 0x00FF00FF
698
- .long 0xAAAAAAAA
699
- .long 0xCCCCCCCC
700
- .long 0xF0F0F0F0
701
- .long 0xFF00FF00
702
-
703
-
704
- @----------------------------------------------------------------------------
705
- @
706
- @ __KeccakP1600_OverwriteLanes
707
- @
708
- @ Input:
709
- @ r0 state pointer
710
- @ r1 data pointer
711
- @ r2 laneCount
712
- @ r3 to bit interleaving constants pointer
713
- @
714
- @ Output:
715
- @ r0 state pointer next lane
716
- @ r1 data pointer next byte to input
717
- @
718
- @ Changed: r2-r9
719
- @
720
- .align 8
721
- __KeccakP1600_OverwriteLanes:
722
- lsls r4, r1, #30
723
- bne __KeccakP1600_OverwriteLanes_LoopUnaligned
724
- __KeccakP1600_OverwriteLanes_LoopAligned:
725
- ldmia r1!, {r6,r7}
726
- mov r8, r6
727
- mov r9, r7
728
- toBitInterleaving r8, r9, r6, r7, r5, r4, r3
729
- stmia r0!, {r6,r7}
730
- subs r2, r2, #1
731
- bne __KeccakP1600_OverwriteLanes_LoopAligned
732
- bx lr
733
- __KeccakP1600_OverwriteLanes_LoopUnaligned:
734
- ldrb r6, [r1, #0]
735
- ldrb r4, [r1, #1]
736
- lsls r4, r4, #8
737
- orrs r6, r6, r4
738
- ldrb r4, [r1, #2]
739
- lsls r4, r4, #16
740
- orrs r6, r6, r4
741
- ldrb r4, [r1, #3]
742
- lsls r4, r4, #24
743
- orrs r6, r6, r4
744
- ldrb r7, [r1, #4]
745
- ldrb r4, [r1, #5]
746
- lsls r4, r4, #8
747
- orrs r7, r7, r4
748
- ldrb r4, [r1, #6]
749
- lsls r4, r4, #16
750
- orrs r7, r7, r4
751
- ldrb r4, [r1, #7]
752
- lsls r4, r4, #24
753
- orrs r7, r7, r4
754
- adds r1, r1, #8
755
- mov r8, r6
756
- mov r9, r7
757
- toBitInterleaving r8, r9, r6, r7, r5, r4, r3
758
- stmia r0!, {r6, r7}
759
- subs r2, r2, #1
760
- bne __KeccakP1600_OverwriteLanes_LoopUnaligned
761
- bx lr
762
-
763
-
764
- @----------------------------------------------------------------------------
765
- @
766
- @ __KeccakP1600_OverwriteBytesInLane
767
- @
768
- @ Input:
769
- @ r0 state pointer
770
- @ r1 data pointer
771
- @ r2 offset in lane
772
- @ r3 length
773
- @ r7 to bit interleaving constants pointer
774
- @
775
- @ Output:
776
- @ r0 state pointer next lane
777
- @ r1 data pointer next byte to input
778
- @
779
- @ Changed: r2-r9
780
- @
781
- .align 8
782
- __KeccakP1600_OverwriteBytesInLane:
783
- movs r4, #0
784
- movs r5, #0
785
- push { r4 - r5 }
786
- lsls r6, r2, #2
787
- add r2, r2, sp
788
- movs r4, #0x0F @r4 mask to wipe nibbles(bit interleaved bytes) in state
789
- lsls r4, r4, r6
790
- movs r6, r4
791
- __KeccakP1600_OverwriteBytesInLane_Loop:
792
- orrs r6, r6, r4
793
- lsls r4, r4, #4
794
- ldrb r5, [r1]
795
- strb r5, [r2]
796
- adds r1, r1, #1
797
- adds r2, r2, #1
798
- subs r3, r3, #1
799
- bne __KeccakP1600_OverwriteBytesInLane_Loop
800
- pop { r4 - r5 }
801
- mov r8, r4
802
- mov r9, r5
803
- toBitInterleaving r8, r9, r4, r5, r3, r2, r7
804
- ldr r3, [r0]
805
- bics r3, r3, r6
806
- eors r4, r4, r3
807
- ldr r3, [r0, #4]
808
- bics r3, r3, r6
809
- eors r5, r5, r3
810
- stmia r0!, { r4, r5 }
811
- bx lr
812
-
813
-
814
- @----------------------------------------------------------------------------
815
- @
816
- @ void KeccakP1600_OverwriteWithZeroes(void *state, unsigned int byteCount)
817
- @
818
- .align 8
819
- .global KeccakP1600_OverwriteWithZeroes
820
- .type KeccakP1600_OverwriteWithZeroes, %function;
821
- KeccakP1600_OverwriteWithZeroes:
822
- push {r4 - r5}
823
- lsrs r2, r1, #3
824
- beq KeccakP1600_OverwriteWithZeroes_Bytes
825
- movs r4, #0
826
- movs r5, #0
827
- KeccakP1600_OverwriteWithZeroes_LoopLanes:
828
- stm r0!, { r4, r5 }
829
- subs r2, r2, #1
830
- bne KeccakP1600_OverwriteWithZeroes_LoopLanes
831
- KeccakP1600_OverwriteWithZeroes_Bytes:
832
- lsls r1, r1, #32-3
833
- beq KeccakP1600_OverwriteWithZeroes_Exit
834
- lsrs r1, r1, #32-3
835
- movs r3, #0x0F @r2 already zero, r3 = mask to wipe nibbles(bit interleaved bytes) in state
836
- KeccakP1600_OverwriteWithZeroes_LoopBytes:
837
- orrs r2, r2, r3
838
- lsls r3, r3, #4
839
- subs r1, r1, #1
840
- bne KeccakP1600_OverwriteWithZeroes_LoopBytes
841
- ldr r4, [r0]
842
- ldr r5, [r0, #4]
843
- bics r4, r4, r2
844
- bics r5, r5, r2
845
- stm r0!, { r4, r5 }
846
- KeccakP1600_OverwriteWithZeroes_Exit:
847
- pop {r4 - r5}
848
- bx lr
849
-
850
-
851
- @----------------------------------------------------------------------------
852
- @
853
- @ void KeccakP1600_ExtractBytes(void *state, const unsigned char *data, unsigned int offset, unsigned int length)
854
- @
855
- .align 8
856
- .global KeccakP1600_ExtractBytes
857
- .type KeccakP1600_ExtractBytes, %function;
858
- KeccakP1600_ExtractBytes:
859
- cmp r3, #0 @ .if length != 0
860
- beq KeccakP1600_ExtractBytes_Exit1
861
- push {r4 - r6, lr} @ then
862
- mov r4, r8
863
- push {r4, r7}
864
- lsrs r4, r2, #3 @ offset &= ~7
865
- lsls r4, r4, #3
866
- adds r0, r0, r4 @ add whole lane offset to state pointer
867
- lsls r2, r2, #29 @ offset &= 7 (part not lane aligned)
868
- lsrs r2, r2, #29
869
- beq KeccakP1600_ExtractBytes_CheckLanes @ .if offset != 0
870
- movs r4, r3 @ then, do remaining bytes in first lane
871
- movs r5, #8
872
- subs r5, r2 @ max size in lane = 8 - offset
873
- cmp r4, r5
874
- ble KeccakP1600_ExtractBytes_BytesAlign
875
- movs r4, r5
876
- KeccakP1600_ExtractBytes_BytesAlign:
877
- subs r3, r3, r4 @ size left
878
- mov r8, r3
879
- movs r3, r4
880
- adr r7, KeccakP1600_ExtractBytes_FromBitInterleavingConstants
881
- bl __KeccakP1600_ExtractBytesInLane
882
- mov r3, r8
883
- KeccakP1600_ExtractBytes_CheckLanes:
884
- lsrs r2, r3, #3 @ .if length >= 8
885
- beq KeccakP1600_ExtractBytes_Bytes
886
- mov r8, r3
887
- adr r3, KeccakP1600_ExtractBytes_FromBitInterleavingConstants
888
- bl __KeccakP1600_ExtractLanes
889
- mov r3, r8
890
- lsls r3, r3, #29
891
- lsrs r3, r3, #29
892
- KeccakP1600_ExtractBytes_Bytes:
893
- cmp r3, #0
894
- beq KeccakP1600_ExtractBytes_Exit
895
- movs r2, #0
896
- adr r7, KeccakP1600_ExtractBytes_FromBitInterleavingConstants
897
- bl __KeccakP1600_ExtractBytesInLane
898
- KeccakP1600_ExtractBytes_Exit:
899
- pop {r4,r7}
900
- mov r8, r4
901
- pop {r4 - r6, pc}
902
- KeccakP1600_ExtractBytes_Exit1:
903
- bx lr
904
- nop
905
- KeccakP1600_ExtractBytes_FromBitInterleavingConstants:
906
- .long 0x0000FF00
907
- .long 0x00F000F0
908
- .long 0x0C0C0C0C
909
- .long 0x22222222
910
-
911
-
912
- @----------------------------------------------------------------------------
913
- @
914
- @ __KeccakP1600_ExtractLanes
915
- @
916
- @ Input:
917
- @ r0 state pointer
918
- @ r1 data pointer
919
- @ r2 laneCount
920
- @ r3 from bit interleaving constants pointer
921
- @
922
- @ Output:
923
- @ r0 state pointer next lane
924
- @ r1 data pointer next byte to output
925
- @
926
- @ Changed: r2-r7
927
- @
928
- .align 8
929
- __KeccakP1600_ExtractLanes:
930
- lsls r4, r1, #30
931
- bne __KeccakP1600_ExtractLanes_LoopUnaligned
932
- __KeccakP1600_ExtractLanes_LoopAligned:
933
- ldmia r0!, {r6,r7}
934
- fromBitInterleaving r6, r7, r5, r4, r3
935
- stmia r1!, {r6,r7}
936
- subs r2, r2, #1
937
- bne __KeccakP1600_ExtractLanes_LoopAligned
938
- bx lr
939
- __KeccakP1600_ExtractLanes_LoopUnaligned:
940
- ldmia r0!, {r6,r7}
941
- fromBitInterleaving r6, r7, r5, r4, r3
942
- strb r6, [r1, #0]
943
- lsrs r6, r6, #8
944
- strb r6, [r1, #1]
945
- lsrs r6, r6, #8
946
- strb r6, [r1, #2]
947
- lsrs r6, r6, #8
948
- strb r6, [r1, #3]
949
- strb r7, [r1, #4]
950
- lsrs r7, r7, #8
951
- strb r7, [r1, #5]
952
- lsrs r7, r7, #8
953
- strb r7, [r1, #6]
954
- lsrs r7, r7, #8
955
- strb r7, [r1, #7]
956
- adds r1, r1, #8
957
- subs r2, r2, #1
958
- bne __KeccakP1600_ExtractLanes_LoopUnaligned
959
- bx lr
960
-
961
-
962
- @----------------------------------------------------------------------------
963
- @
964
- @ __KeccakP1600_ExtractBytesInLane
965
- @
966
- @ Input:
967
- @ r0 state pointer
968
- @ r1 data pointer
969
- @ r2 offset in lane
970
- @ r3 length
971
- @ r7 from bit interleaving constants pointer
972
- @
973
- @ Output:
974
- @ r0 state pointer next lane
975
- @ r1 data pointer next byte to output
976
- @
977
- @ Changed: r2-r7
978
- @
979
- .align 8
980
- __KeccakP1600_ExtractBytesInLane:
981
- ldmia r0!, {r4,r5}
982
- push {r0, r3}
983
- fromBitInterleaving r4, r5, r0, r3, r7
984
- pop {r0, r3}
985
- push {r4, r5}
986
- mov r4, sp
987
- adds r4, r4, r2
988
- __KeccakP1600_ExtractBytesInLane_Loop:
989
- ldrb r2, [r4]
990
- adds r4, r4, #1
991
- strb r2, [r1]
992
- adds r1, r1, #1
993
- subs r3, r3, #1
994
- bne __KeccakP1600_ExtractBytesInLane_Loop
995
- add sp, #8
996
- bx lr
997
-
998
-
999
- @----------------------------------------------------------------------------
1000
- @
1001
- @ void KeccakP1600_ExtractAndAddBytes(void *state, const unsigned char *input, unsigned char *output, unsigned int offset, unsigned int length)
1002
- @
1003
- .align 8
1004
- .global KeccakP1600_ExtractAndAddBytes
1005
- .type KeccakP1600_ExtractAndAddBytes, %function;
1006
- KeccakP1600_ExtractAndAddBytes:
1007
- push {r3 - r7, lr}
1008
- mov r4, r8
1009
- mov r5, r9
1010
- push {r4 - r5}
1011
- mov r9, r2
1012
- mov r2, r3
1013
- ldr r3, [sp, #8*4]
1014
- cmp r3, #0 @ .if length != 0
1015
- beq KeccakP1600_ExtractAndAddBytes_Exit
1016
- lsrs r4, r2, #3 @ offset &= ~7
1017
- lsls r4, r4, #3
1018
- adds r0, r0, r4 @ add whole lane offset to state pointer
1019
- lsls r2, r2, #29 @ offset &= 7 (part not lane aligned)
1020
- lsrs r2, r2, #29
1021
- beq KeccakP1600_ExtractAndAddBytes_CheckLanes @ .if offset != 0
1022
- movs r4, r3 @ then, do remaining bytes in first lane
1023
- movs r5, #8
1024
- subs r5, r2 @ max size in lane = 8 - offset
1025
- cmp r4, r5
1026
- ble KeccakP1600_ExtractAndAddBytes_BytesAlign
1027
- movs r4, r5
1028
- KeccakP1600_ExtractAndAddBytes_BytesAlign:
1029
- subs r3, r3, r4 @ size left
1030
- mov r8, r3
1031
- movs r3, r4
1032
- adr r7, KeccakP1600_ExtractAndAddBytes_FromBitInterleavingConstants
1033
- bl __KeccakP1600_ExtractAndAddBytesInLane
1034
- mov r3, r8
1035
- KeccakP1600_ExtractAndAddBytes_CheckLanes:
1036
- lsrs r2, r3, #3 @ .if length >= 8
1037
- beq KeccakP1600_ExtractAndAddBytes_Bytes
1038
- mov r8, r3
1039
- adr r3, KeccakP1600_ExtractAndAddBytes_FromBitInterleavingConstants
1040
- bl __KeccakP1600_ExtractAndAddLanes
1041
- mov r3, r8
1042
- lsls r3, r3, #29
1043
- lsrs r3, r3, #29
1044
- KeccakP1600_ExtractAndAddBytes_Bytes:
1045
- cmp r3, #0
1046
- beq KeccakP1600_ExtractAndAddBytes_Exit
1047
- movs r2, #0
1048
- adr r7, KeccakP1600_ExtractAndAddBytes_FromBitInterleavingConstants
1049
- bl __KeccakP1600_ExtractAndAddBytesInLane
1050
- KeccakP1600_ExtractAndAddBytes_Exit:
1051
- pop {r4 - r5}
1052
- mov r8, r4
1053
- mov r9, r5
1054
- pop {r3 - r7, pc}
1055
- .align 8
1056
- KeccakP1600_ExtractAndAddBytes_FromBitInterleavingConstants:
1057
- .long 0x0000FF00
1058
- .long 0x00F000F0
1059
- .long 0x0C0C0C0C
1060
- .long 0x22222222
1061
-
1062
-
1063
- @----------------------------------------------------------------------------
1064
- @
1065
- @ __KeccakP1600_ExtractAndAddLanes
1066
- @
1067
- @ Input:
1068
- @ r0 state pointer
1069
- @ r1 in pointer
1070
- @ r2 laneCount
1071
- @ r3 from bit interleaving constants pointer
1072
- @ r9 out pointer
1073
- @
1074
- @ Output:
1075
- @ r0 state pointer next lane
1076
- @ r1 in pointer (next lane)
1077
- @ r9 out pointer (next lane)
1078
- @
1079
- @ Changed: r2-r7
1080
- @
1081
- .align 8
1082
- __KeccakP1600_ExtractAndAddLanes:
1083
- lsls r4, r1, #30
1084
- bne __KeccakP1600_ExtractAndAddLanes_LoopUnaligned
1085
- mov r4, r9
1086
- lsls r4, r4, #30
1087
- bne __KeccakP1600_ExtractAndAddLanes_LoopUnaligned
1088
- __KeccakP1600_ExtractAndAddLanes_LoopAligned:
1089
- ldmia r0!, {r6,r7}
1090
- fromBitInterleaving r6, r7, r5, r4, r3
1091
- mov r4, r9
1092
- ldm r1!, {r5}
1093
- eors r6, r6, r5
1094
- ldm r1!, {r5}
1095
- eors r7, r7, r5
1096
- stmia r4!, {r6,r7}
1097
- mov r9, r4
1098
- subs r2, r2, #1
1099
- bne __KeccakP1600_ExtractAndAddLanes_LoopAligned
1100
- bx lr
1101
- __KeccakP1600_ExtractAndAddLanes_LoopUnaligned:
1102
- ldmia r0!, {r6,r7}
1103
- fromBitInterleaving r6, r7, r5, r4, r3
1104
- mov r4, r9
1105
- ldrb r5, [r1, #0]
1106
- eors r5, r5, r6
1107
- strb r5, [r4, #0]
1108
- lsrs r6, r6, #8
1109
- ldrb r5, [r1, #1]
1110
- eors r5, r5, r6
1111
- strb r5, [r4, #1]
1112
- lsrs r6, r6, #8
1113
- ldrb r5, [r1, #2]
1114
- eors r5, r5, r6
1115
- strb r5, [r4, #2]
1116
- lsrs r6, r6, #8
1117
- ldrb r5, [r1, #3]
1118
- eors r5, r5, r6
1119
- strb r5, [r4, #3]
1120
- ldrb r5, [r1, #4]
1121
- eors r5, r5, r7
1122
- strb r5, [r4, #4]
1123
- lsrs r7, r7, #8
1124
- ldrb r5, [r1, #5]
1125
- eors r5, r5, r7
1126
- strb r5, [r4, #5]
1127
- lsrs r7, r7, #8
1128
- ldrb r5, [r1, #6]
1129
- eors r5, r5, r7
1130
- strb r5, [r4, #6]
1131
- lsrs r7, r7, #8
1132
- ldrb r5, [r1, #7]
1133
- eors r5, r5, r7
1134
- strb r5, [r4, #7]
1135
- adds r1, r1, #8
1136
- adds r4, r4, #8
1137
- mov r9, r4
1138
- subs r2, r2, #1
1139
- bne __KeccakP1600_ExtractAndAddLanes_LoopUnaligned
1140
- bx lr
1141
-
1142
-
1143
- @----------------------------------------------------------------------------
1144
- @
1145
- @ __KeccakP1600_ExtractAndAddBytesInLane
1146
- @
1147
- @ Input:
1148
- @ r0 state pointer
1149
- @ r1 data pointer
1150
- @ r2 offset in lane
1151
- @ r3 length
1152
- @ r7 from bit interleaving constants pointer
1153
- @ r9 out pointer
1154
- @
1155
- @ Output:
1156
- @ r0 state pointer next lane
1157
- @ r1 in pointer (next byte)
1158
- @ r9 out pointer (next byte)
1159
- @
1160
- @ Changed: r2-r7
1161
- @
1162
- .align 8
1163
- __KeccakP1600_ExtractAndAddBytesInLane:
1164
- ldmia r0!, {r4,r5}
1165
- push {r0, r3}
1166
- fromBitInterleaving r4, r5, r0, r3, r7
1167
- pop {r0, r3}
1168
- push {r4, r5}
1169
- mov r4, sp
1170
- adds r4, r4, r2
1171
- mov r6, r9
1172
- __KeccakP1600_ExtractAndAddBytesInLane_Loop:
1173
- ldrb r2, [r4]
1174
- adds r4, r4, #1
1175
- ldrb r5, [r1]
1176
- eors r2, r2, r5
1177
- strb r2, [r6]
1178
- adds r1, r1, #1
1179
- adds r6, r6, #1
1180
- subs r3, r3, #1
1181
- bne __KeccakP1600_ExtractAndAddBytesInLane_Loop
1182
- add sp, #8
1183
- mov r9, r6
1184
- bx lr
1185
-
1186
-
1187
- @ ----------------------------------------------------------------------------
1188
- @
1189
- @ void KeccakP1600_Permute_Nrounds(void *state, unsigned int nrounds)
1190
- @
1191
- .align 8
1192
- .global KeccakP1600_Permute_Nrounds
1193
- .type KeccakP1600_Permute_Nrounds, %function;
1194
- KeccakP1600_Permute_Nrounds:
1195
- movs r2, r1
1196
- lsls r3, r2, #3
1197
- adr r1, KeccakP1600_Permute_RoundConstants0
1198
- subs r1, r1, r3
1199
- lsls r2, r2, #31
1200
- bne KeccakP1600_Permute_NroundsOdd
1201
- b KeccakP1600_Permute
1202
- KeccakP1600_Permute_NroundsOdd:
1203
- push { r4 - r6, lr }
1204
- mov r2, r8
1205
- mov r3, r9
1206
- mov r4, r10
1207
- mov r5, r11
1208
- mov r6, r12
1209
- push { r2 - r7 }
1210
- sub sp, #mSize
1211
- subs r1, r1, #8
1212
- str r1, [sp, #mRC]
1213
- mov r7, sp
1214
- ldm r0!, {r1-r5}
1215
- stm r7!, {r1-r5}
1216
- ldm r0!, {r1-r5}
1217
- stm r7!, {r1-r5}
1218
- ldm r0!, {r1-r5}
1219
- stm r7!, {r1-r5}
1220
- ldm r0!, {r1-r5}
1221
- stm r7!, {r1-r5}
1222
- ldm r0!, {r1-r5}
1223
- stm r7!, {r1-r5}
1224
- ldm r0!, {r1-r5}
1225
- stm r7!, {r1-r5}
1226
- ldm r0!, {r1-r5}
1227
- stm r7!, {r1-r5}
1228
- ldm r0!, {r1-r5}
1229
- stm r7!, {r1-r5}
1230
- ldm r0!, {r1-r5}
1231
- stm r7!, {r1-r5}
1232
- ldm r0!, {r1-r5}
1233
- stm r7!, {r1-r5}
1234
- subs r0, r0, #25*2*4
1235
- movs r7, #_ma0
1236
- adds r7, r7, r0
1237
- b KeccakP1600_Permute_RoundOdd
1238
-
1239
-
1240
- @ ----------------------------------------------------------------------------
1241
- @
1242
- @ void KeccakP1600_Permute_12rounds( void *state )
1243
- @
1244
- .align 8
1245
- .global KeccakP1600_Permute_12rounds
1246
- .type KeccakP1600_Permute_12rounds, %function;
1247
- KeccakP1600_Permute_12rounds:
1248
- adr r1, KeccakP1600_Permute_RoundConstants12
1249
- b KeccakP1600_Permute
1250
-
1251
-
1252
- @ ----------------------------------------------------------------------------
1253
- @
1254
- @ void KeccakP1600_Permute_24rounds( void *state )
1255
- @
1256
- .align 8
1257
- .global KeccakP1600_Permute_24rounds
1258
- .type KeccakP1600_Permute_24rounds, %function;
1259
- KeccakP1600_Permute_24rounds:
1260
- adr r1, KeccakP1600_Permute_RoundConstants24
1261
- b KeccakP1600_Permute
1262
-
1263
-
1264
- .align 8
1265
- KeccakP1600_Permute_RoundConstants24:
1266
- @ 0 1
1267
- .long 0x00000001, 0x00000000
1268
- .long 0x00000000, 0x00000089
1269
- .long 0x00000000, 0x8000008b
1270
- .long 0x00000000, 0x80008080
1271
- .long 0x00000001, 0x0000008b
1272
- .long 0x00000001, 0x00008000
1273
- .long 0x00000001, 0x80008088
1274
- .long 0x00000001, 0x80000082
1275
- .long 0x00000000, 0x0000000b
1276
- .long 0x00000000, 0x0000000a
1277
- .long 0x00000001, 0x00008082
1278
- .long 0x00000000, 0x00008003
1279
- KeccakP1600_Permute_RoundConstants12:
1280
- .long 0x00000001, 0x0000808b
1281
- .long 0x00000001, 0x8000000b
1282
- .long 0x00000001, 0x8000008a
1283
- .long 0x00000001, 0x80000081
1284
- .long 0x00000000, 0x80000081
1285
- .long 0x00000000, 0x80000008
1286
- .long 0x00000000, 0x00000083
1287
- .long 0x00000000, 0x80008003
1288
- .long 0x00000001, 0x80008088
1289
- .long 0x00000000, 0x80000088
1290
- .long 0x00000001, 0x00008000
1291
- .long 0x00000000, 0x80008082
1292
- KeccakP1600_Permute_RoundConstants0:
1293
- .long 0x000000FF @terminator
1294
-
1295
- @----------------------------------------------------------------------------
1296
- @
1297
- @ void KeccakP1600_Permute( void *state, void * rc )
1298
- @
1299
- .align 8
1300
- KeccakP1600_Permute:
1301
- push { r4 - r6, lr }
1302
- mov r2, r8
1303
- mov r3, r9
1304
- mov r4, r10
1305
- mov r5, r11
1306
- mov r6, r12
1307
- push { r2 - r7 }
1308
- sub sp, #mSize
1309
- movs r7, #_ma0
1310
- adds r7, r7, r0
1311
- KeccakP1600_Permute_RoundLoop:
1312
- str r1, [sp, #mRC]
1313
- Kround 0, 0
1314
- KeccakP1600_Permute_RoundOdd:
1315
- Kround 1, 8
1316
- adds r1, r1, #2*8 @ Update pointer RC
1317
- ldr r6, [r1] @ Check terminator
1318
- cmp r6, #0xFF
1319
- beq KeccakP1600_Permute_Done
1320
- ldr r6, =KeccakP1600_Permute_RoundLoop+1
1321
- bx r6
1322
- .align 8
1323
- .ltorg
1324
- KeccakP1600_Permute_Done:
1325
- add sp, #mSize
1326
- pop { r1 - r5, r7 }
1327
- mov r8, r1
1328
- mov r9, r2
1329
- mov r10, r3
1330
- mov r11, r4
1331
- mov r12, r5
1332
- pop { r4 - r6, pc }
1333
-
1334
-