Криптография (блочный шифр)
Категория реферата: Рефераты по информатике, программированию
Теги реферата: сочинение рассказ, сообщения вконтакте
Добавил(а) на сайт: Зосима.
1 2 | Следующая страница реферата
Blowfish это 64-бит блочный шифр разработанный Шнайером (Schneier) в 1993 году. Это шифр Файстела (Feistel) и каждый проход состоит из зависимой от ключа перестановки и зависимой от ключа с данными замены. Все операции основаны на операциях XOR и прибавлениях к 32-битным словам (XORs and additions on 32-bit words). Ключ имеет переменную длину (максимально 448 бит) и используется для генерации нескольких подключевых массивов (subkey arrays). Шифр был создан специально для 32-битных машин и существенно быстрее DES.
В 1994 Dr.Dobb журнал спонсировал открытое соревнование с выиграшем в $1000. Это соревнование закончилось в Апреле 1995 и среди результатов было открыто существование нескольких слабых ключей. Однако, Blowfish может считаться защищенным, и Шнайер пригласил криптоаналитиков для продолжения исследования его шифра.
Что такое DES.DES (Data Encryption Standart) это симметричный алгоритм шифрования, т.е. один ключ используется как для зашифровывания, так и для расшифрования сообщений. Разработан фирмой IBM и утвержден правительством США в 1977 как официальный стандарт.
DES имеет блоки по 64 бит и основан на 16 кратной перестановке данных, также для зашифрования использует ключ в 56 бит. Существует несколько режимов DES, например Electronic Code Book (ECB) и Cipher Block Chaining (CBC).
56 бит - это 8 семибитовых ASCII символов, т.е. пароль не может быть больше чем 8 букв. Если вдобавок использовать только буквы и цифры, то количество возможных вариантов будет существенно меньше максимально возможных 2^56.
Один из шагов алгоритма DES:
Входной блок данных делится пополам на левую (L') и правую (R') части. После этого формируется выходной массив так, что его левая часть L'' представлена правой частью R' входного, из 32-битового слова R' с помощью битовых перестановок формируется 48-битовое слово. Полученное 48-битовое слово XOR-ится с 48-битовым раундовым ключом. Результирующее 48-битовое слово разбивается на 8 6-битовых групп, каждая 6-битовая группа посредством соответствующего S-box'а заменяется на 4-битовую группу и из полученных восьми 4-битовых групп составляется 32-битовое слово. Полученное слово XOR-ится с L', в результате получается R''. Можно убедиться, что все проведенные операции могут быть обращены и расшифрование осуществлятся за число операций, линейно зависящее от размера блока. После нескольких таких взбиваний можно считать, что каждый бит выходного блока шифровки может зависеть от каждого бита сообщения.
Что такое Тройной DES.Так как текст, зашифроaвaнный двойным DES оказывается хрупким при криптографической атаке - встреча на середие (meet in the middle), то текст шифруется 3 раза DES. Таким образом длина ключа возрастает до 168-бит (56x3).
Не всегда, применеие тройного DES означает увелечение уровня безопасности сообщения.
Типы тройного шифрования DES:
DES-EEE3: Шифруется 3 раза с 3 различными ключами. DES-EDE3: 3 DES операции шифровка-расшифровка-шифровка с 3 различными ключами. DES-EEE2 и DES-EDE2: Как и предыдущие, за исключением того, что первая и третья операции используют одинаковый ключ.
Сравнение различных видов DES шифрования. |
||||
# Шифрования | # Ключей | Вычисление (Computation) | Хранение (Storage) | Тип атаки |
одиночный | 2^56 | known plaintext | ||
одиночный | 2^38 | 2^38 | chosen plaintext | |
одиночный | 2^56 | chosen plaintext | ||
двойной | 2^112 | known plaintext | ||
двойной | 2^56 | 2^56 | known plaintext | |
двойной | 2^112 | chosen plaintext | ||
тройной | 2^112 | known plaintext | ||
тройной | 2^56 | 2^56 | 2^56 chosen plaintext | |
тройной | 2^(120-t) | 2^t known plaintext | ||
тройной | 2^56 | chosen plaintext | ||
тройной | 2^112 | 2^56 | known plaintext | |
тройной | 2^56 | 2^112 | chosen plaintext |
DES выделяет из 56-битного ключа введенного пользователем 16 48-битных ключей, для использования в каждой из 16 перестановок. Интересно сравнение эффекта при использовании 768-битного ключа (разделенного на 16 48-битных подключиков) взамен использования 16 зависимых ключей создающимся режимом ключей в DES алгоритме.
При использовании независимых ключей будет существенно увеличиваться количество попыток, нужных для исчерпывающего поиска ключей. Изменение шифра повлечет за собой лишь не значительное увеличение стойкости шифра против дифференциальной и линейной криптоаналитических атаках чем у обычного DES. Это было открыто Битамом (Bitham).
Что такое IDEA.IDEA (International Data Encryption Algorithm) - это вторая версия блочного шифра разработанный К.Лейем (Lai )и Д.Месси (Massey) в конце 80-х. Это шифр состоящий из 64-битных повторяющихся блоков со 128-битным ключом и восемью проходами (rounds). Хотя этот шифр не шифр Файстела (Feistel), дешифрование выполняется по тому же принципу,чтоишифрование. Структура шифра была разработана для легкого воплощения как программно, так и аппаратно, и безопасность IDEA основывается на использовании трех не совместимх типов арифметических операций над 16-битными словами. Скорость программного IDEA сравнима со скоростью DES.
Один из принципов создания IDEA - затруднить дифференциальный криптоанализ. Также не одна линейная криптоаналитическая атака не закончилась успешно, как и не было выявлено алгебраически слабых мест. Самый полный анализ провел Daemen. Он открыл большой класс 2^51 слабых ключей, при использовании которых в процессе шифрования, ключ может быть обнаружен и востановлен. Однако, т.к. в IDEA существует 2^128 возможных вариантов ключей, то это открытие не влияет на практическую безопасность шифра.
Что такое RC2 и RC4.RC2 и RC4 это блочные шифры с ключом переменной длины созданные Роном Ривестом (Ron Rivest) для RSA Data Security. "RC" расшифровывается как "Ron's Code" или "Rivest Cipher (шрифт)". RC2 быстрее чем DES и был спецально разработан для замены ("drop-in" replacement) DES. Он может быть реализован более или менее защищенным чем DES, в зависимости от длины ключа. RC2 алгоритм конфиденциален и является собственностью RSA Data Security. RC2 может использоваться там, где используется DES.
Соглашение, заключенное между Software Publishers Association (SPA) и правительством США дает RC2 и RC4 специальный статус, который означает, что разрешено экспортировать шифры длинной ключа до 40 бит. 56-битные ключи разрешено использовать заграничным отделениям американских компаний. Однако, несколько мощных компьютеров, могут перебрать все возможные у 40-битного ключа 2^40 варианты всего за неделю. Поэтому дополнительно могут использоваться строки называемые солью (salt), которые сильно мешают при переборе всех возможных вариантов. Соль присоединяется к исходному ключу, и удлиненный ключ используется для шифрования. сообщения, потом соль посылается с сообщением в не зашифрованном виде.
RC2 и RC4 с ключами 128 бит обеспечивают такой же уровень безопасности как и IDEA или тройной DES. RC2 и RC4 используется широко разработчиками, чьи продукты экспортируются за пределы США, поскольку экспортировать DES запрещено.
Надежность RC4 была недавно поставлена под сомнение из за несанкционированного соглашения текста программы, использующей этот шифр.
Что такое RC5.RC5 это довольно-таки быстрый блочный шифр разработанный Ривестом для RSA Data Security. Этот алгаритм параметричен, т.е. с пременным размером блока, длинной ключа и переменным числом проходов. Размер блока может быть 32, 64, или 128 битов. Количество проходов в промежутке от 0 до 2048 бит. Параметричность такого рода дает гибкость и эффективность шифрования.
RC5 состоит из ввода ключа (key expansion), шифрования и дешифрования. При вводе ключа вводятся также количество проходов, размер блока и т.д. Шифрование состоит из 3 примитвных операций : сложения, побитового XOR и чередования (rotation). Исключительная простота RC5 делает его простым в использовании, RC5 текст, также как и RSA, может быть дописан в конец письма в зашифрованном виде.
Безопасность RC5 основывается на зависящем от данных чередованием и смешиванием результатов различных операций. RC5 с размером блока 64 бита и 12 или более проходов обеспечивает хорошую стойкость против дифференциального и линейного криптанализов.
Что такое RSA.RSA (авторы: Rivest, Shamir и Alderman) это система с открытым ключом (public-key) предназначенная как для шифрования, так и для аутентификации была разработана в 1977 году. Она основана на трудности разложения очень больших целых чисел на простые сомножители.
RSA очень медленный алгоритм. Для сравнения, на програмном уровне DES по меньше мере в 100 раз быстрее RSA, на апаратном аж в 1,000-10,000 раз, в зависимости от выполнения.
RSA алгоритм:
1. Берутся два очень больших целых числа P и Q и находятся N=PQ и M=(P-1)(Q-1)
2. Выбирается случайное целое число D, взаимно простое с M и вычисляется E=(1 MOD M)/D
3. Потом публикуется D и N как открытый ключ, E сохраняется в тайне.
4. Если S - сообщение, длина которого, определяемая по значению выражаемого им
целого числа, должна быть в интервале (1,N), то оно превращается в шифровку возведением в степень D по модулю N и отправляется получателю S'=S^D MOD N
5. Получатель сообщения расшифрорвывает его, возведя в степень E (число E ему уже известно) по модулю N, т.к. S=(S'^E MOD N)=S^(DE) MOD N
Рекомендуем скачать другие рефераты по теме: конспект урока 6 класс, реферат чрезвычайные ситуации.
1 2 | Следующая страница реферата