Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кузнецова.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.2 Mб
Скачать

Лекция 4

16.10.15

Классическое симметричное шифрование.

Для различных длин текстов и для различных требований к шифрованию разработан ряд режимов.

  1. ECB Электронная кодовая книга - обычно применяется для текстов длинной в один блок, при этом все блоки шифруются независимо друг от друга на одном и том же ключе. ( в отечественном стандарте ключ простой замены).

Ci = Ek(Pi) Pi = Dk(Ci)

  1. СВС Сцепление блоков шифра.

В этом режиме открытый текст P разбивается на N битные блоки, на следующем шаге первый блок суммируется по модулю два синхропосылкой 2С0, при этом синхропосылка это блок текстат который не несет полезной информации и при этом известен и источнику и приемнику данных, на каждом следующем шаге блок блок текста рассчитывается по формуле: Ci = Ek(Pi +Ci-1) i от 1 до N Pi = Ci-1 + Dk

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

  1. CFB Обратная связь по шифротексту.

Используется блочный шифр генерирующий для источника и приемника псевдослучайную последовательность бит зависящую от ключа и открытого текста. Открытый текст Р разбивается на Т битные блоки. N битный регистр cдвига инициируется значением синхропосылки C0 на каждом шаге Ci = Pi + Ri рассчитывается как сложенное по модулю Pi и Ri, где Ri обозначает Т старших бит шифрограммы функция Ek(Si-1), которые являются псевдослучайной последовательностью.

Регистр сдвига модифицируется следующим образом Т старших бит из Si отбрасывается, а справа присоединяется Сi, при этом Si=St

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

Si = (2^t * Si-1 + Ci)mod2^n 1<=i<=N Dk(si-1)

  1. OFB Обратная связь по выходу.

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

Si = (2^t *Si-1 +Ri)mod2^n или Si = Ek(Si-1) 1<=i<=N

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

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

Название алгоритма

Размер ключа в битах

Длина блока в битах

Число циклов

Основные операции

DES (DES-3)

56

64

16

Подстановка, перестановка, сложение по модулю 2(+)

ГОСТ 28147-89

256

64

32

232,сложение по модулю, подстановки, циклические сдвиги, перестановки

RCS

8t, t<=255

32-64-128

До 255

(+), ЦС, 2длина блока пополам

сложение по модулю 2, циклический сдвиг, сложение двух чисел с длинной половины блока

RSA- разработка конца 70 года , американской безопасностью. Он щас практически стандартизован.

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

Рис 6

  1. Случайно выбираются два простых* очень больших 250-300 десячичных разрядов числа P.Q.

  2. N = p * q

M =(p-1)(q-1)

  1. Выбирается небольшое целое нечетное е, взаимно простое с m ( не имеющее общих сомножителей) с М.

  2. Находится такое D, которое давало бы нам следующую зависимость

(DE)modm = 1.

  1. Отправитель шифрует сообщение, при необходимости разбивая его на блоки длинной не более N. Ci = Xi ^ E modn Ci = Xi ^ E modn

Зашифрованное сообщение преобразуется в => 9,1,29

  1. Расшифровываем. Pi = Ci ^ D modn.

  2. Еn- открытый ключ метода, Dn- закрытый.

Малая теорема ферма позволяет определить является ли число простым.

Для простого числа Р и любого целого К при К<Р справедливо тождество |КР-1| mod p=1

Ассиметричный алгоритм.

Алгоритм

Описание

RSA

Стойкость зависит от сложности факторизации больших целых чисел.

Эль-Гамаля

Разновидность алгоритмов Диффи-Хелмана, который можно использовать как для шифрования так и для электронной подписи. На основе (DLP). По заданному простому числу Р основанию G*mod(P)

Алгоритмы на эллиптических кривых

Большая производительность, меньшая длинна ключа. Но серьезная математика

DSS(DSA)

С реального рынка ушел т.к. нашли слабые места.

30.10.15

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

Метод контрольных сумм().

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

CS=T mod (Vmax+1)

ПРИМЕР

36 211 163 4 109 192 58 247 47 92

Сумма всего этого = T= 1159

Если мы считаем что максимальная сумма должна быть величиной в один байт, тогда контрольная сумма равняется

CS = 1159 mod 256=135

Циклический избыточный код.

Исходная воичная последовательность представляется в виде полинома F(x) степени )N-1) где N- число бит последовательности. Для выбранного пораждающего полинома можно записать следующее неравенство.

F(x)XmG(x)*P(x)+R(x)

m-степень полинома

G(x)- частное

R(x)- jcnfnjr nj ltktybz ghjbpdtltybz

Тогда

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

L=1/2^n- как то так

Пример

A=1010010

P(x)=x3+x+1

GA(x)=x6+x4+x

GA(x)*x3=x9+x7+x4

При вычислении синдромов действия выполняются по правилам деления полинома при этом операция вычитания заменяется сложением по модулю 2

Делим полученное на порождающий полином как на сетях.

P|(x)=x+1

Тогда последовательность с полиномом будет выглядеть:

A|=1010010001

Контроль целостности:

(x9+x7+x4+ x+1)/( x3+x+1)= x6+x3+1, остаток равняется 0, если результат был бы не 0 то целостность нарушена.

Hash-функции

Дайджес-

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

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

Основные требования к функциям хеширования:

  1. Сжатие. Фунция отображает некоторое входное сообщение x произвольной длины получая через функцию фиксированной длинны последовательнсть, при этом исходное сообщение x называется прообразом функции.

  2. Должна вычисляться последовательность со сложностью не выше полиномиальной.

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

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

  5. Стойкость к коллизиям. Невозможность нахождения двух прообразов при которых бы получались одинаковые хэш- значения.

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

Атаки на хэш-функции. два типа:

  1. Атаки базирующиеся на уязвимости алгоритма, на неких неостатках внутренней структуры хэш-функции.

  2. Атаки грубого перебора.

Оценочные значения выислительной стойкости хэш-функции.

Тип хэш-функции

Цель атаки

Идеальная стойкость

Коллизионная???

Либо нахождение прообраза, либо нахождение второго прообраза

2L, гдеL-длина хэш значения

бесколизионная

Нахождение любой коллизии

2L/2

Функция выработки кодов аутентификации сообщений КАС

Точное нахождение ключа, подделка сообщений

(k/L)+(2K-1/1-2-L)

Максимальное из значений: 2 или 2-L

Пример:

Хэш-функция

К

Базовые преобразования

Длина значения в битах

Американский стандарт,

однонаправленные

Логические арифметические преобразования

256,384,512

Md-5

однонаправленные

Логические арифметические преобразования

128

Русский стандарт

однонаправленные

на основе блочного симметричного шифра

256

ГОСТ-28147-89

кас

кас

на основе блочного симметричного шифра

64

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

Цифровая подпись.

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

13.11.15