diff options
author | David Hook <dgh@bouncycastle.org> | 2017-06-27 11:09:59 +1000 |
---|---|---|
committer | David Hook <dgh@bouncycastle.org> | 2017-06-27 11:09:59 +1000 |
commit | a0b7d3b1174a6088049e360a45db4e0c1a04b32a (patch) | |
tree | 7e442af1c37591a8176af0b699536314fd9954f8 /crypto/src | |
parent | Initial cut of DSTU7564 digest and HMAC. (diff) | |
download | BouncyCastle.NET-ed25519-a0b7d3b1174a6088049e360a45db4e0c1a04b32a.tar.xz |
paddingfix for where pad block extends over 2 block boundary.
Diffstat (limited to 'crypto/src')
-rw-r--r-- | crypto/src/crypto/digests/DSTU7564Digest.cs | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/crypto/src/crypto/digests/DSTU7564Digest.cs b/crypto/src/crypto/digests/DSTU7564Digest.cs index 9a785a5c9..12057b146 100644 --- a/crypto/src/crypto/digests/DSTU7564Digest.cs +++ b/crypto/src/crypto/digests/DSTU7564Digest.cs @@ -212,12 +212,20 @@ namespace Org.BouncyCastle.Crypto.Digests { padded_ = Pad(buf, 0, bufOff); - ProcessBlock(padded_, 0); + int paddedLen = padded_.Length; + int paddedOff = 0; - - //Console.WriteLine(stateLine.Length); + while (paddedLen != 0) + { + ProcessBlock(padded_, paddedOff); + paddedOff += blockSize; + paddedLen -= blockSize; + } + + + //Console.WriteLine(stateLine.Length); - byte[][] temp = new byte[STATE_BYTE_SIZE_1024][]; + byte[][] temp = new byte[STATE_BYTE_SIZE_1024][]; for (int i = 0; i < state_.Length; i++) { temp[i] = new byte[ROWS]; |