Электронная цифровая подпись (ЭЦП, цифровая подпись, электронная подпись, англ. digital signature) — криптографическое средство, аналог подписи, позволяющий подтвердить подлинность электронного документа, созданного с помощью компьютера.
ЭЦП представляет собой уникальную последовательность битов, жестко связанную с конкретным документом. Ее структура зависит от двух аргументов: текста документа и так называемого секретного ключа, известного только его владельцу. Всякое несанкционированное изменение текста документа ведет к искажению цифровой подписи. Считается, что из-за сложной привязки к указанным аргументам электронную подпись невозможно подделать. Наиболее распространенные принципы реализации ЭЦП основаны на использовании хэш-функций, в частности, MD5, которая выполняет специальное преобразование битов в файле и генерирует в его конце псевдослучайное 128-битное число, соответствующее количеству бит в записи.
MD5 может использоваться для файлов любой длины. Если два файла отличаются хотя бы на один бит, значение числа MD5 будет иным. И наоборот, если два файла имеют одно и то же характеризующее их число, вероятность того, что это разные файлы — бесконечна мала. После вычисления этого числа, оно шифруется с использованием открытого ключа собственника записи в файле, что и представляет собой цифровую подпись. Перед тем, как проверить подпись, пользователь дешифрирует ее с использованием своего открытого ключа. Если полученное значение числа совпадает с исходным, то это означает, что запись в файле не изменялась, и цифровая подпись считается аутентичной. Получателю документа для его дешифрирования передается значение открытого ключа.
Достоинством использования MD5 в качестве цифровой подписи является высокая скорость вычислений для больших файлов, однако стопроцентной гарантии защиты дать невозможно. Надежность ЭЦП находится в прямой зависимости от длины кода, используемого в ключе. Существуют различные алгоритмы ЭЦП. К ним следует отнести отечественные стандарты ГОСТ Р34.10-94 и ГОСТ 28147-89 (обязательные для применения в государственных организациях России), ГОСТ Р34.10-2001 (с июля 2002 он заменяет ранее действовавшие стандарты), ряд общеизвестных алгоритмов, включая RSA (Rivest-Shamir-Adleman), DSA (Digital Signature Algorithm), Эль Гамаля и др.