00010
Таким чином, перші 64 біта визначають вхідну послідовність
L0: 11001100 11000000 11010101 11001101 - вих. стар. Біти
R0: 11000000 11010111 00100000 11000000 - вих. млад. біти
наступні 32 біта визначають перший підключ
Х0: 11001111 11010000 11001110 11000010 - ключ
Етап I. Знайдемо значення функції перетворення f (R0, X0) (див. Додаток А)
Крок 1). Обчислення суми R0 і X0 по mod 2 32 (арифметичне додавання)
R0: 1100 0000 1101 0111 0010 0000 1100 0000
Х0: 1100 1111 1101 0000 1100 1110 1100 0010
0000 1010 0111 1110 1111 1000 0010
ШагH 2). Перетворення в блоці підстановки
Результат підсумовування R0 + X0
0000 1010 0111 1110 1111 1000 0010
перетворимо в блоці підстановки (див. Додаток В). Для кожного 4-бітного блоку обчислимо його адресу в таблиці підстановки. Номер блоку відповідає номеру стовпця, десяткове значення блоку відповідає номеру рядка в таблиці. Таким чином, 5-тий блок (1011) замінюється заповненням 11-ій рядки і п'ятого стовпця в таблиці підстановки (1110). p align="justify"> номери блоків:
7 6 5 4 3 2 1
0000 1010 0111 1110 1111 1000 0010
відповідні номери рядків у таблиці підстановки:
0 10 11 14 15 8 2
Заповнення
13 8 14 5 11 2 9
Результат (переклад заповнення в двійкову систему числення):
1101 1000 1110 0101 1011 0010 1001
Шаг3). Циклічний зсув результату Кроку 2 на 11 біт вліво
0010 1101 1001 0100 1001 0110 1100
Таким чином, знайшли значення функції f (R0, X0).
Етап II. Обчислюємо R1 = f (R0, X0) Г… L0 Логічне складання з виключенням.
L0: 1100 1100 1100 0000 1101 0101 1100 1101
f (R0, X0): 0111 0010 1101 1001 0100 1001 0110 1100
R1: 1011 1110 0001 1001 1001 1100 1010 0001
Завдання № 3. Алгоритм шифрування RSA
Згенеруйте відкритий і закритий ключі в алгоритмі шифрування RSA, обравши прості числа p і q із першої сотні. Зашифруйте повідомлення, що складається...