Основные режимы шифрования
ГОСТ 28147-89 предусматривает три следующих режима шифрования данных: ü простая замена, ü гаммирование, ü гаммирование с обратной связью, и один дополнительный режим выработки имитовставки. Содержание заданий Разработайте программу, имитирующую реализацию элементов метода криптографической защиты информации ГОСТ 28147-89. Программа должна выполнять генерацию ключей, шифрование и расшифрование сообщения. В качестве сообщения используйте свою фамилию.
Отчетность по лабораторной работе Распечатать код программы с подробными комментариями кода и результатами выполнения программы.
ЛАБОРАТОРНАЯ работа № 8 Протокол идентификации с нулевой передачей данных Цель работы: формирование умений проверки подлинности удалённых пользователей с помощью протокола идентификации с нулевой передачей данных
Теоретические сведения Широкое распространение интеллектуальных карт (смарт-карт) для разнообразных коммерческих, гражданских и военных применений (кредитные карты, карты социального страхования, карты доступа в охраняемое помещение, компьютерные пароли и ключи, и т.п.) потребовало обеспечения безопасной идентификации таких карт и их владельцев. Во многих приложениях главная проблема заключается в том, чтобы при предъявлении интеллектуальней карты оперативно обнаружить обман и отказать обманщику в допуске, ответе или обслуживании. Для безопасного использования интеллектуальных карт разработаны протоколы идентификации с нулевой передачей знаний. Секретный ключ владельца карты становится неотъемлемым признаком его личности. Доказательство знания этого секретного ключа с нулевой передачей этого знания служит доказательством подлинности личности владельца карты. Схему идентификации с нулевой передачей знаний предложили в 1986 г. У. Фейге, А. Фиат и А. Шамир. Она является наиболее известным доказательством идентичности с нулевой передачей конфиденциальной информации. Прежде всего в схеме идентификации с нулевой передачей знаний выбирают случайное значение модуля n, который является произведением двух больших простых чисел. Модуль n должен иметь длину 512... 1024 бит. Это значение n может быть представлено группе пользователей, которым придется доказывать свою подлинность. В процессе идентификации участвуют две стороны: ü сторона А, доказывающая свою подлинность, ü сторона В, проверяющая представляемое стороной А доказательство. Для того чтобы сгенерировать открытый и секретный ключи для стороны А, доверенный арбитр (Центр) выбирает некоторое число V, которое является квадратичным, вычетом по модулю n. Иначе говоря, выбирается такое число V, что сравнение x2 =V(mod n) имеет решение и существует целое число V-1mod n. Выбранное значение V является открытым ключом для А. Затем вычисляют наименьшее значение S, для которого S º sqrt (V-1)(mod n). Это значение S является секретным ключом для А. Теперь можно приступить к выполнению протокола идентификации. 1. Сторона А выбирает некоторое случайное число r, r < n. Затем она вычисляет x = r2 mod n и отправляет х стороне В. 2. Сторона В посылает А случайный бит b. 3. Если b = 0, тогда А отправляет r стороне В. Если b = 1, то А отправляет стороне В y = r * S mod n 4. Если b = 0, сторона В проверяет, что x = r2 mod n чтобы убедиться, что А знает sqrt(x). Если b = 1, сторона В проверяет, что x=y2*V mod n, чтобы быть уверенной, что А знает sqrt(V-1).
Эти шаги образуют один цикл протокола, называемый аккредитацией. Стороны А и В повторяют этот цикл t раз при разных случайных значениях r и b до тех пор, пока В не убедится, что А знает значение S. Если сторона А не знает значения S, она может выбрать такое значение r, которое позволит ей обмануть сторону В, если В отправит ей b = 0, либо А может выбрать такое r, которое позволит обмануть В, если В отправит ей b = 1. Но этого невозможно сделать в обоих случаях. Вероятность того, что А обманет В в одном цикле, составляет 1/2. Вероятность обмануть В в t циклах равна (1/2)t, Для того чтобы этот протокол работал, сторона А никогда не должна повторно использовать значение r. Если А поступила бы таким образом, а сторона В отправила бы стороне А на шаге 2 другой случайный бит b, то В имела бы оба ответа А. После этого В может вычислить значение S, и для А все закончено.
Содержание заданий Разработайте программу, имитирующую функционирование упрощенной схемы идентификации с нулевой передачей данных. Значения необходимых параметров должны выбираться случайным образом.
Выходная информация должна быть следующей: Значение n: Открытый ключ: Секретный ключ: Процесс идентификации Сторона А: Сторона В: Сторона А: Сторона В: …… Примечания ü Модуль n определяется как произведение двузначных чисел p и q ü Сравнение х2 = V ( mod n ) равнозначно выражению х2 mod n= V ü Сравнение z = V-1 ( mod n ) равнозначно выражению z*V mod n= 1
Контрольные вопросы 1. Что такое идентификация пользователей и для чего она нужна? 2. Какая рекомендуемая длина модуля? 3. Сколько итераций алгоритма нужно провести для уверенности в подлинности пользователя?
Популярное: Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... Почему стероиды повышают давление?: Основных причин три... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1239)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |