. В криптографии используется cipher (или cypher ). алгоритм для выполнения шифрования или дешифрования - серия четко определенных шагов, которые могут выполняться как процедура. Альтернативный, менее распространенный термин - шифрование. Шифрование или кодирование означает преобразование информации в шифр или код. В просторечии «шифр» является синонимом «код », поскольку оба они представляют собой набор шагов, которые шифруют сообщение; однако в криптографии концепции различаются, особенно классическая криптография.
Коды обычно заменяют строки символов разной длины на выходе, в то время как шифры обычно заменяют то же количество символов, что и вводятся. Есть исключения, и некоторые системы шифрования могут использовать при выводе немного больше или меньше символов по сравнению с числом, которое было введено.
Коды, управляемые заменой в соответствии с большой кодовой книгой, которая связывает случайную строку символов или чисел со словом или фразой. Например, «UQJHSE» может быть кодом для «Перейти к следующим координатам». При использовании шифра исходная информация известна как открытый текст, а зашифрованная форма - как зашифрованный текст. Сообщение с зашифрованным текстом содержит всю информацию открытого текста, но не в формате, доступном для чтения человеком или компьютером без надлежащего механизма для его расшифровки.
Работа шифра обычно зависит от части вспомогательной информации, называемой ключом (или, на традиционном языке NSA, криптопеременной). Процедура шифрования варьируется в зависимости от ключа, что меняет детальную работу алгоритма. Перед использованием шифра для шифрования сообщения необходимо выбрать ключ. Без знания ключа будет чрезвычайно сложно, если не невозможно, расшифровать полученный зашифрованный текст в читаемый открытый текст.
Большинство современных шифров можно разделить на несколько категорий
Слово «шифр» (написанное меньшинством «шифр») в прежние времена означало «ноль» и имело то же происхождение: среднефранцузское как cifre и средневековое латинское как cifra, от арабского صفر sifr = ноль (см. Ноль - этимология ). Позднее «шифр» использовался для обозначения любой десятичной цифры, даже любого числа. Существует множество теорий о том, как слово «шифр» могло означать «кодирование».
Ибрагим аль-Кади пришел к выводу, что арабское слово sifr, обозначающее цифру ноль, превратилось в европейский технический термин для шифрования.
Поскольку десятичный ноль и его новая математика распространились из Арабский мир в Европу в Средневековье, слова, производные от sifr и zephirum, стали относиться к расчету, а также к привилегированным знаниям и секретным кодам. Согласно Ифраху, «в Париже тринадцатого века« никчемный человек »назывался«... cifre en algorisme », то есть« арифметическое ничто ». Cipher - это европейское произношение sifr, а cipher стало обозначать сообщение или коммуникацию, которую нелегко понять.
В нетехническом использовании это "(секретный) код "обычно означает" шифр ". Однако в рамках технических обсуждений слова «код» и «шифр» относятся к двум различным концепциям. Коды работают на уровне смысла, то есть слова или фразы преобразуются во что-то еще, и такое разбиение на части обычно сокращает сообщение.
Примером этого является код коммерческого телеграфа, который использовался для сокращения длинных телеграфных сообщений, возникших в результате заключения коммерческих контрактов с использованием обмена телеграммами.
Приведен другой пример. шифрами целого слова, которые позволяют пользователю заменять целое слово символом или символом, подобно тому, как в японском языке используются символы кандзи (японские) для дополнения своего языка. ex «Быстрая коричневая лиса перепрыгивает через ленивую собаку» превращается в «Быстрая коричневая прыгает 上 ленивая».
Шифры, с другой стороны, работают на более низком уровне: уровне отдельных букв, небольших групп букв или, в современных схемах, отдельных битов и блоков битов. Некоторые системы использовали как коды, так и шифры в одной системе, используя суперпередачу для повышения безопасности. В некоторых случаях термины коды и шифры также используются как синонимы подстановки и транспозиции.
Исторически криптография была разделена на дихотомию кодов и шифров; а у кодирования была своя собственная терминология, аналогичная терминологии шифров: «кодирование, кодовый текст, декодирование» и так далее.
Однако коды имеют множество недостатков, включая подверженность криптоанализу и сложность управления громоздкой кодовой книгой . Из-за этого коды вышли из употребления в современной криптографии, а шифры являются доминирующей техникой.
Существует множество различных типов шифрования. Алгоритмы, использовавшиеся ранее в истории криптографии, существенно отличаются от современных методов, и современные шифры можно классифицировать в зависимости от того, как они работают и используют ли они один или два ключа.
Исторические ручные и бумажные шифры, использовавшиеся в прошлом, иногда называют классическими шифрами. Они включают простые шифры подстановки (такие как ROT13 ) и шифры транспонирования (такие как Rail Fence Cipher ). Например, «GOOD DOG» может быть зашифрован как «PLLX XLP», где «L» заменяет «O», «P» заменяет «G», а «X» - «D» в сообщении. Перестановка букв «ХОРОШАЯ СОБАКА» может привести к «DGOGDOO». Эти простые шифры и примеры легко взломать, даже без пар открытый текст-зашифрованный текст.
Простые шифры были заменены полиалфавитными подстановками шифрами (такими как Виженера ), который изменил алфавит замены для каждой буквы. Например, «GOOD DOG» можно зашифровать как «PLSX TWF», где «L», «S» и «W» заменяют «O». Даже при небольшом количестве известного или предполагаемого открытого текста простые полиалфавитные шифры замещения и шифры перестановки букв, разработанные для шифрования с помощью ручки и бумаги, легко взломать. Можно создать безопасный шифр с ручкой и бумагой на основе одноразового блокнота, но при этом применяются обычные недостатки одноразовых блокнотов.
В начале двадцатого века были изобретены электромеханические машины для шифрования и дешифрования с использованием транспозиции, полиалфавитной замены и своего рода «аддитивной» замены. В роторных машинах несколько дисков ротора обеспечивали полиалфавитную замену, а вставные платы обеспечивали другую замену. Ключи легко менялись, меняя диски ротора и провода коммутационной панели. Хотя эти методы шифрования были более сложными, чем предыдущие схемы и требовали машин для шифрования и дешифрования, для взлома этих методов шифрования были изобретены другие машины, такие как британский Bombe.
Современные методы шифрования можно разделить по двум критериям: по типу используемого ключа и по типу входных данных.
По типу используемого ключа шифры делятся на:
В алгоритме с симметричным ключом (например, DES и AES ), у отправителя и получателя должны быть заранее настроены общие ключи, которые должны храниться в секрете от всех других сторон; отправитель использует этот ключ для шифрования, а получатель использует тот же ключ для дешифрования. В шифре Фейстеля используется комбинация методов замены и транспонирования. Большинство алгоритмов блочного шифрования основано на этой структуре. В алгоритме с асимметричным ключом (например, RSA ) есть два отдельных ключа: открытый ключ публикуется и позволяет любому отправителю выполнять шифрование, а закрытый ключ хранится получателем в секрете и позволяет только человек для правильной расшифровки.
Шифры можно разделить на два типа по типу входных данных:
При чисто математической атаке (т.е. при отсутствии какой-либо другой информации, которая поможет взломать шифр) важны два фактора:
Поскольку желаемый эффект - вычислительная сложность, теоретически можно было бы выбрать алгоритм и желаемый уровень сложности, соответственно определите длину ключа.
Пример этого процесса можно найти в Длина ключа, который использует несколько отчетов, чтобы предположить, что симметричный шифр со 128 битами, асимметричный шифр с 3072-битными ключами, а также шифр с эллиптической кривой с 512 битами в настоящее время имеют схожие трудности.
Клод Шеннон доказал, используя соображения теории информации, что любой теоретически неразрывный шифр должен иметь ключи, длина которых не меньше длины открытого текста, и которые используются только один раз: одноразовый блокнот.
Найдите сшифровку в Wiktionary, бесплатном словаре. |