- •Традиційні симетричні криптосистеми Шифри простої заміни План
- •1 Полібіанський квадрат
- •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.
