private byte[] CalculateSBox(byte[] word) { byte[] newWord = new byte[word.Length]; for (int i = 0; i < word.Length; i++) { var b = word[i]; var hexString = b.ToString("X2"); var firstPartHex = hexString[0]; var secondPartHex = hexString[1]; hexString = SBox.GetNewHexString(firstPartHex, secondPartHex); newWord[i] = Convert.ToByte(hexString, 16); } return(newWord); }
private byte[,] CalculateSBox(byte[,] matrix) { byte[,] newWord = new byte[matrix.GetLength(0), matrix.GetLength(1)]; for (int i = 0; i < newWord.GetLength(0); i++) { for (int j = 0; j < newWord.GetLength(1); j++) { var currentByte = matrix[j, i]; var hexString = currentByte.ToString("X2"); var firstPartHex = hexString[0]; var secondPartHex = hexString[1]; hexString = SBox.GetNewHexString(firstPartHex, secondPartHex); newWord[j, i] = Convert.ToByte(hexString, 16); } } return(newWord); }