- •1. Общие положения
- •1.2. Когда и зачем нужно защищать информацию?
- •1.3. Язык сообщения
- •1.4. Тайнопись
- •1.5. Коды и их назначение
- •1.6. Криптография и криптоанализ
- •1.7. Основной объект криптографии
- •1.8. Что такое ключ
- •1.10. Сложность вскрытия шифра
- •1.9. Атака на шифр. Стойкость шифра
- •1.11. Принцип Кирхгофа
- •2. Древняя история криптографии
- •3. Современная криптография
- •3.1. Классификация криптографических систем
- •3.2. Основные классы симметричных криптосистем
- •3.3. Шифр замены
- •3.4. Шифр перестановки
- •3.5. Шифр Энигмы
- •4. Блочные шифры
- •4.1. Общие сведения о блочных шифрах
- •4.2. Сеть Фейштеля
- •4.3. Шифр взбивания. Стандарт des
- •4.3.1. Описание алгоритма
- •4.3.2. Анализ эффективности алгоритма
- •4.4. Отечественный стандарт шифрования данных
- •4.4.1. Режим простой замены
- •4.4.2. Режим гаммирования
- •4.4.3. Режим гаммирования с обратной связью
- •4.5. Режимы применения блочных шифров
- •5. Новый криптостандарт блочного шифрования сша
- •5.1. Общие сведения о конкурсе aes
- •5.1.1. Финалист aes – шифр mars
- •5.1.2. Финалист aes – шифр rc6
- •5.1.3. Финалист aes – шифр Serpent
- •5.1.4. Финалист aes – шифр TwoFish
- •5.2. Победитель aes – шифр Rijndael
- •6. Поточные шифры
- •6.1. Регистры сдвига с обратной связью
- •6.2. Шифр a5
- •6.3. Шифр rc4
- •6.4. Шифр seal
- •7. Асимметричные криптосистемы
- •7.1. Общие сведения об асимметричных криптоалгоритмах
- •7.2. Односторонние функции и функции-ловушки
- •7.3. Алгоритм rsa
- •Длина ключа
- •Применение rsa
- •7.4. Криптосистема Эль-Гамаля
- •7.5. Алгоритм Диффи-Хелмана
- •7.6. Механизм распространения открытых ключей
- •7.6.1. Обмен ключами по алгоритму Диффи-Хеллмана
- •8. Сравнительная характеристика шифров
- •9. Электронные цифровые подписи
- •9.1. Постановка задачи
- •9.2. Алгоритмы электронной цифровой подписи
- •9.2.1. Цифровые подписи, основанные на асимметричных криптосистемах
- •9.2.2. Стандарт цифровой подписи dss
- •9.2.3. Стандарт цифровой подписи гост р 34.10-94
- •9.3. Цифровые подписи, основанные на симметричных криптосистемах
- •9.4. Функции хэширования
- •9.4.1. Функция хэширования sha
- •9.4.2. Функция хэширования гост р 34.11-94
- •9.4.3. Функция хэширования md5
- •Библиографический список
- •Оглавление
1.9. Атака на шифр. Стойкость шифра
Центральным понятием для криптографии является понятие стойкости шифра. К сожалению, получение строгих доказуемых оценок стойкости конкретного шифра остается нерешенной проблемой. Это объясняется отсутствием необходимых для решения такой проблемы математических результатов. Поэтому стойкость конкретного шифра оценивается путем всевозможных попыток его вскрытия и зависит от квалификации криптоаналитиков, атакующих шифр. Процедуру атаки на шифр иногда называют проверкой стойкости.
Под атакой на шифр понимают попытку вскрытия этого шифра.
Под стойкостью шифра понимают способность шифра противостоять всевозможным атакам на него.
Важным этапом для проверки стойкости шифра является продумывание различных предполагаемых возможностей, с помощью которых противник может атаковать шифр. Появление таких возможностей у противника обычно не зависит от криптографии, это является некоторой внешней подсказкой и существенно влияет на стойкость шифра.
Отметим некоторые возможности противника:
Противник знает сам шифр и имеет возможности для его предварительного изучения.
Противник знает некоторые характеристики открытых текстов (защищаемой информации) – тематику сообщений, их стиль, стандарты, форматы и т.д.
Противник может перехватывать все шифрованные сообщения, но не имеет соответствующих им открытых текстов.
Противник может перехватывать все шифрованные сообщения и добывать соответствующие им открытые тексты.
Противник имеет доступ к шифру (но не к ключам) и может зашифровывать и дешифровывать любую информацию.
Приведем некоторые высказывания на тему проблемы стойкости шифров и возможности построения абсолютно стойкого шифра.
“Всякий человек, даже если он не знаком с техникой вскрытия шифров, твердо считает, что сможет изобрести абсолютно стойкий шифр, и чем более умен и образован этот человек, тем более твердо это убеждение. Я сам разделял эту уверенность в течение многих лет”, – Чарльз Беббидж.
“Любой шифр может быть вскрыт, если только в этом есть настоятельная необходимость и информация, которую предполагается получить, стоит затраченных средств, усилий и времени …”, – Норберт Винер.
1.10. Сложность вскрытия шифра
Крайне желательно, чтобы как можно меньший объем информации шел по закрытому каналу, который требует больших затрат на содержание и который является наименее надежным участком. Но совсем обойтись без секретного канала нельзя.
Количество переданной по секретному каналу информации связано со сложностью вскрытия шифровки следующим образом. Предполагается, что злоумышленникам и любопытным досконально известны используемые процедуры шифрования и расшифровывания, а также статистические свойства сообщения. Обычно считают, что это им известно лучше, чем отправителю и получателю, но неизвестен секретный ключ. Его будем рассматривать как число, набор нулей и единиц, которые означают определенные действия над сообщением. Сложность подбора ключа зависит от объема информации, которую он занимает. Одним битом можно передать два ключа, двумя битами четыре ключа, тремя восемь ключей и т.д. Здесь речь идет об информации, а не о физической длине ключа. Следовательно, чем больше информации в ключе, тем сложнее его подобрать.
Невзламываемых шифров нет. Все системы шифрования просто делают взламывание шифровок или заведомо дороже информации, содержащейся в сообщении, или затягивают расшифровывание на неприемлемо большой срок по времени. При разработке шифра устанавливают приемлемые цену или время взламывания и затем уже не обращают внимания на очень богатых или очень терпеливых взломщиков. Необходимую сложность ключа в классических криптографических системах вычислить нетрудно, если знать технические возможности источника угрозы и плату за ошибку в оценке надежности шифра.
Например, одиночка вручную переберет сто ключей. Следовательно, тысячи вариантов ключей достаточно. Это приблизительно 10 бит или 3-5 букв. Если же информация стратегическая, за пять лет не устареет, источник угрозы – крупная, богатая фирма (которая может нанять криптоаналитиков, суперЭВМ), ясно, что ключ нужен сложнее. Пусть противник обеспечит поверку 106 ключей в секунду. Следовательно, число ключей записано 22 десятичными цифрами, а это 70 бит или 30-35 букв.
Таким образом, число необходимых ключей можно вычислить по следующей формуле:
N=время жизни ключа/скорость подбора ключа/шанс взлома
Рассмотрим элементы, входящие в данную формулу.
Время жизни ключа. Меньше 25 лет. Например, в Британии секретнейшие правительственные решения через 25 лет публикуют для историков.
Скорость подбора ключа. Этот параметр вызывает большие споры. Например, рассмотрим алгоритм DES. За 20 млн. долл. можно создать ЭВМ, которая раскроет шифр за сутки. Но на создание такой ЭВМ уйдет до пяти лет, а это приемлемый срок жизни стандартов и шифров.
Шанс взлома. Весьма индивидуальная величина. Обычно она равна 10-3 – 10-6 в зависимости от области применения.
