Тема 8. лк-13,14.ppt
- Количество слайдов: 22
8. Примеры математических преобразований в симметричных шифрах Цель темы: Ознакомиться с разновидностями и режимами работы симметричных шифров, изучить основные математические преобразования, которые в них используются.
8. 1 Понятие симметричного шифрования Симметричным называется шифр у которого ключ шифрования = ключу дешифрования или может быть легко вычислен из него. Достоинства: 1. Большое количество оптимизированных (быстродействующих) криптографических алгоритмов 2. Большие длины секретных ключей (до 256 bit) • высокая криптостойкость • высокая энтропия (непредсказуемость) качественно выработанного ключа Недостатки: 1) Возможность компроментирования ключа – в криптограмме ключ присутствует (хотя и в неявном виде), что дает возможность вскрыть шифр за время безопасности. 2) В крупномасштабных системах для группы из N пользователей необходимо достаточно большое = (N-1)*N/2 количество ключей, которые нужно периодически обновлять. Как следствие высокая сложность управления ключами, отсюда – неприменимость в задачах с большим числом [априорно незнакомых] пользователей. 3) Есть проблема первичного обмена ключами для организации безопасной связи.
8. 2 Виды симметричных шифров Есть два вида симметричных шифров: блочные и потоковые. Блочные шифры оперируют с блоками данных и используются, как правило, для шифрования документов и баз данных. Потоковые шифры работают с битовыми потоками и обычно используются для шифрования коммуникационных каналов. Общеизвестные потоковые шифры: • RC 4 (алгоритм шифрования на ключе переменной длины, созданный Роном Ривестом из RSA Security). Используется для безопасных коммуникаций точно также, как происходит шифрование трафика на защищенных Web-сайтах, использующих протокол SSL. RC 4 – шифр с размером ключа вплоть до 2048 бит (256 байт). • SEAL [Software Efficient Algorithm, программно-эффективный алгоритм, созданный в 1993 г. Филом Рогэвеем (Phil Rogaway) и Доном Копперсмитом (Don Coppersmith) из IBM]. Этот алгоритм защищен патентом США 5, 454, 039. Шифр основан на 32 -битовых словах, шифрует со скоростью примерно 4 цикла на байт и использует для шифрования 160 -битовый ключ. Считается очень надежным. • WAKE [World Auto Key Encryption algorithm, всемирный алгоритм шифрования на автоматическом ключе Дэвида Дж. Веллера (David J Wheeler)]. Это система шифрования для среднескоростной шифровки блоков с высокой степенью безопасности. Предназначена для того, чтобы быть быстрой на большинстве компьютеров, при работе требуется использование таблицы повторений и наличие большого пространства состояний.
Общеизвестные блочные шифры: • DES (Data Encryption Standard, стандарт шифрования данных) – федеральный стандарт обработки информации (FIPS, Federal Information Processing Standard) 46 -3 описывает алгоритм шифрования данных (DEA, Data Encryption Algorithm). DEA также определен в стандарте ANSI 7) X 3. 92. DEA имеет 64 -битовый размер блока и во время выполнения использует 56 -битовый ключ (из полного 64 -битового ключа вырезаны 8 бит четности). • 3 DES (Triple-DES, тройной DES) – определен в стандарте ANSI X 9. 52 и является тройным применением DES, где существует два варианта: DES-EDE и DES-EEE. Все очень просто: DESEDE означает тройное применение DES, где идущими друг за другом процессами шифрования (Encryption), расшифровывания (Decryption) и еще одного шифрования (Encryption) используется три разные ключевые опции. DES-EEE означает три последовательных шифрования (Encryption, Encryption). • AES (Advanced Encryption Standard, улучшенный стандарт шифрования). Появившись как FIPS PUB 197 от NIST и преемник DES, AES поддерживает размеры ключа в 128, в 192 и в 256 бит, в отличие от 56 -битовых ключей, предлагаемых DES. Алгоритм Rijndael, изобретенный Джоанной Дэйемен (Joan Daemen) и Винсентом Рижменом (Vincent Rijmen), был выбран в качестве стандарта. Со временем многие проекты планируется перевести на AES по двум причинам: он предлагает 128 -битовый размер ключа и является федеральным стандартом. • RC 2 [алгоритм шифрования на ключе переменной длины Рона Ривеста (Ron Rivest); "RC" обозначает "Ron's Code" ("Код Рона"), хотя официально за ним значится "Rivest Cipher" ("Шифр Ривеста"). Он предлагался как замена DES]. RC 2 имеет 64 -битовый размер блока и работает в программном обеспечении примерно в два-три раза быстрее, чем DES.
• Blowfish [создан Брюсом Шнайером (Bruce Schneier) из компании Counterpane Systems]. Это 64 -битовый блочный шифр; ключ имеет переменную длину (с максимальной длиной 448 бит) и используется для генерации нескольких массивов подключей. Этот шифр был разработан специально для 32 -битовых машин и работает значительно быстрее, чем DES. • Twofish [создан Брюсом Шнайером (Bruce Schneier) из компании Counterpane Systems]. Был финалистом тендера на AES, основан на алгоритме Шнайера Blowfish. Это быстрый и универсальный шифр, не требующий большого количества памяти. Тем не менее структура шифра очень сложна и, следовательно, трудноанализируема. • IDEA [International Data Encryption Algorithm, интернациональный алгоритм шифрования данных, создатели Хьюэйжиа Лай (Xuejia Lai) и Джеймс Мэсси (James Massey)]. Изначально назывался PES – Proposed Encryption Standard (Предлагаемый стандарт шифрования). Позднее он был улучшен и назван IPES, а затем переименован в IDEA; известен тем, что является частью PGP. Это 64 -битовый итеративный блочный шифр со 128 -битовым ключом. Процесс шифрования состоит из восьми сложных этапов, но скорость IDEA в программном обеспечении сравнима со скоростью DES. • CAST [канадский алгоритм, созданный Карлайл Адамс (Carlisle Adams) и Стэффордом Таваресом (Stafford Tavares)]. Это популярный 64 -битовый шифр, допускающий размеры ключа вплоть до 128 бит. Название CAST происходит от первых букв его первоначальных изобретателей, Carlisle Adams и Stafford Tavares. CAST-128 принадлежит компании Entrust Technologies, но является бесплатным как для коммерческого, так и для некоммерческого использования. CAST-256 – бесплатное доступное расширение CAST-128, которое принимает размер ключа до 256 бит и имеет размер блока 128 бит. CAST-256 был одним из первоначальных кандидатов на AES.
8. 3 Режимы работы симметричных шифров DES (Data Encryption Standard) — симметричный алгоритм шифрования, разработанный фирмой IBM и утвержденный правительством США в 1977 году как официальный стандарт (FIPS 46 -3). DES имеет блоки по 64 бита и 16 цикловую структуру сети Фейстеля, для шифрования использует ключ с длиной 56 бит. Алгоритм использует комбинацию нелинейных (S-блоки) и линейных (перестановки E, IP-1) преобразований. Для DES рекомендовано несколько режимов: • • режим электронной кодовой книги (ECB — Electronic Code Book), режим сцепления блоков (СВС — Cipher Block Chaining), режим обратной связи по шифротексту (CFB — Cipher Feed Back), режим обратной связи по выходу (OFB — Output Feed Back).
Области применения алгоритма DES Каждому из рассмотренных режимов (ЕСВ, СВС, СFВ, OFB) свойственны свои достоинства и недостатки, что обусловливает области их применения. Режим ЕСВ хорошо подходит для шифрования ключей. Режим СFВ, как правило, предназначается для шифрования отдельных символов, а режим OFB нередко применяется для шифрования в спутниковых системах связи. Режимы СВС И СFВ пригодны для аутентификации данных. Эти режимы позволяют использовать алгоритм DES для: • интерактивного шифрования при обмене данными; • шифрования криптографического ключа в практике автоматизированного распространения ключей; • шифрования файлов, почтовых отправлений, данных спутников и других практических задач.
8. 4 Коммерческое использование симметричных шифров Эти алгоритмы публикуются свободно, и при их реализации не следует рассматривать вопросы коммерческого лицензирования. Все они подпадают под ограничения на экспорт Национального агентства безопасности США (NSA, National Security Agency). Точное действие этих ограничений не так просто, но суть их в следующем: • любое экспортируемое американской компанией программное обеспечение, в котором присутствуют криптографические технологии, должно идти под специальной экспортной лицензией; • если в продукте содержится код симметричного шифрования, который можно использовать для шифрования произвольного потока данных, лицензия позволит экспорт без ограничений только в том случае, если размер ключа меньше, чем величина, предопределенная NSA. Это означает то, что для того, чтобы экспортировать полноценную криптографию, компания должна иметь специальную лицензию на каждого клиента. Такие лицензии выдаются только для таких клиентов, которые рассматриваются правительством США в качестве дружественных, таких, как крупные банки и дочерние образования американских компаний. Дополнением к этому стало заявление Бюро управления экспортом коммерческого департамента от 18 ноября 1998 г. , которое внесло изменения в правила управления экспортом для экспорта и реэкспорта товаров и программного обеспечения полноценного шифрования. Длины ключей сейчас: полных 56 бит для DES и эквивалентных ему "массовых" шифров (т. е. RC 2, RC 4, RC 5 и CAST) и 1, 024 бита для RSA асимметричных ключей по всем направлениям, кроме Кубы, Ирана, Ирака, Ливии, Северной Кореи, Судана и Сирии. С той оговоркой, что восстановление ключей невозможно. Аналогично криптоключами без ограничений по силе могут пользоваться американские дочерние предприятия, страховые компании, фирмы, профилирующиеся в сфере медицины и здоровья, интернет-магазины при условии, что у них нет представительств ни в одной из вышеперечисленных стран. Далее, 6 июня 2002 г. Бюро промышленности и безопасности (BIS, Bureau of Industry and Security) опубликовало постановление, которое корректировало Положения по управлению экспортом (EAR, Export Administration Regulations) так, чтобы отразить изменения, сделанные в списке Вассенаарских договоренностей 1) по технологиям двойного применения 2) а также чтобы обновить и уточнить другие положения EAR, касающиеся контроля за экспортом в области шифрования. Криптографические товары и программное обеспечение для массового рынка с длиной симметричного ключа свыше 64 бит, подпадающие под номера 5 A 992 и 5 D 992 классификации экспортного контроля (ECCNs, Export Control Classification Numbers), могут экспортироваться и реэкспортироваться без лицензии (NLR, No License Required) после 30 -дневного рассмотрения BIS. Это положение корректирует категорию 5, часть II (информационная безопасность) списка контроля коммерции (CCL, Commerce Control List) и позволит экспорт и реэкспорт оборудования, определяемого ECCN 5 B 002, согласно License Exception ENC.
8. 5 Основные преобразования шифра AES Загальні положення. Процес шифрування Rijndael є блоковим алгоритмом шифрування зі змінною довжиною блока та змінною довжиною ключа. Довжина блока й довжина ключа можуть бути незалежно встановлені в 128, 192 й 256 біт. Практично всі операції Rijndael визначаються на рівні байта. Байти можна розглядати як елементи кінцевого поля GF (28). Шифр є послідовністю ітерацій, виконуваних над певною проміжною структурою, що називається станом. Стан наведений у вигляді прямокутного масиву байтів 4 х4. Ключ шифрування наведений аналогічно прямокутним масивом 4 х4. Процес шифрування складається з: 1) початкового раунду: до вхідних даних додається цикловий (раундовий) ключ; 2) 9 -ти раундів перетворень: формування підбайтів (суб-байтів); зсув рядків; перемішування стовпців; додавання циклового ключа; 3) заключного раунду: формування підбайтів (суб-байтів); зсув рядків; додавання циклового ключа. По закінченню заключного раунду (10 -ий раунд) отримуємо шифротекст (зашифрований текст). Основні перетворення алгоритму виконуються протягом усього процесу шифрування та складаються з таких процедур: 1) формування підбайтів (суб-байтів); 2) зсув рядків; 3) перемішування стовпців; 4) додавання циклового ключа. Ці перетворення застосовуються для 9 -ти циклів шифрування. В останньому 10 -му циклі перемішування стовпців відсутнє.
Математическое отступление
1. Формирование подбайтов (суб-байтов) Преобразование Byte. Sub является нелинейной байтовой подстановкой, выполняющейся для каждого байта состояния независимо. Таблица подстановки является обратимой и сконструирована в виде композиции двух преобразований: Во-первых, берется мультипликативная инверсия в GF (28) с определенным выше представлением. '00' отображается сам в себя. Затем применяется афинное (в GF 8) преобразование, определяемое (2 следующим образом:
2. Смещение строк При данном преобразовании строчки сдвигаются на различные смещения. Нулевая строчка не сдвигается. Первая сдвигается на C 1 байт, вторая на C 2 и третья на C 3. Смещение, зависит от длины блока Nb, значения указаны в следующей таблице Nb C 1 C 2 C 3 4 1 2 3 6 1 2 3 8 1 3 4
3. Перемешивание столбцов
4. Сложение с раундовым ключом На данном этапе происходит трансформация ключа, которая представляет собой побитовое сложение с данными: new. Ki, j = old. Ki, j + ai, j
8. 6 Контрольные вопросы и задания 1. 2. 3. 4. 5. 6. Дайте определение симметричной криптосистемы. Поясните ее достоинства и недостатки. Приведите примеры симметричных шифров. Опишите и охарактеризуйте основные преобравания в симметричных шифров. Поясните, какие параметры симметричного шифра влияют на стойкость. Охарактеризуйте основные режимы работы симметричных шифров. Перечислите области применения симметричных шифров, в зависимости от режима работы. 7. Дайте характеристику возможностей коммерческого использования симметричных шифров. 8. Поясните какие длины ключей рекомендованы в настоящее время к использованию.
Тема 8. лк-13,14.ppt