logo search
Анин Б

Криптоаналитические атаки

Криптография ставит своей целью сохранение переписки в тайне от посторонних людей, которые захотят с ней ознакомиться. Таких людей криптографы называют злоумышленниками, противниками, перехватчиками или просто врагами. При этом предполагается, что они могут перехватывать любые сообщения, которыми обмениваются отправитель и получатель.

Криптоанализ заключается в получении доступа к открытому тексту шифрованного сообщения. В ходе успешного криптоаналитического исследования криптосистемы может быть найден не только открытый текст, но и сам ключ. Криптоаналитик занимается поисками слабостей в криптосистеме, которые могут позволить ему прочесть шифрованное сообщение, или отыскать ключ, или и то, и другое вместе. Если противник узнал ключ не с помощью криптоанализа, а каким-то другим способом (выкрал или купил), то говорят, что ключ был скомпрометирован.

Попытка криптоанализа называется атакой. Успешная криптоаналитическая атака зовется взломом, или вскрытием.

В современной криптологии принято считать, что надежность шифра определяется только секретностью используемого ключа. Правило, впервые сформулированное голландцем А. Керкхоффом (1835—1903), гласит о том, что весь механизм шифрования, за исключением значения ключа, предположительно известен противнику. Это предположение является довольно естественным. Например, хотя ФАПСИ вряд ли знакомит АНБ со своими криптографическими алгоритмами, какое-то представление о них там все равно имеется. Следовательно, правило Керкхоффа является относительно хорошим допущением при рассмотрении надежности алгоритмов шифрования. Если шифр невозможно взломать, зная абсолютно все детали алгоритма шифрования, значит это тем более нельзя сделать, не обладая подобными знаниями во всей их полноте.

Известны 4 основных типа криптоаналитических атак. При рассмотрении каждой из них подразумевается, что криптоаналитик в курсе всех деталей подвергаемого криптоанализу алгоритма шифрования.

1. Атака со знанием только шифртекста. В распоряжении

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

Дано:

Найти:

Р1, Р2, ..., Р i или К1, К2, ...,Ki.

2. Атака со знанием открытого текста. Криптоаналитик имеет доступ

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

Дано:

Найти:

K1,K2, ...,Ki.

3. Атака с выбранным открытым текстом. Криптоаналитик не только

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

Дано:

P1, C1 = EK1(K1, K2, ..., Ki.), P2, C2 = EK2 (P2), …, Pi,

где С i = ЕKi (Pi ), где P1, P2, ... , Pi выбраны криптоаналитиком.

Найти: K1, K2, ..., Ki.

4. Адаптивная атака с выбранным открытым текстом. Эта атака

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

Имеются по крайней мере еще 3 разновидности криптоаналитических атак.

1. Атака с выбранным шифртекстом. Криптоаналитику предоставлена

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

Дано:

С1, P1 = DK1 (C1), С2, P2 = DK2 (C2), ..., Ci , Pi = DKi(Ci).

Найти :

K1, K2, ..., Ki. Этой криптоаналитической атаке, как правило, подвергаются алгоритмы шифрования с открытым ключом. Хотя иногда она эффективна и против симметричных криптосистем. Атаку с выбранным открытым текстом и с выбранным шифртектом называют атакой с выбранным текстом.

2. Атака с выбранным ключом. В ходе этой атаки криптоаналитик

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

3. Атака с применением грубой силы. Криптоаналитик занимается

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

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

С этой точки зрения зашифрованная программа на языке С особенно уязвима, поскольку содержит множество зарезервированных слов типа #define, # include, if, then и do.

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