DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Криптографічні системи та протоколи

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2013
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Інформаційні технології

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет «Львівська Політехніка» Інститут комп’ютерних технологій автоматики та метрології Кафедра Безпеки Інформаційних Технологій  Звіт Про виконання лабораторної роботи № 3 “Криптографічні системи та протоколи” Львів 2012 Мета роботи: Вивчити математичний апарат для опису афінних шифрів та розробити програмне забезпечення для реалізації афінних шифрів. Теоретичні відомості Афінний шифр k-го порядку. Ключ: A(GLk(Zn) і S( Znk. Шифрування. Повідомлення розбивається на k-грами. Кожна k-грама X заміщується k-грамою E(X)=AX+S. Розшифрування. Кожна k-грама X' криптотексту заміщується k-грамою D(X’)=A’X’+S’, де A’=A-1 і S’=–A’S - розшифровуючий ключ. Нехай потрібно зашифрувати повідомлення місто за допомогою ключа  i  в Z33. Частину операції зашифрування наведено вище. Після розбиття повідомлення на вектори-біграми і множення на них матриці А за модулем 33 було отримано . Додаємо до кожного стовпчика вектор S і отримуємо  тобто криптотекст ияґхуч. Знайдемо також розшифровуючий ключ. У попередньому прикладі було отримано матрицю . Обчислюємо . Провівши розшифрування, одержимо , а саме повідомлення містоа. ЗАВДАННЯ 1) Вивчити основні математичні залежності, які використовуються для опису шифрів зсуву, лінійного та афінного першого та вищих порядків. 2) Скласти блок-схеми алгоритмів та програму для реалізації зашифрування та розшифрування відкритого тексту за допомогою афінного шифру 3-го порядку. Блок-схема: Остаточна версія програми: private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { if (jRadio1.isSelected() == true) { String inpt = this.inText.getText(); StringBuilder sb = new StringBuilder(inpt); if (sb.length() != 0) { while (!Character.isLetter(sb.charAt(0))) { sb.deleteCharAt(0); } // continue text cleaning. for (int i = 0; i < sb.length(); i++) { if (!Character.isLetter(sb.charAt(i)) && !Character.isWhitespace(sb.charAt(i))) { sb.setCharAt(i, ' '); } } for(int i = 0; i<sb.length(); i++){ if(Character.isWhitespace(sb.charAt(i))){ sb.deleteCharAt(i); } } for(int i = 0; i<sb.length(); i++){ if(Character.isWhitespace(sb.charAt(i))){ sb.deleteCharAt(i); } } } for(;;){ if(sb.length()%3 != 0){ sb.append("а"); } else break; } inpt = sb.toString(); int a[] = new int [9]; //ключ String keyStr = this.jKey1.getText(); char keyCh [] = keyStr.toCharArray(); for(int i = 0; i<9; i++){ a[i] = (int)keyCh[i]; } int s[] = new int [3]; String key2 = this.jKey2.getText(); char [] key2c = key2.toCharArray(); for(int i = 0; i<3; i++){ s[i] = (int)key2c[i]; } char kchar[] = inpt.toCharArray(); int kn[] = new int [kchar.length]; int k[] = new int [kchar.length]; for (int i = 0; i<kchar.length; i++){ k[i] = kchar[i]-1071; } for (int i = 0; i<inpt.length(); i = i+3){ kn[i]=a[0]*k[i]+a[1]*k[i+1]+a[2]*k[i+2]+s[0]; kn[i+1]=a[3]*k[i]+a[4]*k[i+1]+a[5]*k[i+2]+s[1]; kn[i+2]=a[6]*k[i]+a[7]*k[i+1]+a[8]*k[i+2]+s[2]; int j; for (j = 0;; j++){ if (kn[i] > 33){ kn[i] = kn[i]-33; } else break; } for (j = 0;; j++){ if (kn[i+1] > 33){ kn[i+1] = kn[i+1]-33; } else break; } for (j = 0;; j++){ if (kn[i+2] > 33){ kn[i+2] = kn[i+2]-33; } else break; } kn[i]=kn[i]+1071; kn[i+1]=kn[i+1]+1071; kn[i+2]=kn[i+2]+1071; } StringBuffer v = new StringBuffer(); for(int i=0; i<=kn.length-1; i++){ v.append((char)kn[i]); } String vv = v.toString(); this.outText.setText(vv); } } Результати роботи програми:  Висновок: На даній лабораторній роботі я вивчив математичний апарат для опису афінних шифрів та розробив програмне забезпечення для реалізації афінних шифрів.
Антиботан аватар за замовчуванням

22.01.2013 12:44

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!