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

  • АЛИНа пошла в лес собирать грибы

  • Задание №2. Функция хеширования.

  • Приложению Б.2

  • 2 задачи. Задание 1. Алгоритм шифрования гост 2814789


    Скачать 16.87 Kb.
    НазваниеЗадание 1. Алгоритм шифрования гост 2814789
    Дата14.06.2022
    Размер16.87 Kb.
    Формат файлаdocx
    Имя файла2 задачи.docx
    ТипДокументы
    #589405

    Титульный лист

    Задание №1. Алгоритм шифрования ГОСТ 28147-89.

    Выполните первый цикл алгоритма шифрования ГОСТ 28147 89 в режиме простой замены. Для получения 64 бит исходного текста используйте 8 первых букв из своих данных: Фамилии Имени Отчества. Для получения ключа (256 бит) используют текст, состоящий из 32 букв. Первый подключ содержит первые 4 буквы.
    Выполнение

    Исходные данные для зашифрования: КРЫЛОВА

    Для ключа возьмем последовательность, состоящую из 32 букв:

    АЛИНа пошла в лес собирать грибы

    Для первого подключа Х используем первые 4 буквы ключа: АЛИН.

    Переводим исходный текст и первый подключ в двоичную последовательность (см. Приложение Б):

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

    К 11001010

    Р 11010000

    Ы 11011011

    Л 11001011

    О 11001110

    В 11000010

    А 11000000

    пробел 00100000
    первый подключ X0

    А 11000000

    Л 11001011

    И 11001000

    Н 11001101

    Таким образом, первые 64 бита определяют входную последовательность

    L0: 11001010 11010000 11011011 11001011

    R0: 11001110 11000010 11000000 00100000

    следующие 32 бита определяют первый подключ

    Х0: 11000000 11001011 11001000 11001101

    I. Найдем значение функции преобразования f(R0, X0) (см. Приложение А)

    1). Вычисление суммы R0 и X0 по mod 232

    R0: 1100 1110 1100 0010 1100 0000 0010 0000

    Х0: 1100 0000 1100 1011 1100 1000 1100 1101

    1000 1111 1000 1110 1000 1000 1110 1101
    2). Преобразование в блоке подстановки

    Результат суммирования R0+X0 по mod 232

    1000 1111 1000 1110 1000 1000 1110 1101

    преобразуем в блоке подстановки (см. Приложение В). Для каждого 4- битного блока вычислим его адрес в таблице подстановки. Номер блока соответствует номеру столбца, десятичное значение блока соответствует номеру строки в таблице. Таким образом, 5-тый блок (1011) заменяется заполнением 11-ой строки и пятого столбца в таблице подстановки (1110). номера блоков

    8 7 6 5 4 3 2 1

    1000 1111 1000 1110 1000 1000 1110 1101

    соответствующие номера строк в таблице подстановки

    8 15 8 14 8 8 14 13

    заполнение

    9 12 3 11 14 14 5 15

    результат

    1001 1100 0011 1011 1110 1110 0101 1111

    3). Циклический сдвиг результата п.2 на 11 бит влево

    1101 1111 0111 0010 1111 1100 1110 0001

    II. Вычисляем R1=f(R0,X0)L0.

    Результат преобразования функции f(R0,X0) складываем с L0 по mod2:

    L0: 1100 1010 1101 0000 1101 1011 1100 1011

    f(R0,X0): 1101 1111 0111 0010 1111 1100 1110 0001

    R1: 0001 0101 1010 0010 0010 0111 0010 1010


    Задание №2. Функция хеширования.

    Найти хеш–образ своей Фамилии, используя хеш–функцию где n = pq, (p и q - простые числа из первой сотни).

    Решение

    Хешируемое сообщение «КРЫЛОВА». Возьмем два простых числа p=13, q=19 (см. Приложение Г). Определим n=pq=13*19=247. Вектор инициализации H0 выберем равным 8 (выбираем случайным образом). Слово «КРЫЛОВА» согласно Приложению Б.2 представлено последовательностью чисел (12, 18, 29, 13, 16, 3, 1) по номерам букв в алфавите. Таким образом,

    n=247, H0=8, M1=12, M2=18, M3=29, M4=13, M5=16, M6=3, M7=1.

    Используя формулу

    Hi  Hi1+ Mi2 mod n,

    получим хеш-образ сообщения «КРЫЛОВА»:

    H1=(H0+M1)2 mod n = (8 + 12)2mod 247 = 400 mod 247=153

    H2=(H1+M2)2 mod n = (153 + 18)2 mod 247 = 29241 mod 247= 95

    H3=(H2+M3)2 mod n = (95 + 29)2 mod 247 = 15376 mod 247= 62

    H4=(H3+M4)2 mod n = (62 + 13)2 mod 247 = 5625 mod 247= 191

    H5=(H4+M5)2 mod n = (191 + 16)2 mod 247 = 42849 mod 247= 118

    H6=(H5+M6)2 mod n = (118 + 3)2 mod 247 = 14641 mod 247= 68

    H7=(H6+M7)2 mod n = (68 + 1)2 mod 247 = 4761 mod 247= 68

    В итоге получаем хеш-образ сообщения «КРЫЛОВА», равный 68.


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