private uint[] InverseRounds(uint[] words) { int sBoxIndex = 6; for (int i = 31; i >= 1; i--) { words = LinearTransformator.Inverse(words.XOR(_key.K[i].Words)); words = _sBox.Inverse(words[0], words[1], words[2], words[3], sBoxIndex--); if (sBoxIndex < 0) { sBoxIndex = 7; } } words = words.XOR(_key.K[0].Words); return(words); }