Цифровые подписи
цифровые подписи можно использовать для распространения сообщения в виде открытого текста, когда получатели должны определить и проверить отправителя сообщения. Подписывание сообщения не изменяет сообщение; он просто создает строку цифровой подписи, которая может быть связана с сообщением или передавать отдельно. Цифровая подпись — это короткий фрагмент данных, зашифрованных с помощью закрытого ключа отправителя. Расшифровка данных подписи с помощью открытого ключа отправителя подтверждает, что данные были зашифрованы отправителем или кем-то, кто имел доступ к закрытому ключу отправителя.
Цифровые подписи создаются с помощью алгоритмов подписи открытого ключа. закрытый ключ создает подпись, а соответствующий открытый ключ должен использоваться для проверки подписи. Этот процесс показан на следующем рисунке.
Существует два шага, связанных с созданием цифровой подписи из сообщения. Первый шаг включает создание хэша хэша (также известного как дайджест-сообщения) из сообщения. Затем это хэш-значение подписывается с помощью закрытого ключа подписи. Ниже приведена иллюстрация шагов, связанных с созданием цифровой подписи.
Чтобы проверить подпись, требуется как сообщение, так и подпись. Во-первых, хэш-значение должно быть создано из сообщения так же, как и подпись. Затем это хэш-значение проверяется по сигнатуре с помощью открытого ключа подписи. Если хэш-значение и совпадение подписи, вы можете быть уверены, что сообщение действительно является тем, который подписывал первоначально и что он не был изменен. На следующей схеме показан процесс проверки цифровой подписи.
цифровой подписи
Хэш-значение состоит из небольшого количества двоичных данных, обычно около 160 бит. Это создается с помощью алгоритма хэширования . Далее в этом разделе перечислены ряд этих алгоритмов.
Все хэш-значения имеют следующие свойства независимо от используемого алгоритма:
- Длина хэш-значения определяется типом используемого алгоритма, а его длина не зависит от размера сообщения. Наиболее распространенными хэш-значениями являются 128 или 160 битов.
- Каждая пара не идентичных сообщений преобразуется в совершенно другое хэш-значение, даже если два сообщения отличаются только на один бит. Используя современную технологию, невозможно обнаружить пару сообщений, которые преобразуют в одно и то же хэш-значение, не нарушая алгоритм хэширования.
- Каждый раз, когда определенное сообщение хэшируется с помощью одного и того же алгоритма, создается одно и то же хэш-значение.
- Все алгоритмы хэширования являются односторонними. Учитывая хэш-значение, невозможно восстановить исходное сообщение. На самом деле ни один из свойств исходного сообщения не может быть определен только с учетом хэш-значения.