abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 06:00 | Nová verze

Po necelém roce od vydání verze 0.67 byla vydána verze 0.68 populárního telnet a ssh klienta PuTTY. Podrobnosti v přehledu změn. Řešeny jsou také bezpečnostní chyby.

Ladislav Hagara | Komentářů: 0
včera 21:32 | Nasazení Linuxu

Canonical představuje nejnovější verzi chytré helmy DAQRI s Ubuntu pro rozšířenou realitu. K vidění bude příští týden v Barceloně na veletrhu Mobile World Congress 2017.

Ladislav Hagara | Komentářů: 0
včera 21:31 | Pozvánky

Pro zájemce o hlubší znalosti fungování operačních systémů připravila MFF UK nový předmět Pokročilé operační systémy, v rámci něhož se vystřídají přednášející nejen z řad pracovníků fakulty, ale dorazí také odborníci ze společností AVAST, Oracle, Red Hat a SUSE. Tento předmět volně navazuje na kurz Operační systémy ze zimního semestru, ale pokud máte praktické zkušenosti odjinud (například z přispívání do jádra Linuxu) a chcete si

… více »
Martin Děcký | Komentářů: 3
včera 21:30 | Pozvánky

Czech JBoss User Group Vás srdečně zve na setkání JBUG v Brně, které se koná ve středu 1. března 2017 v prostorách Fakulty Informatiky Masarykovy Univerzity v místnosti A318 od 18:00. Přednáší Tomáš Remeš a Matěj Novotný na téma CDI 2.0 - New and Noteworthy. Více informací na Facebooku a na Twitteru #jbugcz.

mjedlick | Komentářů: 0
20.2. 23:45 | Zajímavý software

Na blogu Qt bylo představeno Qt 3D Studio. Jedná se o produkt dosud známý pod názvem NVIDIA DRIVE™ Design Studio. NVIDIA jej věnovala Qt. Jedná se o několik set tisíc řádků zdrojového kódu. Qt 3D Studio bude stejně jako Qt k dispozici jak pod open source, tak pod komerční licencí. Ukázka práce s Qt 3D Studiem na YouTube.

Ladislav Hagara | Komentářů: 10
20.2. 17:50 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice slaví 5 let od svého oficiálního vzniku. Nadace byla představena 28. září 2010. Formálně byla založena ale až 17. února 2012.

Ladislav Hagara | Komentářů: 0
20.2. 12:50 | Komunita

Mozilla.cz informuje, že dosud experimentální funkce Page Shot z programu Firefox Test Pilot (zprávička) se stane součástí Firefoxu. Page Shot je nástroj pro vytváření snímků webových stránek. Umí výběr oblasti, prvku stránky (např. odstavce), nebo uložení snímku celé stránky. Snímky lze ukládat na disk nebo nahrávat na server Mozilly. Nedávno bylo oznámeno, že se součástí Firefoxu stane Activity Stream.

Ladislav Hagara | Komentářů: 32
20.2. 04:10 | Nová verze

Po 10 týdnech vývoje od vydání Linuxu 4.9 (zprávička) oznámil Linus Torvalds, mj. již 20 let žijící v USA, vydání Linuxu 4.10 (LKML). Přehled nových vlastností a vylepšení například na Kernel Newbies a v Jaderných novinách (1, 2 a 3). Kódové jméno Linuxu 4.10 je Fearless Coyote.

Ladislav Hagara | Komentářů: 24
19.2. 15:55 | Zajímavý projekt

Vyzkoušet si příkazy a vyřešit několik úkolů lze na stránkách Commandline Challenge (CMD Challenge). Úkoly lze řešit různými způsoby, důležitý je výsledek. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

Ladislav Hagara | Komentářů: 18
18.2. 17:35 | Bezpečnostní upozornění

Německá Bundesnetzagentur (obdoba českého ČTU) zakázala na německém území prodej panenky Cayla kvůli „špionáži“ dětí. Tato elektronická hračka obsahuje mikrofon, reproduktor a kameru a bezdrátové komunikační rozhraní, pomocí kterého se hračka připojuje na servery výrobce. Takovýmto způsobem může hračka pomocí umělé inteligence „odpovídat“ na dotazy dítěte. Hlavní problém bude ale asi někde jinde, podle prvotních zpráv může

… více »
Petr Tomášek | Komentářů: 34
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (14%)
 (2%)
 (71%)
 (3%)
 (10%)
Celkem 680 hlasů
 Komentářů: 61, poslední včera 13:06
Rozcestník

Dotaz: hashovaci funkce

10.9.2013 23:33 jenda
hashovaci funkce
Přečteno: 501×
Ahoj,

nevim jestli je tohle vhodne tema, ale pokud by se nekdo nasle kdo by mi to vysvetlil tak budu rad. Moc mi neni jasne k cemu je v kryptologii hashovani. Ja to teda pochopil tak, ze takhle zasifruji treba nejakou zpravu a vystupem mi je naprosto nesrozumitelna zprava. Ale podle toho co jsem si precetl pote neni mozne (nebo je velmi obtizne) ziskat originalni informace, ktere jsem predtim zahashoval. Jelikoz v (a)symetricke kryptografii opet ziskam puvodni data, trochu se ztracim, k cemu to tedy prakticky slouzi, kdyz uz neziskam data v puvodnim tvaru. Mozna jsem si to jenom spatne vylozil, ale pusobilo to na me jako bezklicova varianta (a)symetricke kryptografie. Diky moc, mejte se!

Odpovědi

11.9.2013 00:01 potato
Rozbalit Rozbalit vše Re: hashovaci funkce
Hashování není šifrování,

Jde o to, že namísto zprávy se díváš pouze na její hash. Je-li hash kryptograficky silný, tak porovnání hashů v nějakém smyslu zastupuje porovnání celých zpráv.
Jendа avatar 11.9.2013 00:10 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: hashovaci funkce
Hash se používá, když potřebuješ:
  • Z dlouhých zpráv udělat nějaké hodnoty fixní kratší délky.
  • Na zprávě udělat transformaci, její výsledek zveřejnit, ale nechceš, aby někdo znal původní zprávu. Později se pak třeba můžeš tou zprávou někomu prokázat a on udělá tu stejnou transformaci a porovná výsledky.
Vox agroferti, vox Dei.
11.9.2013 01:22 extremni lama | skóre: 14 | blog: e_lama
Rozbalit Rozbalit vše Re: hashovaci funkce
Par pouziti je popsanych treba tady:

https://en.wikipedia.org/wiki/Cryptographic_hash_function#Applications

Potom se pouzivaji treba v generatorech nahodnych cisel (ktery jsou hodne dulezity v kryptografii):

https://www.schneier.com/paper-yarrow.html

To pouziti je tam asi takovy ze do entropy poolu si ukladas "low quality random data" a az jich mas dost tak spocitas jejich hash, cimz ziskas "high quality random data". Ty potom muzes pouzit primo, nebo jako seed.

Jeste bych doporucil:

https://www.coursera.org/course/crypto

https://www.coursera.org/course/crypto2
The enemy of my enemy is still my enemy.
Jendа avatar 11.9.2013 01:37 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: hashovaci funkce
Pozor! Kryptograficky bezpečná hashovací funkce automaticky neznamená, že výstup bude náhodný! Například funknce
def JHA(input):
  return "AAA"+SHA256(input)
je kryptograficky bezpečná (dokud je jen SHA256 bezpečná), ale zjevně její výstup není moc náhodný.

K extrakci entropie se používá entropy juicer.
Vox agroferti, vox Dei.
11.9.2013 02:24 extremni lama | skóre: 14 | blog: e_lama
Rozbalit Rozbalit vše Re: hashovaci funkce
Ano znamena. Pokud ma byt hashovaci funkce bezpecna tak vystup by mel mit uniformni rozlozeni.

Jednotliva kryptograficka primitiva jsou prevoditelna, takze z bezpecne hashovaci funkce muzes udelat blokovou sifru, proudovou sifru, rng.

na dotaz "entropy juicer" jsem nasel jenom nesmysly tak nevim jestli se nejedna o vtip...

a ta funkce JHA je vtip celkem urcite :-)
The enemy of my enemy is still my enemy.
Jendа avatar 11.9.2013 04:17 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: hashovaci funkce
Ano znamena. Pokud ma byt hashovaci funkce bezpecna tak vystup by mel mit uniformni rozlozeni.
Já chápu kryptograficky bezpečnou hashovací funkci tak, že garantuje, že ve výstupu bude alespoň n bitů entropie (přesněji, že spočítání kolize bude mít náročnost 2^n), ale že výstup může být klidně větší než n.

Například definice na Wikipedii pak o náhodnosti a uniformitě (celého) výstupu nemluví vůbec.

Ostatně, byly současně používané SHA designované with this in mind nebo je to jenom takový by-product?
Vox agroferti, vox Dei.
11.9.2013 10:54 extremni lama | skóre: 14 | blog: e_lama
Rozbalit Rozbalit vše Re: hashovaci funkce
To je pravda ze pro nektery ucely by stacila omezena entropie ve vystupu.

Ale myslim ze v praxi to skonci na tom ze u digestu delky N se ocekava bezpecnost 2**N.

Treba u te funkce JHA(), kdyz odstranim ten prefix tak jsem v podstate vytvoril attack ktery snizi jeji bezpecnost o 24 bitu :-)
The enemy of my enemy is still my enemy.
11.9.2013 08:04 Jose
Rozbalit Rozbalit vše Re: hashovaci funkce
Hasovaci funkce da vzdy pro stejna vstupni data stejny vystup, nepouziva se na kryptovani ale na podpisovani a overovani.
11.9.2013 10:34 extremni lama | skóre: 14 | blog: e_lama
Rozbalit Rozbalit vše Re: hashovaci funkce
Hasovaci funkce da vzdy pro stejna vstupni data stejny vystup,
Jakykoli algoritmus da vzdy pro stejna vstupni data stejny vystup.
nepouziva se na kryptovani ale na podpisovani a overovani.
Nepouziva se na sifrovani, ale kryptograficka primitiva jsou prevoditelna, takze z bezpecne hash funkce muzes vytvorit PRF a z PRF sestavit blokovou sifru. Viz Luby-Rackoff theorem:

https://en.wikipedia.org/wiki/Feistel_cipher
The enemy of my enemy is still my enemy.
11.9.2013 10:51 axel
Rozbalit Rozbalit vše Re: hashovaci funkce
Jakykoli algoritmus da vzdy pro stejna vstupni data stejny vystup.

Odvazne tvrzeni:-)
11.9.2013 12:07 Jose
Rozbalit Rozbalit vše Re: hashovaci funkce
Hasovaci funkce da vzdy pro stejna vstupni data stejny vystup,
Jakykoli algoritmus da vzdy pro stejna vstupni data stejny vystup.
Plati jen pokud je PRN generator zavisly pouze na vstupnich datech algoritmu, coz ale pokladam za oslabeni sifry ( to plati samozrejmne jenom u sifrovacich algorimtu kde do sifrovaciho procesu vstupuje nahodne cislo )
11.9.2013 13:20 extremni lama | skóre: 14 | blog: e_lama
Rozbalit Rozbalit vše Re: hashovaci funkce
Vim ze je to trochu slovickareni, ale jakykoli nahodny data muzes povazovat za vstup algoritmu. Takze pokud bude dostavat stale stejny "nahodny" data tak by mel davat stejny vysledky.
The enemy of my enemy is still my enemy.
11.9.2013 12:09 Sten
Rozbalit Rozbalit vše Re: hashovaci funkce
Jakykoli algoritmus

Jakýkoliv deterministický algoritmus. Takové OpenSSL v Debianu by mohlo vyprávět.
Jendа avatar 11.9.2013 13:26 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: hashovaci funkce
Pokud do „stejných vstupních dat“ zahrneme i seedy získané odjinud, tak to taky platí…
Vox agroferti, vox Dei.
11.9.2013 14:23 axel
Rozbalit Rozbalit vše Re: hashovaci funkce
Pokud za vstup budeme povazovat "vsechno", tak uz tvrzeni postrada smysl, protoze "vsechno" nelze definovat a tedy nelze zarucit (ani overit), ze pri dvou bezich algoritmu bude "vsechno" stejne. Ne kazdy stroj (ani realne existujici, natoz hypoteticky) ma vlastnosti topinkovace, na kterem jakoby zadny nedeterminismus neexistuje.
11.9.2013 15:01 extremni lama | skóre: 14 | blog: e_lama
Rozbalit Rozbalit vše Re: hashovaci funkce
Vsechny vstupy algoritmu se daji definovat snadno. Alo to uz se dostavame k filozoficky debate v ktery stejne nic nevyresime...

Ja osobne povazuju jakoukoli nahodnost za vstup algoritmu, ktery potom pracuje deterministicky.
The enemy of my enemy is still my enemy.
11.9.2013 16:47 axel
Rozbalit Rozbalit vše Re: hashovaci funkce
A ja osobne povazuju kolobezku za motorove vozidlo. Existuje obecne prijimany pohled na to, co je to algoritmus, jeho vstup a determinismus/nedeterminismus pri jeho provadeni. Pro nektere ucely se pak tyto pojmy zcela formalizuji (napr. zkoumani slozitosti algoritmu), jinak by se o nich nedalo premyslet, publikovat, komunikovat atd. Pohled ze "jakakoli nahodnost" je vstupem algoritmu je v tomto ohledu novatorsky, mozna se prosadi, mozna ne... Myslim si, ze spis ne.
11.9.2013 17:04 extremni lama | skóre: 14 | blog: e_lama
Rozbalit Rozbalit vše Re: hashovaci funkce
A ja osobne povazuju kolobezku za motorove vozidlo.
to hodne vysvetluje ;-)
Existuje obecne prijimany pohled na to, co je to algoritmus, jeho vstup a determinismus/nedeterminismus pri jeho provadeni.
nedeterminismus je neco jinyho nez nahodnost.
Pohled ze "jakakoli nahodnost" je vstupem algoritmu je v tomto ohledu novatorsky
diky za uznani. Jestli bych si to nemel patentovat... :-)

Ale obavam se ze zas tak novatorsky to neni. Viz treba wikipedia:
A randomized algorithm is an algorithm which employs a degree of randomness as part of its logic. The algorithm typically uses uniformly random bits as an auxiliary input
The enemy of my enemy is still my enemy.
11.9.2013 20:19 axel
Rozbalit Rozbalit vše Re: hashovaci funkce
nedeterminismus je neco jinyho nez nahodnost

Vyborne. Plati tedy predchozi tvrzeni Jakykoli algoritmus da vzdy pro stejna vstupni data stejny vystup pro nedeterministicke algoritmy?
11.9.2013 23:04 extremni lama | skóre: 14 | blog: e_lama
Rozbalit Rozbalit vše Re: hashovaci funkce
Priznavam ze v tom tvrzeni jsem pod "algoritmus" mel na mysli deterministicky algoritmus, protoze to se tim vetsinou mysli.

Nicmene se to da zobecnit i na nedeterministicke. Kdyz napr. vezmu kvantovy pocitac jako typicky priklad nedeterministicke architektury, tak pri stejnych vstupech vzdy dostanu stejnou vyslednou vlnovou funkci. To ze tu funkci potom nejsem schopen primo zmerit a musim delat ruzny harakiri je uz jina vec...
The enemy of my enemy is still my enemy.
11.9.2013 21:47 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: hashovaci funkce
Jakykoli algoritmus da vzdy pro stejna vstupni data stejny vystup.
Programoval si někdy? :-)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
11.9.2013 23:12 extremni lama | skóre: 14 | blog: e_lama
Rozbalit Rozbalit vše Re: hashovaci funkce
:-) Taky uz jsem se setkal s programama ktery fungujou jenom ve ctvrtek a za uplnku.

Moje soukroma teorije je ze algoritmus je sice deterministicky, ale muj PC si uvedomil sam sebe a zacal v nem skodolibe delat male tezko odhalitelne zmeny... :-)
The enemy of my enemy is still my enemy.
xkucf03 avatar 11.9.2013 23:15 xkucf03 | skóre: 45 | blog: xkucf03
Rozbalit Rozbalit vše Re: hashovaci funkce

Problém je spíš v tom, že uživatel si není vědom1 všech vstupů – proto mu výstup může někdy přijít náhodný a program nedeterministický.

[1] což nemusí být úplně jeho vina – program může být napsaný dost záludně, tak, že některé vstupy nejsou na první pohled vidět, nedají se intuitivně odhadnout nebo jsou úplně nesmyslné

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
11.9.2013 08:20 Filip Jirsák
Rozbalit Rozbalit vše Re: hashovaci funkce
Jak už psali ostatní, hashování není šifrování. V souvislosti s bezpečností ale někdy nepotřebujete celou zprávu, ale stačí něco kratšího jednoznačně vytvořeného z původní zprávy. Důležité je akorát to, aby k existujícímu hashi nebylo možné snadno zkonstruovat (libovolnou) zdrojovou zprávu (zdrojových zpráv je nekonečně mnoho, hashů je omezená množina, takže existuje nekonečně mnoho zpráv, které vedou na jeden a ten samý hash). Hash se používá tak, že se spočítá dvakrát ze dvou různých zpráv nebo ve dvou různých časech. Pokud jsou oba hashe shodné, je vysoká pravděpodobnost (u každé kryptografické hashovací funkce je ta pravděpodobnost známá), že i ty dvě původní zprávy jsou shodné. Hodí se to např. v těchto případech:
  • Potřebujete něco elektronicky podepsat, což je forma asymetrického šifrování. Asymetrické šifry jsou pomalé a pracují většinou s blokem dat – musel byste tedy text rozdělit na bloky a každý blok (pomalu) zašifrovat. Když použijete otisk (hash), zašifrujete jenom jeden blok.
  • Časová razítka. Ten, kdo vystavuje časové razítko, vůbec nezná původní zprávu (takže to může být klidně něco tajného).
  • Ověřování hesel, aniž by ověřovatel musel to původní heslo znát. Např. web může mít uložen jenom hash vašeho hesla, takže pokud stejné heslo používáte i jinde, správce (nebo útočník, který hash získá), se vaším heslem nemůže přihlásit někam jinam. Tady je potřeba dát pozor na to, že pro často používaná hesla (ne jen typu 1234, ale třeba desítky nebo stovky tisíc hesel) už existují seznamy s předpočítanými hashy (říká se jim duhové tabulky), takže při jednoduchém použití stačí správci nebo útočníkovi zkusit najít hash vašeho hesla v takovémhle seznamu. Proto se v tomto případě hesla před hashováním tzv. solí, tj. přidá se k nim něco, co je např. u každého webu jiné. Pak i když budete používat na dvou webech stejné heslo, hash bude jiný, a nebude možné ani předpočítat univerzální duhovou tabulku.
  • Ověření toho, že nějaká zpráva je nezměněná (třeba že nedošlo k chybě při přenosu přes síť). Když získáte nějakým spolehlivým způsobem třeba hash souboru, můžete ověřit, že při přenosu přes síť nedošlo k chybě (a změně souboru), nebo že ten soubor někdo nezměnil záměrně.
11.9.2013 11:45 ikar
Rozbalit Rozbalit vše Re: hashovaci funkce
je tedy crc hash?
11.9.2013 12:11 Filip Jirsák
Rozbalit Rozbalit vše Re: hashovaci funkce
V obecném smyslu je to hash. Ale není to kryptografický hash, protože je velmi jednoduché pro daný CRC vytvořit nějakou zdrojovou zprávu.
11.9.2013 12:11 Sten
Rozbalit Rozbalit vše Re: hashovaci funkce
Je, i když není kryptograficky bezpečný
Jendа avatar 11.9.2013 13:31 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: hashovaci funkce
Pak i když budete používat na dvou webech stejné heslo, hash bude jiný, a nebude možné ani předpočítat univerzální duhovou tabulku.
Nutno podotknout, že to sice zabrání útoku při ukradení databáze, ale heslo je pořád vidět v okamžiku, kdy ho uživatel posílá - když se přihlašuje. A v ten okamžik si ho může správce nebo útočník někam bokem poznamenat. Protokoly na prokázání se, při kterých se heslo protistrana nedozví nikdy, existují, ale jsou podstatně složitější.
Vox agroferti, vox Dei.
11.9.2013 20:07 Filip Jirsák
Rozbalit Rozbalit vše Re: hashovaci funkce
Heslo při posílání může být vidět a nemusí. Protokoly jako NTLM nebo HTTP Digest mi nepřipadají podstatně složitější -- stejně někdo musí z hesla správným způsobem udělat hash, akorát jde o to, zda to udělá klient nebo server.
11.9.2013 11:07 rastos | skóre: 60 | blog: rastos
Rozbalit Rozbalit vše Re: hashovaci funkce
Odporúčam Cryptography I.
11.9.2013 12:50 lofcek
Rozbalit Rozbalit vše Re: hashovaci funkce
Ja to skusim len kratko: Hashovacia funkcia je taka funkcia, ktora vypocita zo vstupnych dat lubovolnej dlzky vystup pevnej dlzky (zvycajne 192, 256, 512 bitov) a to tak, aby bolo mimoriadne narocne (prakticky nemozne) najst take dve vstupne spravy, ktore maju rovnaky vystup.

To sa potom pouziva pri podpisovani. Okrem ineho aj pri podpisovani certifikatu. A to je to miesto kde stretavaju asymetricke sifry s hasovacimi funkciami.
xkucf03 avatar 11.9.2013 13:07 xkucf03 | skóre: 45 | blog: xkucf03
Rozbalit Rozbalit vše Re: hashovaci funkce

Někteří lidé bohužel považují hashování za druh šifrování – říkají např. „to heslo je zašifrované pomocí MD5“ – a pak to vede k těmto zmatkům. Někdy se říká „jednosměrná šifra“ což je ale stále zavádějící a podle mého špatně.

Hashování je jednosměrná funkce. Jejím definičním oborem (vstupem) je pole bajtů o libovolné délce. Jejím oborem hodnot (výstupem) je pole bajtů1 s fixní (a malou) délkou.

Je logické, že to nemůže být prostá funkce – pro různé vstupy může být výstupem stejná hodnota (hash). Tyto kolize z principu musí existovat.

Dobré hashovací funkce se vyznačují tím, že je tyto kolize velmi náročné najít. Když znáš hash, mělo by být prakticky nemožné najít původní vstup – mělo by to být tak výpočetně náročné, že to se současnou technikou nikdo nedokáže. A i kdyby (jednou) dokázal, z principu najde jen jeden z mnoha možných vstupů – nemá jistotu, že je to ten původní, ze kterého byl hash vypočten. (proto „jednosměrná funkce“).

Další dobrou vlastností je to, že když se vstup změní byť jen nepatrně (třeba o jediný znak/bajt), hodnota hashe se změní zásadně a je to vidět na první pohled (např. c105364f1a847c07860ad7bd9d23eef0 vs. 03f02c6d299c70dcc8d23d14d0c8466d).

Praktické využití:

  • kontrolní součty – stáhneš si odněkud obraz CD nebo instalační balíček, spočítáš jeho hash a zkontroluješ, že je stejný s otiskem, který zveřejnil jeho autor, kterému věříš. Pokud hash odpovídá, můžeš si být celkem jistý tím, že data mezi tím nikdo neupravil nebo se nepoškodila chybou při přenosu.
  • utajení původní hodnoty při zachování možnosti kontroly – uložíme si zahashované heslo, takže k němu nemáme2 přímý a snadný přístup, ale stále máme možnost ověřit, že heslo zadané uživatelem je správné – vypočteme jeho hash a porovnáme s tím uloženým (viz také solení hesel, salt, rainbow tables)
  • elektronický podpis – asymetricky stačí podepsat krátký hash místo celé dlouhé původní zprávy
  • krátký a unifikovaný identifikátor dat – můžeš snadno vyhledávat duplicity nebo můžeš mít třeba systém do kterého pošleš dotaz typu „sháním soubor s otiskem d27a7f038b715e0b8a438a09704e3102150a4158a7f1372bb6e0e658c00e7c0a“ a zpátky ti přijde odpověď: „má ho ten a ten, stáhni si ho od něj“ (zatímco, kdybys používal jako identifikátor název souborů, bude problém to, že jeden soubor může být pojmenovaný různě a naopak soubory s různým obsahem si mohou dva lidé pojmenovat stejně)
  • různé protokoly založené na tom, že někomu pošleš náhodná data, on k nim přidá určitou hodnotu a zpátky pošle hash
  • distribuované verzovací systémy

[1] někdy chceš mít vstup textový (např. heslo) a výstup taky (např. aby to šlo vytisknout – Base64, Hex), takže musíš hashování obalit funkcemi na převod mezi textem a bajty – ale to nic nemění na tom, že samotná hashovací funkce pracuje jen a pouze s bajty, nějaká textová reprezentace se jí netýká
[2] my nebo útočník, který by ukradl naši databázi

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.