- •Курс "Методы и средства защиты информации"
- •Введение. Основные виды и источники атак на информацию
- •Современная ситуация в области информационной безопасности
- •Категории информационной безопасности
- •Абстрактные модели защиты информации
- •Обзор наиболее распространенных методов "взлома"
- •Комплексный поиск возможных методов доступа
- •Терминалы защищенной информационной системы
- •Получение пароля на основе ошибок администратора и пользователей
- •Получение пароля на основе ошибок в реализации
- •Социальная психология и иные способы получения паролей
- •Криптография
- •Классификация криптоалгоритмов
- •Симметричные криптоалгоритмы
- •Скремблеры
- •Блочные шифры
- •Общие сведения о блочных шифрах
- •Сеть Фейштеля
- •Блочный шифр tea
- •Aes : cтандарт блочных шифров сша c 2000 года
- •Общие сведения о конкурсе aes
- •Финалист aes – шифр mars
- •Ф иналист aes – шифр rc6
- •Ф иналист aes – шифр Serpent
- •Финалист aes – шифр TwoFish
- •Победитель aes – шифр Rijndael
- •Симметричные криптосистемы
- •Функции криптосистем
- •Алгоритмы создания цепочек
- •Методы рандомизации сообщений
- •Обзор методик рандомизации сообщений
- •Генераторы случайных и псевдослучайных последовательностей
- •Архивация
- •Общие принципы архивации. Классификация методов
- •Алгоритм Хаффмана
- •Алгоритм Лемпеля-Зива
- •Хеширование паролей
- •Общая схема симметричной криптосистемы
- •Асимметричные криптоалгоритмы
- •Общие сведения об асимметричных криптоалгоритмах
- •Алгоритм rsa
- •Технологии цифровых подписей
- •Механизм распространения открытых ключей
- •Обмен ключами по алгоритму Диффи-Хеллмана
- •Общая схема асимметричной криптосистемы
- •Сетевая безопасность
- •Атакуемые сетевые компоненты
- •Сервера
- •Рабочие станции
- •Среда передачи информации
- •Узлы коммутации сетей
- •Уровни сетевых атак согласно модели osi
- •По и информационная безопасность
- •Обзор современного по
- •Операционные системы
- •Прикладные программы
- •Ошибки, приводящие к возможности атак на информацию
- •Основные положения по разработке по
- •Комплексная система безопасности
- •Классификация информационных объектов
- •Классификация по требуемой степени безотказности
- •Классификация по уровню конфиденциальности
- •Требования по работе с конфиденциальной информацией
- •Политика ролей
- •Создание политики информационной безопасности
- •Методы обеспечения безотказности
- •Список литературы
Блочный шифр tea
Рассмотрим один из самых простых в реализации, но признанно стойких криптоалгоритмов – TEA (Tiny Encryption Algorithm).
Параметры алгоритма : Размер блока – 64 бита. Длина ключа – 128 бит. В алгоритме использована сеть Фейштеля с двумя ветвями в 32 бита каждая. Образующая функция F обратима. Сеть Фейштеля несимметрична из-за использования в качестве операции наложения не исключающего "ИЛИ", а арифметического сложения.
Ниже приведен код криптоалгоритма на языке программирования PASCAL.
type TLong2=array[0.. 1] of longint;
TLong2x2=array[0.. 1] of TLong2;
const Delta=$9E3779B9;
var key:TLong2x2;
procedure EnCryptRouting(var data);
var y,z,sum:longint; a:byte;
begin
y:=TLong2(data)[0];z:=TLong2(data)[1];sum:=0;
for a:=0 to 31 do
begin
inc(sum,Delta);
inc(y,((z shl 4)+key[0,0]) xor (z+sum) xor ((z shr 5)+key[0,1]));
inc(z,((y shl 4)+key[1,0]) xor (y+sum) xor ((y shr 5)+key[1,1]));
end;
TLong2(data)[0]:=y;TLong2(data)[1]:=z
end;
Схема работы алгоритма приведена на рисунке 1.
Рис.1.
Отличительной чертой криптоалгоритма TEA является его размер. Простота операций, отсутствие табличных подстановок и оптимизация под 32-разрядную архитектуру процессоров позволяет реализовать его на языке ASSEMBLER в предельно малом объеме кода. Недостатком алгоритма является некоторая медлительность, вызванная необходимостью повторять цикл Фейштеля 32 раза (это необходимо для тщательного "перемешивания данных" из-за отсутствия табличных подстановок).
Aes : cтандарт блочных шифров сша c 2000 года
2.2.2.4.1. Общие сведения о конкурсе AES Требования к конкурсантам AES, краткая информация о Национальном Институте Стандартизации США. На конкурс было подано 15 заявок, первый этап отбора прошли только 5 претендентов – финалистов AES.
2.2.2.4.2. Финалист AES – шифр MARS Разработка корпорации IBM, основанная на классической сети Фейштеля и многочисленных математических операциях.
2.2.2.4.3. Финалист AES – шифр RC6 Модификация широко известного блочного шифра RC5. Использует только основные математические преобразования, битовые сдвиги и, в качестве функции перемешивания, операцию T(X)=X*(X+1).
2.2.2.4.4. Финалист AES – шифр Serpent Шифр использует только операции табличных подстановок, исключающего "ИЛИ" и битовых сдвигов в тщательно подобранной очередности.
2.2.2.4.5. Финалист AES – шифр TwoFish Достаточно сложная в реализации разработка компании Counterpane Security Systems, воплотившая много интересных идей из алгоритма предшественника BlowFish.
2.2.2.4.6. Победитель AES – шифр Rijndael Блочный шифр, реализованный не по принципу сети Фейштеля, и имеющий надежную математическую базу преобразований. Структура алгоритма позволяет достичь очень высокой степени оптимизации на персональных ЭВМ и серверах, и в то же время не слишком замедляет выполнение на электронных устройствах с ограниченными ресурсами.
Общие сведения о конкурсе aes
В 80-х годах в США был принят стандарт симметричного криптоалгоритма для внутреннего применения DES (Data Encryption Standard), который получил достаточно широкое распространение в свое время. Однако на текущий момент этот стандарт полностью неприемлем для использования по двум причинам : 1) основной – длина его ключа составляет 56 бит, что чрезвычайно мало на современном этапе развития ЭВМ, 2) второстепенной – при разработке алгоритм был ориентирован на аппаратную реализацию, то есть содержал операции, выполняемые на микропроцессорах за неприемлимо большое время (например, такие как перестановка бит внутри машинного слова по определенной схеме).
Все это сподвигло Американский институт стандартизации NIST – National Institute of Standards & Technology на объявление в 1997 году конкурса на новый стандарт симметричного криптоалгоритма. На сей раз уже были учтены основные промахи шифра-предшественника, а к разработке были подключены самые крупные центры по криптологии со всего мира. Тем самым, победитель этого соревнования, названного AES – Advanced Encryption Standard, станет де-факто мировым криптостандартом на ближайшие 10-20 лет.
Требования, предъявленные к кандидитам на AES в 1998 году, были предельно просты :
алгоритм должен быть симметричным,
алгоритм должен быть блочным шифром,
алгоритм должен иметь длину блока 128 бит, и поддерживать три длины ключа : 128, 192 и 256 бит.
Дополнительно кандидатам рекомендовалось:
использовать операции, легко реализуемые как аппаратно (в микрочипах), так и программно (на персональных компьютерах и серверах),
ориентироваться на 32-разрядные процессоры,
не усложнять без необходимости структуру шифра для того, чтобы все заинтересованные стороны были в состоянии самостоятельно провести независимый криптоанализ алгоритма и убедиться, что в нем не заложено каких-либо недокументированных возможностей.
На первом этапе в оргкомитет соревнования поступило 15 заявок из совершенно разных уголков мира. В течение 2 лет специалисты комитета, исследуя самостоятельно, и изучая публикации других исследователей, выбрали 5 лучших представителей, прошедших в "финал" соревнования.
Алгоритм |
Создатель |
Страна |
Быстродействие (asm, 200МГц) |
MARS |
IBM |
US |
8 Мбайт/с |
RC6 |
R.Rivest & Co |
US |
12 Мбайт/с |
Rijndael |
V.Rijmen & J.Daemen |
BE |
7 Мбайт/с |
Serpent |
Universities |
IS, UK, NO |
2 Мбайт/с |
TwoFish |
B.Schneier & Co |
US |
11 Мбайт/с |
Все эти алгоритмы были признаны достаточно стойкими и успешно противостоящими всем широко известным методам криптоанализа.
2 октября 2000 года NIST объявил о своем выборе – победителем конкурса стал бельгийский алгоритм RIJNDAEL. С этого момента с алгоритма-победителя сняты все патентные ограничения – его можно будет использовать в любой криптопрограмме без отчисления каких-либо средств создателю.
Ниже мы рассмотрим основные (рабочие) части алгоритмов победителей первого этапа. Объем лекции не позволяет привести для каждого алгоритма методы создания S-box'ов (таблиц для табличных подстановок) и методы расширения материала ключа. Полное описание всех 15 алгоритмов претендентов на AES, включая исследования по их криптостойкости можно найти на сервере института NIST, указанном выше.