🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.lang.c
Article #566

Re: Re: Q:暗号化

#566
From: Masakatz Canada
Date: Wed, 01 Apr 1998 00:00
54 lines
2821 bytes
かなだです。

In article <vikzpi9kpzm.fsf_-_@eriko.is.s.u-tokyo.ac.jp>,
takaaki@is.s.u-tokyo.ac.jp says...
>ところで、同じキーを用いて暗号化と復号をやりたいということですが、
>crypt では基本的に復号はできません。

単に「crypt」と書くと誤解を招きそうですね。
例えばSolarisには復号化可能な"crypt"というコマンドがある
らしいですし。使ったことはありませんが。

| CRYPT(1)                 USER COMMANDS                   CRYPT(1)
| NAME
|      crypt - encode or decode a file
|                        ^^^^^^
| Sun Release 4.1   Last change: 9 September 1987                 1

で、takaakiさんの言う所のcryptは、多分UNIXのcrypt(3)の事を
指しているのだと仮定して話をしますが、

>crypt の使用例としては、パスワードを暗号化して記録しておいて、
>認証する時は入力されたパスワードも同じキーで暗号化して、
>その暗号同士の比較を行います。

これは必ずしもそうとは言えません。「キー」というのは「salt」
の事だと思いますが、crypt(3)でよく使われている方法は、
(ばっさり細部を省略して言ってしまえば)『ある定数文字列「を」、
パスワードやsaltから計算して得られた(あるいはそのままの)データ
「で」暗号化する』方法です。

saltは「キー」としての役割ではなく、「同じパスワードのユーザ
同士のパスワードフィールドが同じになってしまう」現象(というか
当然の結果)を回避するためにあるのだと思います。ですから、
「パスワードを、saltをキーにして暗号化する」方法を採っている
crypt(3)は無いのではないでしょうか?

近くにオンラインヘルプ入りのUNIXマシンがあれば、man 3 crypt
としてみるとよいでしょう。なお、

|****% uname -a
|SunOS **** 4.1.4-JL 2 sun4m
と
|****% uname -a
|FreeBSD **** 2.2.1-RELEASE FreeBSD 2.2.1-RELEASE (略)

でman 3 cryptしてみましたが、やはり定数文字列をパスワードや
saltから得られるなんらかのデータで暗号化する方法を採っていま
した。どちらも割と詳しく書かれています。
# ただしFreeBSDのmanはDESでのcryptについて書かれていましたが、
# 実際に使われているのはMD5でした。
--
か な だ ま さ か つ
 canada@kt.rim.or.jp
Technical Details
Message-ID: <6ftln1$g3$1@news.kt.rim.or.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <6fm8c9$a2h$1@news1.dti.ne.jp> <vikzpi9kpzm.fsf_-_@eriko.is.s.u-tokyo.ac.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 106434,d7a1f9e0b2aa78a4
X-Google-Attributes: gid106434,public
From: canada@kt.rim.or.jp (Masakatz Canada)
Subject: Re: Re: Q:暗号化
Date: 1998/04/01
Message-ID: <6ftln1$g3$1@news.kt.rim.or.jp>
X-Deja-AN: 339850193
References: <6fm8c9$a2h$1@news1.dti.ne.jp> <vikzpi9kpzm.fsf_-_@eriko.is.s.u-tokyo.ac.jp>
Mime-Version: 1.0
Content-Type: Text/Plain; charset=ISO-2022-JP
Organization: RIMNET
Newsgroups: fj.lang.c