Example #1
0
        /**
         * Copy constructor.  We are using copy constructors in place
         * of the object.Clone() interface as this interface is not
         * supported by J2ME.
         */
        internal LongDigest(
            LongDigest t)
        {
            xBuf = new byte[t.xBuf.Length];

            CopyIn(t);
        }
Example #2
0
		/**
        * Copy constructor.  We are using copy constructors in place
        * of the object.Clone() interface as this interface is not
        * supported by J2ME.
        */
        internal LongDigest(
			LongDigest t)
		{
			xBuf = new byte[t.xBuf.Length];

			CopyIn(t);
		}
Example #3
0
        internal void ProcessBlock()
        {
            this.AdjustByteCounts();
            for (int i = 16; i <= 79; i++)
            {
                this.W[i] = LongDigest.Sigma1(this.W[i - 2]) + this.W[i - 7] + LongDigest.Sigma0(this.W[i - 15]) + this.W[i - 16];
            }
            ulong num  = this.H1;
            ulong num2 = this.H2;
            ulong num3 = this.H3;
            ulong num4 = this.H4;
            ulong num5 = this.H5;
            ulong num6 = this.H6;
            ulong num7 = this.H7;
            ulong num8 = this.H8;
            int   num9 = 0;

            for (int j = 0; j < 10; j++)
            {
                num8 += LongDigest.Sum1(num5) + LongDigest.Ch(num5, num6, num7) + LongDigest.K[num9] + this.W[num9++];
                num4 += num8;
                num8 += LongDigest.Sum0(num) + LongDigest.Maj(num, num2, num3);
                num7 += LongDigest.Sum1(num4) + LongDigest.Ch(num4, num5, num6) + LongDigest.K[num9] + this.W[num9++];
                num3 += num7;
                num7 += LongDigest.Sum0(num8) + LongDigest.Maj(num8, num, num2);
                num6 += LongDigest.Sum1(num3) + LongDigest.Ch(num3, num4, num5) + LongDigest.K[num9] + this.W[num9++];
                num2 += num6;
                num6 += LongDigest.Sum0(num7) + LongDigest.Maj(num7, num8, num);
                num5 += LongDigest.Sum1(num2) + LongDigest.Ch(num2, num3, num4) + LongDigest.K[num9] + this.W[num9++];
                num  += num5;
                num5 += LongDigest.Sum0(num6) + LongDigest.Maj(num6, num7, num8);
                num4 += LongDigest.Sum1(num) + LongDigest.Ch(num, num2, num3) + LongDigest.K[num9] + this.W[num9++];
                num8 += num4;
                num4 += LongDigest.Sum0(num5) + LongDigest.Maj(num5, num6, num7);
                num3 += LongDigest.Sum1(num8) + LongDigest.Ch(num8, num, num2) + LongDigest.K[num9] + this.W[num9++];
                num7 += num3;
                num3 += LongDigest.Sum0(num4) + LongDigest.Maj(num4, num5, num6);
                num2 += LongDigest.Sum1(num7) + LongDigest.Ch(num7, num8, num) + LongDigest.K[num9] + this.W[num9++];
                num6 += num2;
                num2 += LongDigest.Sum0(num3) + LongDigest.Maj(num3, num4, num5);
                num  += LongDigest.Sum1(num6) + LongDigest.Ch(num6, num7, num8) + LongDigest.K[num9] + this.W[num9++];
                num5 += num;
                num  += LongDigest.Sum0(num2) + LongDigest.Maj(num2, num3, num4);
            }
            this.H1  += num;
            this.H2  += num2;
            this.H3  += num3;
            this.H4  += num4;
            this.H5  += num5;
            this.H6  += num6;
            this.H7  += num7;
            this.H8  += num8;
            this.wOff = 0;
            Array.Clear(this.W, 0, 16);
        }
Example #4
0
 protected void CopyIn(LongDigest t)
 {
     Array.Copy(t.xBuf, 0, xBuf, 0, t.xBuf.Length);
     xBufOff    = t.xBufOff;
     byteCount1 = t.byteCount1;
     byteCount2 = t.byteCount2;
     H1         = t.H1;
     H2         = t.H2;
     H3         = t.H3;
     H4         = t.H4;
     H5         = t.H5;
     H6         = t.H6;
     H7         = t.H7;
     H8         = t.H8;
     Array.Copy(t.W, 0, W, 0, t.W.Length);
     wOff = t.wOff;
 }
Example #5
0
 protected void CopyIn(LongDigest t)
 {
     Array.Copy(t.xBuf, 0, this.xBuf, 0, t.xBuf.Length);
     this.xBufOff    = t.xBufOff;
     this.byteCount1 = t.byteCount1;
     this.byteCount2 = t.byteCount2;
     this.H1         = t.H1;
     this.H2         = t.H2;
     this.H3         = t.H3;
     this.H4         = t.H4;
     this.H5         = t.H5;
     this.H6         = t.H6;
     this.H7         = t.H7;
     this.H8         = t.H8;
     Array.Copy(t.W, 0, this.W, 0, t.W.Length);
     this.wOff = t.wOff;
 }
Example #6
0
 protected void CopyIn(LongDigest t)
 {
     global::System.Array.Copy((global::System.Array)t.xBuf, 0, (global::System.Array)xBuf, 0, t.xBuf.Length);
     xBufOff    = t.xBufOff;
     byteCount1 = t.byteCount1;
     byteCount2 = t.byteCount2;
     H1         = t.H1;
     H2         = t.H2;
     H3         = t.H3;
     H4         = t.H4;
     H5         = t.H5;
     H6         = t.H6;
     H7         = t.H7;
     H8         = t.H8;
     global::System.Array.Copy((global::System.Array)t.W, 0, (global::System.Array)W, 0, t.W.Length);
     wOff = t.wOff;
 }
Example #7
0
		protected void CopyIn(LongDigest t)
		{
            Array.Copy(t.xBuf, 0, xBuf, 0, t.xBuf.Length);

            xBufOff = t.xBufOff;
            byteCount1 = t.byteCount1;
            byteCount2 = t.byteCount2;

            H1 = t.H1;
            H2 = t.H2;
            H3 = t.H3;
            H4 = t.H4;
            H5 = t.H5;
            H6 = t.H6;
            H7 = t.H7;
            H8 = t.H8;

            Array.Copy(t.W, 0, W, 0, t.W.Length);
            wOff = t.wOff;
        }
		/**
        * Copy constructor.  We are using copy constructors in place
        * of the object.Clone() interface as this interface is not
        * supported by J2ME.
        */
        internal LongDigest(
			LongDigest t)
        {
            xBuf = new byte[t.xBuf.Length];
            Array.Copy(t.xBuf, 0, xBuf, 0, t.xBuf.Length);

            xBufOff = t.xBufOff;
            byteCount1 = t.byteCount1;
            byteCount2 = t.byteCount2;

            H1 = t.H1;
            H2 = t.H2;
            H3 = t.H3;
            H4 = t.H4;
            H5 = t.H5;
            H6 = t.H6;
            H7 = t.H7;
            H8 = t.H8;

            Array.Copy(t.W, 0, W, 0, t.W.Length);
            wOff = t.wOff;
        }
Example #9
0
        /**
         * Copy constructor.  We are using copy constructors in place
         * of the object.Clone() interface as this interface is not
         * supported by J2ME.
         */
        internal LongDigest(
            LongDigest t)
        {
            xBuf = new byte[t.xBuf.Length];
            Array.Copy(t.xBuf, 0, xBuf, 0, t.xBuf.Length);

            xBufOff    = t.xBufOff;
            byteCount1 = t.byteCount1;
            byteCount2 = t.byteCount2;

            H1 = t.H1;
            H2 = t.H2;
            H3 = t.H3;
            H4 = t.H4;
            H5 = t.H5;
            H6 = t.H6;
            H7 = t.H7;
            H8 = t.H8;

            Array.Copy(t.W, 0, W, 0, t.W.Length);
            wOff = t.wOff;
        }
Example #10
0
 internal LongDigest(LongDigest t)
 {
     this.xBuf = new byte[t.xBuf.Length];
     this.CopyIn(t);
 }