Alfanumerik sifreler ve Sezar Sifresi

SEPTAGH

New member
Katılım
18 Haz 2005
Mesajlar
1,771
Reaction score
0
Puanları
0
Yaş
45
Konum
MARDUK
Bu akşamki 2. konum...


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 Sifresi

1.1 Basit Alfanumerik Sifreleme
1.1.1 Algoritma

Alfanumerik 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 = N
A + 1 = B
R + 1 = S
T + 1 = U

Bunun sonucunda olusan yeni kelimeniz “NBSU” oldu. Simdi baska bir kelimeyi inceleyim. Diyelim ki bu sefer de “BABA” kelimesini sifreliceksiniz.

B + 1 = C
A + 1 = B
B + 1 = C
A + 1 = B

Sifrelenmis 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 Kodu

Sifreleme 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 saglio

Sub sifrele(X As String)
Dim i As Integer
For i = 1 To Len(X)
Mid(X, i, 1) = Chr((Asc(Mid(X, i, 1)) + 1) Mod 256)
Next i
End Sub

Sub desifrele(X As String)
Dim i As Integer
For i = 1 To Len(X)
Mid(X, i, 1) = Chr((Asc(Mid(X, i, 1)) - 1) Mod 256)
Next i
End Sub


1.2 Sezar Sifresi

1.2.1 Algoritma
Sezar 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 r
d e n i z d e n i z
+____________________

(sifrelenmis kelimeniz)

Yani islem su hali aldi

m + d = yeni harf
e + e = yeni harf
r + 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 Kodu

Sifreleme ve desifreleme algoritmalarinin kodlari asagidaki gibidir.

Sub sifrele(ByVal x As String, ByVal anahtar As String)
Dim i As Long
Dim j As Long
Dim uzunluk As Integer

j = 1
uzunluk = 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) + 1
Next i
End Sub

Sub desifrele(ByVal x As String, ByVal anahtar As String)
Dim i As Long
Dim j As Long
Dim uzunluk As Integer

j = 1
uzunluk = 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) + 1
Next i
End Sub

Alt programi su sekilde kullanabilirsiniz

Call sifrele (sifrelencek metin,”deniz”)
 
vb de deniyim..
şifreleme ile fazla uğraşmadım ama sirf bunun için kasarim:)
saol septagh
 
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ı Şifreler
Bundan ö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 :C

Anahtarımız : K

Şifreleme algoritmamız : E

Deşifreleme algoritmamız: D olsun.

EK(M) = C - Anahtarla şifreleme

DK(C) = M - Anahtarla deşifreleme

Bu 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ırsak

EK1(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..
 
en kullanışlı o olsa gerek
M N
A B
R S
T U
 
bu bir sezar şifresimi yani
o=>ö
k=>l
u=>ü
l=>m
 
Kardeş iyi çıkarmışsın valla okul u :) tebrikler..
 
Selamün Aleyküm

o = ö
k = l
u = ü
m= m

Eveett işte okul sözcüğünün şifresi çözüldü:cool: :cool: :cool:
 
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..
 
SEPTAGH ben bişiyi anlamadım
"m e r h a b a l a r
d e n i z d e n i z
+____________________

(sifrelenmis kelimeniz)

Yani islem su hali aldi

m + d = yeni harf
e + e = yeni harf
r + n = yeni harf
.
.
.

bunu nasıl kullanıyoz yani ...=yeni harf diyoya oraya ne gelio anlamadım???? yani r+n=?
 
Geri
Üst