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
- 名称
-
- ライブラリ
-
- 書式
-
- 解説
-
- 関連項目
-
- 歴史
-
- 作者
-
Time: 07:06:41 GMT, January 12, 2009