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

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

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

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

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

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

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

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

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

  • В кодировке часто используются числа.
  • Римская система счисления была очень громоздким , поскольку не было никакого понятия нуля (или пустое пространство). Концепция нуля (который также называлась «шифром») привела к сокрытию значения шифра понятных сообщений или шифрованию.
    • Французы образовали слово « chiffre » и приняли итальянское слово « zero ».
    • Англичане использовали «ноль» вместо «0» и «cipher» от слова «ciphering» как средство вычисления.
    • Немцы использовали слова «Циффер» (цифра) и «Шифр». В современном немецком языке обычно используется "Ziffer".
    • Голландцы до сих пор используют слово «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), Криптогафия / Теория и практика , CRC Press, ISBN 0-8493-8521-0

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

  • Киш Сайфер