русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Цифровая подпись


Дата добавления: 2015-08-31; просмотров: 1098; Нарушение авторских прав


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

Так как в данной ситуации предполагается, что стороны не доверяют друг другу, то использование общего секретного ключа для решения поставленной проблемы становится не­возможным. Отправитель может отказаться от факта переда­чи сообщения, утверждая, что его создал сам получатель (от­каз от авторства). Получатель легко может модифициро­вать, подменить или создать новое сообщение, а затем утвер­ждать, что оно получено от отправителя (приписывание ав­торства). Ясно, что в такой ситуации арбитр при решении спора не будет иметь возможность установить истину.

Основным механизмом решения этой проблемы является так называемая цифровая подпись.

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

Схема цифровой подписи включает два алгоритма, один – для вычисления, а второй – для проверки подписи. Вычисление подписи может быть выполнено только автором подписи. Алгоритм проверки должен быть общедоступным, чтобы проверить правильность подписи мог каждый.

Для создания схемы цифровой подписи можно использо­вать симметричные шифрсистемы. В этом случае подписью может служить само зашифрованное на секретном ключе со­общение. Однако основной недостаток таких подписей состоит в том, что они являются одноразовыми: после каждой проверки секретный ключ становится известным. Единствен­ный выход из этой ситуации в рамках использования симмет­ричных шифрсистем – это введение доверенной третьей сто­роны, выполняющей функции посредника, которому доверя­ют обе стороны. В этом случае вся информация пересылается через посредника, он осуществляет перешифрование сообщений с ключа одного из абонентов на ключ другого. Естест­венно, эта схема является крайне неудобной.



При использовании шифрсистем с открытым ключом возможны два подхода к построению системы цифровой под­писи.

Первый подход состоит в преобразовании сообщения в форму, по которой можно восстановить само сообщение и тем самым проверить правильность "подписи". В данном случае подписанное сообщение имеет, как правило, ту же длину, что и исходное сообщение. Для создания такого "под­писанного сообщения" можно, например, произвести зашиф­рование исходного сообщения на секретном ключе автора подписи. Тогда каждый может проверить правильность под­писи путем расшифрования подписанного сообщения на открытом ключе автора подписи.

При втором подходе подпись вычисляется и передается вместе с исходным сообщением. Вычисление подписи заклю­чается в преобразовании исходного сообщения в некоторую цифровую комбинацию (которая и является подписью). Ал­горитм вычисления подписи должен зависеть от секретного ключа пользователя. Это необходимо для того, чтобы вос­пользоваться подписью мог бы только владелец ключа. В свою очередь, алгоритм проверки правильности подписи должен быть доступен каждому. Поэтому, как правило, этот алгоритм зависит от открытого ключа пользователя. В дан­ном случае длина подписи не зависит от длины подписывае­мого сообщения.

Одновременно с проблемой цифровой подписи возникла проблема построения бесключевых криптографических хэш-функций. Дело в том, что при вычислении цифровой подписи оказывается более удобным осуществить сначала хэширование, то есть свертку текста в некоторую комбинацию фикси­рованной длины, а затем уже подписывать полученную ком­бинацию с помощью секретного ключа. При этом функция хэширования, хотя и не зависит от ключа и является открытой, должна быть "криптографической". Имеется в виду свойство односторонности этой функции: по значению ком­бинации-свертки никто не должен иметь возможность подоб­рать соответствующее сообщение.

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



<== предыдущая лекция | следующая лекция ==>
Аутентификация | Предварительное распределение ключей


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.05 сек.