UTILS.
100% у браузері
🏛️

Шифр стовпцевої перестановки

Стовпцева перестановка за ключовим словом: заповнюєте сітку по рядках, потім зчитуєте стовпці в алфавітному порядку літер ключового слова. Повний або неповний варіант.

— результат з’явиться тут —

Про цей інструмент

Інструмент шифру стовпцевої перестановки — це безкоштовний браузерний кодувальник і декодувальник для шифру перестановки на основі ключового слова, який історично використовували армії, а нині поширений у CTF. Відкритий текст пишеться зліва направо в сітку, ширина якої дорівнює довжині ключового слова. Кожен стовпець потім нумерується за алфавітним рангом літери ключового слова над ним — рівність розв’язується зліва направо — і шифротекст утворюється зчитуванням стовпців у порядку зростання рангу. Наприклад, для ключового слова ZEBRAS першим зчитується стовпець A, потім B, потім E, R, S, Z.

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

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

Поширені запитання

Як обирається порядок зчитування стовпців?
Кожен стовпець ранжується за алфавітним порядком літери ключового слова над ним, з рівністю, розв’язаною зліва направо. Стовпці потім зчитуються від найнижчого рангу до найвищого. Для ZEBRAS порядок такий: A, B, E, R, S, Z.
У чому різниця між повним і неповним?
Повний доповнює останній рядок символом доповнення, тож усі стовпці однакової висоти; неповний лишає останній рядок нерівним без доповнення. Декодування враховує нерівну довжину стовпців у неповному варіанті.
Для чого потрібен символ доповнення?
У повному варіанті він заповнює будь-які порожні комірки в останньому рядку, тож кожен стовпець має однакову кількість літер. Це має бути літера, малоймовірна в повідомленні, як-от X; вона обрізається під час декодування.
Чи має значення написання ключового слова, чи лише його літери?
Значення має лише алфавітний порядок літер, тож ключові слова з тим самим відсортованим набором літер дають ту саму перестановку. Повторювані літери ранжуються зліва направо в порядку їхньої появи.

Більше інструментів