- •Факультет прикладной математики и телекоммуникаций
- •Реализация криптоалгоритмов замены (подстановка Цезаря и Аффинная подстановка Цезаря)
- •Тпжа.12214-01 81 01 пз
- •Реферат
- •Содержание
- •Введение
- •Обзор и анализ систем шифрования с открытым ключом
- •3. Криптоалгоритмы замены
- •Результаты работы программы
- •Заключение
- •Применение криптоалгоритмов замены
- •Кафедра радиоэлектронных средств
- •Реализация криптоалгоритмов замены (подстановка Цезаря и Аффинная подстановка Цезаря) Описание программы
- •Кафедра радиоэлектронных средств Утверждён:
- •Реализация криптоалгоритмов замены (подстановка Цезаря и Аффинная подстановка Цезаря)
- •Аннотация
- •Содержание
- •Выходные данные
- •Описание логической структуры
- •Состав программного модуля
- •Кафедра радиоэлектронных средств
- •Реализация криптоалгоритмов замены (подстановка Цезаря и Аффинная подстановка Цезаря)
- •Кафедра радиоэлектронных средств Утверждён:
- •Реализация криптоалгоритмов замены (подстановка Цезаря и Аффинная подстановка Цезаря)
- •Аннотация
- •Содержание
- •Работа с программой
- •Приложение в Библиографический список
Обзор и анализ систем шифрования с открытым ключом
Асимметричные системы шифрования.
В ассиметричных системах шифрования (или криптографии с открытым ключом) для зашифрования информации используют один ключ (открытый), а для расшифрования – другой (секретный.) Эти ключи различны и не могут быть получены один из другого.
Схема обмена информацией такова:
- получатель вычисляет открытый и секретный ключи, секретный ключ хранит втайне, открытый же делает доступным (сообщает отправителю, группе пользователей сети, публикует);
- отправитель, используя открытый ключ получателя, зашифровывает сообщение, которое пересылает получателю;
- получатель получает сообщение и расшифровывает его, используя свой секретный ключ.
В асимметричных системах необходимо применять длинные ключи(512 битов и больше.) Длинный ключ резко увеличивает время шифрования. Кроме того, генерация ключей весьма длительна. Зато распределить ключи можно по незащищённым каналам.
В симметричных алгоритмах используют более короткие ключи, т.е. шифрование происходит быстрее. Но в таких системах сложное распределение ключей. Поэтому для проектирования защищённой системы часто применяют и симметричные, и асимметричные алгоритмы. Так как система с открытыми ключами позволяет распределять ключи и в симметричных системах, то можно обе системы шифрования объединить в системе передачи защищённой информации.
Алгоритм RSA.
Данная криптосистема разработана в 1977 году, получила название в честь её создателей: Рона Ривеста, Ади Шамира и Леонарда Эйдельмана.
Математические факты, на которых основан алгоритм Евклида.
Теорема 1 (Малая теорема Ферма).
Если p-простое
число и 0<a<p,
то имеет место следующее выражение:
(1)
Для любого x,
простого относительно p,
имеет место выражение:
(2)
Определение.
Функцией Эйлера
называется
количество чисел в ряду от 1 до n-1
взаимнопростых с n,
если
.
Например: n=10,
=1,3,7,9,
значит
=4.
Теорема 2.
Если
,
то
.
Базовая теорема в алгоритме RSA.
Теорема 3.
Если
,
то
.
Схема алгоритма шифрования RSA:
Требуется выбрать два больших простых числа p и q(каждый 512 бит).
Находится произведение
.Находится .
Находится такое число e, которое было бы взаимнопростым с полученной функцией Эйлера, т.е. НОД(e, )=1.
Находится такое d, которое было бы взаимнопростым к e, т.е.
.
-
открытый ключ,
-
секретный ключ, а можно наоборот.
Открытый текст разбивается на подблоки, каждый зашифровывается по формуле:
,
где
-
блок открытого текста.
Расшифровка происходит на секретном ключе:
.
Открытый ключ публикуется(public key) и доступен каждому, кто желает послать владельцу ключа сообщение, которое зашифровывается указанным алгоритмом. После шифрования сообщение невозможно раскрыть с помощью открытого ключа. Владелец же секретного ключа может без проблем расшифровать сообщение. Криптостойкость RSA заключается в том, что если p и q достаточно большие числа, то разложение n практически неосуществимо.
Проблемы реализации.
Генерация больших простых чисел.
Какой длины брать ключи. Оценка трудоёмкости разложения простых чисел различной длины проделал Шроппель (сделал таблицу операций и примечаний к ним.)
Вычисления. Использование аппарата длинной арифметики, скорость шифрования которого чем больше длина ключа, тем меньше(RSA медленнодейственный по сравнению, например, с DES.)
Применение.
Используется в банковских компьютерных сетях, особенно для работы с удалёнными клиентами (обслуживание кредитных карточек).
Алгоритм Эль-Гамаля.
Схема шифрования Эль-Гамаля может быть использована как для формирования цифровых подписей, так и для шифрования данных. Безопасность схемы Эль-Гамаля обусловлена сложностью вычисления дискретных логарифмов в конечном поле.
При использовании алгоритма шифрования Эль-Гамаля длина шифротекста вдвое больше длины исходного открытого текста М. В реальных схемах шифрования необходимо использовать в качестве модуля n большое простое число, имеющее в двоичном представлении длину 512…1024 бит. Формирование каждой подписи по данному методу требует нового значения k,которое выбирается случайным образом. Если нарушитель раскроет значение k, повторно используемое отправителем, то он может раскрыть и секретный ключ отправителя.
Схема алгоритма шифрования Эль-Гамаля.
Определение открытого “y” и секретного “x” ключей.
Генерация ключей.
Выбор двух взаимнопростых больших p и q(q<p).
Выбор значения секретного ключа x(x<p)
Определение значения открытого ключа y из выражения:
Алгоритм шифрования сообщения М.
Выбор случайного числа k, удовлетворяющего условию:
и
НОД(k,p-1)=1.
Определение значения a из выражения:
Определение значения b из выражения:
Криптосистема С, состоящая из a и b, отправляется получателю.
Получатель расшифровывает криптосистему с помощью выражения:
Длина криптограммы больше открытого текста в 2 раза. Криптоаналитику сложно выполнить операцию, обратную возведению в степень. Криптостойкость обеспечивается большим основанием p.
Эль-Гамаль (Taher Elgamal) разработал вариант системы Диффи-Хеллмана. Он усовершенствовал алгоритм Диффи-Хеллмана и получил один алгоритм для шифрования и один для обеспечения аутентификации. Алгоритм Эль-Гамаля не был запатентован (в отличие от RSA) и, таким образом, стал более дешевой альтернативой, так как не требовалась уплата лицензионных взносов. Так как этот алгоритм базировался на системе Диффи-Хеллмана, безопасность информации при его использовании обеспечивается сложностью решения задачи дискретного логарифмирования.
Алгоритм обмена ключами Диффи-Хеллмана.
Это первая система, которая позволяла защищать информацию без использования секретных ключей, передаваемых по защищённому каналу связи. Алгоритм, позволяющий двум сторонам получить общий секретный ключ, используя незащищённый канал связи. Этот ключ может быть использован для шифрования дальнейшего обмена с помощью алгоритма симметричного шифрования. Алгоритм был впервые опубликован Витфилдом Диффи и Мартином Хеллманом в 1976 году, однако, позднее выяснилось, что это же метод был придуман несколькими годами раньше Малькольмом Вильямсоном для английского штаба правительственной связи, и был засекречен. В 2002 году Хеллман предложил назвать алгоритм «Диффи-Хеллмана-Меркле», признавая вклад Меркле в изобретение криптографии с открытым ключом.
Описание алгоритма.
Предположим, что двум абонентам (Р1 и Р2) требуется установить между собой безопасное соединение, для которого необходимо согласовать ключ шифрования.
Р1 и Р2 принимают к использованию два больших целых числа а и b, причём 1<a<b.
Р1 выбирает случайное число i и вычисляет открытый ключ
и
передаёт абоненту P2.Р2 выбирает случайное число j и вычисляет открытый ключ
и
передаёт абоненту P1.P1 вычисляет секретный ключ
P2 вычисляет секретный ключ
Имеем общий секретный ключ
,
следовательно, k1
и k2
являются секретными ключами,
предназначенными для использования
при передаче других данных.
Криптостойкость алгоритма (т.е. проблема определения i,j, I,J ) обеспечивается проблемой факторизации больших чисел с помощью существующих алгоритмов и компьютеров. Так в практических реализациях, для i,j используются числа порядков 10100 и b порядка 10300. Число а небольшое, обычно 2 или 5.
Алгоритм обмена ключами Диффи-Хеллмана используется во многих системах безопасности для реализации обмена ключами, используемыми для дополнительного трафика. Недостатком системы Диффи-Хеллмана является то, что она может быть уязвима для атаки посредником (см. рис. 1).
Если атакующий сумеет разместить свой компьютер между двумя абонентами P1 и P2, подключить его к каналу связи и осуществлять перехват всей передаваемой информации, то он сможет выполнять обмен данными с P2, выдавая себя за P1, и с P1 под видом P2.
Таким образом, обмен ключами будет происходить между P1 и злоумышленником и между P2 и злоумышленником. Тем не менее, осуществление такой атаки требует большого объема ресурсов, и в реальном мире такие атаки происходят редко.
Рисунок 1 –атака посредником на алгоритм Диффи-Хеллмана.
На основе шифросистем с открытым ключом делается цифровая под- пись - реквизит электронного документа, предназначенный для защиты данного документа, полученного в результате криптографического преобразования с использованием секретного ключа. В ЭЦП, наоборот, у отправителя есть секретный ключ, а у получателя секретный. Используется хэш-функция-однонаправленная функция, которая преобразует произвольное сообщение в строку заданной длины n. Благодаря ЭЦП обеспечивается целостность документов (засчёт применения хэш-функции), удостоверение источников документов и невозможность отказа от авторства (существует сертификационный центр, который обеспечивает жизнедеятельность ключей, генерирует и распределяет ключи.)
Недостатком систем шифрования с открытым ключом является то, что они требуют больших вычислительных мощностей и, следовательно, являются намного менее быстродействующими, нежели системы с секретным ключом. Тем не менее, если скомбинировать шифрование с открытым и секретным ключами, получится гораздо более мощная система шифрования. Система шифрования с открытым ключом используется для обмена ключами и аутентификации абонентов по обе стороны соединения. Система шифрования с секретным ключом затем используется для шифрования остального трафика.
Системы шифрования с открытым ключом имеют важное практическое значение. Они применяются для хранения паролей на компьютере (организовать хранение так, чтобы взлом был невозможен), в радиолокаторах и системах ПВО (при пересечении самолётом границы радиолокатор спрашивает пароль - если верный, то самолёт свой, нет – чужой. Проблема в том, что пароль должен передаваться по открытому каналу – “воздушной среде”.), в компьютерных сетях с удалённым доступом (взаимодействие банка и клиента.)
