Большие числа и работа с ними

На данный момент времени рекомендуется в качестве чисел e и d брать числа, длиной не менее 768 бит. Чтобы подобрать ключ такой длины потребуется $1000000 и примерно год времени. Ключ в 1024 бит является достаточно надежным для обычных целей шифрования. Для повышенной безопасности рекомендуется брать ключи размером 2048 бит. Т.о. числа p и q должны иметь разрядность вдвое ниже чисел e, d, m и n (p и q рекомендуется брать примерно одного порядка, но не слишком близко друг к другу).

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

Разработайте программу, имитирующую реализацию элементов метода криптографической защиты информации RSA. Программа должна выполнять генерацию ключей, шифрование и расшифрование сообщения. В качестве сообщения используйте свою фамилию. Использовать n длиной в 4 разряда и более

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

1. Что такое ассиметричное шифрование?

2. Отличие ассиметричного шифрования от блочного?

3. На сколько блоков (максимум) может разбиваться шифруемый текст?

4. Перечислите преимущества и недостатки алгоритма 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

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

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

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

Расшифрование

Зная закрытый ключ x, исходное сообщение можно вычислить из шифротекста (a,b) по формуле:

Большие числа и работа с ними - student2.ru

При этом нетрудно проверить, что

Большие числа и работа с ними - student2.ru

и поэтому

Большие числа и работа с ними - student2.ru

Для практических вычислений больше подходит следующая формула:

Большие числа и работа с ними - student2.ru

Большие числа и работа с ними - student2.ru

Рисунок 6.1 – Схема шифрования Эль-Гамаля

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

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

Примечания

P- двузначное число, G,X - однозначные

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

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

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

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

Наши рекомендации