sezar şifreleme etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
sezar şifreleme etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

18 Temmuz 2017 Salı

Sezar Şifreleme (Java ile görsel parogramlama)

Sezar şifreleme dünya tarihinin en eski ve en basit şifreleme yöntemlerinden bir tanesidir. Bu şifreleme yönteminde harfler belirlenen sayıda kaydırılarak metinler şifrelenir. (Ayrıntılı bilgi için önceki yazımıza bakınız.)

Eclipse editör ile Java kullanarak görsel bir program geliştireceğiz. Öncelikle Eclipse editöre Window Builder eklentisini kurduğunuzu ve temel Java bilgisine sahip olduğunuzu varsayalım. (Window Builder Kurulumu)

Programlama işlemi iki farklı youtube videosunda anlatıldı. Dinleyici sıkmamak için 2 parça olarak hazırlandı.

Birinci bölüm Youtube Linki
İkinci bölüm Youtube Linki

 


13 Kasım 2016 Pazar

Sezar Şifreleme Yöntemi

En eski şifreleme yöntemlerinden bir tanesi de Romalı'ların geliştirmiş olduğu şifreleme yöntemidir. Harflerin sırasını kaydırma yöntemi ile yapılır. Kodu çözecek olan kişi kaydırma sayısını biliyorsa iletilen mesajı rahatlıkla çözebiliyor. Örneğin üç harf atlamalaı bir şifrelemede "abi" kelimesi "del" ile kodlanır.

3 harf kaydırmalı Sezar şifreleme
Öte yandan, Sezar Şifresi(Cevrimsel alfabe) kırmak görece kolay olmaktadır: Bir filolog, bir dilde en çok geçen harfleri bulabilir. O harfler ile mesajda en sık geçen harfleri karşılaştırarak hangi harfin hangi harf ile değiştirildiğini bulabilir. Bu adımların ardından, mesaj çözülmüş olur. Sezar Şifresi Hakkında:
  • Kaba kuvvet (brute-force) saldırısıyla çok kolay çözülür. ÇünküŞifreleme/Şifre çözme yöntemi gizli değildir.
  • Sadece 25 (Latin alfabesi harf sayısı) farklı deneme yeterlidir. (Anahtar uzayı 25 elemanlıdır.)
  • Düz metin (plaintext) ve formatı gizli değildir.
  • Harf değiştirme şifrelemelerinde toplam 26! farklı şifre tablosu vardır.
Genel olarak 26 harfli ingiliz alfabesi için çözüm;


kaydirma_indisi = (i + kaydirma_miktari) % 26;
sifreli[i] = alfabe[kaydirma_indisi];

C++ kodları ile Sezar şifreleme aşağıdaki gibi yapılır;

 #include <iostream>   
 #include <string.h>   
  int main() {   
    int slength,i,j,as,indis;   
    char str1[]="abcdefghijklmnopqrstuvwxyz";   
    char str2[256];   
    printf("Lutfen sifrelenecek metni giriniz:");   
    scanf("%s",&str2);   
    printf("Lutfen atlama sayisini giriniz:");   
    scanf("%d",&as);  
    slength = strlen(str2);   
       for(i=0;i<slength;i++)   
    {   
       for(j=0;j<26;j++)  
       {  
             if(str2[i]==str1[j])  
                  {  
                       indis = (j + as)%26;  
                       printf("%c",str1[indis]);  
                  }  
             }  
    }   
  }