Monero
Loading...
Searching...
No Matches
keccak.cpp File Reference
#include "gtest/gtest.h"
#include "crypto/keccak.h"
Include dependency graph for keccak.cpp:

Macros

#define KECCAK_BLOCKLEN   136
#define TEST_KECCAK(sz, chunks)

Functions

 TEST (keccak, 0_and_0)
 TEST (keccak, 1_and_1)
 TEST (keccak, 1_and_0_1_0)
 TEST (keccak, 2_and_1_1)
 TEST (keccak, 4_and_0_0_1_0_2_1_0)
 TEST (keccak, 15_and_1_14)
 TEST (keccak, 135_and_134_1)
 TEST (keccak, 135_and_135_0)
 TEST (keccak, 135_and_0_135)
 TEST (keccak, 136_and_135_1)
 TEST (keccak, 136_and_136_0)
 TEST (keccak, 136_and_0_136)
 TEST (keccak, 136_and_136)
 TEST (keccak, 137_and_136_1)
 TEST (keccak, 137_and_1_136)
 TEST (keccak, alignment)

Macro Definition Documentation

◆ KECCAK_BLOCKLEN

#define KECCAK_BLOCKLEN   136

◆ TEST_KECCAK

#define TEST_KECCAK ( sz,
chunks )
Value:
std::string data; \
data.resize(sz); \
for (size_t i = 0; i < data.size(); ++i) \
data[i] = i * 17; \
uint8_t md0[32], md1[32]; \
keccak((const uint8_t*)data.data(), data.size(), md0, 32); \
KECCAK_CTX ctx; \
keccak_init(&ctx); \
size_t offset = 0; \
for (size_t i = 0; i < sizeof(chunks) / sizeof(chunks[0]); ++i) \
{ \
ASSERT_TRUE(offset + chunks[i] <= data.size()); \
keccak_update(&ctx, (const uint8_t*)data.data() + offset, chunks[i]); \
offset += chunks[i]; \
} \
ASSERT_TRUE(offset == data.size()); \
keccak_finish(&ctx, md1); \
ASSERT_EQ(memcmp(md0, md1, 32), 0);
unsigned char uint8_t
Definition stdint.h:124
Definition keccak.h:20
std::string data
Definition base58.cpp:37

Function Documentation

◆ TEST() [1/16]

TEST ( keccak ,
0_and_0  )

◆ TEST() [2/16]

TEST ( keccak ,
135_and_0_135  )

◆ TEST() [3/16]

TEST ( keccak ,
135_and_134_1  )

◆ TEST() [4/16]

TEST ( keccak ,
135_and_135_0  )

◆ TEST() [5/16]

TEST ( keccak ,
136_and_0_136  )

◆ TEST() [6/16]

TEST ( keccak ,
136_and_135_1  )

◆ TEST() [7/16]

TEST ( keccak ,
136_and_136  )

◆ TEST() [8/16]

TEST ( keccak ,
136_and_136_0  )

◆ TEST() [9/16]

TEST ( keccak ,
137_and_136_1  )

◆ TEST() [10/16]

TEST ( keccak ,
137_and_1_136  )

◆ TEST() [11/16]

TEST ( keccak ,
15_and_1_14  )

◆ TEST() [12/16]

TEST ( keccak ,
1_and_0_1_0  )

◆ TEST() [13/16]

TEST ( keccak ,
1_and_1  )

◆ TEST() [14/16]

TEST ( keccak ,
2_and_1_1  )

◆ TEST() [15/16]

TEST ( keccak ,
4_and_0_0_1_0_2_1_0  )

◆ TEST() [16/16]

TEST ( keccak ,
alignment  )