Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

       des_crypt, ecb_crypt, cbc_crypt, des_setparity, DES_FAILED - быстрое шифрование DES

БИБЛИОТЕКА

       Стандартная библиотека языка C (libc, -lc)

ОБЗОР

       #include <rpc/des_crypt.h>

       [[deprecated]] int ecb_crypt(char *key, char data[.datalen],
                                    unsigned int datalen, unsigned int mode);
       [[deprecated]] int cbc_crypt(char *key, char data[.datalen],
                                    unsigned int datalen, unsigned int mode,
                                    char *ivec);

       [[deprecated]] void des_setparity(char *key);

       [[deprecated]] int DES_FAILED(int status);

ОПИСАНИЕ

       ecb_crypt()   and  cbc_crypt()   implement  the  NBS  DES (Data Encryption Standard).  These routines are
       faster and more general purpose than crypt(3).  They also are able to  utilize  DES  hardware  if  it  is
       available.   ecb_crypt()   encrypts  in  ECB  (Electronic Code Book)  mode, which encrypts blocks of data
       independently.  cbc_crypt()  encrypts in  CBC  (Cipher  Block  Chaining)   mode,  which  chains  together
       successive  blocks.  CBC mode protects against insertions, deletions, and substitutions of blocks.  Also,
       regularities in the clear text will not appear in the cipher text.

       Рассмотрим применение этих  функций.  Первый  параметр,  key,  является  8-байтным  ключом  шифрования  с
       чётностью.  Для  установки  чётности  ключа,  которая  для  DES  находится  в младшем бите каждого байта,
       используйте des_setparity. Второй параметр, data, содержит данные для шифрования или расшифровки.  Третий
       параметр,  datalen,  задаёт  длину  блока  данных  data  в  байтах, длина должна быть кратна 8. Четвертый
       параметр, mode, формируется через логическое сложение (OR) нескольких вещей. Чтобы указать  тип  операции
       добавляется  либо  DES_ENCRYPT, либо DES_DECRYPT. Чтобы применить программное шифрование или использовать
       специальное оборудование, добавляется либо DES_HW, либо DES_SW. Если указано  DES_HW  и  оборудование  не
       обнаружено,  то  шифрование  выполняется  в программном режиме, а функция возвращает DESERR_NOHWDEVICE. В
       cbc_crypt() параметр ivec используется как 8-байтовый вектор инициализации  для  шифрования  цепочек.  Он
       обновляется на следующий вектор инициализации при возврате.

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

       DESERR_NONE
              Нет ошибок.

       DESERR_NOHWDEVICE
              Шифрование  выполнено,  но использовался программный метод, так как не было обнаружено запрошенное
              оборудование шифрования.

       DESERR_HWERROR
              Ошибка в оборудовании или драйвере.

       DESERR_BADPARAM
              Некорректный параметр функции.

       Указывая итоговое состояние stat, значение макроса DES_FAILED(stat) будет ложно только  для  первых  двух
       состояний.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).
       ┌─────────────────────────────────────────────────────────────────────┬──────────────────────┬──────────┐
       │ ИнтерфейсАтрибутЗначение │
       ├─────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────┤
       │ ecb_crypt(), cbc_crypt(), des_setparity()                           │ Безвредность в нитях │ MT-Safe  │
       └─────────────────────────────────────────────────────────────────────┴──────────────────────┴──────────┘

СТАНДАРТЫ

       Отсутствуют.

ИСТОРИЯ

       4.3BSD.  glibc 2.1.  Removed in glibc 2.28.

       Because  they  employ  the  DES  block cipher, which is no longer considered secure, these functions were
       removed.  Applications should switch to a modern cryptography library, such as libgcrypt.

СМОТРИТЕ ТАКЖЕ

       des(1), crypt(3), xcrypt(3)

ПЕРЕВОД

       Русский перевод этой страницы руководства разработал(и) Yuri  Kozlov  <yuray@komyakino.ru>,  Иван  Павлов
       <pavia00@gmail.com> и Kirill Rekhov <krekhov.dev@gmail.com>

       Этот  перевод является свободной программной документацией; он распространяется на условиях общедоступной
       лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html  версии  3  или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если  вы  обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
       разработчику(ам)  по  его(их)  адресу(ам)  электронной  почты  или  по   адресу   списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                     des_crypt(3)