From 289e9c809f62b7c77b947c501e6278359753444c Mon Sep 17 00:00:00 2001 From: orignal Date: Thu, 16 Mar 2017 16:30:32 -0400 Subject: [PATCH] correct padding for GOST 34.11 --- Gost.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Gost.cpp b/Gost.cpp index d3c56eb2..41f52b7c 100644 --- a/Gost.cpp +++ b/Gost.cpp @@ -407,9 +407,15 @@ namespace crypto s = m + s; len -= 64; } - memset (m.buf, 0, 64); - memcpy (m.buf + 64, buf, l); // stage 3 + size_t padding = 64 - l; + if (padding) + { + memset (m.buf, 0, padding - 1); + m.buf[padding - 1] = 1; + } + memcpy (m.buf + padding, buf, l); + h = gN (N, h, m); N.Add (l*8); s = m + s;