Kniha Real-World Cryptography od David Wong je to nejpřístupnější, co si můžete o kryptografii přečíst, alespoň co je mi známo. Dostatečně jednoduchá, abych ji pochopil. Dostatečně složitá, abych se k ní musel vrátit. Dál byste v podstatě nemuseli číst tento příspěvek a mohli si jít knihu rovnou koupit. Nicméně uvádím, jak jsem ke svému závěru došel.

Úvod

Posledních dvanáct let se motám kolem software, který se více či méně týká počítačové bezpečnosti. Aby bylo jasno, nejsem kryptolog a nikdy jím nebudu, ale podílel jsem se například na vydávání biometrických pasů. Každopádně se snažím v oboru celou dobu vzdělávat. No a není to snadné. Obor je to komplexní. Že jste udělali chybu, se může projevit až později jako obrovský průšvih. Když věci ladíte, někdy stačí jediný bit jinak a celé je to špatně, ale nevíte proč.

Co jsem zatím četl

Naprostá nutnost je Kniha kódů a šifer od Simon Singh (překlad Petr Koubský). V roce 2022 vyšel dotisk (již 4. české vydání), tak by měla být k mání. Je to populárně naučné, velmi čtivé. Pracovně si s tím však nevystačíte.

Kdysi jsem četl Java Cryptography (Jonathan Knudsen). Dnes už prehistorie z roku 1998, popisující Java Cryptography Architecture (JCA) v Java 1.2 Dlouho jsem to neměl v ruce. API asi ještě bude platit. Ale úplně chybí knihovna Bouncy Castle a píše se tam ještě o SHA-1.

Sáhl jsem tedy po Java Cryptography: Tools and Techniques. To je extrém z druhé strany, já bych to pojmenoval Bouncy Castle Recipes, tedy ukázky kódu, jak používat Bouncy Castle. Chybí vysvětlení konceptů. Pro mě těžko přístupné. Zkrátka moc velký znalostní skok.

Kurzy

Na Coursera jsem před lety absolvoval kurz Cryptography I. Očekávaná zátěž sedm hodin týdně. Zvládal jsem jen teorii, praktické úlohy už ne. Dan Boneh je skvělý lektor, kurz je kvalitní, ale dost zaměřený na formální matematiku, což možná není to, co právě hledáte.

Real-World Cryptography

Konečně se dostávám ke knize Real-World Cryptography, kterou považuji za poklad. Vyšla v nakladatelství Manning, což už je záruka samo o sobě.

Většina zdrojů je poměrně náročná na matematiku a většina vývojářů, kteří se zabývají kryptografií, se nechce zabývat matematikou.

Didakticky mě velmi oslovila. Staví znalosti od základních kamenů po složitější. Přijde mi, že vysvětluje principy a vykládá jen tu nejnezbytnější matematiku. Nezahlcuje, ale nechává prostor k dalšímu samostudiu.

Věnuje se dokonce kryptoměnám i FIDO2. Vysvětluje protokol Signal (který používá i WhatsApp). Popisuje i post-quantum cryptography, tedy kryptografii odolné vůči útoku za pomoci výpočetního výkonu kvantových počítačů. Ač kniha vyšla v roce 2021, kdy tyto algoritmy ještě nebyly standardizované, nijak vás nesvede na scestí.

Dál obsah pitvat nebudu, můžete si udělat představu sami.

Chci, abyste si uvědomili, že jste v privilegované pozici. Kryptografie začala jako obor za zavřenými dveřmi, omezený pouze na členy vlády nebo akademiky udržované v tajnosti, a pomalu se stala tím, čím je dnes: vědou otevřeně studovanou po celém světě.

Závěr

Doporučuji všem (nejen programátorům), kteří potřebují kryptografii nějak používat (což jsou stejně všichni). Dostatečně jednoduchá, abych ji pochopil. Dostatečně složitá, abych se k ní musel vrátit a pak pokračoval ve studiu jinde.

Související