summaryrefslogtreecommitdiff
path: root/blake2.cpp
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2017-09-01 14:19:48 -0400
committerJeffrey Walton <noloader@gmail.com>2017-09-01 14:19:48 -0400
commit602fa05825f9fa9ec892275c2e95565354047918 (patch)
tree7c31a49858efae27220f3ed6e49524a754c2472b /blake2.cpp
parent6544f757699dc311a2197492e7f0d94768fea086 (diff)
downloadcryptopp-git-602fa05825f9fa9ec892275c2e95565354047918.tar.gz
Cleared unused variable warning under MSC
Diffstat (limited to 'blake2.cpp')
-rw-r--r--blake2.cpp71
1 files changed, 30 insertions, 41 deletions
diff --git a/blake2.cpp b/blake2.cpp
index e5a07cd8..8bac71e0 100644
--- a/blake2.cpp
+++ b/blake2.cpp
@@ -41,34 +41,24 @@ ANONYMOUS_NAMESPACE_BEGIN
template <class W, bool T_64bit>
struct BLAKE2_IV
{
- CRYPTOPP_ALIGN_DATA(16) W iv[8];
+ CRYPTOPP_ALIGN_DATA(16)
+ static const W iv[8];
};
template<>
-struct BLAKE2_IV<word32, false>
-{
- CRYPTOPP_ALIGN_DATA(16)
- const word32 iv[8] = {
- 0x6A09E667UL, 0xBB67AE85UL, 0x3C6EF372UL, 0xA54FF53AUL,
- 0x510E527FUL, 0x9B05688CUL, 0x1F83D9ABUL, 0x5BE0CD19UL
- };
+const word32 BLAKE2_IV<word32, false>::iv[8] = {
+ 0x6A09E667UL, 0xBB67AE85UL, 0x3C6EF372UL, 0xA54FF53AUL,
+ 0x510E527FUL, 0x9B05688CUL, 0x1F83D9ABUL, 0x5BE0CD19UL
};
template<>
-struct BLAKE2_IV<word64, true>
-{
- CRYPTOPP_ALIGN_DATA(16)
- const word64 iv[8] = {
- W64LIT(0x6a09e667f3bcc908), W64LIT(0xbb67ae8584caa73b),
- W64LIT(0x3c6ef372fe94f82b), W64LIT(0xa54ff53a5f1d36f1),
- W64LIT(0x510e527fade682d1), W64LIT(0x9b05688c2b3e6c1f),
- W64LIT(0x1f83d9abfb41bd6b), W64LIT(0x5be0cd19137e2179)
- };
+const word64 BLAKE2_IV<word64, true>::iv[8] = {
+ W64LIT(0x6a09e667f3bcc908), W64LIT(0xbb67ae8584caa73b),
+ W64LIT(0x3c6ef372fe94f82b), W64LIT(0xa54ff53a5f1d36f1),
+ W64LIT(0x510e527fade682d1), W64LIT(0x9b05688c2b3e6c1f),
+ W64LIT(0x1f83d9abfb41bd6b), W64LIT(0x5be0cd19137e2179)
};
-template class BLAKE2_IV<word64, true>;
-template class BLAKE2_IV<word32, false>;
-
CRYPTOPP_ALIGN_DATA(16)
const byte BLAKE2S_SIGMA[10][16] = {
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 },
@@ -335,10 +325,9 @@ void BLAKE2_Base<W, T_64bit>::Restart(const BLAKE2_ParameterBlock<T_64bit>& bloc
state.t[1] = counter[1];
}
- // const W* IV = BLAKE2_IV<W, T_64bit>.iv;
- BLAKE2_IV<W, T_64bit> IV;
+ const W* iv = BLAKE2_IV<W, T_64bit>::iv;
PutBlock<W, LittleEndian, true> put(m_block.data(), &state.h[0]);
- put(IV.iv[0])(IV.iv[1])(IV.iv[2])(IV.iv[3])(IV.iv[4])(IV.iv[5])(IV.iv[6])(IV.iv[7]);
+ put(iv[0])(iv[1])(iv[2])(iv[3])(iv[4])(iv[5])(iv[6])(iv[7]);
// When BLAKE2 is keyed, the input stream is simply {key||message}. Key it
// during Restart to avoid FirstPut and friends. Key size == 0 means no key.
@@ -466,15 +455,15 @@ void BLAKE2_Compress64_CXX(const byte* input, BLAKE2_State<word64, true>& state)
GetBlock<word64, LittleEndian, true> get2(&state.h[0]);
get2(v[0])(v[1])(v[2])(v[3])(v[4])(v[5])(v[6])(v[7]);
- BLAKE2_IV<word64, true> IV;
- v[ 8] = IV.iv[0];
- v[ 9] = IV.iv[1];
- v[10] = IV.iv[2];
- v[11] = IV.iv[3];
- v[12] = state.t[0] ^ IV.iv[4];
- v[13] = state.t[1] ^ IV.iv[5];
- v[14] = state.f[0] ^ IV.iv[6];
- v[15] = state.f[1] ^ IV.iv[7];
+ const word64* iv = BLAKE2_IV<word64, true>::iv;
+ v[ 8] = iv[0];
+ v[ 9] = iv[1];
+ v[10] = iv[2];
+ v[11] = iv[3];
+ v[12] = state.t[0] ^ iv[4];
+ v[13] = state.t[1] ^ iv[5];
+ v[14] = state.f[0] ^ iv[6];
+ v[15] = state.f[1] ^ iv[7];
BLAKE2_ROUND(0);
BLAKE2_ROUND(1);
@@ -530,15 +519,15 @@ void BLAKE2_Compress32_CXX(const byte* input, BLAKE2_State<word32, false>& state
GetBlock<word32, LittleEndian, true> get2(&state.h[0]);
get2(v[0])(v[1])(v[2])(v[3])(v[4])(v[5])(v[6])(v[7]);
- BLAKE2_IV<word32, false> IV;
- v[ 8] = IV.iv[0];
- v[ 9] = IV.iv[1];
- v[10] = IV.iv[2];
- v[11] = IV.iv[3];
- v[12] = state.t[0] ^ IV.iv[4];
- v[13] = state.t[1] ^ IV.iv[5];
- v[14] = state.f[0] ^ IV.iv[6];
- v[15] = state.f[1] ^ IV.iv[7];
+ const word32* iv = BLAKE2_IV<word32, false>::iv;
+ v[ 8] = iv[0];
+ v[ 9] = iv[1];
+ v[10] = iv[2];
+ v[11] = iv[3];
+ v[12] = state.t[0] ^ iv[4];
+ v[13] = state.t[1] ^ iv[5];
+ v[14] = state.f[0] ^ iv[6];
+ v[15] = state.f[1] ^ iv[7];
BLAKE2_ROUND(0);
BLAKE2_ROUND(1);