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

Потоковий шифр на основі генератора BBS

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

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

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

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

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

Міністерство освіти і науки, молоді та спорту України Національний університет «Львівська Політехніка» Звіт Про виконання лабораторної роботи №1 з курсу «Прикладна криптологія» на тему «Потоковий шифр на основі генератора BBS» Перевірив: Петришин А.В. Львів – 2012 Мета: Створити потоковий шифр з використанням програмного генератора псевдовипадкових послідовностей BBS. Завдання: Скласти програму, яка б реалізовувала шифрування та розшифрування на основі генератора BBS. Код програми на мові JavaScript: <html><head><title>asdf</title></head> <body><form name="asdf"><input type=text name="text"><br> p = <input type=text name="pq"> <span class="key" id="1"></span><br> q = <input type=text name="qp"> <span class="key" id="2"></span><br> x = <input type=text name="xp"> <span class="key" id="3"></span><br> <input type="button" value="Зашифрувати" onclick='Encrypt();'> <input type="button" value="Розшифрувати" onclick='Decrypt();'> </form><script> function Encrypt( ){var text = document.asdf.text.value.toLowerCase(); var cryptotext=""; var mass = new Array( 101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191, 193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283, 293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401, 409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509, 521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631, 641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751, 757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877, 881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997); p = Math.floor(Math.random()*900)+100; while (p%4!=3) p++; q = Math.floor(Math.random()*900)+100; while (q%4!=3) q++; var x=0; do {x = Math.floor(Math.random()*143); x=mass[x];} while ((x==p)||(x==q)); var n = p * q; var p_span = document.getElementById(1); var q_span = document.getElementById(2); var x_span = document.getElementById(3); q_span.innerHTML = q; p_span.innerHTML = p; x_span.innerHTML = x; text=Convert(text);for(i=0;i<text.length;i++) {x=(x*x)%n; s=x%2; cryptotext+=(text.charAt(i)*1+s*1)%2+"";}m="";text="";for(i=0;i<cryptotext.length;i++) {m+=cryptotext.charAt(i); if(m.length==5) {text+=n2l(m);m="";}}alert(text);} function Decrypt( ){var p=document.asdf.pq.value; var q=document.asdf.qp.value;var x=document.asdf.xp.value; var n=p*q;var text=document.asdf.text.value.toLowerCase(); var text=Convert(text);var cryptotext="";var m=""; for(i=0;i<text.length;i++) {x=(x*x)%n; s=x%2; cryptotext+=(text.charAt(i)*1+s*1)%2+"";} text="";for(i=0;i<cryptotext.length;i++) {m+=cryptotext.charAt(i); if(m.length==5) {text+=n2l(m);m="";}}alert(text);} function Convert(a){var b = "";for(i=0;i<a.length;i++) {b+=l2n(a.charAt(i));}return b;} function l2n(l){switch (l) { case 'а': return '00000'; break;case 'б': return '00001'; break;case 'в': return '00010'; break; case 'г': return '00011'; break;case 'д': return '00100'; break;case 'е': return '00101'; break; case 'є': return '00110'; break;case 'ж': return '00111'; break;case 'з': return '01000'; break; case 'и': return '01001'; break;case 'і': return '01010'; break;case 'ї': return '01011'; break; case 'й': return '01100'; break;case 'к': return '01101'; break;case 'л': return '01110'; break; case 'м': return '01111'; break;case 'н': return '10000'; break;case 'о': return '10001'; break; case 'п': return '10010'; break;case 'р': return '10011'; break;case 'с': return '10100'; break; case 'т': return '10101'; break;case 'у': return '10110'; break;case 'ф': return '10111'; break; case 'х': return '11000'; break;case 'ц': return '11001'; break;case 'ч': return '11010'; break; case 'ш': return '11011'; break;case 'щ': return '11100'; break;case 'ь': return '11101'; break; case 'ю': return '11110'; break;case 'я': return '11111'; break;default: return "";}} function n2l(n){switch (n) { case '00000': return 'а'; break;case '00001': return 'б'; break;case '00010': return 'в'; break; case '00011': return 'г'; break;case '00100': return 'д'; break;case '00101': return 'е'; break; case '00110': return 'є'; break;case '00111': return 'ж'; break;case '01000': return 'з'; break; case '01001': return 'и'; break;case '01010': return 'і'; break;case '01011': return 'ї'; break; case '01100': return 'й'; break;case '01101': return 'к'; break;case '01110': return 'л'; break; case '01111': return 'м'; break;case '10000': return 'н'; break;case '10001': return 'о'; break; case '10010': return 'п'; break;case '10011': return 'р'; break;case '10100': return 'с'; break; case '10101': return 'т'; break;case '10110': return 'у'; break;case '10111': return 'ф'; break; case '11000': return 'х'; break;case '11001': return 'ц'; break;case '11010': return 'ч'; break; case '11011': return 'ш'; break;case '11100': return 'щ'; break;case '11101': return 'ь'; break; case '11110': return 'ю'; break;case '11111': return 'я'; break;default: return "";}} </script></body></html> Результати роботи програми. Зашифровка тексту:  Розшифровка тексту:  Висновок. Я ознайомився з принципом роботи потокових шифрів і програмно реалізував такий шифр, що використовує генератор ключів на основі алгоритму BBS. Програма перетворює вхідне повідомлення таким чином: 32 букви укр. алфавіту (г = ґ) приводяться до нижнього регістру і перетворюються у 5-бітові послідовності, а всі знаки, символи, цифри і пробіли ігноруються.
Антиботан аватар за замовчуванням

24.01.2013 00:33

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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