Conventionele algoritmen (ook wel symmetrische algoritmen of geheime sleutelalgoritmen genoemd) gebruiken dezelfde sleutel om gegevens te versleutelen en te ontsleutelen. Dit betekent dat de zender en ontvanger dezelfde geheime sleutel moeten delen om veilig te kunnen communiceren.
Algoritmen met publieke sleutels (ook wel asymmetrische algoritmen genoemd) gebruiken twee verschillende sleutels:een publieke sleutel en een private sleutel. De publieke sleutel wordt gebruikt om gegevens te versleutelen, en de privésleutel wordt gebruikt om gegevens te ontsleutelen. Dit betekent dat de afzender gegevens kan coderen met de openbare sleutel van de ontvanger, en alleen de ontvanger kan de gegevens ontsleutelen met zijn privésleutel.
Hier is een tabel met een samenvatting van de belangrijkste verschillen tussen conventionele en publieke sleutelalgoritmen:
| Kenmerk | Conventionele algoritmen | Algoritmen voor openbare sleutels |
|---|---|---|
| Aantal sleutels | Eén sleutel | Twee sleutels (openbaar en privé) |
| Sleutelverdeling | Moet veilig worden gedeeld tussen zender en ontvanger | Publieke sleutel kan publiekelijk gedeeld worden, private sleutel moet geheim gehouden worden |
| Codering/decodering | Dezelfde sleutel wordt gebruikt om gegevens te coderen en te decoderen | Publieke sleutel wordt gebruikt om gegevens te coderen, privésleutel wordt gebruikt om gegevens te decoderen |
| Beveiliging | Minder veilig dan algoritmen met openbare sleutels | Veiliger dan conventionele algoritmen |
| Snelheid | Sneller dan publieke sleutelalgoritmen | Langzamer dan conventionele algoritmen |
Over het algemeen worden conventionele algoritmen gebruikt wanneer de verzonden gegevens niet erg gevoelig zijn of wanneer het communicatiekanaal veilig is. Algoritmen met openbare sleutels worden gebruikt wanneer de verzonden gegevens zeer gevoelig zijn of wanneer het communicatiekanaal niet veilig is. |