Тетерукова Н. А., Апанасевич С. А. Защита компьютерной информации лаб практикум



бет9/22
Дата10.01.2023
өлшемі1,61 Mb.
#60887
түріПрактическая работа
1   ...   5   6   7   8   9   10   11   12   ...   22

Содержание заданий


Разработайте программу, имитирующую реализацию элемен- тов метода криптографической защиты информации RSA. Про-


ПРАКТИЧЕСКАЯ РАБОТА 6


РЕАЛИЗАЦИЯ ЭЛЕМЕНТОВ СХЕМЫ ШИФРОВАНИЯ
ЭЛЬ-ГАМАЛЯ


Цель работы: формирование умений шифрования с исполь- зованием метода асимметрического шифрования Эль-Гамаля.


Теоретические сведения

Генерация ключей

  1. Генерируется случайное простое число p длины q битов.

  2. Выбирается случайный примитивный элемент q поля Zp.

  3. Выбирается случайное целое число x такое, что 1 < x < p – 1.

  4. Вычисляется y = gx mod p.

  5. Открытым ключом является тройка чисел (p, g, y), закры- тым ключом – x.
Шифрование

Сообщение M шифруется следующим образом:

  1. Выбирается сессионный ключ – случайное целое число k,

такое, что 1 < k < p – 1.

  1. Вычисляются числа a = gk mod p и b = yk M mod p.

  2. Пара чисел (a, b) является шифртекстом.

Длина шифротекста в схеме Эль-Гамаля вдвое длиннее ис- ходного сообщения M.
Расшифрование

Зная закрытый ключ x, исходное сообщение можно вычис- лить из шифртекста (a, b) по формуле: M = b(ax)–1 mod p. При этом нетрудно проверить, что (ax)–1gkx (mod p), и поэтому b(ax)–1  (yxN)gxk  (gxkM)gxk M (mod p).
Для практических вычислений больше подходит следующая формула: M = b(ax)–1 mod p = ba(p–1–x) mod p (рис. 6.1).

Рис. 6.1

Содержание заданий


Разработайте программу, имитирующую реализацию элемен- тов метода криптографической защиты информации Эль-Гама- ля. Программа должна выполнять генерацию ключей, шифрова- ние и расшифрование сообщения. В качестве сообщения исполь- зуйте свою фамилию.
П р и м е ч а н и е. P – двузначное число, G, X – однозначные.


Контрольные вопросы


  1. Что такое криптосистемы с открытым ключом?

  2. Отличие схемы Эль-Гамаля от RSA?

  3. Перечислите преимущества и недостатки алгоритма Эль-Га- маля?

Отчетность по практической работе


Распечатать код программы с подробными его комментари- ями и результатами выполнения программы.


ПРАКТИЧЕСКАЯ РАБОТА 7


РЕАЛИЗАЦИЯ ЭЛЕМЕНТОВ СХЕМЫ ШИФРОВАНИЯ

ГОСТ 28147–89


Цель работы: формирование умений шифрования с исполь- зованием алгоритма шифрования ГОСТ 28147–89.

Теоретические сведения

Термины и обозначения

Описание стандарта шифрования Российской Федерации со- держится в документе, озаглавленном «Алгоритм криптографичес- кого преобразования ГОСТ 28147–89». То, что в его названии вме- сто термина «шифрование» фигурирует более общее понятие
«криптографическое преобразование» вовсе не случайно. Помимо нескольких тесно связанных между собой процедур шифрования, в документе описан один построенный на общих принципах с ни- ми алгоритм выработки имитовставки. Последняя является не чем иным, как криптографической контрольной комбинацией, то есть кодом, вырабатываемым из исходных данных с использова- нием секретного ключа с целью имитозащиты, или защиты дан- ных от внесения в них несанкционированных изменений.
На различных шагах алгоритмов ГОСТа данные, которыми они оперируют, интерпретируются и используются различным об- разом. В некоторых случаях элементы данных обрабатываются как массивы независимых битов, в других случаях – как целое число без знака, в третьих – как имеющий структуру сложный элемент, состоящий из нескольких более простых элементов. Поэтому во избежание путаницы следует договориться об используемых обо- значениях.
Элементы данных в настоящем пособии обозначаются заглав- ными латинскими буквами с наклонным начертанием (например, X). Через |X| обозначается размер элемента данных X в битах. Таким образом, если интерпретировать элемент данных X как целое неотрицательное число, можно записать следующее нера-
венство: 0  X  2 X .

Если элемент данных состоит из нескольких элементов мень- шего размера, то этот факт обозначается следующим образом: X = (X0, X1, …, Xn 1) = X0 || X1 || … || Xn 1. Процедура объедине- ния нескольких элементов данных в один называется конкатена- цией данных и обозначается символом «||». Естественно, для раз- меров элементов данных должно выполняться следующее соот- ношение: |X| = |X0| + |X1| + … + |Xn 1|. При задании сложных элементов данных и операции конкатенации составляющие эле- менты данных перечисляются в порядке возрастания старшин- ства. Иными словами, если интерпретировать составной элемент и все входящие в него элементы данных как целые числа без знака, то можно записать следующее равенство:
X , X , ..., X  X || X || ... || X X  2|X 0|

исключающего ИЛИ, она же – операция суммирования по моду- лю 2: a b  (a b) mod 2.
Логика построения шифра и структура ключевой ин- формации ГОСТа

В ГОСТе 28147–89 содержится описание алгоритмов не- скольких уровней. На самом верхнем находятся практические алгоритмы, предназначенные для шифрования массивов данных и выработки для них имитовставки. Все они опираются на три алгоритма низшего уровня, называемые в тексте ГОСТа цикла- ми. Эти фундаментальные алгоритмы упоминаются в данной статье как базовые циклы, чтобы отличать их от всех прочих циклов. Они имеют следующие названия и обозначения, послед-
ние приведены в скобках, и смысл их будет объяснен позже:






X

1

2|X1|

...

X


  
n  1

0 1 n  1 0






    • цикл зашифрования (32-З);


2|Xn 2| X


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


Достарыңызбен бөлісу:
1   ...   5   6   7   8   9   10   11   12   ...   22




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет