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

  • Циклы шифрования

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

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

  • Вопросы с 11 по 20. По принятому алгоритму шифрования выполним необходимые действия При этом зашифрованный текст будет иметь вид 85, 54, 25, 96, 60, 24


    Скачать 0.61 Mb.
    НазваниеПо принятому алгоритму шифрования выполним необходимые действия При этом зашифрованный текст будет иметь вид 85, 54, 25, 96, 60, 24
    Дата01.06.2022
    Размер0.61 Mb.
    Формат файлаdocx
    Имя файлаВопросы с 11 по 20.docx
    ТипДокументы
    #562826
    страница2 из 6
    1   2   3   4   5   6

    По таблице первые 3 бита результирующего блока {\displaystyle \mathrm {IP} (T)}  после начальной перестановки {\displaystyle \mathrm {IP} }  являются битами 58, 50, 42 входного блока {\displaystyle T} , а его 3 последние бита являются битами 23, 15, 7 входного блока.

    Циклы шифрования[править | править код]

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

    — 16 циклов преобразования Фейстеля:

    Разбить IP(T) на две части {\displaystyle L_{0},R_{0}} , где {\displaystyle L_{0},R_{0}}  — соответственно 32 старших битов и 32 младших битов блока {\displaystyle T_{0}}  IP(T)= {\displaystyle L_{0}R_{0}}

    Пусть {\displaystyle T_{i-1}=L_{i-1}R_{i-1}}  результат (i-1) итерации, тогда результат i-ой итерации {\displaystyle T_{i}=L_{i}R_{i}}  определяется:

    {\displaystyle L_{i}=R_{i-1}}

    {\displaystyle R_{i}=L_{i-1}\oplus f(R_{i-1},k_{i})}

    Левая половина {\displaystyle L_{i}}  равна правой половине предыдущего вектора {\displaystyle L_{i-1}R_{i-1}} . А правая половина {\displaystyle R_{i}}  — это битовое сложение {\displaystyle L_{i-1}}  и {\displaystyle f(R_{i-1},k_{i})}  по модулю 2.

    В 16-циклах преобразования Фейстеля функция f играет роль шифрования. Рассмотрим подробно функцию f.

    Основная функция шифрования (функция Фейстеля)[править | править код]

    Аргументами функции {\displaystyle f}  являются 32-битовый вектор {\displaystyle R_{i-1}}  и 48-битовый ключ {\displaystyle k_{i}} , который является результатом преобразования 56-битового исходного ключа шифра {\displaystyle k} . Для вычисления функции {\displaystyle f}  последовательно используются

    1. функция расширения {\displaystyle \mathrm {E} } ,

    2. сложение по модулю 2 с ключом {\displaystyle k_{i}}

    3. преобразование {\displaystyle \mathrm {S} } , состоящее из 8 преобразований {\displaystyle \mathrm {S} } -блоков {\displaystyle \mathrm {S} _{1},\mathrm {S} _{2},\mathrm {S} _{3}\ldots \ \mathrm {S} _{8}} ,

    4. перестановка {\displaystyle \mathrm {P} } .

    Функция {\displaystyle \mathrm {E} }  расширяет 32-битовый вектор {\displaystyle R_{i-1}}  до 48-битового вектора {\displaystyle \mathrm {E} (R_{i-1})}  путём дублирования некоторых битов из {\displaystyle R_{i-1}} ; порядок битов вектора {\displaystyle \mathrm {E} (R_{i-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   4   5   6


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