doc/documentation/manual-pages/ja/man3/des_crypt.3
Sergio Carlavilla Delgado 989d921f5d Migrate doc to Hugo/AsciiDoctor
I'm very pleased to announce the release of
our new website and documentation using
the new toolchain with Hugo and AsciiDoctor.

To get more information about the new toolchain
please read the FreeBSD Documentation Project Primer[1],
Hugo docs[2] and AsciiDoctor docs[3].

Acknowledgment:
Benedict Reuschling <bcr@>
Glen Barber <gjb@>
Hiroki Sato <hrs@>
Li-Wen Hsu <lwhsu@>
Sean Chittenden <seanc@>
The FreeBSD Foundation

[1] https://docs.FreeBSD.org/en/books/fdp-primer/
[2] https://gohugo.io/documentation/
[3] https://docs.asciidoctor.org/home/

Approved by:    doceng, core
2021-01-26 00:31:29 +01:00

113 lines
2.8 KiB
Groff

.\" @(#)des_crypt.3 2.1 88/08/11 4.0 RPCSRC; from 1.16 88/03/02 SMI;
.\" %FreeBSD: src/lib/libc/rpc/des_crypt.3,v 1.4.2.3 2001/12/14 18:33:56 ru Exp %
.\" $FreeBSD$
.\"
.Dd October 6, 1987
.Dt DES_CRYPT 3
.Os
.Sh 名称
.Nm des_crypt , ecb_crypt , cbc_crypt , des_setparity
.Nd 高速 DES 暗号化
.Sh ライブラリ
.Lb libc
.Sh 書式
.In 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 解説
.Fn ecb_crypt
.Fn cbc_crypt
は、
.Tn NBS
.Tn DES
(Data Encryption Standard) を実現しています。これらのルーチンは、
.Xr crypt 3
より高速で汎用的です。また、
.Tn DES
ハードウェアが用意されていれば、それも利用できます。
.Fn ecb_crypt
は、
.Tn ECB
(Electronic Code Book) モードで暗号化します。
これはデータのブロックを独立に暗号化するものです。
.Fn cbc_crypt
は、
.Tn CBC
(Cipher Block Chaining) モードで暗号化します。これは
連続するブロックを一つにつなげるものです。
.Tn CBC
モードは、ブロックの挿入、削除、置き換えに対する保護を行ないます。
また、通常のテキストにおける正規性は暗号テキストには現れません。
.Pp
これらのルーチンを使用する方法は次のとおりです。最初のパラメータ
.Fa key ,
は、パリティ付き 8 バイトの暗号化キーです。キーのパリティ (
.Tn DES
の場合、これは各バイトの下位ビットにあります) を設定するためには、
.Fn des_setparity
を使用します。2 番めのパラメータ
.Fa data
には、暗号化または暗号解除されるデータが入っています。
3 番めのパラメータ
.Fa datalen
は、
.Fa data
の長さ (バイト単位) であり、これは 8 の倍数でなければなりません。
4 番めのパラメータ
.Fa mode
は、いくつかのものの論理和 (
.Em OR Ns 'ing
) によって作成されます。暗号化の方向に関しては、
.Dv DES_ENCRYPT
.Dv DES_DECRYPT
どちらかの
.Em 論理和
を、ソフトウェア対ハードウェアの暗号化については、
.Dv DES_HW
.Dv DES_SW
のどちらかの
.Em 論理和
を取り、
.Dv DES_HW
が指定されており、しかもハードウェアがない場合は、
暗号化はソフトウェアで実行され、ルーチンは
.Er DESERR_NOHWDEVICE
を返します。
.Fn cbc_crypt
の場合、パラメータ
.Fa ivec
はチェイン作成用の 8 バイトの初期化ベクトルです。
これは戻り時に、次の初期化ベクトルへと更新されます。
.Sh エラー
.Bl -tag -width [DESERR_NOHWDEVICE] -compact
.It Bq Er DESERR_NONE
エラーなし。
.It Bq Er DESERR_NOHWDEVICE
暗号化処理は成功しましたが、要求されたハードウェアではなく
ソフトウェアで行われました。
.It Bq Er DESERR_HWERR
ハードウェアまたはドライバでエラーが発生しました。
.It Bq Er DESERR_BADPARAM
ルーチンに間違ったパラメータが指定されました。
.El
.Pp
終了コード
.Va stat
が与えられると、マクロ
.Fn DES_FAILED stat
が偽になるのは、最初の 2 つのステータスについてだけです。
.Sh 関連項目
.\" .Xr des 1 ,
.Xr crypt 3
.Sh 制約
これらのルーチンは RPCSRC 4.0 では利用できません。
この情報は Secure RPC で求められる
.Tn DES
インタフェースの説明として提供されています。