pondělí 6. června 2011

Víc než jen milé překvapení

Asi znáte ten příjemný pocit, když se vracíte z práce, školy, či jiné instituce s vědomím, že na vás někdo "čeká". Osobně mám ten pocit moc rád a je jen škoda, že mi jej už dlouho nebylo nedopřáno. Až dnes. Vše se kolem mně zase nějak mění a tak se asi není co divit, že na mě doma čekal beránek a svačinka s okousanou paprikou.

Pravda ale je, že beránek by to se svou jemnou motorikou nejspíš nesvedl, a tak všechen dík patří Vážené Paní Učitelce :).

neděle 5. června 2011

Nově v novém

A je hotovo. Konečně, po dvou týdnech postupného stěhování jsem už definitivně přemístěn na nové bydliště. Po několika letech na kolejích a roce v podnájemním pokoji je docela osvěžující mít konečně něco vlastního. Popravdě ten čerstvý vítr neprovětral jen můj, už pomalu lehce zatuchlý, život, ale taky notně provětrává mou peněženku. Ale co, po těch letech si snad můžu něco dopřát a peníze ? ty zase budou (zmínil jsem se, že mě povýšili :)?).

Možná zní zvláštně, že mi stěhovaní, i když pravda postupné, trvalo celé dva týdny. Překvapení to bylo i pro mně, nikdy bych nevěřil kolik "bordelu" je člověk schopen za relativně krátkou dobu nashromáždit. Nakonec se to ale povedlo a to v termínu, hlavní díky patří nejspíš brněnské MHD, která mi vše bez řečí odvozila a taky mamce, jejímž autem jsem odvezl většinu těch největších věcí.

No většinu...aspoň mi to tehdy tak připadalo. Tip pro všechny, kteří se někdy budou takhle stěhovat: nikdy si neříkejte "To už je v pohodě, zbytek odvezu zítra v jednom kufru", neodvezete! I v tom úplně posledním případě, kdy jsem to to řekl, jsem měl co dělat, abych to tam vše nacpal. Je v tom jakási magie, ale postupně se stále objevovaly nové a nové haldy věcí.

A ještě přidám jeden tip. Máte dobré srdce a rádi by jste věnovali oblečení, pro které již nemáte využití potřebným ? HA! Ani omylem. Na dveřích Armády spásy je toho napsáno mnoho, ale jen jeden nápis jde zřetelně vidět už z protějšího chodníku: "Oblečení neberem!!!". Smůla, ale při hlubším zamyšlení to může dávat smysl. Při dnešních cenách oblečení se veškerá práce spojená kontrolou, čištěním, a já neví čim ještě může nakonec i prodražit.

Nastává fáze dvě. Vybavit byt všemožným nábytkem a hlavně úložným prostorem pro skladování všech těch velmi potřebných věcí, a taky těch, které mi prostě bylo líto vyhodit. Což mi připomíná - svým způsobem mám stěhování rád, člověk se jednoduše zbaví všeho harampádí, které by mu jinak bylo líto vyhodit.

Ale zpět k fázi dvě. Popravdě už jsem v její polovině a zbývá už jen dovybavit jeden pokoj a hotovo (téhle věty budu později litovat). Asi jsem si ani nepředstavoval, jak jednoduše to bude probíhat. V podstatě to obnáší opakované cesty do Ikei, spoustu masových koulí, bezedných nápojů, nekonečné hodiny rozhodování a nakonec se už jen vžít do malého klučiny co právě dostal svou první krabici Lega (či Merkuru chcete-li).

Popravdě jsem byl velmi mile překvapen. Ikea sice dělá pěkně hnusné párku v rohlíku, ne tak úplně bezedné bezedné kelímky, příšerné utěrky, deštníky, ze kterých má jeden pocit, že zmokne jen jej vezme do ruky a nábytek diskutabilní kvality. Ale balení a hlavně manuály mají špičkové. Nezřídka si člověk připadá jako malé dítě, kterému paní vychovatelka důrazně vysvětluje, že kostička patří do toho čtvercového, ne kulatého, otvoru. Ale hej, funguje to perfektně a pokud si člověk dá pozor a nekoupí dveře, které jsou tak dvakrát vyšší než skříň ke které patří (nebo spíš nepatří), nečekají na vás žádná nepříjemná překvapení.

sobota 12. března 2011

Pot a dřina

Už to tak někdy bývá, že lidé občas mění svůj život, své návyky a nebo třeba své bydliště. V naší rodině je velmi módní ta změna poslední a tak se není čemu moc divit když se zmíním o tom, že jsem celý dnešek strávil s mamkou ve Vítkově sdíráním malby ze snad alespoň sto let starých zdí.

Není to bůhví jak povznášející činnost ale aspoň se mi dostane trocha toho tolik potřebného pohybu. Jednak toho před monitorem a klávesnicí mnoho za ten den nenapohybuju. Né snad, že bych si stěžoval, ale musím přiznat, že mám dnes již opravdu dost.

Tak abych to moje halekání zkrátil, dodám jen, že jsme dnes vše hrdinně zvládli, splnili normu i očekávání,  takže se mužů těšit, že rákosový strop uvidím zblízka snad už jen v muzeu. A protože člověk vždy nadějně vzhlíží ke světlým zítřkům,  i já už se zítra vidím jak v potu tváře tahám hromady klastí po zahradě s cílem umožnit průchod od jednoho plotu ke druhému bez použití mačety.

čtvrtek 25. února 2010

Hrátky s Gnuplotem

Před pár dny za mnou přišla má přítelkyně s tím, že potřebuje poradit s nějakým grafem. Řeknete si pche nějaký hloupý graf přece nemůže být problém. No tak to je přesně to, co mi v tu chvíli proběhlo hlavou.

Ukázala mi tabulku s jakýmisi hodnotami s tím, že v excelu je to na jedno kliknutí. Zde možná stojí za zmínku, že přítelkyně je šťastným uživatelem Ubuntu linuxu a na nějaký "Excel" už jistě dávno zapomněla. Bohužel už si nevybavím to šílené slovo kterým ten druh grafu titulovala, každopádně v Excelu se to prý jmenuje povrchový graf.

Jelikož sám nejsem zrovna nadšeným příznivcem molochů, jako je OpenOffice, či Microsoft Office, osobně raděli LaTeX stálo mně to chvilku hledání a následně i googlení, abych zjistil, že takový graf zřejmě OpenOffice neumí (pokud ano prosím podělte se se mnou).

No co řekl jsem si, když něco potřebuješ obrať se na profíka. A tak jsem se začal přehrabovat v dokumentaci Gnuplotu :). Jelikož nejsem ani žádný nadšený grafista chvíli mi trvalo, než jsem se dopracoval k něčemu o čem byla přítelkyně ochotná prohlásit že to je přibližně ono - docela úspěch na to, že jediné co jsem o tom grafu věděl byla vstupní data.

Mějme tedy vstupní data v podobě matice 10x10. V tomto případě se jedná pouze o náhodná data.

26502 17800 19489 28724 10661 5578 22339 26876 16096 17132 21579
1277 2745 28030 30732 29398 6996 27581 22413 7083 5514 22908
6020 8953 18124 15056 6036 5914 30910 7550 5445 7831 25231
25893 711 11825 21530 11819 3430 5038 30398 29545 4045 24932
16382 25238 27643 1671 29143 2932 2309 8242 17637 21948 28816
20278 6196 27082 18445 7846 17127 30729 8627 18207 25483 2844
24894 23256 18744 20690 12393 9837 21101 1479 16172 21099 23977
28633 19381 4506 10185 4945 11816 26638 13349 3790 25623 22252
6761 18929 22464 30973 22067 25290 24329 23540 29809 1541 11836
8831 14968 7636 14978 15120 8933 924 18465 14184 19508 8287
8309 4328 13602 10220 11184 26007 25282 23240 27217 31218 19553

Z těchto dat, dokáže Gnuplot vygenerovat vcelku pěkný 3D obrázek. Co jsem ale já, resp. moje přítelkyně, potřeboval, byl 2D obrázek zachycující kontury onoho 3D objektu jakoby rozsekaného do několika pásem (v z-ové ose, na níž se nanášejí právě ty hodnoty z matice).

Pro lepší pochopení si představte, že uvedená matice představuje výšky hor v pohoří a to co jsem já potřeboval je mapa s vrstevnicemi. To už se představit dá ne?

Takže asi následovně. Nejdříve bude třeba s matice vytvořit data, se kterými bude moci gnuplot pohodlně pracovat. Teda, ne že by to s maticí neuměl, ale pokud budeme chtít do grafu vykreslit obojí, bude Gnuplot protestovat.

set xrange [0:10]; set yrange [0:10]
set size ratio 1
set table 'gnuplot.data'
splot 'data' matrix
unset table

Tímto si gnuplot vytvoří z matice uložené v souboru data přijatelnější formát a uloží jej do souboru test.dat. Ostatní snad nemusím vysvětlovat, jen podotknu, že nastavení poměru je důležité, jelikož gnuplot z nějakého důvodu nepředpokládá čtvercová data a obrázek by tak byl zkreslený do obdélníku. Následuje ta důležitější část a co vytvoření dat pro ony zmiňované vrstevnice

set contour base
set cntrparam bspline
unset surface
set table 'gnuplot.cont'
splot 'data' matrix
unset table

Potřebné vysvětlení najdete v manuálu, protože jsem trošku lenivý to tady rozepisovat :). Snad jen zmíním, že v tomto příkladu jsem použil pro vykreslení kontur bspline, jelikož dat je málo a zaoblené to vypadá lépe. Jakmile máme data připravena můžeme graf vykreslit.

set terminal png
set output 'plot.png'
p 'gnuplot.data' with image, 'gnuplot.cont' w l lt -1 lw 1.5
# p 'cont.dat' w l lt -1 lw 1.5
# p 'test.dat' with image

Zakomentované řádky jsou jenom jednotlivé části (data a kontury) samostatně. A zde už je výsledek

Není to nic moc, což je asi taky důvod proč se rozhodla použít obrázek od kamarádky :(. Mimochodem, pokud místo dat použijete například nějakou pěknou funkci, vypadá to vážně moc dobře, viz. obrázek na začátku článku. Jde vlastně hlavně o to, že se mi nepodařilo přijít na to, jak vyplnit prostor, který kontury ohraničují nějakou barvou...snad příště. Pokud se najde nějaký gnuplotí odborník, který jednoduše Ví, prosím neváhejte a podělte se v komentáři.

Každopádně mně ale mrzí, že něco takového OpenOffice neumožňuje, nakonec, jak moc to může být složité? Asi jim napíšu feature request.

Zajímavé odkazy

Osobní údaje na internetu

Většinou, když se snažím lidem vysvětlit, že není dobré brát bezpečnost na internetu na lehkou váhu, dostane se mi ve většině případů otřepané odpovědi typu "A kdo by se tak asi zajímal o mně, nebo o můj počítač!". Schválně, kolik z vás už takovou odpověď slyšelo, vyslovilo, nebo si ji alespoň pomyslelo ? Je smutné, že takový názor je většinový i dnes, kdy jsou krádeže identit, tajných informací a napadání osobních počítačů za účelem zisku na denním pořádku.

Má reakce na takovouto odpověď bývala, že útočníkovi je vcelku jedno, že daný člověk je Pepa Paběrka z Kotěhůlek (Jen doplním, že útočník samozřejmě sám žádný takový útok neprovádí, ale dělají to za něj automatizované nástroje, malware, spyware apod.). Podstatné pro něj je, že vlastní vcelku slušný počítač s dobrým připojením k internetu, jehož výpočetní výkon může použít pro libovolnou činnost. Nutno dodat, že tato činnost bývá vždy nelegální. A tak se Pepův počítač může stát účastníkem útoků na různé korporátní, nebo vládní servery či rozesílat nabídky na viagru apod. Možnosti útočníka jsou neomezené. Ovšem v dnešní době je stále více patrné že to ani zdaleka není vše.

Počítač našeho milého Pepy totiž obsahuje také spousty emailových kontaktů, které mohou být využity pro spam. Mnoho kontaktů různých kecálků mohou být také velmi dobře využity pro nevyžádaná sdělení. Ale to ani zdaleka není vše. Bankovní čísla, hesla k účtům (také bankovním), jména a adresy lidí, firemní tajemství atd atd. Je jasné, že útočníci se zajímají i o osobní údaje obsažené na počítači. Ovšem zde je situace ještě horši, než se může zdát.

I takové informace, které bychom označili za velmi osobní je totiž mnoho lidí více než ochotno vystavit na internetu všem na odiv (facebook, libimseti,xchat, různé blogísky atd). Množství a povaha takových informací může být někdy až zarážející. Nebudu zde zacházet do podrobností, jelikož nejsem z těch kteří by toužili tyto informace využít, ale vězte, že takových už ne pouze jednotlivců, ale celých organizací je spousta a ač se vám to může nepozdávat, dovedou takové informace velmi dobře využít.

Jeden příklad za všechny je třeba intelius.com, kde si můžeteza nepatrný poplatek nechat pro libovolnou osobu vyhledat informace jako je například, přibližný plat, telefonní čísla, zaměstnavatele, datum narození, jméno za svobodna, data narození rodičů, nebo i přibližnou velikost majetku. To jsem jen vypíchl pár věci kterých jsem si na stránkách všiml. Tato konkrétní služba je koncipována pouze pro USA, ale určitě existují i hromady dalších bez tohoto omezení.

V článku Web Fraud 2.0: Data Search Tools for ID Thieves autor popisuje své zkušenosti s takovými službami. Podotýkám, že tvrdí, že je opravdu vyzkoušel, tedy za informace si zaplatil. Je až neuvěřitelné čeho se dá takovým způsobem dosáhnou. Z věcí co mne zaujaly asi nejvíce je možnost zjištění zůstatku na bankovním účtě, nebo možnost změnit adresu pro zasílání vyúčtování z kreditní karty. Nad takovými možnostmi už se člověk opravdu podiví. Každopádně doporučuji přečíst.

Situace je kritická, nikoliv však beznadějná. Na internetu čeká na uživatele spousta hrozeb. Vzhledem k řečenému výše, je potřeba si v prvé řadě uvědomit, že i Já(Ty) jsem cílem takových organizací a tomu se pak přizpůsobit. Tedy nevystavovat na internetu osobní údaje, pokud to není nutné (a to není nikdy), raději zadávat údaje neplatné a vymyšlené, chránit svá hesla (opravdu není důvod aby mé heslo znal i někdo cizí) a také v neposlední řadě chránit svůj počítač (antivirem, firewallem).

Co se týče posledního bodu, dá se to rozvést na samotný článek, nebo spíše seriál, ideálně i na sérii knih. Počítačová bezpečnost není samoúčelná a různé přístupy mohou být různě efektivní. Jako jednu z velmi efektivních bych označil výběr operačního systému. Například výměnou systému MS Windows za nějakou z Linuxových distribucí (doporučuji Ubuntu) můžete získat mnohem bezpečnější systém bez virů, spyware a podobného haraburdí, které operační systém Windows přitahuje jako magnet. Důvodů, proč je Linux mnohem bezpečnější než jakýkoliv windows, je opravdu velmi mnoho. Možná někdy napíšu nějaký článek o tom proč používat právě Linux, ale nyní zájemce odkážu na českou stránku prezentující Linux www.proclinux.cz. Nepodléhejte ovšem iluzi o absolutní bezpečnosti, nic takového neexistuje a jakkoli bezpečný operační systém, potažmo program, je bezmocný při střetu s nepřemýšlejícím uživatelem.

A pamatujte, chraňte své osobní údaje a svou identitu! V dnešní době je to potřeba.

Souvísející odkazy

Správa uživatelů v linuxu (pro začátečníky)

Tenhle článek jsem se rozhodl napsat zejména proto, že z vlastních zkušeností vím, jakým hrůzným způsobem jsou schopni běžní Frantové uživatelé (BFU) pracovat se svým systémem. Doufám, že člověk, který mi byl inspirací právě čte tyto řádky a tuší, že je řeč o něm a také doufám, že si z tohoto článku něco pozitivního odnese.

Ke správu účtů se většina uživatelů laiků dívá asi tímto způsobem: "Jaké účty? Jaká správa?". A pak dochází ke zmatkům, nepořádku v domovském adresáři, rozvrtaných nastaveních různých programů a podobně. A přeci stačí tak málo, vytvořit pro naše milované členy rodiny, nebo přátele vlastní účet. Nejen, že se zbavíme všech možných i nemožných problémů z koexistence více uživatelů na našem účtu plynoucích, ale myslím, že s povděkem to přijme i strana druhá, tedy naši blízcí, kteří jistě uvítají možnost upravit si prostředí k obrazu svému.

V původu těchto problémů bych se nerad šťoural, ale na vině bude nejspíš zvyk z windows, kde většinou celá rodina používá na rodinném počítači jeden účet a to ještě ten superuživatelský. Ovšem operační systém vyžaduje systém. A není nakonec krásné, když je vše přehledně uspořádané, uživatelé si navzájem nepřepisují data, nepřenastavují programy a nedohadují se kdo bude používat který komunikátor. Věřím, že spousta laiků si momentálně nedovede výhody takového přístupu úplně přesně představit, ale vězte, že výhody to jsou a nezanedbatelné, stačí jen vyzkoušet.Tak tedy jak na to?

Uvedený postup se v této části bude týkat distribuce Ubuntu, tedy pracovního prostředí Gnome. Ovšem idea zůstává stejná.

Správu uživatelů a skupin naleznete v menu Systém->Správa->Uživatelé a skupiny. Všimněte si, že položka se nachází v podmenu Správa což naznačuje že se jedná o nastavení ovlivňující celý systém na rozdíl od podmenu Volby, kde se nastavení týkají pouze daného uživatele.

V okně Nastavení uživatelů vidíte stávající uživatele s tím, že žádné volby nejsou momentálně aktivní. Je potřeba nastavení odemknout, což bude vyžadovat vaše heslo. Všimněte si že uživatel root je deaktivován. Je tomu tak z důvodu zvýšení bezpečnosti na desktopových počítačích, nedoporučuji tedy si s nastavením uživatele root pohrávat. Po odemknutí již můžete přidat nového uživatele. V okně Nový uživatelský účet můžete nastavit zejména uživatelské jméno, tedy login, a heslo. Ostatní položky můžete klidně nechat prázdné.

Pro ty zvídavé jen doplním, že zde lze nastavovat i práva jednotlivých uživatelů formou přidělování uživatelských skupin v záložce Uživatelská oprávnění. Položky jsou zde vcelku výstižně pojmenovány, nemá smysl se jimi nějak zabývat. Snad jen doporučím nedávat ostatní uživatele do skupiny adm, tedy nepřidělovat jim právo Spravovat systém. Jde přeci jenom o Váš počítač a měli by jste mít nad vašim systémem alespoň nějakou kontrolu.

Záložka Pokročilé skrývá nastavení, která stejně ani nebudete mít touhu měnit. Ono vlastně ani není proč, pokud ovšem nechcete nastavit uživateli nějakou společnou hlavni skupinu.

Tím bychom měli celý proces přidání uživatele zvládnutý. Nezbývá než se přihlásit. Jen mě ještě napadá, že se mohou vyskytnout situace, kdy chce být připojeno více uživatelů naráz. Taková situace není neobvyklá ba je dokonce v mnoha případech i žádaná a linux jako takový je vyvíjen jako multiuživatelské prostředí. Problém ovšem může nastat, když musíte oba sdílet klávesnici i monitor, stručně řečeno jeden počítač. Ovšem i v tomto případě nejste nuceni se neustále odhlašovat a přihlašovat. Gnome vám nabízí možnost přepnout uživatele, pomocí které se jednoduše spustí další X server a v něm můžete přihlásit dalšího uživatele. Pak již mezi jednotlivými uživateli jednoduše přepínat.

Přepnout uživatele můžete jednoduše z hlavního panelu, kde kliknete na položku s vašim loginem. V menu pak vyberete uživatele na kterého chcete přihlásit a voila - hotovo. Když už je další X server vytvořený dá se mezi nimi přepínat klasickou kombinací Alt+f(7 a výše), resp z grafického rozhraní Ctrl+Alt+f(7 a výše).

Pro uvedený postup samozřejmě existuje mnohem jednodušší a rychlejší alternativa a sice použití terminálu:

man adduser

Další možností je přímo editace souborů /etc/passwd a /etc/group, kde se nachází seznam všech uživatelů a skupin. Ovšem tento postup bych rozhodně nedoporučil nezkušenému uživateli. Jednak by nejspíš neznal ani syntaxi souboru a navíc by z největší pravděpodobností něco velmi pohnojil. Ikdyž člověk se pořád učí že?

Jak na jednorázová hesla v Linuxu

Zabezpečení serverů, se mnohokrát bohužel neobejde bez různých kompromisů, které mnohdy mohou vést až k docela nepříjemným bezpečnostním dírám. Například v situaci, kdy potřebujete mít k serveru v podstatě nepřetržitý přístup odkudkoli je situace dosti obtížná. Samozřejmostí je zakázat přihlašování pomocí hesel a přihlašovat se pouze pomocí klíčů. Ovšem co dělat v případě, kdy se potřebujete připojit z nedůvěryhodného stroje, kde je možnost odposlechu klíče vcelku velká, nebo prostě sebou své privátní klíče netaháte po kapsách?

Vcelku elegantním řešením v tomto případě můžou být jednorázová hesla (OTP). Jelikož je každé takové heslo vždy pouze na jedno použití je nebezpečí plynoucí z odposlechu hesla naprosto irelevantní. V tomto článku bych se pokusil popsat postup jak zprovoznit přihlašování na vzdálený server přes ssh pomocí jednorázových hesel. Veškerý uvedený postup byl prováděn na Debian linuxu, ovšem bude s drobnými obměnami platný i na jiných distribucích, dost možná i na jiných systémech, pro které byl program portován.

Instalace

Pro plnou funkčnost, tedy generování i ověřování klíčů budeme potřebovat tyto 3 balíčky :

  • libpam-opie - modul pro PAM
  • opie-client - programy pro generování sady hesel
  • opie-server - programy pro vytvoření master hesla a poskytování informací o OTP
Vše nainstalujeme pomocí :

aptitude install libpam-opie opie-client opie-server

Nastavení

Za předpokladu, že budeme jednorázová hesla používat pro autentizaci přes ssh, budeme muset správně nastavit ssh démona. V souboru /etc/ssh/sshd_config upravíme následující:

ChallengeResponseAuthentication yes
PasswordAuthentication yes

Jelikož v linuxu používáme PAM, musíme nastavi soubor, který používá ssh server. Nejspíše jej najdeme zde /etc/pam.d/ssh. V této chvíli je ovšem potřeba se zamyslet a to hlavně v případě, že jsme na daný stroj připojeni vzdáleně. Hrozí totiž, že si odřízneme k serveru přístup úplně. Pro testování prozatím doporučuji odkomentovat druhý řádek, aby nám zůstala možnost přihlásit se heslem v případě, že se něco nepovede.

# @include common-auth
# auth    sufficient      pam_unix.so
auth    sufficient      pam_opie.so
auth    required        pam_deny.so
Všimněte si, že include je zakomentovaný. Nyní je třeba restartovat ssh server.

Vygenerování hesel

Nejdříve inicializujeme sekvenci hesel a zavedeme master heslo.

opiepasswd -c

Toto bychom měli provádět v ideálním případě přímo na daném stroji, aby nedošlo k odposlechu master hesla. Pokud i přesto toužíte vygenerovat hesla vzdáleně použijte parametr -f. Master heslo by mělo být dostatečně bezpečné a dostatečně dlouhé (10 - 127 znaků). Heslo si po absolvování celého návodu není třeba pamatovat!

V souboru /etc/opiekeys si můžeme ověřit že heslo již na serveru opravdu je. Pomocí nástroje opieinfo se můžeme podívat, jaké heslo bude vyžadováno při dalším přihlášení.

Nyní přichází na řadu ta nejpodstatnější část a to je vygenerování sady jednorázových hesel pomocí příkazu :

opiekey -n 10 'opieinfo', nebo například opiekey -n 10 498 as2776

Při zadávání master hesla se musíme mít napozoru, jelikož se nekontroluje jeho správnost (není k tomu důvod, ani to není žádoucí). Mohlo by se tedy lehce stát, že vygenerujete sadu hesel, která ovšem nebude korespondovat s heslem uloženým na serveru a bude tedy nepoužitelná. Po vygenerování sady hesel můžeme master heslo zapomenout, pak ale budeme muset v případě potřeby dalších hesel znovu inicializovat sekvenci hesel pomocí opiepasswd.

A jak to funguje ?

Jednorázová hesla fungují na velmi jednoduché principu, je ovšem potřeba ten princip nejprve pochopit. V návodu jsme nejdříve inicializovali sekvenci hesel. Předali jsme programu naše tajné master heslo a ten na něj aplikoval 499-krát hashovací funkci ƒ a výsledek si zapamatoval. Hashovací funkce musí být zvolena takové, o které se ví, že pro ní neexistuje reverzní algoritmus.

Dále jsme si nechali vygenerovat sadu jednorázových hesel. Opět jsme programu předali naše tajné master heslo a ten na něj aplikoval funkci ƒ tolikrát kolik bylo potřeba podle parametru -n. Příslušné mezivýsledky nám vytiskl. Aby byla hesla čitelnější jsou překládána pomocí slovníku vybraných anglických slovíček, ale to pro funkci není podstatné.

A nyní přichází ta vtipná část. Při přihlášení po nás bude server vyžadovat vždy heslo s indexem o jedna nižším než to, které je uloženo na serveru. Jako příklad vezměme první přihlášení po vygenerování hesel. Na serveru je heslo s indexem 499, na master heslo byla tedy hashovaci funkce ƒ aplikována 499-krát. Server po nás bude chtít heslo s indexem 498. Na něj aplikuje hashovací funkci ƒ a získá heslo s indexem 499. Pokud se hash shoduje s heslem na serveru je vše v pořádku a server zapomene heslo 499 a zapamatuje si námi předané heslo 498. A tak to pokračuje dále až to vyčerpání sady. Geniálně jednoduché a jednoduše geniální.