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

редактировать

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

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

Содержание
  • 1 Типы классических шифров
    • 1.1 Замещающие шифры
    • 1.2 Транспонирующие шифры
  • 2 Криптоанализ классических шифров
  • 3 См. Также
  • 4 Ссылки
Типы классических шифров

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

Шифры замещения

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

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

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

нормальный алфавитabcdefghijklmnopqrstu vwxyz
шифралфавитcipherabdfgjklmnoqstu vwxyz

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

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

А В С D Е F G H I J К Л М Н О П Р С Т 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 ZABCDEFGHIJKLMNOPQRTU VWXYZABCDEFGHIJKLMNOP QRSUVWXYZABCDEFGHIJKL MNOPQRSTVWXYZABCDEFGH IJKLMNOPQRSTUWXYZABCD EFGHIJKLMNOPQRSTUVXYZ ABCDEFGHIJKLMNOPQRSTU VWYZABCDEFGHIJKLMNOPQ RSTUVWXZABCDEFGHIJKLM NOPQRSTUVWXY

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

Открытый текстATTACKATDAWN
КлючLEMONLEMONLE
Шифрованный текстLXFOPVEFRNHR

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

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

Шифры транспонирования

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

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

CAT 3 1 20 THESKYISBLUE

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

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

RRGTAAOHFNDE

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

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

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

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

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

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

Некоторые методы классических шифров могут быть использованы для усиления современных шифров. Например, шаг MixColumns в AES - это шифр Хилла.

См. Также
Ссылки
Последняя правка сделана 2021-05-15 10:20:05
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте