summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--crypto/src/crypto/digests/TigerDigest.cs51
1 files changed, 13 insertions, 38 deletions
diff --git a/crypto/src/crypto/digests/TigerDigest.cs b/crypto/src/crypto/digests/TigerDigest.cs
index ce9efdbed..a452d3f0b 100644
--- a/crypto/src/crypto/digests/TigerDigest.cs
+++ b/crypto/src/crypto/digests/TigerDigest.cs
@@ -1,6 +1,6 @@
 using System;
 
-using Org.BouncyCastle.Crypto;
+using Org.BouncyCastle.Crypto.Utilities;
 using Org.BouncyCastle.Utilities;
 
 namespace Org.BouncyCastle.Crypto.Digests
@@ -553,7 +553,7 @@ namespace Org.BouncyCastle.Crypto.Digests
         //
         // buffers
         //
-        private byte[]  Buffer = new byte[8];
+        private byte[]  m_buffer = new byte[8];
         private int     bOff;
 
         private long[]  x = new long[8];
@@ -591,18 +591,9 @@ namespace Org.BouncyCastle.Crypto.Digests
 			return MyByteLength;
 		}
 
-		private void ProcessWord(
-            byte[]  b,
-            int     off)
+		private void ProcessWord(byte[] b, int off)
         {
-            x[xOff++] =   ((long)(b[off + 7] & 0xff) << 56)
-                        | ((long)(b[off + 6] & 0xff) << 48)
-                        | ((long)(b[off + 5] & 0xff) << 40)
-                        | ((long)(b[off + 4] & 0xff) << 32)
-                        | ((long)(b[off + 3] & 0xff) << 24)
-                        | ((long)(b[off + 2] & 0xff) << 16)
-                        | ((long)(b[off + 1] & 0xff) << 8)
-                        | ((uint)(b[off + 0] & 0xff));
+            x[xOff++] = (long)Pack.LE_To_UInt64(b, off);
 
             if (xOff == x.Length)
             {
@@ -615,11 +606,11 @@ namespace Org.BouncyCastle.Crypto.Digests
         public void Update(
             byte input)
         {
-            Buffer[bOff++] = input;
+            m_buffer[bOff++] = input;
 
-            if (bOff == Buffer.Length)
+            if (bOff == m_buffer.Length)
             {
-                ProcessWord(Buffer, 0);
+                ProcessWord(m_buffer, 0);
             }
 
             byteCount++;
@@ -781,21 +772,6 @@ namespace Org.BouncyCastle.Crypto.Digests
             }
         }
 
-        private void UnpackWord(
-            long    r,
-            byte[]  output,
-            int     outOff)
-        {
-            output[outOff + 7]     = (byte)(r >> 56);
-            output[outOff + 6] = (byte)(r >> 48);
-            output[outOff + 5] = (byte)(r >> 40);
-            output[outOff + 4] = (byte)(r >> 32);
-            output[outOff + 3] = (byte)(r >> 24);
-            output[outOff + 2] = (byte)(r >> 16);
-            output[outOff + 1] = (byte)(r >> 8);
-            output[outOff] = (byte)r;
-        }
-
         private void ProcessLength(
             long    bitLength)
         {
@@ -824,9 +800,9 @@ namespace Org.BouncyCastle.Crypto.Digests
         {
             Finish();
 
-            UnpackWord(a, output, outOff);
-            UnpackWord(b, output, outOff + 8);
-            UnpackWord(c, output, outOff + 16);
+            Pack.UInt64_To_LE((ulong)a, output, outOff);
+            Pack.UInt64_To_LE((ulong)b, output, outOff + 8);
+            Pack.UInt64_To_LE((ulong)c, output, outOff + 16);
 
             Reset();
 
@@ -849,9 +825,9 @@ namespace Org.BouncyCastle.Crypto.Digests
             }
 
             bOff = 0;
-            for (int i = 0; i != Buffer.Length; i++)
+            for (int i = 0; i != m_buffer.Length; i++)
             {
-                Buffer[i] = 0;
+                m_buffer[i] = 0;
             }
 
             byteCount = 0;
@@ -873,11 +849,10 @@ namespace Org.BouncyCastle.Crypto.Digests
 			Array.Copy(t.x, 0, x, 0, t.x.Length);
 			xOff = t.xOff;
 
-			Array.Copy(t.Buffer, 0, Buffer, 0, t.Buffer.Length);
+			Array.Copy(t.m_buffer, 0, m_buffer, 0, t.m_buffer.Length);
 			bOff = t.bOff;
 
 			byteCount = t.byteCount;
 		}    
-
 	}
 }