Uploaded by Nazar

Лабораторна робота №6. Брич Назар. КБ-36

advertisement
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
Кафедра ЗІ
ЗВІТ
до лабораторної роботи №6
з курсу: «Криптографічні системи і протоколи»
на тему: «Афінні шифри. Лінійні шифри»
Варіант - 2
Виконав: ст. гр. КБ-36
Брич Н. І.
Прийняла: Руда Х. С.
Львів 2021
Мета роботи: ознайомитися з афінними шифрами (шифр зсуву, лінійний шифр,
афінний шифр 1-го і вищих порядків).
Завдання
Написати програму шифрування та розшифрування на мові програмування С# для
реалізації афінного шифру 3-го порядку.
Теоретичні відомості
Ключ: A  GLk ( Z n ) і S  Z nk .
Шифрування. Повідомлення розбивається на k-грами. Кожна k-грама X заміщується
k-грамою E(X) = AX + S.
Дешифрування. Кожна k-грама X’ криптотексту заміщується k-грамою D(X’) = A’X’
+ S’, де A’= A 1 і S’ = –A’S – дешифруючий ключ.
Приклад 1. Розглянемо докладніше випадок k = 2, тобто біграмний лінійний
a b 
 з коефіцієнтами a, b, c, d  Z n .
шифр. В якості ключа вибирається матриця A  
c
d


Матриця A повинна бути оборотною. Це рівнозначно умові НСД(ω, n) = 1 для ω = ad –
bc – визначника матриці. За цієї умови з допомогою розширеного алгоритму Евкліда
ми можемо знайти в Z n обернений елемент w1 і за формулою оберненої матриці
обчислити дешифруючий ключ
 dw1 mod n  bw1 mod n 
.
A  
1
1


cw
mod
n
aw
mod
n


 1 1
 над Z 33 маємо ω = (1∙1 – 32∙1) mod 33 = 2. За
Наприклад, для A  
 32 1
17 16 
 .
розширеним алгоритмом Евкліда знаходимо w1 = 17 і A  
17 17 
Нехай потрібно зашифрувати повідомлення ЗАВТРА. Першій біграмі ЗА
 (1  9  1  0) mod 33   9 
9
    . Таким
відповідає вектор   . Множення на матрицю A дає 
 (32  9  1  0) mod 33   24 
0
2
 20 
 та РА =   . Зауважимо, що множення
 22 
0
же чином знаходимо образи біграм ВТ = 
матриці A на три вектори-біграми еквівалентне множенню цієї матриці на матрицю
розміру 2 на 3:
 1 1 9 2 20   9 24 20 


  
 .
 32 1 0 22 0   24 20 13 
Насамкінець перетворюємо стовпчики отриманої матриці у біграми – отримуємо
криптотекст ЗФФРРЙ.
Дешифрування відбувається так само, лише із використанням оберненої матриці.
Наприклад, якщо ми маємо крипто текст РЬГК, то розбиваємо його на біграми
 р г   20 3 

  
 і виконуємо множення на матрицю A’:
 ь к   30 14 
17 16  20 3  17 17   н н 


  
  
 .
17 17  30 14  10 11   и і 
В результаті дістаємо повідомлення НИНІ.
Повернемось до загального аналізу лінійного шифру. Співвідношення D(E(X)) = X
для будь-якого X  Z nk випливає з рівностей A’(AX) = (A’ A)X = I k X = X, де I k –
одинична матриця порядку k. Дешифруючий ключ A’ для вибраної оборотною матриці
A обчислюється ефективно за формулою для оберненої матриці. Потрібне для цього
значення(det A) 1 modn знаходиться за допомогою розширеного алгоритму Евкліда. На
довершення доведемо, що необоротні матриці A непридатні для використання в якості
ключа.
Індивідуальне завдання
№
Варіанту
2
Матриця
;
Вид шифрування
Афінний шифр 2-го
порядку
Виконання завдання
- Код програми
- Виконання завдання
Висновок: отже, на даній лабораторній роботі я ознайомився з алгоритмом
шифрування RSA та за допомогою нього зашифрував та відправив повідомлення
утримувачу. Утримувач зміг переконатися в справжності ЕЦП.
Download