ДОСЛІДЖЕННЯ КРИПТОАЛГОРИТМУ ШИФРУВАННЯ RSA

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

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

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

Рік:
2011
Тип роботи:
Лабораторна робота
Предмет:
Інші

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

Міністерство освіти і науки, молоді та спорту України ІФНТУНГ Кафедра КСМ Лабораторна робота №7 ДОСЛІДЖЕННЯ КРИПТОАЛГОРИТМУ ШИФРУВАННЯ RSA 2011 р. Мета роботи: дослідження структури алгоритму і методики практичної реалізації криптосистеми шифрування RSA ПОРЯДОК ВИКОНАННЯ РОБОТИ 1 Розробити алгоритм для кодування та написати програму кодування з ключем k[0]-k[3] (використання 4-х ключів обумовлено тим, що для кодування другої половини даних (Z) використовуються ключі k[2] та k[3] для підвищення стійкості криптоалгоритму кодування), для даних, що знаходяться в z, y. Параметри: Довжина ключа - 128 біт Кількість ітерацій – 16 (кожна ітерація включає в себе 2 раунди). 2 На основі алгоритму кодування розробити алгоритм для декодування та написати програму декодування даних на будь-якій із мов програмування. Порядок виконання роботи відповідає наведеній нижче криптосистемі шифрування даних за схемою RSA. Код програми: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Numerics; using System.Windows.Forms; namespace WindowsFormsApplication45 { public partial class Form1 : Form { private string kod; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Random rnd = new Random(); BigInteger p = new BigInteger(61); Console.WriteLine("p = " + p); BigInteger q = new BigInteger(53); Console.WriteLine("q = " + q); BigInteger n = p * q; BigInteger fi = (p - 1) * (q - 1); BigInteger e1 = new BigInteger(17); Console.WriteLine("e = " + e); BigInteger d = e1.modInverse(fi); Console.WriteLine("d = " + d); List<BigInteger> original = new List<BigInteger>(); List<BigInteger> encripted = new List<BigInteger>(); List<BigInteger> decripted = new List<BigInteger>(); foreach (char c in richTextBox1.Text) original.Add(new BigInteger((int)c)); Console.WriteLine("Шифр:"); for (int ii = 0; ii < original.Count; ii++) { encripted.Add(original[ii].modPow(e1, n)); richTextBox2.AppendText(encripted[ii].ToString()); } for (int ii = 0; ii < original.Count; ii++) { decripted.Add(encripted[ii].modPow(d, n));} int ll; StringBuilder decripted_text = new StringBuilder(); foreach (BigInteger x in decripted) { ll = Convert.ToInt32(x.ToString()); decripted_text.Append((char)ll); } richTextBox3.AppendText(decripted_text.ToString()); } } private void button2_Click(object sender, EventArgs e) { richTextBox1.Text = Decrypt(kod, textBox1.Text); } } } Результат:  Висновок: На даній лабораторній роботі я дослідила дослідити роботу криптоалгоритму шифрування RSA. .
Антиботан аватар за замовчуванням

08.04.2013 00:04-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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