Длина шифротекста в схеме Эль-Гамаля вдвое длиннее ис- ходного сообщения
M.
Расшифрование
Зная закрытый ключ
x, исходное сообщение можно вычис- лить из шифртекста (
a,
b) по формуле:
M =
b(
ax)
–1 mod
p. При этом нетрудно проверить, что (
ax)
–1
g–kx (mod
p), и поэтому
b(
ax)
–1 (
yxN)
g–xk (
gxkM)
g–xk
M (mod
p).
Для практических вычислений больше подходит следующая формула:
M =
b(
ax)
–1 mod
p = ba(p–1–x) mod
p (рис. 6.1).
Рис. 6.1
Содержание заданий
Разработайте программу, имитирующую реализацию элемен- тов метода криптографической защиты информации Эль-Гама- ля. Программа должна выполнять генерацию ключей, шифрова- ние и расшифрование сообщения. В качестве сообщения исполь- зуйте свою фамилию.
П р и м е ч а н и е.
P – двузначное число,
G,
X – однозначные.
Контрольные вопросы
Что такое криптосистемы с открытым ключом?
Отличие схемы Эль-Гамаля от RSA?
Перечислите преимущества и недостатки алгоритма Эль-Га- маля?
Отчетность по практической работе
Распечатать код программы с подробными его комментари- ями и результатами выполнения программы.
ПРАКТИЧЕСКАЯ РАБОТА 7
РЕАЛИЗАЦИЯ ЭЛЕМЕНТОВ СХЕМЫ ШИФРОВАНИЯ
ГОСТ 28147–89
Цель работы: формирование умений шифрования с исполь- зованием алгоритма шифрования ГОСТ 28147–89.
Теоретические сведения
Термины и обозначения
Описание стандарта шифрования Российской Федерации со- держится в документе, озаглавленном «Алгоритм криптографичес- кого преобразования ГОСТ 28147–89». То, что в его названии вме- сто термина «шифрование» фигурирует более общее понятие
«
криптографическое преобразование» вовсе не случайно. Помимо нескольких тесно связанных между собой процедур шифрования, в документе описан один построенный на общих принципах с ни- ми алгоритм выработки
имитовставки. Последняя является не чем иным, как криптографической контрольной комбинацией, то есть кодом, вырабатываемым из исходных данных с использова- нием секретного ключа с целью
имитозащиты, или защиты дан- ных от внесения в них несанкционированных изменений.
На различных шагах алгоритмов ГОСТа данные, которыми они оперируют, интерпретируются и используются различным об- разом. В некоторых случаях элементы данных обрабатываются как массивы независимых битов, в других случаях – как целое число без знака, в третьих – как имеющий структуру сложный элемент, состоящий из нескольких более простых элементов. Поэтому во избежание путаницы следует договориться об используемых обо- значениях.
Элементы данных в настоящем пособии обозначаются заглав- ными латинскими буквами с наклонным начертанием (например,
X). Через
|X| обозначается размер элемента данных
X в битах. Таким образом, если интерпретировать элемент данных
X как целое неотрицательное число, можно записать следующее нера-
венство: 0
X 2
X .