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

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

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

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

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

Рік:
2012
Тип роботи:
Лабораторна робота
Предмет:
Криптографічні системи та протоколи

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

Міністерство освіти і науки України Національний університет «Львівська Політехніка» Інститут комп’ютерних технологій автоматики та метрології Кафедра Безпеки Інформаційних Технологій  Звіт Про виконання лабораторної роботи № 1 “Криптографічні системи та протоколи” Львів 2012 Мета роботи: Вивчити основні характеристики шифрів підстановки і навчитися розробляти програмне забезпечення для реалізації алгоритмів шифрування з використанням шифрів підстановки на комп’ютері. Завдання: 1) Вивчити основні алгоритми шифрування, що використовують моноалфавітні та поліалфавітні підстановки. 2) Скласти блок-схеми алгоритмів та програму для реалізації шифру Плейфера. 3) Скласти блок-схеми алгоритмів та програму для реалізації зашифрування та розшифрування відкритого тексту величиною приблизно два аркуші формату А4 за допомогою шифру з автоключем і багатоконтурної системи Віженера з періодом n=5. Забезпечити введення ключа шифрування з клавіатури. Блок-схема: Остаточна версія програми: import java.util.Scanner; class laba{ public static void main(String[] args) { Scanner in = new Scanner(System.in);//Input code word System.out.println("Enter code word:"); String str = in.nextLine(); str=str.toLowerCase(); char[] vh=str.toCharArray(); int lens=str.length(); int k=0; M41: for(int i=0; i<lens; i++) { for (int j=i+1;j<lens;j++) { if (vh[i]==vh[j]|(int)vh[i]<96|(int)vh[i]>122) { k++; continue M41; } } } int len=lens-k; char [] ch=new char [len]; k=1; ch[0]=vh[0]; MP: for(int i=1;;i++) { for(int j=0;j<i;j++) { if (k==len) break MP; if (vh[i]==vh[j]|(int)vh[i]<96|(int)vh[i]>122) continue MP; if (j==i-1) { ch[k]=vh[i]; k++; } } } if(len>25)//Check the maximum number of code { System.out.println("Err key"); return; } for(int i=0;i<len;i++)//Change j - i { if((int)ch[i]==106) ch[i]--; } for(int i=97;i<123;i++)//Check duality { int kilk=0; for(int j=0;j<len;j++) { if ((int)ch[j]==i) { kilk++; if (kilk>1) { System.out.println("Err key"); return; } } } } int [][] mach=new int [5][5]; int i=0; k=0; for(int j=0;j+i*5<len;j++)//Code to the array { if (ch[k]==106) ch[k]=105; if(ch[k]>10+96) mach[i][j]=ch[k]-97; else mach[i][j]=ch[k]-96; k++; if(j==4) { j=-1; i++; } } if (len!=25)//Check code=25 { ///////////////////////////////////////////////////////////////////// for(int buk=1;buk<27;buk++)//Insert letters to array M1: { if (i>4) break; i=0; for(int j=0;j<5;j++) { if(mach[i][j]==0) { mach[i][j]=buk; break M1; } else if(mach[i][j]==buk) break M1; if(j==4) { i++; j=-1; if (i>4) break M1; } } } } ///////////////////////////////////////////////////////////////////// Scanner inn = new Scanner(System.in);//Input text System.out.println("Vvedit text povidomlennja:"); String tex = inn.nextLine(); tex=tex.toLowerCase(); lens=tex.length(); char[] texc=tex.toCharArray(); ////////////////////////////////////////////////////////////////////// int inwi=0; M41: for(i=0; i<lens; i++) { // for (int j=i+1;j<lens;j++) // { if ((int)texc[i]<96|(int)texc[i]>122) { inwi++; continue M41; } // } } int lental=lens; int lent=lens-inwi; ////////////////////////////////////////////////////////////////////// for(i=0;i<lental;i++)//Change j - i { if(texc[i]==106) texc[i]--; else if(texc[i]>105) texc[i]--; } //////////////////////////////////////////////////////////////////////// int podv=0;//Check duality for(i=0;i<lental-1;i++) { if(texc[i]==texc[i+1]) { podv++; if(i>lental-1) { if(texc[i+1]==texc[i+2]) { podv++; i++; } } } else if(texc[i+1]<96|texc[i+1]>122) { if(texc[i+1]==lental) continue; if(texc[i]==texc[i+2]) { podv++; i...
Антиботан аватар за замовчуванням

19.01.2013 18:01

Коментарі

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

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

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

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

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

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

Admin

26.02.2019 12:38

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

Новини