Estes sistemas podem ser baseados em dois tipos de algoritmos, nos restritos e nos modernos.
Aqueles que se baseiam nos algoritmos modernos podem ser simétricos e assimétricos. Os sistemas
simétricos fazem uso de somente uma chave, dai o seu nome, já os sistemas assimétricos fazem uso de
duas chaves, a pública e a privada.