Автор работы: Пользователь скрыл имя, 10 Декабря 2012 в 10:43, реферат
Разработать алгоритмы, реализующий криптографический протокол обмена несекретным документом со слепой цифровой подписью на основе алгоритма RSA взаимодействия удаленных абонентов на основе асимметричных криптосистем.
Хеширование выполнять на основе любого блочного сим¬мет¬ричного алгоритма (с использованием алгоритма/программы из предыдущих лаб. работ) по одной из схем, данных в лекциях.
Постановка задачи. 3
Теоретические сведения. 3
Алгоритм создания открытого и секретного ключей 3
Слепая цифровая подпись. 4
Алгоритм слепой подписи. 4
Пример работы программы. 6
Вывод. 7
Оглавление
Постановка задачи. 3
Теоретические сведения. 3
Алгоритм создания открытого и секретного ключей 3
Слепая цифровая подпись. 4
Алгоритм слепой подписи. 4
Пример работы программы. 6
Вывод. 7
Разработать алгоритмы, реализующий криптографический протокол обмена несекретным документом со слепой цифровой подписью на основе алгоритма RSA взаимодействия удаленных абонентов на основе асимметричных криптосистем.
Хеширование выполнять на основе любого блочного симметричного алгоритма (с использованием алгоритма/программы из предыдущих лаб. работ) по одной из схем, данных в лекциях.
Проверить правильность выполнения протокола для малых значений параметров криптосистемы (контрольный пример).
RSA-ключи генерируются следующим образом:
φ(n) = (p − 1)(q − 1).
или: de = 1 + kφ(n), где k — некоторое целое число.
Слепая подпись (Blind Signature) — разновидность ЭЦП, особенностью которой является то, что подписывающая сторона не может точно знать содержимое подписываемого документа. Понятие слепой подписи придумано Дэвидом Чаумом, им же предложена первая реализация через алгоритм RSA.
Основная идея слепых подписей заключается в следующем. Отправитель А посылает документ стороне В, который В подписывает и возвращает А. Используя полученную подпись, сторона А может вычислить подпись стороны В на более важном для себя сообщении t. По завершении этого протокола сторона В ничего не знает ни о сообщении t, ни о подписи под этим сообщением.
Эту схему можно сравнить с конвертом, в котором размещён документ и копировальный лист. Если подписать конверт, то подпись отпечатается на документе, и при вскрытии конверта документ уже будет подписан.
Цель слепой подписи состоит в том, чтобы воспрепятствовать подписывающему лицу В ознакомиться с сообщением стороны А, которое он подписывает, и с соответствующей подписью под этим сообщением. Поэтому в дальнейшем подписанное сообщение невозможно связать со стороной А.
Дана ситуация: Боб - нотариус. Алисе нужно, чтобы он подписал документ не имея никакого представления о его содержании. Боб только заверяет, что документ нотариально засвидетельствован в указанное время. Тогда они действуют по следующему алгоритму:
Этот протокол работает только если функции подписи и умножения коммутативны.
Первая реализация слепых подписей была осуществлена Чаумом с помощью криптосистемы RSA:
Чаум придумал целое семейство более сложных алгоритмов слепой подписи под общим названием неожиданные слепые подписи. Их схемы ещё сложнее, но они дают больше возможностей.
Банковские системы
Наиболее широкое применение протокол слепых подписей нашёл в сфере цифровых денег. Например, чтобы вкладчик не обманул банк, может использоваться такой протокол: вкладчик пишет одинаковый номинал купюр на ста документах с разными номерами и депонирует в зашифрованном виде у банка. Банк выбирает случайным образом и требует раскрыть 99 (или n-1) конвертов, убеждается, что везде написано $10, а не $1000, тогда подписывает оставшийся конверт вслепую, не видя номера купюры.
Может быть предусмотрен более простой вариант: за каждым номиналом купюры у банка закреплена своя пара открытых ключей. Тогда под подпись присылается только номер купюры и необходимость проверки номинала перед подписью отпадает.
Тайное голосование
Слепые подписи используются для тайного голосования. В протоколе Фуджиока, Окамото и Охта, избиратель подготавливает избирательный бюллетень со своим выбором, который он сделал, шифрует его секретным ключом, и маскирует его. Далее избиратель подписывает избирательный бюллетень и посылает его валидатору. Валидатор проверяет, что подпись принадлежит зарегистрированному избирателю, который еще не голосовал.
Если избирательный бюллетень действителен, валидатор подписывает избирательный бюллетень и возвращает его избирателю. Избиратель удаляет маскировку, раскрывая таким образом зашифрованный избирательный бюллетень, подписанный валидатором. Далее избиратель посылает в результате полученный подписанный, зашифрованный избирательный бюллетень счётчику. счётчик проверяет подпись на зашифрованном избирательном бюллетене.
Если избирательный бюллетень действителен, счётчик размещает его в списке, который будет издан после всего голосования. После того, как список издан, избиратели проверяют, что их избирательные бюллетени находятся в списке и посылают счётчику ключи расшифрования, необходимые, чтобы открыть их избирательные бюллетени. Счётчик использует эти ключи для расшифрования избирательных бюллетеней и добавляет голос к общему числу. После выборов счётчик издает ключи расшифрования наряду с зашифрованными избирательными бюллетенями так, чтобы избиратели могли независимо проверить выбор.
рис 1. Алгоритм слепой ЭЦП. Содержимое файлов совпадает.
рис 2. Алгоритм слепой ЭЦП. Содержимое файлов различно.
В данной курсовой работе реализован алгоритм криптографического протокол обмена несекретным документом со слепой цифровой подписью на основе алгоритма RSA взаимодействия удаленных абонентов на основе асимметричных криптосистем с применением 128-ми битного алгоритма хэширования MD5.