Классический шифр - Classical cipher

В криптография, а классический шифр это тип шифр это использовалось исторически, но по большей части вышло из употребления. В отличие от современных криптографических алгоритмов, большинство классических шифров можно практически вычислить и решить вручную. Однако их обычно очень просто сломать с помощью современных технологий. Этот термин включает в себя простые системы, используемые с греческих и римских времен, сложные шифры эпохи Возрождения, криптографию Второй мировой войны, такую ​​как Энигма машина и дальше.

Напротив, современные сильная криптография полагается на новые алгоритмы и компьютеры, разработанные с 1970-х годов.

Типы классических шифров

Классические шифры часто делятся на транспозиционные шифры и подстановочные шифры.

Подстановочные шифры

В замещающем шифре буквы (или группы букв) систематически заменяются по всему сообщению другими буквами (или группами букв).

Хорошо известным примером подстановочного шифра является Шифр цезаря. Чтобы зашифровать сообщение шифром Цезаря, каждая буква сообщения заменяется буквой на три позиции позже в алфавите. Следовательно, A заменяется на D, B на E, C на F и т.д. Наконец, X, Y и Z заменяются на A, B и C соответственно. Так, например, «ВИКИПЕДИЯ» шифруется как «ZLNLSHGLD». Цезарь повернул алфавит на три буквы, но работает любое число.

Другой метод подстановки шифра основан на ключевом слове. Все пробелы и повторяющиеся буквы удаляются из слова или фразы, которые затем кодировщик использует в качестве начала шифралфавита. Конец шифралфавита - это оставшаяся часть алфавита по порядку без повторения букв в ключевом слове. Например, если ключевое слово CIPHER, шифралфавит будет выглядеть так:

нормальный алфавитАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЭЮЯ
шифралфавитс и п х е р а б г д е ж к л м н о в с т у ф х ц ч ш щ э ю я

Все предыдущие примеры были примерами моноалфавитных подстановочных шифров, в которых используется только один шифралфавит. Также возможно иметь полиалфавитный шифр замены, где используются несколько шифралфавитов. Кодировщик будет составлять два или более шифровальных алфавита, используя любые методы, которые он или она выберет, а затем кодировать их сообщение, чередуя, какой шифралфавит используется с каждой буквой или словом. Это значительно усложняет декодирование сообщения, потому что взломщик кодов должен будет вычислить оба шифралфавита.

Другой пример полиалфавитного подстановочного шифра, который гораздо сложнее декодировать, - это Площадь Виженера, инновационный метод кодирования. В квадрате есть 26 различных алфавитов шифрования, которые используются для шифрования текста. Каждый шифралфавит - это просто еще один сдвиг Цезаря вправо исходного алфавита. Вот как выглядит квадрат Виженера:

                А В С D Е Ж З И Й К Л М Н О П Р С Т U V W X Y Z В С D Е Ж З И Й К Л М Н О П Р С Т U V W X Y Z A C D Е Ж З И Й К Л М Н О П Р С Т U V W X Y Z А Б В Д Е Ж З И Й К Л М Н О П Р С Т U V W X Y Z A B C Е Ж З И Й К Л М Н О П Р С Т U V W X Y Z A B C D Ж З И Й К Л М Н О П Р С Т U V W X Y Z A B C D E Ж З И К Л М Н О П Р С Т U V W X Y Z A B C D E F H I J К Л М Н О П Р С Т U V W X Y Z A B C D Е Ж З И К Л М Н О П Р С Т U V W X Y Z A B C D Е Ж З И Й К Л М Н О П Р С Т U V W X Y Z A B C D Е Ж З И К Л М Н О П Р С Т U V W X Y Z A B C D E F G H I J Л М Н О П Р С Т U V W X Y Z A B C D Е Ж З И Й К М Н О П Р С Т U V W X Y Z A B C D Е Ж З И Й К Л М Н О П Р С Т U V W X Y Z A B C D Е Ж З И Й К Л М О П Р С Т U V W X Y Z A B C D Е Ж З И Й К Л М Н П Р С Т U V W X Y Z A B C D Е Ж З И Й К Л М Н О П Р С Т U V W X Y Z A B C D Е Ж З И Й К Л М Н О П Р С Т U V W X Y Z A B C D Е Ж З И Й К Л М Н О П С Т U V W X Y Z A B C D Е Ж З И Й К Л М Н О П Р Т U V W X Y Z A B C D Е Ж З И Й К Л М Н О П Р С U V W X Y Z A B C D Е Ж З И Й К Л М Н О П Р С Т Ч Ш X Y Z A B C D Е Ж З И Й К Л М Н О П Р С Т У Ш X Y Z A B C D Е Ж З И Й К Л М Н О П Р С Т У Ф X Y Z A B C D Е Ж З И Й К Л М Н О П Р С Т U V W Y Z A B C D Е Ж З И Й К Л М Н О П Р С Т U V W X Z A B C D Е Ж З И Й К Л М Н О П Р С Т У Ш Ц

Чтобы использовать квадрат Виженера для шифрования сообщения, кодировщик сначала выбирает ключевое слово для использования, а затем повторяет его до тех пор, пока оно не достигнет той же длины, что и кодируемое сообщение. Если ЛИМОН - ключевое слово, каждая буква повторяющегося ключевого слова будет указывать, какой шифр (какую строку) использовать для каждой буквы кодируемого сообщения. Шифровальный алфавит во второй строке использует B для A и C для B и т. Д. Это будет шифралфавит «B». Каждый шифралфавит назван по первой в нем букве. Например, если ключевое слово ЛИМОН и сообщение для кодирования ATTACKATDAWN, то кодировка следующая:

Простой текстATTACKATDAWN
КлючЛИМОНЛЕМ
Зашифрованный текстLXFOPVEFRNHR

Некоторые шифры подстановки предполагают использование цифр вместо букв. Примером этого является Великий шифр, где числа использовались для обозначения слогов. Существует также другой шифр подстановки чисел, который предполагает наличие четырех различных вариантов пары чисел для буквы на основе ключевого слова.

Вместо цифр можно также использовать символы для замены букв или слогов. Одним из примеров этого является Зодиак алфавит, где знаки зодиака использовались для обозначения разных букв, например, символы солнца обозначали A, Юпитер обозначает B, а Сатурн обозначает C. Можно также использовать точки, линии или тире. этого существа Азбука Морзе, который не является шифром, но тем не менее использует точки и тире в качестве букв. В свиной шифр использует сетку или линии и точки для обозначения букв. Существуют различные другие методы, при которых буквы алфавита заменяются символами или точками и тире.

Транспонирующие шифры

В транспозиционном шифре сами буквы остаются неизменными, но их порядок в сообщении шифруется по некоторой четко определенной схеме. Многие шифры транспонирования выполнены в соответствии с геометрическим дизайном. Простое (и снова легко взломанное) шифрование - это запись каждого слова в обратном порядке. Например, «Привет, меня зовут Алиса». теперь будет "olleH ym eman si ecilA". А скитале - это машина, которая помогает переносить методы.

В столбчатом шифре исходное сообщение расположено в прямоугольнике слева направо и сверху вниз. Затем выбирается ключ и используется для присвоения номера каждому столбцу в прямоугольнике для определения порядка перестановки. Число, соответствующее буквам в ключе, определяется их местом в алфавите, т. Е. A равно 1, B равно 2, C равно 3 и т. Д. Например, если ключевое слово - CAT, а сообщение - THE SKY IS BLUE , сообщение будет расположено так:

                         К А Т 3 1 20 Т Е С К И С Б Л У Е

Затем буквы берутся в числовом порядке, и именно так сообщение транспонируется. Сначала берется столбец под A, затем столбец под C, затем столбец под T, в результате сообщение «Небо голубое» стало: HKSUTSILEYBE

В методе транспонирования китайского шифра буквы сообщения пишутся справа налево, вниз и вверх по столбцам, чтобы зашифровать буквы. Затем, начиная с первого ряда, берутся буквы, чтобы получить новый зашифрованный текст. Например, если сообщение, которое нужно зашифровать, было THE DOG RAN FAR, китайский шифр выглядел бы так:

                           R R G T A A O H F N D E

Затем зашифрованный текст гласит: RRGT AAOH FNDE

Многие шифры транспонирования похожи на эти два примера, обычно подразумевая перестановку букв в строки или столбцы с последующим их систематическим переносом для транспонирования букв. Другие примеры включают вертикальный параллелизм и шифр двойной транспозиции.

Более сложный алгоритмы может быть сформирован путем смешивания замены и транспозиции в шифр продукта; современное блочные шифры Такие как DES повторить несколько этапов замены и транспозиции.

Криптоанализ классических шифров

Классические шифры обычно довольно легко взломать. Многие из классических шифров могут быть взломаны, даже если злоумышленник знает только достаточный зашифрованный текст, и, следовательно, они уязвимы для атака только зашифрованным текстом. Некоторые классические шифры (например, Шифр цезаря ) есть небольшое пространство для ключей. Эти шифры можно взломать атака грубой силой, то есть просто перепробовать все ключи. Подстановочные шифры могут иметь большое пространство ключей, но часто подвержены частотный анализ, потому что, например, частые буквы в языке открытого текста соответствуют частым буквам в зашифрованном виде. Полиалфавитные шифры, такие как Шифр Виженера предотвратить простой частотный анализ, используя множественные замены. Однако более продвинутые методы, такие как Касиски экспертиза все еще можно использовать для взлома этих шифров.

С другой стороны, современные шифры предназначены для того, чтобы противостоять гораздо более сильным атакам, чем атаки с использованием только зашифрованного текста. Хороший современный шифр должен быть защищен от широкого спектра потенциальных атак, включая: атаки с использованием известного открытого текста и атаки с выбранным открытым текстом а также атаки с выбранным зашифрованным текстом. Для этих шифров злоумышленник не должен быть в состоянии найти ключ, даже если он знает какое-либо количество открытого текста и соответствующего зашифрованного текста, и даже если он может сам выбрать открытый текст или зашифрованный текст. Классические шифры не удовлетворяют этим гораздо более строгим критериям и, следовательно, больше не представляют интереса для серьезных приложений.

Некоторые методы классических шифров могут использоваться для усиления современных шифров. Например, MixColumns войти AES это Шифр холма.[1]

Смотрите также

Рекомендации

  1. ^ Ксинтонг, Кит Чой. «Понимание расчета преобразования AES Mix-Columns» (PDF). Получено 2016-10-26.