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.
- checksums.yaml +4 -4
- data/LICENSE.XKCP +167 -7
- data/README.md +24 -4
- data/Rakefile +6 -9
- data/digest-kangarootwelve.gemspec +1 -1
- data/ext/digest/kangarootwelve/XKCP/lib/high/KangarooTwelve/KangarooTwelve.c +32 -32
- data/ext/digest/kangarootwelve/XKCP/lib/high/KangarooTwelve/KangarooTwelve.h +5 -5
- data/ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.c +0 -18
- data/ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.h +0 -6
- data/ext/digest/kangarootwelve/XKCP/lib/high/Keccak/KeccakSponge.inc +8 -6
- data/ext/digest/kangarootwelve/XKCP/lib/high/TurboSHAKE/TurboSHAKE.c +71 -0
- data/ext/digest/kangarootwelve/XKCP/lib/high/TurboSHAKE/TurboSHAKE.h +49 -0
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600/common/KeccakP-1600-64.macros +19 -9
- data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX2/KeccakP-1600-times4-SIMD256.c +2 -2
- data/ext/digest/kangarootwelve/XKCP/lib/low/common/PlSnP-Fallback.inc +3 -2
- data/ext/digest/kangarootwelve/ext.c +1 -1
- data/ext/digest/kangarootwelve/targets/armv6/TurboSHAKE.c +1 -0
- data/ext/digest/kangarootwelve/targets/armv6/TurboSHAKE.h +1 -0
- data/ext/digest/kangarootwelve/targets/armv6m/TurboSHAKE.c +1 -0
- data/ext/digest/kangarootwelve/targets/armv6m/TurboSHAKE.h +1 -0
- data/ext/digest/kangarootwelve/targets/armv7a/TurboSHAKE.c +1 -0
- data/ext/digest/kangarootwelve/targets/armv7a/TurboSHAKE.h +1 -0
- data/ext/digest/kangarootwelve/targets/armv7m/TurboSHAKE.c +1 -0
- data/ext/digest/kangarootwelve/targets/armv7m/TurboSHAKE.h +1 -0
- data/ext/digest/kangarootwelve/targets/armv8a/TurboSHAKE.c +1 -0
- data/ext/digest/kangarootwelve/targets/armv8a/TurboSHAKE.h +1 -0
- data/ext/digest/kangarootwelve/targets/avr8/TurboSHAKE.c +1 -0
- data/ext/digest/kangarootwelve/targets/avr8/TurboSHAKE.h +1 -0
- data/ext/digest/kangarootwelve/targets/avx/TurboSHAKE.c +1 -0
- data/ext/digest/kangarootwelve/targets/avx/TurboSHAKE.h +1 -0
- data/ext/digest/kangarootwelve/targets/avx2/TurboSHAKE.c +1 -0
- data/ext/digest/kangarootwelve/targets/avx2/TurboSHAKE.h +1 -0
- data/ext/digest/kangarootwelve/targets/avx2noasm/TurboSHAKE.c +1 -0
- data/ext/digest/kangarootwelve/targets/avx2noasm/TurboSHAKE.h +1 -0
- data/ext/digest/kangarootwelve/targets/avx512/TurboSHAKE.c +1 -0
- data/ext/digest/kangarootwelve/targets/avx512/TurboSHAKE.h +1 -0
- data/ext/digest/kangarootwelve/targets/avx512noasm/TurboSHAKE.c +1 -0
- data/ext/digest/kangarootwelve/targets/avx512noasm/TurboSHAKE.h +1 -0
- data/ext/digest/kangarootwelve/targets/compact/TurboSHAKE.c +1 -0
- data/ext/digest/kangarootwelve/targets/compact/TurboSHAKE.h +1 -0
- data/ext/digest/kangarootwelve/targets/config.h +1 -0
- data/ext/digest/kangarootwelve/targets/generic32/TurboSHAKE.c +1 -0
- data/ext/digest/kangarootwelve/targets/generic32/TurboSHAKE.h +1 -0
- data/ext/digest/kangarootwelve/targets/generic32lc/TurboSHAKE.c +1 -0
- data/ext/digest/kangarootwelve/targets/generic32lc/TurboSHAKE.h +1 -0
- data/ext/digest/kangarootwelve/targets/generic64/TurboSHAKE.c +1 -0
- data/ext/digest/kangarootwelve/targets/generic64/TurboSHAKE.h +1 -0
- data/ext/digest/kangarootwelve/targets/generic64lc/TurboSHAKE.c +1 -0
- data/ext/digest/kangarootwelve/targets/generic64lc/TurboSHAKE.h +1 -0
- data/ext/digest/kangarootwelve/targets/reference/TurboSHAKE.c +1 -0
- data/ext/digest/kangarootwelve/targets/reference/TurboSHAKE.h +1 -0
- data/ext/digest/kangarootwelve/targets/reference32bits/TurboSHAKE.c +1 -0
- data/ext/digest/kangarootwelve/targets/reference32bits/TurboSHAKE.h +1 -0
- data/ext/digest/kangarootwelve/targets/ssse3/TurboSHAKE.c +1 -0
- data/ext/digest/kangarootwelve/targets/ssse3/TurboSHAKE.h +1 -0
- data/ext/digest/kangarootwelve/targets/xop/TurboSHAKE.c +1 -0
- data/ext/digest/kangarootwelve/targets/xop/TurboSHAKE.h +1 -0
- data/lib/digest/kangarootwelve/version.rb +1 -1
- 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
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
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) \
|
data/ext/digest/kangarootwelve/XKCP/lib/low/KeccakP-1600-times4/AVX2/KeccakP-1600-times4-SIMD256.c
CHANGED
@@ -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(
|
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(
|
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
|
@@ -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"
|
@@ -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"
|
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.
|
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:
|
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.
|
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.
|
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.
|
953
|
+
rubygems_version: 3.4.14
|
906
954
|
signing_key:
|
907
955
|
specification_version: 4
|
908
956
|
summary: KangarooTwelve for Ruby
|