diff --git a/poly1305.cpp b/poly1305.cpp index fe1ae499..1d8abf9e 100644 --- a/poly1305.cpp +++ b/poly1305.cpp @@ -322,7 +322,10 @@ void Poly1305TLS_Base::UncheckedSetKey(const byte *key, unsigned int length, con m_r[3] = GetWord(false, LITTLE_ENDIAN_ORDER, key + 12) & 0x0ffffffc; key += 16; - std::memcpy(m_n, key, 16); + m_n[0] = GetWord(false, LITTLE_ENDIAN_ORDER, key + 0); + m_n[1] = GetWord(false, LITTLE_ENDIAN_ORDER, key + 4); + m_n[2] = GetWord(false, LITTLE_ENDIAN_ORDER, key + 8); + m_n[3] = GetWord(false, LITTLE_ENDIAN_ORDER, key + 12); Restart(); }