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

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

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

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

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

Большинство современных шифров можно разделить на несколько категорий.

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

Этимология [ править ]

Слово «шифр» (написанное меньшинством «шифр») в прежние времена означало «ноль» и имело то же происхождение: среднефранцузский как cifre и средневековый латинский как cifra, от арабского صفر sifr = ноль (см. Ноль - этимология ). Позже «шифр» использовался для обозначения любой десятичной цифры, даже любого числа. Существует множество теорий о том, как слово «шифр» могло означать «кодирование».

  • В кодировке часто используются числа.
  • Римская система счисления была очень громоздким , поскольку не было никакого понятия нуля (или пустое пространство). Концепция нуля (который также назывался «шифр») привела к сокрытию значения шифра понятных сообщений или шифрованию.
    • Французы образовали слово « chiffre » и приняли итальянское слово « zero ».
    • Англичане использовали «ноль» вместо «0» и «cipher» от слова «ciphering» как средство вычисления.
    • Немцы использовали слова «Циффер» (цифра) и «Шифр».
    • Голландцы до сих пор используют слово «cijfer» для обозначения числовой цифры.
    • Словаки также иногда используют слово «cifra» («číslica» на словацком языке) для обозначения числовой цифры, они используют слово «číslo» для обозначения числа.
    • Боснийцы, хорваты и сербы используют слово «cifra», которое относится к цифре или, в некоторых случаях, к любому числу. Помимо «cifra» для обозначения числа используют слово «broj».
    • Итальянцы и испанцы также используют слово «cifra» для обозначения цифры.
    • Шведы используют слово «сиффра», которое относится к цифре, и «чифер».
    • Греки используют слово «τζίφρα» («цифра») для обозначения трудночитаемой подписи, особенно подписи, написанной одним росчерком пера.

Ибрагим Аль-Кади пришел к выводу, что арабское слово sifr , обозначающее цифру ноль, превратилось в европейский технический термин, обозначающий шифрование. [1]

Поскольку десятичный ноль и его новая математика распространились из арабского мира в Европу в средние века , слова, производные от sifr и zephirum, стали относиться к вычислениям, а также к привилегированным знаниям и секретным кодам. По словам Ифры, «в Париже тринадцатого века« никчемный человек »назывался « ... cifre en algorisme » , то есть« арифметическое ничто »». [2] Cipher был европейским произношением sifr, а cipher стал обозначать сообщение или коммуникацию, которую трудно понять. [3]

Против кодов [ править ]

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

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

Другой пример - шифры целого слова, которые позволяют пользователю заменять целое слово символом или символом, подобно тому, как японцы используют символы кандзи (японские) для дополнения своего языка. ex «Быстрая коричневая лиса перепрыгивает через ленивую собаку» превращается в «Быстрая коричневая прыгает 上 ленивая».

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

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

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

Типы [ править ]

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

Исторический [ править ]

Исторические ручные и бумажные шифры, использовавшиеся в прошлом, иногда называют классическими шифрами . Они включают простые шифры подстановки (такие как ROT13 ) и шифры транспонирования (такие как шифр Rail Fence ). Например, «GOOD DOG» может быть зашифрован как «PLLX XLP», где «L» заменяет «O», «P» заменяет «G», а «X» заменяет «D» в сообщении. Перестановка букв «ХОРОШАЯ СОБАКА» может привести к «ДГОГДОО». Эти простые шифры и примеры легко взломать даже без пар открытый текст-зашифрованный текст. [4]

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

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

Современный [ править ]

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

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

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

В алгоритме с симметричным ключом (например, DES и AES ) отправитель и получатель должны иметь общий ключ, установленный заранее и хранящийся в секрете от всех других сторон; отправитель использует этот ключ для шифрования, а получатель использует тот же ключ для дешифрования. В шифре Фейстеля используется комбинация методов подстановки и транспозиции. Большинство алгоритмов блочного шифрования основано на этой структуре. В алгоритме асимметричного ключа (например, RSA ) есть два отдельных ключа: открытый ключ публикуется и позволяет любому отправителю выполнять шифрование, в то время как закрытый ключ хранится получателем в секрете и позволяет только этому человеку выполнить правильное дешифрование.

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

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

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

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

  • Доступная вычислительная мощность, т. Е. Вычислительная мощность, которая может быть использована для решения проблемы. Важно отметить, что средняя производительность / емкость одного компьютера - не единственный фактор, который следует учитывать. Злоумышленник может использовать несколько компьютеров одновременно, например, для значительного увеличения скорости исчерпывающего поиска ключа (т. Е. Атаки методом «грубой силы»).
  • Размер ключа , т.е. размер ключа, используемого для шифрования сообщения. По мере увеличения размера ключа сложность исчерпывающего поиска увеличивается до такой степени, что становится непрактичным взламывать шифрование напрямую.

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

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

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

См. Также [ править ]

  • Автоключ шифр
  • Обложка-кодирование
  • ПО для шифрования
  • Список зашифрованных текстов
  • Стеганография
  • Телеграфный код

Примечания [ править ]

  1. ^ Ибрагим А. Аль-Кади, «Криптография и безопасность данных: криптографические свойства арабского языка», материалы Третьей Саудовской инженерной конференции. Эр-Рияд, Саудовская Аравия: 24-27 ноября, Том 2: 910-921., 1991.
  2. ^ Ифра, Жорж (2000). Всеобщая история чисел: от предыстории до изобретения компьютера . Вайли. ISBN 0-471-39340-1.
  3. Мусульманин по соседству: Коран, СМИ и та завеса, Сумбул Али-Карамали, 2008, стр. 240-241.
  4. ^ Зальцман, Бенджамин А. "Ut hkskdkxt: Ранняя средневековая криптография, текстовые ошибки и Scribal Agency (Speculum, готовится к печати)" . Зеркало .
  5. ^ Стинсон , стр. 45
  6. ^ "Коммуникационная теория секретных систем" (PDF) . Проверено 3 февраля 2019 года .

Ссылки [ править ]

  • Ричард Дж. Олдрич, GCHQ: История самого секретного разведывательного управления Великобритании без цензуры , HarperCollins, июль 2010 г.
  • Хелен Фуше Гейнс, «Криптоанализ», 1939, Дувр. ISBN 0-486-20097-3 
  • Ибрагим А. Аль-Кади , «Истоки криптологии : вклад арабов», Cryptologia , 16 (2) (апрель 1992 г.), стр. 97–126.
  • Дэвид Кан , Взломщики кодов - История секретного письма ( ISBN 0-684-83130-9 ) (1967) 
  • Дэвид А. Кинг , Шифры монахов - забытая числовая система средневековья , Штутгарт: Франц Штайнер, 2001 ( ISBN 3-515-07640-9 ) 
  • Абрахам Синьков , Элементарный криптоанализ: математический подход , Математическая ассоциация Америки, 1966. ISBN 0-88385-622-0 
  • Уильям Столлингс , Криптография и сетевая безопасность, принципы и практика, 4-е издание
  • Стинсон, Дуглас Р. (1995), Cryptogtaphy / Theory and Practice , CRC Press, ISBN 0-8493-8521-0

Внешние ссылки [ править ]

  • Киш Сайфер