Random kripto !

ALcatraz'

Kıdemli Üye
30 May 2013
4,338
4
İstanbul
Yöntemimin adına Random şifreleme diyorum. Bu yöntemde amaç tahmin edilmesi zor olan rasgele sayılar üretip bu sayıları kullanarak şifrelenmiş yazı üretmek.

Uzun zamandır üzerinde duruyordum paylaşayım dedim.

Bilgisayarda datalar bytlardan oluşuyor. (0,255)

Örneğin şifrelemecek bir yazı ele alalım..
yazı= Merhaba arkadaşlar bu şifrelenecek bir test(43 karakter)
yazımızı hexadesimale çevirirsek
4d6572686162612061726b616461736c617220627520736966 72656c656e6563656b206269722074657374 çıkar

sifremiz=BildigimizSifremizistebu --24 karakter dikkat: şifre uzun olmalıdır
şifremizi hex e çevirirsek
42696c646967696d697a53696672656d697a697374656275 çıkar


şifre ile aynı uzunlukta rasgele hexadecimal bir data üretelim
rasgele0=FYioBguOtgmkcgslpşağvçrb 24 tane rasgele karakter..bu karakterleri hexe çevirirsek
4659696f4267754f74676d6b6367736c7073616776e7726
2 çıkar.

şimdi şifremizle aynı uzunluktaki rasgele sayıyı çıktımızın başına yazalım..
şifremizi ilk rasgele data ile xor yaparsak
yazıyı şifrelemek için ilk kullanacağımız şifreyi oluşturmuş oluruz. sifre0=42696c646967696d697a53696672656d697a6973746 56275 ^ 4659696f4267754f74676d6b6367736c7073616776e77262 işleminin sonucunda
sifre0=0430050b2b001c221d1d3e020515160119090814028 21017 bulunur..
yazi0=4d6572686162612061726b616461736c617220627520 7369 yazımızın ilk 24 karakteri (hex)
sonuc0=sifre0^yazi0
sonuc0=495577634a627d027c6f55636174656d787b287677a 2637e


yazımız şifre uzunluğundan uzun bu durumda yazının ikinci 24 karakterlik kısmıyla yada kalan sayıda rasgele karakterle yani kalan 19 karakter içim yine 19 karakterlik rasgele data oluşturup
ikinci kullanılacak şifreyi oluşturmalıyız..
rasgele1=7%198ğ9TyUip(72ABYo => 3725313938673954795569702837324142596f
sifre1=sifre0[19]^rasgele1=3725313938673954795569702837324142596f ^0430050b2b001c221d1d3e0205151601190908
sifre1=3315343213672576644857722d2224405b5067 buluruz..


sonuc1=sifre1^yazi1 =>3315343213672576644857722d2224405b5067^6672656c6 56e6563656b206269722074657374
sonuc1=5567515e7609401501237710445004343e2313

çıktı olarak
rasgele0,sonuc0,rasgele1,sonuc1 şeklindeki datayı hexadecimal data düzgün olduğundan virgülle ayırma ihtiyacı duymadan yazabiliriz..
şifreli yazımız
[--------------Bu alan ilk rasgele0 data------------------------------][--sonrası sonuc0,rasgele1,sonuc1
4659696f4267754f74676d6b6367736c7073616776e77262,4 95577634a627d027c6f55636174656d787b287677a2637e,37 25313938673954795569702837324142596f,5567515e76094 01501237710445004343e2313

çıkan data:4659696f4267754f74676d6b6367736c7073616776e77 262495577634a627d027c6f55636174656d787b287677a2637 e3725313938673954795569702837324142596f5567515e760 9401501237710445004343e2313


text olarak
FYioBguOtgmkcgslpsagvçrbIUwcJb}|oUcatemx{(vw¢c~7%1 98g9TyUip(72ABYoUgQ^v @#wDP4>#

gördüğümüz gibi çıktıda data uzunluğu ikiye katlanıyor..ancak güvenlik had safhada..

Gelelim çözme işine

çözmeye şifreyi ele alarak başlıyoruz..Anahtarı alıyoruz..
şifremiz=BildigimizSifremizistebu --24 karakter hemen hexe çeviriyoruz..
42696c646967696d697a53696672656d697a697374656275


ilk rasgele data kısmı çıkan datadaki ilk 24 karakter yani ilk 48 hex karakteri oluyor..

rasgele0=4659696f4267754f74676d6b6367736c707361677 6e77262
sonuc0=495577634a627d027c6f55636174656d787b287677a 2637e
sifre0=rasgele0^sifremiz => 0430050b2b001c221d1d3e02051516011909081402821017
yazi0=sifre0^sonuc0 =>4d6572686162612061726b616461736c617220627520736 9



bakıyoruz ki çözmediğimiz kısmın uzunluğu, şifremizin hex uzunluğunun iki katından daha kısa
bu durumda kalan dataların yarısı rasgele data yarısı şifrelenmiş yazı..

rasgele1=3725313938673954795569702837324142596f
sonuc1 =5567515e7609401501237710445004343e2313
sifre1=sifre0[19]^rasgele1 =>3725313938673954795569702837324142596f ^0430050b2b001c221d1d3e0205151601190908
yazi1=sifre1^sonuc1 => 3315343213672576644857722d2224405b5067 ^5567515e7609401501237710445004343e2313
yazi1=6672656c656e6563656b206269722074657374



yazi0 ve yazi1 i birleştirirsek
4d6572686162612061726b616461736c617220627520736966 72656c656e6563656b206269722074657374
yukarıdaki hex datanın karşılığı
Merhaba arkadaslar bu sifrelenecek bir test...

konuda ^ işareti xor işlemidir..
1 xor 1=0
1 xor 0=1
0 xor 1=1
0 xor 0=0

 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.