Szyfr (inaczej kryptograficzny algorytm szyfrujący) – funkcja matematyczna wykorzystywana do szyfrowania tekstu jawnego lub jego deszyfrowania. Zazwyczaj jedna funkcja wykorzystywana jest do szyfrowania, a inna do deszyfrowania wiadomości. Wiadomość przed zaszyfrowaniem nazywana jest tekstem jawnym, zaś wiadomość zaszyfrowaną nazywamy szyfrogramem. Proces zamiany tekstu jawnego na szyfrogram nazywamy szyfrowaniem.
Algorytm ograniczony Algorytmem ograniczonym nazywamy taki algorytm, który zapewnia bezpieczeństwo szyfrogramu tylko wtedy, gdy nie jest znana postać algorytmu (znajomość algorytmu pozwala odszyfrować szyfrogram). Algorytmy te są popularne w zastosowaniach, gdzie wysoki poziom bezpieczeństwa nie jest wymagany.
Algorytm z kluczem Algorytm z kluczem to taki, w którym do zaszyfrowania oraz odszyfrowania wiadomości wykorzystywane są klucze. W przeciwieństwie do algorytmów ograniczonych, bezpieczeństwo wiadomości oparte jest na kluczu. W przypadku wielu algorytmów klucz szyfrujący jest inny niż klucz deszyfrujący.