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

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

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

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

      1. Описание.

        1. Математическое описание.

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

Идея разового пользования была сформирована в явном виде в работе [2] на примере преобразования Л.Хилла, где рассматривается аффинное отображение на(здесь- кольцо вычетов поmod q кольца целых чисел Z):

y = Ktx + d, (3.1)

где элементы матрицы Ktзависят от временного параметраt.

Для обратимости отображения (3.1) требуется, чтобы выполнялось условие

НОД (det Kt, q) = 1 (3.2)

В такой постановке проблема разового пользования ключом сводится к задаче генерации квадратных матриц Kt, зависящих от параметраtи удовлетворяющих условию (3.2).

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

Сформируем сначала требования, предъявляемые к конструированию подобных отображений.

Первое требование:отображение должно удовлетворять принципу Хопфа.

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

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

Третье требование:принцип гибкой динамичности. Конструируемое отображение должно обеспечивать в каждый момент времениtгибкое управление рандомизацией ключевого материала.

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

1. Модуль qвыбирается в видеq= 2N, гдеN– длина регистров, используемой вычислительной среды. Предполагается, арифметический процессор обладает устройством умножения двухN-битных операндов с сохранением 2N-битного результата.

2. Генерируется «материнская» случайная матрица над или в более простом и более гибком случае «псевдослучайная матрица» размерностиnn:

n*Nбит – размерность блока данных за один раунд маскирования (демаскирования).

3. Кодирующее (шифрующее) и декодирующее (дешифрующее) отображение формируется в форме Гаусса-Зейделя:

а)

y1 = |x1  ∦ a11x2 + a12x3 +……………+a1,n-1xnN  a1n |2N;

y2 = |x2  ∦ a21x3 + a22x4 +……………+ a2,n-1y1N  a2n |2N;

y3 = |x3  ∦ a31x4 + a32x5 +… a3,n-2y1 + a3,n-1y2N  a3n |2N;

………………………………………………………………..

yn = |xn  ∦ an1y1 + an2y2 +….. …+ an,n-1yn-1 N  ann |2N;

б)

y1 = |x1  ∦ a11x2 + a12x3 +……………+ a1,n-1xnN  a1n |2N;

y2 = |x2  ∦ a21x3 + a22x4 +……………+ a2,n-1y1N  a2n |2N;

y3 = |x3  ∦ a31x4 + a32x5 +…+ a3,n-2y1 + a3,n-1y2N  a3n |2N;

………………………………………………………………..

yn = |xn  ∦ an1y1 + an2y2 +….. …+ an,n-1yn-1 N  ann |2N;

Здесь используются следующие обозначения:

  • | . |2N- операция взятия вычета поmod2N;

  •  - операция побитого xor;

  • | a+b|2N, |a-b|2N- операции сложения и вычитания поmod2N;

  • ab– операция арифметического умножения двухN-разрядных целых чисел с формированием 2N-битного результата;

  • ∦.∦N- операция перемешивания битов 2N-битного слова с получением в результатеN-битного слова по следующей схеме: из 2N-битного слова выделяется (псевдослучайно) блок изNбит, которые побитно перемножаются по модулю два с оставшимисяN-битами исходного 2N-битного слова.

Все используемые здесь операции не перестановочные и максимально приближены к программной реализации.

Алгоритмическая сложность этого типа преобразований, главным образом, определяется n(n-1) операциями над целыми числами и реализацией операции∦.∦N. Также свой вклад в алгоритмическую сложность вносят динамические преобразования ключевой материнской матрицы на каждом шаге кодирования.

Если требуется ослабить вычислительную сложность конструируемого отображения, то вместо операции арифметического умножения (а) можно использовать операцию побитого xor(б) целыхN-разрядных чисел. Также можно модифицировать операцию∦.∦N в операцию псевдослучайного считыванияN-битного блока из (N+1)-битного слова, в случае применения операций арифметического сложения. В этом случае ослабляется требование к размеру и способу формирования матрицы преобразования.

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

Для вычислительного эксперимента было сконструировано отображение где:

  • операция ∦.∦Nозначает операцию псевдослучайной выборкиNбит из 2N-битного слова;

  • создана материнская ключевая матрица со случайными элементами. На каждом раунде маскирования используется псевдослучайная перестановка ключевых элементов.

В рамках дипломного проекта было разработано программное обеспечение маскирование данных в соответствии с предложенным выше алгоритмом, удовлетворяющее требованиям технического задания, руководство оператора представлено в приложении 3. Схема алгоритма работы программного обеспечения маскирования данных представлено на рисунке 3.1

Рис 3.1. Схема алгоритма работы программного обеспечения маскирования данных

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