Sezar Şifrelemesi

Ege
2 min readMar 7, 2021

--

Sezar şifrelemesi, bilinen en eski şifreleme algoritmalarından biridir. Bu algoritmayı uygulamak için, ilk olarak alfabedeki tüm harflere 0'dan başlamak üzere sayısal değerler verilir:

Bu tabloda kullanılan alfabe, İngilizce içi kullanılan alfabedir. A harfi 0, B harfi 1, …, Z harfi ise 25 değerini alır.

Şifrelemek istediğimiz mesaj x, şifreli mesaj ise y sembolü ile gösterilir. Buna göre:

  • Şifrelemek: y = x + k mod 26
  • Şifreyi çözmek: x = y — k mod 26

Burada kullanılan k değeri, sizin belirleyeceğiniz bir değişken. Bu değişken [0, …, 25] değerlerinden birini alabilir. Bu değer anahtardır.

Örnek olarak, x = ATTACK ve k = 17 olsun. ATTACK mesajını yukarıda belirlediğimiz sayılar ile yazacak olursak (0, 19, 19, 0, 2, 10) olur. Sırasıyla tüm bu sayılara, k = 17 değerini ekleyeceğiz ve mod 26’sını hesaplayacağız.

Sonuç olarak (17, 10, 10, 17, 19, 1) sayılarını elde ederiz. Bu sayıları da karşılık gelen harflere çevirirsek y = RKKRTB elde ederiz. Bu değer bizim şifrelenmiş mesajımızdır.

Görüldüğü gibi çok basit şekilde mesajları şifreleyebilir ve şifreli mesajın şifresini çözebiliriz. Ama bu basitlik, aynı zamanda güvenlik problemleri de ortaya çıkarır. k değerinin alabileceği toplam 26 farklı değer vardır. Bu miktar güvenlik açısından çok düşük, kötü niyetli birisi bilgisayara ihtiyaç olmadan bile k’nın alabileceği tüm değerleri sırayla deneyip, k’nın gerçek değerini bulabilir. Günümüzde güvenlik için k değerinin en az 2^{80} farklı değer alabiliyor olması gereklidir.

Kaynakça

https://en.wikipedia.org/wiki/Caesar_cipher

1 Ocak’ta paylaştığım bir yazıda, 2021 yılındaki ana hedefimin istikrarlı blog yazmak olduğunu sizlerle paylaşmıştım. 1 Ocak tarihinden itibaren her hafta 1 yazıyı kendi blog’umda paylaşıyorum. Bu yazı da dahil olmak üzere, diğer tüm yazılarımı https://www.egealpay.com adresinde bulabilirsiniz :)

--

--

Ege
Ege

No responses yet