5 Kasım 2007 Pazartesi

ŞİFRE

Alfanumerik sifreler ve Sezar Sifresi kirilmasi mumkun sifrelerdir. Playfair onlar kadar tehlike arz etmese de yine de tam anlamiyla bi guvenlik saglio diemem. RSA ve KNAPSACK algoritmalari gunumuzde en cok kullanilan sifreleme algoritmalaridirlar. Bildigim kadariyla RSA daha fazla tercih edilen bi sifreleme methodu. Ozellikle 128 bitlik sifreleme anahtarinda kirilmasi yillar belki de yuzyillar alabiliyor. Sistem yoneticiligi yapan bi arkadasimin soledigine gore, Beowulf olarak bilinen bilgisayarlarla (her birinde 128 veya daha fazla islemcinin paralel calistigini hatirlatirim) 128 bitlik bir RSA sifresini 1 ay gibi bi surede kirmayi basarmislar. Tabi burda bu bir ay icerisinde sifreleme anahtarlarinin hic degistirilmedigini de soylemek isterim. Anahtarin 2 haftada bir degistirildigini dusunurseniz bu maksimum guvenlikte bir sisteme sahip olmaniz anlamina gelir.1 Alfanumerik Sifreleme ve Sezar Sifresi1.1 Basit Alfanumerik Sifreleme1.1.1 AlgoritmaAlfanumerik sifreler sifrelenecek olan metin veya kelime icerisindeki her harfin degerinin arttirilmasi veya azaltilmasiyla yeni bir karakter dizisi elde edilmesi ilkesine dayanir.Diyelim ki sifrelemek istediginiz kelime “MART” . Ve diyelim ki sifreleme algoritmaniz her karakteri 1 arttiriyor. Yani;M + 1 = NA + 1 = BR + 1 = ST + 1 = UBunun sonucunda olusan yeni kelimeniz “NBSU” oldu. Simdi baska bir kelimeyi inceleyim. Diyelim ki bu sefer de “BABA” kelimesini sifreliceksiniz. B + 1 = CA + 1 = BB + 1 = CA + 1 = BSifrelenmis kelimeniz CBCB oldu. Soylemekte bi mahsur yok; bu sifrelenebilecek en kotu kelime:) Buna bakan birisi neredeyse kelimeyi okuyabilir. Simdi bir metin uzerinde calisalim. Sifreleyecegimiz metin “Baba bana kalem al” olsun:) Ayni yolla sifrelersek kelimemiz su hale gelir“Cbcb cbob lbmfn” Bosluklari da sifreleyebiliriz (ki bu bize daha iyi bir guvenlik saglar). Ancak turkce de bi takim gercekler vardir. Onlardan biri de A harfinin turkcede en cok kullanilan harf olmasi. Sifrelenmis metine bakan birisi, metin icindeki en cok kullanilan harfi bulabilir. Ve eger biraz turkce biliosa bu harfin aslinda A harfi oldugunu anlar. Ornekte bu harf b harfidir. Sonucta b harfinin aslinda a harfi oldugunu anlayan birisi butun metni desifre edebilir. Tipki sizin yaptiginiz gibi her harften bir onceki alir ve metniniz kabak gibi ortaya cikar. Basit programlarda bu yontem kullanilabilir ve hizli calistigi icin de bilgisayari kasmaz. Ben bikac programimda bunu kullanmistim. Ama daha sonra en azindan sezar sifresini kullanmaya karar verdim.1.1.2 Visual Basic KoduSifreleme ve desifreleme yapan alt programlar asagidadir. Burda harfin ascii degerini 1 arttirip 256 ya gore modunu alioruz. Bu da bizim karakter setinde bi daire cizip dolasmamizi saglioSub sifrele(X As String)Dim i As IntegerFor i = 1 To Len(X)Mid(X, i, 1) = Chr((Asc(Mid(X, i, 1)) + 1) Mod 256)Next iEnd SubSub desifrele(X As String)Dim i As IntegerFor i = 1 To Len(X)Mid(X, i, 1) = Chr((Asc(Mid(X, i, 1)) - 1) Mod 256)Next iEnd Sub1.2 Sezar Sifresi1.2.1 AlgoritmaSezar Sifresi olarak bilinen sifreleme aslinda bi alfanumerik sifrelemedir ancak kirilmasi biraz daha zordur. Once kendinize bir anahtar kelime secersiniz. Diyelim ki “deniz” sizin anahtar kelimeniz. Anahtar kelime secilirken icinde her harfin sadece bir kere gecmesi onemlidir. Sifelemek istediginiz kelime de “merhabalar” olsun. Islem asagidaki gibidir.m e r h a b a l a rd e n i z d e n i z+____________________(sifrelenmis kelimeniz)Yani islem su hali aldim + d = yeni harfe + e = yeni harfr + n = yeni harf...Sifreleme anahtarimizi sifrelencek kelimenin uzerine eklioruz. Kelimemiz 10 harfi ve anahtarimiz da 5 harfliydi. Bu yuzden tekrar ekleme yaptik. Bu sekilde aslinda saglam bir sifreleme elde edioruz. Onceki yontemdeki A harfinden kaynaklanan zayiflik da ortadan kalkti gorduunuz gibi. Bu yontemin kirilmasi anahtar kelimenizin bulunmasiyla ya da kotu bir anahtar kelime secmenizle olabilir.1.2.2 Visual Basic KoduSifreleme ve desifreleme algoritmalarinin kodlari asagidaki gibidir. Sub sifrele(ByVal x As String, ByVal anahtar As String)Dim i As LongDim j As LongDim uzunluk As Integerj = 1uzunluk = Len(anahtar)For i = 1 To Len(x)Mid(x, i, 1) = Chr(((Asc(Mid(x, i, 1))) + Asc(Mid(anahtar, j, 1))) Mod 256)j = (j Mod uzunluk) + 1Next iEnd SubSub desifrele(ByVal x As String, ByVal anahtar As String)Dim i As LongDim j As LongDim uzunluk As Integerj = 1uzunluk = Len(anahtar)For i = 1 To Len(x)Mid(x, i, 1) = Chr(((Asc(Mid(x, i, 1))) - Asc(Mid(anahtar, j, 1))) Mod 256)j = (j Mod uzunluk) + 1Next iEnd SubAlt programi su sekilde kullanabilirsiniz Call sifrele (sifrelencek metin,”deniz”)
freemitnick
07-27-2005, 01:26 AM
vb de deniyim..şifreleme ile fazla uğraşmadım ama sirf bunun için kasarim:)saol septagh
St_AnGeR
07-27-2005, 10:39 AM
Simetrik Şifreleme ve İmparator Sezar Konusunda Bir Yorrum DAHA ;) Örnek verebileceğimiz en basit simetrik şifrelerden biri Sezar Şifresidir. Neredeyse tüm kriptoloji kitaplarının giriş bölümlerinde Sezar Şifresi örneğine rastlarsınız. Bunu bir örnekle hemen anlatayım:Mesela göndereceğimiz metne yine M diyelim, bunun şifrelenmeş halinede C diyelim. (ingilizce karakterler göz önüne alınmıştır)M: “Mutasyonda bir makale” C: “Nvubtzpoeb cjs nblbmf” Görüldüğü gibi alfabedeki tüm harfleri sayılara eşit tutarsak (A=1, B=2, C=3...) sonra gönderilen yazıda ve A =>B, B=>C, C=>D, ..., Y=>Z, Z=>A şeklindedir. Algoritmamızın mantığı şudur: gelen her harfin sayısını bul ve bir ilersindeki sayıyı yerine yaz. (sezar şifresi için). Sezar Şifresi tek alfabeli yer değiştirme veya permütasyon şifreleri arasında değerlendirir. Çözülmesine gelince de. Türk alfabesini göz önünde tutarsak 28 karakterden oluşacağı için, en fazla 27 ilersindeki harfi alabilir deriz. Buda 27 deneme yapmamıza mal olacaktır. Şifrenin bulunma denemesini ortalama olarak 27/2~=15 de diyebiliriz. Birde yazılan harfin yerine herhangi bir harf konulduğunu düşünürsek bu sefer yaklaşık olarak 28! (yirmi sekiz faktöriyel) kez denemek zorunda kalırız. Açık Yöntemli Gizli Anahtar Anlaşmalı ŞifrelerBundan önce görmüş olduğumuz algoritma yöntemleri, günümüz teknolojisinde bilgisayarlarla çok kısa bir sürede çözülebilmektedir. Modern kriptoloji bu sorunu anahtarlarla çözmeye çalışır. Anahtarlar sayılardan ve değerlerden oluşabilirler. Şimdi bu bahsettiklerimizi matematiksel notasyon haline dökelim. Düzyazı metnimiz : MŞifrelenmiş Metnimiz :CAnahtarımız : KŞifreleme algoritmamız : EDeşifreleme algoritmamız: D olsun. EK(M) = C - Anahtarla şifrelemeDK(C) = M - Anahtarla deşifrelemeBu iki denklemden de aşşağıdaki denklemimizi elde edebiliriz. DK(EK(M)) = M Bazı algoritmalarda şifreleme ve deşifreleme için ayrı anahtar içerebilirler. Şifreleme için K1, deşifreleme için K2 yi kullanırsakEK1(M) = C DK2(C) = M DK2(EK1 (M)) = M Tekrar elde etmiş olacağız.Gerçi aynı sey ama anlatım farqlılığı içn yayınladm..
Uzunefe
07-27-2005, 11:09 PM
en kullanışlı o olsa gerekM NA BR ST U
onay
03-18-2006, 08:22 PM
bu bir sezar şifresimi yanio=>ök=>lu=>ül=>m
delidumrul
03-27-2006, 08:34 PM
Kardeş iyi çıkarmışsın valla okul u (: tebrikler..
By...CONDOR
03-28-2006, 12:30 PM
Selamün Aleykümo = ök = l u = üm= m Eveett işte okul sözcüğünün şifresi çözüldü:cool: :cool: :cool:
emrhkın
03-28-2006, 12:59 PM
ellerine sağlık kardeş
BuZ KaLpLi
04-26-2006, 01:56 PM
herşey süper ama merak ettiğim bişe var sezar ım yaptığı bu şifrelemede ''z'' harfinin yerini hangi harf alıyor_? tekrar ''a'' olacak değil gibime geliyor..
BuZ KaLpLi
04-27-2006, 11:09 AM
neyse yeni geldi aklıma z yerine tabiki a kullanılacak özür dilerim :)
patrich
04-29-2006, 12:20 PM
SEPTAGH ben bişiyi anlamadım "m e r h a b a l a rd e n i z d e n i z+____________________(sifrelenmis kelimeniz)Yani islem su hali aldim + d = yeni harfe + e = yeni harfr + n = yeni harf...bunu nasıl kullanıyoz yani ...=yeni harf diyoya oraya ne gelio anlamadım???? yani r+n=?

Hiç yorum yok:

Katkıda bulunanlar