digest-kangarootwelve 0.4.5 → 0.4.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.XKCP +167 -7
  3. data/README.md +24 -4
  4. data/Rakefile +6 -9
  5. data/digest-kangarootwelve.gemspec +1 -1
  6. data/ext/digest/kangarootwelve/XKCP/lib/high/KangarooTwelve/KangarooTwelve.c +32 -32
  7. data/ext/digest/kangarootwelve/XKCP/lib/high/KangarooTwelve/KangarooTwelve.h +5 -5
  8. data/ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.c +0 -18
  9. data/ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.h +0 -6
  10. data/ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.inc +8 -6
  11. data/ext/digest/kangarootwelve/XKCP/lib/high/TurboSHAKE/TurboSHAKE.c +71 -0
  12. data/ext/digest/kangarootwelve/XKCP/lib/high/TurboSHAKE/TurboSHAKE.h +49 -0
  13. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/common/KeccakP-1600-64.macros +19 -9
  14. data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX2/KeccakP-1600-times4-SIMD256.c +2 -2
  15. data/ext/digest/kangarootwelve/XKCP/lib/low/common/PlSnP-Fallback.inc +3 -2
  16. data/ext/digest/kangarootwelve/ext.c +1 -1
  17. data/ext/digest/kangarootwelve/targets/armv6/TurboSHAKE.c +1 -0
  18. data/ext/digest/kangarootwelve/targets/armv6/TurboSHAKE.h +1 -0
  19. data/ext/digest/kangarootwelve/targets/armv6m/TurboSHAKE.c +1 -0
  20. data/ext/digest/kangarootwelve/targets/armv6m/TurboSHAKE.h +1 -0
  21. data/ext/digest/kangarootwelve/targets/armv7a/TurboSHAKE.c +1 -0
  22. data/ext/digest/kangarootwelve/targets/armv7a/TurboSHAKE.h +1 -0
  23. data/ext/digest/kangarootwelve/targets/armv7m/TurboSHAKE.c +1 -0
  24. data/ext/digest/kangarootwelve/targets/armv7m/TurboSHAKE.h +1 -0
  25. data/ext/digest/kangarootwelve/targets/armv8a/TurboSHAKE.c +1 -0
  26. data/ext/digest/kangarootwelve/targets/armv8a/TurboSHAKE.h +1 -0
  27. data/ext/digest/kangarootwelve/targets/avr8/TurboSHAKE.c +1 -0
  28. data/ext/digest/kangarootwelve/targets/avr8/TurboSHAKE.h +1 -0
  29. data/ext/digest/kangarootwelve/targets/avx/TurboSHAKE.c +1 -0
  30. data/ext/digest/kangarootwelve/targets/avx/TurboSHAKE.h +1 -0
  31. data/ext/digest/kangarootwelve/targets/avx2/TurboSHAKE.c +1 -0
  32. data/ext/digest/kangarootwelve/targets/avx2/TurboSHAKE.h +1 -0
  33. data/ext/digest/kangarootwelve/targets/avx2noasm/TurboSHAKE.c +1 -0
  34. data/ext/digest/kangarootwelve/targets/avx2noasm/TurboSHAKE.h +1 -0
  35. data/ext/digest/kangarootwelve/targets/avx512/TurboSHAKE.c +1 -0
  36. data/ext/digest/kangarootwelve/targets/avx512/TurboSHAKE.h +1 -0
  37. data/ext/digest/kangarootwelve/targets/avx512noasm/TurboSHAKE.c +1 -0
  38. data/ext/digest/kangarootwelve/targets/avx512noasm/TurboSHAKE.h +1 -0
  39. data/ext/digest/kangarootwelve/targets/compact/TurboSHAKE.c +1 -0
  40. data/ext/digest/kangarootwelve/targets/compact/TurboSHAKE.h +1 -0
  41. data/ext/digest/kangarootwelve/targets/config.h +1 -0
  42. data/ext/digest/kangarootwelve/targets/generic32/TurboSHAKE.c +1 -0
  43. data/ext/digest/kangarootwelve/targets/generic32/TurboSHAKE.h +1 -0
  44. data/ext/digest/kangarootwelve/targets/generic32lc/TurboSHAKE.c +1 -0
  45. data/ext/digest/kangarootwelve/targets/generic32lc/TurboSHAKE.h +1 -0
  46. data/ext/digest/kangarootwelve/targets/generic64/TurboSHAKE.c +1 -0
  47. data/ext/digest/kangarootwelve/targets/generic64/TurboSHAKE.h +1 -0
  48. data/ext/digest/kangarootwelve/targets/generic64lc/TurboSHAKE.c +1 -0
  49. data/ext/digest/kangarootwelve/targets/generic64lc/TurboSHAKE.h +1 -0
  50. data/ext/digest/kangarootwelve/targets/reference/TurboSHAKE.c +1 -0
  51. data/ext/digest/kangarootwelve/targets/reference/TurboSHAKE.h +1 -0
  52. data/ext/digest/kangarootwelve/targets/reference32bits/TurboSHAKE.c +1 -0
  53. data/ext/digest/kangarootwelve/targets/reference32bits/TurboSHAKE.h +1 -0
  54. data/ext/digest/kangarootwelve/targets/ssse3/TurboSHAKE.c +1 -0
  55. data/ext/digest/kangarootwelve/targets/ssse3/TurboSHAKE.h +1 -0
  56. data/ext/digest/kangarootwelve/targets/xop/TurboSHAKE.c +1 -0
  57. data/ext/digest/kangarootwelve/targets/xop/TurboSHAKE.h +1 -0
  58. data/lib/digest/kangarootwelve/version.rb +1 -1
  59. metadata +53 -5
@@ -0,0 +1,71 @@
1
+ /*
2
+ The eXtended Keccak Code Package (XKCP)
3
+ https://github.com/XKCP/XKCP
4
+
5
+ TurboSHAKE, proposed by Guido Bertoni, Joan Daemen, Seth Hoffert, Michaël Peeters, Gilles Van Assche, Ronny Van Keer and Benoît Viguier.
6
+
7
+ Implementation by Gilles Van Assche, 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
+ #include "TurboSHAKE.h"
18
+
19
+ #ifdef XKCP_has_KeccakP1600
20
+ #include "KeccakP-1600-SnP.h"
21
+
22
+ #define prefix TurboSHAKE
23
+ #define SnP KeccakP1600
24
+ #define SnP_width 1600
25
+ #define SnP_Permute KeccakP1600_Permute_12rounds
26
+ #if defined(KeccakP1600_12rounds_FastLoop_supported)
27
+ #define SnP_FastLoop_Absorb KeccakP1600_12rounds_FastLoop_Absorb
28
+ #endif
29
+ #include "KeccakSponge.inc"
30
+ #undef prefix
31
+ #undef SnP
32
+ #undef SnP_width
33
+ #undef SnP_Permute
34
+ #undef SnP_FastLoop_Absorb
35
+ #endif
36
+
37
+ XKCP_DeclareSpongeFunctions(TurboSHAKE)
38
+
39
+ int TurboSHAKE(unsigned int capacity, const unsigned char *input, size_t inputByteLen, unsigned char domain, unsigned char *output, size_t outputByteLen)
40
+ {
41
+ TurboSHAKE_Instance instance;
42
+
43
+ if (TurboSHAKE_Initialize(&instance, capacity)) return 1;
44
+ if (TurboSHAKE_Absorb(&instance, input, inputByteLen)) return 1;
45
+ if (TurboSHAKE_AbsorbDomainSeparationByte(&instance, domain)) return 1;
46
+ if (TurboSHAKE_Squeeze(&instance, output, outputByteLen)) return 1;
47
+ return 0;
48
+ }
49
+
50
+ int TurboSHAKE_Initialize(TurboSHAKE_Instance *instance, unsigned int capacity)
51
+ {
52
+ if ((capacity > 512) || ((capacity % 8) != 0))
53
+ return 1;
54
+ else
55
+ return TurboSHAKE_SpongeInitialize(instance, 1600-capacity, capacity);
56
+ }
57
+
58
+ int TurboSHAKE_Absorb(TurboSHAKE_Instance *instance, const unsigned char *data, size_t dataByteLen)
59
+ {
60
+ return TurboSHAKE_SpongeAbsorb(instance, data, dataByteLen);
61
+ }
62
+
63
+ int TurboSHAKE_AbsorbDomainSeparationByte(TurboSHAKE_Instance *instance, unsigned char domain)
64
+ {
65
+ return TurboSHAKE_SpongeAbsorbLastFewBits(instance, domain);
66
+ }
67
+
68
+ int TurboSHAKE_Squeeze(TurboSHAKE_Instance *instance, unsigned char *data, size_t dataByteLen)
69
+ {
70
+ return TurboSHAKE_SpongeSqueeze(instance, data, dataByteLen);
71
+ }
@@ -0,0 +1,49 @@
1
+ /*
2
+ The eXtended Keccak Code Package (XKCP)
3
+ https://github.com/XKCP/XKCP
4
+
5
+ TurboSHAKE, proposed by Guido Bertoni, Joan Daemen, Seth Hoffert, Michaël Peeters, Gilles Van Assche, Ronny Van Keer and Benoît Viguier.
6
+
7
+ Implementation by Gilles Van Assche, 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
+ #ifndef _TurboSHAKE_h_
18
+ #define _TurboSHAKE_h_
19
+
20
+ #include <string.h>
21
+ #include "align.h"
22
+ #include "config.h"
23
+ #include "KeccakSponge.h"
24
+
25
+ #ifdef XKCP_has_KeccakP1600
26
+ #include "KeccakP-1600-SnP.h"
27
+ XKCP_DeclareSpongeStructure(TurboSHAKE, KeccakP1600_stateSizeInBytes, KeccakP1600_stateAlignment)
28
+
29
+ typedef TurboSHAKE_SpongeInstance TurboSHAKE_Instance;
30
+
31
+ int TurboSHAKE(unsigned int capacity, const unsigned char *input, size_t inputByteLen, unsigned char domain, unsigned char *output, size_t outputByteLen);
32
+
33
+ int TurboSHAKE_Initialize(TurboSHAKE_Instance *instance, unsigned int capacity);
34
+
35
+ #define TurboSHAKE128_Initialize(instance) \
36
+ TurboSHAKE_Initialize((instance), 256)
37
+
38
+ #define TurboSHAKE256_Initialize(instance) \
39
+ TurboSHAKE_Initialize((instance), 512)
40
+
41
+ int TurboSHAKE_Absorb(TurboSHAKE_Instance *instance, const unsigned char *data, size_t dataByteLen);
42
+
43
+ int TurboSHAKE_AbsorbDomainSeparationByte(TurboSHAKE_Instance *instance, unsigned char domain);
44
+
45
+ int TurboSHAKE_Squeeze(TurboSHAKE_Instance *instance, unsigned char *data, size_t dataByteLen);
46
+
47
+ #endif
48
+
49
+ #endif
@@ -542,15 +542,25 @@ http://creativecommons.org/publicdomain/zero/1.0/
542
542
  #if (PLATFORM_BYTE_ORDER == IS_LITTLE_ENDIAN)
543
543
  #define HTOLE64(x) (x)
544
544
  #else
545
- #define HTOLE64(x) (\
546
- ((x & 0xff00000000000000ull) >> 56) | \
547
- ((x & 0x00ff000000000000ull) >> 40) | \
548
- ((x & 0x0000ff0000000000ull) >> 24) | \
549
- ((x & 0x000000ff00000000ull) >> 8) | \
550
- ((x & 0x00000000ff000000ull) << 8) | \
551
- ((x & 0x0000000000ff0000ull) << 24) | \
552
- ((x & 0x000000000000ff00ull) << 40) | \
553
- ((x & 0x00000000000000ffull) << 56))
545
+ /*
546
+ * Big Endian platforms macro to swap data.
547
+ *
548
+ * NOTE: we cannot directly use the 64-bit input
549
+ * of the following macro because of possible alignment
550
+ * constraints (on some platforms such as Sparc or MIPS,
551
+ * dereferencing an uint64_t on a buffer not aligned on the
552
+ * word size will induce a 'bus error'). Instead, we read and
553
+ * swap the data byte per byte.
554
+ */
555
+ #define HTOLE64(x) \
556
+ ( ((uint64_t) (((uint8_t*)&(x))[ 7]) << 56 ) \
557
+ | ((uint64_t) (((uint8_t*)&(x))[ 6]) << 48 ) \
558
+ | ((uint64_t) (((uint8_t*)&(x))[ 5]) << 40 ) \
559
+ | ((uint64_t) (((uint8_t*)&(x))[ 4]) << 32 ) \
560
+ | ((uint64_t) (((uint8_t*)&(x))[ 3]) << 24 ) \
561
+ | ((uint64_t) (((uint8_t*)&(x))[ 2]) << 16 ) \
562
+ | ((uint64_t) (((uint8_t*)&(x))[ 1]) << 8 ) \
563
+ | ((uint64_t) (((uint8_t*)&(x))[ 0])))
554
564
  #endif
555
565
 
556
566
  #define addInput(X, input, laneCount) \
@@ -53,8 +53,8 @@ typedef __m256i V256;
53
53
  #define ROL64in256(d, a, o) d = _mm256_or_si256(_mm256_slli_epi64(a, o), _mm256_srli_epi64(a, 64-(o)))
54
54
  #define ROL64in256_8(d, a) d = _mm256_shuffle_epi8(a, CONST256(rho8))
55
55
  #define ROL64in256_56(d, a) d = _mm256_shuffle_epi8(a, CONST256(rho56))
56
- static const uint64_t rho8[4] = {0x0605040302010007, 0x0E0D0C0B0A09080F, 0x1615141312111017, 0x1E1D1C1B1A19181F};
57
- static const uint64_t rho56[4] = {0x0007060504030201, 0x080F0E0D0C0B0A09, 0x1017161514131211, 0x181F1E1D1C1B1A19};
56
+ static ALIGN(KeccakP1600times4_statesAlignment) const uint64_t rho8[4] = {0x0605040302010007, 0x0E0D0C0B0A09080F, 0x1615141312111017, 0x1E1D1C1B1A19181F};
57
+ static ALIGN(KeccakP1600times4_statesAlignment) const uint64_t rho56[4] = {0x0007060504030201, 0x080F0E0D0C0B0A09, 0x1017161514131211, 0x181F1E1D1C1B1A19};
58
58
  #define STORE256(a, b) _mm256_store_si256((V256 *)&(a), b)
59
59
  #define STORE256u(a, b) _mm256_storeu_si256((V256 *)&(a), b)
60
60
  #define STORE2_128(ah, al, v) _mm256_storeu2_m128i(&(ah), &(al), v)
@@ -51,6 +51,7 @@ Please refer to PlSnP-documentation.h for more details.
51
51
  #define PlSnP_factor ((PlSnP_targetParallelism)/(PlSnP_baseParallelism))
52
52
  #define SnP_stateOffset (((SnP_stateSizeInBytes+(SnP_stateAlignment-1))/SnP_stateAlignment)*SnP_stateAlignment)
53
53
  #define stateWithIndex(i) ((unsigned char *)states+((i)*SnP_stateOffset))
54
+ #define stateWithIndexConst(i) ((const unsigned char *)states+((i)*SnP_stateOffset))
54
55
 
55
56
  #define SnP_StaticInitialize JOIN(SnP, _StaticInitialize)
56
57
  #define SnP_Initialize JOIN(SnP, _Initialize)
@@ -220,7 +221,7 @@ void PlSnP_ExtractLanesAll(const void *states, unsigned char *data, unsigned int
220
221
 
221
222
  for(i=0; i<PlSnP_factor; i++) {
222
223
  #if (PlSnP_baseParallelism == 1)
223
- SnP_ExtractBytes(stateWithIndex(i), data, 0, laneCount*SnP_laneLengthInBytes);
224
+ SnP_ExtractBytes(stateWithIndexConst(i), data, 0, laneCount*SnP_laneLengthInBytes);
224
225
  #else
225
226
  SnP_ExtractLanesAll(stateWithIndex(i), data, laneCount, laneOffset);
226
227
  #endif
@@ -243,7 +244,7 @@ void PlSnP_ExtractAndAddLanesAll(const void *states, const unsigned char *input,
243
244
 
244
245
  for(i=0; i<PlSnP_factor; i++) {
245
246
  #if (PlSnP_baseParallelism == 1)
246
- SnP_ExtractAndAddBytes(stateWithIndex(i), input, output, 0, laneCount*SnP_laneLengthInBytes);
247
+ SnP_ExtractAndAddBytes(stateWithIndexConst(i), input, output, 0, laneCount*SnP_laneLengthInBytes);
247
248
  #else
248
249
  SnP_ExtractAndAddLanesAll(stateWithIndex(i), input, output, laneCount, laneOffset);
249
250
  #endif
@@ -597,7 +597,7 @@ static VALUE _Digest_KangarooTwelve_Impl_inspect(VALUE self)
597
597
  * Init
598
598
  */
599
599
 
600
- void Init_kangarootwelve()
600
+ void Init_kangarootwelve(void)
601
601
  {
602
602
  #define DEFINE_ID(x) _id_##x = rb_intern_const(#x);
603
603
 
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.c"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.h"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.c"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.h"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.c"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.h"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.c"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.h"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.c"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.h"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.c"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.h"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.c"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.h"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.c"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.h"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.c"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.h"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.c"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.h"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.c"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.h"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.c"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.h"
@@ -6,4 +6,5 @@
6
6
  #define XKCP_has_KeccakP1600times4
7
7
  #define XKCP_has_KeccakP1600times8
8
8
  #define XKCP_has_KangarooTwelve
9
+ #define XKCP_has_TurboSHAKE
9
10
  #define XKCP_has_Sponge_Keccak
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.c"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.h"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.c"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.h"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.c"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.h"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.c"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.h"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.c"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.h"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.c"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.h"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.c"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.h"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.c"
@@ -0,0 +1 @@
1
+ #include "../../XKCP/lib/high/TurboSHAKE/TurboSHAKE.h"
@@ -1,5 +1,5 @@
1
1
  module Digest
2
2
  module KangarooTwelve
3
- VERSION = "0.4.5"
3
+ VERSION = "0.4.7"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: digest-kangarootwelve
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.5
4
+ version: 0.4.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - konsolebox
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-12 00:00:00.000000000 Z
11
+ date: 2023-06-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -30,14 +30,20 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.0'
33
+ version: '1.2'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 1.2.3
34
37
  type: :development
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
38
41
  - - "~>"
39
42
  - !ruby/object:Gem::Version
40
- version: '1.0'
43
+ version: '1.2'
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 1.2.3
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: minitest
43
49
  requirement: !ruby/object:Gem::Requirement
@@ -103,6 +109,8 @@ files:
103
109
  - ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.c
104
110
  - ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.h
105
111
  - ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.inc
112
+ - ext/digest/kangarootwelve/XKCP/lib/high/TurboSHAKE/TurboSHAKE.c
113
+ - ext/digest/kangarootwelve/XKCP/lib/high/TurboSHAKE/TurboSHAKE.h
106
114
  - ext/digest/kangarootwelve/XKCP/lib/high/common/Phases.h
107
115
  - ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/ARMv7A-NEON/KeccakP-1600-inplace-pl2-armv7a-neon-le-gcc.s
108
116
  - ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times2/ARMv7A-NEON/KeccakP-1600-times2-SnP.h
@@ -235,6 +243,8 @@ files:
235
243
  - ext/digest/kangarootwelve/targets/armv6/KeccakSponge.inc
236
244
  - ext/digest/kangarootwelve/targets/armv6/Phases.h
237
245
  - ext/digest/kangarootwelve/targets/armv6/PlSnP-Fallback.inc
246
+ - ext/digest/kangarootwelve/targets/armv6/TurboSHAKE.c
247
+ - ext/digest/kangarootwelve/targets/armv6/TurboSHAKE.h
238
248
  - ext/digest/kangarootwelve/targets/armv6/align.h
239
249
  - ext/digest/kangarootwelve/targets/armv6/brg_endian.h
240
250
  - ext/digest/kangarootwelve/targets/armv6/config.h
@@ -261,6 +271,8 @@ files:
261
271
  - ext/digest/kangarootwelve/targets/armv6m/KeccakSponge.inc
262
272
  - ext/digest/kangarootwelve/targets/armv6m/Phases.h
263
273
  - ext/digest/kangarootwelve/targets/armv6m/PlSnP-Fallback.inc
274
+ - ext/digest/kangarootwelve/targets/armv6m/TurboSHAKE.c
275
+ - ext/digest/kangarootwelve/targets/armv6m/TurboSHAKE.h
264
276
  - ext/digest/kangarootwelve/targets/armv6m/align.h
265
277
  - ext/digest/kangarootwelve/targets/armv6m/brg_endian.h
266
278
  - ext/digest/kangarootwelve/targets/armv6m/config.h
@@ -289,6 +301,8 @@ files:
289
301
  - ext/digest/kangarootwelve/targets/armv7a/KeccakSponge.inc
290
302
  - ext/digest/kangarootwelve/targets/armv7a/Phases.h
291
303
  - ext/digest/kangarootwelve/targets/armv7a/PlSnP-Fallback.inc
304
+ - ext/digest/kangarootwelve/targets/armv7a/TurboSHAKE.c
305
+ - ext/digest/kangarootwelve/targets/armv7a/TurboSHAKE.h
292
306
  - ext/digest/kangarootwelve/targets/armv7a/align.h
293
307
  - ext/digest/kangarootwelve/targets/armv7a/brg_endian.h
294
308
  - ext/digest/kangarootwelve/targets/armv7a/config.h
@@ -315,6 +329,8 @@ files:
315
329
  - ext/digest/kangarootwelve/targets/armv7m/KeccakSponge.inc
316
330
  - ext/digest/kangarootwelve/targets/armv7m/Phases.h
317
331
  - ext/digest/kangarootwelve/targets/armv7m/PlSnP-Fallback.inc
332
+ - ext/digest/kangarootwelve/targets/armv7m/TurboSHAKE.c
333
+ - ext/digest/kangarootwelve/targets/armv7m/TurboSHAKE.h
318
334
  - ext/digest/kangarootwelve/targets/armv7m/align.h
319
335
  - ext/digest/kangarootwelve/targets/armv7m/brg_endian.h
320
336
  - ext/digest/kangarootwelve/targets/armv7m/config.h
@@ -352,6 +368,8 @@ files:
352
368
  - ext/digest/kangarootwelve/targets/armv8a/Phases.h
353
369
  - ext/digest/kangarootwelve/targets/armv8a/PlSnP-Fallback.inc
354
370
  - ext/digest/kangarootwelve/targets/armv8a/SnP-Relaned.h
371
+ - ext/digest/kangarootwelve/targets/armv8a/TurboSHAKE.c
372
+ - ext/digest/kangarootwelve/targets/armv8a/TurboSHAKE.h
355
373
  - ext/digest/kangarootwelve/targets/armv8a/align.h
356
374
  - ext/digest/kangarootwelve/targets/armv8a/brg_endian.h
357
375
  - ext/digest/kangarootwelve/targets/armv8a/config.h
@@ -378,6 +396,8 @@ files:
378
396
  - ext/digest/kangarootwelve/targets/avr8/KeccakSponge.inc
379
397
  - ext/digest/kangarootwelve/targets/avr8/Phases.h
380
398
  - ext/digest/kangarootwelve/targets/avr8/PlSnP-Fallback.inc
399
+ - ext/digest/kangarootwelve/targets/avr8/TurboSHAKE.c
400
+ - ext/digest/kangarootwelve/targets/avr8/TurboSHAKE.h
381
401
  - ext/digest/kangarootwelve/targets/avr8/align.h
382
402
  - ext/digest/kangarootwelve/targets/avr8/brg_endian.h
383
403
  - ext/digest/kangarootwelve/targets/avr8/config.h
@@ -416,6 +436,8 @@ files:
416
436
  - ext/digest/kangarootwelve/targets/avx/PlSnP-Fallback.inc
417
437
  - ext/digest/kangarootwelve/targets/avx/SIMD128-config.h
418
438
  - ext/digest/kangarootwelve/targets/avx/SnP-Relaned.h
439
+ - ext/digest/kangarootwelve/targets/avx/TurboSHAKE.c
440
+ - ext/digest/kangarootwelve/targets/avx/TurboSHAKE.h
419
441
  - ext/digest/kangarootwelve/targets/avx/align.h
420
442
  - ext/digest/kangarootwelve/targets/avx/brg_endian.h
421
443
  - ext/digest/kangarootwelve/targets/avx/config.h
@@ -452,6 +474,8 @@ files:
452
474
  - ext/digest/kangarootwelve/targets/avx2/PlSnP-Fallback.inc
453
475
  - ext/digest/kangarootwelve/targets/avx2/SIMD128-config.h
454
476
  - ext/digest/kangarootwelve/targets/avx2/SIMD256-config.h
477
+ - ext/digest/kangarootwelve/targets/avx2/TurboSHAKE.c
478
+ - ext/digest/kangarootwelve/targets/avx2/TurboSHAKE.h
455
479
  - ext/digest/kangarootwelve/targets/avx2/align.h
456
480
  - ext/digest/kangarootwelve/targets/avx2/brg_endian.h
457
481
  - ext/digest/kangarootwelve/targets/avx2/config.h
@@ -491,6 +515,8 @@ files:
491
515
  - ext/digest/kangarootwelve/targets/avx2noasm/SIMD128-config.h
492
516
  - ext/digest/kangarootwelve/targets/avx2noasm/SIMD256-config.h
493
517
  - ext/digest/kangarootwelve/targets/avx2noasm/SnP-Relaned.h
518
+ - ext/digest/kangarootwelve/targets/avx2noasm/TurboSHAKE.c
519
+ - ext/digest/kangarootwelve/targets/avx2noasm/TurboSHAKE.h
494
520
  - ext/digest/kangarootwelve/targets/avx2noasm/align.h
495
521
  - ext/digest/kangarootwelve/targets/avx2noasm/brg_endian.h
496
522
  - ext/digest/kangarootwelve/targets/avx2noasm/config.h
@@ -526,6 +552,8 @@ files:
526
552
  - ext/digest/kangarootwelve/targets/avx512/SIMD512-2-config.h
527
553
  - ext/digest/kangarootwelve/targets/avx512/SIMD512-4-config.h
528
554
  - ext/digest/kangarootwelve/targets/avx512/SIMD512-config.h
555
+ - ext/digest/kangarootwelve/targets/avx512/TurboSHAKE.c
556
+ - ext/digest/kangarootwelve/targets/avx512/TurboSHAKE.h
529
557
  - ext/digest/kangarootwelve/targets/avx512/align.h
530
558
  - ext/digest/kangarootwelve/targets/avx512/brg_endian.h
531
559
  - ext/digest/kangarootwelve/targets/avx512/config.h
@@ -562,6 +590,8 @@ files:
562
590
  - ext/digest/kangarootwelve/targets/avx512noasm/SIMD512-2-config.h
563
591
  - ext/digest/kangarootwelve/targets/avx512noasm/SIMD512-4-config.h
564
592
  - ext/digest/kangarootwelve/targets/avx512noasm/SIMD512-config.h
593
+ - ext/digest/kangarootwelve/targets/avx512noasm/TurboSHAKE.c
594
+ - ext/digest/kangarootwelve/targets/avx512noasm/TurboSHAKE.h
565
595
  - ext/digest/kangarootwelve/targets/avx512noasm/align.h
566
596
  - ext/digest/kangarootwelve/targets/avx512noasm/brg_endian.h
567
597
  - ext/digest/kangarootwelve/targets/avx512noasm/config.h
@@ -590,6 +620,8 @@ files:
590
620
  - ext/digest/kangarootwelve/targets/compact/Phases.h
591
621
  - ext/digest/kangarootwelve/targets/compact/PlSnP-Fallback.inc
592
622
  - ext/digest/kangarootwelve/targets/compact/SnP-Relaned.h
623
+ - ext/digest/kangarootwelve/targets/compact/TurboSHAKE.c
624
+ - ext/digest/kangarootwelve/targets/compact/TurboSHAKE.h
593
625
  - ext/digest/kangarootwelve/targets/compact/align.h
594
626
  - ext/digest/kangarootwelve/targets/compact/brg_endian.h
595
627
  - ext/digest/kangarootwelve/targets/compact/config.h
@@ -626,6 +658,8 @@ files:
626
658
  - ext/digest/kangarootwelve/targets/generic32/Phases.h
627
659
  - ext/digest/kangarootwelve/targets/generic32/PlSnP-Fallback.inc
628
660
  - ext/digest/kangarootwelve/targets/generic32/SnP-Relaned.h
661
+ - ext/digest/kangarootwelve/targets/generic32/TurboSHAKE.c
662
+ - ext/digest/kangarootwelve/targets/generic32/TurboSHAKE.h
629
663
  - ext/digest/kangarootwelve/targets/generic32/align.h
630
664
  - ext/digest/kangarootwelve/targets/generic32/brg_endian.h
631
665
  - ext/digest/kangarootwelve/targets/generic32/config.h
@@ -660,6 +694,8 @@ files:
660
694
  - ext/digest/kangarootwelve/targets/generic32lc/Phases.h
661
695
  - ext/digest/kangarootwelve/targets/generic32lc/PlSnP-Fallback.inc
662
696
  - ext/digest/kangarootwelve/targets/generic32lc/SnP-Relaned.h
697
+ - ext/digest/kangarootwelve/targets/generic32lc/TurboSHAKE.c
698
+ - ext/digest/kangarootwelve/targets/generic32lc/TurboSHAKE.h
663
699
  - ext/digest/kangarootwelve/targets/generic32lc/align.h
664
700
  - ext/digest/kangarootwelve/targets/generic32lc/brg_endian.h
665
701
  - ext/digest/kangarootwelve/targets/generic32lc/config.h
@@ -697,6 +733,8 @@ files:
697
733
  - ext/digest/kangarootwelve/targets/generic64/Phases.h
698
734
  - ext/digest/kangarootwelve/targets/generic64/PlSnP-Fallback.inc
699
735
  - ext/digest/kangarootwelve/targets/generic64/SnP-Relaned.h
736
+ - ext/digest/kangarootwelve/targets/generic64/TurboSHAKE.c
737
+ - ext/digest/kangarootwelve/targets/generic64/TurboSHAKE.h
700
738
  - ext/digest/kangarootwelve/targets/generic64/align.h
701
739
  - ext/digest/kangarootwelve/targets/generic64/brg_endian.h
702
740
  - ext/digest/kangarootwelve/targets/generic64/config.h
@@ -734,6 +772,8 @@ files:
734
772
  - ext/digest/kangarootwelve/targets/generic64lc/Phases.h
735
773
  - ext/digest/kangarootwelve/targets/generic64lc/PlSnP-Fallback.inc
736
774
  - ext/digest/kangarootwelve/targets/generic64lc/SnP-Relaned.h
775
+ - ext/digest/kangarootwelve/targets/generic64lc/TurboSHAKE.c
776
+ - ext/digest/kangarootwelve/targets/generic64lc/TurboSHAKE.h
737
777
  - ext/digest/kangarootwelve/targets/generic64lc/align.h
738
778
  - ext/digest/kangarootwelve/targets/generic64lc/brg_endian.h
739
779
  - ext/digest/kangarootwelve/targets/generic64lc/config.h
@@ -765,6 +805,8 @@ files:
765
805
  - ext/digest/kangarootwelve/targets/reference/KeccakSponge.inc
766
806
  - ext/digest/kangarootwelve/targets/reference/Phases.h
767
807
  - ext/digest/kangarootwelve/targets/reference/PlSnP-Fallback.inc
808
+ - ext/digest/kangarootwelve/targets/reference/TurboSHAKE.c
809
+ - ext/digest/kangarootwelve/targets/reference/TurboSHAKE.h
768
810
  - ext/digest/kangarootwelve/targets/reference/align.h
769
811
  - ext/digest/kangarootwelve/targets/reference/brg_endian.h
770
812
  - ext/digest/kangarootwelve/targets/reference/config.h
@@ -797,6 +839,8 @@ files:
797
839
  - ext/digest/kangarootwelve/targets/reference32bits/KeccakSponge.inc
798
840
  - ext/digest/kangarootwelve/targets/reference32bits/Phases.h
799
841
  - ext/digest/kangarootwelve/targets/reference32bits/PlSnP-Fallback.inc
842
+ - ext/digest/kangarootwelve/targets/reference32bits/TurboSHAKE.c
843
+ - ext/digest/kangarootwelve/targets/reference32bits/TurboSHAKE.h
800
844
  - ext/digest/kangarootwelve/targets/reference32bits/align.h
801
845
  - ext/digest/kangarootwelve/targets/reference32bits/brg_endian.h
802
846
  - ext/digest/kangarootwelve/targets/reference32bits/config.h
@@ -837,6 +881,8 @@ files:
837
881
  - ext/digest/kangarootwelve/targets/ssse3/PlSnP-Fallback.inc
838
882
  - ext/digest/kangarootwelve/targets/ssse3/SIMD128-config.h
839
883
  - ext/digest/kangarootwelve/targets/ssse3/SnP-Relaned.h
884
+ - ext/digest/kangarootwelve/targets/ssse3/TurboSHAKE.c
885
+ - ext/digest/kangarootwelve/targets/ssse3/TurboSHAKE.h
840
886
  - ext/digest/kangarootwelve/targets/ssse3/align.h
841
887
  - ext/digest/kangarootwelve/targets/ssse3/brg_endian.h
842
888
  - ext/digest/kangarootwelve/targets/ssse3/config.h
@@ -874,6 +920,8 @@ files:
874
920
  - ext/digest/kangarootwelve/targets/xop/PlSnP-Fallback.inc
875
921
  - ext/digest/kangarootwelve/targets/xop/SIMD128-config.h
876
922
  - ext/digest/kangarootwelve/targets/xop/SnP-Relaned.h
923
+ - ext/digest/kangarootwelve/targets/xop/TurboSHAKE.c
924
+ - ext/digest/kangarootwelve/targets/xop/TurboSHAKE.h
877
925
  - ext/digest/kangarootwelve/targets/xop/align.h
878
926
  - ext/digest/kangarootwelve/targets/xop/brg_endian.h
879
927
  - ext/digest/kangarootwelve/targets/xop/config.h
@@ -902,7 +950,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
902
950
  - !ruby/object:Gem::Version
903
951
  version: '0'
904
952
  requirements: []
905
- rubygems_version: 3.3.8
953
+ rubygems_version: 3.4.14
906
954
  signing_key:
907
955
  specification_version: 4
908
956
  summary: KangarooTwelve for Ruby