Главная страница
Навигация по странице:

  • Outer bits 00

  • Генерирование ключей ki для каждого раунда.

  • Режимы использования DES (ECB — Electronic Code Book)

  • (СВС — Cipher Block Chaining)

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


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

     

     Пример преобразование через S-блок:

    1. берем блок B3 = 101111

    2. первый и последний биты B3 =>11 являются двоичной записью десятичного числа а,  0<=a<=3, поэтому строки таблицы S3 нумеруются от 0 до 3 

    3. средние 4 бита =>0111 представляют десятичное число b, 0<=b<=15, столбцы таблицы S3 нумеруются от 0 до 15. 

    4. пара чисел (а, b) определяет десятичное число, находящееся в пересечении строки а и столбца b. Двоичное представление этого числа дает B'3 . В нашем случае a = 11 = 3, b = 0111 = 7, а десятичное число, определяемое парой (3,7), равно 7.

    5. двоичное представление числа 7  B'3=0111.

    Пример таблицы в двоичном виде, преобразование B5 = 011011 через  S5-блок  B'5 = 1001

    S5

    Middle 4 bits of input

    0000

    0001

    0010

    0011

    0100

    0101

    0110

    0111

    1000

    1001

    1010

    1011

    1100

    1101

    1110

    1111

    Outer bits

    00

    0010

    1100

    0100

    0001

    0111

    1010

    1011

    0110

    1000

    0101

    0011

    1111

    1101

    0000

    1110

    1001

    01

    1110

    1011

    0010

    1100

    0100

    0111

    1101

    0001

    0101

    0000

    1111

    1010

    0011

    1001

    1000

    0110

    10

    0100

    0010

    0001

    1011

    1010

    1101

    0111

    1000

    1111

    1001

    1100

    0101

    0110

    0011

    0000

    1110

    11

    1011

    1000

    1100

    0111

    0001

    1110

    0010

    1101

    0110

    1111

    0000

    1001

    1010

    0100

    0101

    0011


    Снова получаем 32 бита.
    - все 8 блоков по 4 бита пропускаются через P-блок
    Значение функции f(Ri - 1,ki) (32 бит) получается перестановкой Р, применяемой к 32-битовому блоку B'1B'2...B'8. Перестановка Р задана таблицей 4.

    Таблица 4. Перестановка P

    16

    7

    20

    21

    29

    12

    28

    17

    1

    15

    23

    26

    5

    18

    31

    10

    2

    8

    24

    14

    32

    27

    3

    9

    19

    13

    30

    6

    22

    11

    4

    25

     

     f(Ri - 1,ki) = P(B'1B'2...B'8)
    Согласно таблице 4, первые четыре бита результирующего вектора после действия функции f — это биты 16, 7, 20, 21 вектора B'1B'2...B'8



    Рис. f-функция 

     

    Генерирование ключей ki для каждого раунда.

    Раундовые ключи ki получаются из начального ключа k добавлением бит из блока данных (64 бит = 8 байтов или 8 символов в ASCII) таким образом. Восемь битов, находящих в позициях 8, 16, 24, 32, 40, 48, 56, 64 добавляются в ключ k таким образом чтобы каждый байт содержал нечетное число единиц. Затем делают перестановку для расширенного ключа (кроме добавляемых битов 8, 16, 24, 32, 40, 48, 56, 64). Такая перестановка определена как в таблице 5.

    Таблица 5.

    57

    49

    41

    33

    25

    17

    9

    1

    58

    50

    42

    34

    26

    18

    C0

    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

    D0

    14

    6

    61

    53

    45

    37

    29

    21

    13

    5

    28

    20

    12

    4




     

    Эта перестановка определяется двумя блоками C0 и D0 по 28 бит каждый. Первые 3 бита C0 есть биты 57, 49, 41 расширенного ключа. А первые три бита D0 есть биты 63, 55, 47 расширенного ключа. Ci,Di i=1,2,3…получаются из Ci - 1,Di - 1 одним или двумя левыми циклическими сдвигами согласно таблице 6.

    Таблица 6.

    i

    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

     

    Ключ ki, i=1,…16 состоит из 48 бит, выбранных из битов вектора CiDi (56 бит) согласно таблице 7. Первый и второй биты ki есть биты 14, 17 вектора CiDi 

    Таблица 7.

    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

     



    Получение раундовых ключей 

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

    Конечная перестановка IP - 1 действует на T16 и используется для восстановления позиции. Она является обратной к перестановке IP. Конечная перестановка определяется таблицей 8.

     

    Таблица 8. Обратная перестановка IP - 1

    40

    8

    48

    16

    56

    24

    64

    32

    39

    7

    47

    15

    55

    23

    63

    31

    38

    6

    46

    14

    54

    22

    62

    30

    37

    5

    45

    13

    53

    21

    61

    29

    36

    4

    44

    12

    52

    20

    60

    28

    35

    3

    43

    11

    51

    19

    59

    27

    34

    2

    42

    10

    50

    18

    58

    26

    33

    1

    41

    9

    49

    17

    57

    25

     

    Режимы использования DES

     (ECB — Electronic Code Book) - каждый блок шифруется отдельно.



     

     

       

    оригинальная битовая карта            криптограмма в режиме ECB         другие режимы шифрования

     

     

     (СВС — Cipher Block Chaining) - режим сцепления блоков. Каждый очередной блок, перед зашифровыванием складывается по модулю 2 со следующим блоком открытого текста.

     

    Рис. СВС - режим сцепления блоков

     Существуют и другие режимы использования DES.

     

     
    1   2   3


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