Podpisový algoritmus
Podpisový algoritmus je jednoduše řečeno způsob, kterým se z poskytnutých dat či informací generuje jejich otisk (tzv. hash).
Podstatou hashe je, že ho můžete vypočítat z jakékoliv (a jakkoliv dlouhé) informace. Řekněme, že máte dokument, z něhož pomocí některého podpisového algoritmu vypočítáme hash. Provedeme-li stejný výpočet na stejném dokumentu, získáme vždy stejný hash. Pokud by ale byl v tomto dokumentu pozměněn byť jen jeden znak či slovo, pak hash vypočtený pomocí stejného algoritmu bude jiný. Díky tomu lze ověřovat integritu dat, tedy že nebyly nijak upraveny.
Nejčastěji se setkáte s podpisovými algoritmy MD5, SHA1 a SHA2. První dva jmenované se již nepoužívají, protože již nejsou považovány za dostatečně silné a bezpečené. Například pro ukládání hesel se používají ještě silnější algoritmy a další metody, které defacto znemožňují tyto hashe převést zpět do původní podoby (a tím potenciálnímu útočníkovi uhodnout heslo).
V současnosti se v oblasti digitálních certifikátů nejčastěji používá podpisový algoritmus SHA2 (sha256 nebo sha384).
Příklad hashe textu "SSL certifikát" pomocí různých podpisových algoritmů:
Původní text: | SSL certifikát |
MD5 hash: | 37b9cf09fe306f3d9c8cca3e70ecf735 |
SHA1 hash: | 9ed3741503b06003c7179c2d0ecc3794b1ca6cec |
SHA2 (sha256) hash: | 990720b313030f0089096f4926795ab261d3f110225d8d030778a20d4ceba9bd |
SHA2 (sha384) hash: | 71ddcfe0704904113d003c5da26a4255e1e58ac36f68289985da913e25f9b22d1018e5818da75923b5b81664eb09c209 |
Kromě SSL certifikátů na tomto principu fungují i osobní ID certifikáty (pro digitální podpis e-mailů či digitální podpis dokumentů) a Code-Signing certifikáty pro podpis kódu (například aplikací).