summaryrefslogtreecommitdiff
path: root/lib/libc/rpc/des_crypt.3
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/rpc/des_crypt.3')
-rw-r--r--lib/libc/rpc/des_crypt.3157
1 files changed, 75 insertions, 82 deletions
diff --git a/lib/libc/rpc/des_crypt.3 b/lib/libc/rpc/des_crypt.3
index e8651fed438b..4b65d6d67975 100644
--- a/lib/libc/rpc/des_crypt.3
+++ b/lib/libc/rpc/des_crypt.3
@@ -1,130 +1,123 @@
.\" @(#)des_crypt.3 2.1 88/08/11 4.0 RPCSRC; from 1.16 88/03/02 SMI;
.\" $FreeBSD$
.\"
-.TH DES_CRYPT 3 "6 October 1987"
-.SH NAME
-des_crypt, ecb_crypt, cbc_crypt, des_setparity \- fast DES encryption
-.SH SYNOPSIS
-.nf
-.B #include <des_crypt.h>
-.LP
-.B int ecb_crypt(key, data, datalen, mode)
-.B char *key;
-.B char *data;
-.B unsigned datalen;
-.B unsigned mode;
-.LP
-.B int cbc_crypt(key, data, datalen, mode, ivec)
-.B char *key;
-.B char *data;
-.B unsigned datalen;
-.B unsigned mode;
-.B char *ivec;
-.LP
-.B void des_setparity(key)
-.B char *key;
-.fi
-.SH DESCRIPTION
-.IX encryption cbc_crypt "" \fLcbc_crypt\fP
-.IX "des encryption" cbc_crypt "DES encryption" \fLcbc_crypt\fP
-.IX encryption des_setparity "" \fLdes_setparity\fP
-.IX "des encryption" des_setparity "DES encryption" \fLdes_setparity\fP
-.B ecb_crypt(\|)
+.Dd October 6, 1987
+.Dt DES_CRYPT 3
+.Os
+.Sh NAME
+.Nm des_crypt , ecb_crypt , cbc_crypt , des_setparity
+.Nd "fast DES encryption"
+.Sh LIBRARY
+.Lb libc
+.Sh SYNOPSIS
+.Fd "#include <rpc/des_crypt.h>"
+.Ft int
+.Fn ecb_crypt "char *key" "char *data" "unsigned datalen" "unsigned mode"
+.Ft int
+.Fn cbc_crypt "char *key" "char *data" "unsigned datalen" "unsigned mode" "char *ivec"
+.Ft void
+.Fn des_setparity "char *key"
+.Sh DESCRIPTION
+.Fn ecb_crypt
and
-.B cbc_crypt(\|)
+.Fn cbc_crypt
implement the
-.SM NBS
-.SM DES
+.Tn NBS
+.Tn DES
(Data Encryption Standard).
These routines are faster and more general purpose than
-.BR crypt (3).
+.Xr crypt 3 .
They also are able to utilize
-.SM DES
+.Tn DES
hardware if it is available.
-.B ecb_crypt(\|)
+.Fn ecb_crypt
encrypts in
-.SM ECB
+.Tn ECB
(Electronic Code Book)
mode, which encrypts blocks of data independently.
-.B cbc_crypt(\|)
+.Fn cbc_crypt
encrypts in
-.SM CBC
+.Tn CBC
(Cipher Block Chaining)
mode, which chains together
successive blocks.
-.SM CBC
+.Tn CBC
mode protects against insertions, deletions and
substitutions of blocks.
Also, regularities in the clear text will
not appear in the cipher text.
-.LP
-Here is how to use these routines. The first parameter,
-.IR key ,
+.Pp
+Here is how to use these routines.
+The first parameter,
+.Fa key ,
is the 8-byte encryption key with parity.
To set the key's parity, which for
-.SM DES
+.Tn DES
is in the low bit of each byte, use
-.IR des_setparity .
+.Fn des_setparity .
The second parameter,
-.IR data ,
+.Fa data ,
contains the data to be encrypted or decrypted.
The
third parameter,
-.IR datalen ,
+.Fa datalen ,
is the length in bytes of
-.IR data ,
-which must be a multiple of 8. The fourth parameter,
-.IR mode ,
+.Fa data ,
+which must be a multiple of 8.
+The fourth parameter,
+.Fa mode ,
is formed by
-.SM OR\s0'ing
-together some things. For the encryption direction 'or' in either
-.SM DES_ENCRYPT
+.Em OR Ns 'ing
+together some things.
+For the encryption direction
+.Em OR
+in either
+.Dv DES_ENCRYPT
or
-.SM DES_DECRYPT\s0.
+.Dv DES_DECRYPT .
For software versus hardware
-encryption, 'or' in either
-.SM DES_HW
+encryption,
+.Em OR
+in either
+.Dv DES_HW
or
-.SM DES_SW\s0.
+.Dv DES_SW .
If
-.SM DES_HW
+.Dv DES_HW
is specified, and there is no hardware, then the encryption is performed
in software and the routine returns
-.SM DESERR_NOHWDEVICE\s0.
+.Er DESERR_NOHWDEVICE .
For
-.IR cbc_crypt ,
+.Fn cbc_crypt ,
the parameter
-.I ivec
+.Fa ivec
is the the 8-byte initialization
-vector for the chaining. It is updated to the next initialization
+vector for the chaining.
+It is updated to the next initialization
vector upon return.
-.LP
-.SH "SEE ALSO"
-.BR des (1),
-.BR crypt (3)
-.SH DIAGNOSTICS
-.PD 0
-.TP 20
-.SM DESERR_NONE
+.Sh ERRORS
+.Bl -tag -width [DESERR_NOHWDEVICE] -compact
+.It Bq Er DESERR_NONE
No error.
-.TP
-.SM DESERR_NOHWDEVICE
+.It Bq Er DESERR_NOHWDEVICE
Encryption succeeded, but done in software instead of the requested hardware.
-.TP
-.SM DESERR_HWERR
+.It Bq Er DESERR_HWERR
An error occurred in the hardware or driver.
-.TP
-.SM DESERR_BADPARAM
+.It Bq Er DESERR_BADPARAM
Bad parameter to routine.
-.PD
-.LP
+.El
+.Pp
Given a result status
-.IR stat ,
+.Va stat ,
the macro
-.SM DES_FAILED\c
-.BR ( stat )
+.Fn DES_FAILED stat
is false only for the first two statuses.
-.SH RESTRICTIONS
+.Sh SEE ALSO
+.\" .Xr des 1 ,
+.Xr crypt 3
+.Sh RESTRICTIONS
These routines are not available in RPCSRC 4.0.
-This information is provided to describe the DES interface expected by
+This information is provided to describe the
+.Tn DES
+interface expected by
Secure RPC.