|
HOME > Linux Tips ( 目次 ) > Linux コマンド 一覧表 > d > des_crypt - ライブラリコールの説明 des_crypt - ライブラリコールの説明 - Linux コマンド集 一覧表名前des_crypt, ecb_crypt, cbc_crypt, des_setparity, DES_FAILED - 高速な DES 暗号化 書式
#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); int DES_FAILED(int status); 説明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 はブロックの挿入・削除・置き換えから保護する。 また平文の規則性が暗号文に現れない。 これらのルーチンの使用法を示す。 第 1 引き数 key はパリティ付きの 8 バイトの暗号化鍵である。 鍵のパリティを設定するには des_setparity ()を使うこと。 DES の場合、鍵のパリティは各バイトの最下位ビットである。 第 2 引き数 data は暗号化または復号化されるデータを含む。 第 3 引き数 datalen は data のバイト長であり、8 の倍数でなければならない。 第 4 引き数 mode はいくつかの値を OR することで作成する。 暗号化の方向 (訳註: 暗号化なのか復号化なのか) を指定するため、 DES_ENCRYPT または DES_DECRYPT を 'or' する。 暗号化をソフトウェアで行うかハードウェアで行うかを指定するため、 DES_HW または DES_SW を 'or' する。 DES_HW が指定されていて、かつハードウェアがない場合、 暗号化はソフトウェアで実行されて、ルーチンは DESERR_NOHWDEVICE を返す。 cbc_crypt ()において、引き数 ivec はデータブロックを連鎖させる際の 8 バイトの初期化ベクトルである。 この引き数はルーチンから戻るときに次の初期化ベクトルに更新される。 関連項目des (1), crypt (3), xcrypt (3) 返り値
有効性これらのルーチンは libc 4.6.27 以降と glibc 2.1 以降に存在する。 準拠
4.3BSD. POSIX.1-2001 にはない。
|
|