Python ile Sezar Şifreleme Algoritması (1 Viewer)

Joined
Nov 8, 2018
Credits
4
Rating - 0%
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:
Code:
#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
 

Users who are viewing this thread

Top