Шифр вертикальної перестановки.
Шифри перестановки.
Теорема. Підстановки подібні в тім і тільки тім випадку, коли їхні циклові структури однакові.
Розв’язок рівняння подоби полягає в наступному.
1. Записуємо в цикловій формі.
2. Якщо циклові структури не однакові, то розв’язків немає.
3. Підписуємо циклові записи підстановок друг під другом таким чином, щоб під кожним циклом з’явився цикл рівної довжини.
4. У кожній групі циклів однакової довжини, в одному з рядків, скажемо нижньому, довільно переставляємо цикли місцями. При кожній конфігурації розташування циклів у групі, кожен цикл незалежно від інших виписуємо з кожного місця. Перетворення робимо з кожною групою циклів незалежно.
Кожна з множини отриманих дворядкових записів (підстановок) є розв’язком рівняння подібності.
Відмінність цього типу шифра від шифрів заміни полягає в тому, що при зашифруванні буква відкритого тексту переходить не у фіксований знак алфавіту, а в іншу букву того ж відкритого тексту, скажемо , у результаті чого букви розташовуються на нових місцях, тобто переставляються. Ключом для даного шифра служить таблиця заміни індексів (номерів місць) елементів тексту. У загальному випадку розмір таблиці заміни дорівнює довжині відкритого тексту. Такі таблиці зручно формувати (і записувати) у вигляді підстановок.
Припустимо, що номера букв відкритого тексту довжиною в N знаків розбито якимось чином на множини , що не перетинаються. Впливаючи на кожну множину своєю підстановкою (циклом) , ми реалізуємо процес зашифрування шифром перестановки, причому підстановка, що відповідає шифрперетворенню, дорівнює . Змінюючи розбиття множини індексів і вибираючи різними способами відповідні підстановки , ми будемо одержувати різні перетворення відкритого тексту виду . Рано чи пізно, ми побудуємо всі підстановки ступеня N, оскільки будь-яка підстановка розкладається в добуток циклів. Звідси випливає, що вдалий спосіб генерації підстановок міг би, у принципі, забезпечити досить якісний шифр перестановки, при якому використовувалися би підстановки ступеня меншої, чим довжина відкритого тексту. Саме способами генерації підстановок і розрізняються різні види шифрів перестановки.
Відкритий текст: "В связи с создавшимся положением отодвигаем сроки возвращения домой Рамзай ".
Для зашифрування побудуємо прямокутну таблицю, кількість рядків якої визначається довжиною тексту, а кількість колонок дорівнює шести. Як ключове слово, «гасло», виберемо слово «ЗАПИС» (кількість букв у гаслі повинне дорівнювати кількості стовпчиків у нашій таблиці). Замінимо тепер кожну букву ключового слова на число від 1 до 6 таким чином, щоб буква, що має менший номер проходження в алфавіті, замінялася на менше число. Одержимо ключ: (2,1,4,3,5,6). Елементи ключа проставимо як нові номера колонок. Впишемо відкритий текст у таблицю, переходячи звичайним образом з рядка на рядок. У результаті одержимо:
в | с | в | я | з | и |
с | с | о | з | д | а |
в | ш | и | м | с | я |
п | о | л | о | ж | е |
н | и | е | м | о | т |
о | д | в | и | г | а |
е | м | с | р | о | к |
и | в | о | з | в | р |
а | щ | е | н | и | я |
д | о | м | о | й | р |
а | м | з | а | й |
Випишемо тепер букви по стовпцях, відповідно до їхніх нових номерів. У підсумку, одержимо наступний шифротекст: