Код (криптография)

редактировать
Часть «Телеграммы Циммермана », расшифрованная британской военно-морской разведкой Взломщики кодов. Слово «Аризона» не было в немецкой кодовой книге, поэтому его пришлось разбить на фонетические слоги.

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

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

Другое сравнение между кодами и шифрами заключается в том, что код обычно представляет собой букву или группы букв напрямую, без использования математики. Таким образом, числа настроены для представления этих трех значений: 1001 = A, 1002 = B, 1003 = C,.... В результате получится сообщение 1001 1002 1003 для передачи ABC. Шифры, однако, используют математические формулы для представления букв или групп букв. Например, A = 1, B = 2, C = 3,.... Таким образом, сообщение ABC получается путем умножения значения каждой буквы на 13. Тогда сообщение ABC будет 13 26 39.

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

Напротив, поскольку коды являются репрезентативными, они не поддаются математическому анализу отдельных элементов кодовой книги. В нашем примере сообщение 13 26 39 можно взломать, разделив каждое число на 13, а затем ранжируя их в алфавитном порядке. Однако в центре внимания криптоанализа кодовой книги находится сравнительная частота отдельных элементов кода, совпадающих с одинаковой частотой букв в сообщениях с открытым текстом, с использованием частотного анализа. В приведенном выше примере кодовая группа 1001, 1002, 1003 может встречаться более одного раза, и эта частота может соответствовать количеству раз, которое ABC встречается в текстовых сообщениях.

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

Содержание

  • 1 Одно- и двухчастные коды
  • 2 Одноразовый код
  • 3 Идиот-код
  • 4 Криптоанализ кодов
  • 5 Супершифрование
  • 6 Ссылки
  • 7 Источники
  • 8 См. Также

Одно- и двухчастные коды

Коды определяются "кодовыми книгами" (физическими или условными), которые представляют собой словари кодовых групп, перечисленных с их соответствующим открытым текстом. Кодам изначально были присвоены кодовые группы в «порядке открытого текста» для удобства разработанного кода или кодировщика. Например, в коде, использующем группы числовых кодов, простое текстовое слово, начинающееся с «a», будет иметь группу с низким значением, а слово, начинающееся с «z», будет иметь группу с высоким значением. Та же самая кодовая книга может использоваться для «кодирования» сообщения с открытым текстом в закодированное сообщение или «кодовый текст» и для «декодирования» кодового текста обратно в сообщение с открытым текстом.

Чтобы усложнить жизнь взломщикам кодов, создатели кодов разработали коды без предсказуемой связи между кодовыми группами и порядком совпадающего открытого текста. На практике это означало, что теперь требовались две книги кодирования: одна для поиска кодовых групп для кодирования, а другая для поиска кодовых групп для поиска открытого текста для декодирования. Такие «двухчастные» коды требовали больше усилий для разработки и вдвое больше усилий для распространения (и безопасного удаления при замене), но их было труднее взломать. Телеграмма Циммермана в январе 1917 года использовала немецкую дипломатическую систему кодов «0075», состоящую из двух частей, которая содержала более 10 000 фраз и отдельных слов.

Одноразовый код

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

Иногда сообщения не подготовлены заранее и полагаются на общие знания, которые, как мы надеемся, известны только получателям. Примером может служить телеграмма, направленная президенту США Гарри Трумэну, затем на Потсдамской конференции для встречи с советским премьер-министром Иосифом Сталиным, в котором Трумэну сообщили о первое успешное испытание атомной бомбы.

"Проведено сегодня утром. Диагностика еще не завершена, но результаты кажутся удовлетворительными и уже превзошли ожидания. Необходим местный пресс-релиз, так как интерес распространяется очень далеко. Доктор Гроувс доволен. Он вернется завтра. Я буду держать вас в курсе ».

См. Также одноразовый блокнот, не связанный алгоритм шифрования

Код идиота

Код идиота - это код, созданный сторонами, которые его используют. Этот тип связи сродни ручным сигналам, используемым армиями в полевых условиях.

Пример: любое предложение, в котором используются слова «день» и «ночь», означает «нападение». Место, указанное в следующем предложении, указывает место, которое будет атаковано.

  • Открытый текст: Атака X.
  • Кодовый текст: Мы ходили день и ночь по улицам, но не могли его найти! Завтра мы перейдем к X.

Раннее использование этого термина, по-видимому, принадлежит Джорджу Перро, персонажу научно-фантастической книги Пятница Роберт А. Хайнлайн :

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

Эксперт по терроризму Магнус Рансторп сказал, что люди, проводившие сентябрь 11, 2001, при атаках на США для обсуждения своих планов использовалась обычная электронная почта и то, что он называет «идиотским кодом».

Криптоанализ кодов

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

Удерживать простой код можно потому, что некоторые слова встречаются чаще, чем другие, например «the» или «a» в английском языке. В телеграфных сообщениях кодовая группа для "STOP" (т.е. конец предложения или абзаца) обычно очень распространена. Это помогает определить структуру сообщения в терминах предложений, если не их значения, и это полезно для криптоанализа.

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

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

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

Шпаргалки могут быть незамедлительной раздачей для определения кодовых групп. По мере определения кодовых групп они могут постепенно наращивать критическую массу, при этом все больше и больше кодовых групп раскрываются из c контекст и обоснованные догадки. Односоставные коды более уязвимы для таких обоснованных предположений, чем двухчастные коды, поскольку, если кодовый номер «26839» односоставного кода определен как «бульдозер», то младший кодовый номер «17598», вероятно, будет обозначать текстовое слово, начинающееся с «a» или «b». По крайней мере, для простых кодов одной детали.

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

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

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

После создания кодов распространение кодовой книги затруднительно с точки зрения логистики и увеличивает вероятность взлома кода. Есть поговорка, что «три человека могут хранить секрет, если двое из них мертвы» (Бенджамин Франклин - Wikiquote ), и хотя это может быть чем-то вроде преувеличения, секрет становится труднее сохранить, если он делится между несколькими людьми. Коды можно считать достаточно безопасными, если они используются только несколькими осторожными людьми, но если целые армии используют одну и ту же книгу кодов, безопасность становится намного сложнее.

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

Супер-шифрование

Было обычным делом зашифровать сообщение после его первого кодирования, чтобы увеличить сложность криптоанализа. В случае числового кода это обычно делалось с «добавкой» - просто длинным ключевым числом, которое цифра за цифрой добавлялось к группам кодов по модулю 10. В отличие от кодовых книг, добавки менялись часто. Знаменитый код ВМС Японии, JN-25, был такой.

Ссылки

  1. ^История безопасности связи в США; Лекции Дэвида Г. Боука, Агентство национальной безопасности (АНБ), Том I, 1973, Том II, 1981, частично выпущен в 2008 году, дополнительные части рассекречены 14 октября 2015 года
  2. ^«Телеграмма Циммермана: Первоначальный проект», 2007, Иоахим фон цур Гатен, "Cryptologia", том 31, выпуск 1
  3. ^Пятница (1982), автор Роберт А. Хайнлайн
  4. ^Радио Свободная Европа / Радио Свобода: "Ближний Восток: Исламские боевики переносят джихад в Интернет »Джеффри Донован, 16 июня 2004 г.

Источники

  • Кан, Дэвид (1996). Взломщики кодов: всеобъемлющая история секретной связи с древних времен в Интернет. Скрибнер.
  • Пиковер, Клифф (2000). Cryptorunes: коды и секретное письмо. Гранатовые коммуникации. ISBN 978-0-7649-1251-1.
  • Боак, Дэвид Г. (июль 1973 г.) [1966]. «Коды» (PDF). История безопасности связи США; Лекции Дэвида Г. Боака, Vol. I (ред. Рассекречивания 2015 г.). Ft. Джордж Г. Мид, доктор медицины: Агентство национальной безопасности США. С. 21–32. Проверено 23 апреля 2017 г.

См. Также

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