Цифровой подписи


Цифровая подпись — это математическая схема проверки подлинности цифровых сообщений или документов. Действительная цифровая подпись, если выполняются предварительные условия, дает получателю очень веские основания полагать, что сообщение было создано известным отправителем ( подлинность ) и что сообщение не было изменено при передаче ( целостность ). [1]

Цифровые подписи являются стандартным элементом большинства наборов криптографических протоколов и обычно используются для распространения программного обеспечения, финансовых транзакций, программного обеспечения для управления контрактами и в других случаях, когда важно обнаружить подделку или фальсификацию .

Цифровые подписи часто используются для реализации электронных подписей , которые включают в себя любые электронные данные, несущие в себе цель подписи, [2] но не все электронные подписи используют цифровые подписи. [3] [4] Электронные подписи имеют юридическое значение в некоторых странах, включая Канаду , [5] Южную Африку , [6] США , Алжир , [7] Турцию , Индию , [8] Бразилию , Индонезию , Мексику , Саудовскую Аравию Аравия , [9] Уругвай [10] , Швейцария , Чили [11] и страны Евросоюза . [12] [13]

Цифровые подписи используют асимметричную криптографию . Во многих случаях они обеспечивают уровень проверки и безопасности сообщений, отправляемых по незащищенному каналу: правильно реализованная цифровая подпись дает получателю основания полагать, что сообщение было отправлено заявленным отправителем. Цифровые подписи во многих отношениях эквивалентны традиционным рукописным подписям, но правильно реализованные цифровые подписи труднее подделать, чем рукописные. Схемы цифровой подписи в используемом здесь смысле основаны на криптографии и должны быть реализованы должным образом, чтобы быть эффективными. Они также могут обеспечить неотказуемость , что означает, что подписывающая сторона не может успешно заявить, что она не подписывала сообщение, в то же время заявляя свой закрытый ключ .остается тайной. Кроме того, некоторые схемы неотказуемости предлагают метку времени для цифровой подписи, так что даже если закрытый ключ раскрыт, подпись действительна. [14] [15] Сообщения с цифровой подписью могут представлять собой что угодно, представленное в виде строки битов : примеры включают электронную почту, контракты или сообщения, отправленные через какой-либо другой криптографический протокол.

Требуются два основных свойства. Во-первых, подлинность подписи, созданной из фиксированного сообщения и фиксированного закрытого ключа, можно проверить с помощью соответствующего открытого ключа. Во-вторых, должно быть невозможно с вычислительной точки зрения сгенерировать действительную подпись для стороны, не зная закрытого ключа этой стороны. Цифровая подпись — это механизм проверки подлинности, который позволяет создателю сообщения прикрепить код, действующий как подпись. Алгоритм цифровой подписи (DSA), разработанный Национальным институтом стандартов и технологий , является одним из многих примеров алгоритма подписи.

Формально схема цифровой подписи представляет собой тройку вероятностных алгоритмов с полиномиальным временем ( G , S , V ), удовлетворяющих:


Алиса подписывает сообщение — «Привет, Боб!» — добавляя к исходному сообщению версию сообщения, зашифрованную ее закрытым ключом. Боб получает сообщение, включая подпись, и, используя открытый ключ Алисы, проверяет подлинность сообщения, т. е. возможность расшифровки подписи для соответствия исходному сообщению с использованием открытого ключа Алисы.
Алиса подписывает сообщение — «Привет, Боб!» — добавляя к исходному сообщению версию, зашифрованную ее закрытым ключом. Боб получает и сообщение, и подпись. Он использует открытый ключ Алисы для проверки подлинности сообщения, т. е. того, что зашифрованная копия, расшифрованная с помощью открытого ключа, точно соответствует исходному сообщению.