Атака с компромиссом между временем/памятью/данными
![]() | Эту статью может потребовать очистки Википедии , чтобы она соответствовала стандартам качества . Конкретная проблема: вопросы стиля, грамматики. ( Октябрь 2014 г. ) |
Атака компромисса времени/памяти/данных — это тип криптографической атаки , при которой злоумышленник пытается добиться ситуации, аналогичной компромиссу пространства-времени , но с дополнительным параметром data , представляющим объем данных, доступных злоумышленнику. Злоумышленник уравновешивает или уменьшает один или два из этих параметров в пользу другого или двух. Этот тип атаки очень сложен, поэтому большинство используемых шифров и схем шифрования не предназначены для противодействия ему. [ нужна ссылка ]
История [ править ]
Атаки компромисса на симметричные криптосистемы начались в 1980 году, когда Мартин Хеллман предложил метод компромисса между временем и памятью для взлома блочных шифров с помощью возможные ключи во времени и память связаны кривой компромисса где . [1] Позже, в 1995 году, Бэббидж и Голич разработали другую компромиссную атаку для потоковых шифров с новой границей, такой, что для где — выходные данные, доступные криптоаналитику в режиме реального времени. [2] [3]
Механика атаки [ править ]
Эта атака представляет собой специальную версию общей криптоаналитической атаки на компромисс между временем и памятью, которая состоит из двух основных фаз:
- Предварительная обработка:
На этом этапе злоумышленник исследует структуру криптосистемы и может записать свои выводы в большие таблицы. Это может занять много времени. - В реальном времени:
На этом этапе криптоаналитику предоставляются реальные данные, полученные из определенного неизвестного ключа. Затем они пытаются использовать эти данные с предварительно вычисленной таблицей на этапе предварительной обработки , чтобы найти конкретный ключ за как можно меньшее время.
Любая атака с компромиссом между временем/памятью/данными имеет следующие параметры:
- размер пространства поиска
- время, необходимое для предварительной обработки этапа
- время, необходимое для реального времени фазы
- объем памяти, доступный злоумышленнику
- объем данных в реальном времени, доступных злоумышленнику
Хеллмана на шифры блочные Атака
Для блочных шифров пусть — общее количество возможных ключей, а также предположим, что количество возможных открытых текстов и зашифрованных текстов должно быть . Также пусть данные будут одним блоком зашифрованного текста определенного аналога открытого текста. Если рассмотреть отображение из ключа к зашифрованному тексту как функция случайной перестановки над точечное пространство, и если эта функция является обратимым; нам нужно найти обратную функцию .Метод Хеллмана для инвертирования этой функции:
- На этапе предварительной обработки
- Постарайтесь прикрыть точечное пространство с помощью прямоугольная матрица, построенная путем итерации функции на случайные отправные точки в для раз. Начальные точки — это самый левый столбец матрицы, а конечные точки — самый правый столбец. Затем сохраните пары начальной и конечной точек в порядке возрастания значений конечных точек.

- Теперь одна матрица не сможет охватить всю космос. Но если мы добавим в матрицу больше строк, мы получим огромную матрицу, включающую восстановленные точки более одного раза. Итак, находим критическое значение при котором матрица содержит ровно разные точки. Рассмотрим первый пути от начальных точек до конечных точек не пересекаются с точек, так что следующий путь, имеющий хотя бы одну общую точку с одним из этих предыдущих путей и включающий в себя ровно точки. Эти два набора и точки не пересекаются из-за парадокса дня рождения, если мы убедимся, что . Мы достигаем этого, применяя правило остановки матрицы : .
- Тем не менее, матрица с покрывает часть всего пространства. Чтобы создать чтобы охватить все пространство, мы используем вариант определенный: и это простая манипуляция, такая как изменение порядка битов [1] (более подробную информацию можно найти в оригинальной статье). И можно видеть, что общее время предварительной обработки равно . Также поскольку нам нужно хранить только пары начальной и конечной точек, и у нас есть матрицы каждая из пары.
- На этапе реального времени
- Общий объем вычислений, необходимый для нахождения является потому что нам нужно сделать попыток инверсии, так как она, скорее всего, будет покрыта одной матрицей, и каждая из попыток занимает оценки некоторых . Оптимальная кривая компромисса получается с помощью правила остановки матрицы и мы получаем и выбор и зависит от стоимости каждого ресурса.
По словам Хеллмана, если имеющийся блочный шифр обладает свойством, заключающимся в том, что отображение его ключа в зашифрованный текст является функцией случайной перестановки. над точечное пространство, и если это обратима, то компромиссные отношения становятся намного лучше: .
Бэббиджа и Голика на шифры поточные Атака
Для потоковых шифров определяется количеством внутренних состояний битового генератора, вероятно, отличным от количества ключей. — это количество первых псевдослучайных битов, созданных генератором. Наконец, цель злоумышленника — найти одно из фактических внутренних состояний генератора битов, чтобы с этого момента он мог запустить генератор для генерации остальной части ключа. Свяжите каждый из возможных внутренние состояния битового генератора с соответствующей строкой, состоящей из первых биты, полученные при запуске генератора из этого состояния путем отображения из штатов для вывода префиксов . Это предыдущее отображение считается случайной функцией над точки общего пространства. Чтобы инвертировать эту функцию, злоумышленник устанавливает следующее.
- На этапе предварительной обработки выберите случайный состояния и вычислить соответствующие им выходные префиксы.
- Храните пары в порядке возрастания в большом столе.
- На этапе реального времени у вас есть сгенерированные биты. Посчитайте из них всех возможные комбинации последовательных битов длиной .
- Ищите каждый в сгенерированной таблице, что занимает время регистрации.
- Если у вас есть хит, это соответствует внутреннему состоянию битового генератора, из которого можно запустить генератор для получения остальной части ключа.
- Парадокс дня рождения гарантирует, что два подмножества пространства с точки имеют пересечение, если произведение их размеров больше .
Этот результат атаки Birthday дает условие со временем атаки и время предварительной обработки это всего лишь конкретная точка на кривой компромисса . Мы можем обобщить это соотношение, если проигнорируем некоторые доступные данные в реальном времени и сможем уменьшить от к и общая кривая компромисса в конечном итоге становится с и .
Атака Шамира и Бирюкова на поточные шифры [ править ]
Эта новая идея, представленная в 2000 году, объединяет атаки компромисса Хеллмана и Бэббиджа и Голика для получения новой кривой компромисса с лучшими границами для криптоанализа потокового шифрования. [4] Технику блочного шифрования Хеллмана можно применить к потоковому шифру, используя ту же идею покрытия пространство точек через матрицы, полученные из нескольких вариантов функции который представляет собой сопоставление внутренних состояний с выходными префиксами. Напомним, что эта компромиссная атака на потоковый шифр успешна, если любое из заданных выходные префиксы находится в любой из матриц, покрывающих . Это сокращает количество покрытых матрицами точек с к точки. Это достигается за счет сокращения количества матриц из к сохраняя при этом как можно больше (но для этого требуется иметь хотя бы одну таблицу).Для этой новой атаки у нас есть потому что мы сократили количество матриц до и то же самое для времени предварительной обработки . Реальное время, необходимое для атаки, равно который является произведением количества матриц, длины каждой итерации и количества доступных точек данных во время атаки.
В конце концов, мы снова используем правило остановки матрицы, чтобы получить кривую компромисса для (потому что ).
Атаки на потоковые шифры с низкой выборке к устойчивостью
Эта атака, изобретенная Бирюковым , Шамиром и Вагнером , основана на специфической особенности некоторых потоковых шифров: генератор битов претерпевает лишь несколько изменений в своем внутреннем состоянии, прежде чем создать следующий выходной бит. [5] Поэтому мы можем перечислить те особые состояния, которые порождают нулевые биты для небольших значений по низкой цене. Но если заставить большое количество выходных битов принимать определенные значения, этот процесс перечисления становится очень дорогим и сложным.Теперь мы можем определить сопротивление выборки потокового шифра как с максимальное значение, при котором такое перечисление возможно.
Пусть потоковый шифр имеет вид утверждает, что у каждого есть имя полное биты и соответствующее имя вывода , которое является первым бит в выходной последовательности битов. Если этот потоковый шифр имеет устойчивость к выборке , то эффективное перечисление может использовать короткое имя биты для определения особых состояний генератора. Каждое особое состояние с короткое имя имеет соответствующее короткое выходное имя бит, который является выходной последовательностью специального состояния после удаления первого ведущие биты. Теперь мы можем определить новое отображение в уменьшенном пространстве точки и это отображение эквивалентно исходному отображению. Если мы позволим , данные реального времени, доступные злоумышленнику, гарантированно будут иметь хотя бы один выход из этих особых состояний. В противном случае мы ослабляем определение особых состояний, чтобы включить больше точек. Если мы заменим к и к в новой атаке Шамира и Бирюкова на компромисс между временем/памятью/данными мы получаем ту же кривую компромисса но с . На самом деле это улучшение, поскольку мы могли бы ослабить нижнюю границу с может быть небольшим до а это значит, что нашу атаку можно совершить быстрее. Этот метод уменьшает количество дорогостоящих операций доступа к диску с к поскольку мы будем иметь доступ только к специальным точек и ускоряет атаку из-за уменьшения количества дорогостоящих дисковых операций.
Ссылки [ править ]
- ^ Jump up to: Перейти обратно: а б Хеллман, М.Э., «Криптоаналитический компромисс между временем и памятью» , IEEE Transactions on Information Theory, том 26, № 4, стр. 401, 406, июль 1980 г.
- ^ Бэббидж, С.Х., «Улучшенные атаки «исчерпывающего поиска» на поточные шифры» , Европейская конвенция по безопасности и обнаружению, 1995, том, №, стр. 161–166, 16–18 мая 1995 г.
- ^ Голич, Дж., «Криптанализ предполагаемого потокового шифра A5», Конспекты лекций по информатике, Достижения в криптологии - EUROCRYPT '97, LNCS 1233, стр. 239-255, Springer-Verlag 1997
- ^ Бирюков А., Шамир А., «Криптаналитический компромисс времени/памяти/данных для потоковых шифров» Конспекты лекций по информатике, Достижения в криптологии – ASIACRYPT 2000, LNCS 1976, стр. 1–13, Springer-Verlag Berlin Heidelberg 2000
- ^ Бирюков А., Шамир А., Вагнер Д., «Криптоанализ A5/1 в реальном времени на ПК» Fast Software Encryption 2000, стр. 1-18, Springer-Verlag 2000