- •Тема 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.