ѕодпишитесь на наш Telegram-канал Ѕудьте в курсе последних новостей 👇 😉 ѕодписатьс€
ѕоддержим в трудное врем€ —пециальное предложение на техническую поддержку вашей »“ - инфраструктуры силами наших экспертов ѕодобрать тариф
ѕоставка оборудовани€ √аранти€ и помощь с настройкой. —кидка дл€ наших читателей по промокоду WIKIMERIONET  упить
»нтерфейс статистики Merion Mertics показывает ключевые диаграммы и графики по звонкам, а также историю звонков в формате, который легко поймет менеджер ѕопробовать бесплатно
¬недрение
офисной телефонии
Ўаг на пути к созданию доступных унифицированных коммуникаций в вашей компании ¬недрить
»нтеграци€ с CRM ѕомогаем навести пор€док с данными
и хранить их в единой экосистеме
ѕодключить
»“ Ѕезопасность ”мна€ информационна€ безопасность дл€ вашего бизнеса «аказать
«юзин ¬ладислав
«юзин ¬ладислав
 уприков ќлег
 уприков ќлег

8 минут чтени€

ѕолиалфавитный шифр Ц это криптосистема, в которой используетс€ несколько моноалфавитных шифров. ѕоэтому нам необходимо иметь как минимум 2 таблицы и шифрование текста происходит следующим образом. ѕервый символ шифруетс€ с помощью первой таблицы, второй символ Ц с помощью второй таблицы и так далее.

—ильные стороны полиалфавитных шифров заключаетс€ в том, что атака по маске и атака частотным криптоанализом здесь не работает, потому что в таких шифрах две разные буквы могут быть зашифрованы одним и тем же символом.

ћоноалфавитные шифры были попул€рны вплоть до конца 16 века, так как практически все научились их вскрывать. Ќеобходимо было что-то мен€ть и поэтому в 1585 году был создан шифр ¬иженера. — этого началась нова€ эпоха в истории криптографии, котора€ называетс€ период полиалфавитных шифров, хот€ попытки создать подобные криптосистемы были и раньше за пол века до этого, но ничего серьЄзного из этого не получилось.


Ўифр √ронсфельда

ƒанный шифр представл€ет собой модификацию шифра ÷езар€ и по своей структуре похож на шифр ¬иженера.

ѕринцип работы. ЅерЄм к примеру текст Ђ–јЅќ“јї и ключ, например - Ђ136ї.  люч в данном случае не одно число, а набор цифр, дл€ понимани€ можно представить в виде Ђ1,3,6ї и не важно какой длины. ƒалее каждой букве исходного текста присваиваем по 1 цифре ключа, например Ђ–(1) ј(3) Ѕ(6) ќ(1) “(3) ј(6)ї и каждому символу исходного текста прибавл€ем значение ключа по методу ÷езар€. ѕолучаетс€ зашифрованный текст Ђ—√∆ѕ’®ї.

ѕри расшифровании проделываем ту же логику, как при расшифровании по методу ÷езар€.


Ўифр ¬иженера

Ўифр ¬иженера €вл€етс€ самым попул€рным полиалфавитным шифров за всю историю.

ƒл€ начала создаЄтс€ квадрат ¬иженера.

 вадрат ¬иженера

 лючом в данном методе может быть любой длины и состо€ть из любых символов, которые есть в таблице 3. Ќапример возьмЄм ключ ЂЎ»Ќјї и исходный текст Ђ–јЅќ“јї.

ѕроделываем то же самое, что и при шифре √ронсфельда, к каждой букве исходного текста записываем исходную букву ключа Ц Ђ–(Ў) ј(») Ѕ(Ќ) ќ(ј) “(Ў) ј(»)ї. —огласно таблице 3 по диагонали находим букву исходного текста, а по вертикали находим букву ключа, их пересечение €вл€етс€ зашифрованной буквой, таким образом проделываем дл€ всех букв и шифруем текст, получаетс€ Ђ—…ѕѕ …ї.

„тобы расшифровать нам нужно точно так же под каждой буквой закрытого текста записываем букву ключа - Ђ—(Ў) …(») ѕ(Ќ) ѕ(ј)  (Ў) …(»)ї. ѕо вертикали находим букву ключа и по этой строке находим зашифрованную букву, пересечение с буквой по горизонтальной строки Ц буква исходного текста, расшифровывает и получаем исходный текст.


јтака методом индекса совпадений

¬ данном случае рассмотрим криптоанализ шифра ¬иженера, его так же можно примен€ть и к шифру √ронсфельда. ЌижеприведЄнный метод криптоанализа называетс€ методом индекса совпадений.

јтака методом индекса совпадений состоит из 2 шагов:

  1. ќпредел€ет длину ключевого слова
  2. ƒешифрование текста

–ассмотрим каждый из этапов:

1. ƒл€ того, чтобы найти длину ключа воспользуемс€ методом индекса совпадений.

»— = 0,0553

»ндекс совпадений Ц это константа, веро€тность того, что две наугад выбранные буквы в нормальном осмысленном произвольном русском тексте будут одинаковые.“о есть веро€тность, что две наугад выбранные буквы будут одинаковые, равна 5,53%.

ѕри атаке на шифротекст необходимо ориентироватьс€ именно на эту веро€тность.

≈сли имеет шифротекст, зна€ о нЄм только то, что он зашифрован шифром ¬иженера, определ€ем длину ключа.

¬ шифре ¬иженера ключом выступает люба€ последовательность цифр, начина€ с 2, потому что если была бы 1 буква, то это просто шифр ÷езар€.

»так, начина€ с минимума, предполагаем, что длина ключа составл€ет 2 символа и провер€ем это. ¬ыбираем из шифротекста каждую вторую букву, начина€ с первой и выписываем отдельно полученную строку. ѕредполагаемую длину ключа обозначаем k=2, а количество символов в этой строке за L. ƒалее из алфавита берЄм каждую букву и считаем дл€ неЄ индекс совпадений, то есть берЄм определЄнную букву и подсчитываем сколько раз она встретилась в этой строке шифротекста (это число обозначаем Ц n), и так дл€ всех букв. ƒалее высчитываем индекс совпадений по формуле

»— = n(n-1)/L(L-1)

ƒалее высчитываем индекс совпадений дл€ всего текста путем сложени€ всех индексов совпадений дл€ всех букв отдельно. ѕолучаем определЄнное значение и сравниваем его со значением константы. ≈сли индекс совпадений очень близко к константе или больше, то это означает, что подобрана верна€ длина ключа. ≈сли значение индекса намного отличаетс€ от константы, то значит подобранна€ длина ключа неверна€ и необходимо вз€ть длину ключа 3 и выбирать из шифротекста каждую третью букву, начина€ с первой и выполн€ть те же действи€. ≈сли индекс снова намного отличаетс€ от константы берем следующие значени€ ключа и выполн€ет те же действи€, до тех пор, пока индекс совпадений будет очень близок к константе.

2. ¬ычислив длину ключевого слова возвращаемс€ к шифротексту.

–азбиваем текст на количество символов символов в ключе, например, при длине ключа k=3, делим текст на 3 части. ¬ первую часть будет входить кажда€ треть€ буква, начина€ с первой, во вторую часть Ц кажда€ треть€ буква, начина€ со второй, и треть€ часть Ц кажда€ треть€ буква, начина€ с третьей. ѕосле этого выписываем отдельно каждую часть. ќтдельна€ часть представл€ет собой обычный шифр ÷езар€. ƒалее дешифруем каждую часть методом частотного криптоанализа. Ќаходим самую частую букву каждой части шифротекста, сравниваем еЄ с буквой Ђќї, так как она в русском алфавите сама€ часта€ и сравниваем шифрованную букву с буквой Ђќї. ¬ычисл€ем разницу позиций между ними Ц в ответе получим число, равное ключу и дешифруем с помощью него по шифру ÷езар€ первую часть шифротекста. “акие же действи€ проделываем и дл€ остальных частей, затем восстанавливаем части дешифрованного шифротекста и получаем исходный текст.


јвтокоррел€ционный метод

ƒанный метод проще в реализации, чем метод индекса совпадений, но последовательность действий точно така€:

  1. ќпределение ключа
  2. ƒешифрование текста

»ме€ шифротекст, необходимо посчитать количество букв в нЄм. ∆елательно весь шифротекст записать в одну строку, затем сделать копию и разместить под ней же.

 ак и в случае с методом индекса совпадением предполагаем дл€ начала минимальную длину ключа, то есть k=2. «атем в копии строки шифротекста убираем первые два символа и дописываем их в конец строки. ƒалее ищем количество совпадающих букв между этими двум€ строками и находим долю количества совпадений от общего количества символов в тексте по формуле:

Y = n/L
  • Y - ƒол€ количества совпадений
  • n Ц количество совпадений
  • L Ц количество символов в шифротексте

ѕолученное значение сравниваем со значением контанты индекса совпадений, так же Ц если это значение намного отличаетс€, предполагаем длину ключа k=3 и делаем ту же процедуру до тех пор, пока дол€ количества совпадений будет близка к константе индекса совпадений.

ѕосле нахождени€ длины ключа проделываем то же самое, что и в методе индекса совпадений и дешифруем текст.


Ўифр “ритемиуса

Ўифр “ритемиуса позиционируетс€ усиленным шифром ÷езар€ и описываетс€ формулой:

C = (m+s(p))modN
  • C - номер зашифрованного символа в алфавите
  • m - номер символа открытого текста в алфавите
  • n - количество символов в алфавите
  • s(p) - это ключ, который представл€ет собой математическую функцию, например: s(p) = 2p+const
    • p - пор€дковый номер символа в исходном тексте
    • const - любое число, которое задаЄтс€ в ручную

“очно так же, как в шифре ÷езар€ каждый символ, перед тем, как шифровать, будет переводитс€ в число, согласно определЄнной таблице.

ѕервое, что нужно сделать Ц пронумеровать все символы в исходном тексте, то есть каждый символ получаетс€ свой номер в зависимости от своей позиции в тексте. Ўифрование происходит посимвольно.

Ўифр “ритемиуса

–асшифрование происходит похожим способом и описываетс€ формулой:

C = (m-s(p))modN

Ўифр дл€ своего времени очень неплох, потому что не смотр€ на свою простоту, то есть сама€ сложна€ часть Ц это выбрать функцию s(p). ќн демонстрирует достаточно высокий криптоустойчивости, то есть не уступает ни шифру ¬иженера, ни шифру √росфельда.


 нижный шифр

 нижный шифр Ц не €вл€етс€ попул€рным шифром среди старых шифров, но при грамотном подходе к использованию, обеспечивает криптостойкость на пор€дки выше, чем шифр ¬иженера и √ронсфельда. Ёто симметричный шифр, в котором в качестве ключа используетс€ люба€ книга на выбор, и процесс шифровани€ происходит посимвольно.

¬ыбираем первый символ исходного текста и находим его в нашей книге (с любого места). » в качестве зашифрованного символа используем комбинацию из 3 цифр (номер страницы, номер строки, номер символа в строке) и проделываем тоже самое с остальными символами исходного текста. ѕри этом дл€ повышени€ безопасности при повторении символа в исходном тексте выбирать дл€ него другую комбинацию в книге, чтобы зашифрованные комбинации не повтор€лись.

„тобы получатель смог расшифровать полученное сообщение должен обладать точно такой же книгой. ѕоочередно смотрит комбинацию и находит еЄ в данной книге и расшифровывает полученное сообщение. Ќедостаток этого шифра Ц это непрактичность и трудоЄмкость при шифровании и расшифровании.