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

Криптоаналіз

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

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

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

Рік:
2018
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Захист інформації в комп’ютерних системах

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

Міністерство освіти і науки Національний університет „Львівська політехніка” Кафедра EОМ Звіт з лабораторної роботи № 3 з дисципліни: “ Захист інформації в комп’ютерних системах ” Криптоаналіз шифрів моноалфавітної заміни 2018 Тема: Криптоаналіз шифрів моноалфавітної заміни Мета: Ознайомитись з основними методами, що використовуються для криптоаналізу шифрів моноалфавітної заміни та , зокрема, з основами частотного аналізу зашифрованого тексту. Завдання: Отримати у викладача згідно з варіантом приклад текстового файлу, зашифрованого шифром Цезаря. Створити програму, що реалізує метод крипто аналізу на основі частотного аналізу шифрованого тексту. Хід роботи: Код реалізації алгоритму package sample; import com.sun.org.apache.xml.internal.security.algorithms.JCEMapper; import javafx.scene.control.Alert; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; public class Translator { public static String getOriginalText(String text){ text = text.toUpperCase(); Map<Character, Double> allAbbetproc = new HashMap<>(); allAbbetproc.put('А',0.064); allAbbetproc.put('Б',0.013); allAbbetproc.put('В',0.045); allAbbetproc.put('Г',0.013); allAbbetproc.put('Д',0.027); allAbbetproc.put('Е',0.042); allAbbetproc.put('Є',0.005); allAbbetproc.put('Ж',0.007); allAbbetproc.put('З',0.020); allAbbetproc.put('И',0.055); allAbbetproc.put('І',0.044); allAbbetproc.put('Ї',0.011); allAbbetproc.put('Й',0.010); allAbbetproc.put('К',0.039); allAbbetproc.put('Л',0.032); allAbbetproc.put('М',0.034); allAbbetproc.put('Н',0.068); allAbbetproc.put('О',0.100); allAbbetproc.put('П',0.025); allAbbetproc.put('Р',0.025); allAbbetproc.put('С',0.037); allAbbetproc.put('Т',0.052); allAbbetproc.put('У',0.027); allAbbetproc.put('Ф',0.004); allAbbetproc.put('Х',0.013); allAbbetproc.put('Ц',0.012); allAbbetproc.put('Ч',0.012); allAbbetproc.put('Ш',0.006); allAbbetproc.put('Щ',0.004); allAbbetproc.put('Ь',0.018); allAbbetproc.put('Ю',0.009); allAbbetproc.put('Я',0.021); text = text.toUpperCase(); Map<Character, Double> Counter = new HashMap<>(); int lenght = 0; for (int i = 0; i < text.length(); i++) { if(Character.isAlphabetic(text.charAt(i))) { Counter.putIfAbsent(text.charAt(i), 0.0); Counter.put(text.charAt(i), Counter.get(text.charAt(i)) + 1); lenght++; } } for (Map.Entry<Character, Double> entry : Counter.entrySet()) { Counter.put(entry.getKey(), entry.getValue() / (double) lenght); } StringBuilder result = new StringBuilder(); for (Map.Entry<Character, Double> entry : Counter.entrySet()) { result.append(entry.getKey() + " " + entry.getValue() + '\n'); } Alert alert = new Alert(Alert.AlertType.INFORMATION); alert.setTitle("Stat"); alert.setHeaderText(null); alert.setContentText(result.toString()); alert.show(); StringBuilder sapmle = new StringBuilder(); String etalon = "оанвиіетклрсудмпбгзяєжїйхцчшщьюф"; Map<Character, Character> resultTable = new HashMap<>(); Counter.entrySet().stream() .sorted(Map.Entry.<Character, Double>comparingByValue().reversed()) .forEach(e -> sapmle.append(e.getKey())); System.out.println(sapmle); for (int i = 0; i != etalon.length(); i++) { resultTable.put(sapmle.charAt(i), etalon.charAt(i)); //text = text.replace(entry.getKey(), tryentry.getKey()); ...
Антиботан аватар за замовчуванням

24.11.2018 18:11

Коментарі

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

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

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

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

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

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

Admin

26.02.2019 12:38

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

Новини