
- •Тема 3. Традиційні симетричні криптосистеми. Шифри простої заміни
- •2 Система шифрування Цезаря
- •Криптоаналіз шифру Цезаря
- •3 Аффінна система підстановок Цезаря
- •4 Система Цезаря із ключовим словом
- •5 Таблиці Трисемуса
- •Криптографічний аналіз системи одноалфавітної заміни
- •6 Біграмний шифр Плейфейра
- •7Криптосистема Хілла
- •8Система омофонів
- •Список літератури
7Криптосистема Хілла
Алгебраїчний метод, що узагальнює афінну підстановку Цезаря:
,
,
для визначення n-грам, був сформульований Лестером С. Хіллом.
Множина
цілих чисел
,
для яких визначені операції додавання,
віднімання та множення за модулем m,
є кільцем.
Множина
всіх n-грам
=(x0,
x1,
x2,
…, xn-1)
з
компонентами кільця
утворить
векторний простір
над кільцем
.Кожна
n-грама
називається
вектором.
У векторному просторі
для
векторів
визначені
операції додавання та віднімання за
модулем m,
а також скалярне множення вектора на
елемент t
кільця
.Додавання
і скалярне множення є операціями, що
задовольняють комутативний, асоціативний
та дистрибутивний закони.
Вектор
є
лінійною
комбінацією векторів
,
якщо
. (3.1)
Лінійне
перетворення
є
відображенням
,
,
(3.2)
яке задовольняє умову лінійності
для
всіх s,
t
та
.
Лінійне
перетворення
може
бути представлене матрицею розміром
nn
вигляду
, (3.3)
причому
або
.
Базисом
для векторного простору
є набір
векторів з
,
які
лінійно незалежні і породжують
.
Кожен
базис для
містить
n
лінійно незалежних векторів. Довільний
набір з n
векторів, які лінійно незалежні над
,
є базисом.
Нехай
є лінійним
перетворенням, що описується матрицею
(3.3), причому
.
Якщо
вектори
лінійно незалежні над
,тоді їх
образи
лінійно
незалежні над
тільки
в тому випадку, якщо визначник матриці
не ділиться
на будь-яке просте p,
що ділить
m. У
цьому випадку перетворення
називається
невиродженим
лінійним перетворенням, що має зворотне
перетворення
,
,
(3.4)
де
-одинична
матриця. Крім того,
також
є лінійним перетворенням.
Для
розшифрування n-грам
шифротексту
відновлення n-грам
відкритого
тексту необхідно виконати зворотне
перетворення
відповідно
до рівняння
. (3.5)
Приклад. Виконати шифрування відкритого тексту DETERMINANT.
Маємо
алфавіт ,
що складається із символів латинського
алфавіту. Встановимо взаємно однозначну
відповідність між алфавітом
і множиною цілих чисел
.
A |
B |
C |
D |
E |
F |
G |
H |
I |
J | ||||||||||
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | ||||||||||
|
|
|
|
|
|
|
|
|
| ||||||||||
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T | ||||||||||
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | ||||||||||
|
|
|
|
|
|
| |||||||||||||
U |
V |
W |
X |
Y |
Z |
| |||||||||||||
20 |
21 |
22 |
23 |
24 |
25 |
|
Розглянемо
матрицю Т=. Детермінант матриці
=5
і модульm=26
є взаємно простими числами, отже, матрицю
Т
можна використати як матрицю перетворення
.
Виконаємо
шифрування відкритого тексту. Розіб’ємо
текст на біграми DE | TE | RM | IN | AN | TS і кожній
біграмі поставимо у відповідність
вектор, координатами якого є елементи
множини
(3, 4) | (19, 4) | (17, 12) | (8, 13) | (0, 13) | (19, 18).
Щоб
одержати шифротекст, перемножуємо
матрицю перетворення
на вектор
кожної біграми.
DE:
RA,
TE:
NY
і так далі.
У результаті отримаємо такі біграми шифротексту:
(17, 0) | (13, 24) | (23, 12) | (24, 25) | (0, 13) | (15, 18).
Звернувшись до встановленої відповідності отримаємо шифротекст RANYXMYZANPS.
Виконаємо розшифрування шифротексту RANYXMYZANPS.
Очевидно, що матрицею зворотного перетворення є
=
.
Щоб
одержати відкритий текст перемножуємо
матрицю перетворення
на вектор
кожної біграми шифротексту.
RA:
*
=
DE,
NY:
*
=
TE
і так далі.
Виконавши всі перетворення, переконаємося, що з шифротексту RANYXMYZANPS дійсно отримали відкритий текст DETERMINANT.