Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции (3).doc
Скачиваний:
203
Добавлен:
28.06.2014
Размер:
508.93 Кб
Скачать

5. Криптографические методы защиты информации

5.1.Элементы теории чисел

  • вычет

  • сравнимость по модулю

  • свойства операций над вычетами

  • взаимнопростые числа

  • мультипликативно обратное число

  • приведенный набор вычетов

  • функция Эйлера

  • малая теорема Ферма, теорема Эйлера

  • причины использования операций над вычетами

Утв.: aZ nZ+ ! q, rZ (0  r < n  a = qn+r). r – вычет a по модулю q.

Опр.: a = b {mod n} – a сравнимо с b по модулю n (a, b, n  Z).

a{mod b} = c kZ+(a = kb + c)

a = c {mod b} a{mod b} = c

Полный набор вычетов по модулю n: {0, 1, 2, …, n-1} – коммутативное кольцо. Свойства операций над вычетами:

  • аддитивность: (a+b) {mod n} = (a{mod n} + b{mod n}){mod n};

  • мультипликативность: (a*b) {mod n} = (a{mod n} * b{mod n}){mod n};

  • сохранение степени: ab{mod n} = (a{mod n})b{mod n}.

Другие свойства:

  • (-a){mod n} = (kn-a){mod n} (k = a/n, a > 0);

  • (a{mod n}){mod n} = a{mod n};

  • n {mod n} = 0.

Опр.: Числа a и b взаимно простые, если НОД(a, b) = 1.

Опр.: Если ab = 1{mod n}, то b – мультипликативно обратное число для a{mod n}.

Необходимое условие существования мультипликативно обратного числа – взаимная простота.

Опр.: Приведенный набор вычетов по модулю n Zn* – множество, содержащее вычеты по модулю n, которые взаимно просты с n.

Опр.: Функция Эйлера (n) = | Zn*|.

Утв.: Если p, q – простые числа, то (p) = p-1, (p2) = p(p-1), (pq) = (p-1)(q-1).

Утв.: Если n – составное число и {p1, p2, …, pk} его простые делители, то

< n-1.

Теорема (малая теорема Ферма): Если aZ, n – простое, a и n – взаимно простые, то

an-1 = 1{mod n}.

Теорема (Эйлера): Если aZ, n – простое, a и n – взаимно простые, то a(n) = 1{mod n}.

Утв.: Если aZ, n – простое, a и n – взаимно простые, то a-1{mod n} = a(n)-1{mod n}.

Причины использования операций над вычетами:

  • ограничение разрядности,

  • простая процедура вычисления прямой операции (обратная операция – дискретный логарифм, вычисляется очень сложно).

5.2. Симметричные криптосистемы и их использование

5.2.1. Способы построения симметричных криптосистем

  • перестановка

  • замена/подстановка

  • гаммирование

  • современные симметричные криптосистемы

Обозначения:

P – открытый текст,

C – шифртекст,

EK – функция шифрования ключом K,

DK – функция расшифрования ключом K.

Основные способы:

  1. перестановка: символы переставляются в соответствии с задаваемым ключом правилом.

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

  • разбиение текста на блоки (проблема расширение последнего блока);

  • размещение текста в таблице (число столбцов = длина ключа, число строк = длина текста / длина ключа), перестановка столбцов в соответствии с ключом, чтение текста по строкам.

Недостатки:

  • сохраняются частотные характеристики открытого текста,

  • недостаточное количество возможных ключей.

  1. замена/подстановка: символы открытого текста заменяются другими символами того же или другого алфавита. Виды: одноалфавитные и многоалфавитные.

Одноалфавитные подстановки

Пусть k – ключ, {Ai | i = 1, …, n-1} – алфавит символов открытого текста.

Ek(Ai) = Ai+k{mod n}

Dk(Ai) = Ai-k{mod n}= Ai+n-k{mod n}= En-k(Ai)

Многоалфавитные подстановки

k = k1k2…kn

Ekj(Ai) = Ai+kj{mod n}

Одинаковые символы открытого текста становятся разными в шифртексте.

Разновидность – шифры кодировочной книги. Ключ – некоторый текст. Шифртекст состоит из символов: N1N2N3 (N1 – номер страницы, N2 – номер строки, N3 – позиция в строке).

Побайтное шифрование:

ci+1 = pi + pi+1

  1. гаммирование

p = p1p2…pn

Создается гамма шифра – псевдослучайная последовательность.

G = G1G2…Gn

Ci= piGi

pi= ciGi= piGiGi= pi

Современные симметричные криптосистемы:

  • потоковые шифры – шифрование байт за байтом. Основа – как правило, гаммирование. RC4 (Rivest Cipher), SEAL;

  • блочные шифры (подавляющее большинство) – текст разбивается на блоки одинаковой длины (обычно 64 бита); многократно для каждого блока:

  • первоначальная перестановка,

  • гаммирование + замена,

  • конечная перестановка.

Количество перестановок: 8-32. Возможно, на блок перед шифрованием накладывается предыдущий блок. Для этого нужен вектор инициализации, который накладывается на 1-й блок.