Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Хід роботи. Міністерство освіти і науки






Міністерство освіти і науки

Львівський національний університет імені Івана Франка

 

 

Звіт

про виконання лабораторної роботи № 3

на тему: «Програмна реалізація алгоритму шифрування за методом Цезаря»

 

 

Виконав студент

групи ФеІ - 31

факультету електроніки

Рібейро Лузіміра

 

Львів — 2015

Мета роботи: Реалізувати на практиці алгоритм шифрування текстової інформації за методом

Теоретичні відомості

Шифр Цезаря, також відомий як шифр зсуву, код Цезаря або зсув Цезаря - один з найпростіших і найбільш широко відомих методів шифрування.

Шифр Цезаря - це вид шифру підстановки, в якому кожен символ у відкритому тексті замінюється буквою, що знаходиться на деяке постійне число позицій лівіше або правіше нього в алфавіті. Наприклад, у шифрі зі зрушенням З А була б замінена на Г, Б стане Д, і так далі.

Шифр названий на честь римського імператора Гая Юлія Цезаря, який використав його для секретного листування зі своїми генералами.

Шифр Цезаря може бути легко розшифрований навіть у випадку, коли криптоаналітик знає тільки зашифрований текст. Можна розглянути дві ситуації:

• криптоаналітик знає (або припускає), що використовувався простий шифр

підстановки, але не знає, що це - схема Цезаря;

• криптоаналітик знає, що використовувався шифр Цезаря, але не знає значення зсуву.

У першому випадку шифр може бути зламаний, використовуючи ті ж самі методи що й для простого шифру підстановки, такі як частотний аналіз і т. д, Використовуючи ці методи криптоаналітик, ймовірно, швидко помітить регулярність у вирішенні і зрозуміє, що використовуваний шифр - це шифр Цезаря.

У другому випадку, злом шифру є навіть більш простим. Існує не так багато варіантів значень зсуву (26 для англійської мови), всі вони можуть бути перевірені методом грубої сили. Один зі способів зробити це - виписати уривок зашифрованого тексту в стовпець всіх можливих зрушень - техніка, іноді звана як «завершення простого компонента».

Інший спосіб застосування цього методу - це написати алфавіт під кожною буквою зашифрованого тексту, починаючи з цієї букви. Метод може бути прискорений, якщо використовувати заздалегідь підготовлені смужки з алфавітом. Для цього потрібно скласти смужки так, щоб в одному рядку утворився зашифрування текст, тоді в деякій іншій рядку ми побачимо відкритий текст.

Хід роботи

Створена за допомогою мови програмування C# програма шифрування текстової інформації працює за таким алгоритмом:

· спочатку йде запит до користувача про дію, яку він хоче виконати: шифрувати чи розшифровувати інформацію;

· йде прив’зка до двох файлів: 1 – файл, що містить інформацію, яку необхідно зашифрувати; 2 – файл, куди записано інформацію вже в зашифрованому вигляді (адреси цих файлів користувач програми повинен сам ввести з клавіатури, коли буде відповідний запит);

· йде запит до користувача про довжину ключа (ключ являє собою кількість символів, на які буде зсунуто ASCII код кожного з символів);

· програма зчитує початковий файл з текстом, розбиває кожний прочитаний рядок на символи, перетворює їх в ASCII коди, додає до ASCII кодів довжину ключа, перетворює утворені ASCII коди назад у символи і записує їх у файл у зашифрованому тексті.

У випадку розшифрування все відбувається аналогічно, лише з однією відмінністю: замість додавання ключа до ASCII кода програма віднімає його. Внаслідок цього ми одержуємо вихідний текст у розшифрованому вигляді.

Виконання завдання:

Вигляд початкової інформації:

Виконання програми:

 

Вміст файлу шифр:

 

Щоб розшифрувати, робимо все у зворотньому порядку:

 

 

Вміст файлу «Розкодований текст»:

 

Висновок: під час виконання лабораторної роботи була написана програма шифрування\дешифрування шифром Цезаря. Програма була написана на мові програмування C#.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.