Tam Sürümünü Görmek İçin : XCRYPT Geldi...
Gelmemiş, gelmemiş... Biraz daha bekleyin... Azcık daha... :rolleyes:
http://free.7host02.com/xcrypt/4ceviz/
Web sayfası formatında ve şimdilik sadece IE'de çalışıyor...
Oldukça basit bir algoritma kullanıyor ve çıktı olarak bolca unicode karakter üretiyor...
Sizden beklentim yazdığım algoritmayı çözmeniz...
Yani forumda şifre kırıcıların olup olmadığını merak ediyorum aslında...
Umarım ilgi gösterirsiniz...
Sevgiler!
130919822003 desem, hem anahtarin hem de metnin tum karakterlerinin teker teker ascii degerleri alinip, metinden gelen degiskenin anahtardan gelen degisken ile ussu alinsa, sonra bir degiskene yazilsa. Daha once elde edilen verilerin ustune siradaki karakterlere ait ASCII degerleri eklenip ayni islemlerden geciriliyor desem.
Sonucta elde edilen hashte one anahtar, sonra ayrac olarak "@gx" en sonuna da orjinal metin ekleniyor, boylece decrypt ederken de anahtar metinden ayirdedilebiliyor desem.
Sıfrelenen tum metinler printable ascii olsa daha fazla vakit harcayip daha detayli anlatabilirdim desem, bir de en buyuk zayifliginin sifrelenmis metnin orjinal metin ve sifrenin uzunluguna cok bagli olmasi oldugunu soylesem, yeterince $ey demi$ olurum.
$ifreleme olaylarinin da daha ciddi dillerde yapilmasi gerektigini, $ifrelemenin cep telefonuna oyun yazmaktan farkli oldugunu hatirlatmak istesem, guzel olurdu.
:cool:
Mingitau
20/05/2003, 10:42
Bize bişi kalmamış mı? :p
Tebrikler ASA...
İlk deneme aşamasını geçtin...
Bu şifreleme algortiması senin de belirttiğin gibi oldukça basit ve bire bir karakter şifrelemesi yapıyor...
Algoritmalar zorlaşarak devam edecek, bakalım senden başka çözebilen çıkacak mı?
Bir de bir noktayı farketmemiş, bir noktada da hatalı bir bilgi belirtmişsin... Bu "Acaba encode edilmiş şifreleme scriptini bir şekilde çözmüş olabilir misin?" sorusunu aklıma getirdi :
"anahtardan gelen degisken ile ussu alinsa"...
gibi bir ifade kullanman özel veya operatörünün üs almakta kullanıldığını zannettiğini düşündürdü bana...
c = b ^ a
ifadesinde c, b'nin a kuvveti değil, a ile özel veya işlemine tutulmasından elde edilen bit kodudur. Açığını yakalamak gibi olmasın ama galiba JavaScript'teki özel veya operatörü hakkında sanırım bilgin yok... ki bu operatör C'de de kullanılır...
Farketmediğin nokta ise algoritmanın dizi karıştırma, sıralama değiştirme kısmı...
Peki sana bir soru :
Tek cümleden oluşan kısa bir metin versem ve anahtar da dört karakterden oluşsa bu metnin şifresini kırabilir misin?
Volkan Uzun
20/05/2003, 11:04
challenge ha ? :)
Eh gecenin 5:30'unda uzun suredir uyumami$ birinin olayi fazla XORlamak istememesi dogaldir. Mesaji yeni yazdigini dusunerek bu isle ugrasan baskalari varsa eglencelerini bolmek istemedim, o yuzden de ustu kapali $ekilde anlatmak istedim, bazi seylerin ustunu kapatirken de yanli$ deklerasyonlarda bulunmu$ olmam o anki ruh halim goz onune alindiginda normaldir.
Cift yonlu $ifrelenmi$ metinleri kirabilmekte gerekli 2 onemli $ey vardir, birincisi matematik, ikincisi bol ornek.
Bir cumle ve anahtari bana verdiginde bunu kirabilirim, ama oldukca uzun zaman alacagi kesindir ve benim o kadar zamanim yok.
Bir de ba$ka bir $ifreleme ce$idi var, zamaninda ocal.net'te yazmi$tim, bir paragraf anlamli bir yazi ancak o anlamin icinde tarih ve saati kesin olarak belirtilmi$ bir bulu$ma adresi vardi.
I$te bu tip ornekleri kirmak icin de matematikten cok daha fazlasina, genel kultur ve literal du$unebilme yetenegine ihtiyac vardir bu da $ifrelemenin modern dunyada ilk kullanilmaya ba$landiginda saha ajanlarinda KGB ve CIA'in aradigi temel ozelliklerdendi diyebilirim.
XOR veya ^ operatorunu uzun zamandir biliyorum, ama JavaScript bilgim pek yok. Ancak senin bu Js bilginden yazin ortaya cikarmaya du$undugum bir projede yararlanabilirim.
:cool:
ASA, şu projelerini bi öğrenelim allaanısen yah!..
erwin_commett_york@yahoo.com
Fazla kasmaya gerek yok...
Bundan sonra uygulamaları C'de yazıp gönderirim...
SCRDEC çıktı mertlik bozuldu...
Bu arada SCREN'i benden önce çözenlerin olduğunu bilseydim
/*fxcode*/
gibi basit bir koruma yöntemine başvurmazdım...
Bari ilk XCRYPT'in kodlarını yazayım da tam olsun :
[Şifreleme konusuyla yeni ilgilenmeye başlayanlar için biraz JavaScript bilgileri varsa yardımcı olabilir]
function x(q){
var a = document.forms[0].elements[0].value;
var b = document.forms[0].elements[1].value;
var c = "", e = "", e1 = "", e2 = "", e3 = "";
var e4 = "", f = "", k = 130919822003, h = 0;
if(!a || !b)alert("Bütün alanlar doldurulmak zorundadır.");
else if(q && a.charCodeAt() > 60000)alert("Bu metne şifreleme işlemi uygulanamaz.");
else if(!q && a.charAt(0).charCodeAt() < 60000)alert("Bu metne şifreleme işlemi uygulanmamış.");
else{if(q) a = b + "@ğx" + a;
for(i = 0; i < b.length; i++)k += b.charAt(i).charCodeAt();
for(i = 0; i < a.length; i++){
c = a.charAt(i).charCodeAt();
e += String.fromCharCode(c ^ k);
}
if(q){for(i = 0; i <= e.length; i += 2){
e1 += e.charAt(i);
e2 += e.charAt(i + 1);
}
e = e1 + e2;
}
else{
h = Math.round(e.length / 2);
for(i = 0; i <= h; i++){
e1 = e.charAt(i);
e2 = e.charAt(i + h);
e3 = e1 + e2;
e4 += e3;
}
e = e4.substr(0,e.length);
f = e.substr(0,e.indexOf("@ğx"));
if(f == b){
e = e.replace(/@ğx/g,"");
e = e.replace(b,"");
s = 0;
}
else{
if(!f && e.charCodeAt() > 60000)alert("Bu metne şifreleme işlemi uygulanmamış.");
else alert("Hatalı anahtar belirttiniz.");
e = document.forms[0].elements[0].value;
}
}
document.forms[0].elements[0].value = e;
}
}
document.title = "XCRYPT BASIC ALGORITHM";
Nasıı? Çok basit bir kod değil mi? Anlamak için kod gurusu olmaya gerek yok...
Bu konuyla ilgili Ceviz'e bir yazı hazırlamayı düşünüyorum(yah, bu yazılar da hazırla hazırla bitmiyor be abi?) ama şunu belirtmek de yarar var :
Eğer bir şifreleme algoritmasını kırmışsanız bu algoritmayı tersine çeviren bir şifre çözme uygulamasını yazmanız en fazla 15-20 dakikanızı alır... Yani örneğin ben XCRYPT ile şifrelenmiş bir metin verdiğimde, siz XCRYPT'in kullandığı algoritmayı anlamışsanız, bu metnin şifresini çözmeniz 1-2 saniyeden fazla sürmez...
Tabii programcılık bilginiz yeterli düzeydeyse ve algoritmanın kodlarını başka bir şekilde ele geçirmemişseniz...
Sevgiler...
fixman'in konusunu bolmek gibi olmasin ama hazir sifreleme lafi gecmisken ben de birsey soracaktim.
http://ansugo.hypermart.net/sifre-1276.html
Yukaridaki adreste kendi uydurdugum bir sifreleme seysi var. Merak ettigim, sizce boyle bir teknik iyi gibi mi duruyor? Yoksa cok mu basit kacmis?
Ansugo, umarim asa gecenin bir yarisi algoritmani cozerse, cilgina donup ortaligi birbirine katmazsin :D :D
Keske cozse de ise yarar mi yaramaz mi onu anlayabilsek en azindan, degil mi? :)
Sence nasil?
Bravo, bravo!
Takdiri gercekten hak eden bir cali$ma Ansugo.
Ama mevzuyu cozdum sanirsam.
$imdi bu i$lerden biraz anlayan birisi ilk baki$ta ne du$unur?
"Bu adam belirli bir algoritmaya gore resimleri belirli bir renge ceviriyor."
ya da
"Bu adam yazilani $ifreleyip resmin icine gommu$" der.
Ben de ilk ba$ta boyle du$undum, sonra Ansugo'nun boyle bir$ey icin fazla akilli oldugunu hatirladim. Yani i$lerin oyle kiytirik algoritmalardan farkli oldugunu, insani daha fazla yormak istedigini anladim :)
Resmi buyulttum, bir renkten digerine gecerken, iki resmin ust uste bindigini gordum, bunun da bir bo$lugu, ya da mesafeyi temsil edebilecegini du$undum.
Sonra her rengin uzunlugunu piksel hesabina doktum, mesafelerin ortak carpanlarina vs baktim. Bla bla bla
Sonunda durumu Ansugo'ya anlattim, o da onayladi. Bla bla bla kismini isterse o size aciklar, isterse benim daha cok geli$tirecegini du$undugum bu algoritmayi geli$tirir ve gercekten cok i$e yarayabilecek bir$ey ortaya cikarabilir.
Tebrikler ve alki$lar Ansugo bacima. :super:
:cool:
Ansugo, şifreleme uygulamana ulaşabilir miyiz?..
Perl ile mi gerçekleştirdin bu tekniği?..
Kıytırık ve herkesin çözebileceği basitlikteki, temel algortimaların duyurulduğu topiclerde başkaları tarafından çok daha gelişmiş ve mantıklı algoritmalara yer verilmesi kendi açımdan sevindirici...
Birilerinin, gizleme zahmetine girmediğim, kolay çözülür(veya scrdec ile çözülebilir) teknikleri nasıl kırdığını anlatması da aynı şekilde... Asla kızdırmaz...
Bu topici unutmuştum; şu notu eklemeyi de :
XCRYPT ilk hali bana ait değil... Bunu da sadece biraz basitleştirdim...
Ne demiştim ilk mesajda :
"Oldukça basit bir algoritma kullanıyor ve çıktı olarak bolca unicode karakter üretiyor...
Sizden beklentim yazdığım algoritmayı çözmeniz...
Yani forumda şifre kırıcıların olup olmadığını merak ediyorum aslında...
Umarım ilgi gösterirsiniz..."
Birileri kırmazsa ne anlamı kalır ki zaten?..
Son olarak Ansugo, tebrikler...
Resmi aldım... Evde uğraşırım artık...
Sevgiler...
Sifreleme uygulamasina su an icin ulasman mumkun degil fixman. ASA aniden cozuverince, soyle cozumlenmesi cok zor olan bir algoritma gelistireyim dedim. ( Hirs yapmadim ama yukaridaki ornegi yaparken aklima birkac milyon renk ile cok degisik birsey yapma fikri gelmis idi. Ortaya guzel birsey cikabilir diye dusunuyorum) Su an onun uzerinde calisiyorum, ancak binbir kil yun dusunsem de kodlari bir araya getirmek cok zor oluyor.
Teknigi ise PERL ile yazdim tabii ki. Bu sistem ASA'nin dedigi gibi basit. Yani renkler, her bir rengin eni-boyu, toplam en ve resmin aslinin ne kadar pixel genislikte oldugu falan.
Aslinda benim burada tam olarak aklima sigdiramadigim birsey var, onu da forum ahalisine bir danisayim :
Simdi bir algoritma gelistirdik ve bu bize bir stringin ya da herhangi bir ikili, 16 li seyin (ne ise iste) sifrelenmis ciktisini sunuyor. Ancak burada bir sorun var :
Cozum yolu, daha dogru bir ifade ile anahtar ciktinin icine gomulmeli mi?
Yokda anahtarin bizde kalmasi daha mi guvenli ?
Ben soyle dusundum : Bu yapilan is, ornegin cikti olarak bir resim uretiyorsa, ve gene yapacagim bir script bu ciktiyi kendi icinde sakli degerler ile cozebiliyorsa (yani her deneme de ayni sonucu veriyorsa) o zaman benim ciktinin cozum teknigini (anahtari) ciktinin icine gommemem daha guvenli degil midir?
Buradan yola cikarak, herhangibiri ciktiya bakip bir anlam veremeyecek ve muhtemelen belli tekrarlar falan arayacak. Iste anahtar icine gomuldugunde bu tekrarlari ister istemez cozumlemek isteyen adamin eline vermis oluyoruz.
Siz ne dersiniz?
Bu $ifrelemeyi ne icin kullanacagina bagli. Nasil bir ortamda kullanilacak? Mesela $irket ici haberle$melerde kullanilacaksa, keyin icine gomulmesi bir sorun olu$turmayacaktir. Ama $irketler arasi bir ortamda kullanilacaksa, o zaman keyi vermen akillica olmaz.
Bu durumda olaya PGP'sel yakla$abilirsin.
Yani yola cikmadan once, yolda nelerle kar$ila$abilecegini du$unmen lazim. Eglence olsun diye hazirliyorsan da, bu kadar kasmana gerek olmaz :)
:cool:
Aslında gerçek şifreleme algoritmalarında;
algoritmayı geliştiren kişi bile metni şifreleyen
kişinin kullandığı anahtarı bilmeden şifreyi çözemez...
Yani decoder için şifreleme işlemini tersine çevirmek yetmez.
Örneğin; XCRYPT uygulamasında, sizin belirlediğiniz anahtar
ne olursa olsun ben şifrelediğiniz metni çözebilirim.
Bu da XCRYPT'in gerçek bir şifreleme programı olmadığını gösteriyor.
Aynı şekilde, eğer Ansugo'nun uygulaması da yukarıdakine benzer
bir cetveli kullanarak birebir şifreleme yapıyorsa gerçek bir şifreleme
programı değildir; çünkü başta programı geliştiren Ansugo ve ASA dahil,
herkes şifreleri "kolayca" çözebilir.
Bu da başta ASA olmak üzere(peace) tüm forum ahalisine :
(Daha ileriye bakmak için adımlarımızı biraz yavaş atmalıyız...) Bu yüzden örnekleri basit tutuyorum; başta da belirttiğim gibi, bu örnekleri yazmaktaki amacım, "alın işte, süper bir şifreleme programı yaptım, kimse kıramaz" demek değil, olayı en basitinden ele alıp şifrelemeye ve şifre çözmeye olan ilginin ne boyutlarda olduğunu öğrenmek...
http://free.7host02.com/xcrypt/denyocoder.asp
Bu ilk örnekten daha basit... Ve ASA dahil, ilgilenen herkesi çözmeye çağırıyorum... Ürettiği şifreli metinler biraz uzun, ama bilirsiniz, herkes kullansın, metinlerini şifrelesin diye yazmadım bu coderi...
Not : Şifre çözme algortiması da hazırlanabilirdi ama bunu için zaman bulamadım... Merak etmeyin, hebele höbele bir uygulama değil...
Hadi kolay gele...
Sevgiler...
Uzgunum fixman vaktim yok, uzun bir sure de buralarda olmayacagim, dondugumde de ugra$abilir ya da ugra$ir miyim bilmiyorum.
Reverse etsem bile bana ya da ba$kasina bir yarar saglamiyor, ustune seni de uzuyor.
Sana ba$arilar dilerim.
:cool:
Önemli olan bana veya bir başkasına yarar sağlaması değil ASA... Hem üzülmediğimi kaç kez üstüne basa basa tekrar edeceğim...
Bu uygulamayı reverse edersen beni çok mutlu edersin...
Hem tekrar buralardasın sanırım?..
Sevgiler...
Evet buralardayim.
Once daha once acelem oldugu icin cevap veremedigim kisimlari aydinliga kavu$turayim.
Aslında gerçek şifreleme algoritmalarında;
algoritmayı geliştiren kişi bile metni şifreleyen
kişinin kullandığı anahtarı bilmeden şifreyi çözemez...
Yani decoder için şifreleme işlemini tersine çevirmek yetmez.
Örneğin; XCRYPT uygulamasında, sizin belirlediğiniz anahtar
ne olursa olsun ben şifrelediğiniz metni çözebilirim.
Bu da XCRYPT'in gerçek bir şifreleme programı olmadığını gösteriyor.
Aynı şekilde, eğer Ansugo'nun uygulaması da yukarıdakine benzer
bir cetveli kullanarak birebir şifreleme yapıyorsa gerçek bir şifreleme
programı değildir;
$ifreleme, $ifreleme biliminden kastin "crypting", "cryptology" ise, yukarida verdigin tanim bunlara yani dunyanin bildigi $ifreleme olgusuna uymuyor.
Dunya sava$inda onem kazanan kriptoloji, gunumuzde onemli bilgi ali$-veri$lerinin guvenli $ekilde yapilmasina hizmet ediyor.
Eger bir $eyin tek yonlu $ifrelenmesini istersen Md5'te oldugu gibi bir hash elde eder koyarsin bir kenara (buna ragmen Md5'in zayifligini da biliyorsundur herhalde). Ama bir metnin yolda ta$inirken ba$kalarinin eline gecse bile okunamamasini istiyorsan, yani sadece senin izin verdigin ki$ilerin okumasini istiyorsan $ifreleme algoritmanin mutlaka tersine dondurulebilir olmasi gerekir, bu da 3. ki$ilerin bu algoritmayi a$manin bir yolunu bulabilmeleri icin acik kapi birakir. (orn. PGP modeli, PGP'nin zayifliklari)
Eger $ifreleme senin dedigin şekilde olsaydi, "decrypt", "decypher" gibi terimler bulunmazdi.
Kirilmasini zorlastirmak istiyorsan, $ifrelenen metinin geri donmesine gerek yoksa bol bol randomizasyondan faydalanirsin, fan'inin donme hizindan, cpunun isisina kadar bir cok alakasiz degi$keni alir, harmanlar bir hash elde edersin.
Xcrypt te Ansugo'nunki de gercek birer $ifreleme programidir ve geli$tirilirlerse gunluk i$lerde kullanilabilirler.
... çünkü başta programı geliştiren Ansugo ve ASA dahil,
herkes şifreleri "kolayca" çözebilir.
Programi geli$tiren senin ima ettigin gibi ben degilim sadece Ansugo'dur.
Ayrica sana zor gelen bir i$i ben "kolayca" yapabiliyorsam bu da benim sucum degildir.
Programini geli$tirmene yardim etmek, ya da seni mutlu etmek gibi bir niyetim de bulunmuyor.
Arzular $elale...
:cool:
Forum Yazılımı : vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.