aboutsummaryrefslogblamecommitdiff
path: root/ja_JP.eucJP/man/man3/des_crypt.3
blob: 91b87f762ff8ac5bc320d8752a6c9ee8477a4af6 (plain) (tree)
1
2
                                                                        
             























































































































                                                                       
.\" @(#)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 名称
des_crypt, ecb_crypt, cbc_crypt, des_setparity \- 高速 DES 暗号化
.SH 書式
.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 解説
.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()
と
.B cbc_crypt()
は、
.SM NBS
.SM DES
(Data Encryption Standard) を実現しています。これらのルーチンは、
.BR crypt (3)
より高速で汎用的です。また、
.SM DES
ハードウェアが用意されていれば、それも利用できます。
.B ecb_crypt(\|)
は、
.SM ECB
(Electronic Code Book) モードで暗号化します。
これはデータのブロックを独立に暗号化するものです。
.B cbc_crypt(\|)
は、
.SM CBC
(Cipher Block Chaining) モードで暗号化します。これは
連続するブロックを一つにつなげるものです。
.SM CBC
モードは、ブロックの挿入、削除、置き換えに対する保護を行ないます。
また、通常のテキストにおける正規性は暗号テキストには現れません。
.LP
これらのルーチンを使用する方法は次のとおりです。最初のパラメータ
.I key
は、パリティ付き 8 バイトの暗号化キーです。キーのパリティ (
.SM DES
の場合、これは各バイトの下位ビットにあります) を設定するためには、
.I des_setparity
を使用します。2 番めのパラメータ
.I data
には、暗号化または暗号解除されるデータが入っています。
3 番めのパラメータ
.I datalen
は、
.I data
の長さ (バイト単位) であり、これは 8 の倍数でなければなりません。
4 番めのパラメータ
.I mode
は、いくつかのものの論理和 (
.SM OR\s0'ing
) によって作成されます。暗号化の方向に関しては、
.SM DES_ENCRYPT
か
.SM DES_DECRYPT
どちらかの論理和を、ソフトウェア対ハードウェアの暗号化については、
.SM DES_HW
か
.SM DES_SW
のどちらかの論理和を取り、
.SM DES_HW
が指定されており、しかもハードウェアがない場合は、
暗号化はソフトウェアで実行され、ルーチンは
.SM DESERR_NOHWDEVICE
を返します。
.I cbc_crypt
の場合、パラメータ
.I ivec
はチェイン作成用の 8 バイトの初期化ベクトルです。
これは戻り時に、次の初期化ベクトルへと更新されます。
.SH 関連項目
.BR des (1),
.BR crypt (3)
.SH 診断
.PD 0
.TP 20
.SM DESERR_NONE
エラーなし
.TP
.SM DESERR_NOHWDEVICE
暗号化処理は成功しましたが、要求されたハードウェアではなく
ソフトウェアで行われました。
.TP
.SM DESERR_HWERR An
ハードウェアまたはドライバでエラーが発生しました。
.TP
.SM DESERR_BADPARAM
ルーチンに間違ったパラメータが指定されました。
.PD
.LP
終了コード
.I stat
が与えられると、マクロ
.SM DES_FAILED\c
.BR ( stat )
が偽になるのは、最初の 2 つのステータスについてだけです。
.SH 制約
これらのルーチンは RPCSRC 4.0 では利用できません。
この情報は Secure RPC で求められる
DES インタフェースの説明として提供されています。