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

З В І Т

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» З В І Т до лабораторної роботи №4 з навчальної дисципліни: «Криптографія і стеганографія» Львів – 2013 Завдання Скласти блок-схему алгоритму та програму мовою C# для реалізації шифру RSA в межах символів таблиці ASCII. Короткі теоретичні відомості Генерування ключів. Вибирають два досить великі прості числа p і q. Для їх добутку n=pq значення функції Ейлера дорівнює φ(n)=(p-1)(q-1) = n-p-q+1. Далі випадковим чином вибирають елемент e, що не перевищує значення φ(n) і взаємно простий з ним. Для eза алгоритмом Евкліда знаходять елемент d, обернений до e, такий, що d<φ(n) і: ed= 1(mod φ(n)). Як результат покладають: відкритий ключ e,n. Таємний ключ: d. Шифрування відбувається блоками. Для цього повідомлення записують у цифровій формі і розбивають на блоки так, що кожен блок позначає число, яке не перевищує n. Алгоритм шифрування E у системі RSA полягає у піднесенні блока M до степеня e. В результаті отримується блок криптотексту C=E(M). Алгоритм дешофрування D блоку криптотексту C полягає у піднесенні C до степеня d. Блок–схема шифру Етап шифрування Етап розшифрування Лістинг програми using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using System.Collections; namespace Lab1__AutoKey_ { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void openToolStripMenuItem_Click(object sender, EventArgs e) { try { FileStream fs = null; OpenFileDialog ofd = new OpenFileDialog(); ofd.InitialDirectory = "c:\\"; ofd.Filter = "txt (*.txt)|*.txt|All files (*.*)|*.*"; ofd.FilterIndex = 1; ofd.RestoreDirectory = true; if (ofd.ShowDialog() == DialogResult.OK) { try { fs = new FileStream(ofd.FileName, FileMode.Open); } catch (FileNotFoundException ex) { MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } fs.Close(); textBox_input.Text = File.ReadAllText(ofd.FileName, Encoding.ASCII); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void exitToolStripMenuItem_Click(object sender, EventArgs e) { Application.Exit(); } ArrayList all = new ArrayList(); // пошук НСД public double NSDil(double a, double b) { double bp; int q; q = 1; for (int i = 1; ; i++) { if (b > 0) { bp = b; b = a % bp; q = (int)(a / bp); all.Add(q); a = bp; } else break; } return a; } //пошук оберненого числа, розширений Евкліда public double ReverseNum(double a, double b) { double u, un, up, v, vn, vp; up = 1; u = 0; vp = 0; v = 1; vn = 0; if (NSDil(a, b) != 1) return 0; else { double[] q = new double[all.Count]; for (int i = 0; i < all.Count; i++) q[i] = Convert.ToDouble(all[i]); ...
Антиботан аватар за замовчуванням

18.09.2013 12:09

Коментарі

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

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

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

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

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

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

Admin

26.02.2019 12:38

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

Новини