Схема подписи состоит из трёх алгоритмов: генерации ключей, Sign(sk, m) и Verify(pk, m, σ). Стандартная цель стойкости — EUF-CMA: даже увидев подписи под сообщениями, которые он выбрал сам, атакующий не может создать верную подпись ни для одного нового сообщения. Более сильное свойство SUF-CMA запрещает также создавать вторую подпись для уже подписанного сообщения; ECDSA его не обеспечивает (см. «Пластичность подписи»).
Подпись не обеспечивает ни конфиденциальности, ни свежести (сообщение с верной подписью можно отправить повторно, если в нём нет nonce, метки времени или аудитории) и сама не говорит, чей это ключ: она связывает сообщение с ключом, а связать ключ с человеком или сервисом должно что-то другое (сертификат, эндпоинт JWKS, known_hosts, адрес в блокчейне).
Размеры подписей — от 64 байт (Ed25519, ECDSA на P-256 в формате raw, BIP-340) и 256–512 байт (RSA) до килобайт у постквантовых схем: 2420–4627 байт у ML-DSA и 7856–49 856 байт у SLH-DSA. Одну и ту же подпись каждый формат упаковывает по-своему: необработанные байты, DER, JWS, COSE_Sign1, CMS SignedData, пакеты подписи OpenPGP, SSHSIG.
Код аутентификации сообщения, например HMAC, тоже подтверждает целостность, но с помощью общего ключа, поэтому его мог создать любой, кто способен его проверить; см. HMAC или цифровая подпись.