stringtranslate.com

Шифр

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

В криптографии шифр (или суфлер ) — это алгоритм для выполнения шифрования или дешифрования — ряд четко определенных шагов, которые могут быть выполнены как процедура. Альтернативный, менее распространенный термин — шифрование . Шифровать или кодировать означает преобразовывать информацию в шифр или код. В просторечии «шифр» является синонимом « кода », поскольку они оба представляют собой набор шагов, которые шифруют сообщение; однако эти концепции различны в криптографии, особенно классической криптографии .

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

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

Работа шифра обычно зависит от части вспомогательной информации, называемой ключом (или, на традиционном языке АНБ , криптопеременной ). Процедура шифрования варьируется в зависимости от ключа, который изменяет детальную работу алгоритма. Ключ должен быть выбран до использования шифра для шифрования сообщения. Без знания ключа будет крайне сложно, если не невозможно, расшифровать полученный шифротекст в читаемый открытый текст.

Большинство современных шифров можно классифицировать несколькими способами:

Этимология

Происходя от арабского слова для нуля صفر (sifr), слово «шифр» распространилось в Европе как часть арабской системы счисления в Средние века. В римской системе счисления отсутствовало понятие нуля , и это ограничивало прогресс в математике. В этом переходе слово было принято в средневековой латыни как cifra, а затем в среднефранцузском как cifre. Это в конечном итоге привело к английскому слову cipher (написание меньшинства cypher). Одна из теорий о том, как этот термин стал относиться к кодированию, заключается в том, что концепция нуля была запутанной для европейцев, и поэтому этот термин стал относиться к сообщению или коммуникации, которые было трудно понять. [1]

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

Против кодов

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

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

Другой пример — шифры целых слов, которые позволяют пользователю заменять целое слово символом или знаком, подобно тому, как письменный японский язык использует символы Кандзи (китайские иероглифы на японском языке) для дополнения японских иероглифов, представляющих слоги. Примером использования английского языка с Кандзи может быть замена «The quick brown fox jumps over the lazy dog» на «The quick brown 狐 jumps 上 the lazy 犬». Стенографисты иногда используют специальные символы для сокращения целых слов.

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

Исторически криптография разделялась на дихотомию кодов и шифров, в то время как кодирование имело свою собственную терминологию, аналогичную терминологии шифров: « кодирование », «кодотекст» , «декодирование » и т. д.

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

Типы

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

Исторический

Визуальное представление принципа работы шифра Цезаря.

Шифр Цезаря — одна из самых ранних известных криптографических систем. Юлий Цезарь использовал шифр, который сдвигает буквы алфавита на три места и переносит оставшиеся буквы вперед, чтобы написать Марку Туллию Цицерону примерно в 50 г. до н. э. [ необходима цитата ]

Исторические шифры пером и бумагой, использовавшиеся в прошлом, иногда называют классическими шифрами . Они включают простые шифры замены (например, ROT13 ) и шифры перестановки (например, Rail Fence Cipher ). Например, «GOOD DOG» можно зашифровать как «PLLX XLP», где «L» заменяет «O», «P» заменяет «G», а «X» заменяет «D» в сообщении. Перестановка букв «GOOD DOG» может привести к «DGOGDOO». Эти простые шифры и примеры легко взломать, даже без пар открытый текст-зашифрованный текст. [2] [3]

В 1640-х годах парламентский командующий Эдвард Монтегю, 2-й граф Манчестер , разработал шифры для отправки закодированных сообщений своим союзникам во время Гражданской войны в Англии . [4]

Простые шифры были заменены полиалфавитными шифрами замены (такими как Виженер ), которые меняли алфавит замены для каждой буквы. Например, «GOOD DOG» можно зашифровать как «PLSX TWF», где «L», «S» и «W» заменяют «O». Даже при небольшом количестве известного или предполагаемого открытого текста простые полиалфавитные шифры замены и шифры перестановки букв, разработанные для шифрования ручкой и бумагой, легко взломать. [5] Можно создать безопасный шифр ручки и бумаги на основе одноразового блокнота , но у них есть другие недостатки.

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

Современный

Современные методы шифрования можно разделить по двум критериям: по типу используемого ключа и по типу входных данных.

По типу используемого ключа шифры делятся на:

В симметричном ключевом алгоритме (например, DES и AES) отправитель и получатель должны иметь общий ключ, установленный заранее и хранящийся в секрете от всех других сторон; отправитель использует этот ключ для шифрования, а получатель использует тот же ключ для расшифровки. Конструкция AES (Advanced Encryption System) была выгодной, поскольку она была направлена ​​на преодоление недостатков конструкции DES (Datacryption standard). Разработчики AES утверждают, что обычные средства современных криптоаналитических атак на шифр неэффективны против AES из-за его структуры конструкции.[12]

По типу входных данных шифры можно разделить на два типа:

Размер ключа и уязвимость

При чисто математической атаке (т.е. при отсутствии какой-либо другой информации, которая могла бы помочь взломать шифр) имеют значение два фактора:

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

Пример этого процесса можно найти в Key Length, где на основе нескольких отчетов предполагается, что симметричный шифр с ключами длиной 128 бит , асимметричный шифр с ключами длиной 3072 бита и шифр на основе эллиптических кривых с ключами длиной 256 бит в настоящее время имеют одинаковую сложность.

Клод Шеннон доказал, используя соображения теории информации, что любой теоретически невзламываемый шифр должен иметь ключи, которые по крайней мере такой же длины, как и открытый текст, и использоваться только один раз: одноразовый блокнот . [6]

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

Примечания

  1. ^ Али-Карамали, Сумбул (2008). Мусульманский сосед: Коран, СМИ и эта штука с вуалью . White Cloud Press. С. 240–241. ISBN 978-0974524566.
  2. ^ Зальцман, Бенджамин А. (2018). "Vt hkskdkxt: Ранняя средневековая криптография, текстовые ошибки и деятельность переписчиков (Speculum, готовится к публикации)". Speculum . 93 (4): 975. doi :10.1086/698861. JSTOR  26584834. S2CID  165362817.
  3. ^ Янечко, Пол Б. (2004). Совершенно секретно .
  4. ^ "Шифр времен Гражданской войны в Англии, принадлежавший союзнику Кромвеля, выставлен на обозрение". The Past . 12 июля 2023 г. Получено 4 августа 2023 г.
  5. ^ Стинсон, Дуглас Р. (1995), Криптографическая криптография / Теория и практика , CRC Press, стр. 45, ISBN 0-8493-8521-0
  6. ^ "Теория связи в секретных системах" (PDF) . Архивировано из оригинала (PDF) 5 июня 2007 г. . Получено 3 февраля 2019 г. .

Ссылки

Внешние ссылки