Presnejšie povedané, ak je ten web napísaný správne, tak by heslo poznať nemal. Preto vám tiež nepovie, keď prechádzate cez formulár na zabudnuté heslo, aké presne heslo ste vlastne zabudli, ale buď vygeneruje nové náhodné, alebo vám nejako ponúkne možnosť zadať iné. To zabudnuté jednoducho nikto nepozná.
Na uloženie hesiel sa používajú takzvané jednosmerné šifry. Bežná (teda obojsmerná) šifra prevádza jednu správu na druhú bez strát. Veľmi známa je napríklad Cézarova šifra, kde sa vymieňajú písmenká podľa nejakej vopred dohodnutej prevodnej tabuľky:
TELEVÍZIA HRÁ => YRARBOUR JTSKR
V tomto prípade som vychádzal z pozície písmeniek na klávesnici. Hneď ako pochopíte konkrétny použitý postup šifrovania, ste schopní rozlúštiť pôvodný text. Rôzne jednoduché šifrovacie triky si môžete pozrieť v Zašifranej nástenke. Pri obojsmernej šifre býva cieľom, aby príjemca správy (a ideálne nikto iný!) dokázal bezchybne rozlúštiť, čo mu je oznamované.
Jednosmerné šifry o bezchybnosť neusilujú. Ich cieľom je naopak vytvoriť poškodenú správu – takzvaný odtlačok – v ktorom je pôvodné oznámenie rozriedené. Napríklad môžu zoradiť písmenká podľa abecedy:
TELEVÍZIA HRÁ => AEEEEHIJLRTVZ
Z tejto zmesi písmeniek už pôvodné oznámenie jednoznačne poskladať nejde, pretože existuje množstvo správ s rovnakým odtlačkom...
HRÁ TELEVÍZIA => AEEEEHIJLRTVZ
HELE ZAVIREJTE => AEEEEHIJLRTVZ
ZERETE JIHLAVE => AEEEEHIJLRTVZ
HAZEJ VERITELE => AEEEEHIJLRTVZ
... a tak ďalej.
Na vytváranie odtlačkov existuje v informatike množstvo overených postupov, zvyčajne sa písmenká prevádzajú na čísla a vykonáva sa s nimi pomerne veľké množstvo matematických operácií – sčítania, násobenia, zvyšky po delení, mocnenie. Výsledkom je jedno obrovské číslo (zvané hash, čítané [heš]) poskladané zo stoviek núl a jednotiek. Akákoľvek malá zmena v utajovanom oznámení zmení hodnotu odtlačku na nepoznanie.
TELEVÍZIA HRÁ => 328 233 511 345 688 276 319 516 582 552 617 899 886
TELEVÍZIA HRABE => 121 726 223 404 660 788 683 447 277 013 813 716 577
Ak sa teda niekde registrujete, systém si neukladá skutočné heslo, ale len jeho odtlačok. Kedykoľvek sa prihlasujete, tak z vami zadávaného hesla tiež vypočíta odtlačok rovnakým spôsobom a porovná ho s tým, ktorý má uložený v databáze. Ak sa odtlačky zhodujú, je veľmi pravdepodobné, že bolo zadané rovnaké heslo ako pri tej registrácii. Dosť chytré, že?
Bystrý čitateľ teraz namietne „veľmi pravdepodobné, to ale neznamená, že je to isté!“ – a má pravdu. Existuje v skutočnosti veľa rôznych hesiel, ktorými by ste sa mohli prihlásiť. Dokonca ich je teoreticky nekonečno.
Avšak šanca, že by sa niekto dokázal trafiť do hesla s rovnakým odtlačkom, je astronomicky malá. Pravdepodobne by to iné zhodné heslo malo státisíce znakov, takže je omnoho pravdepodobnejšie, že útočník nejako uhádne vaše heslo, než že by si tipol nekonečne dlhú postupnosť rozmanitých znakov, ktorým by vyšiel rovnaký odtlačok.
Overené jednosmerné šifry bývajú tak zložité, že aj keby ste poznali odtlačok, spätné odvodenie nejakého zodpovedajúceho hesla je strašne veľmi výpočtovo náročné, zabralo by desiatky rokov času. Ak sa niekto nabúra do cudzej databázy, prakticky jedinou možnosťou, ako z nej môže „vycucať“ heslá, je metóda pokus-omyl, to znamená skúšať hrubou silou všetky možné kombinácie znakov, počítať z každej z nich odtlačok a ten porovnávať s uloženým odtlačkom.
Keď vás nejaký program alebo web núti dávať do hesla malé aj veľké znaky, čísla a špeciálne znaky, alebo zadať dlhšie heslo, robí to práve preto, aby útočník potreboval rádovo viac pokusov na prelomenie. Heslo zložené napríklad zo štyroch číslic sa dá prelomiť až príliš ľahko – stačí desaťtisíc pokusov.

Zo seriálu Stranger Things, prelamovanie nie príliš zložitého hesla
, © Netflix
Dúfam, že som opísal tento kút kryptografie zrozumiteľne. Je snáď teraz už aj celkom dobre viditeľné, aký veľký dôraz sa kladie na to, aby boli heslá skutočne tajné. Svoje heslo nikomu nehovorte. Ani prevádzkovateľ webu by sa vás naň nikdy nemal pýtať – nemal by ho potrebovať. Opatrný používateľ heslo nikam inam než do registračného a prihlasovacieho formulára nikdy nepíše.



