Перейти к содержимому

Доказать что des и aes совершенные шифры

  • автор:

Разница между DES (стандарт шифрования данных) и AES (расширенный стандарт шифрования)

DES (стандарт шифрования данных) и AES (расширенный стандарт шифрования) являются симметричным блочным шифром. AES был введен для преодоления недостатков DES. Поскольку DES имеет меньший размер ключа, что делает его менее безопасным для преодоления, был введен тройной DES, но он оказался медленнее. Следовательно, позже AES был представлен Национальным институтом стандартов и технологий.

Основное различие между DES и AES заключается в том, что в DES блок открытого текста делится на две половины перед запуском основного алгоритма, тогда как в AES весь блок обрабатывается для получения зашифрованного текста.

Давайте обсудим еще несколько различий между DES и AES с помощью сравнительной таблицы, показанной ниже.

Сравнительная таблица

Основа для сравнения DES (стандарт шифрования данных) AES (расширенный стандарт шифрования)
Базовый В DES блок данных делится на две половины. В AES весь блок данных обрабатывается как единая матрица.
Принцип DES работает над структурой Feistel Cipher. AES работает по принципу подстановки и перестановки.
Простой текст Открытый текст состоит из 64 бит Открытый текст может иметь длину 128 192 или 256 бит.
Размер ключа DES по сравнению с AES имеет меньший размер ключа. AES имеет больший размер ключа по сравнению с DES.
Раундов 16 туров 10 раундов для 128-битного алгоритма
12 раундов для 192-битного алгоритма
14 раундов для 256-битного алгоритма
Имена раундов Перестановка расширения, Xor, S-box, P-box, Xor и Swap. Суббайты, строки сдвига, столбцы смешивания, клавиши Addround.
Безопасность DES имеет меньший ключ, который менее безопасен. AES имеет сравнительно большой секретный ключ, следовательно, более безопасен.
Скорость DES сравнительно медленнее. AES быстрее.

Определение DES (стандарт шифрования данных)

Стандарт шифрования данных (DES) — это блочный шифр с симметричным ключом это было принято Национальный институт стандартов и технологий в год 1977. DES основан на Структура Фейстеля где открытый текст разделен на две половины. DES принимает входные данные как 64-битный простой текст и 56-битный ключ для создания 64-битного зашифрованного текста.

На рисунке ниже вы можете увидеть шифрование открытого текста с помощью DES. Первоначально 64-битный открытый текст подвергается начальной перестановке, которая переупорядочивает биты для получения 64-битного перестановочного ввода. Теперь этот 64-битный ввод с перестановкой разделен на две половины, то есть 32-битную левую часть и 32-битную правую часть. Обе части проходят шестнадцать раундов, каждый раунд выполняет одни и те же функции. После завершения шестнадцати раундов выполняется окончательная перестановка и получается 64-битный зашифрованный текст. Каждый раунд содержит следующие функции:

  • Расширение перестановки: Здесь 32-битная правая часть расширяется до 48-битной правой части.
  • Xor: 48-битная правая часть — это Xor с 48-битным подключом, полученным из 56-битного ключа, что приводит к 48-битному выходу.
  • S-коробка: 48-битный вывод, полученный с помощью шага Xor, снова уменьшается до 32-битного.
  • П-бокс: Здесь 32-битный результат, полученный из S-блока, снова переставляется, что приводит к 32-битному перестановочному выводу.

Определение AES (Advanced Encryption Standard)

Advanced Encryption Standard (AES) также является блочный шифр с симметричным ключом. AES был опубликован в 2001 посредством Национальный институт стандартов и технологий. AES был введен для замены DES, поскольку DES использует очень маленький ключ шифрования и алгоритм был довольно медленным.

Алгоритм AES использует 128-битный открытый текст и 128-битный секретный ключ, которые вместе образуют 128-битный блок, который изображается как квадратная матрица 4 X 4. Эта квадратная матрица 4 X 4 подвергается первоначальному преобразованию. За этим шагом следуют 10 раундов. Из них 9 раундов содержат следующие этапы:

  • Суббайты: Он использует S-блок, с помощью которого он выполняет побайтовую замену всего блока (матрицы).
  • Сдвиг рядов: Строки матрицы сдвинуты.
  • Столбцы смешивания: Столбцы матрицы перетасовываются справа налево.
  • Добавить круглые ключи: Вот, выполняется Xor текущего блока и расширенного ключа.

И последний 10-й раунд включает только этапы «Суббайты», «Сдвиг строк» ​​и «Добавить ключи раунда» и обеспечивает 16-байтовый (128-битный) зашифрованный текст.

Вывод

DES — это более старый алгоритм, а AES — это расширенный алгоритм, который быстрее и безопаснее DES.

DES против AES — Лучшие 9 удивительных отличий, которые вы должны изучить

В этом разделе мы узнаем о разнице между DES и AES с помощью введения, ключевых отличий и сравнительной таблицы, приведенной ниже.

DES (расшифровывается как Data Encryption Standard) и AES (Advanced Encryption Standard) являются симметричным блочным шифром. Перед изучением DES против AES, мы знаем, что такое блочный шифр? Итак, давайте разберемся, что такое блочный шифр. Блочный шифр — это криптографический алгоритм, используемый для шифрования простого текста с целью получения зашифрованного текста (также называемого шифротекстом), в котором криптографический ключ применяется ко всему блоку, а не к отдельным битам. Этот алгоритм всегда работает с блоками фиксированной длины, используя общий / секретный ключ. Один и тот же секретный ключ используется для шифрования и дешифрования текста. Этот ключ совместно используется обеими сторонами, чтобы они могли зашифровать и расшифровать данные, используя его, и, следовательно, защитить данные от внешних атак.

DES:

Это симметричный блочный шифр, введенный Национальным институтом стандартов и технологий (NIST) в 1977 году. Это реализация Feistel Structure (многоцелевого шифра, который делит весь текст на две части и работает над каждой частью в отдельности). ). Он работает на 64-битном ключе ввода и использует 56-битный общий ключ для создания 64-битного шифротекста. В DES весь простой текст делится на две части по 32 бита каждая перед обработкой, и одни и те же операции выполняются над отдельными частями. Каждая часть подвергается операции из 16 раундов, и после этих операций делается окончательная перестановка для получения 64-битного зашифрованного текста.

Различные функции, участвующие в раундах — это Расширение, Перестановка и Замена, операция XOR с круглым ключом. Дешифрование следует тому же процессу, что и шифрование, но в обратном порядке. Хотя DES считался менее безопасным для шифрования конфиденциальных данных правительства, поскольку он использует меньший общий ключ, для преодоления этого тройного DES был введен, но он также не считался хорошим алгоритмом, поскольку он оказывается очень медленным для шифрования данных. Даже небольшое изменение во входном тексте приводит к созданию совершенно другого зашифрованного текста в DES.

AES:

Он появился на снимке после тройного DES, поскольку он оказался медленным. Это один из наиболее широко используемых алгоритмов симметричного блочного шифрования, используемых в настоящее время. Он был введен Национальным институтом стандартов и технологий в 2001 году. Он как минимум в шесть раз быстрее, чем тройной DES. В отличие от DES, он работает по принципу «Замена и перестановка». Это следует итеративному подходу. AES работает с байтами, а не с битами.

В AES обычный текст считается 126 битами, эквивалентными 16 байтам, с секретным ключом 128 битов, который вместе образует матрицу 4 × 4 (имеющую 4 строки и 4 столбца). После этого шага он выполняет 10 раундов. У каждого раунда есть свои подпроцессы, в которых 9 раундов включают в себя процесс «Суббайты», «Строки сдвига», «Столбцы смешения» и «Добавить ключи раунда», а в 10-м раунде все вышеперечисленные операции, исключая «Столбцы микширования», создают 126-битный шифротекст. В AES количество раундов зависит от размера ключа, то есть 10 раундов для 128-битных ключей, 12 раундов для 192-битного ключа и 14 раундов для 256-битных ключей. Он используется во многих протоколах, таких как TLS, SSL и различных современных приложениях, которые требуют высокой безопасности шифрования. AES также используется для оборудования, которое требует высокой пропускной способности.

Сравнение лицом к лицу между DES и AES (инфографика)

Ниже приведены 9 основных различий между DES и AES.

Основные различия между DES и AES:

Давайте обсудим некоторые основные различия между DES и AES:

  1. Основным отличием DES от AES является процесс шифрования. В DES открытый текст делится на две половины перед дальнейшей обработкой, тогда как в целом блоке AES нет разделения, и весь блок обрабатывается вместе для получения зашифрованного текста.
  2. AES сравнительно намного быстрее, чем DES, и способен шифровать большие файлы за доли секунды по сравнению с DES.
  3. Из-за небольшого размера разделяемого ключа, используемого в DES, он считается менее безопасным, чем AES. DES считается более уязвимым для атак методом перебора, в то время как AES не сталкивался с серьезными атаками на данный момент.
  4. Реализация Алгоритма оценивается на основе гибкости, и AES является сравнительно более гибким, чем DES, поскольку он допускает текст различной длины, включая 128, 192, 256 бит, тогда как DES позволяет шифровать текст с фиксированными 64 битами.
  5. Функции, используемые при обработке раундов DES, — это Расширение, Перестановка и Подстановка, операция XOR с круглой клавишей, в то время как функции, используемые в раундах AES, — это суббайты, Строки сдвига, Столбцы смешения и Добавление круглых ключей.
  6. AES практически эффективен как с аппаратными, так и с программными реализациями, в отличие от DES, который изначально был эффективен только с аппаратным обеспечением.

DES против AES Сравнительная таблица

Ниже приведено самое лучшее сравнение между DES и AES:

Основа сравнения между DES и AES

DES

AES

Вывод

Оба DES против AES используются для шифрования данных и полезны по-своему. AES стал преемником DES, чтобы преодолеть его недостатки. AES также принимается правительством США и считается надежным алгоритмом защиты секретной информации. Хотя DES внес большой вклад в области безопасности данных, в настоящее время он заменен AES в областях высокой безопасности.

Рекомендуемые статьи

Это было руководство к разнице между DES и AES. Здесь мы также обсудим ключевые отличия DES от AES с помощью инфографики и сравнительной таблицы. Вы также можете взглянуть на следующие статьи, чтобы узнать больше

Введение

Целью проведения конкурса AES был поиск нового стандарта шифрования на замену таких алгоритмов как DES и IDEA, криптостойкость которых была подвергнута сомнению, а впоследствии и вовсем признали эти алгоритмы ненадежными. В результате проведения конкурса был выбран новый стандарт шифрования Advanced Encryption Standard (AES). Новый стандарт дал новое направление в криптологии — реализация шифров шифрования информации на многоядерных процессорах, которые использовали несколько потоков для обработки информации. Это позволило увеличить длину ключа для зашифровки и дешифровки информации.

С 2011 года новые процессоры Intel получать новые инструкции для AES[3]. AES является ведущим стандартом симметричного шифрования, который используется в широком диапазоне приложений, и постоянно растущий спрос на безопасность и приватность данных обеспечил его повсеместное применение.

Целью курсовой работы является повышение уровня знаний в области криптографии. Исходя из указанной цели, можно выделить частные задачи, поставленные в курсовой работе:

поиск источников информации, связанных с основными этапы конкурса на AES;

произвести анализ источников информации;

провести сравнение основных шифров и сделать выводы.

DES и AES

В 1972 и 1974 годах Национальным бюро стандартов США был объявлен первый открытый конкурс на федеральный стандарт шифрования данных. Результатом этого начинания стал DES (Data Encryption Standard) — возможно, самый широко используемый и самый успешный криптоалгоритм в мире. Достаточно отметить, что за четверть века самого скрупулезного криптоанализа так и не было найдено эффективных методов вскрытия этого шифра. Под «эффективным» понимается метод, существенно сокращающий трудозатраты по сравнению с лобовым вскрытием шифра путем тотального перебора ключей[3].

После 1977 года НИСТ каждые пять лет вновь утверждал DES в качестве национального стандарта шифрования. Делалось это не очень охотно, но более современного эквивалента DES не виделось. Однако, вместе с развитием технологической базы и ростом вычислительной мощности процессоров, все более остро стала ощущаться и потребность в новом криптостандарте.

К середине 1990-х годов было уже совершенно очевидно, что DES стал архаикой: 56 бит ключа — это слишком мало, шифр весьма медленно работает в программных реализациях, да и аппаратная реализация изначально была сориентирована на 4-битные процессоры 1970-х. С учетом всех этих обстоятельств, в январе 1997 г. НИСТ объявил о запуске программы по принятию нового криптостандарта AES. Согласно целям новой программы «AES будет определять незасекреченный алгоритм шифрования, способный защищать важную информацию правительственного уровня в следующем столетии». Исходные минимальные требования к новому криптоалгоритму были следующими[5]:

AES должен быть открыто опубликован;

AES должен быть симметричным блочным шифром;

AES должен быть разработан так, чтобы длину ключа можно было при необходимости увеличить;

AES должен допускать как аппаратную, так и программную реализацию;

AES должен быть бесплатным, то есть либо незапатентованным, либо с аннулированными патентными правами;

Алгоритмы-кандидаты, отвечающие перечисленным требованиям, подлежат исследованиям по следующим параметрам: стойкость (т.е. усилия, требуемые при криптоанализе); вычислительная эффективность; требования к памяти; удобство аппаратной и программной реализации; простота; гибкость.

Естественно, данная инициатива НИСТ вызвала живой интерес не только в американских правительственных кругах и промышленности, выполняющей государственные заказы. Хотя стандарты НИСТ являются обязательными только для правительственных структур США, тем не менее, ими охотно пользуются и во всем остальном мире, в частности, банковская сфера, телекоммуникационные компании, компьютерная индустрия и т.д. Собственно говоря, именно поэтому федеральный криптостандарт DES и стал самым распространенным на планете шифром.

В апреле 1997 года, после обсуждения проблемы со всеми заинтересованными сторонами, НИСТ сформулировал более конкретные требования к новому криптостандарту и их разъяснения. По убеждению НИСТ, AES должен быть симметричным блочным, а не поточным шифром. (Напомним, что в симметричном шифре один и тот же ключ применяется как для зашифрования, так и для расшифрования сообщения. Поточный шифр применяет изменяющееся от такта к такту криптопреобразование к отдельным цифрам потока данных, а блочный шифр применяет постоянное криптопреобразование к целым блокам данных.) При разъяснении позиции НИСТ было сказано, что, во-первых, блочный шифр AES станет прямым преемником концептуально такого же шифра DES, и, во-вторых, уже имеющиеся утвержденные стандарты режимов функционирования криптоалгоритма ориентированы на блочное шифрование.

Излагая взгляд НИСТ на новый шифр в самой краткой форме, можно сказать, что AES должен существенно превосходить по эффективности «тройной DES» и при этом не уступать ему в стойкости. Напомним, что «тройной DES» — это эволюционное развитие DES-шифрования, когда для повышения стойкости блоки данных шифруют трижды на разных ключах. Естественно, при этом требуется и значительно больше вычислений.

В окончательной формулировке требования к AES стали выглядеть так. Шифр должен иметь размер блока 128 бит (существенно, что это требование сразу же вывело из игры почти все применяющиеся ныне алгоритмы, традиционно ориентированные на 64-битный блок), и допускать размеры ключей в 128, 192 и 256 бит[4]. На сегодняшний день вполне достаточной длиной ключа считают 80 бит, однако, учитывая, что AES принимается на 20-30 лет, длина ключа выбрана с солидным запасом. Для наглядного представления о том, что дает 128-битный размер ключа, указывают, что количество всех возможных ключей такого размера равно примерно 340,000,000,000,000,000,000,000,000,000,000,000,000 (или 340 с 36 нулями).

В сентябре 1997 года НИСТ опубликовал приглашение выдвигать кандидатов на AES, призвав принять участие в конкурсе желающих из всех стран. Высказывались также мнения, что в конкурсе должно принять участие и АНБ США, как наиболее компетентное в криптографии национальное ведомство. Однако, Агентство национальной безопасности, занимающееся разработкой шифров для защиты секретов американского правительства и вскрытием шифров иностранных, объявило, что не будет выставлять своего кандидата на AES. Как сказали в АНБ, об этом их попросил сам НИСТ, поскольку в такой ситуации они смогут быть беспристрастным участником процесса выбора победителя, а не участвующей в конкурсе стороной.

В августе 1998 г. в калифорнийском городе Вентура прошла AES1 — «Первая конференция кандидатов на AES», где были объявлены 15 принятых на конкурс алгоритмов, разработанных криптографами из 12 стран. Мировая криптографическая общественность более чем доброжелательно отреагировала на стремление НИСТ к открытому и интернациональному процессу принятия и обсуждения шифров-кандидатов.

Открывая первый раунд конкурса на новый криптостандарт, представитель НИСТ Майлз Смид удачно пошутил, представив аудитории «Общий алгоритм перехода от DES к AES»[7]:

Убедить руководство НИСТ в том, что DES уже недостаточно безопасен;

Убедить руководство НИСТ в том, что «тройной DES» недостаточно хорош, чтобы стать AES;

Призвать лучших криптографов мира предложить свои алгоритмы;

Призвать лучших криптографов мира проанализировать эти алгоритмы (что делается ныне);

Избежать ареста за нарушение экспортных законов;

Молиться о консенсусе;

Если же все это не пройдет, то приравнять AES = DES.

NIST установил всего два обязательных требования к алгоритмам-участникам конкурса:

128-битный размер блока шифруемых данных,

не менее трех поддерживаемых алгоритмом размеров ключей шифрования: 128, 192 и 256 бит.

Как показали шаги 3 и 4 «Общего алгоритма», процесс перехода стартовал весьма успешно и на смену DES идут весьма достойные преемники.

Погружение в крипту. Часть 4. Современные зарубежные шифры

В прошлый раз ты познакомился с великими и ужасными отечественными шифрами. Это был очень непростой урок, ведь эти криптосистемы стоят на страже государственной тайны. Скажешь, куда уж замудреннее? А вот сюда, пожалуйста! На самом деле не стоит пугаться, в этот раз не будем так глубоко погружаться в математику и рассматривать режимы шифрования — их принципы ты уже усвоил (ну или не усвоил). Пройдемся по самым топовым зарубежным шифрам и посмотрим, как же их применяют на практике.

Roadmap

Это четвертый урок из цикла «Погружение в крипту». Все уроки цикла в хронологическом порядке:

    Основы и исторические шифраторы. Как работают (и анализируются) шифры сдвига, замены, Рихарда Зорге, шифр Вернама и шифровальные машины Что это такое, как выполняется распределение ключей и как выбрать криптостойкий ключ Что такое сеть Фейстеля и какими бывают отечественные блочные шифры, используемые в современных протоколах, — ГОСТ 28147—89, «Кузнечик»
  • Урок 4. Современные зарубежные шифры. В чем разница между 3DES, AES, Blowfish, IDEA, Threefish от Брюса Шнайера и как они работают (ты здесь) Виды электронных подписей, как они работают и как их использовать
  • Урок 6. Квантовая криптография. Что это такое, где используется и как помогает в распределении секретных ключей, генерации случайных чисел и электронной подписи

Чтобы не сесть в лужу с терминами, рекомендую освежить в памяти понятия поточных и блочных шифров, а также симметричного и асимметричного шифрования, блоков замены и сети Фейстеля.

Итак, первым в ряду зарубежных шифров рассмотрим 3DES, а точнее его ближайшего родственника DES (Data Encryption Standard), который хоть уже и не используется как таковой, но является предком 3DES.

DES разработан командой математиков научной лаборатории IBM, в которую входил уже знакомый нам Фейстель. Первая версия шифра получила имя «Люцифер», но затем он был модифицирован и в результате принят как официальный алгоритм шифрования данных (DEA). На протяжении более двадцати лет он оставался мировым стандартом, прежде чем его сменил Triple DES.

Рассмотрим, как работает алгоритм шифрования DES. Для этого необходимо вспомнить работу сети Фейстеля. DES — это сеть Фейстеля из 16 раундов с симметричными ключами шифрования. Длина блока текста — 64 бита, длина раундового ключа — 48 бит. Итак, пройдем основные этапы шифрования DES, опуская суровую математическую сторону:

  1. Текст, как и при любом другом шифровании, разбивается на блоки по 64 бита.
  2. Из 56-битного ключа генерируется 16 48-битных раундовых ключиков.
  3. Каждый блок подвергается перестановке, то есть все биты входного блока перемешиваются согласно определенной таблице.
  4. Блок расщепляется на половинки и поступает в знакомую нам сеть Фейстеля, где прокручивается 16 раундов.
  5. Соединяем половинки.
  6. И еще одна перестановка.

Начальная и конечная перестановки не имеют никакого значения для криптографии в DES. Обе перестановки — без ключей, и таблицы для них заданы заранее. Причина, по которой они включены в DES, неясна, и проектировщики DES об этом ничего не сказали. Можно предположить, что алгоритм планировалось реализовать в аппаратных средствах (на чипах) и что эти две сложные перестановки должны были затруднить программное моделирование механизма шифрования.

Вот, собственно, все, что надо знать о работе алгоритма DES. Если углубляться в то, как работает функция, заданная в сети Фейстеля, то в ней все прекрасно. Она осуществляет и перестановку, и замену (S-боксы, как ты можешь помнить из предыдущей статьи), и сложение с раундовым ключом.

Но вернемся к тройному DES, или Triple DES. В нем возникла необходимость, так как 56-битный ключ DES был уязвим к брутфорсу и с ростом вычислительных мощностей эта проблема вставала все острее. Используя доступную сегодня технологию, можно проверить один миллион ключей в секунду. Это означает, что потребуется более чем две тысячи лет, чтобы перебором дешифровать DES, используя компьютер только с одним процессором.

Но если взять компьютер с одним миллионом процессорных ядер, которые будут параллельно обрабатывать ключи, мы сможем проверить все множество ключей приблизительно за 20 часов. Когда был введен DES, стоимость такого компьютера равнялась нескольким миллионам долларов, но она быстро снизилась. Специальный компьютер был создан в 1998 году — и нашел ключ за 112 часов.

Чтобы решить проблему быстрого поиска ключа, умные зарубежные криптографы предложили использовать два ключа и применять DES дважды. Однако двойной DES оказался уязвим к атаке «встреча посередине». Чтобы реализовать эту атаку, злоумышленнику необходимо иметь открытый и соответствующий ему зашифрованный текст. Злоумышленник шифрует открытый текст на всех возможных ключах, записывая результаты в таблицу 1. Затем расшифровывает зашифрованный текст со всеми возможными ключами и записывает результат в таблицу 2. Далее злоумышленник ищет в таблицах 1 и 2 совпадения.

Атака данного типа заключается в переборе ключей на стороне шифрованного и открытого текста и требует примерно в четыре раза больше вычислений, чем перебор обычного ключа DES, и довольно много памяти для хранения промежуточных результатов. Тем не менее на практике атака осуществима, что делает алгоритм Double DES непригодным.

Совсем иначе дела обстоят с Triple DES. Использование трех ключей и применение алгоритмов в указанной на схеме последовательности продлило DES жизнь еще на несколько лет.

Замечательный DES

Так что же в DES такого замечательного? Этот алгоритм шифрования был подвергнут тщательному анализу. DES обладал двумя очень важными качествами блочных шифров — лавинностью и полнотой. Настало время расширить свой криптографический словарик!
Лавинный эффект означает, что небольшие изменения в исходном тексте (или ключе) могут вызвать значительные изменения в зашифрованном тексте.

Было доказано, что DES имеет все признаки этого свойства.

Исходный текст 0000000000000000 0000000000000001
Ключ 22234512987ABB23 22234512987ABB23
Зашифрованный текст 4789FD476E82A5F1 OA4ED5C15A63FEA3

Хотя два блока исходного текста не совпадают только самым правым битом, блоки зашифрованного текста отличаются на 29 бит. Это означает, что изменение приблизительно в 1,5% исходного текста вызывает изменение приблизительно 45% зашифрованного текста.

Эффект полноты заключается в том, что каждый бит зашифрованного текста должен зависеть от многих битов исходного текста. Как мы уже выяснили, в DES применяются и перестановки, и замены — все преобразования устанавливают зависимость каждого бита шифротекста от нескольких битов исходного текста.

Где же применяется DES? Да почти везде, его реализации присутствуют в большинстве программных библиотек. Однако кто знает, насколько использование DES безопасно в наше время? Хотя IBM утверждала, что работа алгоритма была результатом 17 человеко-лет интенсивного криптоанализа, некоторые люди опасались, не вставило ли NSA в алгоритм лазейку, которая позволяет агентству легко дешифровывать перехваченные сообщения. Комитет по разведке сената США тщательно изучал этот вопрос и, разумеется, ничего не обнаружил, обвинения с NSA были сняты, результаты исследования тем не менее засекречены. Одним словом, в Америке еще долго крутились слухи и домыслы насчет того, стоит доверять DES или нет. Но, как я считаю, здесь ситуация описывается поговоркой «Умный не скажет, дурак не поймет». В конце концов NSA признало, что не могло доверить IBM столь важную миссию и внесло несколько корректировок вроде задания S-боксов.

Все время существования DES он был мишенью для различных методов криптоанализа. Криптоаналитики не переставали мериться машинами для вскрытия DES — за какое время кто сможет дешифровать текст. В связи с этим появилось несчетное количество различных модификаций этого алгоритма, и 3DES далеко не самая изощренная из них.

Победитель конкурса AES, объявленный в конце 1997 года, алгоритм Rijndael был разработан двумя бельгийскими криптографами — Йоаном Даменом (Joan Daemen) и Винсентом Рейменом (Vincent Rijmen).

Для обеспечения криптостойкости алгоритм Rijndael включает в себя повторяющиеся раунды, каждый из которых состоит из замен, перестановок и прибавления ключа. Однако, в отличие от DES, шифрование и расшифрование в этом алгоритме — процедуры разные.

AES оперирует 128-битными блоками данных и ключами по 128, 192 и 256 бит. Концептуально он отличается от DES, так как не базируется на сети Фейстеля, а представляет собой подстановочно-перестановочную сеть (SP-сеть), которую мы сейчас рассмотрим подробнее.

В AES байты открытого текста не делятся на две части, как в сети Фейстеля, а записываются в форму — матрицу (двумерный массив) байтов, расположенных таким образом:

0 4 8 12 16
1 5 9 13 .
2 6 10 14
3 7 11 15

AES действует следующими операциями:

  1. ExpandKey — вычисление раундовых ключей для всех раундов.
  2. SubBytes — замена битов по таблице замены (S-боксу).
  3. ShiftRows — циклический сдвиг строк в форме на различные величины.
  4. MixColumns — смешивание данных внутри каждого столбца формы.
  5. AddRoundKey — сложение ключа раунда с формой.

Сегодня AES является официальным стандартом правительства США для симметричного шифрования и применяется повсеместно. Фактически это один из самых универсальных зарубежных шифров на данный момент. Что касается безопасности AES, то и у него, как и большинства шифров, есть некоторые уязвимости, и криптоаналитики продолжают их искать. Однако, несмотря на это, AES живее всех живых.

IDEA (International Data Encryption Algorithm) — алгоритм блочного симметричного шифрования, который был предложен на замену стандарта DES. Начальная версия алгоритма IDEA появилась в 1990 году. Алгоритм запатентован в США и в большинстве европейских стран. Владеет патентом Ascom Tech, но в некоммерческих целях алгоритм можно использовать бесплатно.

Размер блока в этом шифре — 64 бита, длина ключа — 128. Стоит сразу сказать, что алгоритм IDEA — самый молодой из перечисленных и его математика очень сложна. Минутка криптографического словарика.

В IDEA эти свойства достигаются за счет применения независимых математических операций. В отличие от DES, главной операцией которого является XOR (сложение по модулю 2), IDEA предусматривает наличие:

  • XOR;
  • сложения по модулю 2 16 ;
  • умножения по модулю (2 16 + 1).

Комбинирование этих трех операций обеспечивает комплексное преобразование входных данных, затрудняя криптоанализ IDEA по сравнению с DES.

В шифре IDEA выполняется восемь раундов, и в каждом раунде блок открытого текста подвергается преобразованию посредством математических операций. Любители «зреть в корень» могут позреть на схему одного раунда шифра IDEA, приведенную ниже. Блок текста, длиной 64 бита, делится на подблоки по 16 бит. Каждый такой полученный блочок поступает на вход раунда и подвергается сложному преобразованию.

Неповторимая IDEA

«Мне кажется, это самый лучший и надежный блочный алгоритм, опубликованный до настоящего времени», — говорит Брюс Шнайер об алгоритме IDEA.

Действительно, IDEA отличается высокой стойкостью благодаря своим многочисленным математическим операциям. Кроме того, к достоинствам данного алгоритма относится высокая скорость зашифрования — почти в два раза выше, чем у алгоритма DES (в зависимости от платформы, на которой выполняется шифрование). Однако скорость расшифровки снижается из-за тяжелых операций вычисления, обратных умножению по модулю (2 16 + 1).

Разумеется, и на этот сложный шифр мудрые криптографы пытались провести всевозможные атаки. Успеха достиг Пол Хокер, который реализовал атаку, предполагая, что криптоаналитик не имеет прямого доступа к искомому ключу (например, ключ прошит в каком-либо аппаратном шифраторе или смарт-карте), но может изменять определенным образом различные фрагменты ключа.

Алгоритм IDEA не стал международным стандартом шифрования, как того желали его авторы. Однако его можно считать одним из наиболее распространенных в мире алгоритмов шифрования. IDEA используется во множестве приложений, в том числе в широко известном и распространенном протоколе защиты данных PGP.

Рыбы Брюса Шнайера

Брюс Шнайер — видная фигура криптографии наших дней. Он объездил полмира с лекциями и семинарами, его книги настойчиво рекомендуют тем, кто стремится знать криптографию. И конечно же, такой известный человек не хотел бы слыть сапожником без сапог — он сам входит в группу крипторазработчиков.

Мы вкратце познакомимся с одними из самых известных его детищ — алгоритмами шифрования Blowfish, Twofish и Threefish.

Blowfish

Первым на свет появился Blowfish. Как говорит сам Шнайер, этот алгоритм был разработан для реализации на больших микропроцессорах. Поэтому он компактен (всего 5 Кбайт памяти) и прост (использует простые математические операции — сложение, XOR и выборку из таблицы). Также алгоритм позволяет настраивать длину ключа (до 448 бит).

На 32-битных процессорах Blowfish выполняет шифрование значительно быстрее, нежели DES, однако на интеллектуальных платах в силу своей упрощенности он не особо применим. В основе Blowfish сеть Фейстеля из 16 раундов, которую ты уже должен хорошо понимать.

Алгоритм реализован в некоторых программных продуктах (FolderBolt, Nautilus, PGPfone), однако сейчас он уже теряет свою актуальность.

Twofish

За первой рыбой появились еще две — новый алгоритм Twofish был разработан Шнайером и компанией для участия в конкурсе AES. Работа Шнайера вышла в пятерку финалистов, однако победителем так и не стала, хотя обладала для этого всеми возможными плюсами. Это:

  • 128-битный блочный симметричный шифр;
  • длина ключей 128, 192 и 256 бит;
  • эффективная программная (в первую очередь на 32-битных процессорах) и аппаратная реализация;
  • гибкость (возможность использования ключа большей длины, применимость для поточного шифрования, хеш-функций и так далее);
  • простота алгоритма — его удобно анализировать.

Однако по сравнению с Rijndael, занявшим пьедестал AES, Twofish был более сложным для анализа и обладал более низкой скоростью шифрования. Разработан этот алгоритм на основе Blowfish с некоторыми дополнениями и также представляет собой сеть Фейстеля.
На конкурсе шифр подвергли различным типам криптоанализа. По сравнению с остальными финалистами конкурса AES он оказался самым стойким. Однако его необычное строение и относительная сложность породили некоторые сомнения в качестве этой прочности. На данный момент Twofish используется еще реже, чем его предшественник.

Threefish

«В третий раз закинул старик в море невод. » и десять лет спустя получился шифр Threefish. На этот раз Шнайер решил переплюнуть AES и учел все недостатки предыдущего опыта. Криптограф не стал брать за основу сеть Фейстеля, а реализовал шифр на основе подстановочно-перестановочной сети (SP-сети), как в AES. Такая сеть основана на комбинации операций исключающего ИЛИ, сложения и циклического сдвига. В упрощенном виде все это выглядит так:

За счет простых операций Threefish значительно опережает в скорости AES. Кроме того, по заявлениям авторов, алгоритм имеет более высокий уровень безопасности, чем AES. Существует атака на 25 из 72 раундов Threefish, в то время как для AES — на 6 из 10. Так что Шнайер добился-таки своей победы, хоть и с опозданием.

Шифр послужил основой для создания хеш-функции Skein, которая участвовала в конкурсе на должность SHA-3. Сам Threefish широко используется и реализован в библиотеках для многих языков программирования.

Выводы

В заключение стоит сказать, что все западные криптографы, конечно, молодцы, разработали вагон и маленькую тележку различных алгоритмов шифрования. Какой-то более стойкий, какой-то более быстрый. Но пока все будут сравнивать их с DES и AES, потому что это классика.

В следующей статье познакомимся с электронными подписями, очень классным и важным средством криптографии.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

From $34/Day — Car Rental HPN With Zero Terminal Shuttle