1. Введение
1.1. Что такое бит?
Бит является фундаментальной единицей информации. Он может принимать значения 0
или 1. В течение сорока последних лет компьютеры работают сбинарными данными, то
есть с наборами битов (а не с цифрами от 0 до 9, как это принято у людей; можно
сказать, что компьютеры имеют только два пальца). Битыпозволяют кодировать целые
числа, символы, и т.д.. Вся информация, проходящая через компьютер, превращается
в биты.
8 бит образуют байт; это дает 256 комбинаций и позволяет кодировать числа от 0
до 255 или символы (включая разницу между прописными и строчными буквами,символы
с надстрочными знаками и другие).
1024 байта образуют один килобайт (кБ). 1024 используется вместо 1000 так как
1024 является степенью числа 2, то есть "круглым" числом, еслиработать по
основанию 2. 1024 килобайта образуют мегабайт (МБ), или 1048576 байт. 1024
мегабайта образуют гигабайт (ГБ), или 1073741824 байта. 1024 ГБобразуют терабайт
(ТБ). Дальнейшее умножение малоупотребительно, т.к. дорогостояще со всех точек
зрения. Типичная емкость жестких дисков широко распространенных внастоящее время
компьютеров составляет десять гигабайт. Развитая сеть может пропускать десять
мегабайт в секунду между двумя машинами.
1.2. Что такое криптографический ключ?
Криптографические операции, такие как шифрование и подписание данных электронной
цифровой подписью, могут быть осуществлены только определеннымилицами,
располагающими некоторыми секретами. В прошлые века этим секретом был сам способ
преобразования данных. Однако более рационально и более
эффективноконцентрировать этот секрет в виде набора битов, а сам алгоритм делать
общедоступным.
Действительно, сохранять в тайне алгоритм проблематично, и, кроме того,
необходима численная оценка его безопасности. Сам факт публикации
алгоритмапозволяет "бесплатно" получить признание его надежности
криптографическим сообществом.
Ключ, таким образом, является концентрацией секрета, этот набор битов является
"эссенцией" конфиденциальности.
1.3. Что такое полный перебор?
Взломать криптосистему, значит суметь осуществить некоторые операции, требующие
(в теории) знания секрета (ключа), не имея информации о последнем.Наиболее
полным взломом является взлом, в результате которого становится известен ключ,
что дает взломщику те же полномочия, что и законному владельцуключа.
Полный перебор является наиболее простым методом этой точки зрения: он состоит в
том, чтобы пробовать все ключи один за другим до тех пор, пока ненайдется
правильный. Этот метод является наиболее общим, и может быть распараллелен
(вычисления могут быть распределены на много машин). Кроме того,он наиболее
реалистичен: если рассматривать случай симметричной системы шифрования (которая
ставит в соответствие блоку, состоящему из несколькихбайтов, другой блок той же
длины, но преобразованный к "нечитаемому" виду при помощи ключа), достаточно
перехватить пару открытыйтекст/зашифрованный текст, то есть блок из несколько
байтов и соответствующих им зашифрованных. Например, если передается картинка в
формате JPG, то началосообщения представляет собой стандартный заголовок JPG,
формат которого всем хорошо известен.
С точки зрения статистики, надо перебрать примерно половину возможных ключей,
прежде чем найдется правильный. Если длина ключа составляет 56 битов,это
означает, что в среднем необходимо провести 2^55 итераций, что составит
36028797018963968.
1.4. Является ли полный перебор единственновозможным методом криптоанализа?
Нет. Но другие методы сильно зависят от конкретного алгоритма. Некоторые,
такиекак линейный или дифференциальный криптоанализ, требуют огромного числа пар
открытый/зашифрованный текст, представляя, таким образом, чисто
теоретическийинтерес.
Кроме того, существуют криптосистемы (в частности, системы асимметричные,
называемые еще "системами с открытым ключом"), для которых всесочетания битов не
образуют правильного ключа. Типичный пример - RSA, где ключ представлен большим
числом, полученным из двух больших простых чисел.Совокупность наборов из 1024
бит, которые являются двоичной записью этих чисел, гораздо меньше 2^1024. Полный
перебор абсурден в этом случае.
1.5. 128-битный ключ в два раза устойчивее квзлому, чем 64-битный?
НЕТ! Это распространенная ошибка. Каждый дополнительный бит удваивает количество
возможных ключей и затраты на полный перебор. Ключ длиной 128 битявляется в
18446744073709551616 раз более сложным для подбора, по сравнению с ключом длиной
64 бита (который уже не назовешь совсем легким).
1.6. PGP должно быть очень устойчив, так какиспользует ключи 1024 бита.
Стоп! Давайте разберемся! "1024 бит" в PGP - это ключ RSA или DSS, то есть ключ
асимметричного алгоритма. Атака методом полного перебора не самыйлучший вариант
в этом случае.
Кроме того, асимметричные алгоритмы относительно медленны, и "внутри" PGP
использует симметричный алгоритм (исторически IDEA,затем CAST) размер ключа
которого составляет 128 бит.
2. Текущее положение дел
2.1. Какова максимальная длина ключа длясимметричных криптосистем, которая
поддается программному взлому методомполного перебора?
Известно, что два ключа по 56 бит были подобраны полным перебором на обычных
компьютерах типа PC. Специализированная машина (построенная EFF) помогла
длявторого ключа, выполнив приблизительно треть общего объема вычислений.
Ключи были для алгоритма DES. Качественный ПК или рабочая станция могут
перебирать с максимальной скоростью нескольких миллионов ключей в секунду.
Еслипринять среднюю скорость один миллион ключей в секунду на машину, то легко
видеть, что для подбора ключа 10000 машин должны в среднем затратить 42 дня.
Полный перебор ключа длиной 64 бита для RC5 (для которого сложность полного
перебора несколько выше, чем для DES) в настоящее время продолжается, и
будетдлиться, по крайней мере, еще нескольких лет. Напоминаем, что подбор ключа
размером 64 бита, является в 256 раз более трудоемким, чем подбор ключа длиной
56 бит.
2.2. То же, с использованием специальнойаппаратуры?
Американская группа EFF, инвестировала 250000$ в создание специализированной
машины под названием "Deep crack" ("глубокий взлом"),которая в состоянии
перебрать все ключи алгоритма DES приблизительно за три дня. В ней использованы
специализированные процессоры, которые невозможноприменить для целей, отличных
от взлома DES (в частности, они ничего "не знают" о RC5).
Все остальные машины того же рода - из области слухов. DES используется уже
более 20 лет, и можно предположить, что, вероятно, машине EFF
предшествовалидругие прототипы, разрабатываемые секретными службами. В любом
случае, скоро уже 15 лет периодически упоминаются принципы построения такой
машины.
2.3. А для несимметричных криптосистем?
В принципе, существуют две математические задачи, используемые в асимметричных
шифрах: факторизация и дискретное логарифмирование. RSAиспользует первую, DSS
вторую. Другие упоминаемые задачи (вариации двух предыдущих, использование
эллиптических кривых, задача об укладке ранца,минимизация сети (задача
коммивояжера), обратное распознавание (permuted perceptrons problem - см.
примечания) относительно редко используются в настоящеевремя.
Рекорд факторизации датируется 22-ым августа 1999: число размером 155 десятичных
цифр (512 бит) было факторизовано за шесть месяцев вычислений напарке
приблизительно из 600 машин, некоторые из которых могут быть квалифицированны
как "быки" (в частности Cray с 2 ГБ памяти).Примененные алгоритмы гораздо более
сложны, чем полный перебор, и требуют большого количества оперативной памяти с
хорошей скоростью доступа.
Дискретное логарифмирование менее исследовано, на его взлом осуществлено меньше
инвестиций, чем на факторизацию. Рекорд - порядка 95 десятичных цифр.
2.4. Что относительно "кофейника"Шамира?
Представленный на Eurocrypt'99 в Праге (в начале мая 1999), этот аппарат
ускоряет физическими средствами исследование гладких чисел (то есть
полученныхпроизведением только маленьких простых чисел), которые получают обычно
методом решета. Эти числа являются основой нескольких алгоритмов факторизации и
решенийзадачи дискретного логарифмирования.
Сам аппарат еще не построен, описаны только его принципы. Существуют технические
проблемы для реализации прототипа (Arjen Lenstra высказал некоторыевозражения, с
которыми Adi Shamir согласился).
По общему мнению, этот метод позволил бы факторизовать число приблизительно в
600 бит, со средствами, которые позволили установить рекорд в 465 бит (вфеврале
1999), если все проблемы с реализацией будут решены. Отмечено, что решето заняло
приблизительно 60% времени для рекорда в 512 бит.
Все же шоу было очень увлекательным. Phil Zimmerman, автор PGP, заметил, что
очень доволен тем, что исследователи интересуются, как обстоят дела в
этихпроблемах, так как это увеличивает степень доверия к такого рода системам.
3. То, что будет возможным в будущем
3.1. Что такое закон Мура?
Закон Мура (Moore) является оценкой развития вычислительной техники во времени.
В базовом варианте он гласит, что для заданной стоимости (в широкомсмысле,
включая энергопотребление, производство оборудования, износ, стоимость хранения,
и т.д.) вычислительная мощность увеличивается в 8 раз каждые 3 года.Говоря более
точно, можно сказать, что через каждые три года, технологические достижения
позволяют разместить в 4 раза больше логических элементов вмикросхеме заданной
стоимости, одновременно ускоряя ее быстродействие в 2 раза.
Этот закон замечательно подтверждался в течение последних 15 лет. Следует