Технология цифровых подписей — это создание электронных подписей посредством криптографических изменений информационных данных с применением зашифрованных кодовых ключей, которые дают возможность выявить наличие искажений информационных данных в документе, представленном в электронном виде,
В основе технологии цифровых (электронных) подписей, повсеместно распространённых сегодня, лежит асимметричное шифрование с открытым ключом, которое в свою очередь использует следующие методы:
Выражение «цифровая электронная подпись» ввели в обиход Уитфилд Диффи и Мартин Хеллман в 1976 году, но тогда они просто высказали предположение о вероятной возможности таких подписей. Но уже в 1977 году несколько специалистов составили алгоритм RSA на основе криптографии, который уже было возможно применять для выработки упрощённой цифровой подписи. В 1984 году были, наконец, чётко сформулированы условия безопасных алгоритмов цифровых подписей, смоделированы возможные хакерские атаки на структуры электронных цифровых подписей и построены схемы защиты от них.
В России официально электронные цифровые подписи появились в 1994 году, когда органы власти, которые занимаются безопасностью связи (ФАПСИ), оформили стандартизацию электронных цифровых подписей (ГОСТ Р 34.10-94). Затем в 2002 году, чтобы повысить криптографическую устойчивость алгоритмов цифровых подписей, стандарт ГОСТ Р 34.10-94 заменили стандартом ГОСТ Р 34.10-2001, который основан на вычислительных операциях с группой точек кривой в форме эллипса. Согласно этому документу, выражение «электронная цифровая подпись» считается аналогом выражения «цифровая подпись».
С начала 2013 года был введён новый стандарт ГОСТ Р 34.10-2012, в котором были учтены все нововведения в этой сфере за прошедший период времени.
Есть различные алгоритмы формирования цифровых подписей:
Помимо двух вышеназванных схем, есть много других структур цифровой подписи, являющихся их модифицированными вариантами. Они возникли из-за разнообразного круга проблем, которые могут быть решены посредством цифровой подписи.
Так как документы, которые надо заверить цифровой подписью, имеют почти всегда довольно существенный объём, то часто цифровая подпись формируется не для всего документа, а только для его неотъемлемой небольшой части, хеша. Чтобы вычислить хеш, применяются специальные функции хеш на основе криптографии, которые дают гарантию, что будут обнаружены любые корректировки документа при анализе подписи. Функции хеш не входят в алгоритмическую часть цифровой подписи, поэтому возможно применение любых качественных хешей. Применение хеш-функций имеет такие достоинства:
Многие системы цифровой подписи, спроектированные ранее, применяли секретные функции, которые по смыслу аналогичны односторонним функциям. Эти системы имеют уязвимость при атаках с применением открытых ключей, поскольку если взять любую электронную цифровую подпись и прогнать её через верификационный алгоритм, то в итоге будет выдан начальный формат текста.