ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.02.2024
Просмотров: 68
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
РАЗДЕЛ 1. МАТЕМАТИЧЕСКИЕ ОСНОВЫ КРИПТОГРАФИИ
1.1. ДЕЛИМОСТЬ И АЛГОРИТМ ЕВКЛИДА
РАЗДЕЛ 2. КРИПТОГРАФИЧЕСКИЕ СИСТЕМЫ С ОТКРЫТЫМ КЛЮЧОМ
2.1. Основные сведения о криптографических системах
2.2. Шифрование с использованием криптосистемы RSA
2.3. Цифровая подпись в схеме Эль-Гамаль
2.4. Обмен информацией с использованием протокола Шамира
3.2. ПРИМЕРЫ ВЫПОЛНЕНИЯ КОНТРОЛЬНЫХ ЗАДАНИЙ
РАЗДЕЛ 2. КРИПТОГРАФИЧЕСКИЕ СИСТЕМЫ С ОТКРЫТЫМ КЛЮЧОМ
2.1. Основные сведения о криптографических системах
Основной задачей криптографии является обеспечение конфиденциальности в отношении некоторых сведений. Для ее решения применяются два основных типа криптографических систем:
-
Криптосистемы с секретным ключом (симметричные криптосистемы) это алгоритмы, в которых ключ шифрования полностью определяется ключом дешифрования и наоборот, ключ дешифрования полностью определяется ключом шифрования. Большинство применяемых симметричных алгоритмов использует тождественные ключи шифрования и дешифрования. Таким образом, шифрование и дешифрование с помощью симметричных криптосистем может быть представлено в виде:
| , | |
| , | |
где - секретный ключ, применяющийся для шифрования и дешифрования данных;
- открытый текст, в отношении которого требуется обеспечить конфиденциальность;
- шифртекст, полученный при шифровании открытого текста;
- алгоритм шифрования с ключом ;
- алгоритм дешифрования с ключом .
Очевидно, что защита, обеспечиваемая симметричными криптосистемами определяется секретностью ключа; компрометация1 ключа, как правило, означает вскрытие шифра и разглашение открытого текста [1].
Симметричные криптографические системы разделяют на две основные группы:
-
потоковые алгоритмы, обрабатывающие открытый текст и шифртекст побитно; -
блочные алгоритмы, обрабатывающие открытый текст и шифртекст группами битов (блоками).
Стойкость симметричных криптографических систем определяется, как правило, в рамках теоретико-информационного подхода, на основании предположения о принципиальной невозможности получения противником никакой информации о строении криптосистемы или ее элементов.
Исторически симметричные шифры появились задолго до разработки основных положений теории асимметричных криптосистем. Все известные из истории шифры относятся к симметричным (шифр Цезаря, шифр «Сцитала» и т.д.). К числу симметричных криптосистем относятся т.н. «одноразовые блокноты Вернама», изученные в работах известного американского математика Клода Шеннона (Cloud Shannon) [2,3]. К настоящему времени активно используются такие широко распространенные симметричные криптосистемы как: DES (блочный шифр, являющийся стандартом шифрования в США), ГОСТ 28147-89 (блочный шифр, являющийся стандартом РФ), A5 (потоковый шифр, использующийся в системах мобильной связи стандарта GSM) и т.д.
-
Криптосистемы с открытым ключом (асимметричные криптосистемы) это алгоритмы, в которых ключи шифрования и дешифрования различны. Более того, ключ дешифрования не может быть вычислен из ключа шифрования. Такие алгоритмы называют криптосистемами с открытым ключом, так как любой абонент, зная открытый ключ, может зашифровать сообщение, однако расшифровать шифртекст сможет только абонент, владеющий секретным ключом.
Таким образом, шифрование и дешифрование с использованием асимметричной криптосистемы может быть представлено в виде:
| , | |
| , | |
где - открытый ключ, применяющийся для шифрования данных;
- секретный ключ, применяющийся для дешифрования данных;
- открытый текст, в отношении которого требуется обеспечить конфиденциальность;
- шифртекст, полученный при шифровании открытого текста;
- алгоритм шифрования с ключом ;
- алгоритм дешифрования с ключом .
Стойкость асимметричных криптосистем определяется как правило на основании теоретико - сложностного подхода, исходя из предположения о сравнимости сложности задачи криптоанализа2 со сложностью некоторой хорошо изученной математической задачи. Таким образом, для стойкости криптосистемы необходимо и достаточно, чтобы любой алгоритм (как детерминированный, так и стохастический) решения задачи криптоанализа требовал практически неосуществимого объема вычислений, либо срабатывал с пренебрежимо малой вероятностью.
Основоположниками криптографии с открытым ключом являются американские математики Уитфрид Диффи (W. Diffie) и Мартин Хеллман (M. Hellman), опубликовавшие в 1976 г. работу «Новые направления в криптографии» [4], в которой впервые были систематически изложены математические основы криптографии с открытым ключом.
Данная работа послужила толчком к развертыванию дальнейших исследований в области разработки асимметричных криптосистем, что, в свою очередь, привело к широкому распространению вновь разработанных алгоритмов, таких как RSA (асимметричный алгоритм, применяющийся для шифрования данных и подписания сообщений), Эль-Гамаль (асимметричный алгоритм, применяющийся для шифрования данных и подписания сообщений), DSA (алгоритм цифровой подписи, принятый в качестве стандарта в США), ГОСТ Р 34.10-94 (алгоритм цифровой подписи, принятый в качестве стандарта в РФ) и т.д.
Сравнение возможностей симметричных и асимметричных криптосистем позволяет сделать следующие замечания:
-
Как правило, симметричные системы обрабатывают большие объемы информации быстрее асимметричных, так как основными операциями по обработке данных в них являются битовые операции сдвига, сложения и т.д., эффективно реализуемые в виде электронных логических систем [1]. -
Ряд криптографических задач (таких как выработка общего ключа, цифровая подпись) может быть решен исключительно методами асимметричной криптографии [1]. -
Использование теоретико-сложностного подхода для обоснования стойкости асимметричных криптосистем позволяет количественно оценить стойкость в виде функции от ряда параметров (длина входного слова, вычислительные мощности, доступные противнику и т.д.). Использование теоретико-вероятностного подхода для обоснования стойкости симметричных криптосистем позволяет оценить стойкость в терминах теории вероятностей и предполагает абсолютную пассивность противника (на практике являющуюся недостижимой) [1,3].
С учетом данных замечаний, можно сделать вывод о преимущественных шансах асимметричных криптографических систем на долгосрочную перспективу.
В дальнейшем будут рассмотрены основные типы криптосистем с открытым ключом, широко распространенные на практике.
2.2. Шифрование с использованием криптосистемы RSA
Одним из первых универсальных (допускающих использование, как для шифрования, так и для цифровой подписи) асимметричных алгоритмов стал разработанный в 1978 г. алгоритм RSA, названный по имени разработчиков – ученых Массачусетского технологического института Рона Ривеста (Ron Rivest), Ади Шамира (Adi Shamir) и Леонарда Адлемана (Leonard Adleman)[5].
Стойкость криптосистемы RSA основывается на сложности задачи факторизации (разложения натурального числа на простые сомножители). Многочисленные попытки криптоанализа, предпринятые с 1978 г., показали корреляцию эмпирических оценок стойкости с оценками, полученными априорно. Данный факт подтверждал предположение о невозможности разработки полиномиального по времени алгоритма факторизации натуральных чисел. Однако в 2002-2003 гг. индийским математикам М. Агравалю (Manindra Agrawal), Н. Каялю (Neeraj Kayal) и Н. Саксена (Nitin Saxena) из Индийского технологического института в Карпуре удалось показать существование полиномиального по времени алгоритма факторизации [6]. Несмотря на невысокие временные характеристики алгоритма (не ставящие в обозримом будущем под сомнение стойкость RSA), сам факт его разработки говорит о возможности создания других, более эффективных алгоритмов, способных эффективно решать задачи криптоанализа систем, основанных на сложности задачи факторизации.
Для генерации используемых в алгоритме ключей применяют два больших простых числа и . Для максимальной безопасности и должныиметь сопоставимую разрядность.
На их основе рассчитывается элемент , такой, что
| . | (2.1) |