From 352083b1d06f73ea571ff4804d4169630e3eab88 Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Thu, 25 Oct 2018 08:24:13 -0400 Subject: Cleanup HC128 and HC256 OperateKeystream --- hc128.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'hc128.cpp') diff --git a/hc128.cpp b/hc128.cpp index 682344c5..b734d6e5 100644 --- a/hc128.cpp +++ b/hc128.cpp @@ -200,8 +200,7 @@ void HC128Policy::CipherSetKey(const NameValuePairs ¶ms, const byte *userKey void HC128Policy::OperateKeystream(KeystreamOperation operation, byte *output, const byte *input, size_t iterationCount) { - size_t msglen = GetBytesPerIteration() * iterationCount; - while (msglen >= 64) + while (iterationCount--) { word32 keystream[16]; GenerateKeystream(keystream); @@ -231,9 +230,12 @@ void HC128Policy::OperateKeystream(KeystreamOperation operation, byte *output, c // keystream is written to the output buffer. The optional part is // adding the input buffer and keystream. if ((operation & INPUT_NULL) != INPUT_NULL) - xorbuf(output, input, 64); + { + xorbuf(output, input, BYTES_PER_ITERATION); + input += BYTES_PER_ITERATION; + } - msglen -= 64; input += 64; output += 64; + output += BYTES_PER_ITERATION; } } -- cgit v1.2.1