The Art of Reversing by Ap0x - Tutoriali.org
The Art of Reversing by Ap0x - Tutoriali.org
The Art of Reversing by Ap0x - Tutoriali.org
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Cryptography basics<br />
Kriptografija je deo informatike koja se bavi osiguravanjem cuvanja<br />
podataka i komunikacije. Najpoznatije polje kriptografije je enkripcija koja se<br />
zasniva na tehnologiji izmene razumljivih podataka na specifican nacin tako<br />
da podaci postaju necitljivi, odnosno nerazumljivi prilikom obicnog<br />
posmatranja. Naravno postoji i suprotna operacija u odnosu na enkripciju i<br />
ona se zove dekripcija.<br />
U kriptografiji podaci koji se enkriptuju, odnosno dekriptuju imaju<br />
specijalna imena i ona su: za neenkriptovane podatke plaintext a za vec<br />
enkriptovane podatke ciphertext. Uopsteni princip koriscenja neke vrste<br />
enkripcije je prikazan na sledecem grafiku:<br />
Dakle enkripcija se zasniva na tri krucijalna podatka: plaintextu, algoritmu<br />
koji vrsi enkripciju i kljucu na osnovu koga se vrsi enkripcija. Analogno<br />
ovome dekripcija se vrsi pomocu algoritma za dekripciju, koji moze biti isti<br />
kao i algoritam za enkripciju, i kljuca pomocu kojeg se vrsi dekripcija koji<br />
takodje moze biti isti kao i kljuc za enkripciju. Kao rezultat dekripcije se<br />
dobija dekriptovana poruka sa pocetka ove sheme, odnosno plaintext.<br />
Ovde treba naglasiti da snaga algoritma ne lezi u njegovoj tajnosti<br />
nego naprotiv, ona se ogleda u broju istrazivanja vezanih za njega i<br />
takozvanih “napada” na sam algoritam u cilju pronalazenja njegovih slabosti.<br />
Kriptografi su tokom godina razvili veliki broj tehnika za razbijanje slabih<br />
algoritama i slabih kljuceva, tako da ce veoma slabi algoritmi biti veoma brzo<br />
slomljeni, cak i bez odgovarajuceg kljuca. Ali ne dajte se zavarati, ni jedan<br />
algoritam za enkripciju nije nesalomiv, niti tako nesto tvrde njegovi autori, ali<br />
postoji velika verovatnoca da se ovo nece dogoditi ili da je za njegovo<br />
“razbijanje” potreban izuzetno velik vremenski period. Bez obzira na razlicite<br />
vrste napada na odredjeni algoritam, svaki algoritam je siguran samo dok su<br />
kljucevi za enkripciju odnosno dekripciju cuvani u tajnosti.<br />
Symetric and asymetric algorithms<br />
Postoje dve klasicne vrste algoritama za enkripciju odnosno dekripciju.<br />
Ove dve vrste se nazivaju simetricni i asimetricni algoritmi. Glavna razlika<br />
izmedju ove dve vrste algoritama je u vrsti kljuceva koji se koriste za<br />
enkripciju, odnosno dekripciju. Ova razlika se odnosi na primenu jednog ili<br />
vise kljuceva za procese enkripcije/dekripcije. Tacnije simetricni algoritmi<br />
prilikom enkripcije i dekripcije koriste isti set kljuceva koji su isti za obe<br />
operacije, dok se kod asimetricnih algoritama koriste dva seta kljuceva,<br />
<strong>The</strong> <strong>Art</strong> <strong>of</strong> <strong>Reversing</strong> <strong>by</strong> <strong>Ap0x</strong> Page 158 <strong>of</strong> 293