Шифры, основанные на аналитических преобразованиях.




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

Рассматривая множество целых чисел Zm с двумя операциями сложения и умножения по модулю m, являющееся кольцом, можно получить систему подстановок, которую называют аффинной системой шифрования Цезаря.

Определим в такой системе преобразование Еa,b: ZmZm:

Еa,b(x) = ax+b mod m,

где в качестве ключа k =(a, b)используется пара целых чисел, удовлетворяющих условиям

0 £ a,b < m, и НОД(а,m)=1.

В данном преобразовании буква, соответствующая числу x в открытом тексте, заменяется на букву шифртекста, соответствующую числовому значению y =(ax +b) mod m (например m =26 в латинском алфавите).

Следует заметить, что преобразование Еa,b(x) является взаимно однозначным отображением на множестве Zm только в том случае, если НОД(а, m)=1, т.е. а и m должны быть взаимно простыми числами.

Это условие взаимной простоты необходимо для обеспечения инъективнос­ти отображения Еa,b(x) = ax+b mod m. Если оно не выполняется, возможна ситуация, когда две разные буквы отображаются в одну (возникает неоднозначность расшифрования), а некоторые буквы отсутствуют в шифртексте, так как никакие буквы в них не отображаются.

Достоинством аффинной системы является удобное управление ключами - ключи шифрования и расшифрования представляются в компактной форме в виде пары чисел (а, b). По сравнению с простой системой шифрования Цезаря, количество возможных ключей значительно больше и алфавитный порядок слов при шифровании не сохраняется.

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

Криптосистема Хилла и её частный случай шифр Плэйфеpа также относятся к классу шифров, основанных на аналитических преобразованиях шифруемых данных как и аффинная система шифрования. Они основаны на подстановке не отдельных символов, а n -гpамм (шифр Хилла) или 2-гpамм (шифр Плэйфеpа). Пpи более высокой кpиптостойкости они значительно сложнее для реализации и требуют достаточно большого количества ключевой информации.

Алгебраический метод, обобщающий аффинную подста­новку Цезаря для шифрования n -грамм, был сформулирован Лестером С.Хиллом.

Шифрование ведется путем выполнения умножения вектора на матрицу. Матрица является ключом шифрования. Открытый текст разбивается на n -граммы - блоки длиной n, равной размерности матрицы и каждая n -грамма х = (х 0, х 1, х 2, …, хn-1) рассматривается как вектор.

Ключевая матрица Т размером п х п вида Т ={ ti ,j}, i,j = 0,1, …, n - 1 задает отображение, являющееся линейным преобразованием:

Т: Zm,nZm,n, Т: ху; у=Тх, где .

Для расшифрования шифртекста необходимо выполнить обратное преобразование:

х = Т -1 у.

Для того, чтобы линейное преобразование Т, заданное своей матрицей, могло быть криптографическим преобразованием необходимо чтобы оно было обратимым (или невырожденным), то есть должна существовать обратная матрица Т -1: такая, что:

Т Т -1 = Т -1 Т = I, где I - единичная матрица.

Доказано, что для этого необходимо, чтобы определитель матрицы det Т, не делился на любое простое р, которое делит m.

2.6. Шифры гаммирования.

Гамма шифра - это псевдослучайная последовательность, выработанная по заданному алгоритму для шифрования открытых данных и дешифрования зашифрованных данных. Под гаммированием понимают процесс наложения по оп­ределенному закону гаммы шифра на открытые данные, он может выполняться как в режиме блочного, так и потоковового шифрования. Он является типичным и наиболее про­стым примером реализации абсолютно стойкого шифра (при использовании бесконечного ключа п =¥).

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

Следует отметить, что при блочном шифровании открытые данные разбивают на блоки Т0(i) одинаковой длины, обычно по 64 бита. Гамма шифра вырабатывается в виде последовательности блоков γ i аналогичной длины.

Уравнение зашифрования можно записать в виде

ci = γ i Å mi, i =1,…, M,

где ci - i -ый блок шифртекста; γ i - i -ый блок гаммы шифра; mi - i -ый блок открытого текста; М - количество блоков открытого текста.

Процесс дешифрования сводится к повторной генерации гаммы шифра и наложению этой гаммы на зашифрованные дан­ные. Уравнение расшифрования имеет вид

mi = γ i Å ci, i =1,…, M,

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

Чтобы получить линейные последовательности элементов гаммы, длина которых превышает размер шифруемых данных, используются датчики псевдослучайных чисел (ПСЧ). Одним из хороших конгруэнтных генераторов является линейный конгруэнтный датчик ПСЧ. Он вырабатывает последовательности псевдослучайных чисел γ i, описываемые соотношением

γ i+1 = (а γ i + b)mod m,

где а и b - константы, γ0 - исходная величина, выбранная в качестве порождающего числа. Очевидно, что эти три величины и образуют ключ.

Такой датчик генерирует псевдослучайные числа с определенным периодом повторения, зависящим от выбранных значений а и b. Необходимо выбирать числа a и b такие, чтобы период был максимальным. Как показано Д. Кнутом, это возможно тогда и только тогда, когда b - нечетное и взаимно простое с m, и величина а mod 4 = 1. По другим рекомендациям b - взаимно простое с m, и а нечетное.

Шифр Вернама является частным случаем шифрования гаммированием для двоичного алфавита (при значении модуля m =2).

Конкретная версия этого шифра, предложенная в 1926 году сотрудни­ком фирмы AT&T Вернамом, использует двоичное представление символов исходного текста. Каждая буква исходного текста в алфавите, расширенном некоторыми дополнительными знаками, сначала переводилась с использованием телеграфного кода Бодо в пятибитовый символ. То есть алфавит криптосистемы представляет собой множество Z32 всех пятибитовых последовательностей.

Ключ k =(k 0, k 1,..., k к-1), где " ki Î Z32 записывался на бумажной ленте. При шифровании ключ добавлялся к исходному тексту суммированием по модулю 2.

В общем случае система шифрования Вернама осуществляет побитовое сложение п -битового от­крытого текста и п -битового ключа:

yi = xi Å ki, i=1,…,n

Здесь х1 х2 ... xп - открытый текст, k1 k2 ... kп - ключ, y1 y2 ... yп - ши­фрованный текст.

Расшифрование состоит в сложении по модулю 2 симво­лов у шифртекста с той же последовательностью ключей k:

y Å k = x Å k Å k = x.

Метод Вернама использует длинную случайную ключевую последовательность и при его реали­зации возникают проблемы, связан­ные с необходимостью передачи ключа.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: