2.6.1 Шифр простої заміни
У шифрі простої заміни кожен символ вихідного тексту замінюється символом з того ж алфавіту однаково на всьому протязі тексту. При цьому є деяка таблиця відповідностей (або будь-яка інша структура), яка описує пари символів (а, b): а - замінний символ шифруемого повідомлення, b - символ, на який замінюється а, причому встановлюється взаимнооднозначное відповідність. Часто шифри простої заміни називають шифрами одноалфавітной підстановки.
Розшифровка шифру простої заміни дуже проста і полягає в зворотному підстановці b на a.
Нехай необхідно зашифрувати текст «Секретність ключа».
Шифр простої заміни. Виберемо алфавіт підстановки для шифру простої заміни, довільно записавши пару для кожної є повторюваною букви шифруемого повідомлення:
2.6.2 Шифр Цезаря
Шифр Цезаря є окремим випадком шифру простої заміни. При шифруванні вихідного тексту кожна буква замінюється на іншу букву того ж алфавіту шляхом зміщення за алфавітом від вихідної букви на k букв. При досягненні кінця алфавіту виконується циклічний перехід до його початку.
Розглядаючи алфавіт криптосистеми як безліч цілих Zm, ми можемо записати функцію шифрування Е (х) для деякого k в шифрі Цезаря як:
Е (x) = (x + k) mod m, для будь-якого х належить Zm,
де x - числовий код букви відкритого тексту; x + k -чісловой код відповідної букви шифротекста; m - кількість букв в алфавіті (його потужність).
Очевидно, що функція дешифрування D (x) для деякого k записується як:
D (x) = (x + m-k) mod m, для будь-якого x належить Zm,
Операція складання по модулю m, полягає в наступному: якщо результат операції більше m, то від результату необхідно віднімати т до тих пір, поки не вийде число менше або дорівнює модулю m. Тобто якщо шифрується буква «Е», x для якої дорівнює 30, і k вибрано рівним 10, результат складання по модулю 32 (потужність російського алфавіту) дорівнює 8 ((30 + 10) mod 32 = 40 mod 32 = 40-32 = 8, що менше 32).
Нехай необхідно зашифрувати повідомлення: «Секретність ключа». Виберемо k = 10. Заповнимо таблицю:
Перший рядок являє собою шіфруемого повідомлення. Другий рядок - порядкові номери букв вихідного повідомлення в алфавіті. Символи третього рядка отримані із символів другої шляхом додавання до них k = 10. Четвертий рядок містить символи третьої взяті за модулем. П'ята представляє собою результуючу шифровку.
Розшифровка полягає в наступному. Виписується шифротекст і порядкові номери його символів в алфавіті. Від кожного номера символу віднімається k = 10. Якщо результат операції вийшов негативний, необхідно додати значення модуля m. Після чого треба перевести отримані позитивні коди в повідомлення, що дасть нам вихідну посилку.
Також зустрічається багато алфавітний шифр Цезаря. На відміну від простого, він утворюється безліччю одноалфавітних підстановок, що визначаються функціями шифрування Е (х) для різних значень ключа k, причому 0 2.6.3 Шифр Цезаря з ключовим словом Особливістю цього шифру є використання ключового слова для зміщення і зміни порядку символів в алфавіті підстановки. Алгоритм шифрування виглядає наступним чином. Виписується алфавіт. Потім під літерами алфавіту записується ключове слово, починаючи з букви, числовий код якої збігається з обраним числом k. Для дотримання правила взаємооднозначної відповідності необхідно, щоб всі букви ключового слова були різні (якщо це не так, можна виключити повторювані). Букви алфавіту підстановки, які не ввійшли в ключове слово, записуються після ключового слова в алфавітному порядку. Виходить підстановка для кожної літери довільного повідомлення. Нехай необхідно зашифрувати текст: «Секретність ключа». Виберемо для шифрування ключ «Криптографія». Зашифрований текст: «ЛОБЙОМЕЖЛМИ БВЕЦК» Завдання по темі «Захист інформації» Написати програму, що дозволяє зашифрувати своє прізвище, ім'я та по батькові, записані через пропуск (російськими або латинськими літерами) з використанням заданого в Вашому варіанті методу шифрування і потім розшифрувати. Вивести у вихідний файл вихідний текст, що підлягає шифруванню, зашифроване повідомлення, розшифрований текст, а також іншу інформацію, яка пояснює процес шифрування (ключі, таблиці і т.п.).Схожі статті