PGP
Šifrovací algoritmus PGP (Pretty-Goog-Privacy) a zároveň jeho implementácia - softwarový balík, vytvorený Zimmermannom a šírený po Internete ako freeware, neoficiálny svetový štandard
na šifrovanie elektronickej pošty.
PGP na požiadanie vytvorí pár verejného a tajného kľúča. V priebehu dialógu s programom je treba zadať dĺžku kľúča pre RSA, ktorá môže byť 2048 bitov. Za celkom bezpečnú hodnotu sa dnes pokladá
1024 bitov, RSA s kľúčom dĺžky 512 bitov už bola niekoľkokrát dešifrovaná a napriek tomu, že vždy išlo o mimoriadnu spotrebu strojového času i programátorských kapacít, zdá sa, že v blízkej dobe ju bude možné lúštiť pomerne rutinne, zatiaľ čo kľúč dĺžky 1024 bitov je aj do budúcnosti pomerne spoľahlivý. Tajný kľúč sa ukladá v zašifrovanej podobe a je chránený heslom. Užívateľ by ho mal prechovávať najradšej mimo svoj počítač, súčasne by však mal mať k dispozícií bezpečnostnú kópiu. V prípade poškodenia alebo straty tajného kľúča ho totiž nie je možné rekonštruovať a všetkým, ktorí majú k dispozícií tento verejný kľúč, musí klient (vlastník) poslať nový kľúč. Užívateľ PGP má vždy aspoň 2 súbory s kľúčmi: jeden, v ktorom chráni svoj tajný kľúč a druhý, v ktorom má verejné kľúče všetkých ľudí, s ktorými komunikuje. Môže ich získať buď priamo od potenciálnych adresátov správ, alebo z iného zdroja. Parametrom zašifrovania správy je text a verejný kľúč príjemcu. Na dešifrovanie prijatého dokumentu sa použije privátny kľúč.
Ide o komplexný šifrovací systém, ktorý súbežne používa viac šifrovacích prostriedkov, čím rastie obtiažnosť prípadného dešifrovania. Prvé, čo PGP urobí so správou, ktorú má zašifrovať, je komprimácia bežným algoritmom PKZIP. Nasleduje vygenerovanie náhodného 128 bitového kľúča, unikátneho pre každé jednotlivé použitie. Tento kľúč sa použije k zašifrovaniu textu správy konvenčným algoritmom IDEA. Sám kľúč sa potom zašifruje algoritmom RSA za použitia verejného kľúča príjemcu, a takto zašifrovaný
kľúč sa ku správe pripojí ako jej záhlavie. Celok sa potom ešte prevedie do vytlačiteľných ASCII znakov, aby ho bolo možné ľahko odoslať e-mailom. RSA teda slúži iba ako bezpečný kanál pre prenos konvenčného kľúča.