Главная страница

Основы ИБ. Лекции 1. Криптография с симметричными ключами. Лекция. Криптография с симметричными ключами. Шифры подстановки Шифр Цезаря


Скачать 431.82 Kb.
НазваниеЛекция. Криптография с симметричными ключами. Шифры подстановки Шифр Цезаря
АнкорОсновы ИБ
Дата19.09.2022
Размер431.82 Kb.
Формат файлаdocx
Имя файлаЛекции 1. Криптография с симметричными ключами.docx
ТипЛекция
#684467
страница1 из 3
  1   2   3

1 Лекция. Криптография с симметричными ключами.

Шифры подстановки

Шифр Цезаря

 http://ru.wikipedia.org/wiki/Шифр_Цезаря

 

Используется подстановка (замена) букв из измененного алфавита. В классическом варианте алфавит получают с помощью сдвига букв на три позиции.

С точки зрения современной парадигмы, можно выделить:

  1. алгоритм (замена букв из полученного с помощью сдвига алфавита)

  2. ключ - k (величина сдвига)

 Пример: зашифрованный текст с различными ключами.

k=0 зашифрованный текст с различными ключами
k=1 ибщйхспгбооьк уёлту т сбимйшоьнй лмяшбнй
k=2 йвъкцтрдвппэл фжмуф у твйнкщпэок мнащвок
k=3 кгылчусегррюм хзнфх ф угколърюпл нобъгпл
k=4 лдьмшфтёдссян циохц х фдлпмысярм опвыдрм
k=5 меэнщхужеттао чйпцч ц хемрньтасн пргьесн
k=6 нёюоъцфзёуубп шкрчш ч цёнсоэубто рсдэёто

Шифр Виженера

http://ru.wikipedia.org/wiki/Шифр_Виженера 



Используется несколько алфавитов. 

Исходный текст: HELLOWORLD

Создается ключевое слово: WELCOM

Ключевое слово повторяется циклически до заполнения всего исходного текста.

W

E

L

C

O

M

W

E

L

C

H

E

L

L

O

W

O

R

L

D

Берем букву исходного теста, выбираем алфавит соответствующий букве ключевого слова, и делаем замену из этого алфавита. 

W

E

L

C

O

M

W

E

L

C

H

E

L

L

O

W

O

R

L

D

D

I

W

N

C

I

K

V

W

F

Получили зашифрованный текст: DIWNCIKVWF

 

Шифр Вернама (одноразовые блокноты) 

 http://ru.wikipedia.org/wiki/Одноразовый_блокнот

Каждая страница блокнота является ключом и используется один раз.

Ключ должен обладать тремя свойствами:

  1. быть истинно случайным

  2. совпадать по размеру с заданным исходным текстом

  3. применяться только один раз

Пример ключа:



Алгоритм:

Зашифруем исходный текст "HELLO" ключом "XMCKL"

Каждой букве присваивается порядковый номер в алфавите "A" => 0, "B" => 1 и т.д.

         H         E         L         L         O  исходный текст   

     7 (H)   4 (E)  11 (L)  11 (L)  14 (O) исходный текст

+ 23 (X)  12 (M)   2 (C)  10 (K)  11 (L) ключ

= 30        16        13        21        25     исходный текст + ключ

=  4 (E)   16 (Q)  13 (N)  21 (V)  25 (Z) исходный текст + ключ (mod 26)

       E       Q       N       V       Z  - зашифрованный текст

Если число больше 25, то начинают снова с начала алфавита, записывается остаток после вычитания 26 (30-26=4).

Расшифровка:

         E         Q          N         V          Z  зашифрованный текст

     4 (E)  16 (Q)  13 (N)  21 (V)  25 (Z) зашифрованный текст

 -  23 (X)  12 (M)   2 (C)  10 (K)  11 (L) ключ

 = -19         4        11        11       14     зашифрованный текст — ключ

=   7 (H)     4 (E)   11 (L)  11 (L)   14 (O) зашифрованный текст — ключ (mod 26)

         H          E          L          L          O  исходный текст   

Если число отрицательное то прибавляется 26 (-19+26=7)

 

Шифры перестановки

исходный текст: простой шифр перестановки

п

т

и

е

т

в

р

о

ф

р

а

к

о

й

р

е

н

и

с

ш

п

с

о

 

шифрованный текст: птиетв  рофрак ойрени сшпсо

Алгоритм: запись по столбцам, считывается по строкам. 

Секретный ключ - размер таблицы.

 Поточные шифры

http://ru.wikipedia.org/wiki/Поточный_шифр 

Генератор гаммы выдает ключевой поток бит (гамму), который, например, складывается (XOR-ИСКЛЮЧАЮЩЕЕ ИЛИ) с потоком открытого текста.

 

Рис. Принцип работы поточного шифра

 Шифр Вернама (одноразовые блокноты) тоже является поточным шифром. 

  

Алгоритм XOR

Работает с двоичным кодом.

правило:

0+0=0
0+1=1
1+0=1
1+1=0

исходный текст: Wiki 

Wiki переведем в двоичный код  - 01010111 01101001 01101011 01101001

Секретный ключ:  11110011 11110011 11110011 11110011

Шифрование:

01010111 01101001 01101011 01101001 - открытый текст
11110011 11110011  11110011  11110011 - секретный ключ
10100100 10011010 10011000 10011010 - шифрованный текст

Расшифрование:

10100100 10011010 10011000 10011010  - шифрованный текст
11110011  11110011  11110011  11110011  - секретный ключ
01010111  01101001 01101011 01101001  - открытый текст

Блочные шифры 

http://ru.wikipedia.org/wiki/Блочный_шифр

Данные шифруются блоками. 

DES (Data Encryption Standard)

http://ru.wikipedia.org/wiki/DES

Данные шифруются блоками с размером 64 бит 

Ключ: 56-бит. 



Начальная перестановка
Исходный текст T (блок 64 бит) преобразуется c помощью начальной перестановки IP которая определяется таблицей 1:

Таблица 1. Начальная перестановка IP

58

50

42

34

26

18

10

2

60

52

44

36

28

20

12

4

62

54

46

38

30

22

14

6

64

56

48

40

32

24

16

8

57

49

41

33

25

17

9

1

59

51

43

35

27

19

11

3

61

53

45

37

29

21

13

5

63

55

47

39

31

23

15

7


В таблице новый порядок расположения бит в блоке. Номера это старый порядок (исходный блок).

 Циклы шифрования
После начальной перестановки 64-битовый блок данных IP(T) участвует в 16-циклах преобразования Фейстеля.
— 16 циклов преобразования Фейстеля.

Основная функция шифрования (функция Фейстеля) 

 

Блок данных IP(T) разбивается на две части по 32 бита L0 - левую, R0-правую. 

Правая часть данных копируется в левую часть без изменений.
Левая часть складывается по модулю два (xor - ИСКЛЮЧАЮЩЕЕ ИЛИ) с выходом из f-функции.


f-функция:

1) Функция Е расширяет 32-битовый вектор Ri - 1 до 48-битового вектора E(Ri - 1) путем дублирования некоторых битов из Ri - 1; при этом порядок битов вектора E(Ri - 1) указан в таблице 2. 

Таблица 2. Функция расширения E

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

24

25

26

27

28

29

28

29

30

31

32

1
  1   2   3


написать администратору сайта