tail head cat sleep
QR code linking to this page

manページ  — DES_CRYPT

名称

des_crypt – 高速 DES 暗号化

内容

ライブラリ

Standard C Library (libc, -lc)

書式

#include <rpc/des_crypt.h>

int
ecb_crypt(char *key, char *data, unsigned datalen, unsigned mode);

int
cbc_crypt(char *key, char *data, unsigned datalen, unsigned mode, char *ivec);

void
des_setparity(char *key);

解説

ecb_crypt()cbc_crypt() は、 NBS DES (Data Encryption Standard) を実現しています。これらのルーチンは、 crypt(3) より高速で汎用的です。また、 DES ハードウェアが用意されていれば、それも利用できます。 ecb_crypt() は、 ECB (Electronic Code Book) モードで暗号化します。 これはデータのブロックを独立に暗号化するものです。 cbc_crypt() は、 CBC (Cipher Block Chaining) モードで暗号化します。これは 連続するブロックを一つにつなげるものです。 CBC モードは、ブロックの挿入、削除、置き換えに対する保護を行ないます。 また、通常のテキストにおける正規性は暗号テキストには現れません。

これらのルーチンを使用する方法は次のとおりです。最初のパラメータ key, は、パリティ付き 8 バイトの暗号化キーです。キーのパリティ ( DES の場合、これは各バイトの下位ビットにあります) を設定するためには、 des_setparity() を使用します。2 番めのパラメータ data には、暗号化または暗号解除されるデータが入っています。 3 番めのパラメータ datalen は、 data の長さ (バイト単位) であり、これは 8 の倍数でなければなりません。 4 番めのパラメータ mode は、いくつかのものの論理和 ( OR'ing ) によって作成されます。暗号化の方向に関しては、 DES_ENCRYPT DES_DECRYPT どちらかの 論理和 を、ソフトウェア対ハードウェアの暗号化については、 DES_HW DES_SW のどちらかの 論理和 を取り、 DES_HW が指定されており、しかもハードウェアがない場合は、 暗号化はソフトウェアで実行され、ルーチンは DESERR_NOHWDEVICE を返します。 cbc_crypt() の場合、パラメータ ivec はチェイン作成用の 8 バイトの初期化ベクトルです。 これは戻り時に、次の初期化ベクトルへと更新されます。

エラー

[DESERR_NONE] エラーなし。
[DESERR_NOHWDEVICE]
  暗号化処理は成功しましたが、要求されたハードウェアではなく ソフトウェアで行われました。
[DESERR_HWERR] ハードウェアまたはドライバでエラーが発生しました。
[DESERR_BADPARAM] ルーチンに間違ったパラメータが指定されました。

終了コード stat が与えられると、マクロ DES_FAILED(stat) が偽になるのは、最初の 2 つのステータスについてだけです。

関連項目

crypt(3)

制約

これらのルーチンは RPCSRC 4.0 では利用できません。 この情報は Secure RPC で求められる DES インタフェースの説明として提供されています。

DES_CRYPT (3) October 6, 1987

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

Ken Thompson has an automobile which he helped design. Unlike most automobiles, it has neither speedometer, nor gas gauge, nor any of the other numerous idiot lights which plague the modern driver. Rather, if the driver makes a mistake, a giant “?” lights up in the center of the dashboard. “The experienced driver,” says Thompson, “will usually know what's wrong.”