• Sonuç bulunamadı

Do ˘grusal ¸Sifreleme

Öyle anla¸sılıyor ki alfabedeki sırayı ezberlemek gerekecek.

Bu sırayı bildi˘ginizi sanıyordum, ama bilgisayar çocukları ola-rak unutmu¸s olabilirsiniz. Ancak ilerde sayılarla çalı¸saca˘gımız için unuttuysanız da zararı yok.

Kaydırma ¸sifresinin kırılması kolaydır. Türkçe alfabede 29 harf ol-du˘gu için toplam 28 deneme ile harflerin kaç adım kadar kaydırıldı˘gı bulunabilir.

Kaydırma ¸sifrelemesi do˘grusal (afin) ¸sifrelemenin özel bir ha-lidir. ¸Simdi do˘grusal ¸sifreleme konusunu ele alalım.

Do ˘grusal ¸Sifreleme

a ve b tamsayılar, n ise birden büyük bir do˘gal sayı olsun. Do˘grusal ¸sifreleme

¸s(x) = a x + b (mod n) formülü ile verilir.

ave b sayıları negatif de olabilir mi? ¸Sifreleme nasıl yapılır?

Evet olabilir. Örne˘gin,

¸s1(x) = 3x + 5 (mod 29) ¸s2(x) = 5x − 4 (mod 26) do˘grusal ¸sifrelemelerdir. 10 sayısını ¸s1ile ¸sifreledi˘ginizde

¸s1(10) ≡ 3 · 10 + 5 ≡ 35

≡ 6 (mod 29), ¸s2 ile ¸sifreledi˘ginizde

¸s2(10) ≡ 5 · 10 − 4 ≡ 46

≡ 20 (mod 26)

çıkar. Artık, 6 sayısı 10’un ¸s1fonksiyonu ile ¸sifrelenmi¸s hali, 20 sayısı ise 10’un ¸s2 fonksiyonu ile ¸sifrelenmi¸s halidir.

Peki hocam, mod n ifadesinde n herhangi bir do˘gal sayı ola-bilir mi?

Do˘grusal ¸sifrelemede n sayısı a ile aralarında asal olan her-hangi bir do˘gal sayı olabilir. Ço˘gu zaman n asal sayı olarak alınır.

E˘ger bir metni ¸sifreliyorsanız metnin yazıldı˘gı alfabeye göre (Türkçe, ˙Ingilizce vs.) ve metnin bölündü˘gü bloklara göre n sayısı seçilmektedir. Ancak yine de a sayısı ile aralarında asallık ko¸sulunun sa˘glanması ge-rekmektedir.

a ile n’nin aralarında asal olması, yani ebob(a, n) = 1 olması neden önemlidir?

Bu ko¸sul ¸sifrelenmi¸s sayının de¸sifre edilmesinde önemlidir, a· x ≡ 1 (mod n) denkleminin x çözümünün olması için gereklidir.

¸

Simdi do˘grusal ¸sifrelemeye dönelim: ¸s(x) = a x + b (mod n).

xsayısı uzunlu˘gu n olan bir alfabenin harflerini temsil etti˘gi için burada x ∈ {0, 1, . . . , n − 1} olmalıdır. a ve b sayılarından yukarıda bahsettik. ¸

Simdi n’ye gelelim. Do˘grusal ¸sifrelemeyi kullanıp x sayısının kolayca ¸sif-relenebilece˘gini gördük. Ancak de¸sifre i¸slemi için ebob(a, n) = 1 ko¸sulu gereklidir. Bu da a x≡ 1 (mod n) denklemiyle ba˘glantılıdır.

a x ≡ 1 (mod n) denklemi ¸sifrelemede çok önemlidir. Burada a tamsayı, n do˘gal sayı, x ise bilinmeyen bir tamsayıdır. a ve n verildi-˘

ginde öyle x tamsayısı arıyoruz ki a x sayısını n’ye böldü˘gümüzde kalan 1 olmalıdır.

Örne˘gin

3x≡ 1 (mod 26) denklemini çözelim.

Bu denklemin bir çözümünün x = 9 oldu˘gu açıktır. Çünkü 3· 9 = 27 ve 27’nin 26’ya bölünmesinden kalan 1’dir.

Do˘grusal ¸Sifreleme 163

Evet. Modüler aritmetik ünitesinden hatırlayaca˘gınız gibi, bu tür denkliklerin sonsuz çözümleri olabiliyordu. Örne˘gin bu denklikte x = 9, x = 35, x = 61, . . . gibi sonsuz tane çözüm vardır. Bu çözümlerin hepsi mod 26’ya göre denktirler. Yani

9≡ 35 ≡ 61 ≡ · · · (mod 26).

Bu sayıların hepsinin 3 katının 26’ya bölümünden kalan 1’dir. ¸

Simdi hangisini alaca˘gız?

¸

Sifreleme açısından en küçük pozitif olanını alaca˘gız.

Denkleme bakarak çözüm var ya da yok diyebilir miyiz?

Evet diyebiliriz. a x ≡ 1 (mod n) denkleminin x çözümü ancak ebob(a, n) = 1 iken vardır, yani a ve n aralarında asal olmalıdır (a ve n’nin 1’den büyük ortak böleni olmaması gerekiyor).

3x ≡ 1 (mod 26) denkleminde 3 ve 26 aralarında asaldır. 2x≡ 1 (mod 26) denkleminde 2 ile 26 aralarında asal de˘gil (2 bu sayıların ortak bölenidir), buna göre denklemin çözümü yoktur.

8x ≡ 1 (mod 15)’in çözümü vardır, çünkü ebob(8, 15) = 1’dir (Bu durumda örne˘gin x = 2 bir çözümdür, çünkü 8· 2 = 16 ≡ 1 (mod 15)’tir). Ancak

9x≡ 1 (mod 30)

denkleminin çözümü yoktur, çünkü ebob(9, 30) = 3= 1’dir.

a x ≡ 1 (mod n) denklemi-nin x çözümünün olması için ebob(a, n) = 1 olmalıdır. Diyelim ki ebob(a, n) = 1’dir. x çözümlerini nasıl bulaca˘gız?

nbüyük sayı oldu˘gunda x’in bulunması için geni¸sletilmi¸s Ök-lid algoritması denilen bir algoritma vardır. Ancak biz küçük nsayılarıyla ilgilenece˘gimiz için deneme-yanılmayla x’i kolayca bulabi-lece˘giz.

Bu a x≡ 1 (mod n) denkleminin ¸sifrelemeyle ne alakası var? x→ ¸s(x) ≡ y (mod n) d( y) ≡ c( y − b) ≡ c(ax + b − b) ≡ cax ≡ 1 · x ≡ x (mod n) y→ d( y) ≡ x (mod n)

Çok alakası var. a x ≡ 1 (mod n) denklemini sa˘glayan x sayısına a’nın n moduna göre tersi denir. Bu sayıya c diyelim, yani a· c ≡ 1 (mod n). Birçok yöntemde de¸sifre i¸slemi için bir sayının belli bir mod’a göre tersinin alınması i¸slemi kullanılmaktadır. Örne˘gin, yukarıda tanımladı˘gımız

¸s(x) = a x + b (mod n) do˘grusal ¸sifreleme için

d( y) = c( y− b) (mod n)

de¸sifre fonksiyonudur, yani gönderilecek sayı ¸s(x) fonksiyonu yardı-mıyla ¸sifrelenip, d( y)’nin yardıyardı-mıyla de¸sifre edilir.

Hocam, birkaç örnek yapsak. . .

Örne˘gin, ¸sifreleme fonksiyonu

¸s(x) = 3x + 10 (mod 29)

olarak verilsin. 25 sayısını ¸sifreleyip göndermek istiyoruz. ¸s(25) = 3· 25 + 10 (mod 29) 3· 25 + 10 = 85 olup 85 ≡ 27 (mod 29) oldu˘gundan, demek ki

¸s(25) = 27 (mod 29)

olur (85’in 29’a bölümünden kalan 27’dir). 27 sayısı 25’in ¸sifrelenmi¸s halidir ve alıcıya gönderilir. Alıcı 27’yi de¸sifre etmek için önce

3x≡ 1 (mod 29)

denklemini çözüyor, yani öyle bir x sayısı arıyor ki 3x’in 29’a bölümün-den kalan 1 olsun. Bu bölümün-denkli˘gi sa˘glayan en küçük pozitif sayının x = 10 oldu˘gunu bulup de¸sifre için

d( y) =10· ( y − 10) (mod 29) fonksiyonunu kullanıyor. Böylece

d(27) = 10· (27 − 10) ≡ 170 ≡ 25 (mod 29) bulunuyor ve bizim gönderdi˘gimiz sayıyı elde etmi¸s oluyor.

Do˘grusal ¸Sifreleme 165

Ancak gönderici ve alıcının hangi ¸s(x) fonksiyonunun kullanı-laca˘gını önceden kararla¸stırmaları gerekiyor.

Evet haklısınız. Ba¸ska bir örnek yapalım. ¸Sifreleme fonksi-yonu

¸s(x) = (8x− 5) (mod 27)

olsun. Zeynep, bu kurala göre x = 11 sayısını ¸sifreleyebilir misin?

¸s(11) ≡ 8 · 11 − 5 ≡ 83

≡ 2 (mod 27)

Demek ki 11 sayısının bu kurala göre ¸sifrelenmi¸si 2 sayısıdır.

¸

Simdi de bu 2 sayısını de¸sifre edelim.

Bari de¸sifreyi de ben yapayım. Hep Zeynep yapıyor. Önce

8x ≡ 1 (mod 27) denklemini çözmem gerekiyor.

ebob(8, 27) = 1 oldu˘gu, yani 8 ile 27 aralarında asal oldukları için, 8x≡ 1 (mod 27) denkleminin çözümü vardır. Ama bunu bulmak biraz zor olacak. Ben ¸simdi ne yapayım?

O kadar da zor de˘gil Gökçe. Aradı˘gın sayının 8 katının 1 ek-si˘gi 27’nin bir katı olacak. Yani aradı˘gın sayının 8 katı, 27’nin bir katından 1 fazla olacak. Örne˘gin 28 olabilir, ya da 2· 27 + 1 = 55, veya 3· 27 + 1 = 82 gibi.

Galiba ¸simdi anlıyorum. Aradı˘gım sayının 8 katı, 28 veya 55 ya da 82 gibi bir sayı. Ama bunlar 8’e bölünmüyor. Biraz daha

ilerleyelim. 4· 27 + 1 = 109, ama o da 8’e bölünmüyor. 5 · 27 + 1 = 136, galiba ¸simdi oldu. 136 sayısı 8’e bölünüyor.

8x = 136 ⇒ x = 17. O zaman de¸sifre fonksiyonunun ifadesini hatırlarsak,

olacaktır.

Bize ¸sifre olarak verilen 2 sayısını de¸sifre fonksiyonunda yerine ya-zarsak

d(2) ≡ 17 · (2 + 5) ≡ 17 · 7 ≡ 119

≡ 11 (mod 27)

(119’un 27’ye bölümünden kalan 11 oldu˘gu için) elde edilir. Böylece ¸sifrelenen 11 sayısını geri kazanmı¸s oluruz.

Arkada¸slar, yukarıda ö˘grendi˘gimiz ¸sifreleme yöntemlerinde gönderici ve alıcı ya aynı anahtarları kullanmı¸stı, ya da alıcı-nın anahtarı göndericinin anahtarlarından kolayca elde ediliyordu. Bu çe¸sit ¸sifreleme yöntemlerine simetrik yöntemler denir. Simetrik ¸sifrele-mede bu anahtarlar gizli kalmalıdır ve gönderici ile alıcının gizli anahtar konusunda anla¸smaları gerekir.

Simetrik ¸sifrelemenin bir di˘ger özelli˘gi ise çok hızlı olmasıdır. Ancak afin ¸sifreleme gizli anahtarlı ¸sifreleme olsa da kolay kırılabilen bir ¸sifrelemedir. ¸Simdi gizli anahtarlı ve zor kırılabilen bir ¸sifrelemeyi ö˘grenece˘giz.