digest-kangarootwelve 0.4.8 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (473) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.XKCP +0 -20
  3. data/README.md +2 -2
  4. data/ext/digest/kangarootwelve/XKCP/lib/high/KangarooTwelve/KangarooTwelve.c +20 -20
  5. data/ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.c +2 -0
  6. data/ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.h +4 -4
  7. data/ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.inc +27 -31
  8. data/ext/digest/kangarootwelve/XKCP/lib/high/TurboSHAKE/TurboSHAKE.c +2 -0
  9. data/ext/digest/kangarootwelve/XKCP/lib/high/TurboSHAKE/TurboSHAKE.h +1 -1
  10. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ARM/KeccakP-1600-SnP.h +18 -12
  11. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ARMv7A-NEON/KeccakP-1600-SnP.h +19 -11
  12. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVR8/KeccakP-1600-SnP.h +18 -12
  13. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVR8/KeccakP-1600-avr8-fast.s +10 -10
  14. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX2/KeccakP-1600-AVX2.s +3 -0
  15. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX2/KeccakP-1600-SnP.h +24 -14
  16. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX512/C/KeccakP-1600-AVX512.c +23 -22
  17. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX512/C/KeccakP-1600-SnP.h +18 -13
  18. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX512/KeccakP-1600-AVX512.s +12 -12
  19. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/AVX512/KeccakP-1600-SnP.h +18 -14
  20. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/XOP/KeccakP-1600-SnP.h +19 -13
  21. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/XOP/KeccakP-1600-XOP.c +36 -36
  22. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/compact/KeccakP-1600-SnP.h +18 -12
  23. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/compact/KeccakP-1600-compact64.c +19 -19
  24. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-32bits-inplace/KeccakP-1600-SnP.h +18 -12
  25. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-32bits-inplace/KeccakP-1600-inplace32BI.c +31 -31
  26. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-64bits/KeccakP-1600-SnP.h +21 -16
  27. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/plain-64bits/KeccakP-1600-opt64.c +64 -64
  28. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/ARMv7A-NEON/KeccakP-1600-inplace-pl2-armv7a-neon-le-gcc.s +16 -16
  29. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/ARMv7A-NEON/KeccakP-1600-times2-SnP.h +24 -17
  30. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/AVX512/KeccakP-1600-times2-SIMD512.c +37 -37
  31. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/AVX512/KeccakP-1600-times2-SnP.h +25 -17
  32. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/SIMD128/KeccakP-1600-times2-SIMD128.c +32 -34
  33. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/SIMD128/KeccakP-1600-times2-SnP.h +24 -17
  34. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX2/KeccakP-1600-times4-SIMD256.c +39 -43
  35. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX2/KeccakP-1600-times4-SnP.h +26 -20
  36. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX512/KeccakP-1600-times4-SIMD512.c +38 -39
  37. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX512/KeccakP-1600-times4-SnP.h +25 -19
  38. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/AVX512/KeccakP-1600-times8-SIMD512.c +33 -35
  39. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/AVX512/KeccakP-1600-times8-SnP.h +26 -21
  40. data/ext/digest/kangarootwelve/XKCP/lib/low/common/SnP-Relaned.h +25 -21
  41. data/ext/digest/kangarootwelve/targets/armv7a/config.h +1 -0
  42. data/ext/digest/kangarootwelve/targets/avx/config.h +1 -0
  43. data/ext/digest/kangarootwelve/targets/avx2/config.h +2 -0
  44. data/ext/digest/kangarootwelve/targets/avx2noasm/config.h +2 -0
  45. data/ext/digest/kangarootwelve/targets/avx512/config.h +3 -0
  46. data/ext/digest/kangarootwelve/targets/avx512noasm/config.h +3 -0
  47. data/ext/digest/kangarootwelve/targets/config.h +0 -6
  48. data/ext/digest/kangarootwelve/targets/list +0 -2
  49. data/ext/digest/kangarootwelve/targets/ssse3/config.h +1 -0
  50. data/ext/digest/kangarootwelve/targets/xop/config.h +1 -0
  51. data/lib/digest/kangarootwelve/version.rb +1 -1
  52. metadata +2 -423
  53. data/ext/digest/kangarootwelve/.sitearchdir.-.digest.time +0 -0
  54. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-32bits/KeccakP-1600-SnP.h +0 -44
  55. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-32bits/KeccakP-1600-reference.h +0 -23
  56. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-32bits/KeccakP-1600-reference32BI.c +0 -625
  57. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-64bits/KeccakP-1600-SnP.h +0 -44
  58. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-64bits/KeccakP-1600-reference.c +0 -444
  59. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/ref-64bits/KeccakP-1600-reference.h +0 -23
  60. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/fallback-on1/KeccakP-1600-times2-SnP.h +0 -45
  61. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/fallback-on1/KeccakP-1600-times2-on1.c +0 -37
  62. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on1/KeccakP-1600-times4-SnP.h +0 -45
  63. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on1/KeccakP-1600-times4-on1.c +0 -37
  64. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on2/KeccakP-1600-times4-SnP.h +0 -45
  65. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/fallback-on2/KeccakP-1600-times4-on2.c +0 -38
  66. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on1/KeccakP-1600-times8-SnP.h +0 -45
  67. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on1/KeccakP-1600-times8-on1.c +0 -37
  68. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on2/KeccakP-1600-times8-SnP.h +0 -45
  69. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on2/KeccakP-1600-times8-on2.c +0 -38
  70. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on4/KeccakP-1600-times8-SnP.h +0 -45
  71. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times8/fallback-on4/KeccakP-1600-times8-on4.c +0 -38
  72. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ARM/KeccakP-200-SnP.h +0 -41
  73. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ARM/KeccakP-200-armv6m-le-gcc.s +0 -446
  74. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ARM/KeccakP-200-armv7m-le-gcc.s +0 -427
  75. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/AVR8/KeccakP-200-SnP.h +0 -41
  76. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/AVR8/KeccakP-200-avr8-fast.s +0 -647
  77. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/compact/KeccakP-200-SnP.h +0 -39
  78. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/compact/KeccakP-200-compact.c +0 -190
  79. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ref/KeccakP-200-SnP.h +0 -43
  80. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ref/KeccakP-200-reference.c +0 -416
  81. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-200/ref/KeccakP-200-reference.h +0 -23
  82. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ARM/KeccakP-400-SnP.h +0 -41
  83. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ARM/KeccakP-400-armv6m-le-gcc.s +0 -458
  84. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ARM/KeccakP-400-armv7m-le-gcc.s +0 -458
  85. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/AVR8/KeccakP-400-SnP.h +0 -41
  86. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/AVR8/KeccakP-400-avr8-fast.s +0 -728
  87. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ref/KeccakP-400-SnP.h +0 -43
  88. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ref/KeccakP-400-reference.c +0 -418
  89. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-400/ref/KeccakP-400-reference.h +0 -23
  90. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ARM/KeccakP-800-SnP.h +0 -42
  91. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ARM/KeccakP-800-u2-armv6m-le-gcc.s +0 -534
  92. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ARM/KeccakP-800-u2-armv7a-le-gcc.s +0 -527
  93. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ARM/KeccakP-800-u2-armv7m-le-gcc.s +0 -523
  94. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/AVR8/KeccakP-800-SnP.h +0 -42
  95. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/AVR8/KeccakP-800-avr8-fast.s +0 -929
  96. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/compact/KeccakP-800-SnP.h +0 -40
  97. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/compact/KeccakP-800-compact.c +0 -244
  98. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-SnP.h +0 -46
  99. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-opt32-bis.macros +0 -184
  100. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-opt32.c +0 -454
  101. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-opt32.macros +0 -459
  102. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-unrolling-bis.macros +0 -83
  103. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/KeccakP-800-unrolling.macros +0 -88
  104. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/lcu2/KeccakP-800-opt32-config.h +0 -7
  105. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/lcua/KeccakP-800-opt32-config.h +0 -7
  106. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/u2/KeccakP-800-opt32-config.h +0 -7
  107. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/plain/ua/KeccakP-800-opt32-config.h +0 -7
  108. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ref/KeccakP-800-SnP.h +0 -44
  109. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ref/KeccakP-800-reference.c +0 -441
  110. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-800/ref/KeccakP-800-reference.h +0 -23
  111. data/ext/digest/kangarootwelve/XKCP/lib/low/common/PlSnP-Fallback.inc +0 -291
  112. data/ext/digest/kangarootwelve/XKCP/tests/UnitTests/displayIntermediateValues.c +0 -177
  113. data/ext/digest/kangarootwelve/XKCP/tests/UnitTests/displayIntermediateValues.h +0 -30
  114. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times2-SnP.h +0 -1
  115. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times2-on1.c +0 -1
  116. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times4-SnP.h +0 -1
  117. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times4-on1.c +0 -1
  118. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times8-SnP.h +0 -1
  119. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-1600-times8-on1.c +0 -1
  120. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-200-SnP.h +0 -1
  121. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-200-armv6m-le-gcc.S +0 -1
  122. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-400-SnP.h +0 -1
  123. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-400-armv6m-le-gcc.S +0 -1
  124. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-800-SnP.h +0 -1
  125. data/ext/digest/kangarootwelve/targets/armv6/KeccakP-800-u2-armv6m-le-gcc.S +0 -1
  126. data/ext/digest/kangarootwelve/targets/armv6/PlSnP-Fallback.inc +0 -1
  127. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times2-SnP.h +0 -1
  128. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times2-on1.c +0 -1
  129. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times4-SnP.h +0 -1
  130. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times4-on1.c +0 -1
  131. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times8-SnP.h +0 -1
  132. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-1600-times8-on1.c +0 -1
  133. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-200-SnP.h +0 -1
  134. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-200-armv6m-le-gcc.S +0 -1
  135. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-400-SnP.h +0 -1
  136. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-400-armv6m-le-gcc.S +0 -1
  137. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-800-SnP.h +0 -1
  138. data/ext/digest/kangarootwelve/targets/armv6m/KeccakP-800-u2-armv6m-le-gcc.S +0 -1
  139. data/ext/digest/kangarootwelve/targets/armv6m/PlSnP-Fallback.inc +0 -1
  140. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times4-SnP.h +0 -1
  141. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times4-on2.c +0 -1
  142. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times8-SnP.h +0 -1
  143. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-1600-times8-on2.c +0 -1
  144. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-200-SnP.h +0 -1
  145. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-200-reference.c +0 -1
  146. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-200-reference.h +0 -1
  147. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-400-SnP.h +0 -1
  148. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-400-reference.c +0 -1
  149. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-400-reference.h +0 -1
  150. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-800-SnP.h +0 -1
  151. data/ext/digest/kangarootwelve/targets/armv7a/KeccakP-800-u2-armv7a-le-gcc.S +0 -1
  152. data/ext/digest/kangarootwelve/targets/armv7a/PlSnP-Fallback.inc +0 -1
  153. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times2-SnP.h +0 -1
  154. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times2-on1.c +0 -1
  155. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times4-SnP.h +0 -1
  156. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times4-on1.c +0 -1
  157. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times8-SnP.h +0 -1
  158. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-1600-times8-on1.c +0 -1
  159. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-200-SnP.h +0 -1
  160. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-200-armv7m-le-gcc.S +0 -1
  161. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-400-SnP.h +0 -1
  162. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-400-armv7m-le-gcc.S +0 -1
  163. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-800-SnP.h +0 -1
  164. data/ext/digest/kangarootwelve/targets/armv7m/KeccakP-800-u2-armv7m-le-gcc.S +0 -1
  165. data/ext/digest/kangarootwelve/targets/armv7m/PlSnP-Fallback.inc +0 -1
  166. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times2-SnP.h +0 -1
  167. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times2-on1.c +0 -1
  168. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times4-SnP.h +0 -1
  169. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times4-on1.c +0 -1
  170. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times8-SnP.h +0 -1
  171. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-1600-times8-on1.c +0 -1
  172. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-200-SnP.h +0 -1
  173. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-200-reference.c +0 -1
  174. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-200-reference.h +0 -1
  175. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-400-SnP.h +0 -1
  176. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-400-reference.c +0 -1
  177. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-400-reference.h +0 -1
  178. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-SnP.h +0 -1
  179. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32-bis.macros +0 -1
  180. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32-config.h +0 -1
  181. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32.c +0 -1
  182. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-opt32.macros +0 -1
  183. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-unrolling-bis.macros +0 -1
  184. data/ext/digest/kangarootwelve/targets/armv8a/KeccakP-800-unrolling.macros +0 -1
  185. data/ext/digest/kangarootwelve/targets/armv8a/PlSnP-Fallback.inc +0 -1
  186. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times2-SnP.h +0 -1
  187. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times2-on1.c +0 -1
  188. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times4-SnP.h +0 -1
  189. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times4-on1.c +0 -1
  190. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times8-SnP.h +0 -1
  191. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-1600-times8-on1.c +0 -1
  192. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-200-SnP.h +0 -1
  193. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-200-avr8-fast.S +0 -1
  194. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-400-SnP.h +0 -1
  195. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-400-avr8-fast.S +0 -1
  196. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-800-SnP.h +0 -1
  197. data/ext/digest/kangarootwelve/targets/avr8/KeccakP-800-avr8-fast.S +0 -1
  198. data/ext/digest/kangarootwelve/targets/avr8/PlSnP-Fallback.inc +0 -1
  199. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times4-SnP.h +0 -1
  200. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times4-on2.c +0 -1
  201. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times8-SnP.h +0 -1
  202. data/ext/digest/kangarootwelve/targets/avx/KeccakP-1600-times8-on2.c +0 -1
  203. data/ext/digest/kangarootwelve/targets/avx/KeccakP-200-SnP.h +0 -1
  204. data/ext/digest/kangarootwelve/targets/avx/KeccakP-200-reference.c +0 -1
  205. data/ext/digest/kangarootwelve/targets/avx/KeccakP-200-reference.h +0 -1
  206. data/ext/digest/kangarootwelve/targets/avx/KeccakP-400-SnP.h +0 -1
  207. data/ext/digest/kangarootwelve/targets/avx/KeccakP-400-reference.c +0 -1
  208. data/ext/digest/kangarootwelve/targets/avx/KeccakP-400-reference.h +0 -1
  209. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-SnP.h +0 -1
  210. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32-bis.macros +0 -1
  211. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32-config.h +0 -1
  212. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32.c +0 -1
  213. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-opt32.macros +0 -1
  214. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-unrolling-bis.macros +0 -1
  215. data/ext/digest/kangarootwelve/targets/avx/KeccakP-800-unrolling.macros +0 -1
  216. data/ext/digest/kangarootwelve/targets/avx/PlSnP-Fallback.inc +0 -1
  217. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times8-SnP.h +0 -1
  218. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-1600-times8-on4.c +0 -1
  219. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-200-SnP.h +0 -1
  220. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-200-reference.c +0 -1
  221. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-200-reference.h +0 -1
  222. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-400-SnP.h +0 -1
  223. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-400-reference.c +0 -1
  224. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-400-reference.h +0 -1
  225. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-SnP.h +0 -1
  226. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32-bis.macros +0 -1
  227. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32-config.h +0 -1
  228. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32.c +0 -1
  229. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-opt32.macros +0 -1
  230. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-unrolling-bis.macros +0 -1
  231. data/ext/digest/kangarootwelve/targets/avx2/KeccakP-800-unrolling.macros +0 -1
  232. data/ext/digest/kangarootwelve/targets/avx2/PlSnP-Fallback.inc +0 -1
  233. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times8-SnP.h +0 -1
  234. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-1600-times8-on4.c +0 -1
  235. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-200-SnP.h +0 -1
  236. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-200-reference.c +0 -1
  237. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-200-reference.h +0 -1
  238. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-400-SnP.h +0 -1
  239. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-400-reference.c +0 -1
  240. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-400-reference.h +0 -1
  241. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-SnP.h +0 -1
  242. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32-bis.macros +0 -1
  243. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32-config.h +0 -1
  244. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32.c +0 -1
  245. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-opt32.macros +0 -1
  246. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-unrolling-bis.macros +0 -1
  247. data/ext/digest/kangarootwelve/targets/avx2noasm/KeccakP-800-unrolling.macros +0 -1
  248. data/ext/digest/kangarootwelve/targets/avx2noasm/PlSnP-Fallback.inc +0 -1
  249. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-200-SnP.h +0 -1
  250. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-200-reference.c +0 -1
  251. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-200-reference.h +0 -1
  252. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-400-SnP.h +0 -1
  253. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-400-reference.c +0 -1
  254. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-400-reference.h +0 -1
  255. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-SnP.h +0 -1
  256. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32-bis.macros +0 -1
  257. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32-config.h +0 -1
  258. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32.c +0 -1
  259. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-opt32.macros +0 -1
  260. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-unrolling-bis.macros +0 -1
  261. data/ext/digest/kangarootwelve/targets/avx512/KeccakP-800-unrolling.macros +0 -1
  262. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-200-SnP.h +0 -1
  263. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-200-reference.c +0 -1
  264. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-200-reference.h +0 -1
  265. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-400-SnP.h +0 -1
  266. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-400-reference.c +0 -1
  267. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-400-reference.h +0 -1
  268. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-SnP.h +0 -1
  269. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32-bis.macros +0 -1
  270. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32-config.h +0 -1
  271. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32.c +0 -1
  272. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-opt32.macros +0 -1
  273. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-unrolling-bis.macros +0 -1
  274. data/ext/digest/kangarootwelve/targets/avx512noasm/KeccakP-800-unrolling.macros +0 -1
  275. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times2-SnP.h +0 -1
  276. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times2-on1.c +0 -1
  277. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times4-SnP.h +0 -1
  278. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times4-on1.c +0 -1
  279. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times8-SnP.h +0 -1
  280. data/ext/digest/kangarootwelve/targets/compact/KeccakP-1600-times8-on1.c +0 -1
  281. data/ext/digest/kangarootwelve/targets/compact/KeccakP-200-SnP.h +0 -1
  282. data/ext/digest/kangarootwelve/targets/compact/KeccakP-200-compact.c +0 -1
  283. data/ext/digest/kangarootwelve/targets/compact/KeccakP-400-SnP.h +0 -1
  284. data/ext/digest/kangarootwelve/targets/compact/KeccakP-400-reference.c +0 -1
  285. data/ext/digest/kangarootwelve/targets/compact/KeccakP-400-reference.h +0 -1
  286. data/ext/digest/kangarootwelve/targets/compact/KeccakP-800-SnP.h +0 -1
  287. data/ext/digest/kangarootwelve/targets/compact/KeccakP-800-compact.c +0 -1
  288. data/ext/digest/kangarootwelve/targets/compact/PlSnP-Fallback.inc +0 -1
  289. data/ext/digest/kangarootwelve/targets/defs +0 -2
  290. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times2-SnP.h +0 -1
  291. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times2-on1.c +0 -1
  292. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times4-SnP.h +0 -1
  293. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times4-on1.c +0 -1
  294. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times8-SnP.h +0 -1
  295. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-1600-times8-on1.c +0 -1
  296. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-200-SnP.h +0 -1
  297. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-200-reference.c +0 -1
  298. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-200-reference.h +0 -1
  299. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-400-SnP.h +0 -1
  300. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-400-reference.c +0 -1
  301. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-400-reference.h +0 -1
  302. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-SnP.h +0 -1
  303. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32-bis.macros +0 -1
  304. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32-config.h +0 -1
  305. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32.c +0 -1
  306. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-opt32.macros +0 -1
  307. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-unrolling-bis.macros +0 -1
  308. data/ext/digest/kangarootwelve/targets/generic32/KeccakP-800-unrolling.macros +0 -1
  309. data/ext/digest/kangarootwelve/targets/generic32/PlSnP-Fallback.inc +0 -1
  310. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times2-SnP.h +0 -1
  311. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times2-on1.c +0 -1
  312. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times4-SnP.h +0 -1
  313. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times4-on1.c +0 -1
  314. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times8-SnP.h +0 -1
  315. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-1600-times8-on1.c +0 -1
  316. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-200-SnP.h +0 -1
  317. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-200-reference.c +0 -1
  318. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-200-reference.h +0 -1
  319. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-400-SnP.h +0 -1
  320. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-400-reference.c +0 -1
  321. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-400-reference.h +0 -1
  322. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-SnP.h +0 -1
  323. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32-bis.macros +0 -1
  324. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32-config.h +0 -1
  325. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32.c +0 -1
  326. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-opt32.macros +0 -1
  327. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-unrolling-bis.macros +0 -1
  328. data/ext/digest/kangarootwelve/targets/generic32lc/KeccakP-800-unrolling.macros +0 -1
  329. data/ext/digest/kangarootwelve/targets/generic32lc/PlSnP-Fallback.inc +0 -1
  330. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times2-SnP.h +0 -1
  331. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times2-on1.c +0 -1
  332. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times4-SnP.h +0 -1
  333. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times4-on1.c +0 -1
  334. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times8-SnP.h +0 -1
  335. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-1600-times8-on1.c +0 -1
  336. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-200-SnP.h +0 -1
  337. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-200-reference.c +0 -1
  338. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-200-reference.h +0 -1
  339. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-400-SnP.h +0 -1
  340. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-400-reference.c +0 -1
  341. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-400-reference.h +0 -1
  342. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-SnP.h +0 -1
  343. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32-bis.macros +0 -1
  344. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32-config.h +0 -1
  345. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32.c +0 -1
  346. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-opt32.macros +0 -1
  347. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-unrolling-bis.macros +0 -1
  348. data/ext/digest/kangarootwelve/targets/generic64/KeccakP-800-unrolling.macros +0 -1
  349. data/ext/digest/kangarootwelve/targets/generic64/PlSnP-Fallback.inc +0 -1
  350. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times2-SnP.h +0 -1
  351. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times2-on1.c +0 -1
  352. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times4-SnP.h +0 -1
  353. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times4-on1.c +0 -1
  354. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times8-SnP.h +0 -1
  355. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-1600-times8-on1.c +0 -1
  356. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-200-SnP.h +0 -1
  357. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-200-reference.c +0 -1
  358. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-200-reference.h +0 -1
  359. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-400-SnP.h +0 -1
  360. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-400-reference.c +0 -1
  361. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-400-reference.h +0 -1
  362. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-SnP.h +0 -1
  363. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32-bis.macros +0 -1
  364. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32-config.h +0 -1
  365. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32.c +0 -1
  366. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-opt32.macros +0 -1
  367. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-unrolling-bis.macros +0 -1
  368. data/ext/digest/kangarootwelve/targets/generic64lc/KeccakP-800-unrolling.macros +0 -1
  369. data/ext/digest/kangarootwelve/targets/generic64lc/PlSnP-Fallback.inc +0 -1
  370. data/ext/digest/kangarootwelve/targets/reference/KangarooTwelve.c +0 -1
  371. data/ext/digest/kangarootwelve/targets/reference/KangarooTwelve.h +0 -1
  372. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-SnP.h +0 -1
  373. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-reference.c +0 -1
  374. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-reference.h +0 -1
  375. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times2-SnP.h +0 -1
  376. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times2-on1.c +0 -1
  377. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times4-SnP.h +0 -1
  378. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times4-on1.c +0 -1
  379. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times8-SnP.h +0 -1
  380. data/ext/digest/kangarootwelve/targets/reference/KeccakP-1600-times8-on1.c +0 -1
  381. data/ext/digest/kangarootwelve/targets/reference/KeccakP-200-SnP.h +0 -1
  382. data/ext/digest/kangarootwelve/targets/reference/KeccakP-200-reference.c +0 -1
  383. data/ext/digest/kangarootwelve/targets/reference/KeccakP-200-reference.h +0 -1
  384. data/ext/digest/kangarootwelve/targets/reference/KeccakP-400-SnP.h +0 -1
  385. data/ext/digest/kangarootwelve/targets/reference/KeccakP-400-reference.c +0 -1
  386. data/ext/digest/kangarootwelve/targets/reference/KeccakP-400-reference.h +0 -1
  387. data/ext/digest/kangarootwelve/targets/reference/KeccakP-800-SnP.h +0 -1
  388. data/ext/digest/kangarootwelve/targets/reference/KeccakP-800-reference.c +0 -1
  389. data/ext/digest/kangarootwelve/targets/reference/KeccakP-800-reference.h +0 -1
  390. data/ext/digest/kangarootwelve/targets/reference/KeccakSponge.c +0 -1
  391. data/ext/digest/kangarootwelve/targets/reference/KeccakSponge.h +0 -1
  392. data/ext/digest/kangarootwelve/targets/reference/KeccakSponge.inc +0 -1
  393. data/ext/digest/kangarootwelve/targets/reference/Phases.h +0 -1
  394. data/ext/digest/kangarootwelve/targets/reference/PlSnP-Fallback.inc +0 -1
  395. data/ext/digest/kangarootwelve/targets/reference/TurboSHAKE.c +0 -1
  396. data/ext/digest/kangarootwelve/targets/reference/TurboSHAKE.h +0 -1
  397. data/ext/digest/kangarootwelve/targets/reference/align.h +0 -1
  398. data/ext/digest/kangarootwelve/targets/reference/brg_endian.h +0 -1
  399. data/ext/digest/kangarootwelve/targets/reference/config.h +0 -1
  400. data/ext/digest/kangarootwelve/targets/reference/displayIntermediateValues.c +0 -1
  401. data/ext/digest/kangarootwelve/targets/reference/displayIntermediateValues.h +0 -1
  402. data/ext/digest/kangarootwelve/targets/reference/ext.c +0 -1
  403. data/ext/digest/kangarootwelve/targets/reference/utils.h +0 -1
  404. data/ext/digest/kangarootwelve/targets/reference32bits/KangarooTwelve.c +0 -1
  405. data/ext/digest/kangarootwelve/targets/reference32bits/KangarooTwelve.h +0 -1
  406. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-SnP.h +0 -1
  407. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-reference.h +0 -1
  408. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-reference32BI.c +0 -1
  409. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times2-SnP.h +0 -1
  410. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times2-on1.c +0 -1
  411. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times4-SnP.h +0 -1
  412. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times4-on1.c +0 -1
  413. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times8-SnP.h +0 -1
  414. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-1600-times8-on1.c +0 -1
  415. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-200-SnP.h +0 -1
  416. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-200-reference.c +0 -1
  417. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-200-reference.h +0 -1
  418. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-400-SnP.h +0 -1
  419. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-400-reference.c +0 -1
  420. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-400-reference.h +0 -1
  421. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-800-SnP.h +0 -1
  422. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-800-reference.c +0 -1
  423. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakP-800-reference.h +0 -1
  424. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakSponge.c +0 -1
  425. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakSponge.h +0 -1
  426. data/ext/digest/kangarootwelve/targets/reference32bits/KeccakSponge.inc +0 -1
  427. data/ext/digest/kangarootwelve/targets/reference32bits/Phases.h +0 -1
  428. data/ext/digest/kangarootwelve/targets/reference32bits/PlSnP-Fallback.inc +0 -1
  429. data/ext/digest/kangarootwelve/targets/reference32bits/TurboSHAKE.c +0 -1
  430. data/ext/digest/kangarootwelve/targets/reference32bits/TurboSHAKE.h +0 -1
  431. data/ext/digest/kangarootwelve/targets/reference32bits/align.h +0 -1
  432. data/ext/digest/kangarootwelve/targets/reference32bits/brg_endian.h +0 -1
  433. data/ext/digest/kangarootwelve/targets/reference32bits/config.h +0 -1
  434. data/ext/digest/kangarootwelve/targets/reference32bits/displayIntermediateValues.c +0 -1
  435. data/ext/digest/kangarootwelve/targets/reference32bits/displayIntermediateValues.h +0 -1
  436. data/ext/digest/kangarootwelve/targets/reference32bits/ext.c +0 -1
  437. data/ext/digest/kangarootwelve/targets/reference32bits/utils.h +0 -1
  438. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times4-SnP.h +0 -1
  439. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times4-on2.c +0 -1
  440. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times8-SnP.h +0 -1
  441. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-1600-times8-on2.c +0 -1
  442. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-200-SnP.h +0 -1
  443. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-200-reference.c +0 -1
  444. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-200-reference.h +0 -1
  445. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-400-SnP.h +0 -1
  446. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-400-reference.c +0 -1
  447. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-400-reference.h +0 -1
  448. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-SnP.h +0 -1
  449. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32-bis.macros +0 -1
  450. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32-config.h +0 -1
  451. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32.c +0 -1
  452. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-opt32.macros +0 -1
  453. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-unrolling-bis.macros +0 -1
  454. data/ext/digest/kangarootwelve/targets/ssse3/KeccakP-800-unrolling.macros +0 -1
  455. data/ext/digest/kangarootwelve/targets/ssse3/PlSnP-Fallback.inc +0 -1
  456. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times4-SnP.h +0 -1
  457. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times4-on2.c +0 -1
  458. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times8-SnP.h +0 -1
  459. data/ext/digest/kangarootwelve/targets/xop/KeccakP-1600-times8-on2.c +0 -1
  460. data/ext/digest/kangarootwelve/targets/xop/KeccakP-200-SnP.h +0 -1
  461. data/ext/digest/kangarootwelve/targets/xop/KeccakP-200-reference.c +0 -1
  462. data/ext/digest/kangarootwelve/targets/xop/KeccakP-200-reference.h +0 -1
  463. data/ext/digest/kangarootwelve/targets/xop/KeccakP-400-SnP.h +0 -1
  464. data/ext/digest/kangarootwelve/targets/xop/KeccakP-400-reference.c +0 -1
  465. data/ext/digest/kangarootwelve/targets/xop/KeccakP-400-reference.h +0 -1
  466. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-SnP.h +0 -1
  467. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32-bis.macros +0 -1
  468. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32-config.h +0 -1
  469. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32.c +0 -1
  470. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-opt32.macros +0 -1
  471. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-unrolling-bis.macros +0 -1
  472. data/ext/digest/kangarootwelve/targets/xop/KeccakP-800-unrolling.macros +0 -1
  473. data/ext/digest/kangarootwelve/targets/xop/PlSnP-Fallback.inc +0 -1
@@ -1,929 +0,0 @@
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[800] in a SnP-compatible way.
19
- ; Please refer to SnP-documentation.h for more details.
20
- ;
21
- ; This implementation comes with KeccakP-800-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
- ; INFO: Tested on ATmega1280 simulator
26
-
27
- ; Registers used in all routines
28
- #define zero 1
29
- #define rpState 24
30
- #define rX 26
31
- #define rY 28
32
- #define rZ 30
33
- #define sp 0x3D
34
-
35
- ;----------------------------------------------------------------------------
36
- ;
37
- ; void KeccakP800_StaticInitialize( void )
38
- ;
39
- .global KeccakP800_StaticInitialize
40
-
41
- ;----------------------------------------------------------------------------
42
- ;
43
- ; void KeccakP800_Initialize(void *state)
44
- ;
45
- ; argument state is passed in r24:r25
46
- ;
47
- .global KeccakP800_Initialize
48
- KeccakP800_Initialize:
49
- movw rZ, r24
50
- ldi r23, 5*5 ; clear state (4 bytes/1 lane per iteration)
51
- KeccakP800_Initialize_Loop:
52
- st z+, zero
53
- st z+, zero
54
- st z+, zero
55
- st z+, zero
56
- dec r23
57
- brne KeccakP800_Initialize_Loop
58
- KeccakP800_StaticInitialize:
59
- ret
60
-
61
- ;----------------------------------------------------------------------------
62
- ;
63
- ; void KeccakP800_AddByte(void *state, unsigned char data, unsigned int offset)
64
- ;
65
- ; argument state is passed in r24:r25
66
- ; argument data is passed in r22:r23, only LSB (r22) is used
67
- ; argument offset is passed in r20:r21, only LSB (r20) is used
68
- ;
69
- .global KeccakP800_AddByte
70
- KeccakP800_AddByte:
71
- movw rZ, r24
72
- add rZ, r20
73
- adc rZ+1, zero
74
- ld r0, Z
75
- eor r0, r22
76
- st Z, r0
77
- ret
78
-
79
- ;----------------------------------------------------------------------------
80
- ;
81
- ; void KeccakP800_AddBytes(void *state, const unsigned char *data, unsigned int offset, unsigned int length)
82
- ;
83
- ; argument state is passed in r24:r25
84
- ; argument data is passed in r22:r23
85
- ; argument offset is passed in r20:r21, only LSB (r20) is used
86
- ; argument length is passed in r18:r19, only LSB (r18) is used
87
- ;
88
- .global KeccakP800_AddBytes
89
- KeccakP800_AddBytes:
90
- movw rZ, r24
91
- add rZ, r20
92
- adc rZ+1, zero
93
- movw rX, r22
94
- subi r18, 8
95
- brcs KeccakP800_AddBytes_Byte
96
- ;do 8 bytes per iteration
97
- KeccakP800_AddBytes_Loop8:
98
- ld r21, X+
99
- ld r0, Z
100
- eor r0, r21
101
- st Z+, r0
102
- ld r21, X+
103
- ld r0, Z
104
- eor r0, r21
105
- st Z+, r0
106
- ld r21, X+
107
- ld r0, Z
108
- eor r0, r21
109
- st Z+, r0
110
- ld r21, X+
111
- ld r0, Z
112
- eor r0, r21
113
- st Z+, r0
114
-
115
- ld r21, X+
116
- ld r0, Z
117
- eor r0, r21
118
- st Z+, r0
119
- ld r21, X+
120
- ld r0, Z
121
- eor r0, r21
122
- st Z+, r0
123
- ld r21, X+
124
- ld r0, Z
125
- eor r0, r21
126
- st Z+, r0
127
- ld r21, X+
128
- ld r0, Z
129
- eor r0, r21
130
- st Z+, r0
131
-
132
- subi r18, 8
133
- brcc KeccakP800_AddBytes_Loop8
134
- KeccakP800_AddBytes_Byte:
135
- ldi r19, 8
136
- add r18, r19
137
- breq KeccakP800_AddBytes_End
138
- KeccakP800_AddBytes_Loop1:
139
- ld r21, X+
140
- ld r0, Z
141
- eor r0, r21
142
- st Z+, r0
143
- dec r18
144
- brne KeccakP800_AddBytes_Loop1
145
- KeccakP800_AddBytes_End:
146
- ret
147
-
148
-
149
- ;----------------------------------------------------------------------------
150
- ;
151
- ; void KeccakP800_OverwriteBytes(void *state, const unsigned char *data, unsigned int offset, unsigned int length)
152
- ;
153
- ; argument state is passed in r24:r25
154
- ; argument data is passed in r22:r23
155
- ; argument offset is passed in r20:r21, only LSB (r20) is used
156
- ; argument length is passed in r18:r19, only LSB (r18) is used
157
- ;
158
- .global KeccakP800_OverwriteBytes
159
- KeccakP800_OverwriteBytes:
160
- movw rZ, r24
161
- add rZ, r20
162
- adc rZ+1, zero
163
- movw rX, r22
164
- subi r18, 8
165
- brcs KeccakP800_OverwriteBytes_Byte
166
- ;do 8 bytes per iteration
167
- KeccakP800_OverwriteBytes_Loop8:
168
- ld r0, X+
169
- st Z+, r0
170
- ld r0, X+
171
- st Z+, r0
172
- ld r0, X+
173
- st Z+, r0
174
- ld r0, X+
175
- st Z+, r0
176
- ld r0, X+
177
- st Z+, r0
178
- ld r0, X+
179
- st Z+, r0
180
- ld r0, X+
181
- st Z+, r0
182
- ld r0, X+
183
- st Z+, r0
184
- subi r18, 8
185
- brcc KeccakP800_OverwriteBytes_Loop8
186
- KeccakP800_OverwriteBytes_Byte:
187
- ldi r19, 8
188
- add r18, r19
189
- breq KeccakP800_OverwriteBytes_End
190
- KeccakP800_OverwriteBytes_Loop1:
191
- ld r0, X+
192
- st Z+, r0
193
- dec r18
194
- brne KeccakP800_OverwriteBytes_Loop1
195
- KeccakP800_OverwriteBytes_End:
196
- ret
197
-
198
- ;----------------------------------------------------------------------------
199
- ;
200
- ; void KeccakP800_OverwriteWithZeroes(void *state, unsigned int byteCount)
201
- ;
202
- ; argument state is passed in r24:r25
203
- ; argument byteCount is passed in r22:r23, only LSB (r22) is used
204
- ;
205
- .global KeccakP800_OverwriteWithZeroes
206
- KeccakP800_OverwriteWithZeroes:
207
- movw rZ, r24 ;rZ = state
208
- mov r23, r22
209
- lsr r23
210
- lsr r23
211
- breq KeccakP800_OverwriteWithZeroes_Bytes
212
- KeccakP800_OverwriteWithZeroes_LoopLanes:
213
- st Z+, r1
214
- st Z+, r1
215
- st Z+, r1
216
- st Z+, r1
217
- dec r23
218
- brne KeccakP800_OverwriteWithZeroes_LoopLanes
219
- KeccakP800_OverwriteWithZeroes_Bytes:
220
- andi r22, 3
221
- breq KeccakP800_OverwriteWithZeroes_End
222
- KeccakP800_OverwriteWithZeroes_LoopBytes:
223
- st Z+, r1
224
- dec r22
225
- brne KeccakP800_OverwriteWithZeroes_LoopBytes
226
- KeccakP800_OverwriteWithZeroes_End:
227
- ret
228
-
229
- ;----------------------------------------------------------------------------
230
- ;
231
- ; void KeccakP800_ExtractBytes(void *state, const unsigned char *data, unsigned int offset, unsigned int length)
232
- ;
233
- ; argument state is passed in r24:r25
234
- ; argument data is passed in r22:r23
235
- ; argument offset is passed in r20:r21, only LSB (r20) is used
236
- ; argument length is passed in r18:r19, only LSB (r18) is used
237
- ;
238
- .global KeccakP800_ExtractBytes
239
- KeccakP800_ExtractBytes:
240
- movw rZ, r24
241
- add rZ, r20
242
- adc rZ+1, zero
243
- movw rX, r22
244
- subi r18, 8
245
- brcs KeccakP800_ExtractBytes_Byte
246
- ;do 8 bytes per iteration
247
- KeccakP800_ExtractBytes_Loop8:
248
- ld r0, Z+
249
- st X+, r0
250
- ld r0, Z+
251
- st X+, r0
252
- ld r0, Z+
253
- st X+, r0
254
- ld r0, Z+
255
- st X+, r0
256
- ld r0, Z+
257
- st X+, r0
258
- ld r0, Z+
259
- st X+, r0
260
- ld r0, Z+
261
- st X+, r0
262
- ld r0, Z+
263
- st X+, r0
264
- subi r18, 8
265
- brcc KeccakP800_ExtractBytes_Loop8
266
- KeccakP800_ExtractBytes_Byte:
267
- ldi r19, 8
268
- add r18, r19
269
- breq KeccakP800_ExtractBytes_End
270
- KeccakP800_ExtractBytes_Loop1:
271
- ld r0, Z+
272
- st X+, r0
273
- dec r18
274
- brne KeccakP800_ExtractBytes_Loop1
275
- KeccakP800_ExtractBytes_End:
276
- ret
277
-
278
- ;----------------------------------------------------------------------------
279
- ;
280
- ; void KeccakP800_ExtractAndAddBytes(void *state, const unsigned char *input, unsigned char *output, unsigned int offset, unsigned int length)
281
- ;
282
- ; argument state is passed in r24:r25
283
- ; argument input is passed in r22:r23
284
- ; argument output is passed in r20:r21
285
- ; argument offset is passed in r18:r19, only LSB (r18) is used
286
- ; argument length is passed in r16:r17, only LSB (r16) is used
287
- ;
288
- .global KeccakP800_ExtractAndAddBytes
289
- KeccakP800_ExtractAndAddBytes:
290
- tst r16
291
- breq KeccakP800_ExtractAndAddBytes_End
292
- push r16
293
- push r28
294
- push r29
295
- movw rZ, r24
296
- add rZ, r18
297
- adc rZ+1, zero
298
- movw rX, r22
299
- movw rY, r20
300
- subi r16, 4
301
- brcs KeccakP800_ExtractAndAddBytes_Byte
302
- KeccakP800_ExtractAndAddBytes_LoopLane:
303
- ld r21, Z+
304
- ld r0, X+
305
- eor r0, r21
306
- st Y+, r0
307
- ld r21, Z+
308
- ld r0, X+
309
- eor r0, r21
310
- st Y+, r0
311
- ld r21, Z+
312
- ld r0, X+
313
- eor r0, r21
314
- st Y+, r0
315
- ld r21, Z+
316
- ld r0, X+
317
- eor r0, r21
318
- st Y+, r0
319
- subi r16, 4
320
- brcc KeccakP800_ExtractAndAddBytes_LoopLane
321
- KeccakP800_ExtractAndAddBytes_Byte:
322
- ldi r19, 4
323
- add r16, r19
324
- breq KeccakP800_ExtractAndAddBytes_Done
325
- KeccakP800_ExtractAndAddBytes_Loop1:
326
- ld r21, Z+
327
- ld r0, X+
328
- eor r0, r21
329
- st Y+, r0
330
- dec r16
331
- brne KeccakP800_ExtractAndAddBytes_Loop1
332
- KeccakP800_ExtractAndAddBytes_Done:
333
- pop r29
334
- pop r28
335
- pop r16
336
- KeccakP800_ExtractAndAddBytes_End:
337
- ret
338
-
339
-
340
- #define ROT_BIT(a) ((a) & 7)
341
- #define ROT_BYTE(a) ((((a)/8 + !!(((a)%8) > 4)) & 3) * 5)
342
-
343
- KeccakP800_RhoPiConstants:
344
- .BYTE ROT_BIT( 1), ROT_BYTE( 3), 10 * 4
345
- .BYTE ROT_BIT( 3), ROT_BYTE( 6), 7 * 4
346
- .BYTE ROT_BIT( 6), ROT_BYTE(10), 11 * 4
347
- .BYTE ROT_BIT(10), ROT_BYTE(15), 17 * 4
348
- .BYTE ROT_BIT(15), ROT_BYTE(21), 18 * 4
349
- .BYTE ROT_BIT(21), ROT_BYTE(28), 3 * 4
350
- .BYTE ROT_BIT(28), ROT_BYTE(36), 5 * 4
351
- .BYTE ROT_BIT(36), ROT_BYTE(45), 16 * 4
352
- .BYTE ROT_BIT(45), ROT_BYTE(55), 8 * 4
353
- .BYTE ROT_BIT(55), ROT_BYTE( 2), 21 * 4
354
- .BYTE ROT_BIT( 2), ROT_BYTE(14), 24 * 4
355
- .BYTE ROT_BIT(14), ROT_BYTE(27), 4 * 4
356
- .BYTE ROT_BIT(27), ROT_BYTE(41), 15 * 4
357
- .BYTE ROT_BIT(41), ROT_BYTE(56), 23 * 4
358
- .BYTE ROT_BIT(56), ROT_BYTE( 8), 19 * 4
359
- .BYTE ROT_BIT( 8), ROT_BYTE(25), 13 * 4
360
- .BYTE ROT_BIT(25), ROT_BYTE(43), 12 * 4
361
- .BYTE ROT_BIT(43), ROT_BYTE(62), 2 * 4
362
- .BYTE ROT_BIT(62), ROT_BYTE(18), 20 * 4
363
- .BYTE ROT_BIT(18), ROT_BYTE(39), 14 * 4
364
- .BYTE ROT_BIT(39), ROT_BYTE(61), 22 * 4
365
- .BYTE ROT_BIT(61), ROT_BYTE(20), 9 * 4
366
- .BYTE ROT_BIT(20), ROT_BYTE(44), 6 * 4
367
- .BYTE ROT_BIT(44), ROT_BYTE( 1), 1 * 4
368
-
369
- KeccakP800_RoundConstants_22:
370
- .BYTE 0x01, 0x00, 0x00, 0x00
371
- .BYTE 0x82, 0x80, 0x00, 0x00
372
- .BYTE 0x8a, 0x80, 0x00, 0x00
373
- .BYTE 0x00, 0x80, 0x00, 0x80
374
- .BYTE 0x8b, 0x80, 0x00, 0x00
375
- .BYTE 0x01, 0x00, 0x00, 0x80
376
- .BYTE 0x81, 0x80, 0x00, 0x80
377
- .BYTE 0x09, 0x80, 0x00, 0x00
378
- .BYTE 0x8a, 0x00, 0x00, 0x00
379
- .BYTE 0x88, 0x00, 0x00, 0x00
380
- KeccakP800_RoundConstants_12:
381
- .BYTE 0x09, 0x80, 0x00, 0x80
382
- .BYTE 0x0a, 0x00, 0x00, 0x80
383
- .BYTE 0x8b, 0x80, 0x00, 0x80
384
- .BYTE 0x8b, 0x00, 0x00, 0x00
385
- .BYTE 0x89, 0x80, 0x00, 0x00
386
- .BYTE 0x03, 0x80, 0x00, 0x00
387
- .BYTE 0x02, 0x80, 0x00, 0x00
388
- .BYTE 0x80, 0x00, 0x00, 0x00
389
- .BYTE 0x0a, 0x80, 0x00, 0x00
390
- .BYTE 0x0a, 0x00, 0x00, 0x80
391
- .BYTE 0x81, 0x80, 0x00, 0x80
392
- .BYTE 0x80, 0x80, 0x00, 0x00
393
- KeccakP800_RoundConstants_0:
394
- .BYTE 0xFF, 0 ; terminator
395
-
396
- .text
397
-
398
- #define pRound 22 // 2 regs (22-23)
399
-
400
- ;----------------------------------------------------------------------------
401
- ;
402
- ; void KeccakP800_Permute_Nrounds( void *state, unsigned int nrounds )
403
- ;
404
- ; argument state is passed in r24:r25
405
- ; argument nrounds is passed in r22:r23 (only LSB (r22) is used)
406
- ;
407
- .global KeccakP800_Permute_Nrounds
408
- KeccakP800_Permute_Nrounds:
409
- mov r26, r22
410
- ldi pRound, lo8(KeccakP800_RoundConstants_0)
411
- ldi pRound+1, hi8(KeccakP800_RoundConstants_0)
412
- lsl r26
413
- lsl r26
414
- sub pRound, r26
415
- sbc pRound+1, zero
416
- rjmp KeccakP800_Permute
417
-
418
- ;----------------------------------------------------------------------------
419
- ;
420
- ; void KeccakP800_Permute_22rounds( void *state )
421
- ;
422
- .global KeccakP800_Permute_22rounds
423
- KeccakP800_Permute_22rounds:
424
- ldi pRound, lo8(KeccakP800_RoundConstants_22)
425
- ldi pRound+1, hi8(KeccakP800_RoundConstants_22)
426
- rjmp KeccakP800_Permute
427
-
428
- ;----------------------------------------------------------------------------
429
- ;
430
- ; void KeccakP800_Permute_12rounds( void *state )
431
- ;
432
- .global KeccakP800_Permute_12rounds
433
- KeccakP800_Permute_12rounds:
434
- ldi pRound, lo8(KeccakP800_RoundConstants_12)
435
- ldi pRound+1, hi8(KeccakP800_RoundConstants_12)
436
- KeccakP800_Permute:
437
- push r2
438
- push r3
439
- push r4
440
- push r5
441
- push r6
442
- push r7
443
- push r8
444
- push r9
445
- push r10
446
- push r11
447
- push r12
448
- push r13
449
- push r14
450
- push r15
451
- push r16
452
- push r17
453
- push r28
454
- push r29
455
-
456
- ; Allocate C variables (5*4)
457
- in rZ, sp
458
- in rZ+1, sp+1
459
- sbiw rZ, 5*4
460
- in r0, 0x3F
461
- cli
462
- out sp+1, rZ+1
463
- out sp, rZ ; Z points to 5 C lanes
464
- out 0x3F, r0
465
-
466
- ; Variables used in multiple operations
467
- #define rTemp 2 // 8 regs (2-9)
468
- #define rTempBis 10 // 8 regs (10-17)
469
- #define rTempTer 18 // 4 regs (18-21)
470
- #define pRound 22 // 2 regs (22-23)
471
-
472
- ; Initial Prepare Theta
473
- #define TCIPx rTempTer
474
-
475
- ldi TCIPx, 5
476
- movw rY, rpState
477
- KeccakInitialPrepTheta_Loop:
478
- ld rTemp+0, Y+ ;state[x]
479
- ld rTemp+1, Y+
480
- ld rTemp+2, Y+
481
- ld rTemp+3, Y+
482
-
483
- adiw rY, 16
484
- ld r0, Y+ ;state[5+x]
485
- eor rTemp+0, r0
486
- ld r0, Y+
487
- eor rTemp+1, r0
488
- ld r0, Y+
489
- eor rTemp+2, r0
490
- ld r0, Y+
491
- eor rTemp+3, r0
492
-
493
- adiw rY, 16
494
- ld r0, Y+ ;state[10+x]
495
- eor rTemp+0, r0
496
- ld r0, Y+
497
- eor rTemp+1, r0
498
- ld r0, Y+
499
- eor rTemp+2, r0
500
- ld r0, Y+
501
- eor rTemp+3, r0
502
-
503
- adiw rY, 16
504
- ld r0, Y+ ;state[15+x]
505
- eor rTemp+0, r0
506
- ld r0, Y+
507
- eor rTemp+1, r0
508
- ld r0, Y+
509
- eor rTemp+2, r0
510
- ld r0, Y+
511
- eor rTemp+3, r0
512
-
513
- adiw rY, 16
514
- ld r0, Y+ ;state[20+x]
515
- eor rTemp+0, r0
516
- ld r0, Y+
517
- eor rTemp+1, r0
518
- ld r0, Y+
519
- eor rTemp+2, r0
520
- ld r0, Y+
521
- eor rTemp+3, r0
522
-
523
- st Z+, rTemp+0
524
- st Z+, rTemp+1
525
- st Z+, rTemp+2
526
- st Z+, rTemp+3
527
-
528
- subi rY, 80
529
- sbc rY+1, zero
530
-
531
- subi TCIPx, 1
532
- brne KeccakInitialPrepTheta_Loop
533
- #undef TCIPx
534
-
535
- Keccak_RoundLoop:
536
-
537
- ; Theta
538
- #define TCplus rX
539
- #define TCminus rZ
540
- #define TCcoordX rTempTer
541
- #define TCcoordY rTempTer+1
542
-
543
- in TCminus, sp
544
- in TCminus+1, sp+1
545
- movw TCplus, TCminus
546
- adiw TCminus, 4*4
547
- adiw TCplus, 1*4
548
- movw rY, rpState
549
-
550
- ldi TCcoordX, 0x16
551
- KeccakTheta_Loop1:
552
- ld rTemp+0, X+
553
- ld rTemp+1, X+
554
- ld rTemp+2, X+
555
- ld rTemp+3, X+
556
-
557
- lsl rTemp+0
558
- rol rTemp+1
559
- rol rTemp+2
560
- rol rTemp+3
561
- adc rTemp+0, zero
562
-
563
- ld r0, Z+
564
- eor rTemp+0, r0
565
- ld r0, Z+
566
- eor rTemp+1, r0
567
- ld r0, Z+
568
- eor rTemp+2, r0
569
- ld r0, Z+
570
- eor rTemp+3, r0
571
-
572
- ldi TCcoordY, 5
573
- KeccakTheta_Loop2:
574
- ld r0, Y
575
- eor r0, rTemp+0
576
- st Y+, r0
577
- ld r0, Y
578
- eor r0, rTemp+1
579
- st Y+, r0
580
- ld r0, Y
581
- eor r0, rTemp+2
582
- st Y+, r0
583
- ld r0, Y
584
- eor r0, rTemp+3
585
- st Y+, r0
586
- adiw rY, 16
587
-
588
- dec TCcoordY
589
- brne KeccakTheta_Loop2
590
-
591
- subi rY, 100-4
592
- sbc rY+1, zero
593
-
594
- lsr TCcoordX
595
- brcc 1f
596
- brne KeccakTheta_Loop1
597
- rjmp KeccakTheta_End
598
- 1:
599
- cpi TCcoordX, 0x0B
600
- brne 2f
601
- sbiw TCminus, 20
602
- rjmp KeccakTheta_Loop1
603
- 2:
604
- sbiw TCplus, 20
605
- rjmp KeccakTheta_Loop1
606
-
607
- KeccakTheta_End:
608
- #undef TCplus
609
- #undef TCminus
610
- #undef TCcoordX
611
- #undef TCcoordY
612
-
613
- ; Rho Pi
614
- #define RPpConst rTempTer // 2 regs
615
- #define RPindex rTempTer+2
616
- #define RPpBitRot rX
617
- #define RPpByteRot pRound
618
-
619
- sbiw rY, 16
620
-
621
- ld rTemp+0, Y+
622
- ld rTemp+1, Y+
623
- ld rTemp+2, Y+
624
- ld rTemp+3, Y+
625
-
626
- push pRound
627
- push pRound+1
628
- ldi RPpConst, lo8(KeccakP800_RhoPiConstants)
629
- ldi RPpConst+1, hi8(KeccakP800_RhoPiConstants)
630
- ldi RPpBitRot, pm_lo8(bit_rot_jmp_table)
631
- ldi RPpBitRot+1, pm_hi8(bit_rot_jmp_table)
632
- ldi RPpByteRot, pm_lo8(rotate32_0byte_left)
633
- ldi RPpByteRot+1, pm_hi8(rotate32_0byte_left)
634
-
635
- KeccakRhoPi_Loop:
636
- ; get rotation codes and state index
637
- movw rZ, RPpConst
638
- lpm r0, Z+ ;bits
639
- lpm rTempBis, Z+ ;bytes
640
- lpm RPindex, Z+
641
- movw RPpConst, rZ
642
-
643
- ; do bit rotation
644
- movw rZ, RPpBitRot
645
- add rZ, r0
646
- adc rZ+1, zero
647
- ijmp
648
-
649
- KeccakRhoPi_RhoBitRotateDone:
650
- movw rY, rpState
651
- add rY, RPindex
652
- adc rY+1, zero
653
-
654
- movw rZ, RPpByteRot
655
- add rZ, rTempBis
656
- adc rZ+1, zero
657
- ijmp
658
-
659
- KeccakRhoPi_PiStore:
660
- sbiw rY, 4
661
- st Y+, rTemp+0
662
- st Y+, rTemp+1
663
- st Y+, rTemp+2
664
- st Y+, rTemp+3
665
-
666
- movw rTemp+0, rTempBis+0
667
- movw rTemp+2, rTempBis+2
668
- KeccakRhoPi_RhoDone:
669
- subi RPindex, 4
670
- brne KeccakRhoPi_Loop
671
- pop pRound+1
672
- pop pRound
673
-
674
- #undef RPpConst
675
- #undef RPindex
676
- #undef RPpBitrot
677
- #undef RPpByteRot
678
-
679
-
680
- ; Chi Iota prepare Theta
681
- #define CIPTa0 rTemp
682
- #define CIPTa1 rTemp+1
683
- #define CIPTa2 rTemp+2
684
- #define CIPTa3 rTemp+3
685
- #define CIPTa4 rTemp+4
686
- #define CIPTc0 rTempBis
687
- #define CIPTc1 rTempBis+1
688
- #define CIPTc2 rTempBis+2
689
- #define CIPTc3 rTempBis+3
690
- #define CIPTc4 rTempBis+4
691
- #define CIPTz rTempBis+6
692
- #define CIPTy rTempBis+7
693
-
694
- in rX, sp ; 5 * C
695
- in rX+1, sp+1
696
- movw rY, rpState
697
- movw rZ, pRound
698
-
699
- ldi CIPTz, 4
700
- KeccakChiIotaPrepareTheta_zLoop:
701
- mov CIPTc0, zero
702
- mov CIPTc1, zero
703
- movw CIPTc2, CIPTc0
704
- mov CIPTc4, zero
705
-
706
- ldi CIPTy, 5
707
- KeccakChiIotaPrepareTheta_yLoop:
708
- ld CIPTa0, Y
709
- ldd CIPTa1, Y+4
710
- ldd CIPTa2, Y+8
711
- ldd CIPTa3, Y+12
712
- ldd CIPTa4, Y+16
713
-
714
- ;*p = t = a0 ^ ((~a1) & a2); c0 ^= t;
715
- mov r0, CIPTa1
716
- com r0
717
- and r0, CIPTa2
718
- eor r0, CIPTa0
719
- eor CIPTc0, r0
720
- st Y, r0
721
-
722
- ;*(p+4) = t = a1 ^ ((~a2) & a3); c1 ^= t;
723
- mov r0, CIPTa2
724
- com r0
725
- and r0, CIPTa3
726
- eor r0, CIPTa1
727
- eor CIPTc1, r0
728
- std Y+4, r0
729
-
730
- ;*(p+8) = a2 ^= ((~a3) & a4); c2 ^= a2;
731
- mov r0, CIPTa3
732
- com r0
733
- and r0, CIPTa4
734
- eor r0, CIPTa2
735
- eor CIPTc2, r0
736
- std Y+8, r0
737
-
738
- ;*(p+12) = a3 ^= ((~a4) & a0); c3 ^= a3;
739
- mov r0, CIPTa4
740
- com r0
741
- and r0, CIPTa0
742
- eor r0, CIPTa3
743
- eor CIPTc3, r0
744
- std Y+12, r0
745
-
746
- ;*(p+16) = a4 ^= ((~a0) & a1); c4 ^= a4;
747
- com CIPTa0
748
- and CIPTa0, CIPTa1
749
- eor CIPTa0, CIPTa4
750
- eor CIPTc4, CIPTa0
751
- std Y+16, CIPTa0
752
-
753
- adiw rY, 20
754
- dec CIPTy
755
- brne KeccakChiIotaPrepareTheta_yLoop
756
-
757
- subi rY, 100
758
- sbc rY+1, zero
759
-
760
- lpm r0, Z+ ;Round Constant
761
- ld CIPTa0, Y
762
- eor CIPTa0, r0
763
- st Y+, CIPTa0
764
-
765
- movw pRound, rZ
766
- movw rZ, rX
767
- eor CIPTc0, r0
768
- st Z+, CIPTc0
769
- std Z+3, CIPTc1
770
- std Z+7, CIPTc2
771
- std Z+11, CIPTc3
772
- std Z+15, CIPTc4
773
- movw rX, rZ
774
- movw rZ, pRound
775
-
776
- dec CIPTz
777
- brne KeccakChiIotaPrepareTheta_zLoop
778
-
779
- #undef CIPTa0
780
- #undef CIPTa1
781
- #undef CIPTa2
782
- #undef CIPTa3
783
- #undef CIPTa4
784
- #undef CIPTc0
785
- #undef CIPTc1
786
- #undef CIPTc2
787
- #undef CIPTc3
788
- #undef CIPTc4
789
- #undef CIPTz
790
- #undef CIPTy
791
-
792
- ;Check for terminator
793
- lpm r0, Z
794
- inc r0
795
- breq Keccak_Done
796
- rjmp Keccak_RoundLoop
797
- Keccak_Done:
798
-
799
- ; Free C(on stack) and registers
800
- in rX, sp ; free 5 C lanes
801
- in rX+1, sp+1
802
- adiw rX, 5*4
803
- in r0, 0x3F
804
- cli
805
- out sp+1, rX+1
806
- out sp, rX
807
- out 0x3F, r0
808
-
809
- pop r29
810
- pop r28
811
- pop r17
812
- pop r16
813
- pop r15
814
- pop r14
815
- pop r13
816
- pop r12
817
- pop r11
818
- pop r10
819
- pop r9
820
- pop r8
821
- pop r7
822
- pop r6
823
- pop r5
824
- pop r4
825
- pop r3
826
- pop r2
827
- ret
828
-
829
- bit_rot_jmp_table:
830
- rjmp KeccakRhoPi_RhoBitRotateDone
831
- rjmp rotate32_1bit_left
832
- rjmp rotate32_2bit_left
833
- rjmp rotate32_3bit_left
834
- rjmp rotate32_4bit_left
835
- rjmp rotate32_3bit_right
836
- rjmp rotate32_2bit_right
837
- rjmp rotate32_1bit_right
838
-
839
- rotate32_4bit_left:
840
- lsl rTemp
841
- rol rTemp+1
842
- rol rTemp+2
843
- rol rTemp+3
844
- adc rTemp, r1
845
- rotate32_3bit_left:
846
- lsl rTemp
847
- rol rTemp+1
848
- rol rTemp+2
849
- rol rTemp+3
850
- adc rTemp, r1
851
- rotate32_2bit_left:
852
- lsl rTemp
853
- rol rTemp+1
854
- rol rTemp+2
855
- rol rTemp+3
856
- adc rTemp, r1
857
- rotate32_1bit_left:
858
- lsl rTemp
859
- rol rTemp+1
860
- rol rTemp+2
861
- rol rTemp+3
862
- adc rTemp, r1
863
- rjmp KeccakRhoPi_RhoBitRotateDone
864
-
865
- rotate32_3bit_right:
866
- bst rTemp, 0
867
- ror rTemp+3
868
- ror rTemp+2
869
- ror rTemp+1
870
- ror rTemp
871
- bld rTemp+3, 7
872
- rotate32_2bit_right:
873
- bst rTemp, 0
874
- ror rTemp+3
875
- ror rTemp+2
876
- ror rTemp+1
877
- ror rTemp
878
- bld rTemp+3, 7
879
- rotate32_1bit_right:
880
- bst rTemp, 0
881
- ror rTemp+3
882
- ror rTemp+2
883
- ror rTemp+1
884
- ror rTemp
885
- bld rTemp+3, 7
886
- rjmp KeccakRhoPi_RhoBitRotateDone
887
-
888
-
889
- ; Each byte rotate routine must be 5 instructions long.
890
-
891
- rotate32_0byte_left:
892
- ld rTempBis+0, Y+
893
- ld rTempBis+1, Y+
894
- ld rTempBis+2, Y+
895
- ld rTempBis+3, Y+
896
- rjmp KeccakRhoPi_PiStore
897
-
898
- rotate32_1byte_left:
899
- ld rTempBis+1, Y+
900
- ld rTempBis+2, Y+
901
- ld rTempBis+3, Y+
902
- ld rTempBis+0, Y+
903
- rjmp KeccakRhoPi_PiStore
904
-
905
- rotate32_2byte_left:
906
- ld rTempBis+2, Y+
907
- ld rTempBis+3, Y+
908
- ld rTempBis+0, Y+
909
- ld rTempBis+1, Y+
910
- rjmp KeccakRhoPi_PiStore
911
-
912
- rotate32_3byte_left:
913
- ld rTempBis+3, Y+
914
- ld rTempBis+0, Y+
915
- ld rTempBis+1, Y+
916
- ld rTempBis+2, Y+
917
- rjmp KeccakRhoPi_PiStore
918
-
919
- #undef rTemp
920
- #undef rTempBis
921
- #undef rTempTer
922
- #undef pRound
923
-
924
- #undef rpState
925
- #undef zero
926
- #undef rX
927
- #undef rY
928
- #undef rZ
929
- #undef sp