PDA

Pogčedajte punu verziju : sha1()


Blood
10. 08. 2006., 16:56
Da li postoji neki nacin, npr ako imam neki text i hashujem ga preko sha1() komande, da ga posle vratim u prvobitno stanje?

Hvala.

jablan
10. 08. 2006., 17:05
Sama činjenica da je u pitanju hash funkcija znači da nije.

kodi
10. 08. 2006., 17:11
Da li postoji neki nacin, npr ako imam neki text i hashujem ga preko sha1() komande, da ga posle vratim u prvobitno stanje?

Hvala.

ne da ja znam, osim ako ne hash-ujesh samo jednu rec (tipa password), onda mozes da uzmesh dictionary file (fajl sa skoro svim recima gde je svaka u novoj liniji) pa radish poredjenje izmedju sha1(current_line)==hashed_string

naravno moze i brute force generisanje reci od svih ascii znakova... al' to moze da potraje par decenija :1074::1074:

Petar Marić
10. 08. 2006., 22:37
1. Dobro obučena neuronska mreža
2. Izrazito brz hardver
3. Nekoliko vekova viška?

Ili možeš zamoliti CIA-u, možda ti otkriju koji je backdoor :)

zeljic
11. 08. 2006., 14:24
gotovo je nemoguce vratiti hash, na svu srecu.

Blood
11. 08. 2006., 16:37
Ja sam mislio da mozda moze, jer ako uzmes da hashujes jednu istu rec vise puta, uvek ces dobiti isto, znaci da radi po nekom algoritmu, a to onda znaci da mora da moze da se vrati u staro, pa reko, mozda je neko vec radio...


Pozdrav i hvala...

dee
11. 08. 2006., 17:07
Što je to jednosmjerna funkcija
Pod pojmom jednosmjerne funkcije u kriptografiji smatramo matematičku funkciju poznatiju pod imenom surjekcija, odnosno surjektivno preslikavanje. Za razliku od matematički bijektivnog preslikavanja gdje svaki element početnog skupa, domene, ima jednoznačno određen par unutar konačnog skupa, kodomene, kod surjektivne funkcije ne postoji jednoznačna inverzna funkcija kojom bi mogli preslikati konačni skup elemenata u početni, kodomenu u domenu. Primjer takve funkcije je sinus gdje bez ikakvih problema možemo izračunati koja je vrijednost te funkcije u bilo kojoj točci, ali tu istu vrijednost dobijemo i za beskonačan broj drugih točaka tako da ne možemo napisati jednoznačnu inverznu funkciju.
U računarskom svijetu imamo primjer funkcije surjercije kod generiranja pseudo-slučajnih brojeva.

Važnost jednosmjerne funkcije u kriptografiji
Sama ideja jednosmjerne funkcije je ugrađena u same temelje kriptografije. U implementaciji kriptiranja putem javnog ključa, sâm javni ključ bi reprezentirao kodomenu dok pomoću tajnog ključa pribavljamo informaciju o korijenskoj vrijednosti (seed-u) našeg "generatora pseudo-slučajnih brojeva", odnosno domeni funkcije surjekcije. Razumljivo je da samo ukoliko posjedujemo korijensku vrijednost (tajni ključ) možemo manipulirati sadržajem "u oba smjera", dakle i kriptirati i dekriptirati. Ako raspolažemo samo kodomenom (javni ključ) tada smo ograničeni samo na "jedan smjer", odnosno možemo samo kriptirati sadržaj.
Realno gledajući, mada iz surjekcije ne možemo izvesti jednoznačnu inverznu funkciju ipak smo u stanju izvesti inverzne funkcije na ograničenim područjima. To znači da je teoretski moguće razbiti svaki kriptografski algoritam, međutim ostaje otvorenim pitanje kolika bi područja za koje smo uspjeli pronaći inverzna funkcije bila velika, te kako komplicirana bi svaka od inverznih funkcija bila. Nadalje, ni znanost o kriptografiji ne miruje već nam svako malo donosi nove, sigurnije algoritme dok se istovremeno stariji ili napuštaju ili nadopunjuju i popravljaju.



[sa http://fly.srk.fer.hr/~zox/diplomski/DodD_Kriptografija.html ]