The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

crypt (3)
  • crypt (1) ( Solaris man: Команды и прикладные программы пользовательского уровня )
  • crypt (1) ( FreeBSD man: Команды и прикладные программы пользовательского уровня )
  • crypt (3) ( Solaris man: Библиотечные вызовы )
  • crypt (3) ( FreeBSD man: Библиотечные вызовы )
  • >> crypt (3) ( Русские man: Библиотечные вызовы )
  • crypt (3) ( Linux man: Библиотечные вызовы )
  • crypt (3) ( POSIX man: Библиотечные вызовы )
  • Ключ crypt обнаружен в базе ключевых слов.
  •  

    НАЗВАНИЕ

    crypt - шифрует пароль и данные  

    СИНТАКСИС

    #define _XOPEN_SOURCE
    #include <unistd.h>

    char *crypt(const char *key, const char *salt);  

    ОПИСАНИЕ

    crypt - это функция шифрования пароля. Она основана на алгоритме Data Encryption Standard с различными расширениями и вариациями, нацеленными на усложнение задачи поиска ключа.

    key - это задаваемый пользователем пароль.

    salt - это двухсимвольная строка, выбираемая из набора [a-zA-Z0-9./]. Эта строка используется для направления алгоритма по одному из 4096-и путей.

    Если взять младшие 7 битов каждого из первых 8 символов key, то получается 56-битный ключ. Этот ключ используется для многократного шифрования константной строки (обычно строки, состоящей из символов "0"). Возвращаемое значение - указатель на зашифрованный пароль, серия из 13-и ASCII-символов (первые два символа содержат salt). Возвращаемое значение - указатель на статические данные, которые записываются вновь при каждом вызове crypt.

    Внимание: количество ключей равно 2**56, т.е., существует 7.2e16 возможных вариантов. Простой поиск в этом множестве возможен с помощью большого количества параллельных компьютеров. Программное обеспечение, такое, как crack(1), возможно, отыщет часть ключей из этого множества, обычно используемых людьми для создания пароля. Конечно, в качестве пароля не стоит использовать простые слова и имена. Использование программы passwd(1) позволяет избежать простых паролей на стадии их ввода.

    Алгоритм DES имеет некоторые особенности, которые не позволяют использовать интерфейс crypt(3) для того, что не связано с аутентификацией пользователя по паролю. Если Вы планируете использовать интерфейс crypt(3) в криптографическом проекте, то лучше не делайте этого. Вместо этого возьмите хорошую книгу по шифрованию или одну из общедоступных библиотек DES.  

    ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ

    Возвращается указатель на зашифрованный пароль. При ошибках возвращается NULL.  

    НАЙДЕННЫЕ ОШИБКИ

    ENOSYS
    Функция crypt не была применена, возможно из-за запретов США на экспорт алгоритмов шифрования.
     

    РАСШИРЕНИЯ GNU

    Версия этой функции, реализованная в glibc2, имеет следующие дополнительные возможности. Если salt является строкой символов, начинающейся с "$1$", за которой идет максимум восемь символов, и, возможно оканчивающейся "$", то, вместо использования алгоритма шифрования DES, функцией crypt библиотеки glibc будет использован алгоритм, основанный на MD5. Результатом работы этого алгоритма будет до 34 байтов, а именно "$1$<строка>$", где <строка> означает до 8 символов, взятых из salt после "$1$", за которыми следует 22 байта, выбранных из набора [a-zA-Z0-9./]. В этом случае значение имеет весь ключ (вместо первых 8 байтов).

    Программы, использующие эту функцию, должны линковаться с -lcrypt.  

    СООТВЕТСТВИЕ СТАНДАРТАМ

    SVID, X/OPEN, BSD 4.3, POSIX 1003.1-2001  

    СМ. ТАКЖЕ

    login(1), passwd(1), encrypt(3), getpass(3), passwd(5)


     

    Index

    НАЗВАНИЕ
    СИНТАКСИС
    ОПИСАНИЕ
    ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
    НАЙДЕННЫЕ ОШИБКИ
    РАСШИРЕНИЯ GNU
    СООТВЕТСТВИЕ СТАНДАРТАМ
    СМ. ТАКЖЕ


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру