Метод шифрования — гаммированием

Метод шифрования — гаммированием

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

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

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

Потенциальный недостаток этого шифра

Потенциальный недостаток этого шифра

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

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

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

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

Классификация алгоритмов шифрования

Классификация алгоритмов шифрования

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

Блочные шифры предусматривают разбиение исходного текста на блоки фиксированной длины и шифрацию каждого блока. При этом возможна шифрация за счет перестановок символов исходного открытого текста по правилу неизвестного для противника ключа или за счет замены символов исходного текста другими символами, выбранными из того же или другого алфавита. Так, уже упомянутый шифр, который применял Цезарь, был шифром замены: каждый символ С исходного текста, представленного символами латинского алфавита, заменялся также латинскими буквами по правилу (С + 3) mod 36.

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

Классификация алгоритмов шифрования

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

Расстояние единственности

Расстояние единственности

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

Но такая характеристика совершенно не учитывает того, каким ресурсом должен обладать криптоаналитик для успешного раскрытия шифра по криптограммам с заданным расстоянием единственности. Поэтому рабочая характеристика шифра определяется  как средний объем работы (в часах, машинных операциях или других удобных единицах для ЭВМ известного типа и класса), необходимой для криптоанализа и раскрытия криптограммы на основе N знаков шифрованного текста. При этом W (N) определяется для наилучшего криптоаналитического алгоритма.

Наиболее интересна потенциальная оценка рабочей характеристики, представляющая средний объем работы по криптоанализу при неограниченном объеме шифрованного текста. Применяя эту оценку, обычно говорят и пишут «шифр требует для раскрытия («взлома») стольких-то лет», а имеют в виду, что при неограниченном количестве знаков перехваченной криптограммы, наилучшим из известных алгоритмов криптоанализа и использовании самой быстродействующей из известных ЭВМ нужно затратить столько-то лет непрерывной работы для раскрытия шифра. Это оценка не доверительной вероятности успеха несанкционированной расшифровки криптограммы Ринф, а доверительного интервала времени, по истечении которого раскрытие шифра (ключа и открытого текста) произойдет с вероятностью Ринф = 1.

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

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

 

Стойкие к расшифровке криптосистемы

Стойкие к расшифровке криптосистемы

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

  • Из исходного открытого текста удаляются все наиболее часто повторяющиеся символы. Это прежде всего пробелы между словами и другие частые символы. Уже в силу высокой априорной вероятности эти символы малоинформативны: без них нетрудно правильно понять переданное и расшифрованное сообщение. Если иметь в виду шифрованные тексты на естественных языках, самыми избыточными и потому опасными с точки зрения сохранения криптостойкости являются служебные пометки (подписи, даты, адреса, грифы секретности и пр.). Чем длиннее эти пометки, чем больше они содержат символов, тем ниже стойкость криптограммы и, что еще хуже, секретного ключа, которым она зашифрована.
  • Увеличивается энтропия шифрованного сообщения. Для этого в исходном открытом тексте разравниваются вероятности различных символов. Иначе говоря, распределение вероятностей символов в шифруемом тексте делается по возможности более близким к равномерному. В текстах на русском языке чаще других попадается буква «О», в английских текстах — «Е». Разравнивание вероятностей достигается за счет рандомизации (когда исходный текст складывается по модулю 2 со специальной не очень длинной последовательностью символов) или за счет применения многоалфавитных подстановок и перестановок.

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

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

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

Избыточность открытого текста

Избыточность открытого текста

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

Естественно, что расстояние единственности должно увеличиваться с увеличением энтропии ключа. В соответствии с принятой Шенноном моделью шифрации.

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

По физическому смыслу и по определению Н(k) равно числу знаков в двоичном представлении ключа, а произведение — числу уравнений, которые можно составить для нахождения каждого неизвестного значения ключа. Для однозначного определения ключа (всех его неизвестных знаков) нужно, чтобы число уравнений было бы не меньше числа неизвестных. Также следует, что для увеличения информационной защищенности сообщений (для усложнения несанкционированной дешифрации) нужно не только увеличивать длину ключа, но и сокращать избыточность открытого текста. Это иллюстрирует полезность сжатия данных перед тем как передавать их в шифрованной форме по радиоканалам, защищаемым от перехвата информации средствами радиоразведки.

Страница 1 из 212
Яндекс.Метрика