// DESİFRELEME : Playfair + Tablo public String Decrypto(String ciphertext) { Playfair sifrecoz = new Playfair(); String playPlainText = sifrecoz.PlayFairDesifre(ciphertext); String plainText = ""; // Deşifrelenecek verinin gönderileceği yerdir. string text1 = playPlainText.Trim().Replace(" ", string.Empty); //Tüm öndeki ve sondaki geçerli bir dizideki belirtilen karakter kümesini kaldırır String nesne. string text = text1.ToUpper(); char[] karakterler = text.ToArray(); foreach (char karakter in karakterler) { aList.Add(karakter); // richTextBox2.Text += karakter.ToString(); } ArrayList newList = new ArrayList(); newList = aList; for (int i = 1; i <= aList.Count; i++) { int index = i; if (index % 2 == 0 && ((index & (index - 1)) != 0)) { plainText += Decrypto_Even(aList[i - 1].ToString()); } else if (index % 2 != 0) { plainText += Decrypto_Odd(aList[i - 1].ToString()); } else if (index != 0 && ((index & (index - 1)) == 0)) { plainText += Decrypto_Pow(aList[i - 1].ToString()); } aList[index - 1] = " "; // Listeyi boşaltma işlemidir. } return(plainText); }
// SİFRELEME : Tablo + Playfair public String Encrypto(String plaintext) { String cipherText = ""; // Şifreli metnin ekleneceği yerdir. string text1 = plaintext.Trim().Replace(" ", string.Empty); string text = text1.ToUpper(); //B_K dönüşümü yapılmaktadır. char[] karakterler = text.ToArray(); // Karakterler adında char türünde bir dizi gonderiliyor. foreach (char karakter in karakterler) //Fonksiyona verilen plaintext'in tutulduğu bölümdür. { aList.Add(karakter); //richTextBox2.Text += karakter.ToString(); } ArrayList newList = new ArrayList(); newList = aList; //Yeni bir listeye atıyoruz ve üzerinde işlem yapılmaktadır. for (int i = 1; i <= aList.Count; i++) //Plaintext boyutu kadar ilerlemektedir. { int index = i; //Encrypto_Even(aList[i - 1].ToString()); if (index % 2 == 0 && ((index & (index - 1)) != 0)) { cipherText += Encrypto_Even(aList[i - 1].ToString()); } else if (index % 2 != 0) { cipherText += Encrypto_Odd(aList[i - 1].ToString()); } else if (index != 0 && ((index & (index - 1)) == 0)) { cipherText += Encrypto_Pow(aList[i - 1].ToString()); } aList[index - 1] = " "; //Listeyi boşaltma işlemidir. } Playfair sifrele = new Playfair(); String playCipherText = sifrele.PlayFairSifre(cipherText); return(playCipherText); }