Asymetrická kryptografie: Porovnání verzí

Smazaný obsah Přidaný obsah
→‎Poštovní analogie: Oprava převráceného principu důsledků vyzrazení privátního klíče
Řádek 39:
U asymetrické kryptografie má každý svůj visací zámek. Nejdříve Alice požádá Boba, aby jí poslal otevřený zámek bez klíče poštou. Poté jím Alice zamkne zprávu do schránky a tu pošle Bobovi. Bob potom může otevřít zámek svým klíčem a přečíst si zprávu od Alice. K poslání odpovědi musí mít Alicin otevřený zámek, kterým zamkne schránku a pošle ji zpátky Alici.
 
Největší výhodou tak je, že Alice ani Bob nepotřebují posílat kopii jejich klíče. Tímto se zamezí vytvoření kopie klíče někým třetím během přenosu a odposlouchávání všech následně poslaných zpráv mezi Alicí a Bobem. Nepotřebují tedy věřit poště tolik jako v prvním případě. Navíc, pokud by Bob někomu dovolil si zkopírovat jeho klíč, tak by byly kompromitovány pouze zprávy odpro Boba, ale všechny zprávy odpro AliceAlici by zůstaly utajené.
 
V dalším případě mají Bob a Alice každý svůj zámek. Nejdříve Alice vloží zprávu do schránky a zamkne ji svým klíčem, který má jen ona. Potom schránku poštou pošle Bobovi. Ten schránku zamkne i svým zámkem a pošle ji zpátky Alici. Alice odebere svůj zámek a schránku s jedním zámkem pošle Bobovi, který tento svůj zámek otevře svým klíčem. Toto je ovšem možné pouze tehdy, pokud je použitá šifra komutativní, což je taková šifra, ve které můžeme zaměnit pořadí šifrování a dešifrování: <code>A*B*C = A*C*B = C*B*A</code>. Například, nechť <code>E<sub>1</sub>()</code> a <code>E<sub>2</sub>()</code> jsou dvě šifrovací funkce a <code>M</code> je zpráva. Alice ji zašifruje použitím <code>E<sub>1</sub>()</code> a pošle <code>E<sub>1</sub>(M)</code> Bobovi. Bob pak zašifruje zprávu, vznikne <code>E<sub>2</sub>(E<sub>1</sub>(M))</code> a výsledek pošle Alici. Nyní Alice dešifruje <code>E<sub>2</sub>(E<sub>1</sub>(M))</code> použitím <code>E<sub>1</sub>()</code>. Teď má <code>E<sub>2</sub>(M)</code>, takže když toto pošle Bobovi, bude schopen to dešifrovat použitím <code>E<sub>2</sub>()</code> a výsledek bude <code>M</code>. Tento protokol může být použit například pro zabezpečenou výměnu klíčů.