Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Simon / диплом.doc
Скачиваний:
93
Добавлен:
16.04.2013
Размер:
9.51 Mб
Скачать
  1. Специальная часть

Исследование алгоритма маскирования и вопросов стойкости к частотному анализу

Консультант: Амербаев В.М.

    1. Основные требования.

      1. Соответствие предъявляемому уровню безопастности.

Безопасность симметричных криптосистем определяется двумя факторами: стойкостью самого алгоритма и длиной ключей.

Предположим, что алгоритм является совершенно стойким, добиться чего на практике достаточно сложно. Под «совершенно» я подразумеваю отсутствие лучшего пути взлома криптосиситемы, чем лобовое вскрытие перебором всех возможных ключей. Для вскрытия блочного шифра криптоаналитику нужен блок шифртекста и соответствующий открытый текст.

Функция шифрования ставит в соответствие блоку открытого текста блок криптограммы, таким образом для данного ключа реализуется одна подстановка. В общем случае различным ключам соответствуют различные подстановки. Если в шифре используется ключ длиной k бит, то этот шифр задает не более 2k различных подстановок, что составляет чрезвычайно малую долю от числа возможных подстановок, которое равно 2n !. Для того чтобы реализовать все возможные подстановки, необходимо использовать ключ длиной порядка k=log2(2n !)≈ n*2n бит.

Таблица 3.1. Оценки длины ключа для блоков различной длины.

Размер блока n

Длина ключа k

8

211

16

220

32

237

64

270

128

2135

256

2264

Длина ключа определяет верхнюю границу стойкости криптосистемы. Нападающий всегда может воспользоваться силовой атакой, которая состоит в тотальном переборе по всему пространству возможных ключей. Однако размер этого пространства при увеличении длины ключа растет по экспоненциальному закону. Если длина ключа в битах k=64, то число возможных ключей составляет более 1019. При k=128 их число уже составляет более 1038. В настоящее время вычислительные технологии находятся близко к решению задачи перебора 1020 вариантов за разумный интервал времени. Перебор 1038 вариантов представляется недостижимым не только для современных технологий, но и в обозримом будущем.

Для нас малое значение имеет скорость тестирования каждого возможного ключа. Для целей анализа предположим, что скорость тестирования ключей всех алгоритмов примерно одинакова. Задача лобового вскрытия может быть решена использованием параллельных процессоров. Каждый процессор может тестировать особое подмножество пространства ключей. Процессорам не нужно обмениваться между собой информацией, поскольку им достаточно единственного сообщения об успехе. Не требуется и совместный доступ к памяти. Построить машину с миллионом независимых друг от друга процессоров возможно. Причем соотношение стоимость/скорость взлома возрастает линейно что было доказано Майком Винером, который после исследований пришел к заключению, что за миллион долларов можно построить машину, которая взломает 56-битовый ключ DES в среднем за 3.5 часа (и гарантировано за 7 часов). Если вспомнить закон Мура: вычислительные возможности удваиваются каждые 18 месяцев. Это следует что каждые пять лет затраты будут снижаться на порядок.

Таблица 3.2. Оценки среднего времени аппаратного лобового вскрытия в 2000году

Стоимость

Длина ключа, бит

40

56

64

80

112

128

10000$

2сек

35час

1год

70000 лет

1014лет

1019 лет

100000$

0.2сек

3,5 час

37 дней

7000 лет

1013лет

1018 лет

1$миллион

0,02 сек

21 мин

4 дня

700 лет

1012 лет

1017 лет

10$ миллионов

2 мсек

2 мин

9 часов

70 лет

1011 лет

1016 лет

100$ миллионов

0,2мсек

13 сек

31 мин

7 лет

1010 лет

1015 лет

1$ миллиард

0,02 мсек

1 сек

5,4 мин

245 дней

109 лет

1014 лет

10$ миллиардов

2 мксек

0,1 сек

32 сек

24 дня

108 лет

1013 лет

Поэтому стоит использовать ключ такой длины, что при попытке оценки минимальной «стоимости» ключа, т.е. установить пределы стоимости информации, зашифрованной данным ключом, чтобы ее вскрытие было экономически неоправданным.

Таким требованиям будет удовлетворять ключ длиной 29бит.

Одним из статистических методов раскрытия шифров является частотный криптоанализ. Этот метод основан на исследовании частоты появления знаков в криптограмме и сопоставлении ее с частотной появления знаков в исходном тексте. Частотный метод позволяет раскрывать шифры использующие блоки малых размеров (n=8). С увеличением размера входного блока частотные свойства языка, на котором составлен открытый текст, становиться менее выраженными, но даже при n=16 неравномерность частотных свойств исходного текста может быть эффективно использована для раскрытия шифра. При n=32 частотный криптоанализ становиться крайне сложным. Минимальной безопасной длиной блока является значение n=64. Чем больше размер блока тем более высокая стойкость может быть достигнута. Однако для блоков большого размера усложняется производство устройств шифрования. В настоящее время возможности микроэлектроники значительно выросли, и появилась возможность использования входного блока n=128.

В связи с прогрессом в усовершенствовании методов выполнения криптоаналитических атак к алгоритму были предъявлены повышенные требования: длина блока lб=128 бит, длина ключа lк=512 бит

Соседние файлы в папке Simon