Добавил:
донатики - https://qiwi.com/n/1ZOMBIE1 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛР3_ОИБ

.txt
Скачиваний:
4
Добавлен:
10.12.2022
Размер:
3.2 Кб
Скачать
Номер по списку: 6
[P,Q,E]: [2897, 5531, 3617]
формула для смещения: 1000*n+19*n + 666= 6 780 = 1A7C
размер блока данных: 6 байт.

Формируем входной файл для обработки:
039.mp3.block [6 байт]
байты (hex-код) 7F 9B 23 94 C9 53

Данные об RSA-объекте:
Создан по значениям [P, Q, E]: [2897, 5531, 3617]

1. Вычисляем закрытый ключ.
В связи с тем, что требованием к закрытому числу является выполнение e*d mod f = 1, целесообразно использование расширенного алгоритма Евклида, определяющего поиск решений выражения e*d + x (p-1) *(q-1) = 1.
Вычисляем закрытый ключ:
1) a=16014880 b=3617, div=4427 mod=2421
|0 1
|1 -4427
2) a=3617 b=2421, div=1 mod=1196
|1 -1
|-4427 4428
3) a=2421 b=1196, div=2 mod=29
|-1 3
|4428 -13283
4) a=1196 b=29, div=41 mod=7
|3 -124
|-13283 549031
5) a=29 b=7, div=4 mod=1
|-124 499
|549031-2209407
6) a=7 b=1, div=7 mod=0
|499 -3617
|-2209407 16014880
Рассчитан закрытый ключ [D, N]: (16014880, 16023307)

2. Определяем длину блока.
размерность блока при шифровании, бит:
len = [log216023307] = 23 бита.

3. Формируем исходные блоки и производим шифрование.
Для формирования десятичного представления исходных блоков по len бит запишем исходные данные последовательностью ASCII-кодов:
127,155,35,148,201,83,
формируем двоичную последовательность старшими битами вправо:
11111110 11011001 11000100 00101001 10010011 11001010 00000000 00000000 00000

Блочная обработка:
1) ст-> 11111110110110011100010 мл-> 01000111001101101111111 = 2333567
2333567^3617 mod 16023307 = 687356 - 000010100111110011111100
2) ст-> 00010100110010011110010 мл-> 01001111001001100101000 = 2593576
2593576^3617 mod 16023307 = 15241330 - 111010001001000001110010
3) ст-> 10000000000000000000000 мл-> 00000000000000000000001= 1
1^3617 mod 16023307 = 1 - 000000000000000000000001

4.Результат представляем в виде 16-битных блоков в шестнадцатиричной системе счисления.
Учитывая, что для учета каждого выходного блока потребуется len+1 бит, формируем результирующую двоичную последовательность (нормируем по 16 бит):
старшими битами вправо:
00111111 00111110 01010000 01001110 00001001 00010111 10000000 00000000 00000000
младшими битами вправо:
11111100 01111100 00001010 01110010 10010000 11101000 00000001 00000000 00000000
Результат обработки:
FC7C0A7290E8010000

Соседние файлы в предмете Основы информационной безопасности