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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 0
dnes 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
včera 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 15
včera 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 8
včera 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 2
včera 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
včera 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 0
včera 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
1.12. 21:00 | Nová verze

Byla vydána beta verze Linux Mintu 18.1 s kódovým jménem Serena. Na blogu Linux Mintu jsou hned dvě oznámení. První o vydání Linux Mintu s prostředím MATE a druhé o vydání Linux Mintu s prostředím Cinnamon. Stejným způsobem jsou rozděleny také poznámky k vydání (MATE, Cinnamon) a přehled novinek s náhledy (MATE, Cinnamon). Linux Mint 18.1 bude podporován až do roku 2021.

Ladislav Hagara | Komentářů: 0
1.12. 16:42 | Nová verze

Byl vydán Devuan Jessie 1.0 Beta 2. Jedná se o druhou beta verzi forku Debianu bez systemd představeného v listopadu 2014 (zprávička). První beta verze byla vydána v dubnu letošního roku (zprávička). Jedna z posledních přednášek věnovaných Devuanu proběhla v listopadu na konferenci FSCONS 2016 (YouTube, pdf).

Ladislav Hagara | Komentářů: 0
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 767 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: hashovaci funkce

10.9.2013 23:33 jenda
hashovaci funkce
Přečteno: 490×
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.
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.
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?
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í…
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ší.
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.