Python ile Sezar Şifreleme Algoritması

Konu Özeti

Sezar şifreleme algoritması, bir mesajdaki her karakterin belirli bir anahtar değeri kadar kaydırılarak şifrelenmesi esasına dayanır. Örneğin anahtar 2 olduğunda 'A' harfi 'C' olur. Algoritmanın matematiksel ifadesi e(m) = (m+a) mod 26 şeklindedir ve alfabe sonundaki harfler için mod alma işlemiyle döngü sağlanır. Python'da büyük harfli bir kelimeyi şifrelemek için ASCII kodları ve mod işlemi kullanılarak kısa bir program yazılabilir.

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Bu algoritmada; mesajdaki her karakter, 'anahtar' değeri kadar ötelenmiş başka karakterle yer değiştirerek şifreli mesaj elde edilmektedir.

Eğer anahtar değeri 2 ise orjinal mesajdaki her harf, alfadeki kendisinden sonraki harfle yer değiştirir. Yani orjinal mesajtadaki her harf, alfabedeki kendisinden iki sonraki harfle yer değiştirir.

Yani orjinal mesajdaki "A" -> "C", "B" -> "D" olur. O zaman şifreleme işleminde, orjinal mesajın her bir harfi çağırılarak ASCII kod değerine anahtar değeri eklenerek şifreleme gerçekleştirilmiş olur.

Burada dikkat edilmesi gereken nokta, örneğin sıradaki harf "Z" ise bunun ASCII konuda 2 eklendiğinde "B" harfinin ASCII kodunun elde edilemeyeceğidir. Bu sorun da 26'ya göre mod alma işlemiyle aşılır. Dolayısıyla Sezar şifreleme fonksiyonun matematiksel ifadesi e(m) = (m+a) mod 26 şeklindedir.

Örnek: Büyük harflerle girilen kelimeyi, belirtilen anahtara göre "Sezar şifreleme algoritması"yla şifreleyen programı yazın.

Çözüm:
Kod:
#Sezar Şifreleme
m=input("Kelime: "); sm=""; a=int(input("Anahtar: "))
for i in range(len(m)):
    sm+=chr((ord(m[i])-65+a)%26+65)
print("\nŞifreli Kelime: %s"%sm)

Sonuç

93lp7f1

🔒 Bu içeriği görmek için giriş yapın

 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
133,703Konular
3,289,433Mesajlar
324,434Kullanıcılar
NişastaSon Üye
Üst Alt