FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、全翻訳済み)

6.4-STABLE-K, 7.2-STABLE-K, 8.0-STABLE-K は現在、 作成中で日々更新されています。 最新の snapshots を元に作成しています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:

日本語マニュアルについて (FreeBSD jpman プロジェクト)
jpman プロジェクトへの協力
FreeBSD 他各種 OS の英語マニュアル閲覧

Table of Contents
名称 | 書式 | 解説 | 関連項目 | 歴史 | バグ
CRYPT(3)               FreeBSD Library Functions Manual               CRYPT(3)

名称
     crypt, setkey, encrypt, des_setkey, des_cipher - DES 暗号化

書式
     #include <unistd.h>

     char *
     crypt(const char *key, const char *setting)

     int
     setkey(const char *key)

     int
     encrypt(char *block, int flag)

     int
     des_setkey(const char *key)

     int
     des_cipher(const char *in, char *out, long salt, int count)

解説
     crypt() 関数は、パスワードの暗号化を行います。これは NBS データ暗号化規格
     (NBS Data Encryption Standard) に由来するものです。キー検索の試みを防止す
     るために、その他のコードが追加されています。 crypt の最初の引数は NUL で
     終了するストリングです (通常は、ユーザが入力したパスワード)。2 番めの引数
     は、長さが 9 バイトのキャラクタ配列であり、アンダースコア (``_'') に、4
     バイトの反復カウントと 4 バイトの salt が続いたもので構成されます。反復
     countsalt の両方が、キャラクタ当たり 6 ビットでエンコードされます。最
     下位ビットが最初です。それぞれ 0 から 63 の値が、``./0-9A- Za-z'' キャラ
     クタによってエンコードされます。

     salt を使用して、16777216 個の可能な方法の 1 つで、 DES アルゴリズム内に
     無秩序を引き起こします (特に、 salt のビット i が設定されており、 i ビッ
     トと i+24 ビットが DES "E" ボックス出力でスワップされる場合です)。 key は
     8 キャラクタのグループに分けられ (最後の短いグループは NULL でパッドされ
     ます)、各キャラクタの下位の 7 ビット (グループごとに 56 個) が、以降のよ
     うに DES キーを形成するのに使用されます。56 ビットの最初のグループが、初
     期 DES キーになります。その他の各グループについては、グループビットおよび
     DES キー自体の暗号化の排他的論理和 (XOR) が次の DES キーになります。最後
     に、最終的な DES キーが使用されて 64 ビット定数の count 累積暗号化が実行
     されます。返される値は、 NUL で終了するストリングで、長さは 20 バイト、
     setting にエンコードされた 64 ビットの暗号化が続いたもので構成されます。

     crypt(3) の過去のバージョンとの互換性のために、 setting は、上記のように
     エンコードされた 2 バイトの salt で構成できます。この場合、反復 count 25
     が使用され、摂動の少ない DES が利用でき、最長 8 キャラクタの key が使用さ
     れます。返される値は NUL で終了する長さが 13 バイトのストリングです。

     関数 encrypt()、 setkey()、 des_setkey()、および des_cipher() では、 DES
     アルゴリズムに、制限されたアクセスができます。 setkey() へのキー key 引数
     は、64 キャラクタのバイナリ値 (数字の 0 または 1) の配列です。56 ビットの
     キーはこの配列から導出されます。そのためには、配列を 8 つのグループに分割
     し、各グループ内の最後のビットを無視します。

     encrypt() の引数 block も、バイナリ値の 64 キャラクタ配列です。 flag の値
     が 0 の場合、引数 block は暗号化されます。そうでない場合は、暗号解除され
     ます。暗号化または暗号解除は、それを処理するために setkey() が指定したキ
     ーを使用した後、オリジナルの配列 block 内に返されます。

     des_setkey() 関数と des_cipher() 関数は高速ですが、 setkey() および
     encrypt() より移植性は劣ります。 des_setkey() への引数は、長さが 8 のキャ
     ラクタ配列です。各キャラクタの 最下位ビットは無視され、各キャラクタの次の
     7 ビットが連結されて 56 ビットのキーを生成します。関数 des_cipher() は、
     DES の count 反復の abs(3) を使用して in で 8 キャラクタ内に保存された 64
     ビットを暗号化 (または count が負の場合は暗号解除) し、64 ビットの結果を
     8 キャラクタで out に保存します。 salt は、前記のように DES の摂動を指定
     します。

     関数 crypt() は、処理が成功した場合は暗号化された値を指すポインタを返し、
     処理が失敗した場合は NULL を返します。関数 setkey()、 encrypt()、
     des_setkey()、および des_cipher() は、処理が成功した場合は 0 を返し、処理
     が失敗した場合は 1 を返します。歴史的には、関数 setkey() と encrypt() は
     どのような値も返しませんでした。これらの関数が戻り値を指定されたのは、主
     にハードウェアサポートが備わっているものの使用はできない場合、または通常
     の方針の愚かさのために DES が利用できない場合に、システムを区別するためで
     す。

     crypt() を使用するには、 libcrypt ライブラリとのリンクが必要です。
     setkey()、 encrypt()、 des_setkey()、および des_cipher() は、 libcipher
     ライブラリ内に見つかります。(標準の C ライブラリ、 libc にはこれらのルー
     チンへのかけらしか入っていません)。

関連項目
     login(1),  passwd(1),  getpass(3),  passwd(5)

     Wayne Patterson, Mathematical Cryptology for Computer Scientists and
     Mathematicians, ISBN 0-8476-7438-X, 1987.

     R. Morris, and Ken Thompson, "Password Security: A Case History",
     Communications of the ACM, vol. 22, pp. 594-597, Nov. 1979.

     M.E. Hellman, "DES will be Totally Insecure within Ten Years", IEEE
     Spectrum, vol. 16, pp. 32-39, July 1979.

歴史
     ローターを採用した crypt() 関数は、 Version 6 AT&T UNIX で現れました。現
     在のスタイルの crypt() は、最初に Version 7 AT&T UNIX に現れました。

バグ
     des_setkey() への引数の各キャラクタの 最下位ビットを落とすのはとんでもな
     いことです。

     crypt() 関数は、結果を内部の静的オブジェクトに残し、そのオブジェクトを指
     すポインタを返します。後で crypt() を呼び出すと、同じオブジェクトが修正さ
     れます。

BSD                              March 9, 1994                               2

Table of Contents

FreeBSD マニュアル検索