/// <summary>
 /// perform transformatio using i (c^(b|~d))
 /// </summary>
 protected void TransI(ref uint a, uint b, uint c, uint d, uint k, ushort s, uint i)
 {
     a = b + MD5Helper.RotateLeft((a + (c ^ (b | ~d)) + X[k] + T[i - 1]), s);
 }
        /********************************************************
         * TRANSFORMATIONS :  FF , GG , HH , II  acc to RFC 1321
         * where each Each letter represnets the aux function used
         *********************************************************/



        /// <summary>
        /// perform transformatio using f(((b&c) | (~(b)&d))
        /// </summary>
        protected void TransF(ref uint a, uint b, uint c, uint d, uint k, ushort s, uint i)
        {
            a = b + MD5Helper.RotateLeft((a + ((b & c) | (~(b) & d)) + X[k] + T[i - 1]), s);
        }