Konventionelle algoritmer (også kaldet symmetriske algoritmer eller hemmelige nøglealgoritmer) bruger den samme nøgle til at kryptere og dekryptere data. Det betyder, at afsender og modtager skal dele den samme hemmelige nøgle for at kunne kommunikere sikkert.
Offentlige nøglealgoritmer (også kaldet asymmetriske algoritmer) bruger to forskellige nøgler, en offentlig nøgle og en privat nøgle. Den offentlige nøgle bruges til at kryptere data, og den private nøgle bruges til at dekryptere data. Det betyder, at afsenderen kan kryptere data med modtagerens offentlige nøgle, og kun modtageren kan dekryptere dataene med deres private nøgle.
Her er en tabel, der opsummerer de vigtigste forskelle mellem konventionelle og offentlige nøglealgoritmer:
| Funktion | Konventionelle algoritmer | Offentlige nøglealgoritmer |
|---|---|---|
| Antal nøgler | En nøgle | To nøgler (offentlige og private) |
| Nøglefordeling | Skal deles sikkert mellem afsender og modtager | Offentlig nøgle kan deles offentligt, privat nøgle skal holdes hemmelig |
| Kryptering/dekryptering | Samme nøgle bruges til at kryptere og dekryptere data | Offentlig nøgle bruges til at kryptere data, privat nøgle bruges til at dekryptere data |
| Sikkerhed | Mindre sikker end offentlige nøglealgoritmer | Mere sikker end konventionelle algoritmer |
| Hastighed | Hurtigere end offentlige nøglealgoritmer | Langsommere end konventionelle algoritmer |
Generelt bruges konventionelle algoritmer, når de data, der transmitteres, ikke er meget følsomme, eller når kommunikationskanalen er sikker. Offentlige nøglealgoritmer bruges, når de data, der transmitteres, er meget følsomme, eller når kommunikationskanalen ikke er sikker.