Автор: Пользователь скрыл имя, 23 Марта 2012 в 11:48, контрольная работа
Криптографическая система - семейство преобразований шифра и совокупность ключей (т.е алгоритм + ключи). Само по себе описание алгоритма не является криптосистемой. Только дополненное схемами распределения и управления ключами оно становится системой.
Введение ………………………………………………………………………….3
Криптографическая система……………………………………………………..4
Идея криптосистемы с открытым ключом ……………………………………..6
Схема шифрования с открытым ключом ………………………………………8
Криптоанализ алгоритмов с открытым ключом ……………………………....10
Криптосистема открытого шифрования RSA………………………………….12
Криптосистема Эль-Гамаля……………………………………………………..17
Криптосистемы на основе эллиптических уравнений………………………...20
Библиографический список……………………………………………………..21
Введение
Начало асимметричным
шифрам было положено в работе «Новые
направления в современной
В 1977 году учёными Рональдом
Ривестом (Ronald Linn Rivest), Ади Шамиром (Adi
Shamir) и Леонардом Адлеманом (Leonard
Adleman) из Массачусетского
Криптографическая система
Криптографическая система
- семейство преобразований шифра
и совокупность ключей (т.е алгоритм
+ ключи). Само по себе описание алгоритма
не является криптосистемой. Только дополненное
схемами распределения и
Современные криптосистемы классифицируют следующим образом:
Асимметричные криптосистемы (системы открытого шифрования - о.ш., с открытым ключом и т.д. - public key systems) - смысл данных криптосистем состоит в том, что для зашифрования и расшифрования используются разные преобразования.
Одно из них - зашифрование - является абсолютно открытым для всех. Другое же - расшифрование - остается секретным. Таким образом, любой, кто хочет что-либо зашифровать, пользуется открытым преобразованием. Но расшифровать и прочитать это сможет лишь тот, кто владеет секретным преобразованием.
В настоящий момент во многих асимметричных криптосистемах вид преобразования определяется ключом. Т.е у пользователя есть два ключа - секретный и открытый. Открытый ключ публикуется в общедоступном месте, и каждый, кто захочет послать сообщение этому пользователю - зашифровывает текст открытым ключом. Расшифровать сможет только упомянутый пользователь с секретным ключом.
Рис. 1 Простейшая модель криптосистемы с открытым ключом
Таким образом, пропадает
проблема передачи секретного ключа (как
у симметричных систем). Однако, несмотря
на все свои преимущества, эти криптосистемы
достаточно трудоемки и медлительны.
Стойкость асимметричных
Идея криптосистемы с открытым ключом
Идея криптографии с открытым ключом очень тесно связана с идеей необратимых или односторонних функций, которые обладают следующим свойством: при заданном значении x относительно просто вычислить значение f(x), однако если y=f(x), то нет простого пути для вычисления значения x.
Множество классов необратимых функций и порождает все разнообразие систем с открытым ключом. Однако не всякая необратимая функция годится для использования в реальных ИС.
В самом
определении необратимости
Поэтому чтобы гарантировать надежную защиту информации, к системам с открытым ключом (СОК) предъявляются два важных и очевидных требования:
1. Преобразование
исходного текста должно быть
необратимым и исключать его
восстановление на основе
2. Определение закрытого ключа на основе открытого также должно быть невозможным на современном технологическом уровне. При этом желательна точная нижняя оценка сложности (количества операций) раскрытия шифра.
Алгоритмы шифрования с открытым ключом получили широкое распространение в современных информационных системах. Так, алгоритм RSA стал мировым стандартом.
Вообще же все предлагаемые сегодня криптосистемы с открытым ключом опираются на один из следующих типов необратимых преобразований:
Здесь же следует отметить, что алгоритмы криптосистемы с открытым ключом можно использовать в трех назначениях.
1. Как самостоятельные средства защиты передаваемых и хранимых данных.
2. Как средства для распределения ключей.
Схема шифрования с открытым ключом
Пусть K — пространство ключей, а e и d — ключи шифрования и расшифрования соответственно. Ee — функция шифрования для произвольного ключа eK, такая что:
Ee(m) = c
Здесь cC, где C — пространство шифротекстов, а mM, где M — пространство сообщений.
Dd — функция расшифрования, с помощью которой можно найти исходное сообщение m, зная шифротекст c :
Dd(c) = m
{Ee: eK} — набор шифрования, а {Dd: dK} — соответствующий набор для расшифрования. Каждая пара (E,D) имеет свойство: зная Ee, невозможно решить уравнение Ee(m) = c, то есть для данного произвольного шифротекста cC, невозможно найти сообщение mM. Это значит, что по данному e невозможно определить соответствующий ключ расшифрования d. Ee является односторонней функцией, а d — лазейкой.
Ниже показана схема передачи
информации лицом А лицу В. Они
могут быть как физическими лицами,
так и организациями и так
далее. Но для более лёгкого восприятия
принято участников передачи отождествлять
с людьми, чаще всего именуемыми
Алиса и Боб. Участника, который
стремится перехватить и
Криптоанализ алгоритмов с открытым ключом
Казалось бы, что криптосистема с открытым ключом — идеальная система, не требующая безопасного канала для передачи ключа шифрования. Это подразумевало бы, что два легальных пользователя могли бы общаться по открытому каналу, не встречаясь, чтобы обменяться ключами. К сожалению, это не так. Рисунок иллюстрирует, как Ева, выполняющая роль активного перехватчика, может захватить систему (расшифровать сообщение, предназначенное Бобу) без взламывания системы шифрования.
В этой модели Ева перехватывает открытый ключ e, посланный Бобом Алисе. Затем создает пару ключей e' и d', «маскируется» под Боба, посылая Алисе открытый ключ e', который, как думает Алиса, открытый ключ, посланный ей Бобом. Ева перехватывает зашифрованные сообщения от Алисы к Бобу, расшифровывает их с помощью секретного ключа d', заново зашифровывает открытым ключом e Боба и отправляет сообщение Бобу. Таким образом, никто из участников не догадывается, что есть третье лицо, которое может как просто перехватить сообщение m, так и подменить его на ложное сообщение m'. Это подчеркивает необходимость аутентификации открытых ключей.
Еще одна форма атаки — вычисление закрытого ключа, зная открытый (рисунок ниже). Криптоаналитик знает алгоритм шифрования Ee, анализируя его, пытается найти Dd. Этот процесс упрощается, если криптоаналитик перехватил несколько криптотекстов с, посланных лицом A лицу B.
Криптосистема открытого шифрования RSA
Алгоритм RSA стоит у истоков асимметричной криптографии. Он был предложен тремя исследователями - математиками Рональдом Ривестом (R.Rivest), Ади Шамиром (A.Shamir) и Леонардом Адльманом (L.Adleman) в 1977-78 годах. Алгоритм RSA основан на свойствах простых чисел (причем очень больших). Простыми называются такие числа, которые не имеют делителей, кроме самих себя и единицы. А взаимно простыми называются числа, не имеющие общих делителей, кроме 1.
Первым этапом любого асимметричного
алгоритма является создание пары ключей:
открытого и закрытого и
Для начала выберем два очень больших простых числа (большие исходные числа нужны для построения больших криптостойких ключей). Определим параметр n как результат перемножения двух простых чисел р и q. Выберем большое случайное число и назовем его d, причем оно должно быть взаимно простым с результатом умножения (р - 1)·(q - 1). Отыщем такое число e, для которого верно соотношение
(e·d) mod ((р -1)·(q -1)) = 1
Открытым ключом является пара чисел e и n, а закрытым - d и n.
Отправитель разбивает свое сообщение на блоки, равные k = [log2(n)] бит, где квадратные скобки обозначают взятие целой части от дробного числа.
При шифровании исходный текст рассматривается как числовой ряд, и над каждым его числом мы совершаем операцию
C(i)= (M(i)e) mod n.
Их можно спокойно передавать по открытому каналу, поскольку операция возведения в степень по модулю простого числа, является необратимой математической задачей. Обратная ей задача носит название «логарифмирование в конечном поле» и является на несколько порядков более сложной задачей. То есть даже если злоумышленник знает числа d и n, то по C(i) прочесть исходные сообщения M(i) он не может никак, кроме как полным перебором.
В результате получается последовательность C(i), которая и составит криптотекст.
Дешифрование информации происходит по формуле
M(i) = (C(i)d ) mod n.
Как видите, расшифровка предполагает знание секретного ключа.
Как видим, результат совпал.
Пример 1. Для иллюстрации своего метода Ривест, Шамир и Адлеман записали английскую фразу:
The magic words are squeamish ossifrage.
Сначала они стандартным образом (a=01, b=02, …, z=26, пробел=00) записали её в виде целого числа
x=2008050013010709030023151804
e
y= f(x)=x (mod N )
при
e=9007
и
N=1438162575788886766932577997
В результате получили зашифрованный текст:
f(x)=9686961375462206147714092
(128 цифр).
Текст f(x) и числа N, e были опубликованы, причём дополнительно сообщалось, что N=pq, где p и q – простые числа, записываемые соответственно 64 и 65 десятичными знаками. Тому, кто дешифрует сообщение F(x) была обещана награда в $100.
Эта история завершилась спустя 17 лет в 1994 г., когда D. Atkins, M. Graff, A.K. Lenstra и P.S. Leyand сообщили о дешифровании фразы f(x).
Числа p и q при этом оказались равными:
p=3490529510847650949147849619
q=3276913299326670954996198819
В работе, возглавлявшейся четырьмя названными авторами проекта, после теоретической подготовки на заключительном этапе длительностью в 220 дней принимали участие около 600 человек и примерно 1600 компьютеров, объединённых сетью Internet. Премия в $100 была передана в Free Sofware Foundation.