Русская Википедия:Crypt (Unix)

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:About Шаблон:Карточка программы

В UNIX системах crypt является устаревшей утилитой, предназначенной для шифрования файлов.

История

Crypt был создан Робертом Моррисом и впервые появился в Version 3 Unix с целью стимулировать разработки по взлому шифров; в конечном итоге Моррис сам и взломал crypt. Деннис Ритчи сумел автоматизировать процесс расшифровки, используя метод, предложенный Джеймсом Ридсом, и усовершенствованная версия алгоритма crypt появилась в Version 7 Unix, которую Ридс и Питер Вейнбергер также взломали[1].

Связь с хеш-функцией

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

Команда crypt(1)

crypt(1) является простой утилитой для шифрования/дешифровки данных. Как правило она используется в качестве программы-фильтра (программы, которая принимает на вход строку и возвращает другую строку), и которая традиционно основывается на алгоритме, использовавшемся в машине Энигма. Алгоритм считается чрезмерно криптографически уязвимым, чтобы обеспечить защиту от полного перебора ключей современным бытовым персональным компьютером.

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

crypt(1) на Linux

Дистрибутивы Linux обычно не включают в себя UNIX-совместимую версию crypt по нескольким причинам:

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

Исходный код для нескольких старых версий программы crypt доступен в архиве The Unix Heritage Society.

Последняя версия кода доступна в проекте OpenSolaris.

В настоящее время на Linux доступны усовершенствованные симметричные криптосистемы (они также портируемы на любую другую UNIX-подобную операционную систему), включая mcrypt и ccrypt[2]. Несмотря на то, что эти программы позволяют использовать весьма сложные алгоритмы шифрования, с помощью опций командной строки можно задать им режим работы, совместимый с классическим crypt(1).

Взлом crypt(1)

Программы для взлома шифров crypt(1) широко доступны. В 1984—1985 Боб Балдвин создал программу Crypt Breaker’s Workbench[3], которая является интерактивной утилитой, предоставляющей пользователю последовательно 'догадки' о пароле, а пользователь должен выбирать из них наиболее подходящий. Unixcrypt-breaker Питера Селингера[4] использует простую статистическую модель для отсеивания неподходящих паролей и не требует вмешательства пользователя.

Примечания

Шаблон:Примечания

Ссылки

Шаблон:Хеш-алгоритмы

  1. Шаблон:Cite web
  2. Peter Selinger: ccrypt Шаблон:Wayback. Июль 27, 2008.
  3. Bob Baldwin: Crypt Breaker’s Workbench Шаблон:Wayback, 1984—1985.
  4. Peter Selinger: unixcrypt-breaker Шаблон:Wayback. Июль 27, 2008.