総合手引 | セクション 3 | オプション |
#include <unistd.h>
encrypt() の引数 block もまた、バイナリ値を持つ 64 バイトの配列です。 flag の値が 0 の場合、 block は暗号化されます。それ以外の場合は復号化されます。 setkey() により指定した鍵を使い、配列の値を処理した後で、 処理結果は元の配列 block に返されます。
des_setkey() の引数は長さ 8 のキャラクタの配列です。 各キャラクタの最下位ビット (パリティビット) は無視され、 残りのビットをくっつけて 56 ビットの鍵を形成します。 des_cipher() 関数は count の abs(3) 回 DES を繰り返して、 in にある 8 キャラクタに格納された 64 ビットの値を暗号化 ( count が負の場合は復号化) し、 結果の 64 ビットを 8 キャラクタにして out (これは、 in と同じ場所でも構いません) に格納します。 salt は DES アルゴリズムに対し、16777216 通りまたは 4096 通り (つまり、24 ビットまたは 12 ビット) の中から 1 通りという不規則性を導入します ( salt のビット i が設定されている場合、 DES E-box 出力中のビット i とビット i+24 とが交換されます)。
setkey(), encrypt(), des_setkey(), des_cipher() 関数は処理に成功した場合 0 を返し、失敗した場合 1 を返します。
setkey() と des_setkey() 関数は同じ鍵空間を操作します。
FreeSec 1.0 | CIPHER (3) | March 9, 1994 |
総合手引 | セクション 3 | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.
“ | There are two major products of Berkeley, CA -- LSD and UNIX. We don't believe this to be strictly by coincidence. | ” |
— Jeremy S. Anderson |