07.02.2015 Views

The Art of Reversing by Ap0x - Tutoriali.org

The Art of Reversing by Ap0x - Tutoriali.org

The Art of Reversing by Ap0x - Tutoriali.org

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

56to bitne kljuceve moze biti razbijen za samo 9 sati na izuzetno mocnim<br />

racunarima ili sto je u praksi i dokazano za par meseci kolektivnog mreznog<br />

rada vise stotina racunara. Ovaj mrezni pristup je 1997 pokazao da se DES<br />

moze izuzetno brzo razbiti.<br />

Nasuprot veoma male velicine kljuceva kojima raspolazu simetricni<br />

algoritmi stoje asimetricni algoritmi ciji su najmanji kljucevi duzine 128bita.<br />

Duzine ovih kljuceva mogu ici i do 1024bita sto komunikaciju i cuvanje<br />

podataka cini izuzetno sigurnim. Jedina prednost koju simetricni algoritmi<br />

imaju nad asimetricnim je brzina dekripcije odnosno enkripcije zbog cega za<br />

enkripciju vece kolicine podataka ne bi trebalo koristiti asimetricne algoritme.<br />

Hashing and digital signing<br />

Iako je priblizno svima jasan znacaj kriptografije, njena upotreba nije<br />

ogranicena samo na enkripciju i dekripciju podataka.<br />

Hashing je izuzetno bitan derivat standardnih enkripcionih algoritama.<br />

Ova tehnika se zasniva na pravljenju specificnog broja, koji se naziva hash, a<br />

koji biva dodeljen specificnom sadrzaju. Ovaj sadrzaj moze biti ili string ili<br />

sadrzaj nekog fajla manifestovan kako memory stream. Sta radi hashing<br />

algoritam<br />

On jednostavno uzima svaki bajt iz posmatranog objekta i na osnovu<br />

njega racuna unikatan broj koji sluzi za proveru verodostojnosti datog<br />

podatka. Ovo znaci da svaki objekat ima svoj jedinstveni hash i da samo<br />

potpuno isti objekti mogu imati isti hash. Naravno ovde se pod potputno isti<br />

objekti misli na objekte cija je bajtovna struktura identicna. Kao primeri<br />

ovakvih algoritama se srecu CRC, MD5 i SH1 algoritmi.<br />

CRC ili Cyclic Redudancy Check je sistem generisanja hasha najcesce<br />

na osnovu sadrzaja nekog fajla. Ovakav hash se koristi za verodostojnost<br />

transfera nekog podatka putem interneta ili kao verifikator tacnosti neke<br />

arhive. Ovaj algoritam se moze koristiti ali ne predstavlja siguran nacin<br />

verifikacije posto je CRC algoritam u potpunosti reversovan tako da se svaki<br />

fajl moze falsifikovati na takav nacin da dobije zeljenu vrednost CRC hasha.<br />

MD5 ili Message Digest 5 proizvodi 128bitne hashove na isti nacin kao i<br />

CRC algoritam samo koristeci se drugacijim algoritmom. Ovaj algoritam je za<br />

razliku od CRCa kompleksniji i napisan u kriptografske svrhe. Ovo znaci da je<br />

mogucnost sudaranja dve vrednosti, tako da dva stringa imaju isti MD5 hash,<br />

veoma mala i da je bez dodatne intervencije prakticno nemoguce postojanje<br />

dva ista MD5 hasha za dva razlicita fajla. Bez obzira na ove tvrdnje pre<br />

nekog vremena je pronadjen nacin za falsifikovanje MD5 algoritma tako da je<br />

sada moguce falsifikovanje MD5 potpisa na ‘isti’ nacin na koji je to moguce<br />

sa CRCom.<br />

SHA-1 ili Secure Hashing Algorithm je algoritam koji je slican MD5<br />

algoritmu sa razlikom sto SHA1 proizvodi 160bitne hashove.<br />

Naravno samo lepljenje hashova za dokument nije dovoljno da bi se<br />

osigurala njegova verodostojnost, to jest da bi se osigurao njegov integritet.<br />

Ovo nije moguce iz razloga sto bi svako mogao da izmeni dokument, da<br />

<strong>The</strong> <strong>Art</strong> <strong>of</strong> <strong>Reversing</strong> <strong>by</strong> <strong>Ap0x</strong> Page 161 <strong>of</strong> 293

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!