diff options
Diffstat (limited to 'ja_JP.eucJP/man/man3/crypt.3')
-rw-r--r-- | ja_JP.eucJP/man/man3/crypt.3 | 367 |
1 files changed, 0 insertions, 367 deletions
diff --git a/ja_JP.eucJP/man/man3/crypt.3 b/ja_JP.eucJP/man/man3/crypt.3 deleted file mode 100644 index e260c162f0..0000000000 --- a/ja_JP.eucJP/man/man3/crypt.3 +++ /dev/null @@ -1,367 +0,0 @@ -.\" FreeSec: libcrypt for NetBSD -.\" -.\" Copyright (c) 1994 David Burren -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 4. Neither the name of the author nor the names of other contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" %Id: crypt.3,v 1.6 1997/02/22 14:40:30 peter Exp % -.\" -.\" Manual page, using -mandoc macros -.\" -.\" $FreeBSD$ -.Dd March 9, 1994 -.Dt CRYPT 3 -.Os -.Sh 名称 -.Nm crypt , -.Nm setkey , -.Nm encrypt , -.Nm des_setkey , -.Nm des_cipher -.Nd DES 暗号化 -.Sh 書式 -.Fd #include <unistd.h> -.Ft char * -.Fn crypt "const char *key" "const char *setting" -.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" -.Sh 解説 -.Fn crypt -関数は、パスワードの暗号化を行います。これは -.Tn NBS -データ暗号化規格 -(NBS Data Encryption Standard) -に由来するものです。キー検索の試みを -防止するために、その他のコードが追加されています。 -.Nm crypt -の最初の引数は -.Dv NUL -で終了するストリングです -( -通常は、ユーザが入力したパスワード -) -。 -2 番めの -引数は、長さが -9 バイトのキャラクタ配列であり、アンダースコア -(``_'') -に、 -4 バイトの反復カウントと -4 バイトの -salt -が続いたもので構成されます。反復 -.Fa count -と -.Fa salt -の両方が、キャラクタ当たり -6 ビットでエンコードされます。 -最下位ビットが最初です。それぞれ -0 から -63 の値が、 -``./0-9A- Za-z'' -キャラクタによってエンコードされます。 -.Pp -.Fa salt -を使用して、 -16777216 個の可能な方法の -1 つで、 -.Tn DES -アルゴリズム内に -無秩序を引き起こします -( -特に、 -.Ar salt -のビット -.Em i -が設定されており、 -.Em i -ビットと -.Em i+24 -ビットが -.Tn DES -"E" ボックス出力でスワップされる場合です -) -。 -.Ar key -は -8 キャラクタのグループに分けられ -( -最後の短いグループは -NULL -でパッドされます -) -、各キャラクタの下位の -7 ビット -( -グループごとに -56 個 -) -が、以降のように -DES -キーを形成するのに使用されます。 -56 ビットの最初のグループが、初期 -DES -キーになります。その他の各グループについては、グループビットおよび -DES -キー自体の暗号化の排他的論理和 -(XOR) -が次の -DES -キーになります。最後に、 -最終的な -DES -キーが使用されて -64 ビット定数の -.Ar count -累積暗号化が -実行されます。返される値は、 -.Dv NUL -で終了するストリングで、長さは -20 バイト、 -.Ar setting -にエンコードされた -64 ビットの暗号化が続いたもので構成されます。 -.Pp -.Xr crypt 3 -の過去のバージョンとの互換性のために、 -.Ar setting -は、上記のように -エンコードされた -2 バイトの -salt -で構成できます。この場合、反復 -.Ar count -25 -が -使用され、摂動の少ない -.Tn DES -が利用でき、最長 -8 キャラクタの -.Ar key -が -使用されます。返される値は -.Dv NUL -で終了する長さが -13 バイトのストリング -です。 -.Pp -関数 -.Fn encrypt -、 -.Fn setkey -、 -.Fn des_setkey -、および -.Fn des_cipher -では、 -.Tn DES -アルゴリズムに、制限されたアクセスができます。 -.Fn setkey -へのキー -.Ar key -引数は、 -64 キャラクタのバイナリ値 -( -数字の -0 または -1) -の配列です。 -56 ビットの -キーはこの配列から導出されます。そのためには、配列を -8 つのグループに -分割し、各グループ内の最後のビットを無視します。 -.Pp -.Fn encrypt -の引数 -.Fa block -も、バイナリ値の -64 キャラクタ配列です。 -.Fa flag -の値が -0 の場合、引数 -.Fa block -は暗号化されます。そうでない場合は、 -暗号解除されます。暗号化または暗号解除は、それを処理するために -.Fn setkey -が -指定したキーを使用した後、オリジナルの配列 -.Fa block -内に返されます。 -.Pp -.Fn des_setkey -関数と -.Fn des_cipher -関数は高速ですが、 -.Fn setkey -および -.Fn encrypt -より移植性は劣ります。 -.Fn des_setkey -への引数は、長さが -8 の -キャラクタ配列です。各キャラクタの -.Em 最下位 -ビットは無視され、各キャラクタの -次の -7 ビットが連結されて -56 ビットのキーを生成します。関数 -.Fn des_cipher -は、 -.Tn DES -の -.Fa count -反復の -.Xr abs 3 -を使用して -.Fa in -で -8 キャラクタ内に保存された -64 ビットを暗号化 -( -または -.Fa count -が負の場合は暗号解除 -) -し、 -64 ビットの結果を -8 キャラクタで -.Fa out -に保存します。 -.Fa salt -は、前記のように -.Tn DES -の摂動を -指定します。 -.Pp -関数 -.Fn crypt -は、処理が成功した場合は暗号化された値を指すポインタを返し、 -処理が失敗した場合は -NULL -を返します。関数 -.Fn setkey -、 -.Fn encrypt -、 -.Fn des_setkey -、および -.Fn des_cipher -は、処理が成功した場合は -0 を返し、処理が -失敗した場合は -1 を返します。歴史的には、関数 -.Fn setkey -と -.Fn encrypt -はどのような値も返しませんでした。これらの関数が戻り値を指定されたのは、 -主にハードウェアサポートが備わっているものの使用はできない場合、または -通常の方針の愚かさのために -DES -が利用できない場合に、システムを -区別するためです。 -.Pp -.Fn crypt -を使用するには、 -.Nm libcrypt -ライブラリとのリンクが必要です。 -.Fn setkey -、 -.Fn encrypt -、 -.Fn des_setkey -、および -.Fn des_cipher -は、 -.Nm libcipher -ライブラリ内に -見つかります。 -( -標準の -C -ライブラリ、 -.Nm libc -にはこれらのルーチンへのかけらしか -入っていません -) -。 -.Sh 関連項目 -.Xr login 1 , -.Xr passwd 1 , -.Xr getpass 3 , -.Xr passwd 5 -.Rs -.%T "Mathematical Cryptology for Computer Scientists and Mathematicians" -.%A Wayne Patterson -.%D 1987 -.%N ISBN 0-8476-7438-X -.Re -.Rs -.%T "Password Security: A Case History" -.%A R. Morris -.%A Ken Thompson -.%J "Communications of the ACM" -.%V vol. 22 -.%P pp. 594-597 -.%D Nov. 1979 -.Re -.Rs -.%T "DES will be Totally Insecure within Ten Years" -.%A M.E. Hellman -.%J "IEEE Spectrum" -.%V vol. 16 -.%P pp. 32-39 -.%D July 1979 -.Re -.Sh 歴史 -ローターを採用した -.Fn crypt -関数は、 -.At v6 -で現れました。現在の -スタイルの -.Fn crypt -は、最初に -.At v7 -に現れました。 -.Sh バグ -.Fn des_setkey -への引数の各キャラクタの -.Em 最下位 -ビットを -落とすのはとんでもないことです。 -.Pp -.Fn crypt -関数は、結果を内部の静的オブジェクトに残し、そのオブジェクトを指す -ポインタを返します。後で -.Fn crypt -を呼び出すと、同じオブジェクトが -修正されます。 |