日本語 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.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
CRYPT(3) FreeBSD ライブラリ関数マニュアル CRYPT(3) 名称 crypt -- トラップドア暗号化 ライブラリ 暗号ライブラリ (libcrypt, -lcrypt) 書式 #include <unistd.h> char * crypt(const char *key, const char *salt); const char * crypt_get_format(void); int crypt_set_format(const char *string); 解説 crypt() は、鍵の検索の試みを防止するために追加されたコードでパスワードの ハッシュを行ないます。ハッシュで異なるアルゴリズムを使用することができま す。現在、これらは、NBS Data Encryption Standard (DES)、MD5 ハッシュ、NT Hash (Microsoft の NT スキームと互換性がある) と Blowfish を含んでいま す。使用されるアルゴリズムは、DES および Blowfish がインストールされてい るかどうか、そしてデフォルトを変更するために crypt_set_format() が呼び出 されているかどうかで、salt (モジュール化暗号形式 (Modular Crypt Format (MCF)) に従います) の形式に依存します。 crypt への最初の引数は、ヌル文字で終了する文字列のハッシュするデータ (通 常パスワード) です。2 番目の引数は、salt で、次の 3 つの形式の 1 つです: Extended 下線 (``_'') で始まるなら、DES 拡張形式は、下記のよう に、鍵と salt の両方の解釈で使用されます。 Modular 文字列 ``$digit$'' で始まるなら、Modular Crypt Format (モジュール化暗号形式) が下記のように、使用されます。 Traditional 上記のいずれも真でないなら、salt (または最初の部分) と して文字列全体を使用して、伝統的な形式を想定します。 すべてのルーチンは、時間を消費するように設計されています。 DES 拡張形式: key (鍵) は、8 文字のグループに分割され (最後のグループは、ヌルバイトが詰 められ)、各文字の下位 7 ビット (グループごとに 56 ビット) は、次のような DES 鍵から使用されます: 56 ビットの最初のグループは、DES 鍵の初期値になり ます。追加のグループごとに、現在の DES 鍵自体の暗号化とグループビットの排 他的論理和 (XOR) は、次の DES 鍵となります。 salt は、4 バイトの繰り返し回数と 4 バイトの salt が続く下線で構成される 9 文字の配列です。これらは、印刷可能文字、文字ごとの 6 ビット、最初の最下 位文字としてエンコードされます。値 0 から 63 までは、``./0-9A-Za-z'' とし てエンコードされます。これは、count と salt の両方のために 24 ビットを許 可します。 salt は、16777216 または 4096 の可能な方法の 1 つ (すなわち、24 または 12 ビット: salt のビット i が設定されるなら、ビット i と i+24 は、DES E-box 出力で交換されます) で DES アルゴリズムに不規則性を導入します。 DES 鍵は、DES の count 繰り返しを使用して、64 ビットの定数を暗号化するた めに使用されます。返される値は、エンコードされた 64 ビットの暗号化が続く salt で構成される、20 または 13 バイト (プラスヌル文字) の長さのヌル文字 で終了する文字列です。 Modular 暗号化: salt が文字列 $digit$ で始まるなら、Modular Crypt Format (モジュール化暗 号形式) が使用されます。digit は、どのアルゴリズムが暗号化で使用されるか を表します。続くトークンは、暗号化で使用される実際の salt です。使用され る salt の最大の長さは、モジュールに依存します。salt は、文字列の終りが文 字 (ヌル文字) またはドル記号で終了されなければなりません。ドル記号の後の あらゆる文字は、無視されます。 現在サポートされているアルゴリズムは、次の通りです: 1. MD5 2. Blowfish 3. NT-Hash 4. (未使用) 5. SHA-256 6. SHA-512 他の暗号化形式は、容易に追加されます。salt の例は、次の通りです: $4$thesalt$rest Traditional 暗号化: 使用されるアルゴリズムは、crypt_set_format() が呼び出されたか、グローバル なデフォルトの形式が指定されたかどうかに依存します。グローバルなデフォル トが指定されなかったか、または crypt_set_format() が他のものに設定した形 式がないなら、組み込みのデフォルトの形式が使用されます。これは、現在利用 可能であるなら、DES、そうでなければ、MD5 です。 salt をどのように使用するかは、ハッシュのためのアルゴリズムに依存します。 最良の結果のためには、少なくとも 8 文字の salt を指定します。 crypt_get_format() 関数は、現在使用されているアルゴリズムの名前を表す定数 文字列を返します。有効な値は、`des', `blf', `md5', `sha256', `sha512' と `nth' です。 crypt_set_format() 関数は、供給された string にしたがって、デフォルトのエ ンコード形式を設定します。 戻り値 crypt() 関数は、成功すれば、暗号化された値へのポインタを返し、失敗すれ ば、NULL を返します。注: これは、標準の振る舞いではありません、AT&T crypt() は、常に文字列へのポインタを返します。 crypt_set_format() 関数は、供給されたエンコード形式が有効であったなら、1 を返します。そうでなければ、0 の値が返されます。 関連項目 login(1), passwd(1), getpass(3), passwd(5) 歴史 ロータに基づく crypt() 関数は、Version 6 AT&T UNIX で登場しました。現在の スタイルの crypt() は、Version 7 AT&T UNIX で登場しました。 DES セクションのコード (FreeSec 1.0) は、アメリカ合衆国のみの NetBSD libcrypt 暗号化ライブラリに対する重荷から解放する置き換えとして、アメリカ 合衆国の外側で開発されました。 作者 最初に David Burren <davidb@werj.com.au> によって書かれ、その後、Poul Henning Kamp, Mark R V Murray, Michael Bretterklieber, Kris Kennaway, Brian Feldman, Paul Herman と Niels Provos によって追加と更新が行なわれま した。 バグ crypt() 関数は、静的なデータへのポインタを返し、crypt() へのその後の呼び 出しは、同じデータを修正します。同様に、crypt_set_format() は、静的なデー タを修正します。 NT-hash スキームは、salt を使用せず、有能な攻撃者が壊わすのは、難しくあり ません。その使用は、推奨されません。 FreeBSD 11.2 March 9, 2014 FreeBSD 11.2