Шифърът на заместването е вид криптография, при който всяка буква от оригиналния текст се заменя с друга буква според фиксирано правило. Това правило може да бъде проста таблица за заместване или алгоритъм (например преместване с няколко позиции в азбуката). В резултат се получава шифрован текст, в който формата на думите и буквите е променена, но дължината на съобщението обикновено остава същата.

При най-простия вид — моноалфавитен заместващ шифър — едно и също правило се прилага за всяка поява на дадена буква. Например при класическия Шифърът на Цезар всяка буква се измества с фиксиран брой позиции: при преместване с 3 "A" става "D", "B" става "E" и т.н. Пример на латински: "HELLO WORLD" → "KHOOR ZRUOG" (преместване +3). Същата идея може да бъде прилагана и върху кирилската азбука.

Видове заместващи шифри

  • Моноалфавитни (една и съща замяна за цялото съобщение) — най-простите и най-податливи на атаки.
  • Хомофонни — една буква от открития текст може да се замени с няколко възможни символа в шифротекста, за да се размаже честотата.
  • Полиафавитни (например Виженер) — използват се множество различни заместващи азбуки последователно, което значително затруднява честотния анализ.
  • Полиографни (например Playfair) — замяната се прави на блокове от букви (диграми, триграми), а не на отделни букви.

Защо заместващите шифри са слаби

В повечето съвременни случаи простите заместващи шифри не са достатъчно сигурни за защита на чувствителна информация. Основната причина е, че статистическите характеристики на езика (честота на буквите, типични кратки думи, характерни двойки/trigrams) се запазват при заместването — само символите са „преименувани”. Това позволява прилагането на честотен анализ за възстановяване на правилото на заместване.

Честотен анализ — как работи

Идеята на честотния анализ е да сравни статистиката на шифрования текст с очакваната статистика на езика, на който е писано оригиналното съобщение. Няколко практични стъпки:

  • Съберете честота: пребройте появите на всяка буква в шифротекста и ги подредете от най-чести към най-редки.
  • Сравнете с езикови честоти: всяко езиково семейство има характерни най-чести букви — например в английския най-често срещаните букви са E, T, A и т.н.; в българския език най-чести обикновено са О, Е, А, Т, Н, И (редът може да варира според корпуса).
  • Потърсете единични и кратки думи: в английския единичните букви обикновено са "A" или "I"; в българския — "и", "в", "с" и т.н. Това дава подсказки за конкретни замени.
  • Разпознаване на моделите: често срещани бигони и триграми (например "TH", "ER", "ING" на английски) и повтарящи се последователности помагат да се локализират съответствия.
  • Използвайте контекст и „крикове” (cribs): ако подозирайте част от текста (напр. стандартно обръщение или фраза), можете да опитате да го пригодите към шифротекста.

Заедно тези методи позволяват да се реконструира голяма част от заместващия ключ и да се разчете съобщението. Именно поради това такива шифри се срещат предимно в учебни задачи и в логически игри — например криптограми, които се появяват като ребус, който често се печата във вестниците.

Практически съвети при решаване на криптограми

  • Започнете с най-честите букви в шифротекста и опитайте да ги свържете с вероятни честотни кандидати от езика.
  • Идентифицирайте повтарящи се думи и съответстващи на тях дължини и модели (напр. двойни букви, префикси/суфикси).
  • Работете итеративно: направите ли някои замени, прегледайте целия текст за съвпадения и противоречия — често множество локални предположения водят до глобално решение.
  • За дълги текстове автоматични инструменти и програми за разшифроване дават бързи резултати; за кратки текстове интуицията и знанието за езика са важни.

В обобщение: заместващите шифри са лесни за разбиране и полезни за обучение по криптография и за пъзели, но за реална сигурност те са несигурни, тъй като могат да бъдат анализирани и разгадани чрез честотен анализ и други техники.