1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
/*
This code is written by kerukuro and released into public domain.
*/
#ifndef DIGESTPP_PROVIDERS_SHA3_CONSTANTS_HPP
#define DIGESTPP_PROVIDERS_SHA3_CONSTANTS_HPP
namespace digestpp
{
namespace detail
{
template<typename T>
struct sha3_constants
{
const static uint64_t RC[24];
};
template<typename T>
const uint64_t sha3_constants<T>::RC[24] = {
0x0000000000000001ull, 0x0000000000008082ull, 0x800000000000808Aull, 0x8000000080008000ull,
0x000000000000808Bull, 0x0000000080000001ull, 0x8000000080008081ull, 0x8000000000008009ull,
0x000000000000008Aull, 0x0000000000000088ull, 0x0000000080008009ull, 0x000000008000000Aull,
0x000000008000808Bull, 0x800000000000008Bull, 0x8000000000008089ull, 0x8000000000008003ull,
0x8000000000008002ull, 0x8000000000000080ull, 0x000000000000800Aull, 0x800000008000000Aull,
0x8000000080008081ull, 0x8000000000008080ull, 0x0000000080000001ull, 0x8000000080008008ull
};
} // namespace detail
} // namespace digestpp
#endif // DIGESTPP_PROVIDERS_SHA3_CONSTANTS_HPP
|