- 7 Şub 2012
- 5,018
- 22
Merhabalar, bugün sizlere kriptolojide kullanılan etkili matematik teorileri göstereceğim.
Aslında öncelikle, burada kriptolojiyi gerçekten bilen kişilerin olduğunu zannetmiyorum, varsa bile sayısı biri en fazla ikiyi geçmez. Bunu söylememin sebebi, kriptolojiyi bilmek demek, birkaç şifreleme algoritmasının adını duymuş olmak demek değildir. Kriptolojiyi en temelinden öğrenmiş ve bunun üstünde yıllarını harcamış olmak gerekir.
O sebeple, eğer gerçekten bu tarz işlere gönül verdiyseniz, "hacker'cılık" oynamak yerine, geleceğinizde size faydası dokunabilecek bilgiler edinmeye bakın. Birkaç hazır program kullanmak, sizi hacker yapmayacağı gibi, öyle olduğunuzu "zannetmenize" ve hazıra alışmanıza sebebiyet verebilir.
Hazıra alışmanız ise sizi tembelleştirir.
Her zaman tekerleği baştan icat etmenize gerek yoktur, hazır olanı kullanmanız işinizi kolaylaştırabilir. Fakat , eğer ki siz daha iyi bir tekerlek yapmak istiyorsanız, tekerleğin nasıl yapıldığını eksiklerinin neler olduğunu ve nasıl daha iyisini yapacağınızı araştırmanız öğrenmeniz gerekir.
Bu sebeple, şimdi birazda gerçek dünyada bulunan şeylerden söz edelim.
Asal sayılar... Sırrı hala çözülememiş olan bu sayılar kriptolojide oldukça fazla kullanılır.
Asal sayılar üzerine birçok teori ortaya atıldı, bazıları kanıtlandı bazıları ise kanıtlanamadı.
Şimdi size bir soru, 3^102(mod101) = ? (Yani 3 üzeri 102 mod101 kaçtır)
Birazdan anlatacağım teoremleri bilmeyenler en kötü ihtimalle şu şekilde hesaplarlar :
3^1 mod101 = 3
3^2 mod101 = 9
3^3 mod101 = 27
3^4 mod101 = 81
3^5 mod101 = 41
.
.
.
şeklinde tek tek hesaplayarak.
Biraz modüler aritmetik bilen birisi şu şekilde hesaplar :
3^1 mod101 = 3
3^2 mod101 = 9
3^4 mod101 = 81
3^16 mod101 = 97
.
.
.
Şeklinde biraz daha kısaltarak ilerler.
Ama "Fermat Teoremi" ni bilen birisi şu şekilde hesaplar :
3^100 mod101 = 1
3^101 mod101 = 3
3^101 mod102 = 9 // işte burada cevabı buluyoruz.
Fermatın teoremi der ki ; "Eğer a bir tam sayı ve p bir asal sayı ise a^p-1 modp = 1 modp".
Fermatin ikinci teoremi der ki ; "Eğer a ve p asal sayı ise a^p modp = a modp".
Şimdi size sorduğum soruya bakıyoruz, 3 bir tam sayı (ayrıca asal sayı) ve 101 bir asal sayı. O zaman 3^(101-1) = 3^100 = 1 mod101. Zaten bunu bildiğimiz zaman 3^mod102 yi hesaplamak çocuk oyuncağı.
Şimdi biraz daha karıştıralım işleri.
Peki 20^62 mod77 = ? Bu soruyu nasıl çözeriz ?
Tabiki tek tek hesaplayarak değil. Burada da "Euler Teoremi"nden bahsetmek lazım. Euler diyor ki, "Eğer a ve p aralarında asal ise a^fi(p) modp = 1 modp".
Bu "fi" de ne ola ki ?
Bir örnekle açıklayayım fi(100) demek 100 den küçük, 100 ile aralarında asal olan sayıları adeti demektir.
Yani hesaplarsak :
Adım 1-) fi(100) => 100 = 5^2 x 2^2 (100 ü asal çarpanlarına ayırdık, 5in karesi çarpı 2 nin karesi)
Adım 2-) (5^2 - 5^1) x (2^2 - 2^1) asal çarpanların üstlerini bir azaltıp kendisinden çıkarttık, sonrada bunları birbiriyle çarpıyoruz. Yani : (25 - 5) x (4 - 2) = 20 x 2 = 40.
Biraz karışık gelmiş olabilir, birazdan yukarıdaki soruyu çözerken daha iyi anlarsınız. Bulduğumuz 40 sonucu, 100 den küçük, 100 ile aralarında asal olan sayıların adetini veriyor.
Şimdi fi 'yi öğrendiğimize ve euler teoremini bildiğimize göre 20^62 mod77 yi hesaplayalım.
Adım 1-) fi(77) => 11 x 7 (aslında 11^1 x 7^1)
Adım 2-) (11 - 11^0) x (7 - 7^0) = (11-1) x (7-1) = 10 x 6 = 60
Adım 3-) 20^60 mod77 = 1 mod77.
Adım 4-) 20^61 mod77 = 20
20^62 mod77 = 15
Evet bu şekilde çok büyük işlemler gerektiren problemleri kolay bir şekilde çözdük.
Kriptolojinin içerisinde ve özellikle temelinde birçok matematik yatar. Sonlu cisimler, genişletilmiş cisimler vs vs...
Bu konuda ağırlıklı olarak matematik anlattım, birkaç gün sonra gene boş vaktim olursa birkaç temel şifreleme algoritması anlatacağım.
Herkese iyi forumlar dilerim, ihan3t..
Aslında öncelikle, burada kriptolojiyi gerçekten bilen kişilerin olduğunu zannetmiyorum, varsa bile sayısı biri en fazla ikiyi geçmez. Bunu söylememin sebebi, kriptolojiyi bilmek demek, birkaç şifreleme algoritmasının adını duymuş olmak demek değildir. Kriptolojiyi en temelinden öğrenmiş ve bunun üstünde yıllarını harcamış olmak gerekir.
O sebeple, eğer gerçekten bu tarz işlere gönül verdiyseniz, "hacker'cılık" oynamak yerine, geleceğinizde size faydası dokunabilecek bilgiler edinmeye bakın. Birkaç hazır program kullanmak, sizi hacker yapmayacağı gibi, öyle olduğunuzu "zannetmenize" ve hazıra alışmanıza sebebiyet verebilir.
Hazıra alışmanız ise sizi tembelleştirir.
Her zaman tekerleği baştan icat etmenize gerek yoktur, hazır olanı kullanmanız işinizi kolaylaştırabilir. Fakat , eğer ki siz daha iyi bir tekerlek yapmak istiyorsanız, tekerleğin nasıl yapıldığını eksiklerinin neler olduğunu ve nasıl daha iyisini yapacağınızı araştırmanız öğrenmeniz gerekir.
Bu sebeple, şimdi birazda gerçek dünyada bulunan şeylerden söz edelim.
Asal sayılar... Sırrı hala çözülememiş olan bu sayılar kriptolojide oldukça fazla kullanılır.
Asal sayılar üzerine birçok teori ortaya atıldı, bazıları kanıtlandı bazıları ise kanıtlanamadı.
Şimdi size bir soru, 3^102(mod101) = ? (Yani 3 üzeri 102 mod101 kaçtır)
Birazdan anlatacağım teoremleri bilmeyenler en kötü ihtimalle şu şekilde hesaplarlar :
3^1 mod101 = 3
3^2 mod101 = 9
3^3 mod101 = 27
3^4 mod101 = 81
3^5 mod101 = 41
.
.
.
şeklinde tek tek hesaplayarak.
Biraz modüler aritmetik bilen birisi şu şekilde hesaplar :
3^1 mod101 = 3
3^2 mod101 = 9
3^4 mod101 = 81
3^16 mod101 = 97
.
.
.
Şeklinde biraz daha kısaltarak ilerler.
Ama "Fermat Teoremi" ni bilen birisi şu şekilde hesaplar :
3^100 mod101 = 1
3^101 mod101 = 3
3^101 mod102 = 9 // işte burada cevabı buluyoruz.
Fermatın teoremi der ki ; "Eğer a bir tam sayı ve p bir asal sayı ise a^p-1 modp = 1 modp".
Fermatin ikinci teoremi der ki ; "Eğer a ve p asal sayı ise a^p modp = a modp".
Şimdi size sorduğum soruya bakıyoruz, 3 bir tam sayı (ayrıca asal sayı) ve 101 bir asal sayı. O zaman 3^(101-1) = 3^100 = 1 mod101. Zaten bunu bildiğimiz zaman 3^mod102 yi hesaplamak çocuk oyuncağı.
Şimdi biraz daha karıştıralım işleri.
Peki 20^62 mod77 = ? Bu soruyu nasıl çözeriz ?
Tabiki tek tek hesaplayarak değil. Burada da "Euler Teoremi"nden bahsetmek lazım. Euler diyor ki, "Eğer a ve p aralarında asal ise a^fi(p) modp = 1 modp".
Bu "fi" de ne ola ki ?
Bir örnekle açıklayayım fi(100) demek 100 den küçük, 100 ile aralarında asal olan sayıları adeti demektir.
Yani hesaplarsak :
Adım 1-) fi(100) => 100 = 5^2 x 2^2 (100 ü asal çarpanlarına ayırdık, 5in karesi çarpı 2 nin karesi)
Adım 2-) (5^2 - 5^1) x (2^2 - 2^1) asal çarpanların üstlerini bir azaltıp kendisinden çıkarttık, sonrada bunları birbiriyle çarpıyoruz. Yani : (25 - 5) x (4 - 2) = 20 x 2 = 40.
Biraz karışık gelmiş olabilir, birazdan yukarıdaki soruyu çözerken daha iyi anlarsınız. Bulduğumuz 40 sonucu, 100 den küçük, 100 ile aralarında asal olan sayıların adetini veriyor.
Şimdi fi 'yi öğrendiğimize ve euler teoremini bildiğimize göre 20^62 mod77 yi hesaplayalım.
Adım 1-) fi(77) => 11 x 7 (aslında 11^1 x 7^1)
Adım 2-) (11 - 11^0) x (7 - 7^0) = (11-1) x (7-1) = 10 x 6 = 60
Adım 3-) 20^60 mod77 = 1 mod77.
Adım 4-) 20^61 mod77 = 20
20^62 mod77 = 15
Evet bu şekilde çok büyük işlemler gerektiren problemleri kolay bir şekilde çözdük.
Kriptolojinin içerisinde ve özellikle temelinde birçok matematik yatar. Sonlu cisimler, genişletilmiş cisimler vs vs...
Bu konuda ağırlıklı olarak matematik anlattım, birkaç gün sonra gene boş vaktim olursa birkaç temel şifreleme algoritması anlatacağım.
Herkese iyi forumlar dilerim, ihan3t..