In een symmetrisch encryptie-algoritme wordt dezelfde geheime sleutel gebruikt voor zowel versleutelings- als versleutelingshandelingen. Bij een asymmetrisch algoritme worden de handelingen uitgevoerd door twee verschillende, maar gerelateerde Public en Private key in een sleutelpaar. Elke sleutel is in staat om de handeling van zijn partner ongedaan te maken. Bijvoorbeeld, als de Public key wordt gebruikt om een bericht te versleutelen, kan alleen de bijbehorende Private key de resulterende versleutelde tekst ontcijferen. De public key kan niet worden gebruikt om de versleutelde tekst te ontcijferen, zelfs niet als deze is gebruikt om deze te versleutelen.
De sleutels zijn op zodanige wijze verbonden dat het onmogelijk is om de ene sleutel te berekenen op basis van de andere. Dit betekent dat de eigenaar van de sleutel de openbare sleutel kan verspreiden naar iedereen van wie hij of zij veilige berichten wil ontvangen. Niemand anders kan de openbare sleutel gebruiken om de berichten te decoderen; alleen de gekoppelde privésleutel is hiertoe in staat.
Asymmetrische versleuteling kan worden ingezet om iemands identiteit te verifiëren. De eigenaar van een privésleutel kan niet worden nagebootst door anderen. Het nadeel van asymmetrische versleuteling is dat het aanzienlijk meer rekenkracht vereist in vergelijking met symmetrische versleuteling. Het bericht mag niet groter zijn dan de sleutelgrootte. In gevallen waarbij grote hoeveelheden gegevens worden versleuteld op een schijf of over een netwerk worden verzonden, is asymmetrische versleuteling niet efficiënt. Daarom wordt asymmetrische versleuteling voornamelijk gebruikt voor authenticatie, het voorkomen van het ontkennen van transacties, en voor het vaststellen en uitwisselen van sleutels. Het uitwisselen van sleutels verwijst naar het afspreken van een geheime symmetrische sleutel voor het versleutelen van grote hoeveelheden gegevens, zonder dat anderen deze sleutel kunnen ontdekken.