![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Хід роботи. Міністерство освіти і науки
Міністерство освіти і науки Львівський національний університет імені Івана Франка
Звіт про виконання лабораторної роботи № 3 на тему: «Програмна реалізація алгоритму шифрування за методом Цезаря»
Виконав студент групи ФеІ - 31 факультету електроніки Рібейро Лузіміра
Львів — 2015 Мета роботи: Реалізувати на практиці алгоритм шифрування текстової інформації за методом Теоретичні відомості Шифр Цезаря, також відомий як шифр зсуву, код Цезаря або зсув Цезаря - один з найпростіших і найбільш широко відомих методів шифрування. Шифр Цезаря - це вид шифру підстановки, в якому кожен символ у відкритому тексті замінюється буквою, що знаходиться на деяке постійне число позицій лівіше або правіше нього в алфавіті. Наприклад, у шифрі зі зрушенням З А була б замінена на Г, Б стане Д, і так далі. Шифр названий на честь римського імператора Гая Юлія Цезаря, який використав його для секретного листування зі своїми генералами. Шифр Цезаря може бути легко розшифрований навіть у випадку, коли криптоаналітик знає тільки зашифрований текст. Можна розглянути дві ситуації: • криптоаналітик знає (або припускає), що використовувався простий шифр підстановки, але не знає, що це - схема Цезаря; • криптоаналітик знає, що використовувався шифр Цезаря, але не знає значення зсуву. У першому випадку шифр може бути зламаний, використовуючи ті ж самі методи що й для простого шифру підстановки, такі як частотний аналіз і т. д, Використовуючи ці методи криптоаналітик, ймовірно, швидко помітить регулярність у вирішенні і зрозуміє, що використовуваний шифр - це шифр Цезаря. У другому випадку, злом шифру є навіть більш простим. Існує не так багато варіантів значень зсуву (26 для англійської мови), всі вони можуть бути перевірені методом грубої сили. Один зі способів зробити це - виписати уривок зашифрованого тексту в стовпець всіх можливих зрушень - техніка, іноді звана як «завершення простого компонента». Інший спосіб застосування цього методу - це написати алфавіт під кожною буквою зашифрованого тексту, починаючи з цієї букви. Метод може бути прискорений, якщо використовувати заздалегідь підготовлені смужки з алфавітом. Для цього потрібно скласти смужки так, щоб в одному рядку утворився зашифрування текст, тоді в деякій іншій рядку ми побачимо відкритий текст. Хід роботи Створена за допомогою мови програмування C# програма шифрування текстової інформації працює за таким алгоритмом: · спочатку йде запит до користувача про дію, яку він хоче виконати: шифрувати чи розшифровувати інформацію; · йде прив’зка до двох файлів: 1 – файл, що містить інформацію, яку необхідно зашифрувати; 2 – файл, куди записано інформацію вже в зашифрованому вигляді (адреси цих файлів користувач програми повинен сам ввести з клавіатури, коли буде відповідний запит); · йде запит до користувача про довжину ключа (ключ являє собою кількість символів, на які буде зсунуто ASCII код кожного з символів); · програма зчитує початковий файл з текстом, розбиває кожний прочитаний рядок на символи, перетворює їх в ASCII коди, додає до ASCII кодів довжину ключа, перетворює утворені ASCII коди назад у символи і записує їх у файл у зашифрованому тексті. У випадку розшифрування все відбувається аналогічно, лише з однією відмінністю: замість додавання ключа до ASCII кода програма віднімає його. Внаслідок цього ми одержуємо вихідний текст у розшифрованому вигляді. Виконання завдання: Вигляд початкової інформації: Виконання програми:
Вміст файлу шифр:
Щоб розшифрувати, робимо все у зворотньому порядку:
Вміст файлу «Розкодований текст»:
Висновок: під час виконання лабораторної роботи була написана програма шифрування\дешифрування шифром Цезаря. Програма була написана на мові програмування C#.
|