Exemple #1
0
        private byte[] InverseSecondRound(byte[] cipherText, byte[] roundKey)
        {
            var inversedRoundKey           = Aes16Helper.AddRoundKey(cipherText, roundKey);
            var inversedShiftRow           = Aes16Helper.ShiftRow(inversedRoundKey);
            var inversedNibbleSubstitution = Aes16Helper.InverseNibbleSubstitution(inversedShiftRow);

            return(inversedNibbleSubstitution);
        }
Exemple #2
0
        private byte[] InverseFirstRound(byte[] firstRoundCipherText, byte[] roundKey)
        {
            var inversedRoundKey           = Aes16Helper.AddRoundKey(firstRoundCipherText, roundKey);
            var inversedMixColumns         = Aes16Helper.InverseMixColumns(inversedRoundKey);
            var inversedShiftRow           = Aes16Helper.ShiftRow(inversedMixColumns);
            var inversedNibbleSubstitution = Aes16Helper.InverseNibbleSubstitution(inversedShiftRow);

            return(inversedNibbleSubstitution);
        }