Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Сучасні комп’ютеризовані методи шифрування та дешифрування в текстових повідомлень

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра ЕОМ

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

Рік:
2019
Тип роботи:
Лабораторна робота
Предмет:
Захист інформації в комп’ютерних системах
Варіант:
2 3 8 10 12 15 17

Частина тексту файла

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра ЕОМ Звіт з лабораторної роботи №6,7 з дисципліни:”Захист інформації в комп’ютерних системах ” на тему:” Сучасні комп’ютеризовані методи шифрування та дешифрування ві текстових повідомлень ” Львів 2019 / / / / Рис.1 Результат роботи програми Висновок:Під час виконання лабораторної роботи була розроблена програма,яка реалізує кодування шифру Хіла. Код програми #include "pch.h" #include<iostream> #include<math.h> #include<stdio.h> using namespace std; float encrypt[3][1], decrypt[3][1], a[3][3], b[3][3], mes[3][1], c[3][3]; void encryption(); void decryption(); void getKeyMessage(); void inverse(); int main() { getKeyMessage(); encryption(); decryption(); system("pause"); } void encryption() { int i, j, k; for (i = 0; i < 3; i++) for (j = 0; j < 1; j++) for (k = 0; k < 3; k++) encrypt[i][j] = encrypt[i][j] + a[i][k] * mes[k][j]; cout << "\nEncrypted string is: "; for (i = 0; i < 3; i++) cout << (char)(fmod(encrypt[i][0], 26) + 98); } void decryption() { int i, j, k; inverse(); for (i = 0; i < 3; i++) for (j = 0; j < 1; j++) for (k = 0; k < 3; k++) decrypt[i][j] = decrypt[i][j] + b[i][k] * encrypt[k][j]; cout << "\nDecrypted string is: "; for (i = 0; i < 3; i++) cout << (char)(fmod(decrypt[i][0], 26) + 98); cout << "\n"; } void getKeyMessage() { int i, j; char msg[4]; cout << "Enter 3x3 matrix for key (It should be inversible):\n"; for (i = 0; i < 3; i++) for (j = 0; j < 3; j++) { scanf_s("%f", &a[i][j]); c[i][j] = a[i][j]; } cout << "\nEnter a 3 letter string: "; cin >> msg; for (i = 0; i < 3; i++) mes[i][0] = msg[i] - 98; } void inverse() { int i, j, k; float p, q; for (i = 0; i < 3; i++) for (j = 0; j < 3; j++) { if (i == j) b[i][j] = 1; else b[i][j] = 0; } for (k = 0; k < 3; k++) { for (i = 0; i < 3; i++) { p = c[i][k]; q = c[k][k]; for (j = 0; j < 3; j++) { if (i != k) { c[i][j] = c[i][j] * q - p * c[k][j]; b[i][j] = b[i][j] * q - p * b[k][j]; } } } } for (i = 0; i < 3; i++) for (j = 0; j < 3; j++) b[i][j] = b[i][j] / c[i][i]; cout << "\n\nInverse Matrix is:\n"; for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) cout << b[i][j] << " "; cout << "\n"; } }
Антиботан аватар за замовчуванням

23.10.2019 20:10

Коментарі

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

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

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

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

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини