digest-kangarootwelve 0.3.2 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1061) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/LICENSE.XKCP +9 -0
  4. data/README.md +85 -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/ARM/KeccakP-1600-inplace-32bi-armv7m-le-gcc.s +1175 -0
  17. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ARM/KeccakP-1600-u2-32bi-armv6m-le-gcc.s +1339 -0
  18. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ARMv7A-NEON/KeccakP-1600-SnP.h +42 -0
  19. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ARMv7A-NEON/KeccakP-1600-armv7a-le-neon-gcc.s +831 -0
  20. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVR8/KeccakP-1600-SnP.h +42 -0
  21. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVR8/KeccakP-1600-avr8-fast.s +1121 -0
  22. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX2/KeccakP-1600-AVX2.s +1100 -0
  23. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX2/KeccakP-1600-SnP.h +52 -0
  24. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX512/C/KeccakP-1600-AVX512.c +623 -0
  25. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX512/C/KeccakP-1600-SnP.h +47 -0
  26. data/ext/digest/kangarootwelve/{keccak/skylakex → XKCP/lib/low/KeccakP-1600/AVX512/C/u12}/KeccakP-1600-AVX512-config.h +0 -0
  27. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX512/KeccakP-1600-AVX512.s +1031 -0
  28. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX512/KeccakP-1600-SnP.h +53 -0
  29. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/XOP/KeccakP-1600-SnP.h +44 -0
  30. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/XOP/KeccakP-1600-XOP.c +476 -0
  31. data/ext/digest/kangarootwelve/{keccak/bulldozer → XKCP/lib/low/KeccakP-1600/XOP/ua}/KeccakP-1600-XOP-config.h +0 -0
  32. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/common/KeccakP-1600-64.macros +748 -0
  33. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/common/KeccakP-1600-unrolling.macros +305 -0
  34. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/compact/KeccakP-1600-SnP.h +40 -0
  35. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/compact/KeccakP-1600-compact64.c +420 -0
  36. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-32bits-inplace/KeccakP-1600-SnP.h +43 -0
  37. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-32bits-inplace/KeccakP-1600-inplace32BI.c +1163 -0
  38. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-64bits/KeccakP-1600-SnP.h +54 -0
  39. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-64bits/KeccakP-1600-opt64.c +565 -0
  40. data/ext/digest/kangarootwelve/{keccak/generic64lc → XKCP/lib/low/KeccakP-1600/plain-64bits/lcua}/KeccakP-1600-opt64-config.h +0 -0
  41. data/ext/digest/kangarootwelve/{keccak/sandybridge → XKCP/lib/low/KeccakP-1600/plain-64bits/lcua-shld}/KeccakP-1600-opt64-config.h +0 -0
  42. data/ext/digest/kangarootwelve/{keccak/generic64 → XKCP/lib/low/KeccakP-1600/plain-64bits/ua}/KeccakP-1600-opt64-config.h +0 -0
  43. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-32bits/KeccakP-1600-SnP.h +44 -0
  44. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-32bits/KeccakP-1600-reference.h +23 -0
  45. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-32bits/KeccakP-1600-reference32BI.c +625 -0
  46. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-64bits/KeccakP-1600-SnP.h +44 -0
  47. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-64bits/KeccakP-1600-reference.c +440 -0
  48. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-64bits/KeccakP-1600-reference.h +23 -0
  49. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/ARMv7A-NEON/KeccakP-1600-inplace-pl2-armv7a-neon-le-gcc.s +1394 -0
  50. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/ARMv7A-NEON/KeccakP-1600-times2-SnP.h +42 -0
  51. data/ext/digest/kangarootwelve/{keccak/skylakex → XKCP/lib/low/KeccakP-1600-times2/AVX512/AVX512u12}/SIMD512-2-config.h +0 -0
  52. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/AVX512/KeccakP-1600-times2-SIMD512.c +850 -0
  53. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/AVX512/KeccakP-1600-times2-SnP.h +51 -0
  54. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/SIMD128/KeccakP-1600-times2-SIMD128.c +957 -0
  55. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/SIMD128/KeccakP-1600-times2-SnP.h +49 -0
  56. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/SIMD128/SSSE3-u2/SIMD128-config.h +8 -0
  57. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/SIMD128/SSSE3-ua/SIMD128-config.h +8 -0
  58. data/ext/digest/kangarootwelve/{keccak/bulldozer → XKCP/lib/low/KeccakP-1600-times2/SIMD128/XOP-ua}/SIMD128-config.h +0 -0
  59. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/fallback-on1/KeccakP-1600-times2-SnP.h +45 -0
  60. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/fallback-on1/KeccakP-1600-times2-on1.c +37 -0
  61. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX2/KeccakP-1600-times4-SIMD256.c +1321 -0
  62. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX2/KeccakP-1600-times4-SnP.h +55 -0
  63. data/ext/digest/kangarootwelve/{keccak/haswell → XKCP/lib/low/KeccakP-1600-times4/AVX2/u12}/SIMD256-config.h +0 -0
  64. data/ext/digest/kangarootwelve/{keccak/skylakex → XKCP/lib/low/KeccakP-1600-times4/AVX512/AVX512u12}/SIMD512-4-config.h +0 -0
  65. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX512/KeccakP-1600-times4-SIMD512.c +881 -0
  66. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX512/KeccakP-1600-times4-SnP.h +51 -0
  67. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on1/KeccakP-1600-times4-SnP.h +45 -0
  68. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on1/KeccakP-1600-times4-on1.c +37 -0
  69. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on2/KeccakP-1600-times4-SnP.h +45 -0
  70. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on2/KeccakP-1600-times4-on2.c +38 -0
  71. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/AVX512/KeccakP-1600-times8-SIMD512.c +1615 -0
  72. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/AVX512/KeccakP-1600-times8-SnP.h +57 -0
  73. data/ext/digest/kangarootwelve/{keccak/skylakex → XKCP/lib/low/KeccakP-1600-times8/AVX512/u12}/SIMD512-config.h +0 -0
  74. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on1/KeccakP-1600-times8-SnP.h +45 -0
  75. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on1/KeccakP-1600-times8-on1.c +37 -0
  76. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on2/KeccakP-1600-times8-SnP.h +45 -0
  77. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on2/KeccakP-1600-times8-on2.c +38 -0
  78. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on4/KeccakP-1600-times8-SnP.h +45 -0
  79. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on4/KeccakP-1600-times8-on4.c +38 -0
  80. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ARM/KeccakP-200-SnP.h +41 -0
  81. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ARM/KeccakP-200-armv6m-le-gcc.s +446 -0
  82. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ARM/KeccakP-200-armv7m-le-gcc.s +427 -0
  83. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/AVR8/KeccakP-200-SnP.h +41 -0
  84. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/AVR8/KeccakP-200-avr8-fast.s +647 -0
  85. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/compact/KeccakP-200-SnP.h +39 -0
  86. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/compact/KeccakP-200-compact.c +190 -0
  87. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ref/KeccakP-200-SnP.h +43 -0
  88. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ref/KeccakP-200-reference.c +412 -0
  89. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ref/KeccakP-200-reference.h +23 -0
  90. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ARM/KeccakP-400-SnP.h +41 -0
  91. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ARM/KeccakP-400-armv6m-le-gcc.s +458 -0
  92. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ARM/KeccakP-400-armv7m-le-gcc.s +458 -0
  93. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/AVR8/KeccakP-400-SnP.h +41 -0
  94. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/AVR8/KeccakP-400-avr8-fast.s +728 -0
  95. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ref/KeccakP-400-SnP.h +43 -0
  96. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ref/KeccakP-400-reference.c +414 -0
  97. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ref/KeccakP-400-reference.h +23 -0
  98. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ARM/KeccakP-800-SnP.h +42 -0
  99. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ARM/KeccakP-800-u2-armv6m-le-gcc.s +534 -0
  100. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ARM/KeccakP-800-u2-armv7a-le-gcc.s +527 -0
  101. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ARM/KeccakP-800-u2-armv7m-le-gcc.s +523 -0
  102. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/AVR8/KeccakP-800-SnP.h +42 -0
  103. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/AVR8/KeccakP-800-avr8-fast.s +929 -0
  104. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/compact/KeccakP-800-SnP.h +40 -0
  105. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/compact/KeccakP-800-compact.c +244 -0
  106. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-SnP.h +46 -0
  107. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-opt32-bis.macros +184 -0
  108. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-opt32.c +454 -0
  109. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-opt32.macros +459 -0
  110. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-unrolling-bis.macros +83 -0
  111. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-unrolling.macros +88 -0
  112. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/lcu2/KeccakP-800-opt32-config.h +7 -0
  113. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/lcua/KeccakP-800-opt32-config.h +7 -0
  114. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/u2/KeccakP-800-opt32-config.h +7 -0
  115. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/ua/KeccakP-800-opt32-config.h +7 -0
  116. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ref/KeccakP-800-SnP.h +44 -0
  117. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ref/KeccakP-800-reference.c +437 -0
  118. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ref/KeccakP-800-reference.h +23 -0
  119. data/ext/digest/kangarootwelve/XKCP/lib/low/common/PlSnP-Fallback.inc +290 -0
  120. data/ext/digest/kangarootwelve/XKCP/lib/low/common/SnP-Relaned.h +141 -0
  121. data/ext/digest/kangarootwelve/XKCP/tests/UnitTests/displayIntermediateValues.c +177 -0
  122. data/ext/digest/kangarootwelve/XKCP/tests/UnitTests/displayIntermediateValues.h +30 -0
  123. data/ext/digest/kangarootwelve/ext.c +30 -22
  124. data/ext/digest/kangarootwelve/extconf.rb +8 -11
  125. data/ext/digest/kangarootwelve/targets/armv6/KangarooTwelve.c +1 -0
  126. data/ext/digest/kangarootwelve/targets/armv6/KangarooTwelve.h +1 -0
  127. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-SnP.h +1 -0
  128. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times2-SnP.h +1 -0
  129. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times2-on1.c +1 -0
  130. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times4-SnP.h +1 -0
  131. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times4-on1.c +1 -0
  132. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times8-SnP.h +1 -0
  133. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times8-on1.c +1 -0
  134. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-u2-32bi-armv6m-le-gcc.S +1 -0
  135. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-200-SnP.h +1 -0
  136. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-200-armv6m-le-gcc.S +1 -0
  137. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-400-SnP.h +1 -0
  138. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-400-armv6m-le-gcc.S +1 -0
  139. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-800-SnP.h +1 -0
  140. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-800-u2-armv6m-le-gcc.S +1 -0
  141. data/ext/digest/kangarootwelve/targets/armv6/KeccakSponge.c +1 -0
  142. data/ext/digest/kangarootwelve/targets/armv6/KeccakSponge.h +1 -0
  143. data/ext/digest/kangarootwelve/targets/armv6/KeccakSponge.inc +1 -0
  144. data/ext/digest/kangarootwelve/targets/armv6/Phases.h +1 -0
  145. data/ext/digest/kangarootwelve/targets/armv6/PlSnP-Fallback.inc +1 -0
  146. data/ext/digest/kangarootwelve/targets/armv6/align.h +1 -0
  147. data/ext/digest/kangarootwelve/targets/armv6/brg_endian.h +1 -0
  148. data/ext/digest/kangarootwelve/targets/armv6/config.h +1 -0
  149. data/ext/digest/kangarootwelve/{keccak/armv6m/ext.link.c → targets/armv6/ext.c} +0 -0
  150. data/ext/digest/kangarootwelve/targets/armv6/utils.h +1 -0
  151. data/ext/digest/kangarootwelve/targets/armv6m/KangarooTwelve.c +1 -0
  152. data/ext/digest/kangarootwelve/targets/armv6m/KangarooTwelve.h +1 -0
  153. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-SnP.h +1 -0
  154. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times2-SnP.h +1 -0
  155. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times2-on1.c +1 -0
  156. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times4-SnP.h +1 -0
  157. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times4-on1.c +1 -0
  158. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times8-SnP.h +1 -0
  159. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times8-on1.c +1 -0
  160. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-u2-32bi-armv6m-le-gcc.S +1 -0
  161. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-200-SnP.h +1 -0
  162. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-200-armv6m-le-gcc.S +1 -0
  163. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-400-SnP.h +1 -0
  164. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-400-armv6m-le-gcc.S +1 -0
  165. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-800-SnP.h +1 -0
  166. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-800-u2-armv6m-le-gcc.S +1 -0
  167. data/ext/digest/kangarootwelve/targets/armv6m/KeccakSponge.c +1 -0
  168. data/ext/digest/kangarootwelve/targets/armv6m/KeccakSponge.h +1 -0
  169. data/ext/digest/kangarootwelve/targets/armv6m/KeccakSponge.inc +1 -0
  170. data/ext/digest/kangarootwelve/targets/armv6m/Phases.h +1 -0
  171. data/ext/digest/kangarootwelve/targets/armv6m/PlSnP-Fallback.inc +1 -0
  172. data/ext/digest/kangarootwelve/targets/armv6m/align.h +1 -0
  173. data/ext/digest/kangarootwelve/targets/armv6m/brg_endian.h +1 -0
  174. data/ext/digest/kangarootwelve/targets/armv6m/config.h +1 -0
  175. data/ext/digest/kangarootwelve/{keccak/armv7a/ext.link.c → targets/armv6m/ext.c} +0 -0
  176. data/ext/digest/kangarootwelve/targets/armv6m/utils.h +1 -0
  177. data/ext/digest/kangarootwelve/targets/armv7a/KangarooTwelve.c +1 -0
  178. data/ext/digest/kangarootwelve/targets/armv7a/KangarooTwelve.h +1 -0
  179. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-SnP.h +1 -0
  180. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-armv7a-le-neon-gcc.S +1 -0
  181. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-inplace-pl2-armv7a-neon-le-gcc.S +1 -0
  182. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times2-SnP.h +1 -0
  183. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times4-SnP.h +1 -0
  184. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times4-on2.c +1 -0
  185. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times8-SnP.h +1 -0
  186. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times8-on2.c +1 -0
  187. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-200-SnP.h +1 -0
  188. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-200-reference.c +1 -0
  189. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-200-reference.h +1 -0
  190. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-400-SnP.h +1 -0
  191. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-400-reference.c +1 -0
  192. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-400-reference.h +1 -0
  193. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-800-SnP.h +1 -0
  194. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-800-u2-armv7a-le-gcc.S +1 -0
  195. data/ext/digest/kangarootwelve/targets/armv7a/KeccakSponge.c +1 -0
  196. data/ext/digest/kangarootwelve/targets/armv7a/KeccakSponge.h +1 -0
  197. data/ext/digest/kangarootwelve/targets/armv7a/KeccakSponge.inc +1 -0
  198. data/ext/digest/kangarootwelve/targets/armv7a/Phases.h +1 -0
  199. data/ext/digest/kangarootwelve/targets/armv7a/PlSnP-Fallback.inc +1 -0
  200. data/ext/digest/kangarootwelve/targets/armv7a/align.h +1 -0
  201. data/ext/digest/kangarootwelve/targets/armv7a/brg_endian.h +1 -0
  202. data/ext/digest/kangarootwelve/targets/armv7a/config.h +1 -0
  203. data/ext/digest/kangarootwelve/{keccak/armv7m/ext.link.c → targets/armv7a/ext.c} +0 -0
  204. data/ext/digest/kangarootwelve/targets/armv7a/utils.h +1 -0
  205. data/ext/digest/kangarootwelve/targets/armv7m/KangarooTwelve.c +1 -0
  206. data/ext/digest/kangarootwelve/targets/armv7m/KangarooTwelve.h +1 -0
  207. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-SnP.h +1 -0
  208. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-inplace-32bi-armv7m-le-gcc.S +1 -0
  209. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times2-SnP.h +1 -0
  210. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times2-on1.c +1 -0
  211. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times4-SnP.h +1 -0
  212. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times4-on1.c +1 -0
  213. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times8-SnP.h +1 -0
  214. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times8-on1.c +1 -0
  215. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-200-SnP.h +1 -0
  216. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-200-armv7m-le-gcc.S +1 -0
  217. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-400-SnP.h +1 -0
  218. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-400-armv7m-le-gcc.S +1 -0
  219. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-800-SnP.h +1 -0
  220. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-800-u2-armv7m-le-gcc.S +1 -0
  221. data/ext/digest/kangarootwelve/targets/armv7m/KeccakSponge.c +1 -0
  222. data/ext/digest/kangarootwelve/targets/armv7m/KeccakSponge.h +1 -0
  223. data/ext/digest/kangarootwelve/targets/armv7m/KeccakSponge.inc +1 -0
  224. data/ext/digest/kangarootwelve/targets/armv7m/Phases.h +1 -0
  225. data/ext/digest/kangarootwelve/targets/armv7m/PlSnP-Fallback.inc +1 -0
  226. data/ext/digest/kangarootwelve/targets/armv7m/align.h +1 -0
  227. data/ext/digest/kangarootwelve/targets/armv7m/brg_endian.h +1 -0
  228. data/ext/digest/kangarootwelve/targets/armv7m/config.h +1 -0
  229. data/ext/digest/kangarootwelve/{keccak/armv8a/ext.link.c → targets/armv7m/ext.c} +0 -0
  230. data/ext/digest/kangarootwelve/targets/armv7m/utils.h +1 -0
  231. data/ext/digest/kangarootwelve/targets/armv8a/KangarooTwelve.c +1 -0
  232. data/ext/digest/kangarootwelve/targets/armv8a/KangarooTwelve.h +1 -0
  233. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-64.macros +1 -0
  234. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-SnP.h +1 -0
  235. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-opt64-config.h +1 -0
  236. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-opt64.c +1 -0
  237. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times2-SnP.h +1 -0
  238. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times2-on1.c +1 -0
  239. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times4-SnP.h +1 -0
  240. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times4-on1.c +1 -0
  241. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times8-SnP.h +1 -0
  242. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times8-on1.c +1 -0
  243. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-unrolling.macros +1 -0
  244. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-200-SnP.h +1 -0
  245. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-200-reference.c +1 -0
  246. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-200-reference.h +1 -0
  247. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-400-SnP.h +1 -0
  248. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-400-reference.c +1 -0
  249. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-400-reference.h +1 -0
  250. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-SnP.h +1 -0
  251. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32-bis.macros +1 -0
  252. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32-config.h +1 -0
  253. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32.c +1 -0
  254. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32.macros +1 -0
  255. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-unrolling-bis.macros +1 -0
  256. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-unrolling.macros +1 -0
  257. data/ext/digest/kangarootwelve/targets/armv8a/KeccakSponge.c +1 -0
  258. data/ext/digest/kangarootwelve/targets/armv8a/KeccakSponge.h +1 -0
  259. data/ext/digest/kangarootwelve/targets/armv8a/KeccakSponge.inc +1 -0
  260. data/ext/digest/kangarootwelve/targets/armv8a/Phases.h +1 -0
  261. data/ext/digest/kangarootwelve/targets/armv8a/PlSnP-Fallback.inc +1 -0
  262. data/ext/digest/kangarootwelve/targets/armv8a/SnP-Relaned.h +1 -0
  263. data/ext/digest/kangarootwelve/targets/armv8a/align.h +1 -0
  264. data/ext/digest/kangarootwelve/targets/armv8a/brg_endian.h +1 -0
  265. data/ext/digest/kangarootwelve/targets/armv8a/config.h +1 -0
  266. data/ext/digest/kangarootwelve/{keccak/asmx86-64/ext.link.c → targets/armv8a/ext.c} +0 -0
  267. data/ext/digest/kangarootwelve/targets/armv8a/utils.h +1 -0
  268. data/ext/digest/kangarootwelve/targets/avr8/KangarooTwelve.c +1 -0
  269. data/ext/digest/kangarootwelve/targets/avr8/KangarooTwelve.h +1 -0
  270. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-SnP.h +1 -0
  271. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-avr8-fast.S +1 -0
  272. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times2-SnP.h +1 -0
  273. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times2-on1.c +1 -0
  274. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times4-SnP.h +1 -0
  275. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times4-on1.c +1 -0
  276. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times8-SnP.h +1 -0
  277. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times8-on1.c +1 -0
  278. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-200-SnP.h +1 -0
  279. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-200-avr8-fast.S +1 -0
  280. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-400-SnP.h +1 -0
  281. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-400-avr8-fast.S +1 -0
  282. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-800-SnP.h +1 -0
  283. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-800-avr8-fast.S +1 -0
  284. data/ext/digest/kangarootwelve/targets/avr8/KeccakSponge.c +1 -0
  285. data/ext/digest/kangarootwelve/targets/avr8/KeccakSponge.h +1 -0
  286. data/ext/digest/kangarootwelve/targets/avr8/KeccakSponge.inc +1 -0
  287. data/ext/digest/kangarootwelve/targets/avr8/Phases.h +1 -0
  288. data/ext/digest/kangarootwelve/targets/avr8/PlSnP-Fallback.inc +1 -0
  289. data/ext/digest/kangarootwelve/targets/avr8/align.h +1 -0
  290. data/ext/digest/kangarootwelve/targets/avr8/brg_endian.h +1 -0
  291. data/ext/digest/kangarootwelve/targets/avr8/config.h +1 -0
  292. data/ext/digest/kangarootwelve/{keccak/asmx86-64shld/ext.link.c → targets/avr8/ext.c} +0 -0
  293. data/ext/digest/kangarootwelve/targets/avr8/utils.h +1 -0
  294. data/ext/digest/kangarootwelve/targets/avx/KangarooTwelve.c +1 -0
  295. data/ext/digest/kangarootwelve/targets/avx/KangarooTwelve.h +1 -0
  296. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-64.macros +1 -0
  297. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-SnP.h +1 -0
  298. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-opt64-config.h +1 -0
  299. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-opt64.c +1 -0
  300. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times2-SIMD128.c +1 -0
  301. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times2-SnP.h +1 -0
  302. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times4-SnP.h +1 -0
  303. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times4-on2.c +1 -0
  304. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times8-SnP.h +1 -0
  305. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times8-on2.c +1 -0
  306. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-unrolling.macros +1 -0
  307. data/ext/digest/kangarootwelve/targets/avx/KeccakP-200-SnP.h +1 -0
  308. data/ext/digest/kangarootwelve/targets/avx/KeccakP-200-reference.c +1 -0
  309. data/ext/digest/kangarootwelve/targets/avx/KeccakP-200-reference.h +1 -0
  310. data/ext/digest/kangarootwelve/targets/avx/KeccakP-400-SnP.h +1 -0
  311. data/ext/digest/kangarootwelve/targets/avx/KeccakP-400-reference.c +1 -0
  312. data/ext/digest/kangarootwelve/targets/avx/KeccakP-400-reference.h +1 -0
  313. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-SnP.h +1 -0
  314. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32-bis.macros +1 -0
  315. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32-config.h +1 -0
  316. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32.c +1 -0
  317. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32.macros +1 -0
  318. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-unrolling-bis.macros +1 -0
  319. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-unrolling.macros +1 -0
  320. data/ext/digest/kangarootwelve/targets/avx/KeccakSponge.c +1 -0
  321. data/ext/digest/kangarootwelve/targets/avx/KeccakSponge.h +1 -0
  322. data/ext/digest/kangarootwelve/targets/avx/KeccakSponge.inc +1 -0
  323. data/ext/digest/kangarootwelve/targets/avx/Phases.h +1 -0
  324. data/ext/digest/kangarootwelve/targets/avx/PlSnP-Fallback.inc +1 -0
  325. data/ext/digest/kangarootwelve/targets/avx/SIMD128-config.h +1 -0
  326. data/ext/digest/kangarootwelve/targets/avx/SnP-Relaned.h +1 -0
  327. data/ext/digest/kangarootwelve/targets/avx/align.h +1 -0
  328. data/ext/digest/kangarootwelve/targets/avx/brg_endian.h +1 -0
  329. data/ext/digest/kangarootwelve/targets/avx/config.h +1 -0
  330. data/ext/digest/kangarootwelve/{keccak/avr8/ext.link.c → targets/avx/ext.c} +0 -0
  331. data/ext/digest/kangarootwelve/targets/avx/utils.h +1 -0
  332. data/ext/digest/kangarootwelve/targets/avx2/KangarooTwelve.c +1 -0
  333. data/ext/digest/kangarootwelve/targets/avx2/KangarooTwelve.h +1 -0
  334. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-AVX2.S +1 -0
  335. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-SnP.h +1 -0
  336. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times2-SIMD128.c +1 -0
  337. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times2-SnP.h +1 -0
  338. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times4-SIMD256.c +1 -0
  339. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times4-SnP.h +1 -0
  340. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times8-SnP.h +1 -0
  341. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times8-on4.c +1 -0
  342. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-unrolling.macros +1 -0
  343. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-200-SnP.h +1 -0
  344. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-200-reference.c +1 -0
  345. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-200-reference.h +1 -0
  346. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-400-SnP.h +1 -0
  347. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-400-reference.c +1 -0
  348. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-400-reference.h +1 -0
  349. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-SnP.h +1 -0
  350. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32-bis.macros +1 -0
  351. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32-config.h +1 -0
  352. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32.c +1 -0
  353. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32.macros +1 -0
  354. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-unrolling-bis.macros +1 -0
  355. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-unrolling.macros +1 -0
  356. data/ext/digest/kangarootwelve/targets/avx2/KeccakSponge.c +1 -0
  357. data/ext/digest/kangarootwelve/targets/avx2/KeccakSponge.h +1 -0
  358. data/ext/digest/kangarootwelve/targets/avx2/KeccakSponge.inc +1 -0
  359. data/ext/digest/kangarootwelve/targets/avx2/Phases.h +1 -0
  360. data/ext/digest/kangarootwelve/targets/avx2/PlSnP-Fallback.inc +1 -0
  361. data/ext/digest/kangarootwelve/targets/avx2/SIMD128-config.h +1 -0
  362. data/ext/digest/kangarootwelve/targets/avx2/SIMD256-config.h +1 -0
  363. data/ext/digest/kangarootwelve/targets/avx2/align.h +1 -0
  364. data/ext/digest/kangarootwelve/targets/avx2/brg_endian.h +1 -0
  365. data/ext/digest/kangarootwelve/targets/avx2/config.h +1 -0
  366. data/ext/digest/kangarootwelve/{keccak/bulldozer/ext.link.c → targets/avx2/ext.c} +0 -0
  367. data/ext/digest/kangarootwelve/targets/avx2/utils.h +1 -0
  368. data/ext/digest/kangarootwelve/targets/avx2noasm/KangarooTwelve.c +1 -0
  369. data/ext/digest/kangarootwelve/targets/avx2noasm/KangarooTwelve.h +1 -0
  370. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-64.macros +1 -0
  371. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-SnP.h +1 -0
  372. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-opt64-config.h +1 -0
  373. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-opt64.c +1 -0
  374. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times2-SIMD128.c +1 -0
  375. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times2-SnP.h +1 -0
  376. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times4-SIMD256.c +1 -0
  377. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times4-SnP.h +1 -0
  378. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times8-SnP.h +1 -0
  379. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times8-on4.c +1 -0
  380. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-unrolling.macros +1 -0
  381. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-200-SnP.h +1 -0
  382. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-200-reference.c +1 -0
  383. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-200-reference.h +1 -0
  384. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-400-SnP.h +1 -0
  385. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-400-reference.c +1 -0
  386. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-400-reference.h +1 -0
  387. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-SnP.h +1 -0
  388. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32-bis.macros +1 -0
  389. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32-config.h +1 -0
  390. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32.c +1 -0
  391. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32.macros +1 -0
  392. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-unrolling-bis.macros +1 -0
  393. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-unrolling.macros +1 -0
  394. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakSponge.c +1 -0
  395. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakSponge.h +1 -0
  396. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakSponge.inc +1 -0
  397. data/ext/digest/kangarootwelve/targets/avx2noasm/Phases.h +1 -0
  398. data/ext/digest/kangarootwelve/targets/avx2noasm/PlSnP-Fallback.inc +1 -0
  399. data/ext/digest/kangarootwelve/targets/avx2noasm/SIMD128-config.h +1 -0
  400. data/ext/digest/kangarootwelve/targets/avx2noasm/SIMD256-config.h +1 -0
  401. data/ext/digest/kangarootwelve/targets/avx2noasm/SnP-Relaned.h +1 -0
  402. data/ext/digest/kangarootwelve/targets/avx2noasm/align.h +1 -0
  403. data/ext/digest/kangarootwelve/targets/avx2noasm/brg_endian.h +1 -0
  404. data/ext/digest/kangarootwelve/targets/avx2noasm/config.h +1 -0
  405. data/ext/digest/kangarootwelve/{keccak/compact/ext.link.c → targets/avx2noasm/ext.c} +0 -0
  406. data/ext/digest/kangarootwelve/targets/avx2noasm/utils.h +1 -0
  407. data/ext/digest/kangarootwelve/targets/avx512/KangarooTwelve.c +1 -0
  408. data/ext/digest/kangarootwelve/targets/avx512/KangarooTwelve.h +1 -0
  409. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-1600-AVX512.S +1 -0
  410. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-1600-SnP.h +1 -0
  411. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-1600-times2-SIMD512.c +1 -0
  412. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-1600-times2-SnP.h +1 -0
  413. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-1600-times4-SIMD512.c +1 -0
  414. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-1600-times4-SnP.h +1 -0
  415. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-1600-times8-SIMD512.c +1 -0
  416. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-1600-times8-SnP.h +1 -0
  417. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-200-SnP.h +1 -0
  418. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-200-reference.c +1 -0
  419. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-200-reference.h +1 -0
  420. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-400-SnP.h +1 -0
  421. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-400-reference.c +1 -0
  422. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-400-reference.h +1 -0
  423. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-SnP.h +1 -0
  424. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32-bis.macros +1 -0
  425. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32-config.h +1 -0
  426. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32.c +1 -0
  427. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32.macros +1 -0
  428. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-unrolling-bis.macros +1 -0
  429. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-unrolling.macros +1 -0
  430. data/ext/digest/kangarootwelve/targets/avx512/KeccakSponge.c +1 -0
  431. data/ext/digest/kangarootwelve/targets/avx512/KeccakSponge.h +1 -0
  432. data/ext/digest/kangarootwelve/targets/avx512/KeccakSponge.inc +1 -0
  433. data/ext/digest/kangarootwelve/targets/avx512/Phases.h +1 -0
  434. data/ext/digest/kangarootwelve/targets/avx512/SIMD512-2-config.h +1 -0
  435. data/ext/digest/kangarootwelve/targets/avx512/SIMD512-4-config.h +1 -0
  436. data/ext/digest/kangarootwelve/targets/avx512/SIMD512-config.h +1 -0
  437. data/ext/digest/kangarootwelve/targets/avx512/align.h +1 -0
  438. data/ext/digest/kangarootwelve/targets/avx512/brg_endian.h +1 -0
  439. data/ext/digest/kangarootwelve/targets/avx512/config.h +1 -0
  440. data/ext/digest/kangarootwelve/{keccak/generic32/ext.link.c → targets/avx512/ext.c} +0 -0
  441. data/ext/digest/kangarootwelve/targets/avx512/utils.h +1 -0
  442. data/ext/digest/kangarootwelve/targets/avx512noasm/KangarooTwelve.c +1 -0
  443. data/ext/digest/kangarootwelve/targets/avx512noasm/KangarooTwelve.h +1 -0
  444. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-AVX512-config.h +1 -0
  445. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-AVX512.c +1 -0
  446. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-SnP.h +1 -0
  447. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-times2-SIMD512.c +1 -0
  448. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-times2-SnP.h +1 -0
  449. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-times4-SIMD512.c +1 -0
  450. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-times4-SnP.h +1 -0
  451. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-times8-SIMD512.c +1 -0
  452. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-1600-times8-SnP.h +1 -0
  453. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-200-SnP.h +1 -0
  454. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-200-reference.c +1 -0
  455. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-200-reference.h +1 -0
  456. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-400-SnP.h +1 -0
  457. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-400-reference.c +1 -0
  458. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-400-reference.h +1 -0
  459. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-SnP.h +1 -0
  460. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32-bis.macros +1 -0
  461. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32-config.h +1 -0
  462. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32.c +1 -0
  463. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32.macros +1 -0
  464. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-unrolling-bis.macros +1 -0
  465. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-unrolling.macros +1 -0
  466. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakSponge.c +1 -0
  467. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakSponge.h +1 -0
  468. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakSponge.inc +1 -0
  469. data/ext/digest/kangarootwelve/targets/avx512noasm/Phases.h +1 -0
  470. data/ext/digest/kangarootwelve/targets/avx512noasm/SIMD512-2-config.h +1 -0
  471. data/ext/digest/kangarootwelve/targets/avx512noasm/SIMD512-4-config.h +1 -0
  472. data/ext/digest/kangarootwelve/targets/avx512noasm/SIMD512-config.h +1 -0
  473. data/ext/digest/kangarootwelve/targets/avx512noasm/align.h +1 -0
  474. data/ext/digest/kangarootwelve/targets/avx512noasm/brg_endian.h +1 -0
  475. data/ext/digest/kangarootwelve/targets/avx512noasm/config.h +1 -0
  476. data/ext/digest/kangarootwelve/{keccak/generic32lc/ext.link.c → targets/avx512noasm/ext.c} +0 -0
  477. data/ext/digest/kangarootwelve/targets/avx512noasm/utils.h +1 -0
  478. data/ext/digest/kangarootwelve/targets/compact/KangarooTwelve.c +1 -0
  479. data/ext/digest/kangarootwelve/targets/compact/KangarooTwelve.h +1 -0
  480. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-SnP.h +1 -0
  481. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-compact64.c +1 -0
  482. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times2-SnP.h +1 -0
  483. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times2-on1.c +1 -0
  484. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times4-SnP.h +1 -0
  485. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times4-on1.c +1 -0
  486. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times8-SnP.h +1 -0
  487. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times8-on1.c +1 -0
  488. data/ext/digest/kangarootwelve/targets/compact/KeccakP-200-SnP.h +1 -0
  489. data/ext/digest/kangarootwelve/targets/compact/KeccakP-200-compact.c +1 -0
  490. data/ext/digest/kangarootwelve/targets/compact/KeccakP-400-SnP.h +1 -0
  491. data/ext/digest/kangarootwelve/targets/compact/KeccakP-400-reference.c +1 -0
  492. data/ext/digest/kangarootwelve/targets/compact/KeccakP-400-reference.h +1 -0
  493. data/ext/digest/kangarootwelve/targets/compact/KeccakP-800-SnP.h +1 -0
  494. data/ext/digest/kangarootwelve/targets/compact/KeccakP-800-compact.c +1 -0
  495. data/ext/digest/kangarootwelve/targets/compact/KeccakSponge.c +1 -0
  496. data/ext/digest/kangarootwelve/targets/compact/KeccakSponge.h +1 -0
  497. data/ext/digest/kangarootwelve/targets/compact/KeccakSponge.inc +1 -0
  498. data/ext/digest/kangarootwelve/targets/compact/Phases.h +1 -0
  499. data/ext/digest/kangarootwelve/targets/compact/PlSnP-Fallback.inc +1 -0
  500. data/ext/digest/kangarootwelve/targets/compact/SnP-Relaned.h +1 -0
  501. data/ext/digest/kangarootwelve/targets/compact/align.h +1 -0
  502. data/ext/digest/kangarootwelve/targets/compact/brg_endian.h +1 -0
  503. data/ext/digest/kangarootwelve/targets/compact/config.h +1 -0
  504. data/ext/digest/kangarootwelve/{keccak/generic64/ext.link.c → targets/compact/ext.c} +0 -0
  505. data/ext/digest/kangarootwelve/targets/compact/utils.h +1 -0
  506. data/ext/digest/kangarootwelve/targets/config.h +9 -0
  507. data/ext/digest/kangarootwelve/targets/defs +2 -0
  508. data/ext/digest/kangarootwelve/targets/generic32/KangarooTwelve.c +1 -0
  509. data/ext/digest/kangarootwelve/targets/generic32/KangarooTwelve.h +1 -0
  510. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-SnP.h +1 -0
  511. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-inplace32BI.c +1 -0
  512. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times2-SnP.h +1 -0
  513. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times2-on1.c +1 -0
  514. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times4-SnP.h +1 -0
  515. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times4-on1.c +1 -0
  516. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times8-SnP.h +1 -0
  517. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times8-on1.c +1 -0
  518. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-200-SnP.h +1 -0
  519. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-200-reference.c +1 -0
  520. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-200-reference.h +1 -0
  521. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-400-SnP.h +1 -0
  522. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-400-reference.c +1 -0
  523. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-400-reference.h +1 -0
  524. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-SnP.h +1 -0
  525. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32-bis.macros +1 -0
  526. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32-config.h +1 -0
  527. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32.c +1 -0
  528. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32.macros +1 -0
  529. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-unrolling-bis.macros +1 -0
  530. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-unrolling.macros +1 -0
  531. data/ext/digest/kangarootwelve/targets/generic32/KeccakSponge.c +1 -0
  532. data/ext/digest/kangarootwelve/targets/generic32/KeccakSponge.h +1 -0
  533. data/ext/digest/kangarootwelve/targets/generic32/KeccakSponge.inc +1 -0
  534. data/ext/digest/kangarootwelve/targets/generic32/Phases.h +1 -0
  535. data/ext/digest/kangarootwelve/targets/generic32/PlSnP-Fallback.inc +1 -0
  536. data/ext/digest/kangarootwelve/targets/generic32/SnP-Relaned.h +1 -0
  537. data/ext/digest/kangarootwelve/targets/generic32/align.h +1 -0
  538. data/ext/digest/kangarootwelve/targets/generic32/brg_endian.h +1 -0
  539. data/ext/digest/kangarootwelve/targets/generic32/config.h +1 -0
  540. data/ext/digest/kangarootwelve/{keccak/generic64lc/ext.link.c → targets/generic32/ext.c} +0 -0
  541. data/ext/digest/kangarootwelve/targets/generic32/utils.h +1 -0
  542. data/ext/digest/kangarootwelve/targets/generic32lc/KangarooTwelve.c +1 -0
  543. data/ext/digest/kangarootwelve/targets/generic32lc/KangarooTwelve.h +1 -0
  544. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-SnP.h +1 -0
  545. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-inplace32BI.c +1 -0
  546. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times2-SnP.h +1 -0
  547. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times2-on1.c +1 -0
  548. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times4-SnP.h +1 -0
  549. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times4-on1.c +1 -0
  550. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times8-SnP.h +1 -0
  551. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times8-on1.c +1 -0
  552. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-200-SnP.h +1 -0
  553. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-200-reference.c +1 -0
  554. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-200-reference.h +1 -0
  555. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-400-SnP.h +1 -0
  556. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-400-reference.c +1 -0
  557. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-400-reference.h +1 -0
  558. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-SnP.h +1 -0
  559. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32-bis.macros +1 -0
  560. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32-config.h +1 -0
  561. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32.c +1 -0
  562. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32.macros +1 -0
  563. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-unrolling-bis.macros +1 -0
  564. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-unrolling.macros +1 -0
  565. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakSponge.c +1 -0
  566. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakSponge.h +1 -0
  567. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakSponge.inc +1 -0
  568. data/ext/digest/kangarootwelve/targets/generic32lc/Phases.h +1 -0
  569. data/ext/digest/kangarootwelve/targets/generic32lc/PlSnP-Fallback.inc +1 -0
  570. data/ext/digest/kangarootwelve/targets/generic32lc/SnP-Relaned.h +1 -0
  571. data/ext/digest/kangarootwelve/targets/generic32lc/align.h +1 -0
  572. data/ext/digest/kangarootwelve/targets/generic32lc/brg_endian.h +1 -0
  573. data/ext/digest/kangarootwelve/targets/generic32lc/config.h +1 -0
  574. data/ext/digest/kangarootwelve/{keccak/haswell/ext.link.c → targets/generic32lc/ext.c} +0 -0
  575. data/ext/digest/kangarootwelve/targets/generic32lc/utils.h +1 -0
  576. data/ext/digest/kangarootwelve/targets/generic64/KangarooTwelve.c +1 -0
  577. data/ext/digest/kangarootwelve/targets/generic64/KangarooTwelve.h +1 -0
  578. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-64.macros +1 -0
  579. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-SnP.h +1 -0
  580. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-opt64-config.h +1 -0
  581. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-opt64.c +1 -0
  582. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times2-SnP.h +1 -0
  583. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times2-on1.c +1 -0
  584. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times4-SnP.h +1 -0
  585. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times4-on1.c +1 -0
  586. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times8-SnP.h +1 -0
  587. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times8-on1.c +1 -0
  588. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-unrolling.macros +1 -0
  589. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-200-SnP.h +1 -0
  590. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-200-reference.c +1 -0
  591. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-200-reference.h +1 -0
  592. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-400-SnP.h +1 -0
  593. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-400-reference.c +1 -0
  594. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-400-reference.h +1 -0
  595. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-SnP.h +1 -0
  596. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32-bis.macros +1 -0
  597. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32-config.h +1 -0
  598. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32.c +1 -0
  599. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32.macros +1 -0
  600. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-unrolling-bis.macros +1 -0
  601. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-unrolling.macros +1 -0
  602. data/ext/digest/kangarootwelve/targets/generic64/KeccakSponge.c +1 -0
  603. data/ext/digest/kangarootwelve/targets/generic64/KeccakSponge.h +1 -0
  604. data/ext/digest/kangarootwelve/targets/generic64/KeccakSponge.inc +1 -0
  605. data/ext/digest/kangarootwelve/targets/generic64/Phases.h +1 -0
  606. data/ext/digest/kangarootwelve/targets/generic64/PlSnP-Fallback.inc +1 -0
  607. data/ext/digest/kangarootwelve/targets/generic64/SnP-Relaned.h +1 -0
  608. data/ext/digest/kangarootwelve/targets/generic64/align.h +1 -0
  609. data/ext/digest/kangarootwelve/targets/generic64/brg_endian.h +1 -0
  610. data/ext/digest/kangarootwelve/targets/generic64/config.h +1 -0
  611. data/ext/digest/kangarootwelve/{keccak/nehalem/ext.link.c → targets/generic64/ext.c} +0 -0
  612. data/ext/digest/kangarootwelve/targets/generic64/utils.h +1 -0
  613. data/ext/digest/kangarootwelve/targets/generic64lc/KangarooTwelve.c +1 -0
  614. data/ext/digest/kangarootwelve/targets/generic64lc/KangarooTwelve.h +1 -0
  615. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-64.macros +1 -0
  616. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-SnP.h +1 -0
  617. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-opt64-config.h +1 -0
  618. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-opt64.c +1 -0
  619. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times2-SnP.h +1 -0
  620. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times2-on1.c +1 -0
  621. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times4-SnP.h +1 -0
  622. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times4-on1.c +1 -0
  623. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times8-SnP.h +1 -0
  624. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times8-on1.c +1 -0
  625. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-unrolling.macros +1 -0
  626. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-200-SnP.h +1 -0
  627. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-200-reference.c +1 -0
  628. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-200-reference.h +1 -0
  629. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-400-SnP.h +1 -0
  630. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-400-reference.c +1 -0
  631. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-400-reference.h +1 -0
  632. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-SnP.h +1 -0
  633. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32-bis.macros +1 -0
  634. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32-config.h +1 -0
  635. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32.c +1 -0
  636. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32.macros +1 -0
  637. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-unrolling-bis.macros +1 -0
  638. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-unrolling.macros +1 -0
  639. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakSponge.c +1 -0
  640. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakSponge.h +1 -0
  641. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakSponge.inc +1 -0
  642. data/ext/digest/kangarootwelve/targets/generic64lc/Phases.h +1 -0
  643. data/ext/digest/kangarootwelve/targets/generic64lc/PlSnP-Fallback.inc +1 -0
  644. data/ext/digest/kangarootwelve/targets/generic64lc/SnP-Relaned.h +1 -0
  645. data/ext/digest/kangarootwelve/targets/generic64lc/align.h +1 -0
  646. data/ext/digest/kangarootwelve/targets/generic64lc/brg_endian.h +1 -0
  647. data/ext/digest/kangarootwelve/targets/generic64lc/config.h +1 -0
  648. data/ext/digest/kangarootwelve/{keccak/reference/ext.link.c → targets/generic64lc/ext.c} +0 -0
  649. data/ext/digest/kangarootwelve/targets/generic64lc/utils.h +1 -0
  650. data/ext/digest/kangarootwelve/targets/list +20 -0
  651. data/ext/digest/kangarootwelve/targets/reference/KangarooTwelve.c +1 -0
  652. data/ext/digest/kangarootwelve/targets/reference/KangarooTwelve.h +1 -0
  653. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-SnP.h +1 -0
  654. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-reference.c +1 -0
  655. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-reference.h +1 -0
  656. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times2-SnP.h +1 -0
  657. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times2-on1.c +1 -0
  658. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times4-SnP.h +1 -0
  659. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times4-on1.c +1 -0
  660. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times8-SnP.h +1 -0
  661. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times8-on1.c +1 -0
  662. data/ext/digest/kangarootwelve/targets/reference/KeccakP-200-SnP.h +1 -0
  663. data/ext/digest/kangarootwelve/targets/reference/KeccakP-200-reference.c +1 -0
  664. data/ext/digest/kangarootwelve/targets/reference/KeccakP-200-reference.h +1 -0
  665. data/ext/digest/kangarootwelve/targets/reference/KeccakP-400-SnP.h +1 -0
  666. data/ext/digest/kangarootwelve/targets/reference/KeccakP-400-reference.c +1 -0
  667. data/ext/digest/kangarootwelve/targets/reference/KeccakP-400-reference.h +1 -0
  668. data/ext/digest/kangarootwelve/targets/reference/KeccakP-800-SnP.h +1 -0
  669. data/ext/digest/kangarootwelve/targets/reference/KeccakP-800-reference.c +1 -0
  670. data/ext/digest/kangarootwelve/targets/reference/KeccakP-800-reference.h +1 -0
  671. data/ext/digest/kangarootwelve/targets/reference/KeccakSponge.c +1 -0
  672. data/ext/digest/kangarootwelve/targets/reference/KeccakSponge.h +1 -0
  673. data/ext/digest/kangarootwelve/targets/reference/KeccakSponge.inc +1 -0
  674. data/ext/digest/kangarootwelve/targets/reference/Phases.h +1 -0
  675. data/ext/digest/kangarootwelve/targets/reference/PlSnP-Fallback.inc +1 -0
  676. data/ext/digest/kangarootwelve/targets/reference/align.h +1 -0
  677. data/ext/digest/kangarootwelve/targets/reference/brg_endian.h +1 -0
  678. data/ext/digest/kangarootwelve/targets/reference/config.h +1 -0
  679. data/ext/digest/kangarootwelve/targets/reference/displayIntermediateValues.c +1 -0
  680. data/ext/digest/kangarootwelve/targets/reference/displayIntermediateValues.h +1 -0
  681. data/ext/digest/kangarootwelve/{keccak/reference32bits/ext.link.c → targets/reference/ext.c} +0 -0
  682. data/ext/digest/kangarootwelve/targets/reference/utils.h +1 -0
  683. data/ext/digest/kangarootwelve/targets/reference32bits/KangarooTwelve.c +1 -0
  684. data/ext/digest/kangarootwelve/targets/reference32bits/KangarooTwelve.h +1 -0
  685. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-SnP.h +1 -0
  686. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-reference.h +1 -0
  687. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-reference32BI.c +1 -0
  688. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times2-SnP.h +1 -0
  689. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times2-on1.c +1 -0
  690. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times4-SnP.h +1 -0
  691. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times4-on1.c +1 -0
  692. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times8-SnP.h +1 -0
  693. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times8-on1.c +1 -0
  694. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-200-SnP.h +1 -0
  695. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-200-reference.c +1 -0
  696. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-200-reference.h +1 -0
  697. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-400-SnP.h +1 -0
  698. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-400-reference.c +1 -0
  699. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-400-reference.h +1 -0
  700. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-800-SnP.h +1 -0
  701. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-800-reference.c +1 -0
  702. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-800-reference.h +1 -0
  703. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakSponge.c +1 -0
  704. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakSponge.h +1 -0
  705. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakSponge.inc +1 -0
  706. data/ext/digest/kangarootwelve/targets/reference32bits/Phases.h +1 -0
  707. data/ext/digest/kangarootwelve/targets/reference32bits/PlSnP-Fallback.inc +1 -0
  708. data/ext/digest/kangarootwelve/targets/reference32bits/align.h +1 -0
  709. data/ext/digest/kangarootwelve/targets/reference32bits/brg_endian.h +1 -0
  710. data/ext/digest/kangarootwelve/targets/reference32bits/config.h +1 -0
  711. data/ext/digest/kangarootwelve/targets/reference32bits/displayIntermediateValues.c +1 -0
  712. data/ext/digest/kangarootwelve/targets/reference32bits/displayIntermediateValues.h +1 -0
  713. data/ext/digest/kangarootwelve/{keccak/sandybridge/ext.link.c → targets/reference32bits/ext.c} +0 -0
  714. data/ext/digest/kangarootwelve/targets/reference32bits/utils.h +1 -0
  715. data/ext/digest/kangarootwelve/targets/ssse3/KangarooTwelve.c +1 -0
  716. data/ext/digest/kangarootwelve/targets/ssse3/KangarooTwelve.h +1 -0
  717. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-64.macros +1 -0
  718. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-SnP.h +1 -0
  719. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-opt64-config.h +1 -0
  720. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-opt64.c +1 -0
  721. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times2-SIMD128.c +1 -0
  722. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times2-SnP.h +1 -0
  723. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times4-SnP.h +1 -0
  724. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times4-on2.c +1 -0
  725. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times8-SnP.h +1 -0
  726. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times8-on2.c +1 -0
  727. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-unrolling.macros +1 -0
  728. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-200-SnP.h +1 -0
  729. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-200-reference.c +1 -0
  730. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-200-reference.h +1 -0
  731. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-400-SnP.h +1 -0
  732. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-400-reference.c +1 -0
  733. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-400-reference.h +1 -0
  734. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-SnP.h +1 -0
  735. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32-bis.macros +1 -0
  736. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32-config.h +1 -0
  737. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32.c +1 -0
  738. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32.macros +1 -0
  739. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-unrolling-bis.macros +1 -0
  740. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-unrolling.macros +1 -0
  741. data/ext/digest/kangarootwelve/targets/ssse3/KeccakSponge.c +1 -0
  742. data/ext/digest/kangarootwelve/targets/ssse3/KeccakSponge.h +1 -0
  743. data/ext/digest/kangarootwelve/targets/ssse3/KeccakSponge.inc +1 -0
  744. data/ext/digest/kangarootwelve/targets/ssse3/Phases.h +1 -0
  745. data/ext/digest/kangarootwelve/targets/ssse3/PlSnP-Fallback.inc +1 -0
  746. data/ext/digest/kangarootwelve/targets/ssse3/SIMD128-config.h +1 -0
  747. data/ext/digest/kangarootwelve/targets/ssse3/SnP-Relaned.h +1 -0
  748. data/ext/digest/kangarootwelve/targets/ssse3/align.h +1 -0
  749. data/ext/digest/kangarootwelve/targets/ssse3/brg_endian.h +1 -0
  750. data/ext/digest/kangarootwelve/targets/ssse3/config.h +1 -0
  751. data/ext/digest/kangarootwelve/{keccak/skylakex/ext.link.c → targets/ssse3/ext.c} +0 -0
  752. data/ext/digest/kangarootwelve/targets/ssse3/utils.h +1 -0
  753. data/ext/digest/kangarootwelve/targets/xop/KangarooTwelve.c +1 -0
  754. data/ext/digest/kangarootwelve/targets/xop/KangarooTwelve.h +1 -0
  755. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-SnP.h +1 -0
  756. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-XOP-config.h +1 -0
  757. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-XOP.c +1 -0
  758. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times2-SIMD128.c +1 -0
  759. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times2-SnP.h +1 -0
  760. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times4-SnP.h +1 -0
  761. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times4-on2.c +1 -0
  762. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times8-SnP.h +1 -0
  763. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times8-on2.c +1 -0
  764. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-unrolling.macros +1 -0
  765. data/ext/digest/kangarootwelve/targets/xop/KeccakP-200-SnP.h +1 -0
  766. data/ext/digest/kangarootwelve/targets/xop/KeccakP-200-reference.c +1 -0
  767. data/ext/digest/kangarootwelve/targets/xop/KeccakP-200-reference.h +1 -0
  768. data/ext/digest/kangarootwelve/targets/xop/KeccakP-400-SnP.h +1 -0
  769. data/ext/digest/kangarootwelve/targets/xop/KeccakP-400-reference.c +1 -0
  770. data/ext/digest/kangarootwelve/targets/xop/KeccakP-400-reference.h +1 -0
  771. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-SnP.h +1 -0
  772. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32-bis.macros +1 -0
  773. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32-config.h +1 -0
  774. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32.c +1 -0
  775. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32.macros +1 -0
  776. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-unrolling-bis.macros +1 -0
  777. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-unrolling.macros +1 -0
  778. data/ext/digest/kangarootwelve/targets/xop/KeccakSponge.c +1 -0
  779. data/ext/digest/kangarootwelve/targets/xop/KeccakSponge.h +1 -0
  780. data/ext/digest/kangarootwelve/targets/xop/KeccakSponge.inc +1 -0
  781. data/ext/digest/kangarootwelve/targets/xop/Phases.h +1 -0
  782. data/ext/digest/kangarootwelve/targets/xop/PlSnP-Fallback.inc +1 -0
  783. data/ext/digest/kangarootwelve/targets/xop/SIMD128-config.h +1 -0
  784. data/ext/digest/kangarootwelve/targets/xop/SnP-Relaned.h +1 -0
  785. data/ext/digest/kangarootwelve/targets/xop/align.h +1 -0
  786. data/ext/digest/kangarootwelve/targets/xop/brg_endian.h +1 -0
  787. data/ext/digest/kangarootwelve/targets/xop/config.h +1 -0
  788. data/ext/digest/kangarootwelve/targets/xop/ext.c +1 -0
  789. data/ext/digest/kangarootwelve/targets/xop/utils.h +1 -0
  790. data/lib/digest/kangarootwelve/version.rb +1 -1
  791. data/rakelib/alt-install-task.rake +58 -0
  792. data/test/test.rb +5 -3
  793. metadata +814 -300
  794. data/ext/digest/kangarootwelve/keccak/armv6m/KangarooTwelve.link.c +0 -1
  795. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakDuplexWidth1600.link.c +0 -1
  796. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-SnP.h +0 -36
  797. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-times2-SnP.h +0 -45
  798. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-times2-on1.c +0 -37
  799. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-times4-SnP.h +0 -45
  800. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-times4-on1.c +0 -37
  801. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-times8-SnP.h +0 -45
  802. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-times8-on1.c +0 -37
  803. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakP-1600-u2-32bi-armv6m-le-gcc.s +0 -1334
  804. data/ext/digest/kangarootwelve/keccak/armv6m/KeccakSpongeWidth1600.link.c +0 -1
  805. data/ext/digest/kangarootwelve/keccak/armv6m/PlSnP-Fallback.inc +0 -287
  806. data/ext/digest/kangarootwelve/keccak/armv7a/KangarooTwelve.link.c +0 -1
  807. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakDuplexWidth1600.link.c +0 -1
  808. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-SnP.h +0 -37
  809. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-armv7a-le-neon-gcc.s +0 -826
  810. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-inplace-pl2-armv7a-neon-le-gcc.s +0 -1245
  811. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-times2-SnP.h +0 -38
  812. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-times4-SnP.h +0 -45
  813. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-times4-on2.c +0 -38
  814. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-times8-SnP.h +0 -45
  815. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakP-1600-times8-on2.c +0 -38
  816. data/ext/digest/kangarootwelve/keccak/armv7a/KeccakSpongeWidth1600.link.c +0 -1
  817. data/ext/digest/kangarootwelve/keccak/armv7a/PlSnP-Fallback.inc +0 -287
  818. data/ext/digest/kangarootwelve/keccak/armv7m/KangarooTwelve.link.c +0 -1
  819. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakDuplexWidth1600.link.c +0 -1
  820. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-SnP.h +0 -36
  821. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-inplace-32bi-armv7m-le-gcc.s +0 -1170
  822. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-times2-SnP.h +0 -45
  823. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-times2-on1.c +0 -37
  824. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-times4-SnP.h +0 -45
  825. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-times4-on1.c +0 -37
  826. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-times8-SnP.h +0 -45
  827. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakP-1600-times8-on1.c +0 -37
  828. data/ext/digest/kangarootwelve/keccak/armv7m/KeccakSpongeWidth1600.link.c +0 -1
  829. data/ext/digest/kangarootwelve/keccak/armv7m/PlSnP-Fallback.inc +0 -287
  830. data/ext/digest/kangarootwelve/keccak/armv8a/KangarooTwelve.link.c +0 -1
  831. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakDuplexWidth1600.link.c +0 -1
  832. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-SnP.h +0 -28
  833. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-armv8a-neon.s +0 -537
  834. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-times2-SnP.h +0 -45
  835. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-times2-on1.c +0 -37
  836. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-times4-SnP.h +0 -45
  837. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-times4-on1.c +0 -37
  838. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-times8-SnP.h +0 -45
  839. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakP-1600-times8-on1.c +0 -37
  840. data/ext/digest/kangarootwelve/keccak/armv8a/KeccakSpongeWidth1600.link.c +0 -1
  841. data/ext/digest/kangarootwelve/keccak/armv8a/PlSnP-Fallback.inc +0 -287
  842. data/ext/digest/kangarootwelve/keccak/asmx86-64/KangarooTwelve.link.c +0 -1
  843. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakDuplexWidth1600.link.c +0 -1
  844. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-SnP.h +0 -37
  845. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-times2-SnP.h +0 -45
  846. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-times2-on1.c +0 -37
  847. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-times4-SnP.h +0 -45
  848. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-times4-on1.c +0 -37
  849. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-times8-SnP.h +0 -45
  850. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-times8-on1.c +0 -37
  851. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakP-1600-x86-64-gas.s +0 -1190
  852. data/ext/digest/kangarootwelve/keccak/asmx86-64/KeccakSpongeWidth1600.link.c +0 -1
  853. data/ext/digest/kangarootwelve/keccak/asmx86-64/PlSnP-Fallback.inc +0 -287
  854. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KangarooTwelve.link.c +0 -1
  855. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakDuplexWidth1600.link.c +0 -1
  856. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-SnP.h +0 -37
  857. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-times2-SnP.h +0 -45
  858. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-times2-on1.c +0 -37
  859. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-times4-SnP.h +0 -45
  860. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-times4-on1.c +0 -37
  861. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-times8-SnP.h +0 -45
  862. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-times8-on1.c +0 -37
  863. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakP-1600-x86-64-shld-gas.s +0 -1190
  864. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/KeccakSpongeWidth1600.link.c +0 -1
  865. data/ext/digest/kangarootwelve/keccak/asmx86-64shld/PlSnP-Fallback.inc +0 -287
  866. data/ext/digest/kangarootwelve/keccak/avr8/KangarooTwelve.link.c +0 -1
  867. data/ext/digest/kangarootwelve/keccak/avr8/KeccakDuplexWidth1600.link.c +0 -1
  868. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-SnP.h +0 -37
  869. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-avr8-fast.s +0 -1116
  870. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-times2-SnP.h +0 -45
  871. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-times2-on1.c +0 -37
  872. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-times4-SnP.h +0 -45
  873. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-times4-on1.c +0 -37
  874. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-times8-SnP.h +0 -45
  875. data/ext/digest/kangarootwelve/keccak/avr8/KeccakP-1600-times8-on1.c +0 -37
  876. data/ext/digest/kangarootwelve/keccak/avr8/KeccakSpongeWidth1600.link.c +0 -1
  877. data/ext/digest/kangarootwelve/keccak/avr8/PlSnP-Fallback.inc +0 -287
  878. data/ext/digest/kangarootwelve/keccak/bulldozer/KangarooTwelve.link.c +0 -1
  879. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakDuplexWidth1600.link.c +0 -1
  880. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-SnP.h +0 -39
  881. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-XOP.c +0 -473
  882. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-times2-SIMD128.c +0 -954
  883. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-times2-SnP.h +0 -47
  884. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-times4-SnP.h +0 -45
  885. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-times4-on2.c +0 -38
  886. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-times8-SnP.h +0 -45
  887. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-times8-on2.c +0 -38
  888. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakP-1600-unrolling.macros +0 -302
  889. data/ext/digest/kangarootwelve/keccak/bulldozer/KeccakSpongeWidth1600.link.c +0 -1
  890. data/ext/digest/kangarootwelve/keccak/bulldozer/PlSnP-Fallback.inc +0 -287
  891. data/ext/digest/kangarootwelve/keccak/bulldozer/SnP-Relaned.h +0 -140
  892. data/ext/digest/kangarootwelve/keccak/common/KangarooTwelve.c +0 -271
  893. data/ext/digest/kangarootwelve/keccak/common/KangarooTwelve.h +0 -89
  894. data/ext/digest/kangarootwelve/keccak/common/KeccakDuplex-common.h +0 -37
  895. data/ext/digest/kangarootwelve/keccak/common/KeccakDuplex.inc +0 -192
  896. data/ext/digest/kangarootwelve/keccak/common/KeccakDuplexWidth1600.c +0 -34
  897. data/ext/digest/kangarootwelve/keccak/common/KeccakDuplexWidth1600.h +0 -25
  898. data/ext/digest/kangarootwelve/keccak/common/KeccakSponge-common.h +0 -35
  899. data/ext/digest/kangarootwelve/keccak/common/KeccakSponge.inc +0 -311
  900. data/ext/digest/kangarootwelve/keccak/common/KeccakSpongeWidth1600.c +0 -54
  901. data/ext/digest/kangarootwelve/keccak/common/KeccakSpongeWidth1600.h +0 -31
  902. data/ext/digest/kangarootwelve/keccak/common/Phases.h +0 -22
  903. data/ext/digest/kangarootwelve/keccak/common/align.h +0 -32
  904. data/ext/digest/kangarootwelve/keccak/common/brg_endian.h +0 -142
  905. data/ext/digest/kangarootwelve/keccak/compact/KangarooTwelve.link.c +0 -1
  906. data/ext/digest/kangarootwelve/keccak/compact/KeccakDuplexWidth1600.link.c +0 -1
  907. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-SnP.h +0 -35
  908. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-compact64.c +0 -416
  909. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-times2-SnP.h +0 -45
  910. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-times2-on1.c +0 -37
  911. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-times4-SnP.h +0 -45
  912. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-times4-on1.c +0 -37
  913. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-times8-SnP.h +0 -45
  914. data/ext/digest/kangarootwelve/keccak/compact/KeccakP-1600-times8-on1.c +0 -37
  915. data/ext/digest/kangarootwelve/keccak/compact/KeccakSpongeWidth1600.link.c +0 -1
  916. data/ext/digest/kangarootwelve/keccak/compact/PlSnP-Fallback.inc +0 -287
  917. data/ext/digest/kangarootwelve/keccak/compact/SnP-Relaned.h +0 -140
  918. data/ext/digest/kangarootwelve/keccak/generic32/KangarooTwelve.link.c +0 -1
  919. data/ext/digest/kangarootwelve/keccak/generic32/KeccakDuplexWidth1600.link.c +0 -1
  920. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-SnP.h +0 -38
  921. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-inplace32BI.c +0 -1162
  922. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-times2-SnP.h +0 -45
  923. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-times2-on1.c +0 -37
  924. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-times4-SnP.h +0 -45
  925. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-times4-on1.c +0 -37
  926. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-times8-SnP.h +0 -45
  927. data/ext/digest/kangarootwelve/keccak/generic32/KeccakP-1600-times8-on1.c +0 -37
  928. data/ext/digest/kangarootwelve/keccak/generic32/KeccakSpongeWidth1600.link.c +0 -1
  929. data/ext/digest/kangarootwelve/keccak/generic32/PlSnP-Fallback.inc +0 -287
  930. data/ext/digest/kangarootwelve/keccak/generic32/SnP-Relaned.h +0 -140
  931. data/ext/digest/kangarootwelve/keccak/generic32lc/KangarooTwelve.link.c +0 -1
  932. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakDuplexWidth1600.link.c +0 -1
  933. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-SnP.h +0 -38
  934. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-inplace32BI.c +0 -1162
  935. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-times2-SnP.h +0 -45
  936. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-times2-on1.c +0 -37
  937. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-times4-SnP.h +0 -45
  938. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-times4-on1.c +0 -37
  939. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-times8-SnP.h +0 -45
  940. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakP-1600-times8-on1.c +0 -37
  941. data/ext/digest/kangarootwelve/keccak/generic32lc/KeccakSpongeWidth1600.link.c +0 -1
  942. data/ext/digest/kangarootwelve/keccak/generic32lc/PlSnP-Fallback.inc +0 -287
  943. data/ext/digest/kangarootwelve/keccak/generic32lc/SnP-Relaned.h +0 -140
  944. data/ext/digest/kangarootwelve/keccak/generic64/KangarooTwelve.link.c +0 -1
  945. data/ext/digest/kangarootwelve/keccak/generic64/KeccakDuplexWidth1600.link.c +0 -1
  946. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-64.macros +0 -2195
  947. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-SnP.h +0 -49
  948. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-opt64.c +0 -541
  949. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-times2-SnP.h +0 -45
  950. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-times2-on1.c +0 -37
  951. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-times4-SnP.h +0 -45
  952. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-times4-on1.c +0 -37
  953. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-times8-SnP.h +0 -45
  954. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-times8-on1.c +0 -37
  955. data/ext/digest/kangarootwelve/keccak/generic64/KeccakP-1600-unrolling.macros +0 -302
  956. data/ext/digest/kangarootwelve/keccak/generic64/KeccakSpongeWidth1600.link.c +0 -1
  957. data/ext/digest/kangarootwelve/keccak/generic64/PlSnP-Fallback.inc +0 -287
  958. data/ext/digest/kangarootwelve/keccak/generic64/SnP-Relaned.h +0 -140
  959. data/ext/digest/kangarootwelve/keccak/generic64lc/KangarooTwelve.link.c +0 -1
  960. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakDuplexWidth1600.link.c +0 -1
  961. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-64.macros +0 -2195
  962. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-SnP.h +0 -49
  963. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-opt64.c +0 -541
  964. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-times2-SnP.h +0 -45
  965. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-times2-on1.c +0 -37
  966. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-times4-SnP.h +0 -45
  967. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-times4-on1.c +0 -37
  968. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-times8-SnP.h +0 -45
  969. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-times8-on1.c +0 -37
  970. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakP-1600-unrolling.macros +0 -302
  971. data/ext/digest/kangarootwelve/keccak/generic64lc/KeccakSpongeWidth1600.link.c +0 -1
  972. data/ext/digest/kangarootwelve/keccak/generic64lc/PlSnP-Fallback.inc +0 -287
  973. data/ext/digest/kangarootwelve/keccak/generic64lc/SnP-Relaned.h +0 -140
  974. data/ext/digest/kangarootwelve/keccak/haswell/KangarooTwelve.link.c +0 -1
  975. data/ext/digest/kangarootwelve/keccak/haswell/KeccakDuplexWidth1600.link.c +0 -1
  976. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-AVX2.s +0 -993
  977. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-SnP.h +0 -41
  978. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-times2-SIMD128.c +0 -954
  979. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-times2-SnP.h +0 -47
  980. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-times4-SIMD256.c +0 -1303
  981. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-times4-SnP.h +0 -53
  982. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-times8-SnP.h +0 -45
  983. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-times8-on4.c +0 -38
  984. data/ext/digest/kangarootwelve/keccak/haswell/KeccakP-1600-unrolling.macros +0 -302
  985. data/ext/digest/kangarootwelve/keccak/haswell/KeccakSpongeWidth1600.link.c +0 -1
  986. data/ext/digest/kangarootwelve/keccak/haswell/PlSnP-Fallback.inc +0 -287
  987. data/ext/digest/kangarootwelve/keccak/haswell/SIMD128-config.h +0 -8
  988. data/ext/digest/kangarootwelve/keccak/nehalem/KangarooTwelve.link.c +0 -1
  989. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakDuplexWidth1600.link.c +0 -1
  990. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-64.macros +0 -2195
  991. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-SnP.h +0 -49
  992. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-opt64-config.h +0 -7
  993. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-opt64.c +0 -541
  994. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-times2-SIMD128.c +0 -954
  995. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-times2-SnP.h +0 -47
  996. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-times4-SnP.h +0 -45
  997. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-times4-on2.c +0 -38
  998. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-times8-SnP.h +0 -45
  999. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-times8-on2.c +0 -38
  1000. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakP-1600-unrolling.macros +0 -302
  1001. data/ext/digest/kangarootwelve/keccak/nehalem/KeccakSpongeWidth1600.link.c +0 -1
  1002. data/ext/digest/kangarootwelve/keccak/nehalem/PlSnP-Fallback.inc +0 -287
  1003. data/ext/digest/kangarootwelve/keccak/nehalem/SIMD128-config.h +0 -8
  1004. data/ext/digest/kangarootwelve/keccak/nehalem/SnP-Relaned.h +0 -140
  1005. data/ext/digest/kangarootwelve/keccak/reference/KangarooTwelve.link.c +0 -1
  1006. data/ext/digest/kangarootwelve/keccak/reference/KeccakDuplexWidth1600.link.c +0 -1
  1007. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-SnP.h +0 -41
  1008. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-reference.c +0 -424
  1009. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-reference.h +0 -20
  1010. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-times2-SnP.h +0 -45
  1011. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-times2-on1.c +0 -37
  1012. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-times4-SnP.h +0 -45
  1013. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-times4-on1.c +0 -37
  1014. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-times8-SnP.h +0 -45
  1015. data/ext/digest/kangarootwelve/keccak/reference/KeccakP-1600-times8-on1.c +0 -37
  1016. data/ext/digest/kangarootwelve/keccak/reference/KeccakSpongeWidth1600.link.c +0 -1
  1017. data/ext/digest/kangarootwelve/keccak/reference/PlSnP-Fallback.inc +0 -287
  1018. data/ext/digest/kangarootwelve/keccak/reference/displayIntermediateValues.c +0 -176
  1019. data/ext/digest/kangarootwelve/keccak/reference/displayIntermediateValues.h +0 -29
  1020. data/ext/digest/kangarootwelve/keccak/reference32bits/KangarooTwelve.link.c +0 -1
  1021. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakDuplexWidth1600.link.c +0 -1
  1022. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-SnP.h +0 -41
  1023. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-reference.h +0 -20
  1024. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-reference32BI.c +0 -612
  1025. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-times2-SnP.h +0 -45
  1026. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-times2-on1.c +0 -37
  1027. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-times4-SnP.h +0 -45
  1028. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-times4-on1.c +0 -37
  1029. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-times8-SnP.h +0 -45
  1030. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakP-1600-times8-on1.c +0 -37
  1031. data/ext/digest/kangarootwelve/keccak/reference32bits/KeccakSpongeWidth1600.link.c +0 -1
  1032. data/ext/digest/kangarootwelve/keccak/reference32bits/PlSnP-Fallback.inc +0 -287
  1033. data/ext/digest/kangarootwelve/keccak/reference32bits/displayIntermediateValues.c +0 -176
  1034. data/ext/digest/kangarootwelve/keccak/reference32bits/displayIntermediateValues.h +0 -29
  1035. data/ext/digest/kangarootwelve/keccak/sandybridge/KangarooTwelve.link.c +0 -1
  1036. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakDuplexWidth1600.link.c +0 -1
  1037. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-64.macros +0 -2195
  1038. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-SnP.h +0 -49
  1039. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-opt64.c +0 -541
  1040. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-times2-SIMD128.c +0 -954
  1041. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-times2-SnP.h +0 -47
  1042. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-times4-SnP.h +0 -45
  1043. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-times4-on2.c +0 -38
  1044. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-times8-SnP.h +0 -45
  1045. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-times8-on2.c +0 -38
  1046. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakP-1600-unrolling.macros +0 -302
  1047. data/ext/digest/kangarootwelve/keccak/sandybridge/KeccakSpongeWidth1600.link.c +0 -1
  1048. data/ext/digest/kangarootwelve/keccak/sandybridge/PlSnP-Fallback.inc +0 -287
  1049. data/ext/digest/kangarootwelve/keccak/sandybridge/SIMD128-config.h +0 -8
  1050. data/ext/digest/kangarootwelve/keccak/sandybridge/SnP-Relaned.h +0 -140
  1051. data/ext/digest/kangarootwelve/keccak/skylakex/KangarooTwelve.link.c +0 -1
  1052. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakDuplexWidth1600.link.c +0 -1
  1053. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-AVX512.c +0 -621
  1054. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-SnP.h +0 -42
  1055. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-times2-SIMD512.c +0 -852
  1056. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-times2-SnP.h +0 -49
  1057. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-times4-SIMD512.c +0 -883
  1058. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-times4-SnP.h +0 -49
  1059. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-times8-SIMD512.c +0 -1473
  1060. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakP-1600-times8-SnP.h +0 -53
  1061. data/ext/digest/kangarootwelve/keccak/skylakex/KeccakSpongeWidth1600.link.c +0 -1
@@ -0,0 +1,1175 @@
1
+ @
2
+ @ The eXtended Keccak Code Package (XKCP)
3
+ @ https://github.com/XKCP/XKCP
4
+ @
5
+ @ The Keccak-p permutations, designed by Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche.
6
+ @
7
+ @ Implementation by Ronny Van Keer, hereby denoted as "the implementer".
8
+ @
9
+ @ For more information, feedback or questions, please refer to the Keccak Team website:
10
+ @ https://keccak.team/
11
+ @
12
+ @ To the extent possible under law, the implementer has waived all copyright
13
+ @ and related or neighboring rights to the source code in this file.
14
+ @ http://creativecommons.org/publicdomain/zero/1.0/
15
+ @
16
+ @ ---
17
+ @
18
+ @ This file implements Keccak-p[1600] in a SnP-compatible way.
19
+ @ Please refer to SnP-documentation.h for more details.
20
+ @
21
+ @ This implementation comes with KeccakP-1600-SnP.h in the same folder.
22
+ @ Please refer to LowLevel.build for the exact list of other files it must be combined with.
23
+ @
24
+
25
+ @ WARNING: This implementation assumes a little endian CPU with ARMv7M architecture (e.g., Cortex-M3) and the GCC compiler.
26
+
27
+
28
+ .thumb
29
+ .syntax unified
30
+ .text
31
+
32
+ @ Credit: Henry S. Warren, Hacker's Delight, Addison-Wesley, 2002
33
+ .macro toBitInterleaving x0,x1,s0,s1,t,over
34
+
35
+ and \t,\x0,#0x55555555
36
+ orr \t,\t,\t, LSR #1
37
+ and \t,\t,#0x33333333
38
+ orr \t,\t,\t, LSR #2
39
+ and \t,\t,#0x0F0F0F0F
40
+ orr \t,\t,\t, LSR #4
41
+ and \t,\t,#0x00FF00FF
42
+ bfi \t,\t,#8, #8
43
+ .if \over != 0
44
+ lsr \s0,\t, #8
45
+ .else
46
+ eor \s0,\s0,\t, LSR #8
47
+ .endif
48
+
49
+ and \t,\x1,#0x55555555
50
+ orr \t,\t,\t, LSR #1
51
+ and \t,\t,#0x33333333
52
+ orr \t,\t,\t, LSR #2
53
+ and \t,\t,#0x0F0F0F0F
54
+ orr \t,\t,\t, LSR #4
55
+ and \t,\t,#0x00FF00FF
56
+ orr \t,\t,\t, LSR #8
57
+ eor \s0,\s0,\t, LSL #16
58
+
59
+ and \t,\x0,#0xAAAAAAAA
60
+ orr \t,\t,\t, LSL #1
61
+ and \t,\t,#0xCCCCCCCC
62
+ orr \t,\t,\t, LSL #2
63
+ and \t,\t,#0xF0F0F0F0
64
+ orr \t,\t,\t, LSL #4
65
+ and \t,\t,#0xFF00FF00
66
+ orr \t,\t,\t, LSL #8
67
+ .if \over != 0
68
+ lsr \s1,\t, #16
69
+ .else
70
+ eor \s1,\s1,\t, LSR #16
71
+ .endif
72
+
73
+ and \t,\x1,#0xAAAAAAAA
74
+ orr \t,\t,\t, LSL #1
75
+ and \t,\t,#0xCCCCCCCC
76
+ orr \t,\t,\t, LSL #2
77
+ and \t,\t,#0xF0F0F0F0
78
+ orr \t,\t,\t, LSL #4
79
+ and \t,\t,#0xFF00FF00
80
+ orr \t,\t,\t, LSL #8
81
+ bfc \t, #0, #16
82
+ eors \s1,\s1,\t
83
+ .endm
84
+
85
+ @ Credit: Henry S. Warren, Hacker's Delight, Addison-Wesley, 2002
86
+ .macro fromBitInterleaving x0, x1, t
87
+
88
+ movs \t, \x0 @ t = x0@
89
+ bfi \x0, \x1, #16, #16 @ x0 = (x0 & 0x0000FFFF) | (x1 << 16)@
90
+ bfc \x1, #0, #16 @ x1 = (t >> 16) | (x1 & 0xFFFF0000)@
91
+ orr \x1, \x1, \t, LSR #16
92
+
93
+ eor \t, \x0, \x0, LSR #8 @ t = (x0 ^ (x0 >> 8)) & 0x0000FF00UL@ x0 = x0 ^ t ^ (t << 8)@
94
+ and \t, #0x0000FF00
95
+ eors \x0, \x0, \t
96
+ eor \x0, \x0, \t, LSL #8
97
+
98
+ eor \t, \x0, \x0, LSR #4 @ t = (x0 ^ (x0 >> 4)) & 0x00F000F0UL@ x0 = x0 ^ t ^ (t << 4)@
99
+ and \t, #0x00F000F0
100
+ eors \x0, \x0, \t
101
+ eor \x0, \x0, \t, LSL #4
102
+
103
+ eor \t, \x0, \x0, LSR #2 @ t = (x0 ^ (x0 >> 2)) & 0x0C0C0C0CUL@ x0 = x0 ^ t ^ (t << 2)@
104
+ and \t, #0x0C0C0C0C
105
+ eors \x0, \x0, \t
106
+ eor \x0, \x0, \t, LSL #2
107
+
108
+ eor \t, \x0, \x0, LSR #1 @ t = (x0 ^ (x0 >> 1)) & 0x22222222UL@ x0 = x0 ^ t ^ (t << 1)@
109
+ and \t, #0x22222222
110
+ eors \x0, \x0, \t
111
+ eor \x0, \x0, \t, LSL #1
112
+
113
+ eor \t, \x1, \x1, LSR #8 @ t = (x1 ^ (x1 >> 8)) & 0x0000FF00UL@ x1 = x1 ^ t ^ (t << 8)@
114
+ and \t, #0x0000FF00
115
+ eors \x1, \x1, \t
116
+ eor \x1, \x1, \t, LSL #8
117
+
118
+ eor \t, \x1, \x1, LSR #4 @ t = (x1 ^ (x1 >> 4)) & 0x00F000F0UL@ x1 = x1 ^ t ^ (t << 4)@
119
+ and \t, #0x00F000F0
120
+ eors \x1, \x1, \t
121
+ eor \x1, \x1, \t, LSL #4
122
+
123
+ eor \t, \x1, \x1, LSR #2 @ t = (x1 ^ (x1 >> 2)) & 0x0C0C0C0CUL@ x1 = x1 ^ t ^ (t << 2)@
124
+ and \t, #0x0C0C0C0C
125
+ eors \x1, \x1, \t
126
+ eor \x1, \x1, \t, LSL #2
127
+
128
+ eor \t, \x1, \x1, LSR #1 @ t = (x1 ^ (x1 >> 1)) & 0x22222222UL@ x1 = x1 ^ t ^ (t << 1)@
129
+ and \t, #0x22222222
130
+ eors \x1, \x1, \t
131
+ eor \x1, \x1, \t, LSL #1
132
+ .endm
133
+
134
+ @ --- offsets in state
135
+ .equ Aba0 , 0*4
136
+ .equ Aba1 , 1*4
137
+ .equ Abe0 , 2*4
138
+ .equ Abe1 , 3*4
139
+ .equ Abi0 , 4*4
140
+ .equ Abi1 , 5*4
141
+ .equ Abo0 , 6*4
142
+ .equ Abo1 , 7*4
143
+ .equ Abu0 , 8*4
144
+ .equ Abu1 , 9*4
145
+ .equ Aga0 , 10*4
146
+ .equ Aga1 , 11*4
147
+ .equ Age0 , 12*4
148
+ .equ Age1 , 13*4
149
+ .equ Agi0 , 14*4
150
+ .equ Agi1 , 15*4
151
+ .equ Ago0 , 16*4
152
+ .equ Ago1 , 17*4
153
+ .equ Agu0 , 18*4
154
+ .equ Agu1 , 19*4
155
+ .equ Aka0 , 20*4
156
+ .equ Aka1 , 21*4
157
+ .equ Ake0 , 22*4
158
+ .equ Ake1 , 23*4
159
+ .equ Aki0 , 24*4
160
+ .equ Aki1 , 25*4
161
+ .equ Ako0 , 26*4
162
+ .equ Ako1 , 27*4
163
+ .equ Aku0 , 28*4
164
+ .equ Aku1 , 29*4
165
+ .equ Ama0 , 30*4
166
+ .equ Ama1 , 31*4
167
+ .equ Ame0 , 32*4
168
+ .equ Ame1 , 33*4
169
+ .equ Ami0 , 34*4
170
+ .equ Ami1 , 35*4
171
+ .equ Amo0 , 36*4
172
+ .equ Amo1 , 37*4
173
+ .equ Amu0 , 38*4
174
+ .equ Amu1 , 39*4
175
+ .equ Asa0 , 40*4
176
+ .equ Asa1 , 41*4
177
+ .equ Ase0 , 42*4
178
+ .equ Ase1 , 43*4
179
+ .equ Asi0 , 44*4
180
+ .equ Asi1 , 45*4
181
+ .equ Aso0 , 46*4
182
+ .equ Aso1 , 47*4
183
+ .equ Asu0 , 48*4
184
+ .equ Asu1 , 49*4
185
+
186
+ @ --- offsets on stack
187
+ .equ mDa0 , 0*4
188
+ .equ mDa1 , 1*4
189
+ .equ mDo0 , 2*4
190
+ .equ mDo1 , 3*4
191
+ .equ mDi0 , 4*4
192
+ .equ mRC , 5*4
193
+ .equ mSize , 6*4
194
+
195
+
196
+ .macro xor5 result,b,g,k,m,s
197
+
198
+ ldr \result, [r0, #\b]
199
+ ldr r1, [r0, #\g]
200
+ eors \result, \result, r1
201
+ ldr r1, [r0, #\k]
202
+ eors \result, \result, r1
203
+ ldr r1, [r0, #\m]
204
+ eors \result, \result, r1
205
+ ldr r1, [r0, #\s]
206
+ eors \result, \result, r1
207
+ .endm
208
+
209
+ .macro xorrol result, aa, bb
210
+
211
+ eor \result, \aa, \bb, ROR #31
212
+ .endm
213
+
214
+ .macro xandnot resofs, aa, bb, cc
215
+
216
+ bic r1, \cc, \bb
217
+ eors r1, r1, \aa
218
+ str r1, [r0, #\resofs]
219
+ .endm
220
+
221
+ .macro KeccakThetaRhoPiChiIota aA1, aDax, aA2, aDex, rot2, aA3, aDix, rot3, aA4, aDox, rot4, aA5, aDux, rot5, offset, last
222
+ ldr r3, [r0, #\aA1]
223
+ ldr r4, [r0, #\aA2]
224
+ ldr r5, [r0, #\aA3]
225
+ ldr r6, [r0, #\aA4]
226
+ ldr r7, [r0, #\aA5]
227
+ eors r3, r3, \aDax
228
+ eors r5, r5, \aDix
229
+ eors r4, r4, \aDex
230
+ eors r6, r6, \aDox
231
+ eors r7, r7, \aDux
232
+ rors r4, #32-\rot2
233
+ rors r5, #32-\rot3
234
+ rors r6, #32-\rot4
235
+ rors r7, #32-\rot5
236
+ xandnot \aA2, r4, r5, r6
237
+ xandnot \aA3, r5, r6, r7
238
+ xandnot \aA4, r6, r7, r3
239
+ xandnot \aA5, r7, r3, r4
240
+ ldr r1, [sp, #mRC]
241
+ bics r5, r5, r4
242
+ ldr r4, [r1, #\offset]
243
+ eors r3, r3, r5
244
+ eors r3, r3, r4
245
+ .if \last == 1
246
+ ldr r4, [r1, #32]!
247
+ str r1, [sp, #mRC]
248
+ cmp r4, #0xFF
249
+ .endif
250
+ str r3, [r0, #\aA1]
251
+ .endm
252
+
253
+ .macro KeccakThetaRhoPiChi aB1, aA1, aDax, rot1, aB2, aA2, aDex, rot2, aB3, aA3, aDix, rot3, aB4, aA4, aDox, rot4, aB5, aA5, aDux, rot5
254
+ ldr \aB1, [r0, #\aA1]
255
+ ldr \aB2, [r0, #\aA2]
256
+ ldr \aB3, [r0, #\aA3]
257
+ ldr \aB4, [r0, #\aA4]
258
+ ldr \aB5, [r0, #\aA5]
259
+ eors \aB1, \aB1, \aDax
260
+ eors \aB3, \aB3, \aDix
261
+ eors \aB2, \aB2, \aDex
262
+ eors \aB4, \aB4, \aDox
263
+ eors \aB5, \aB5, \aDux
264
+ rors \aB1, #32-\rot1
265
+ .if \rot2 > 0
266
+ rors \aB2, #32-\rot2
267
+ .endif
268
+ rors \aB3, #32-\rot3
269
+ rors \aB4, #32-\rot4
270
+ rors \aB5, #32-\rot5
271
+ xandnot \aA1, r3, r4, r5
272
+ xandnot \aA2, r4, r5, r6
273
+ xandnot \aA3, r5, r6, r7
274
+ xandnot \aA4, r6, r7, r3
275
+ xandnot \aA5, r7, r3, r4
276
+ .endm
277
+
278
+ .macro KeccakRound0
279
+
280
+ xor5 r3, Abu0, Agu0, Aku0, Amu0, Asu0
281
+ xor5 r7, Abe1, Age1, Ake1, Ame1, Ase1
282
+ xorrol r6, r3, r7
283
+ str r6, [sp, #mDa0]
284
+ xor5 r6, Abu1, Agu1, Aku1, Amu1, Asu1
285
+ xor5 lr, Abe0, Age0, Ake0, Ame0, Ase0
286
+ eors r8, r6, lr
287
+ str r8, [sp, #mDa1]
288
+
289
+ xor5 r5, Abi0, Agi0, Aki0, Ami0, Asi0
290
+ xorrol r9, r5, r6
291
+ str r9, [sp, #mDo0]
292
+ xor5 r4, Abi1, Agi1, Aki1, Ami1, Asi1
293
+ eors r3, r3, r4
294
+ str r3, [sp, #mDo1]
295
+
296
+ xor5 r3, Aba0, Aga0, Aka0, Ama0, Asa0
297
+ xorrol r10, r3, r4
298
+ xor5 r6, Aba1, Aga1, Aka1, Ama1, Asa1
299
+ eors r11, r6, r5
300
+
301
+ xor5 r4, Abo1, Ago1, Ako1, Amo1, Aso1
302
+ xorrol r5, lr, r4
303
+ str r5, [sp, #mDi0]
304
+ xor5 r5, Abo0, Ago0, Ako0, Amo0, Aso0
305
+ eors r2, r7, r5
306
+
307
+ xorrol r12, r5, r6
308
+ eors lr, r4, r3
309
+
310
+ KeccakThetaRhoPiChi r5, Aka1, r8, 2, r6, Ame1, r11, 23, r7, Asi1, r2, 31, r3, Abo0, r9, 14, r4, Agu0, r12, 10
311
+ KeccakThetaRhoPiChi r7, Asa1, r8, 9, r3, Abe0, r10, 0, r4, Agi1, r2, 3, r5, Ako0, r9, 12, r6, Amu1, lr, 4
312
+ ldr r8, [sp, #mDa0]
313
+ KeccakThetaRhoPiChi r4, Aga0, r8, 18, r5, Ake0, r10, 5, r6, Ami1, r2, 8, r7, Aso0, r9, 28, r3, Abu1, lr, 14
314
+ KeccakThetaRhoPiChi r6, Ama0, r8, 20, r7, Ase1, r11, 1, r3, Abi1, r2, 31, r4, Ago0, r9, 27, r5, Aku0, r12, 19
315
+ ldr r9, [sp, #mDo1]
316
+ KeccakThetaRhoPiChiIota Aba0, r8, Age0, r10, 22, Aki1, r2, 22, Amo1, r9, 11, Asu0, r12, 7, 0, 0
317
+
318
+ ldr r2, [sp, #mDi0]
319
+ KeccakThetaRhoPiChi r5, Aka0, r8, 1, r6, Ame0, r10, 22, r7, Asi0, r2, 30, r3, Abo1, r9, 14, r4, Agu1, lr, 10
320
+ KeccakThetaRhoPiChi r7, Asa0, r8, 9, r3, Abe1, r11, 1, r4, Agi0, r2, 3, r5, Ako1, r9, 13, r6, Amu0, r12, 4
321
+ ldr r8, [sp, #mDa1]
322
+ KeccakThetaRhoPiChi r4, Aga1, r8, 18, r5, Ake1, r11, 5, r6, Ami0, r2, 7, r7, Aso1, r9, 28, r3, Abu0, r12, 13
323
+ KeccakThetaRhoPiChi r6, Ama1, r8, 21, r7, Ase0, r10, 1, r3, Abi0, r2, 31, r4, Ago1, r9, 28, r5, Aku1, lr, 20
324
+ ldr r9, [sp, #mDo0]
325
+ KeccakThetaRhoPiChiIota Aba1, r8, Age1, r11, 22, Aki0, r2, 21, Amo0, r9, 10, Asu1, lr, 7, 4, 0
326
+ .endm
327
+
328
+ .macro KeccakRound1
329
+
330
+ xor5 r3, Asu0, Agu0, Amu0, Abu1, Aku1
331
+ xor5 r7, Age1, Ame0, Abe0, Ake1, Ase1
332
+ xorrol r6, r3, r7
333
+ str r6, [sp, #mDa0]
334
+ xor5 r6, Asu1, Agu1, Amu1, Abu0, Aku0
335
+ xor5 lr, Age0, Ame1, Abe1, Ake0, Ase0
336
+ eors r8, r6, lr
337
+ str r8, [sp, #mDa1]
338
+
339
+ xor5 r5, Aki1, Asi1, Agi0, Ami1, Abi0
340
+ xorrol r9, r5, r6
341
+ str r9, [sp, #mDo0]
342
+ xor5 r4, Aki0, Asi0, Agi1, Ami0, Abi1
343
+ eors r3, r3, r4
344
+ str r3, [sp, #mDo1]
345
+
346
+ xor5 r3, Aba0, Aka1, Asa0, Aga0, Ama1
347
+ xorrol r10, r3, r4
348
+ xor5 r6, Aba1, Aka0, Asa1, Aga1, Ama0
349
+ eors r11, r6, r5
350
+
351
+ xor5 r4, Amo0, Abo1, Ako0, Aso1, Ago0
352
+ xorrol r5, lr, r4
353
+ str r5, [sp, #mDi0]
354
+ xor5 r5, Amo1, Abo0, Ako1, Aso0, Ago1
355
+ eors r2, r7, r5
356
+
357
+ xorrol r12, r5, r6
358
+ eors lr, r4, r3
359
+
360
+ KeccakThetaRhoPiChi r5, Asa1, r8, 2, r6, Ake1, r11, 23, r7, Abi1, r2, 31, r3, Amo1, r9, 14, r4, Agu0, r12, 10
361
+ KeccakThetaRhoPiChi r7, Ama0, r8, 9, r3, Age0, r10, 0, r4, Asi0, r2, 3, r5, Ako1, r9, 12, r6, Abu0, lr, 4
362
+ ldr r8, [sp, #mDa0]
363
+ KeccakThetaRhoPiChi r4, Aka1, r8, 18, r5, Abe1, r10, 5, r6, Ami0, r2, 8, r7, Ago1, r9, 28, r3, Asu1, lr, 14
364
+ KeccakThetaRhoPiChi r6, Aga0, r8, 20, r7, Ase1, r11, 1, r3, Aki0, r2, 31, r4, Abo0, r9, 27, r5, Amu0, r12, 19
365
+ ldr r9, [sp, #mDo1]
366
+ KeccakThetaRhoPiChiIota Aba0, r8, Ame1, r10, 22, Agi1, r2, 22, Aso1, r9, 11, Aku1, r12, 7, 8, 0
367
+
368
+ ldr r2, [sp, #mDi0]
369
+ KeccakThetaRhoPiChi r5, Asa0, r8, 1, r6, Ake0, r10, 22, r7, Abi0, r2, 30, r3, Amo0, r9, 14, r4, Agu1, lr, 10
370
+ KeccakThetaRhoPiChi r7, Ama1, r8, 9, r3, Age1, r11, 1, r4, Asi1, r2, 3, r5, Ako0, r9, 13, r6, Abu1, r12, 4
371
+ ldr r8, [sp, #mDa1]
372
+ KeccakThetaRhoPiChi r4, Aka0, r8, 18, r5, Abe0, r11, 5, r6, Ami1, r2, 7, r7, Ago0, r9, 28, r3, Asu0, r12, 13
373
+ KeccakThetaRhoPiChi r6, Aga1, r8, 21, r7, Ase0, r10, 1, r3, Aki1, r2, 31, r4, Abo1, r9, 28, r5, Amu1, lr, 20
374
+ ldr r9, [sp, #mDo0]
375
+ KeccakThetaRhoPiChiIota Aba1, r8, Ame0, r11, 22, Agi0, r2, 21, Aso0, r9, 10, Aku0, lr, 7, 12, 0
376
+ .endm
377
+
378
+ .macro KeccakRound2
379
+
380
+ xor5 r3, Aku1, Agu0, Abu1, Asu1, Amu1
381
+ xor5 r7, Ame0, Ake0, Age0, Abe0, Ase1
382
+ xorrol r6, r3, r7
383
+ str r6, [sp, #mDa0]
384
+ xor5 r6, Aku0, Agu1, Abu0, Asu0, Amu0
385
+ xor5 lr, Ame1, Ake1, Age1, Abe1, Ase0
386
+ eors r8, r6, lr
387
+ str r8, [sp, #mDa1]
388
+
389
+ xor5 r5, Agi1, Abi1, Asi1, Ami0, Aki1
390
+ xorrol r9, r5, r6
391
+ str r9, [sp, #mDo0]
392
+ xor5 r4, Agi0, Abi0, Asi0, Ami1, Aki0
393
+ eors r3, r3, r4
394
+ str r3, [sp, #mDo1]
395
+
396
+ xor5 r3, Aba0, Asa1, Ama1, Aka1, Aga1
397
+ xorrol r10, r3, r4
398
+ xor5 r6, Aba1, Asa0, Ama0, Aka0, Aga0
399
+ eors r11, r6, r5
400
+
401
+ xor5 r4, Aso0, Amo0, Ako1, Ago0, Abo0
402
+ xorrol r5, lr, r4
403
+ str r5, [sp, #mDi0]
404
+ xor5 r5, Aso1, Amo1, Ako0, Ago1, Abo1
405
+ eors r2, r7, r5
406
+
407
+ xorrol r12, r5, r6
408
+ eors lr, r4, r3
409
+
410
+ KeccakThetaRhoPiChi r5, Ama0, r8, 2, r6, Abe0, r11, 23, r7, Aki0, r2, 31, r3, Aso1, r9, 14, r4, Agu0, r12, 10
411
+ KeccakThetaRhoPiChi r7, Aga0, r8, 9, r3, Ame1, r10, 0, r4, Abi0, r2, 3, r5, Ako0, r9, 12, r6, Asu0, lr, 4
412
+ ldr r8, [sp, #mDa0]
413
+ KeccakThetaRhoPiChi r4, Asa1, r8, 18, r5, Age1, r10, 5, r6, Ami1, r2, 8, r7, Abo1, r9, 28, r3, Aku0, lr, 14
414
+ KeccakThetaRhoPiChi r6, Aka1, r8, 20, r7, Ase1, r11, 1, r3, Agi0, r2, 31, r4, Amo1, r9, 27, r5, Abu1, r12, 19
415
+ ldr r9, [sp, #mDo1]
416
+ KeccakThetaRhoPiChiIota Aba0, r8, Ake1, r10, 22, Asi0, r2, 22, Ago0, r9, 11, Amu1, r12, 7, 16, 0
417
+
418
+ ldr r2, [sp, #mDi0]
419
+ KeccakThetaRhoPiChi r5, Ama1, r8, 1, r6, Abe1, r10, 22, r7, Aki1, r2, 30, r3, Aso0, r9, 14, r4, Agu1, lr, 10
420
+ KeccakThetaRhoPiChi r7, Aga1, r8, 9, r3, Ame0, r11, 1, r4, Abi1, r2, 3, r5, Ako1, r9, 13, r6, Asu1, r12, 4
421
+ ldr r8, [sp, #mDa1]
422
+ KeccakThetaRhoPiChi r4, Asa0, r8, 18, r5, Age0, r11, 5, r6, Ami0, r2, 7, r7, Abo0, r9, 28, r3, Aku1, r12, 13
423
+ KeccakThetaRhoPiChi r6, Aka0, r8, 21, r7, Ase0, r10, 1, r3, Agi1, r2, 31, r4, Amo0, r9, 28, r5, Abu0, lr, 20
424
+ ldr r9, [sp, #mDo0]
425
+ KeccakThetaRhoPiChiIota Aba1, r8, Ake0, r11, 22, Asi1, r2, 21, Ago1, r9, 10, Amu0, lr, 7, 20, 0
426
+ .endm
427
+
428
+ .macro KeccakRound3
429
+
430
+ xor5 r3, Amu1, Agu0, Asu1, Aku0, Abu0
431
+ xor5 r7, Ake0, Abe1, Ame1, Age0, Ase1
432
+ xorrol r6, r3, r7
433
+ str r6, [sp, #mDa0]
434
+ xor5 r6, Amu0, Agu1, Asu0, Aku1, Abu1
435
+ xor5 lr, Ake1, Abe0, Ame0, Age1, Ase0
436
+ eors r8, r6, lr
437
+ str r8, [sp, #mDa1]
438
+
439
+ xor5 r5, Asi0, Aki0, Abi1, Ami1, Agi1
440
+ xorrol r9, r5, r6
441
+ str r9, [sp, #mDo0]
442
+ xor5 r4, Asi1, Aki1, Abi0, Ami0, Agi0
443
+ eors r3, r3, r4
444
+ str r3, [sp, #mDo1]
445
+
446
+ xor5 r3, Aba0, Ama0, Aga1, Asa1, Aka0
447
+ xorrol r10, r3, r4
448
+ xor5 r6, Aba1, Ama1, Aga0, Asa0, Aka1
449
+ eors r11, r6, r5
450
+
451
+ xor5 r4, Ago1, Aso0, Ako0, Abo0, Amo1
452
+ xorrol r5, lr, r4
453
+ str r5, [sp, #mDi0]
454
+ xor5 r5, Ago0, Aso1, Ako1, Abo1, Amo0
455
+ eors r2, r7, r5
456
+
457
+ xorrol r12, r5, r6
458
+ eors lr, r4, r3
459
+
460
+ KeccakThetaRhoPiChi r5, Aga0, r8, 2, r6, Age0, r11, 23, r7, Agi0, r2, 31, r3, Ago0, r9, 14, r4, Agu0, r12, 10
461
+ KeccakThetaRhoPiChi r7, Aka1, r8, 9, r3, Ake1, r10, 0, r4, Aki1, r2, 3, r5, Ako1, r9, 12, r6, Aku1, lr, 4
462
+ ldr r8, [sp, #mDa0]
463
+ KeccakThetaRhoPiChi r4, Ama0, r8, 18, r5, Ame0, r10, 5, r6, Ami0, r2, 8, r7, Amo0, r9, 28, r3, Amu0, lr, 14
464
+ KeccakThetaRhoPiChi r6, Asa1, r8, 20, r7, Ase1, r11, 1, r3, Asi1, r2, 31, r4, Aso1, r9, 27, r5, Asu1, r12, 19
465
+ ldr r9, [sp, #mDo1]
466
+ KeccakThetaRhoPiChiIota Aba0, r8, Abe0, r10, 22, Abi0, r2, 22, Abo0, r9, 11, Abu0, r12, 7, 24, 0
467
+
468
+ ldr r2, [sp, #mDi0]
469
+ KeccakThetaRhoPiChi r5, Aga1, r8, 1, r6, Age1, r10, 22, r7, Agi1, r2, 30, r3, Ago1, r9, 14, r4, Agu1, lr, 10
470
+ KeccakThetaRhoPiChi r7, Aka0, r8, 9, r3, Ake0, r11, 1, r4, Aki0, r2, 3, r5, Ako0, r9, 13, r6, Aku0, r12, 4
471
+ ldr r8, [sp, #mDa1]
472
+ KeccakThetaRhoPiChi r4, Ama1, r8, 18, r5, Ame1, r11, 5, r6, Ami1, r2, 7, r7, Amo1, r9, 28, r3, Amu1, r12, 13
473
+ KeccakThetaRhoPiChi r6, Asa0, r8, 21, r7, Ase0, r10, 1, r3, Asi0, r2, 31, r4, Aso0, r9, 28, r5, Asu0, lr, 20
474
+ ldr r9, [sp, #mDo0]
475
+ KeccakThetaRhoPiChiIota Aba1, r8, Abe1, r11, 22, Abi1, r2, 21, Abo1, r9, 10, Abu1, lr, 7, 28, 1
476
+ .endm
477
+
478
+
479
+ @----------------------------------------------------------------------------
480
+ @
481
+ @ void KeccakP1600_StaticInitialize( void )
482
+ @
483
+ .align 8
484
+ .global KeccakP1600_StaticInitialize
485
+ .type KeccakP1600_StaticInitialize, %function;
486
+ KeccakP1600_StaticInitialize:
487
+ bx lr
488
+
489
+
490
+ @----------------------------------------------------------------------------
491
+ @
492
+ @ void KeccakP1600_Initialize(void *state)
493
+ @
494
+ .align 8
495
+ .global KeccakP1600_Initialize
496
+ .type KeccakP1600_Initialize, %function;
497
+ KeccakP1600_Initialize:
498
+ push {r4 - r5}
499
+ movs r1, #0
500
+ movs r2, #0
501
+ movs r3, #0
502
+ movs r4, #0
503
+ movs r5, #0
504
+ stmia r0!, { r1 - r5 }
505
+ stmia r0!, { r1 - r5 }
506
+ stmia r0!, { r1 - r5 }
507
+ stmia r0!, { r1 - r5 }
508
+ stmia r0!, { r1 - r5 }
509
+ stmia r0!, { r1 - r5 }
510
+ stmia r0!, { r1 - r5 }
511
+ stmia r0!, { r1 - r5 }
512
+ stmia r0!, { r1 - r5 }
513
+ stmia r0!, { r1 - r5 }
514
+ pop {r4 - r5}
515
+ bx lr
516
+
517
+
518
+ @ ----------------------------------------------------------------------------
519
+ @
520
+ @ void KeccakP1600_AddByte(void *state, unsigned char byte, unsigned int offset)
521
+ @
522
+ .align 8
523
+ .global KeccakP1600_AddByte
524
+ .type KeccakP1600_AddByte, %function;
525
+ KeccakP1600_AddByte:
526
+ push {r4 - r7}
527
+ bic r3, r2, #7 @ r3 = offset & ~7
528
+ adds r0, r0, r3 @ state += r3
529
+ ands r2, r2, #7 @ offset &= 7 (part not lane aligned)
530
+
531
+ movs r4, #0
532
+ movs r5, #0
533
+ push { r4 - r5 }
534
+ add r2, r2, sp
535
+ strb r1, [r2]
536
+ pop { r4 - r5 }
537
+ ldrd r6, r7, [r0]
538
+ toBitInterleaving r4, r5, r6, r7, r3, 0
539
+ strd r6, r7, [r0]
540
+ pop {r4 - r7}
541
+ bx lr
542
+
543
+
544
+ @----------------------------------------------------------------------------
545
+ @
546
+ @ void KeccakP1600_AddBytes(void *state, const unsigned char *data, unsigned int offset, unsigned int length)
547
+ @
548
+ .align 8
549
+ .global KeccakP1600_AddBytes
550
+ .type KeccakP1600_AddBytes, %function;
551
+ KeccakP1600_AddBytes:
552
+ cbz r3, KeccakP1600_AddBytes_Exit1
553
+ push {r4 - r8, lr} @ then
554
+ bic r4, r2, #7 @ offset &= ~7
555
+ adds r0, r0, r4 @ add whole lane offset to state pointer
556
+ ands r2, r2, #7 @ offset &= 7 (part not lane aligned)
557
+ beq KeccakP1600_AddBytes_CheckLanes @ .if offset != 0
558
+ movs r4, r3 @ then, do remaining bytes in first lane
559
+ rsb r5, r2, #8 @ max size in lane = 8 - offset
560
+ cmp r4, r5
561
+ ble KeccakP1600_AddBytes_BytesAlign
562
+ movs r4, r5
563
+ KeccakP1600_AddBytes_BytesAlign:
564
+ sub r8, r3, r4 @ size left
565
+ movs r3, r4
566
+ bl __KeccakP1600_AddBytesInLane
567
+ mov r3, r8
568
+ KeccakP1600_AddBytes_CheckLanes:
569
+ lsrs r2, r3, #3 @ .if length >= 8
570
+ beq KeccakP1600_AddBytes_Bytes
571
+ mov r8, r3
572
+ bl __KeccakP1600_AddLanes
573
+ and r3, r8, #7
574
+ KeccakP1600_AddBytes_Bytes:
575
+ cbz r3, KeccakP1600_AddBytes_Exit
576
+ movs r2, #0
577
+ bl __KeccakP1600_AddBytesInLane
578
+ KeccakP1600_AddBytes_Exit:
579
+ pop {r4 - r8, pc}
580
+ KeccakP1600_AddBytes_Exit1:
581
+ bx lr
582
+
583
+
584
+ @----------------------------------------------------------------------------
585
+ @
586
+ @ __KeccakP1600_AddLanes
587
+ @
588
+ @ Input:
589
+ @ r0 state pointer
590
+ @ r1 data pointer
591
+ @ r2 laneCount
592
+ @
593
+ @ Output:
594
+ @ r0 state pointer next lane
595
+ @ r1 data pointer next byte to input
596
+ @
597
+ @ Changed: r2-r7
598
+ @
599
+ .align 8
600
+ __KeccakP1600_AddLanes:
601
+ __KeccakP1600_AddLanes_LoopAligned:
602
+ ldr r4, [r1], #4
603
+ ldr r5, [r1], #4
604
+ ldrd r6, r7, [r0]
605
+ toBitInterleaving r4, r5, r6, r7, r3, 0
606
+ strd r6, r7, [r0], #8
607
+ subs r2, r2, #1
608
+ bne __KeccakP1600_AddLanes_LoopAligned
609
+ bx lr
610
+
611
+
612
+ @----------------------------------------------------------------------------
613
+ @
614
+ @ __KeccakP1600_AddBytesInLane
615
+ @
616
+ @ Input:
617
+ @ r0 state pointer
618
+ @ r1 data pointer
619
+ @ r2 offset in lane
620
+ @ r3 length
621
+ @
622
+ @ Output:
623
+ @ r0 state pointer next lane
624
+ @ r1 data pointer next byte to input
625
+ @
626
+ @ Changed: r2-r7
627
+ @
628
+ .align 8
629
+ __KeccakP1600_AddBytesInLane:
630
+ movs r4, #0
631
+ movs r5, #0
632
+ push { r4 - r5 }
633
+ add r2, r2, sp
634
+ __KeccakP1600_AddBytesInLane_Loop:
635
+ ldrb r5, [r1], #1
636
+ strb r5, [r2], #1
637
+ subs r3, r3, #1
638
+ bne __KeccakP1600_AddBytesInLane_Loop
639
+ pop { r4 - r5 }
640
+ ldrd r6, r7, [r0]
641
+ toBitInterleaving r4, r5, r6, r7, r3, 0
642
+ strd r6, r7, [r0], #8
643
+ bx lr
644
+
645
+
646
+ @----------------------------------------------------------------------------
647
+ @
648
+ @ void KeccakP1600_OverwriteBytes(void *state, const unsigned char *data, unsigned int offset, unsigned int length)
649
+ @
650
+ .align 8
651
+ .global KeccakP1600_OverwriteBytes
652
+ .type KeccakP1600_OverwriteBytes, %function;
653
+ KeccakP1600_OverwriteBytes:
654
+ cbz r3, KeccakP1600_OverwriteBytes_Exit1 @ .if length != 0
655
+ push {r4 - r8, lr} @ then
656
+ bic r4, r2, #7 @ offset &= ~7
657
+ adds r0, r0, r4 @ add whole lane offset to state pointer
658
+ ands r2, r2, #7 @ offset &= 7 (part not lane aligned)
659
+ beq KeccakP1600_OverwriteBytes_CheckLanes @ .if offset != 0
660
+ movs r4, r3 @ then, do remaining bytes in first lane
661
+ rsb r5, r2, #8 @ max size in lane = 8 - offset
662
+ cmp r4, r5
663
+ ble KeccakP1600_OverwriteBytes_BytesAlign
664
+ movs r4, r5
665
+ KeccakP1600_OverwriteBytes_BytesAlign:
666
+ sub r8, r3, r4 @ size left
667
+ movs r3, r4
668
+ bl __KeccakP1600_OverwriteBytesInLane
669
+ mov r3, r8
670
+ KeccakP1600_OverwriteBytes_CheckLanes:
671
+ lsrs r2, r3, #3 @ .if length >= 8
672
+ beq KeccakP1600_OverwriteBytes_Bytes
673
+ mov r8, r3
674
+ bl __KeccakP1600_OverwriteLanes
675
+ and r3, r8, #7
676
+ KeccakP1600_OverwriteBytes_Bytes:
677
+ cbz r3, KeccakP1600_OverwriteBytes_Exit
678
+ movs r2, #0
679
+ bl __KeccakP1600_OverwriteBytesInLane
680
+ KeccakP1600_OverwriteBytes_Exit:
681
+ pop {r4 - r8, pc}
682
+ KeccakP1600_OverwriteBytes_Exit1:
683
+ bx lr
684
+
685
+
686
+ @----------------------------------------------------------------------------
687
+ @
688
+ @ __KeccakP1600_OverwriteLanes
689
+ @
690
+ @ Input:
691
+ @ r0 state pointer
692
+ @ r1 data pointer
693
+ @ r2 laneCount
694
+ @
695
+ @ Output:
696
+ @ r0 state pointer next lane
697
+ @ r1 data pointer next byte to input
698
+ @
699
+ @ Changed: r2-r7
700
+ @
701
+ .align 8
702
+ __KeccakP1600_OverwriteLanes:
703
+ __KeccakP1600_OverwriteLanes_LoopAligned:
704
+ ldr r4, [r1], #4
705
+ ldr r5, [r1], #4
706
+ ldrd r6, r7, [r0]
707
+ toBitInterleaving r4, r5, r6, r7, r3, 1
708
+ strd r6, r7, [r0], #8
709
+ subs r2, r2, #1
710
+ bne __KeccakP1600_OverwriteLanes_LoopAligned
711
+ bx lr
712
+
713
+
714
+ @----------------------------------------------------------------------------
715
+ @
716
+ @ __KeccakP1600_OverwriteBytesInLane
717
+ @
718
+ @ Input:
719
+ @ r0 state pointer
720
+ @ r1 data pointer
721
+ @ r2 offset in lane
722
+ @ r3 length
723
+ @
724
+ @ Output:
725
+ @ r0 state pointer next lane
726
+ @ r1 data pointer next byte to input
727
+ @
728
+ @ Changed: r2-r7
729
+ @
730
+ .align 8
731
+ __KeccakP1600_OverwriteBytesInLane:
732
+ movs r4, #0
733
+ movs r5, #0
734
+ push { r4 - r5 }
735
+ lsl r7, r2, #2
736
+ add r2, r2, sp
737
+ movs r6, #0x0F @r6 mask to wipe nibbles(bit interleaved bytes) in state
738
+ lsls r6, r6, r7
739
+ movs r7, r6
740
+ KeccakP1600_OverwriteBytesInLane_Loop:
741
+ orrs r6, r6, r7
742
+ lsls r7, r7, #4
743
+ ldrb r5, [r1], #1
744
+ subs r3, r3, #1
745
+ strb r5, [r2], #1
746
+ bne KeccakP1600_OverwriteBytesInLane_Loop
747
+ pop { r4 - r5 }
748
+ toBitInterleaving r4, r5, r2, r3, r7, 1
749
+ ldrd r4, r5, [r0]
750
+ bics r4, r4, r6
751
+ bics r5, r5, r6
752
+ orrs r2, r2, r4
753
+ orrs r3, r3, r5
754
+ strd r2, r3, [r0], #8
755
+ bx lr
756
+
757
+
758
+ @----------------------------------------------------------------------------
759
+ @
760
+ @ void KeccakP1600_OverwriteWithZeroes(void *state, unsigned int byteCount)
761
+ @
762
+ .align 8
763
+ .global KeccakP1600_OverwriteWithZeroes
764
+ .type KeccakP1600_OverwriteWithZeroes, %function;
765
+ KeccakP1600_OverwriteWithZeroes:
766
+ push {r4 - r5}
767
+ lsrs r2, r1, #3
768
+ beq KeccakP1600_OverwriteWithZeroes_Bytes
769
+ movs r4, #0
770
+ movs r5, #0
771
+ KeccakP1600_OverwriteWithZeroes_LoopLanes:
772
+ strd r4, r5, [r0], #8
773
+ subs r2, r2, #1
774
+ bne KeccakP1600_OverwriteWithZeroes_LoopLanes
775
+ KeccakP1600_OverwriteWithZeroes_Bytes:
776
+ ands r1, #7
777
+ beq KeccakP1600_OverwriteWithZeroes_Exit
778
+ movs r3, #0x0F @r2 already zero, r3 = mask to wipe nibbles(bit interleaved bytes) in state
779
+ KeccakP1600_OverwriteWithZeroes_LoopBytes:
780
+ orrs r2, r2, r3
781
+ lsls r3, r3, #4
782
+ subs r1, r1, #1
783
+ bne KeccakP1600_OverwriteWithZeroes_LoopBytes
784
+ ldrd r4, r5, [r0]
785
+ bics r4, r4, r2
786
+ bics r5, r5, r2
787
+ strd r4, r5, [r0], #8
788
+ KeccakP1600_OverwriteWithZeroes_Exit:
789
+ pop {r4 - r5}
790
+ bx lr
791
+
792
+
793
+ @----------------------------------------------------------------------------
794
+ @
795
+ @ void KeccakP1600_ExtractBytes(void *state, const unsigned char *data, unsigned int offset, unsigned int length)
796
+ @
797
+ .align 8
798
+ .global KeccakP1600_ExtractBytes
799
+ .type KeccakP1600_ExtractBytes, %function;
800
+ KeccakP1600_ExtractBytes:
801
+ cbz r3, KeccakP1600_ExtractBytes_Exit1 @ .if length != 0
802
+ push {r4 - r8, lr} @ then
803
+ bic r4, r2, #7 @ offset &= ~7
804
+ adds r0, r0, r4 @ add whole lane offset to state pointer
805
+ ands r2, r2, #7 @ offset &= 7 (part not lane aligned)
806
+ beq KeccakP1600_ExtractBytes_CheckLanes @ .if offset != 0
807
+ movs r4, r3 @ then, do remaining bytes in first lane
808
+ rsb r5, r2, #8 @ max size in lane = 8 - offset
809
+ cmp r4, r5
810
+ ble KeccakP1600_ExtractBytes_BytesAlign
811
+ movs r4, r5
812
+ KeccakP1600_ExtractBytes_BytesAlign:
813
+ sub r8, r3, r4 @ size left
814
+ movs r3, r4
815
+ bl __KeccakP1600_ExtractBytesInLane
816
+ mov r3, r8
817
+ KeccakP1600_ExtractBytes_CheckLanes:
818
+ lsrs r2, r3, #3 @ .if length >= 8
819
+ beq KeccakP1600_ExtractBytes_Bytes
820
+ mov r8, r3
821
+ bl __KeccakP1600_ExtractLanes
822
+ and r3, r8, #7
823
+ KeccakP1600_ExtractBytes_Bytes:
824
+ cbz r3, KeccakP1600_ExtractBytes_Exit
825
+ movs r2, #0
826
+ bl __KeccakP1600_ExtractBytesInLane
827
+ KeccakP1600_ExtractBytes_Exit:
828
+ pop {r4 - r8, pc}
829
+ KeccakP1600_ExtractBytes_Exit1:
830
+ bx lr
831
+
832
+
833
+ @----------------------------------------------------------------------------
834
+ @
835
+ @ __KeccakP1600_ExtractLanes
836
+ @
837
+ @ Input:
838
+ @ r0 state pointer
839
+ @ r1 data pointer
840
+ @ r2 laneCount
841
+ @
842
+ @ Output:
843
+ @ r0 state pointer next lane
844
+ @ r1 data pointer next byte to input
845
+ @
846
+ @ Changed: r2-r5
847
+ @
848
+ .align 8
849
+ __KeccakP1600_ExtractLanes:
850
+ __KeccakP1600_ExtractLanes_LoopAligned:
851
+ ldrd r4, r5, [r0], #8
852
+ fromBitInterleaving r4, r5, r3
853
+ str r4, [r1], #4
854
+ subs r2, r2, #1
855
+ str r5, [r1], #4
856
+ bne __KeccakP1600_ExtractLanes_LoopAligned
857
+ bx lr
858
+
859
+
860
+ @----------------------------------------------------------------------------
861
+ @
862
+ @ __KeccakP1600_ExtractBytesInLane
863
+ @
864
+ @ Input:
865
+ @ r0 state pointer
866
+ @ r1 data pointer
867
+ @ r2 offset in lane
868
+ @ r3 length
869
+ @
870
+ @ Output:
871
+ @ r0 state pointer next lane
872
+ @ r1 data pointer next byte to input
873
+ @
874
+ @ Changed: r2-r6
875
+ @
876
+ .align 8
877
+ __KeccakP1600_ExtractBytesInLane:
878
+ ldrd r4, r5, [r0], #8
879
+ fromBitInterleaving r4, r5, r6
880
+ push {r4, r5}
881
+ add r2, sp, r2
882
+ __KeccakP1600_ExtractBytesInLane_Loop:
883
+ ldrb r4, [r2], #1
884
+ subs r3, r3, #1
885
+ strb r4, [r1], #1
886
+ bne __KeccakP1600_ExtractBytesInLane_Loop
887
+ add sp, #8
888
+ bx lr
889
+
890
+
891
+ @----------------------------------------------------------------------------
892
+ @
893
+ @ void KeccakP1600_ExtractAndAddBytes(void *state, const unsigned char *input, unsigned char *output, unsigned int offset, unsigned int length)
894
+ @
895
+ .align 8
896
+ .global KeccakP1600_ExtractAndAddBytes
897
+ .type KeccakP1600_ExtractAndAddBytes, %function;
898
+ KeccakP1600_ExtractAndAddBytes:
899
+ push {r4 - r10, lr}
900
+ mov r9, r2
901
+ mov r2, r3
902
+ ldr r3, [sp, #8*4]
903
+ cbz r3, KeccakP1600_ExtractAndAddBytes_Exit @ .if length != 0
904
+ bic r4, r2, #7 @ then, offset &= ~7
905
+ adds r0, r0, r4 @ add whole lane offset to state pointer
906
+ ands r2, r2, #7 @ offset &= 7 (part not lane aligned)
907
+ beq KeccakP1600_ExtractAndAddBytes_CheckLanes @ .if offset != 0
908
+ movs r4, r3 @ then, do remaining bytes in first lane
909
+ rsb r5, r2, #8 @ max size in lane = 8 - offset
910
+ cmp r4, r5
911
+ ble KeccakP1600_ExtractAndAddBytes_BytesAlign
912
+ movs r4, r5
913
+ KeccakP1600_ExtractAndAddBytes_BytesAlign:
914
+ sub r8, r3, r4 @ size left
915
+ movs r3, r4
916
+ bl __KeccakP1600_ExtractAndAddBytesInLane
917
+ mov r3, r8
918
+ KeccakP1600_ExtractAndAddBytes_CheckLanes:
919
+ lsrs r2, r3, #3 @ .if length >= 8
920
+ beq KeccakP1600_ExtractAndAddBytes_Bytes
921
+ mov r8, r3
922
+ bl __KeccakP1600_ExtractAndAddLanes
923
+ and r3, r8, #7
924
+ KeccakP1600_ExtractAndAddBytes_Bytes:
925
+ cbz r3, KeccakP1600_ExtractAndAddBytes_Exit
926
+ movs r2, #0
927
+ bl __KeccakP1600_ExtractAndAddBytesInLane
928
+ KeccakP1600_ExtractAndAddBytes_Exit:
929
+ pop {r4 - r10, pc}
930
+
931
+
932
+ @----------------------------------------------------------------------------
933
+ @
934
+ @ __KeccakP1600_ExtractAndAddLanes
935
+ @
936
+ @ Input:
937
+ @ r0 state pointer
938
+ @ r1 input pointer
939
+ @ r9 output pointer
940
+ @ r2 laneCount
941
+ @
942
+ @ Output:
943
+ @ r0 state pointer next lane
944
+ @ r1 input pointer next 32-bit word
945
+ @ r9 output pointer next 32-bit word
946
+ @
947
+ @ Changed: r2-r5
948
+ @
949
+ .align 8
950
+ __KeccakP1600_ExtractAndAddLanes:
951
+ __KeccakP1600_ExtractAndAddLanes_LoopAligned:
952
+ ldrd r4, r5, [r0], #8
953
+ fromBitInterleaving r4, r5, r3
954
+ ldr r3, [r1], #4
955
+ eors r4, r4, r3
956
+ str r4, [r9], #4
957
+ ldr r3, [r1], #4
958
+ eors r5, r5, r3
959
+ subs r2, r2, #1
960
+ str r5, [r9], #4
961
+ bne __KeccakP1600_ExtractAndAddLanes_LoopAligned
962
+ bx lr
963
+
964
+
965
+ @----------------------------------------------------------------------------
966
+ @
967
+ @ __KeccakP1600_ExtractAndAddBytesInLane
968
+ @
969
+ @ Input:
970
+ @ r0 state pointer
971
+ @ r1 input pointer
972
+ @ r9 output pointer
973
+ @ r2 offset in lane
974
+ @ r3 length
975
+ @
976
+ @ Output:
977
+ @ r0 state pointer next lane
978
+ @ r1 input pointer next byte
979
+ @ r9 output pointer next byte
980
+ @
981
+ @ Changed: r2-r6
982
+ @
983
+ .align 8
984
+ __KeccakP1600_ExtractAndAddBytesInLane:
985
+ ldrd r4, r5, [r0], #8
986
+ fromBitInterleaving r4, r5, r6
987
+ push {r4, r5}
988
+ add r2, sp, r2
989
+ __KeccakP1600_ExtractAndAddBytesInLane_Loop:
990
+ ldrb r4, [r2], #1
991
+ ldrb r5, [r1], #1
992
+ eors r4, r4, r5
993
+ subs r3, r3, #1
994
+ strb r4, [r9], #1
995
+ bne __KeccakP1600_ExtractAndAddBytesInLane_Loop
996
+ add sp, #8
997
+ bx lr
998
+
999
+
1000
+ .macro SwapPI13 in0,in1,in2,in3,eo0,eo1,eo2,eo3
1001
+ ldr r3, [r0, #\in0+0]
1002
+ ldr r4, [r0, #\in0+4]
1003
+ ldr r2, [r0, #\in1+0]
1004
+ ldr r1, [r0, #\in1+4]
1005
+ str r2, [r0, #\in0+\eo0*4]
1006
+ str r1, [r0, #\in0+(\eo0^1)*4]
1007
+ ldr r2, [r0, #\in2+0]
1008
+ ldr r1, [r0, #\in2+4]
1009
+ str r2, [r0, #\in1+\eo1*4]
1010
+ str r1, [r0, #\in1+(\eo1^1)*4]
1011
+ ldr r2, [r0, #\in3+0]
1012
+ ldr r1, [r0, #\in3+4]
1013
+ str r2, [r0, #\in2+\eo2*4]
1014
+ str r1, [r0, #\in2+(\eo2^1)*4]
1015
+ str r3, [r0, #\in3+\eo3*4]
1016
+ str r4, [r0, #\in3+(\eo3^1)*4]
1017
+ .endm
1018
+
1019
+ .macro SwapPI2 in0,in1,in2,in3
1020
+ ldr r3, [r0, #\in0+0]
1021
+ ldr r4, [r0, #\in0+4]
1022
+ ldr r2, [r0, #\in1+0]
1023
+ ldr r1, [r0, #\in1+4]
1024
+ str r2, [r0, #\in0+4]
1025
+ str r1, [r0, #\in0+0]
1026
+ str r3, [r0, #\in1+4]
1027
+ str r4, [r0, #\in1+0]
1028
+ ldr r3, [r0, #\in2+0]
1029
+ ldr r4, [r0, #\in2+4]
1030
+ ldr r2, [r0, #\in3+0]
1031
+ ldr r1, [r0, #\in3+4]
1032
+ str r2, [r0, #\in2+4]
1033
+ str r1, [r0, #\in2+0]
1034
+ str r3, [r0, #\in3+4]
1035
+ str r4, [r0, #\in3+0]
1036
+ .endm
1037
+
1038
+ .macro SwapEO even,odd
1039
+ ldr r3, [r0, #\even]
1040
+ ldr r4, [r0, #\odd]
1041
+ str r3, [r0, #\odd]
1042
+ str r4, [r0, #\even]
1043
+ .endm
1044
+
1045
+ @ ----------------------------------------------------------------------------
1046
+ @
1047
+ @ void KeccakP1600_Permute_Nrounds(void *state, unsigned int nrounds)
1048
+ @
1049
+ .align 8
1050
+ .global KeccakP1600_Permute_Nrounds
1051
+ .type KeccakP1600_Permute_Nrounds, %function;
1052
+ KeccakP1600_Permute_Nrounds:
1053
+ lsls r3, r1, #30
1054
+ bne KeccakP1600_Permute_NroundsNotMultiple4
1055
+ lsls r2, r1, #3
1056
+ adr r1, KeccakP1600_Permute_RoundConstants0Mod4
1057
+ subs r1, r1, r2
1058
+ b KeccakP1600_Permute
1059
+ KeccakP1600_Permute_NroundsNotMultiple4: @ nrounds not multiple of 4
1060
+ push { r4 - r12, lr }
1061
+ sub sp, #mSize
1062
+ lsrs r2, r1, #2
1063
+ lsls r2, r2, #3+2
1064
+ adr r1, KeccakP1600_Permute_RoundConstants0
1065
+ subs r1, r1, r2
1066
+ str r1, [sp, #mRC]
1067
+ lsls r3, r3, #1
1068
+ bcs KeccakP1600_Permute_Nrounds23Mod4
1069
+ KeccakP1600_Permute_Nrounds1Mod4:
1070
+ SwapPI13 Aga0, Aka0, Asa0, Ama0, 1, 0, 1, 0
1071
+ SwapPI13 Abe0, Age0, Ame0, Ake0, 0, 1, 0, 1
1072
+ SwapPI13 Abi0, Aki0, Agi0, Asi0, 1, 0, 1, 0
1073
+ SwapEO Ami0, Ami1
1074
+ SwapPI13 Abo0, Amo0, Aso0, Ago0, 1, 0, 1, 0
1075
+ SwapEO Ako0, Ako1
1076
+ SwapPI13 Abu0, Asu0, Aku0, Amu0, 0, 1, 0, 1
1077
+ b.w KeccakP1600_Permute_Round1Mod4
1078
+ KeccakP1600_Permute_Nrounds23Mod4:
1079
+ bpl KeccakP1600_Permute_Nrounds2Mod4
1080
+ KeccakP1600_Permute_Nrounds3Mod4:
1081
+ SwapPI13 Aga0, Ama0, Asa0, Aka0, 0, 1, 0, 1
1082
+ SwapPI13 Abe0, Ake0, Ame0, Age0, 1, 0, 1, 0
1083
+ SwapPI13 Abi0, Asi0, Agi0, Aki0, 0, 1, 0, 1
1084
+ SwapEO Ami0, Ami1
1085
+ SwapPI13 Abo0, Ago0, Aso0, Amo0, 0, 1, 0, 1
1086
+ SwapEO Ako0, Ako1
1087
+ SwapPI13 Abu0, Amu0, Aku0, Asu0, 1, 0, 1, 0
1088
+ b.w KeccakP1600_Permute_Round3Mod4
1089
+ KeccakP1600_Permute_Nrounds2Mod4:
1090
+ SwapPI2 Aga0, Asa0, Aka0, Ama0
1091
+ SwapPI2 Abe0, Ame0, Age0, Ake0
1092
+ SwapPI2 Abi0, Agi0, Aki0, Asi0
1093
+ SwapPI2 Abo0, Aso0, Ago0, Amo0
1094
+ SwapPI2 Abu0, Aku0, Amu0, Asu0
1095
+ b.w KeccakP1600_Permute_Round2Mod4
1096
+
1097
+
1098
+ @ ----------------------------------------------------------------------------
1099
+ @
1100
+ @ void KeccakP1600_Permute_12rounds( void *state )
1101
+ @
1102
+ .align 8
1103
+ .global KeccakP1600_Permute_12rounds
1104
+ .type KeccakP1600_Permute_12rounds, %function;
1105
+ KeccakP1600_Permute_12rounds:
1106
+ adr r1, KeccakP1600_Permute_RoundConstants12
1107
+ b KeccakP1600_Permute
1108
+
1109
+
1110
+ @ ----------------------------------------------------------------------------
1111
+ @
1112
+ @ void KeccakP1600_Permute_24rounds( void *state )
1113
+ @
1114
+ .align 8
1115
+ .global KeccakP1600_Permute_24rounds
1116
+ .type KeccakP1600_Permute_24rounds, %function;
1117
+ KeccakP1600_Permute_24rounds:
1118
+ adr r1, KeccakP1600_Permute_RoundConstants24
1119
+ b KeccakP1600_Permute
1120
+
1121
+
1122
+ .align 8
1123
+ KeccakP1600_Permute_RoundConstants24:
1124
+ @ 0 1
1125
+ .long 0x00000001, 0x00000000
1126
+ .long 0x00000000, 0x00000089
1127
+ .long 0x00000000, 0x8000008b
1128
+ .long 0x00000000, 0x80008080
1129
+ .long 0x00000001, 0x0000008b
1130
+ .long 0x00000001, 0x00008000
1131
+ .long 0x00000001, 0x80008088
1132
+ .long 0x00000001, 0x80000082
1133
+ .long 0x00000000, 0x0000000b
1134
+ .long 0x00000000, 0x0000000a
1135
+ .long 0x00000001, 0x00008082
1136
+ .long 0x00000000, 0x00008003
1137
+ KeccakP1600_Permute_RoundConstants12:
1138
+ .long 0x00000001, 0x0000808b
1139
+ .long 0x00000001, 0x8000000b
1140
+ .long 0x00000001, 0x8000008a
1141
+ .long 0x00000001, 0x80000081
1142
+ .long 0x00000000, 0x80000081
1143
+ .long 0x00000000, 0x80000008
1144
+ .long 0x00000000, 0x00000083
1145
+ .long 0x00000000, 0x80008003
1146
+ KeccakP1600_Permute_RoundConstants0:
1147
+ .long 0x00000001, 0x80008088
1148
+ .long 0x00000000, 0x80000088
1149
+ .long 0x00000001, 0x00008000
1150
+ .long 0x00000000, 0x80008082
1151
+ KeccakP1600_Permute_RoundConstants0Mod4:
1152
+ .long 0x000000FF @terminator
1153
+
1154
+ @----------------------------------------------------------------------------
1155
+ @
1156
+ @ void KeccakP1600_Permute( void *state, void * rc )
1157
+ @
1158
+ .align 8
1159
+ KeccakP1600_Permute:
1160
+ push { r4 - r12, lr }
1161
+ sub sp, #mSize
1162
+ str r1, [sp, #mRC]
1163
+ KeccakP1600_Permute_RoundLoop:
1164
+ KeccakRound0
1165
+ KeccakP1600_Permute_Round3Mod4:
1166
+ KeccakRound1
1167
+ KeccakP1600_Permute_Round2Mod4:
1168
+ KeccakRound2
1169
+ KeccakP1600_Permute_Round1Mod4:
1170
+ KeccakRound3
1171
+ bne KeccakP1600_Permute_RoundLoop
1172
+ add sp, #mSize
1173
+ pop { r4 - r12, pc }
1174
+
1175
+