Криптография с открытым ключом

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

?еленного сообщения пользователем A пользователю B.

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

Сообщение (А) -....З В Е З Д А

Шестнадцатиричный (таблица 2 приложения)

код 866 (A).…... 87 82 85 87 84 80

Двоичный код.1000 0111 1000 0010 1000 0101 1000 0111 1000 0100 1000 0000

Гамма K (A).…1010 1010 1010 1010 1010 1010 1010 1010 1010 1010 1010 1010

mod 2………0010 1101 0010 1000 0010 1111 0010 1101 0010 1110 0010 1010

Гамма К (B).....1010 1010 1010 1010 1010 1010 1010 1010 1010 1010 1010 1010

Двоичный код 1000 0111 1000 0010 1000 0101 1000 0111 1000 0100 1000 0000

Шестнадцатиричный

код 866 (B)…..……87 82 85 87 84 80

Сообщение (B) -.... З В Е З Д А

7. С целью проверки совместной работы пользователей необходимо расшифрованное пользователем В сообщение переслать (условно) в открытом виде пользователю А.

. Необходимо такую же работу, одновременно с пользователем А, произвести и пользователю В (условно) согласно п. 1 для передачи другого слова пользователем В пользователю А.

 

2.2.2 Инструкция по выполнению задания 2

Проанализировать процесс выполнения примера ДХ 1 по приведенному алгоритму. Задание 2 выполняется двумя пользователями взаимосвязанно (условно их, как и в примере, назовем соответственно, пользователями A и B). Задание выполняется поэтапно так, как показано в примере 2.

. Выбор из таблицы 1 приложения простого числа p. С использованием ПРОГРАММЫ 4 - Вычисление степеней целого числа am по модулю p и целых чисел, принадлежащих показателю f(p), - первообразных корней по модулю p определить соответствующий конкретный первообразный корень a (где a<p).

. В соответствии с выбранным значением p определить секретные ключи по условиям XA < p и X B< p.

. Вычислить в соответствии с найденным a и конкретным p открытые ключи YA и YB для пользователей А и В на основе их секретных ключей XA и XB. При этом используется ПРОГАММА 3 - Быстрое возведение в степень для ab mod n при больших значениях b..

. Выполнение процесса обмена открытыми ключами пользователей по открытой сети (условно).

. Вычисление каждой стороной значения своего секретного сеансового ключа (эти ключи K будут одинаковыми и используются пользователями как общий сеансовый ключ) на базе полученных открытых ключей противоположных сторон. При этом опять используется ПРОГАММА 3 - Быстрое возведение в степень для ab mod n при больших значениях b.

. Посылка (условно) определенного короткого - однословного сообщения пользователем A пользователю B и, наоборот. При этом необходимо пользоваться соответствующей кодовой таблицей (например, таблица 2 приложения или таблица, применяемая в соответствующем Windows-е).

Если после расшифровки, полученные сообщения будут совподать, то выполненные пользователями работы будут автоматически зачтены.

 

2.2.3 Общее положение по выполнению задания 2 - генерация и обмен секретными ключами по схеме Диффи-Хеллмана между пользователями сети

Как видно, в данной работе значения первообразного корня (а), простого числа (р) и секретных ключей (XА и XВ) соответствующим образом выбираются и вводятся в соответствующие поля ввода окна задания 2. Все, что требуется от студента - рассчитать открытые ключи(YА и YВ) и общий секретный сеансовый ключ К, значения которых затем нужно ввести в соответствующие поля. Для проверки программой расчетов студента необходимо нажать кнопку с надписью Контроль расчета К. В ходе проверки все верные расчеты будут выведены в большом текстовом поле, которое находится в нижней части экрана.

Если студент ввел неверный ответ, то не будут выполняться преобразования, ему придется ввести новые входные данные.

В случае правильного решения студентом поставленной задачи информация о верности решения будет выведена в большом текстовом поле. В зависимости от того, желает ли студент зашифровывать открытое слово (открытый текст) или расшифровывать зашифрованный текст, он заполняет поля ввода "Слово для зашифрования" или "Зашифрованное слово (текст) для расшифровывания". Далее необходимо нажать кнопку "зашифрование/расшифрование", после чего в текстовом поле "Ход расчетов программы" появятся все действия программы по зашифрованию/расшифрованию. Далее студент может сохранить все расчеты в специиальном файле, нажав кнопку "Сохранить в файле". Студенты могут обмениваться кодами посредством, например, электронной почты, и расшифровывать сообщения друг друга, зная общий секретный сеансовый ключ.

Необходимо все исходные данные и результаты зашифрования и расшифрования сохранить в файле РЕЗУЛЬТАТОВ.

 

ГЛОССАРИЙ

 

1.Алгоритм Диффи-Хеллмана. Алгоритм Диффи-Хеллмана основывается на трудностях вычисления дискретных логарифмов. Злоумышленнику могут быть известны величины Q (простое число), a (первообразный корень простого числа Q), YA и YB (открытые ключи, соответственно абоненто?/p>