Org.BouncyCastle.Crypto.Engines.IdeaEngine.ExpandKey C# (CSharp) Method

ExpandKey() private method

private ExpandKey ( byte uKey ) : int[]
uKey byte
return int[]
        private int[] ExpandKey(
            byte[]  uKey)
        {
            int[]   key = new int[52];
            if (uKey.Length < 16)
            {
                byte[]  tmp = new byte[16];
                Array.Copy(uKey, 0, tmp, tmp.Length - uKey.Length, uKey.Length);
                uKey = tmp;
            }
            for (int i = 0; i < 8; i++)
            {
                key[i] = BytesToWord(uKey, i * 2);
            }
            for (int i = 8; i < 52; i++)
            {
                if ((i & 7) < 6)
                {
                    key[i] = ((key[i - 7] & 127) << 9 | key[i - 6] >> 7) & MASK;
                }
                else if ((i & 7) == 6)
                {
                    key[i] = ((key[i - 7] & 127) << 9 | key[i - 14] >> 7) & MASK;
                }
                else
                {
                    key[i] = ((key[i - 15] & 127) << 9 | key[i - 14] >> 7) & MASK;
                }
            }
            return key;
        }
        /**