
5. Задание
Необходимо реализовать функцию генерации ключей.
реализовать функции ввода ключей.
реализовать функции шифрования/дешифрования.
проверить программу на контрольном тесте:
d = 2839; e = 551; n = 72001;
Текст для проверки:
Linux like a wigwam: no windows, no Gates, only Apache inside!
6. Контрольные вопросы
Что представляет собой схема RSA?
Какие должны выполняться требования, чтобы алгоритм мог использоваться для шифрования с открытым ключом?
С какой целью числа p и q выбираются из большого диапазона?
Как можно решить проблему больших чисел в промежуточных результатах, при использовании теоремы Ферма?
Как происходит шифрования при помощи алгоритма RSA?
Как происходит дешифрования при помощи алгоритма RSA?
Как объяснить тот факт, что шифрование происходит одним ключом (открытым), а дешифрование – другим (личным)?
7. Список литературы
1. Rivest R., Shamir A., Adiman L. A Method for Obtaining Digital Signatures and Public Key Cryptosystems // Communications of the ACM. 1978, №2
2. http://ru.wikipedia.org/wiki/Малая_теорема_Ферма
3. Терехов А. Конспект лекций "Криптографическая защита информации".: Учебное пособие. – СПб: СПГУ, 1999
4. Столингс В. Криптография и защита сетей –М.: Издательский дом “Вильямс”, 2001
5. Кнут Д. Искусство программирования, т.1 –М.: Издательский дом “Вильямс”, 2000
6. Кнут Д. Искусство программирования, т.2 –М.: Издательский дом “Вильямс”, 2000
7. Rabin M. Digitalized Signatures.// In Foundations of Secure Computation, New York: Academic Press, 1978
8. Глоссарий
1. Блочный шифр. Алгоритм симметричной схемы шифрования, в котором некоторый достаточно большой блок битов открытого текста преобразуется как целое в блок шифрованного текста такой же длины.
2.Шифрование с открытым ключом. Криптосистема, в которой шифрование и дешифрование выполняются с использованием двух разных ключей, при этом один из ключей называется открытым, а другой — личным.
3. Взаимно простые числа. Целые числа a и b являются взаимно простыми, если они не имеют общих простых делителей, т.е. если их единственным общим делителем является 1.
4. Генератор псевдослучайных чисел. Функция, производящая последовательность чисел, кажущуюся статистически случайной.