CSharpRTMP.Core.Protocols.Rtmfp.AESEngine.GetDecryptKey C# (CSharp) Method

GetDecryptKey() private method

private GetDecryptKey ( byte key ) : System.UInt32[]
key byte
return System.UInt32[]
        private UInt32[] GetDecryptKey(byte[] key)
        {
            UInt32[] rk = GetEncryptKey(key);
            for (int i = 0, j = 4*rounds; i < j; i += 4, j -= 4)
            {
                UInt32 temp = rk[i];
                rk[i] = rk[j];
                rk[j] = temp;
                temp = rk[i + 1];
                rk[i + 1] = rk[j + 1];
                rk[j + 1] = temp;
                temp = rk[i + 2];
                rk[i + 2] = rk[j + 2];
                rk[j + 2] = temp;
                temp = rk[i + 3];
                rk[i + 3] = rk[j + 3];
                rk[j + 3] = temp;
            }
            for (int i = 1; i < rounds; i++)
            {
                //rk += 4;
                rk[0 + 4*i] =
                    Td0[Te1[(rk[0 + 4*i] >> 24)] & 0xff] ^
                    Td1[Te1[(rk[0 + 4*i] >> 16) & 0xff] & 0xff] ^
                    Td2[Te1[(rk[0 + 4*i] >> 8) & 0xff] & 0xff] ^
                    Td3[Te1[(rk[0 + 4*i]) & 0xff] & 0xff];
                rk[1 + 4*i] =
                    Td0[Te1[(rk[1 + 4*i] >> 24)] & 0xff] ^
                    Td1[Te1[(rk[1 + 4*i] >> 16) & 0xff] & 0xff] ^
                    Td2[Te1[(rk[1 + 4*i] >> 8) & 0xff] & 0xff] ^
                    Td3[Te1[(rk[1 + 4*i]) & 0xff] & 0xff];
                rk[2 + 4*i] =
                    Td0[Te1[(rk[2 + 4*i] >> 24)] & 0xff] ^
                    Td1[Te1[(rk[2 + 4*i] >> 16) & 0xff] & 0xff] ^
                    Td2[Te1[(rk[2 + 4*i] >> 8) & 0xff] & 0xff] ^
                    Td3[Te1[(rk[2 + 4*i]) & 0xff] & 0xff];
                rk[3 + 4*i] =
                    Td0[Te1[(rk[3 + 4*i] >> 24)] & 0xff] ^
                    Td1[Te1[(rk[3 + 4*i] >> 16) & 0xff] & 0xff] ^
                    Td2[Te1[(rk[3 + 4*i] >> 8) & 0xff] & 0xff] ^
                    Td3[Te1[(rk[3 + 4*i]) & 0xff] & 0xff];
            }
            return rk;
        }