ння теоретичного матеріалу
В якості практичного використання теоретичного матеріалу був розглянутий і реалізований алгоритм складної заміни - шифр Гронсфельда.
Шифри складної заміни називають многоалфавитной, так як для шифрування кожного символу вихідного повідомлення застосовується свій шифр простої заміни. Шифр Гронсфельда теж многоалфавитной шифр - у ньому 10 варіантів заміни. Полягає в модифікації шифру Цезаря числовим ключем. Для цього під повідомленням пишуть ключ. Якщо ключ коротше повідомлення, то його повторюють циклічно. Шифровку отримують ніби в шифрі Цезаря, але відраховуючи необов'язково тільки третю букву за алфавітом, а ту, яка зрушена на відповідну цифру ключа. Шифр Гронсфелвда має масу модифікацій, які претендують на його покращення, від курйозних, на зразок запису тексту шифровки літерами іншого алфавіту, до неабияких, як подвійне шифрування різними ключами. Крім цих шифрів, найчастіше використовувався шифр простої заміни, що полягає в заміні кожної букви повідомлення на відповідну їй букву шифру. Такий шифр, популярний серед школярів, є простим кодом і розтин його можливо при довжині шифровки всього в 20-30 букв, а при довжинах тексту понад 100 символів являє собою дуже просту, але вельми захоплюючу задачу. p align="justify"> АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ
А АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ
Б _АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ
У Я_АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮ
Г ЮЯ_АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЪЭ
.......
Я ВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ_АБ
_ БВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ_А
Кожен рядок в цій таблиці відповідає одному шифру заміни начебто шифру Юлія Цезаря для алфавіту, доповненого пропуском. При шифруванні повідомлення його виписують в рядок, а під ним ключ. Якщо ключ виявився коротшим повідомлення, то його циклічно повторюють. Шифровку отримують, знаходячи символ у колонці таблиці за буквою тексту і рядку, що відповідає букві ключа. Цей дуже поширений вид шифру зберігся до наших днів. p align="justify"> У комп'ютері така операція відповідає додаванню кодів ASCII символів повідомлення і ключа по деякому модулю. Здається, що якщо таблиця буде складнішою, ніж циклічне зміщення рядків, то шифр стане надійніше. Це дійсно так, якщо її міняти частіше, наприклад, від слова до слова. Але складання таких таблиць, що представляють собою латинські квадрати, де кожна літера зустрічається в рядку або стовпці один раз, трудомістке і його варто робити лише на ЕОМ. Для ручного ж многоалфавитной шифру покладаються лише на довжину і складність ключа, використовуючи наведену таблицю, яку можна не тримат...