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

15.Алгоритм шифрования des

( Data Encryption Standard)

Сначала вабир-ся ключ, содержащий 56 случайных битов. Добавляются 8 битов в позиции 8,16,24…

1 2 3 4 5 6 7 О 9 10 11 12 13 14 15 О

случайные

В байте должно быть нечетн. Число единиц. Это нужно для обнаружения ошибки при обмене и обнаружении ключей.

56 случайных битов подвергается перестановке

57 49 41 33 25 17 9

1 58 50 42 34 26 18 Со

10 2 59 51 43 35 27

19 11 3 60 52 44 36

63 55 47 39 31 23 15

7 62 54 46 38 30 22 Dо

14 6 64 53 45 37 29

21 13 5 28 20 12 4

Далее строится 16 блоков Сn-x, Dn-x, причем блок Cn-x строится из блока Сn-1 одним или двумя левыми сдвигами согласно таблице

N 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Число левых сдвигов 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1

Один левый сдвиг означает смещение битов на 1 разряд влево, т.е. биты будут распол-ся в разрядах 2,3…28,1

Далее определяется 16 перестановок Кn битов ключа причем каждый Кn состоит из 48 бит, получаемых из Cn,Dn следующим образом.

14 17 11 24 1 5

3 28 15 6 21 10

23 19 12 4 26 8

16 7 27 20 13 2

41 52 31 37 47 55

30 40 51 45 33 48

44 49 39 56 34 53

46 42 50 36 29 32

Таким образом мА получим 16 Со,Do последовательностей Кn по 48 бит в каждой.

Теперь зашифруем блок состоящий из 64 бит исходного текста.

Сначала блок подвергается начальной перестановке.

58 50 42…2 57 49…1

60 52 44…4 -- Lo 59 51…3 -- Ro

62 54 46…6 61 53…5

64 56…….8 63 55…7

Wo`=Lo*Ro

Lo LnLn-1, RnRn-1, зашифрованные Ln=Rn-1, Rn=Ln-1 + f(Rn-1,Kn)

Расшифрование наоборот.

Функция f получается из 32 битового блока Rn-1или Ln и 48 битового Kn блок из 32 бит след образом.

Блок из 32 бит расширяется до 48 бит след-м образом по таблице:

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 13 14 15 16 17

16 17 18 19 20 21

20 21 22 23 24 25 первая переменная Ln расширяется до 48 бит.

24 25 26 27 28 29

28 29 30 21 23 1

После такого расширения 2 48-ми раз-х блока складываются по модулю 2. Результирующий блок из 48 бит делится на 8 6-ти битовых блоков

В=В1,В2,В3…В8

Каждый блок трансформируется в 4 битовый блок Вl` с помощью соответствующей таблицы

S1

14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7

0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8

4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0

15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13

Пусть В1=110010

Y 0=<x<=3

0=<y<=15

x

x=2, y=9 x-строки, y-столбцы. Нумерация с 0.

В`=1100

Значит f получается применением перестановки к результирующему 32 резуль-му блоку В`

16 7 20 21 2 8 24 14

29 12 28 17 32 27 3 9

1 15 23 26 19 13 30 6

5 18 31 10

16. Применение элементов теории сравнения при нахождении ключей.

Криптология делится на криптографию и криптоанализ.

Шифр – множество обратимых преобразований формы открытого текста , приводимых с целью его защиты.

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

Код – своего рода словарь, в котором элементы открытого текста заменяются группами символов (кодов, обозначениями).

N – множество натуральных чисел (1,2,3)

Z – множество целых чисел (включая 0)

Q – множество рациональных чисел (числа вида P/Q, P,Q – целые числа, Q не равно 0)

R – множество действительных чисел, которое включает как рациональные, так и иррациональные числа.

Говорят, что А/В=q, если существует такое q, не равное 0, что А=В*Q

Лемма1. Если С/В и В/А, то С/А

Лемма2. Пусть м=а+в и d/м, d/a, то d/b.

Число n>1 называется простым, если оно не имеет делителей, кроме 1 и n. Если НОД (а1, а2,….аn)=1, то эти числа называются взаимно простыми.

Лемма. Наименьший отличный от 1 делитель натурального числа есть простое число. Следствие: каждое натуральное число N>1 имеет хотябы один простой делитель.

Основная теорема арифметики. Любое натуральное число N>1 представляется в виде произведения простых чисел, причем единственным образом. n=P1^a1,P2^a2,P3^a3,…Pn^an. P – простые числа, а – целые числа. 96=2^5*3^1.

Для соответствия таблицы простых чисел нужно использовать метод, называемый решетом Эратосфена. Напишем последовательность чисел 2,3,4,5,6,7,8,9,…N. Вычеркиваем сначала четные числа, затем делящиеся на 13, на 15 и т.д.

Оставшиеся числа являются простыми от 1 до N. Пусть mэN, целые числа а и в ЭZ называются сравнимыми по модулю м

(м не = 0), если а-в/m.

Сравнимость чисел а и в по модулю м обозначается: а=в(mod m).

Числа а и в сравнимы по модулю м тогда, когда существует такое целое t (t э z), что a=b+mt. Также, когда они имеют одинаковые остатки при делении на м. a=mq1+r, b=mq2+r. Отсюда следует, что все целые числа по модулю m разбиваются на m непересекающихся классов, сравнимых между собой чисел (т.е. имеющих одинаковые остатки при делении на m)

Каждое число b, входящее в какой – либо из классов, называется вычетом числа а по модулю m.

Свойства сравнений по модулю m напоминают свойства обычных числовых равенств.

1) Два числа сравнимые с третьим сравнимы между собой.

2)Сравнение по одному и тому же модулю можно почленно складывать.

3) Сравнение по одному и тому же модулю можно почленно перемножать.

Для каждого целого числа m>1 можно ввести числовую функцию φ(m), представляющую собой кол-во чисел из совокупности чисел 0,1, … m-1 взаимно простых с m. Это функция Эйлера.

φ(2)=1, φ(3)=2

φ(n)=n*(1-1/p1)*(1-1/p2)

Если m=p где p простое число, то φ(p)=p-1.

Название функции φ(m) из теоремы Эйлера

Для любых целых чисел a и m таких, что НОД(a,m)=1, справедливо выражение a^φ(m)=1(mod m).

Отсюда следует теорема Ферма. Если p простое число и оно не делится на а, то а^p-1=1(mod p)

Пример Если а=b(mod p) и а=b(mod q) то а=b(mod p*q)

Пусть а=37,р=5,q=7. 37=2 mod 5, 37=(35+2) mod 5=2 mod 5

37=(35+2) mod 7=2 mod 7=> 37=2 mod (35)