stringtranslate.com

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

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

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

Некоторые версии Unix поставлялись с еще более слабой версией команды crypt(1) для того, чтобы соответствовать современным законам и правилам, которые ограничивали экспорт криптографического программного обеспечения . Некоторые из них были просто реализациями шифра Цезаря (фактически не более безопасными, чем ROT13 , который реализован как шифр Цезаря с хорошо известным ключом).

История

Криптограф Роберт Моррис написал криптографию на основе M-209 , которая впервые появилась в версии 3 Unix , чтобы поощрить эксперименты по взлому кодов; Моррису удалось взломать криптографию вручную. Деннис Ритчи автоматизировал расшифровку с помощью метода Джеймса Ридса, а новая версия на основе Enigma появилась в версии 7 , которую Ридс и Питер Дж. Вайнбергер также взломали. [2]

крипта(1)под Linux

Дистрибутивы Linux обычно не включают в себя совместимую с Unix версию команды crypt . Это во многом обусловлено сочетанием трех основных факторов:

  1. crypt относительно малоизвестен и редко используется для вложений в электронные письма или как формат файла
  2. crypt считается слишком слабым с криптографической точки зрения, чтобы противостоять атакам методом подбора пароля, проводимым современными вычислительными системами (системы Linux обычно поставляются с GNU Privacy Guard , который считается достаточно безопасным по современным стандартам)
  3. В первые годы разработки и внедрения Linux существовали опасения, что даже такой слабый алгоритм, используемый Crypt , все равно может нарушить экспортный контроль ITAR; поэтому разработчики основных дистрибутивов в Соединенных Штатах , как правило , исключали его, [ требуется цитата ] предоставляя своим клиентам возможность скачивать GnuPG или другое надежное криптографическое программное обеспечение с международных сайтов, иногда предоставляя пакеты или скрипты для автоматизации этого процесса.

Исходный код нескольких старых версий команды crypt доступен в Unix Archive Общества наследия Unix. [3] Последний исходный код crypt доступен в проекте OpenSolaris . Версия , находящаяся в открытом доступе, доступна в Crypt Breaker's Workbench.

Расширенные утилиты симметричного шифрования доступны для Linux (и также должны быть переносимы на любую другую Unix-подобную систему), включая mcrypt и ccrypt . [4] Хотя они обеспечивают поддержку гораздо более сложных и современных алгоритмов, их можно использовать для шифрования [5] и дешифрования файлов, совместимых с традиционной командой crypt(1), указав правильные параметры командной строки.

Взлом шифрования crypt(1)

Программы для взлома шифрования crypt(1) широко доступны. Общедоступная программа Crypt Breaker's Workbench Боба Болдуина, написанная в 1984-1985 годах, представляет собой интерактивный инструмент, который предоставляет последовательные предположения открытого текста, которые должны быть исправлены пользователем. Он также предоставляет рабочую реализацию crypt(1), используемую современными дистрибутивами BSD. [6]

Взломщик unixcrypt Питера Селинджера использует простую статистическую модель, похожую на атаку по словарю, которая берет набор простых текстов в качестве входных данных и обрабатывает его, чтобы угадать правдоподобные простые тексты, и не требует взаимодействия с пользователем. [7]

Связь с функцией хэширования пароля

Существует также хэш-функция пароля Unix с тем же именем, crypt . Хотя обе они используются для защиты данных в некотором смысле, в остальном они по сути не связаны. Чтобы различать их, авторы часто называют служебную программу crypt(1) , поскольку она документирована в разделе 1 страниц руководства Unix , а хэш-функцию пароля — crypt(3) , поскольку ее документация находится в разделе 3 руководства.

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

Ссылки

  1. ^ crypt(1)  –  Руководство по основным командам FreeBSD
  2. ^ Макилрой, МД (1987). Исследовательский ридер Unix: аннотированные выдержки из Руководства программиста, 1971–1986 (PDF) (Технический отчет). CSTR. Bell Labs. 139.
  3. ^ "Сайты архивов Unix". TUHS .
  4. Питер Селинджер: ccrypt. Получено 27 июля 2008 г.
  5. ^ FUD Криптер
  6. Болдуин, Боб (1985–1994). «Crypt Breaker's Workbench». Архивировано из оригинала 2011-08-18.
  7. ^ Питер Селинджер: unixcrypt-breaker. Получено 27 июля 2008 г.

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