Asymetrické šifrovanie je založené na tzv. jednosmerných funkciach. Nie je potrebné vysvetľovať, ako funguje šifrovací algoritmus, ale dôležité je, že na toto asymetrické šifrovanie sa nepoužíva iba jeden kľúč, ako je to bežné v tzv. symetrickom šifrovaní, ale používajú sa dva kľúče. Keď sa informácia zakóduje jedným kľúčom, dá sa rozkódovať iba tým druhým a naopak. To znamená, že ak niečo zakódujeme jedným kľúčom, a druhý nemáme, už sa k pôvodnej správe nedostaneme.
Bezpečnosť algoritmu (t.j. za aký čas je možné prelomiť algoritmus a dostať sa k pôvodnej správe bez znalosti druhého kľúča) závisí jednoznačne od dĺžky kľúča. Tá sa dnes pohybuje od 512 do 2048 bitov, pričom 1024 bitový kľúč je dnes považovaný za neprelomiteľný v reálnom čase pri využití súčasných výkonov počítačov. Ako sa postupne bude zvyšovať výkon počítačov, bude sa postupne zväčšovať aj dĺžka kľúčov, aby bola zachovaná rovnaká bezpečnosť prenosu informácií.
Tieto dva kľúče sú pre algoritmus rovnocenné. Jeden z nich sa vyhlási za tzv. verejný kľúč a druhý za súkromný kľúč. Verejný kľúč je možné dať k dispozícií každému, kto o nej požiada, ale súkromný kľúč sa musí dobre uschovať.
S kľúčmi sa pracuje takto:
Ak niekto posiela
"tajnú" správu, zakóduje ju verejným kľúčom príjemcu a
nikto iný sa už ku nej nedostane, dokonca ani sám odosieľateľ, ak si ju
pred
kódovaním neodložil. Správu môže rozkódovať len príjemca svojim
súkromným
kľúčom.
Podobne funguje aj komunikácia medzi počítačmi protokolom SSH - Secure Shell. Tento protokol poskytuje tieto služby: