示例#1
0
        private char Harfin_Sifresini_Coz(char Cozulecek_harf, int anahtarA, int anahtarB)
        {
            int moduler_a = anahtar_islemleri.Get_Moduler_Ters_Dondur(anahtarA, alfabedeki_harf_sayisi); //Moduler_Ters_Döndür(anahtarA);

            if (moduler_a == -1)
            {
                return(Cozulecek_harf);
            }

            char cozulmus_harf = ' ';

            #region Anahtarlı çözüm için


            int harfin_alfabemdeki_indexi = alfabem.Get_Harf_Index_Karsiligi(Cozulecek_harf);
            if (harfin_alfabemdeki_indexi == -1)
            {
                return(Cozulecek_harf);
            }
            int harfin_cozulmus_indexi = (moduler_a * (harfin_alfabemdeki_indexi - anahtarB)) % alfabedeki_harf_sayisi;
            if (harfin_cozulmus_indexi < 0)
            {
                harfin_cozulmus_indexi = harfin_cozulmus_indexi + alfabedeki_harf_sayisi;
            }

            cozulmus_harf = alfabem.Get_Index_Harf_Karsiligi(harfin_cozulmus_indexi);


            #endregion

            return(cozulmus_harf);
        }
示例#2
0
        private char Harfi_Sifrele(char harf, int anahtar_A, int anahtar_B)
        {
            int  alfabemdeki_index = -1; // -1 ilk atama için -1 seçme sebebimiz hatalı dönüşleri yakalamak
            char yeni_harf;

            alfabemdeki_index = alfabem.Get_Harf_Index_Karsiligi(harf); // gelen harfin kendi olusturduğumuz alfabedeki index karsılıgını buluyoruz

            if (alfabemdeki_index == -1)
            {
                yeni_harf = harf;
            }
            else
            {
                // TODO : burada hangi şifreleme türü yapılmak isteniyorsa onu yap - yeni şifrelenme türleri eklenebilir sadece buraya bir if koyaark
                alfabemdeki_index = (anahtar_A * alfabemdeki_index + anahtar_B) % alfabedeki_harf_sayisi;
                yeni_harf         = alfabem.Get_Index_Harf_Karsiligi(alfabemdeki_index);
            }



            return(yeni_harf);
        }