|
始めまして、Tsunと申します。 何時も勉強させて頂いております。 共通鍵暗号のページで3DESでの鍵長が56*3にならない訳ですが、3DESは DESプロセスを3回繰り返すと言う意味で、使う鍵は実は2個なのです。 具体的に言うと、56ビットの鍵AとBを用意して、以下の様に暗号化します。 元データ→鍵Aで暗号化→鍵Bで復号化→鍵Aで暗号化→暗号データ (1) (2) (3) (2)で(1)で暗号化したものとは別の鍵で復号化する訳ですから、当然正しく復号されません、しかし見方を変えれば、これは別の鍵で暗号化したものと、同値となります。ただ鍵としては56ビットを2つ使っているだけなので、鍵の強度としては112ビットの鍵長と同等となります。 この方式の利点は、実質的には56ビットの演算量+αで112ビット相当の鍵強度が得られる所にあります。 鍵長と演算量の比は対数的ですから、112ビットの鍵を使って1回演算するより、56ビットの鍵を使って、3回演算するほうが有利となります。 |
|
お世話になります。UNIXを学びはじめて1か月半の初心者です。grep, findの使用方法を完全理解していないためだと思いますが、(すみません。)ある文字列を含む、ファイル名を検索するにはどのように、grepあるいは、findを使用すればよろしいでしょうか? |
|
はじめまして。私は普段、 find ./ -type f | xargs grep -n "foo" とかやってますが。後はお好みでgrepに-iつけてみたり。 |
|
こんばんは初めまして。pranky と申します。 ここで、いつもネットワークプログラミングなどを勉強させて頂いております。 今回 TCP で実装してあった双方向のプロトコルをファイアウォールにも 対応させなくてはならなくなり、困っているのでご相談させて下さい。 今のところ考えているのは、現在の TCP のプロトコルを HTTP の上に乗せて HTTP プロキシに対応する事でファイアウォールを越えようと考えています。 開発言語は Perl を使用しておりますので、テスト的に HTTP:Daemon モジュールを 使用してサーバを構築し、LWP::UserAgent でクライアントとして動作を させてみました。 1. 基本的に既存のプロトコルが Peer to Peer なので、起動時にクライアント側から サーバ側へ HTTP 接続をし、その起動中はつないだままにしておきたい。 2. 接続中はクライアント側からもサーバ側からも数KB 位のデータのやりとりを 双方向で行いたい。 この上記2 点は両立するものでしょうか? 上の 1. は keepalive を行えばできそうな感じはしますが、下の 2. はできる のでしょうか。 通常のブラウザを見ていると 1. サーバ側へファイル要求 2. サーバ側がファイル送信 という事の繰り返しですが、MSN Messenger が HTTP を使用している事を 考えると上記の 1. 2. の両立が出来そうな気がします。 |
|
はじめまして。 いつもUNIXの情報を参考にさせて頂いております。 現在、あるファイルに書かれたファイル名を取得し、 そのファイル名が存在するか判定するCシェルを作成しております。 set FILE_NAME = `awk '{printf $1}' fileA` というコマンドでファイル名は取得できたのですが、 ファイル内で改行されている際に改行コードまで取得してしまい、 ファイルの存在判定が正しく行えません。 改行を除外してファイル名を取得する事は出来ないでしょうか? ご存知でしたら御教授して頂きたく思います。 宜しくお願い致します。 |
|
>>3344 Tsun 勉強になります。ありがとうございます。 もうちょっと勉強して自分のモノにしてから web の方も 修正したいと思います。 >>3345 asachio > ある文字列を含む、ファイル名を検索するには 「ある文字列を含むファイル」の名前の一覧がほしいなら >>3346 4lj で紹介していただいた方法で。 じゃなくて「ファイル名にある文字列を含むファイル」の名前の 一覧が欲しいのなら % find /dir -name \*hoge\* -print などなど。 >>3347 pranky > 1. 基本的に既存のプロトコルが Peer to Peer なので、起動時に > クライアント側からサーバ側へ HTTP 接続をし、その起動中は > つないだままにしておきたい。 > 2. 接続中はクライアント側からもサーバ側からも数KB 位のデータの > やりとりを双方向で行いたい。 1 は keep alive を使ったとしても、proxy のタイムアウトが ある or あるかもしれないので無理ではないかと思います。 2 も HTTP ではサーバプッシュができないので、純粋な意味での 双方向通信は無理ではないでしょうか (サーバから不定期に クライアントにデータを送るのは不可能だが、クライアントが 定期的にサーバに接続し、そのレスポンスにサーバからのデータを 載せるなら可能)。 > MSN Messenger が HTTP を使用している事を考えると上記の > 1. 2. の両立が出来そうな気がします。 MSN Messenger は UPnP を使用しており、UPnP が HTTP の上を 流れているだけです。よって、純粋な HTTP では実現不可能では ないかと思います。 どこまで実現可能かは、プロトコルの詳細がわからないとなんとも 言えないです。 >>3348 YK > set FILE_NAME = `awk '{printf $1}' fileA` > ファイル内で改行されている際に改行コードまで取得してしまい、 > ファイルの存在判定が正しく行えません。 csh は set foo=`bar` とした時点で改行コードを除去すると思う のですが、改行コードまで取得してしまうというのは本当でしょうか? どういう方法で改行コードが原因だと確認されましたか? UNIX の改行コードは 0x0a ですが、DOS や Windows は 0x0d 0x0a です。それが残っているのであれば、tr などで 0x0d を削除してください。 http://x68000.startshop.co.jp/~68user/unix/pickup?tr |
|
Solaris8で (1) 100M Full-Duplex (2) 1000M Full-Duplex が混在(共存)している環境を設定するには、どうしたらいいでしょうか。 因みに (1) hme0 (2) ge0, ge1 という名で認識されるようです。 よろしくお願いします。 |
|
>>3347 pranky ファイアウォールがHTTP/1.1のCONNECTメソッドの使用を許可している環境で あればそれを使用すれば解決しますね。 CONNECTの使用ができない場合にはHTTPトンネルと呼ばれるソフトウェアを使用すれば 良いと思います。 私が以前作成したHTTPトンネルが http://www.jumperz.net/index.php?i=2&a=0&b=0 にあります。 68userさんのおっしゃる >2 も HTTP ではサーバプッシュができないので、純粋な意味での > 双方向通信は無理ではないでしょうか (サーバから不定期に > クライアントにデータを送るのは不可能だが、クライアントが > 定期的にサーバに接続し、そのレスポンスにサーバからのデータを > 載せるなら可能)。 を実装したものとなっています。 その他上記URLからリンクしていますが、C言語で書かれたGNU Httptunnelなど同じ種類の ソフトウェアがいくつか存在します。 |