|
Обзор алгоритмов Шифрования
Вкратце: Сейчас в основе всех технологий по защите данных от несанкционированного
доступа или электронной комерции лежит наука Криптография, которая является частью
науки Криптологии. В свою очередь, эта наука использует различные методы и алгоритмы,
с которыми мы сейчас ознакомимся.
Для того, чтобы ваша информация, пройдя шифрование, превратилась в "информационный мусор",
бессмысленный набор символов для постороннего, используются специально разработанные
методы - алгоритмы шифрования.
Такие алгоритмы разрабатываются учеными математиками или целыми коллективами сотрудников
компаний или научных центров.
|
|
|
|
Пользователи, которые читали эту статью, также заходили на страничку:
Выбор стойких паролей
(Борьба с подглядыванием паролей и клавиатурными шпионами)
|
|
|
|
|
|
|
Обычно, новые алгоритмы шифрования публикуются для всеобщего
ознакомления и изучаются в специализированных научных центрах.
Результаты таких изучений тоже публикуются для всеобщего ознакомления.
Симметричные алгоритмы
Алгоритмы шифрования делятся на два больших класса: симметричные (AES, ГОСТ, Blowfish, CAST, DES) и
асимметричные (RSA, El-Gamal). Симметричные алгоритмы шифрования используют один и тот
же ключ для зашифровывания информации и для ее расшифровывания, а асимметричные алгоритмы
используют два ключа - один для зашифровывания, другой для расшифровывания.
Если зашифрованную информацию необходимо передавать в другое место, то в этом надо передавать
и ключ для расшифрования. Слабое место здесь - это канал передачи данных - если он
не защищенный или его прослушивают, то ключ для расшифрования может попасть к злоумышленику.
Системы на ассиметричных алгоритмах лишены этого недостатка. Поскольку каждый
участник такой системы обладает парой ключей: Открытым и Секретным Ключом.
Ключ шифрования
Это случайная или специальным образом созданная по паролю
последовательность бит, являющаяся переменным параметром алгоритма шифрования.
Если зашифровать одни и те же данные одним алгоритмом, но
разными ключами, результаты получатся тоже разные.
Обычно в Программах для шифрования (WinRAR, Rohos и т.д.) ключ создается из пароля
, который задает пользователь.
Ключ шифрования бывает разной длины, которая, как правило,
измеряется в битах. С увеличением длины ключа повышается теоритическая стойкость шифра.
На практике это не всегда верно.
В криптографии считается, что механизм шифрования - это несекретная
величина, и злоумышленник может иметь полный исходный код алгоритма шифрования, а также
зашифрованный текст (правило Керкхоффа). Еще одно допущение, которое может иметь место -
злоумышленник может знать часть незашифрованного (открытого) текста.
Стойкость алгоритма шифрования.
Алгоритм шифрования считается стойким до тех пор, пока не будет доказано обратное.
Таким образом, если алгоритм шифрования опубликован, существует более 5 лет, и для него
не найдено серьезных уязвимостей, можно считать, что его стойкость подходит для задач
защиты секретной информации.
Теоретическая и практическая стойкость.
В 1949 г. К.Э. Шеннон опубликовал статью "Теория связи в секретных системах".
Шеннон рассматривал стойкость криптографических систем как Практическую и Теоритическую.
Вывод по теоритической стойкости до сих пор остается пессимистическим: длина ключа
должна быть равна длине открытого текста.
Поэтому Шеннон также рассмотрел вопрос и по практической стойкости криптографических систем.
Надежна ли система, если злоумышленник обладает ограниченным временем и вычислительными ресурсами
для анализа перехваченных сообщений ?
Обычно уязвимости находят в программах, которые шифруют данные по
какому-либо алгоритму. В этом случае, программисты допускают ошибку в логике программы или в
криптографическом протоколе, благодaря чему, изучив, как работает программа (на низком уровне), можно
в итоге получить доступ к секретной информации.
Взлом алгоритма шифрования
Считается, что криптосистема раскрыта, если злоумышленник сможет вычислить
секретный ключ, а также выполнить алгоритм преобразования, эквивалентный исходному
криптоалгоритму. И чтобы этот алгоритм был выполним за реальное время.
В криптологии есть подраздел - криптоанализ, который изучает вопросы
взлома или подделывания зашифрованных сообщений. Существует много способов и методов
криптоанализа. Самый популярный - это метод прямого
перебора всех возможных значений ключа шифрования (так называемым методом "грубой силы"
или brute force). Суть данного метода состоит в переборе всех возможных значений ключа
шифрования до тех пор, пока не будет подобран нужный ключ.
На практике это означает, что злоумышленник должен :
- Иметь в распоряжении криптосистему (т.е. программу) и примеры зашифрованных сообщений.
- Разобраться в криптографическом протоколе. Иначе говоря, как программа шифрует данные.
- Разработать и реализовать алгоритм перебора Ключей для этой криптосистемы.
Как определить, что ключ верный или нет ?
Все зависит от конкретной программы и реализации протокола шифрования. Обычно, если
после расшифрования получился 'мусор', то это неверный Ключ. А если более менее осмысленный
текст (это можно проверить), то значит, Ключ верный.
Алгоритмы шифрования
AES (Rijndael).
В настоящее время является федеральным стандартом шифрования США. Утвержден министерством
торговли в качестве стандарта 4 декабря 2001 года. Решение вступило в силу с момента
опубликования в федеральном реестре (06.12.01). В качестве стандарта принят вариант шифра
только с размером блока 128 бит.
Время/место разработки
| 1997 год, Бельгия
|
Авторы
| Йоан Дамен (Joan Daemen), Винсент Раймен (Vincent Rijnmen)
|
Архитектура
| "Квадрат"
|
Размер ключа, бит
| 128, 192, 256
|
Патент
| Не запатентован
|
ГОСТ 28147-8.
Стандарт Российской Федерации на шифрование и имитозащиту данных. Первоначально имел гриф
(ОВ или СС - точно не известно), затем гриф последовательно снижался, и к моменту официального
проведения алгоритма через Госстандарт СССР в 1989 году был снят. Алгоритм остался ДСП (как
известно, ДСП не считается грифом). В 1989 году стал официальным стандартом СССР, а позже,
после распада СССР, федеральным стандартом Российской Федерации.
Время/место разработки
| Предположительно вторая половина 70-х. Разработан в бывшем 8-м Главном Управлении КГБ СССР или в одном из секретных НИИ в его системе
|
Авторы
| Не известны
|
Архитектура
| Классическая сбалансированная сеть Файстеля.
|
Размер ключа, бит
| 256
|
Патент
| Не запатентован
|
Blowfish
Сложная схема выработки ключевых элементов существенно затрудняет атаку на алгоритм методом
перебора, однако делает его непригодным для использования в системах, где ключ часто меняется,
и на каждом ключе шифруется небольшие по объему данные. Алгоритм лучше всего подходит для
систем, в которых на одном и том же ключе шифруются большие массивы данных.
Время/место разработки
| 1993 год
|
Авторы
| Брюс Шнайер (Bruce Schneier)
|
Архитектура
| Сбалансированная сеть Файстеля.
|
Размер ключа, бит
| 32 - 448
|
Патент
| Не запатентован
|
DES
Федеральный стандарт шифрования США в 1977-2001 годах. В качестве федерального стандарта США принят в 1977 году. В декабре 2001 года утратил свой статус в связи с введением в действие нового стандарта.
Время/место разработки
| Создан в 1972-1975 годы в исследовательской лаборатории корпорации IBM
|
Авторы
| Группа под руководством д-ра. У. Тачмена
|
Архитектура
| Классическая сбалансированная сеть Файстеля с начальной и конечной битовыми перестановками общего вида.
|
Размер ключа, бит
| 56
|
Патент
| Не запатентован
|
CAST
В некотором смысле аналог DES.
Авторы
| К. Адамс (C. Adams) и С. Таварес (S. Tavares)
|
Размер ключа, бит
| 128, 256
|
Патент
| Не запатентован
|
Ссылки:
www.codenet.ru/progr/alg/enc
Алгоритмы шифрования, Обзор, информация, сравнение.
http://www.enlight.ru/crypto
Материалы по асимметричному шифрованию, цифровой подписи и другим "современным" криптографическим системам.
Александр Великанов,
Ольга Чебан,
Tesline-Service SRL.
Дата: 1 Марта 2004
|
|