.\" -*- coding: UTF-8 -*- '\" t .\" @(#)des_crypt.3 2.1 88/08/11 4.0 RPCSRC; from 1.16 88/03/02 SMI; .\" .\" Taken from libc4 sources, which say: .\" Copyright (C) 1993 Eric Young - can be distributed under GPL. .\" .\" However, the above header line suggests that this file in fact is .\" Copyright Sun Microsystems, Inc (and is provided for unrestricted use, .\" see other Sun RPC sources). .\" .\" SPDX-License-Identifier: GPL-1.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH des_crypt 3 "15 декабря 2022 г." "Linux man\-pages 6.03" .SH ИМЯ des_crypt, ecb_crypt, cbc_crypt, des_setparity, DES_FAILED \- быстрое шифрование DES .SH LIBRARY Standard C library (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf .\" Sun version .\" .B #include \fB#include \fP .PP \fBint ecb_crypt(char *\fP\fIkey\fP\fB, char \fP\fIdata\fP\fB[.\fP\fIdatalen\fP\fB], unsigned int \fP\fIdatalen\fP\fB,\fP \fB unsigned int \fP\fImode\fP\fB);\fP \fBint cbc_crypt(char *\fP\fIkey\fP\fB, char \fP\fIdata\fP\fB[.\fP\fIdatalen\fP\fB], unsigned int \fP\fIdatalen\fP\fB,\fP \fB unsigned int \fP\fImode\fP\fB, char *\fP\fIivec\fP\fB);\fP .PP \fBvoid des_setparity(char *\fP\fIkey\fP\fB);\fP .PP \fBint DES_FAILED(int \fP\fIstatus\fP\fB);\fP .fi .SH ОПИСАНИЕ \fBecb_crypt\fP() and \fBcbc_crypt\fP() implement the NBS DES (Data Encryption Standard). These routines are faster and more general purpose than \fBcrypt\fP(3). They also are able to utilize DES hardware if it is available. \fBecb_crypt\fP() encrypts in ECB (Electronic Code Book) mode, which encrypts blocks of data independently. \fBcbc_crypt\fP() 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. .PP Рассмотрим применение этих функций. Первый параметр, \fIkey\fP, является 8\-байтным ключом шифрования с чётностью. Для установки чётности ключа, которая для DES находится в младшем бите каждого байта, используйте \fBdes_setparity\fP. Второй параметр, \fIdata\fP, содержит данные для шифрования или расшифровки. Третий параметр, \fIdatalen\fP, задаёт длину блока данных \fIdata\fP в байтах, длина должна быть кратна 8. Четвертый параметр, \fImode\fP, формируется через логическое сложение (OR) нескольких вещей. Чтобы указать тип операции добавляется либо \fBDES_ENCRYPT\fP, либо \fBDES_DECRYPT\fP. Чтобы применить программное шифрование или использовать специальное оборудование, добавляется либо \fBDES_HW\fP, либо \fBDES_SW\fP. Если указано \fBDES_HW\fP и оборудование не обнаружено, то шифрование выполняется в программном режиме, а функция возвращает \fBDESERR_NOHWDEVICE\fP. В \fBcbc_crypt\fP() параметр \fIivec\fP используется как 8\-байтовый вектор инициализации для шифрования цепочек. Он обновляется на следующий вектор инициализации при возврате. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" .TP \fBDESERR_NONE\fP Нет ошибок. .TP \fBDESERR_NOHWDEVICE\fP Шифрование выполнено, но использовался программный метод, так как не было обнаружено запрошенное оборудование шифрования. .TP \fBDESERR_HWERROR\fP Ошибка в оборудовании или драйвере. .TP \fBDESERR_BADPARAM\fP Некорректный параметр функции. .PP .\" .BR DES_FAILED\c .\" .BR ( stat ) .\" So far the Sun page .\" Some additions - aeb Указывая итоговое состояние \fIstat\fP, значение макроса \fBDES_FAILED(\fP\fIstat\fP\fB)\fP будет ложно только для первых двух состояний. .SH ВЕРСИИ These functions were added in glibc 2.1. .PP Функции \fBecb_crypt\fP(), \fBecb_crypt\fP(), \fBcrypt_r\fP() и \fBdes_setparity\fP() удалены из glibc 2.28, так как они используют блочный шифр DES, который теперь считается небезопасным. В приложениях следует использовать современную библиотеку шифрования, например \fBlibgcrypt\fP. .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .ad l .nh .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ \fBecb_crypt\fP(), \fBcbc_crypt\fP(), \fBdes_setparity\fP() T} Безвредность в нитях MT\-Safe .TE .hy .ad .sp 1 .SH СТАНДАРТЫ 4.3BSD. Отсутствует в POSIX\-1. .SH "СМ. ТАКЖЕ" \fBdes\fP(1), \fBcrypt\fP(3), \fBxcrypt\fP(3) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .