Gelin Basit Bir Crypt Mesajı Decrypt Edelim[Egzersiz][Çözüldü]
-
Şimdi python'da bir araç yazdım ve bir kodu şifreliyor analiz ediyor sonrada çözüyor.
Crypt ettiğim mesaj :
MEMAHLIHFMMSMVL
Decrypt edebilen arkadaşlar nasıl decrypt ettiklerini yani kodlarla birlikte illa python olmasına gerek yok yazarlarsa güzel bi konu olur düşüncesindeyim.
Hatta benim program demin sıçtı :D sebebini yazıcam tabi ki Alfabe bu şekildealphabet = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T',
'U','V','W','X','Y','Z'] -
Up olsun text ingilizce ve frekanslara uygun
0x656e tarafından 18/Eki/15 19:11 tarihinde düzenlenmiştir -
Burada anahtar kelime FREKANS
Eğer bu şifrelenmiş metin Frekanslara uygun ise,
Büyük ihtimal şifremiz harf değiştirme şifresidir..
Yani her harfin bir karşılığı var demektir...
http://crypto.interactive-maths.com/frequency-analysis-breaking-the-code.html
Adresinde güzel bir program var, bence bu program aracılığı ile bi şifreyi çözebiliriz.
-
Neyse yarın işe gidicem .
Programın sıçmasının sebebi : Frekans olarak ingilizcede en fazla e harfi var bende bunun üzerine yazmıştım.Bu yüzden programa a harfi çok olan bir cümle girerseniz program sıçıyor :)
program otomatik olarak frekansını bulup ( E harfine göre ) ona göre decrypt ediyor.#-*-coding:utf-8 -*- alphabet = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T', 'U','V','W','X','Y','Z'] def crypt_text(sentences,freq): list_Text = [] crypted_text = [] for i in sentences: list_Text.append(i) for i in list_Text: if i == " ": pass else: sayi = alphabet.index(i.upper()) ifresult = (((sayi+freq)+25)%25) crypted_text.append(alphabet[ifresult]) #mfe25 mod ile yap dedi :( # sayi = alphabet.index(i.upper()) # crypt = int(sayi+5) # if crypt > 25: # rsayi = crypt-25 # rsayi = alphabet[rsayi] # crypted_text.append(rsayi) # else: # crypted_text.append(alphabet[crypt]) return ''.join(crypted_text) def sent_freqs(sentennces1): obj = {} for i in sentennces1: cs = sentennces1.count(i.upper()) obj[i] = cs frequence = max(obj,key=obj.get) sent_id = alphabet.index(frequence) english_freq = alphabet.index("E") return int(sent_id-english_freq) def decrypt(ctext,freq): dectext = [] for i in ctext: sayi = alphabet.index(i.upper()) ifresult = (((sayi-freq)+25)%25) print(i, ifresult,alphabet[ifresult]) dectext.append(alphabet[ifresult]) return ''.join(dectext) sentences = "everyday weekend" decr = crypt_text(sentences,33) al = sent_freqs(decr) print(decrypt(decr,al))
Sonucumuz : EverydayWeekend
Program çıktısı : -
http://www.xarg.org/tools/caesar-cipher/
:D guess diyince sonuç EWESZDAZXEEKEND çıkıyor
-
wasd bunu yazdı
http://www.xarg.org/tools/caesar-cipher/
:D guess diyince sonuç EWESZDAZXEEKEND çıkıyor
Alfabenin ilk harfini 0 olarak alıyorum ben belki ordan dolayı 1 hata olabilir
-
Bu dil ile süper loto çekiliş programı yazabilir miyiz?
-
Noyan bunu yazdı
Bu dil ile süper loto çekiliş programı yazabilir miyiz?
bunu yazmak için dil farketmez hocam.İstediğin her dilde yazabilirsin algoritmasını oluşturdukdan sonra