Konvensjonelle algoritmer (også kalt symmetriske algoritmer eller hemmelige nøkkelalgoritmer) bruker samme nøkkel for å kryptere og dekryptere data. Dette betyr at avsender og mottaker må dele samme hemmelige nøkkel for å kunne kommunisere sikkert.
Offentlig nøkkelalgoritmer (også kalt asymmetriske algoritmer) bruker to forskjellige nøkler, en offentlig nøkkel og en privat nøkkel. Den offentlige nøkkelen brukes til å kryptere data, og den private nøkkelen brukes til å dekryptere data. Dette betyr at avsender kan kryptere data med mottakerens offentlige nøkkel, og kun mottakeren kan dekryptere dataene med sin private nøkkel.
Her er en tabell som oppsummerer de viktigste forskjellene mellom konvensjonelle og offentlige nøkkelalgoritmer:
| Funksjon | Konvensjonelle algoritmer | Offentlig nøkkelalgoritmer |
|---|---|---|
| Antall nøkler | En nøkkel | To nøkler (offentlige og private) |
| Nøkkeldistribusjon | Må deles sikkert mellom avsender og mottaker | Offentlig nøkkel kan deles offentlig, privat nøkkel må holdes hemmelig |
| Kryptering/dekryptering | Samme nøkkel brukes til å kryptere og dekryptere data | Offentlig nøkkel brukes til å kryptere data, privat nøkkel brukes til å dekryptere data |
| Sikkerhet | Mindre sikre enn offentlige nøkkelalgoritmer | Sikrere enn konvensjonelle algoritmer |
| Hastighet | Raskere enn offentlige nøkkelalgoritmer | Tregere enn konvensjonelle algoritmer |
Generelt brukes konvensjonelle algoritmer når dataene som overføres ikke er svært sensitive eller når kommunikasjonskanalen er sikker. Offentlige nøkkelalgoritmer brukes når dataene som overføres er svært sensitive eller når kommunikasjonskanalen ikke er sikker.