ShiftRight() static private method

static private ShiftRight ( byte block ) : void
block byte
return void
        public void MultiplyH(byte[] x)
        {
            byte[] z = new byte[16];

            for (int i = 0; i < 16; ++i)
            {
                byte h = H[i];
                for (int j = 7; j >= 0; --j)
                {
                    if ((h & (1 << j)) != 0)
                    {
                        GcmUtilities.Xor(z, x);
                    }

                    bool lsb = (x[15] & 1) != 0;
                    GcmUtilities.ShiftRight(x);
                    if (lsb)
                    {
                        // R = new byte[]{ 0xe1, ... };
                        //GcmUtilities.Xor(v, R);
                        x[0] ^= (byte)0xe1;
                    }
                }
            }

            Array.Copy(z, 0, x, 0, 16);
        }
Esempio n. 2
0
        internal static void MultiplyP(uint[] x)
        {
            int num = (x[3] & 1U) > 0U ? 1 : 0;

            GcmUtilities.ShiftRight(x);
            if (num == 0)
            {
                return;
            }
            x[0] ^= 3774873600U;
        }
Esempio n. 3
0
 internal static void Multiply(byte[] block, byte[] val)
 {
     byte[] numArray = Arrays.Clone(block);
     byte[] block1   = new byte[16];
     for (int index1 = 0; index1 < 16; ++index1)
     {
         byte num1 = val[index1];
         for (int index2 = 7; index2 >= 0; --index2)
         {
             if (((int)num1 & 1 << index2) != 0)
             {
                 GcmUtilities.Xor(block1, numArray);
             }
             int num2 = ((uint)numArray[15] & 1U) > 0U ? 1 : 0;
             GcmUtilities.ShiftRight(numArray);
             if (num2 != 0)
             {
                 numArray[0] ^= (byte)225;
             }
         }
     }
     Array.Copy((Array)block1, 0, (Array)block, 0, 16);
 }
Esempio n. 4
0
        internal static void MultiplyP(uint[] x, uint[] z)
        {
            uint num = (uint)((int)GcmUtilities.ShiftRight(x, z) >> 8);

            z[0] ^= (num & 3774873600u);
        }
Esempio n. 5
0
        // Token: 0x060000FA RID: 250 RVA: 0x00008A08 File Offset: 0x00006C08
        internal static void MultiplyP(uint[] x)
        {
            uint num = (uint)((int)GcmUtilities.ShiftRight(x) >> 8);

            x[0] ^= (num & 3774873600U);
        }