Digital Signature Algorithm (DSA) – algorytm kryptografii asymetrycznej zaproponowany w 1991 przez amerykański instytut NIST do wykorzystania w ramach DSS, standardu dla podpisów cyfrowych. Jego bezpieczeństwo opiera się na trudności znalezienia logarytmu dyskretnego w ciele skończonym. NIST opatentował DSA w 1993, umożliwił jednak korzystanie z algorytmu za darmo na całym świecie.

Opublikowana przez NIST w 2023 norma FIPS 186-5 wycofała użycie DSA w podpisach cyfrowych, zalecając w zamian korzystanie z nowszych algorytmów, takich jak ECDSA (opierający się na kryptografii krzywych eliptycznych) lub EdDSA (wykorzystujący krzywe Edwardsa).

Opis algorytmu Dla systemu wybierana jest pewna funkcja skrótu ; norma FIPS 180-4 zaleca korzystanie z SHA-1 lub SHA-2.

Tworzenie kluczy Klucze tworzone są w następujący sposób: Wybierana jest liczba pierwsza , taka że . Wybierana jest liczba pierwsza , taka że i że liczba podzielna jest przez . Obliczany jest parametr , gdzie jest losową liczbą spełniającą warunek . Wybierany jest klucz prywatny będący losową liczbą całkowitą spełniającą warunek . Obliczany jest klucz publiczny .

Norma FIPS 186-4 przewiduje dla liczb pary wartości: , , i .