Exemplo n.º 1
0
        // 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);
        }
Exemplo n.º 2
0
        // 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);
        }