public static void Main()
Console.WriteLine("Enter the PLAIN text:");
string plain = Console.ReadLine().ToUpper();
plain = plain.Replace(" ","");
Console.WriteLine("Enter the KEY text:");
string key = Console.ReadLine().ToUpper();
key = key.Replace(" ","");
char[,] matrix = new char[5,5];
matrix[i,j] = Convert.ToChar( 33 );
initializeMatrix(matrix,key,73,72);
for(int i=0; i<plain.Length-1; i+=2)
if(plain[i] == plain[i+1])
plain = plain.Insert(i+1,"X");
if(!(plain.Length % 2 == 0))
for(int k=0; k<plain.Length-1; k=k+2)
Console.WriteLine("PlainText = "+ plain);
public static void initializeMatrix(char[,] matrix,string key, int equal1, int equal2)
for(int k=0; k<key.Length; k++)
if(!(charThere || charAdded))
if(matrix[i,j] == key[k])
else if(matrix[i,j] == Convert.ToChar( 33 ))
if(key[k] == Convert.ToChar(equal1))
matrix[i,j] = Convert.ToChar(equal2);
if(!(charfound || charput))
if(matrix[i,j] == Convert.ToChar(k))
else if(matrix[i,j] == Convert.ToChar( 33 ))
matrix[i,j] = Convert.ToChar(k);
Console.Write(matrix[i,j]+" ");