|
>>3344 Tsun > 共通鍵暗号のページで3DESでの鍵長が56*3にならない訳ですが せっかく教えていただいたので、勉強してみました。といっても 暗号技術大全 http://www.amazon.co.jp/exec/obidos/ASIN/4797319119/ref%3Db%5Fbb%5F1%5F25/249-2894126-9073950 を読んだだけですが。 「鍵Aで暗号化 → 鍵Bで復号化 → 鍵Aで暗号化」という方法を EDE (Encrypt-Decrypt-Encrypt) と言う。DES なら DES-EDE などと書く。 Encrypt-Decrypt-Encrypt が特に解読しづらいわけではないので、 Encrypt-Encrypt-Encrypt でも別に構わない。 ただ、EDE の利点は、鍵A と 鍵B を同じにすれば一度だけ暗号化 したのと同じ結果が得られること (DES-EDE に対応しておけば、 DES にも対応したことになる)。 なぜ 3回必要なのか、2回の暗号化 (つまり 2DES) ではダメな 理由はというと、2回の暗号化では中間値探索 (meet-in-the-middle) 攻撃に弱いため。56bit の DES で 2回暗号化した場合、総当たり 攻撃に限ると 112bit の強さを持つが、中間値探索には 57bit の 強さしかない。 3DES には鍵を 2つ使う方法と、3つ使う方法がある。 鍵を 3つ使う 3DES は総当たりに対しては 56*3=168bit の強度が あるが、中間値探索に対しては 112bit の相当の強度になる。 一方、鍵を 2つ使う 3DES は中間値探索の弱点はないため、総当たりと 中間値探索のいずれに対しても 112bit の強度になる。 よって、現実的な強さとしては鍵 3つの方が優秀である。 OpenSSL で実装されている暗号で言うと、 鍵2つの 3DES: des-ede-cbc(=des-ede), des-ede-cfb, des-ede-ofb 鍵3つの 3DES: des-ede3-cbc(=des-ede3=des3), des-ede3-cfb, des-ede3-ofb となる。 ただ、 > 鍵長と演算量の比は対数的ですから、112ビットの鍵を使って > 1回演算するより、56ビットの鍵を使って、3回演算するほうが > 有利となります。 ここはよくわかりませんでした。DES の鍵は結局は 16ラウンド それぞれの 48bit 内部鍵の元となるだけなので、対数的ではない のではないかと思いました。 |
|
ども。おひさしぶりです。 これまでときどき私のlinux環境からDNSの名前解決ができない という件でいろいろと相談させて戴いていましたが、今回たまたま Redhat 9 publisher editionをインストールし試してみたところ、 なぜか無事名前解決できるようになりました。 もしかしたらこれまでインストール時に何かのチェックボックスに チェックを入れなかったなど、気づいていなかったミスがあったかも しれませんが、とにかく使えるようになりましたのでまずはご報告 します(もうしないかもしれませんが…^^;)。 というわけでこれまでいろいろアドバイスいただきまして、どうも ありがとうございました。これで晴れて開発環境を手に入れ、無事 プログラミングにいそしむことができます。今後もどうぞよろしく お願いします。 |
|
「ネットワークプログラミングの基礎知識」の「リンク集・参考書籍」 http://x68000.startshop.co.jp/~68user/net/link-book.html を更新し、以下の書籍の紹介を追加しました。 - C言語による TCP/IP ネットワークプログラミング - IPv6 ネットワークプログラミング - 暗号技術大全 - 暗号解読―ロゼッタストーンから量子暗号まで― 一番お勧めなのは、「暗号解読」のところで触れている フェルマーの最終定理 http://shinchosha.co.jp/cgi-bin/webfind3.cfm?ISBN=539301-4 だったりします。 # 次点が「暗号解読」 |
|
はじめましてyudaiと申します。 突然お邪魔して誠に失礼とは思いますが、ご教授いただけませんでしょうか? Perlでファイルオープン open(TESDAT, "tesdata.txt" ); #エラー処理略 @list=<TESDAT>; #testdata.txt内容 m_A9<>太郎<>26歳 f_C5<>花子<>23歳 m_G7<>一郎<>19歳 #ここまで 等として読み込むと 1行ごとに配列の要素となると思うのですが、、この場合に添え字[2]でなく要素の値(f_C5等)で参照する方法はございませんか? htmlフォームから"f_C5"の入力を受け取りtesdata.txtを読み込み文字列を参照して $ID="f_C5"; $name="花子"; $old="23歳"; のような結果を得たいのです。 尚、データベースモジュールは使えない環境です。 乱文にて恐縮ではございますがどうかお教えください。 |
|
>>3356 has > なぜか無事名前解決できるようになりました。 そうですか、原因がわからず解決してしまって残念です :-) ときにウチの環境でも返ってくる AAAA レコードが壊れていたり、 DNS サーバからの返事がなかなか返ってこなかったり、と思ったら 急になおったり、使用する DNS サーバを変えると再現しなかったり、 でも動作がおかしい DNS サーバはひとつではなかったり、と なかなか大変です。 >>3358 yudai 案1: my $input_id = 'f_C5'; # web からの入力 open(TESDAT, "tesdata.txt" ); while (<TESDAT>){ chomp; my ($ID, $name, $old) = split($_, '<>'); if ( $ID eq $input_id ){ # なんらかの処理 } } 案2: my $input_id = 'f_C5'; # web からの入力 my %namehash; my %oldhash; open(TESDAT, "tesdata.txt" ); while (<TESDAT>){ chomp; my ($ID, $name, $old) = split($_, '<>'); $namehash{$ID} = $name; $oldhash{$ID} = $old; } if ( defined $namehash{$input_id} ){ # なんらかの処理。 # print "$input_id $namehash{$input_id} $oldhash{$input_id}\n"; # とか。 } というのが回答になっていますか? |
|
はじめまして、yoshiと申します。 FTPについてご教授頂きたく思い、書き込ませていただきます。 同一ネットワーク内において、 パソコン(Windows98)→ワークステーション(UNIX)へのFTPでのログインはcmd.exe上からFTPにてログインする事で、可能なのですが、 ワークステーション(UNIX)→パソコン(Windows98)へのFTPでのログインは可能でしょうか? 普通にFTPでログインしようとすると、「接続が拒否されました」と弾かれてしまいます。 可能だとしても、パソコン側で何か設定変更が必要なのでしょうか。 初歩的な質問で申し訳御座いませんが、よろしくお願い致します。 |
|
>>3360 yoshi Windows98 上で FTP サーバを動かせば可能です。デフォルトでは FTP サーバは用意されていないでしょう。フリー物がよければ http://www.forest.impress.co.jp/library/tinyftpd.html などがよさそうに見えます。 なので、UNIX マシンに FTP でログインできるのも、 「その UNIX マシン上で FTP サーバが動いているからログインできる」 ということです。 |
|
はじめまして。 UNIXのことについて色々調べていたらこちらにたどり着きました。 以後よろしくお願い致します。 Tarコマンドについて質問があるのですが、 Tarコマンドのディレクトリ数の指定パラメータで 「.」と「./*」があり、 「./*」で指定した場合、ディレクトリ数の上限値があるそう なのですが、その値はいくつなのでしょうか? よろしければ教えてください。 |
|
>>3361 68user ありがとう御座いました! そういう事だったのすね、早速やってみます! |
|
>>3361 68user 間違えて、書き込んでいる途中で送信してしまいました・・。 しかも脱字でした、すみません。 ×そういう事だったのすね → ○そういう事だったのですね 家では実験できないので、会社で試してみるつもりです。 結果が分かり次第、報告させて頂きます! |
|
>>3352 落合 http://x68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?howtouse を読んだ後に cgi-ml で得た情報をコッチにも提供して欲しい気持ち。 >>3359 68user > my ($ID, $name, $old) = split($_, '<>'); split の引数が逆ですぜ。 |
|
>>3362 しん > Tarコマンドのディレクトリ数の指定パラメータで > 「.」と「./*」があり、 > 「./*」で指定した場合、ディレクトリ数の上限値があるそう > なのですが、その値はいくつなのでしょうか? 「ディレクトリ数の指定パラメータ」というくだりが いまいち よくわかりませんが、要は % tar cf /foo/bar.tar . だとエラーにならないのに、 % tar cf /foo/bar.tar ./* だとエラーになるのはなぜか、ということでしょうか? であれば http://www.jp.freebsd.org/QandA/HTML/2111.html をどうぞ。 ちなみに ARG_MAX は FreeBSD なら 64KB ですが、Solaris は 1MB です。手元の Linux マシンを見てみると 128KB でしたが、 ディストリビューションごとに異なる可能性はあります。 |
|
>>3365 /tk > を読んだ後に cgi-ml で得た情報をコッチにも提供して欲しい気持ち。 http://script.lovely.to/bbs/infolng.cgi?print+200309/03090012.txt には報告して、こっちには報告してくれないのは嫌われている からでしょうか。 って、どうせもう読んでないだろうからどうでもいいんですが。 最近は返事がなくても、クイズのつもりで回答しています。 悟りの境地に達したのかもしれない。 >> my ($ID, $name, $old) = split($_, '<>'); > split の引数が逆ですぜ。 おっと失礼しました。 my ($ID, $name, $old) = split('<>', $_); ですね。 |
|
ftp上のlsの挙動に関する質問です。 ftpサーバのOSはSolaris9です。 Bシェルでクライアント側のプログラムを作成しています。 ftp上で下記のようにワイルドカードでファイルを指定し、その結果をlsresult.txtファイルに出力しようとしています。 ftp>ls ?????.txt lsresult.txt しかし、?????.txtに該当するファイルが無いと、クライアント側にはlsresult.txtファイルが作成されません。 様々な挙動調査の結果、lsを行うディレクトリがrootユーザーのものだとlsresult.txt自体が作成されませんが、一般ユーザーだと0バイトのlsresult.txtが作成されるという挙動の差異がありました。 lsに該当するファイルがなかった時に表示される「No such file or directory」というメッセージがlsresult.txtに出力される事を期待していますが、そのメッセージが応答されていないようです。 また、プログラムからでなく、コマンドラインから同じ事をしても同様の挙動でした。 なお、Solaris8等の他のマシンで動作確認したところ、lsに該当するファイルが無い場合には、lsresult.txtに「No such file or directory」のエラーメッセージが出力されました。 エラーメッセージの出力に関する設定、ftpdの違い、OSの違い等、疑うところはいろいろあるのですが、ftp上のls自体は機種等の環境に依存してしまうものでしょうか。 上記の説明で何が問題か分かりますでしょうか。 よろしくお願い致します。 |
|
>>3368 gaji ftp サーバの OS は Solaris9 だと言うことはわかりましたが、 クライアント側の環境は何ですか? ftp プロトコル自体には結果をファイルに落とすかどうかという やりとりはありません。よって、ファイルに落とすか処理を行なう のはクライアント側です。まずはクライアント側の環境を疑った 方がよいと思います。 > lsを行うディレクトリがrootユーザーのものだとlsresult.txt自体が > 作成されませんが、一般ユーザーだと0バイトのlsresult.txtが作成 > されるという挙動の差異がありました。 「ls を行うディレクトリ」というのは、 ftp> cd /hoge ftp> lcd /fuga ftp> ls ?????.txt lsresult.txt としたときの「/hoge」のことを指していますか? それとも「/fuga」の ことを指していますか? また、ftp クライアントを実行するユーザの違いで挙動が変わりますか? |
|
>>3369 68user 早速回答いただきましてありがとうございます。 今、お答えできる情報のみで申し訳ありませんが回答致します。 >ftp サーバの OS は Solaris9 だと言うことはわかりましたが、 >クライアント側の環境は何ですか? Solaris2.6です。 >「ls を行うディレクトリ」というのは、 > ftp> cd /hoge > ftp> lcd /fuga > ftp> ls ?????.txt lsresult.txt >としたときの「/hoge」のことを指していますか? それとも「/fuga」>のことを指していますか? /hogeの事を指しております。 クライアント側は同じ状態にしておいて、FTPサーバ側をいろいろ変えて挙動が変換するので、サーバ側の問題かと思っていましたが、クライアント側も調べてみます。 |
|
>>3370 gaji ftpのlsを調査した結果、以下の事が分かりました。 ---------Solaris8がFTPサーバの時---------------------------- ftp> ls ?????.txt local.txt 200 PORT command successful. 150 ASCII data connection for /bin/ls (192.168.122.8,45207) (0 bytes). 226 ASCII Transfer complete. local: local.txt remote: ?????.txt 49 bytes received in 0.012 seconds (3.90 Kbytes/s) ---------Solaris9がFTPサーバの時---------------------------- ftp> ls ?????.txt local.txt 200 PORT command successful. 550 ?????.txt: No such file or directory. Solaris8のケースでは、/bin/lsによって処理されて、該当ファイルが存在しなくてもlocal.txtが作成され、中にエラーメッセージが出力されました。 Solaris9のケースでは、/bin/lsを使用していない?様です。 ftpdの内部コマンドで処理されているのでしょうか。 この場合は、local.txtが作成されていません。 ちなみに、ftp上でls -a等を行うと、Solaris8,9共に/bin/lsで処理されているようです。 lsとls -aでは、FTPプロトコルはNLSTとLISTのように違うと思いますが、インターネットで調べた限りでは「ls -aやdirなどは/bin/lsで処理され、lsはftpdの内部コマンドで処理される事が多い。」との記述がありました。しかし、今回のケースではSolaris8でのlsは/bin/lsで処理されているようです。ftpのNLSTが内部コマンドを使用するか、/bin/lsを使用するかは設定可能なものでしょうか。 もし、Solaris9でのlsも/bin/lsを使用するように設定変更可能なものであれば、設定変更して動作検証したいと思います。 もし、ご存知でしたらご教授いただきたいと思います。 |