[linux] ako zakodovat heslo?
Marcel Telka
marcel na telka.sk
Pondělí Únor 25 17:08:47 CET 2002
On Mon, Feb 25, 2002 at 03:20:55PM +0100, Jozef Novikmec wrote:
> > > Neviem ci som odbornik na kryptografiu, skor nie ako ano :-), ale v
> > > odbornej terminologii sa takejto moznosti hovori kolizia. Znamena ze dva
> > > rozne vstupy daju ten isty vystup z hashovacej funkcie. Kedze v teorii
> > > sa vravi ze hashovacia funkcia je jednoznacna, funkcia ktora ma kolizie
> > > jednoznacna nie je, takato funkcia by sa nemala volat hashovacou:-).
> >
> > Myslim, ze tu sa trochu mylis. Hashovacia funkcia vo vseobecnosti je na to,
> > aby mapovala vstup (z velkej mnoziny) na vystup (z mensej, resp. malej mnoziny).
> > Pri takomto mapovani vzdy moze dojst k tomu, ze sa vygeneruju rovnake vystupy.
>
> Ano to som nepoprel ze k takejto moznosti moze dojst, ale prave v tom je
> problem ze ak sa to stane casto, tak takato hashovacia funkcia nie je
> dostatocne kvalitna na pouzivanie.
Suhlas. Ja som vsak reagoval na toto:
Kedze v teorii sa vravi ze hashovacia funkcia je jednoznacna, funkcia ktora
ma kolizie jednoznacna nie je, takato funkcia by sa nemala volat hashovacou:-).
A toto bohuzial nie je pravda. Mozno si to naozaj myslel tak, ako si to teraz
vysvetlil, ale povodna veta bohuzial nebola pravdiva (alebo aspon nebola presna).
>
> Takze si zoberme mnozinu vsetkych 128 bitovych slov. Ak mame funkciu
> ktora tuto mnozinu transformuje na mnozinu 128 bitovych slov pricom
> y(i)=hash(x(i)) , pre vsetky x(i) musi byt ine y(i), takejto funkcii sa
> hovori jednoznacna. Napr. y=x^2 jednoznacna nie je lebo 2^2-4 ale aj
> -2^2=4.
>
> Ak je vystup hashovacej funkcie 128 bitovy, tak existuje 2^128 moznych
> 128 bitovych slov. Ak si zoberieme ze vstupov existuje nekonecne vela,
> musi zakonite dojst ku kolizii. Otazka je ze ako casto a podla toho sa
> hodnoti kvalita hashovacej funkcie.
Spravne. Idealna hashovacia funkcia je uplne rovnomerna.
>
> >
> > BTW, hashovanie sa po slovensky spravne vola "transformacia kluca"
> > (zdroj: N. Wirth: Algoritmy a struktury udajov, alfa 1989, str. 360)
> >
>
> Pridam este jeden termin. Mna v skole ucili ze hashovacia funkcia sa po
> slovensky povie jednocestna funkcia.
Hm. Myslim, ze hashovacia funkcia je len specialny pripad jednocestnej funkcie.
Samozrejme zavisi od toho, ako si hashovaciu funkciu zadefinujeme :-).
Napr. funkcia f(x) = 0 alebo f(x) = x' (derivacia) su typicke "jednocestne"
funkcie avsak tazko by sme ich mohli nazvat hashovacimi.
>
> Z toho vyplyva aj jej dalsia vlastnost a to ze y(i)=hash(x(i)) ale k
> funkcii hash neexistuje inverzna funkcia teda neplati
Myslim, ze neexistencia inverznej funkcie nie je nutna podmienka pre
hashovaciu funkciu. Napr. o funkcii f(x) = x sa tiez (v istom priblizeni)
da povedat ako o hashovacej funkcii, avsak existuje k nej inverzna funkcia.
> x(i)=hash^(-1)(y(i)). Keby som hlbsie popatral v pamati tak by som
> pridal aj podmienky ktore musi funkcia splnat aby mala inverznu
> funkciu:-), ved to nebolo az tak davno :-))).
:-) Ja si to tiez uz nepamatam, ale intuitivne by som povedal, ze (transformacna)
funkcia ma inverznu funkciu vtedy, ak pre dva rozne vstupy generuje dva rozny vystupy
a pre rovnake vstupy generuje rovnake vystupy a toto plati pre vsetky mozne vstupy.
Ahoj.
--
+-------------------------------------------+
| Marcel Telka e-mail: marcel na telka.sk |
| homepage: http://telka.sk/ |
| jabber: marcel na jabber.sk |
+-------------------------------------------+
Další informace o konferenci linux