DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   sha1() (http://www.devprotalk.com/showthread.php?t=1368)

Blood 10. 08. 2006. 16:56

sha1()
 
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

Citat:

Originalno napisao Blood
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...tografija.html ]


Vreme je GMT +2. Trenutno vreme je 00:38.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.