CIPHER

Section: C Library Functions (3)
索引 jman

BSD mandoc
FreeSec 1.0  

索引

名称

setkey encrypt des_setkey des_cipher - DES 暗号化  

索引

ライブラリ

Lb libcipher  

索引

書式

In unistd.h Ft int Fn setkey const char *key Ft int Fn encrypt char *block int flag Ft int Fn des_setkey const char *key Ft int Fn des_cipher const char *in char *out long salt int count  

索引

解説

Fn encrypt , Fn setkey , Fn des_setkey , Fn des_cipher 関数は、 DES アルゴリズムへのアクセス手段を提供します。 Fn setkey には、バイナリ値 (数値 0 または 1) を持つ 64バイトの配列を渡します。 この配列から 56 ビットの鍵が取り出されます。 これは、配列を 8 バイトのグループに分割し、各グループの最後のビットを 無視することで行ないます。 このビットは DES によりバイトパリティチェックのために予約されていますが、 これらの関数はこのビットを無視します。

Fn encrypt の引数 Fa block もまた、バイナリ値を持つ 64 バイトの配列です。 Fa flag の値が 0 の場合、 Fa block は暗号化されます。それ以外の場合は復号化されます。 Fn setkey により指定した鍵を使い、配列の値を処理した後で、 処理結果は元の配列 Fa block に返されます。

Fn des_setkey の引数は長さ 8 のキャラクタの配列です。 各キャラクタの最下位ビット (パリティビット) は無視され、 残りのビットをくっつけて 56 ビットの鍵を形成します。 Fn des_cipher 関数は Fa count の abs(3) 回 DES を繰り返して、 Fa in にある 8 キャラクタに格納された 64 ビットの値を暗号化 ( Fa count が負の場合は復号化) し、 結果の 64 ビットを 8 キャラクタにして Fa out (これは、 Fa in と同じ場所でも構いません) に格納します。 Fa salt は DES アルゴリズムに対し、16777216 通りまたは 4096 通り (つまり、24 ビットまたは 12 ビット) の中から 1 通りという不規則性を導入します ( salt のビット i が設定されている場合、 DES E-box 出力中のビット i とビット i+24 とが交換されます)。

Fn setkey , Fn encrypt , Fn des_setkey , Fn des_cipher 関数は処理に成功した場合 0 を返し、失敗した場合 1 を返します。

Fn setkey と Fn des_setkey 関数は同じ鍵空間を操作します。  

索引

関連項目

login(1), passwd(1), crypt(3), getpass(3), passwd(5)  

索引

歴史

このライブラリ (FreeSec 1.0) は、アメリカ合衆国のみで使える Nx libcrypt 暗号化ライブラリに対して、そのような障害のない置き換えとして アメリカ合衆国の外で開発されました。 ユーザは、このコード (とこのライブラリを静的リンクしたプログラム) は 合衆国の外に輸出できないことを理解しておかねばなりません。もっとも、 輸入できることは明らかなのですが。  

索引

作者

An David Burren Aq davidb@werj.com.au


 

索引

Index

名称
ライブラリ
書式
解説
関連項目
歴史
作者

jman



Time: 07:06:41 GMT, January 12, 2009