Ein Signaturverfahren besteht aus drei Algorithmen: Schlüsselerzeugung, Sign(sk, m) und Verify(pk, m, σ). Das übliche Sicherheitsziel ist EUF-CMA: Auch nachdem ein Angreifer Signaturen für Nachrichten seiner Wahl gesehen hat, kann er für keine neue Nachricht eine gültige Signatur erzeugen. Das stärkere SUF-CMA verbietet zusätzlich, eine zweite Signatur für eine bereits signierte Nachricht zu erzeugen; das leistet ECDSA nicht (siehe Malleability).
Eine Signatur bietet weder Vertraulichkeit noch Frische (eine gültig signierte Nachricht lässt sich erneut einspielen, sofern sie nicht eine Nonce, einen Zeitstempel oder eine Audience enthält) noch Identität: Die Signatur bindet eine Nachricht an einen Schlüssel, und etwas anderes (ein Zertifikat, ein JWKS-Endpunkt, known_hosts, eine Blockchain-Adresse) muss den Schlüssel an eine Person oder einen Dienst binden.
Die Größen reichen von 64 Byte (Ed25519, rohes ECDSA mit P-256, BIP-340) über 256–512 Byte (RSA) bis zu mehreren Kilobyte bei Post-Quanten-Verfahren: 2.420–4.627 Byte bei ML-DSA und 7.856–49.856 bei SLH-DSA. Jedes Format verpackt dieselbe Signatur anders: rohe Bytes, DER, JWS, COSE_Sign1, CMS SignedData, OpenPGP-Signaturpakete, SSHSIG.
Ein Message Authentication Code wie HMAC belegt ebenfalls die Integrität, aber mit einem gemeinsamen Schlüssel, sodass jeder Verifizierer ihn auch selbst erzeugt haben könnte; siehe HMAC vs. digitale Signatur.