top of page
  • Yazarın fotoğrafıAdmin

SEZAR ŞİFRELEME YÖNTEMİ (CAESAR CİPHER)


SEZAR ŞİFRELEME (CAESAR CİPHER)

Sezar şifreleme yöntemi, açık metin olarak verilen bir mesajın harflerinin belli bir anahtar (shift/offset) sayısı kadar kaydırılarak şifrelenmesi işlemidir. Bu yöntem, Julius Sezar tarafından MÖ 1. yüzyılda kullanılmıştır.

Örneğin, anahtar olarak 3 seçilirse, her harf alfabedeki 3 harf ileriye kaydırılır.Bu şekilde, "merhaba dünya" metni "öğtjçdçcgzpxç" şeklinde şifrelenir.

Python programlama dili kullanılarak


Sezar şifreleme algoritması şu şekilde yazılabilir:

alfabe = ["a","b","c","ç","d","e","f","g","ğ","h",
"ı","i","j","k","l","m","n","o","ö","p","r","s",
"ş","t","u","ü","v","y","z","w","x","q"," "]

sifrelenecek_mesaj = '' # şifrelenecek mesajı tutacak değişken

islem = int(input("1-Şifreleme 2-Çözme :")) # kullanıcıdan şifreleme veya çözme işlemi seçmesini istiyoruz

if(islem == 1): # eğer kullanıcı 1 seçerse şifreleme işlemi yapılacak
    mesaj = input("Şifrelemek istediğiniz mesaj: ") # kullanıcıdan şifrelenecek mesajı istiyoruz

    for i in mesaj: # mesajın her bir harfini alfabe listesinde arıyoruz
        sifrelenecek_mesaj += alfabe[(alfabe.index(i)+3)%len(alfabe)] 
        # şifreleme işlemi

    print("Şifrelenmiş mesaj: ", sifrelenecek_mesaj) # şifrelenmiş mesajı ekrana yazdırıyoruz

elif(islem == 2): # eğer kullanıcı 2 seçerse çözme işlemi yapılacak
    mesaj = input("Şifresi çözülecek mesaj: ") # kullanıcıdan çözülecek mesajı istiyoruz

    for i in mesaj: # mesajın her bir harfini alfabe listesinde arıyoruz
        sifrelenecek_mesaj += alfabe[(alfabe.index(i)-3)%len(alfabe)] 
        # çözme işlemi
    print("Çözülmüş mesaj: ", sifrelenecek_mesaj) # çözülmüş mesajı ekrana yazdırıyoruz
else: # eğer kullanıcı 1 veya 2 seçmezse geçersiz işlem uyarısı veriyoruz
    print("Geçersiz işlem!") # geçersiz işlem uyarısı

sifrelenecek_mesaj += alfabe[(alfabe.index(i)+3)%len(alfabe)]

Buradaki kodun işlevi, kullanıcıdan "sifrelenecek_mesaj" değişkeni ile aldığımızı karakterleri, "alfabe" listesindeki indexlerinden 3 sonraki indexine atamamızı sağlıyor. "%len(alfabe)" komutu ise eğer alfabenin sonundaki karakteri girersek, alfabenin uzunluğuna bölüp kanal karakter kadar öteliyor.

Bu tarz şifreleme yöntemleri whatsapp gibi uygulamalarda mesajlar iletilirken kullanılmaktan tutunda 2. dünya savaşında haberleşmede bilgilerin düşmana geçmemesi için bile kullanılmaktadır.

Bu tarz örnekler için bizi takip etmeyi unutmayınız.

7 görüntüleme0 yorum

Son Paylaşımlar

Hepsini Gör
bottom of page