- PR -

二者間の間でパラメータの優先順位を決定するアルゴリズム

投稿者投稿内容
angel
ぬし
会議室デビュー日: 2005/03/17
投稿数: 711
投稿日時: 2005-09-16 11:23
引用:
あんとれさんの書き込み (2005-09-16 10:06) より:
Apache の SSLCiphers の順位で、全ての暗号化方式を鍵の強度順にならべておいても、IE では RC4-RSA (128-bit) が優先的に使われます。 <-- なんで??

ここで、Apache 側で RC4 (128-bit) を無効にすると DES-CBC3 (168-bit) が使われます。


脱線続き? になるかも知れませんが。

des-ede3 ( 3鍵の 3DES ) は、見た目上、鍵長が 168bit ですが、実質は 112bitになると聞いたことがあります。
※ 同じ理屈から、double DES は存在しない… 何故なら実質鍵長 56bitになり、素の DESと変わらず無意味だから。
 meet in the middle attack ( MITM ) とか何とかの方法だとかを使うらしい。
※ des-ede ( 2鍵の 3DES ) は一寸分かりませんが…、恐らくこれも実質 112bitかと。

なので、rc4 より下になるのではないでしょうか。勿論、暗号方式が違うので、鍵長だけの比較はナンセンスですが、SSLでは鍵長のみで順位を決めていたような記憶があります。

以上、ご参考まで。

[ メッセージ編集済み 編集者: angel 編集日時 2005-09-16 11:37 ]
なか-chan@最愛のiMac
ぬし
会議室デビュー日: 2002/07/17
投稿数: 385
お住まい・勤務地: 和光市・世田谷区
投稿日時: 2005-09-16 12:48
banbooさんこんにちは。

一番シンプルな方法を考えました。
順位をそれぞれ、ビットに割り当てればいいと思います。
1位:1
2位:2
3位:4
4位:8
5位:2の4乗
...
n位:2の(n-1)乗
というように順位に重み付けしておいて
単純に足し合わせて、数値が少ない順にすればいいと思います。
この例だと、
A a:1 b:2 c:3
B a:2 b:2 c:1
なので、
A a:1 b:2 c:4
B a:2 b:2 c:1
となり、
A+B a:3 b:4 c:5
となるので、
a->b->c
という結果になります。
banboo
大ベテラン
会議室デビュー日: 2003/12/05
投稿数: 210
投稿日時: 2005-09-16 13:38
皆様アドバイスを頂きありがとう御座います.
「平均順位」という概念は,知りませんでした.

A a:1 b:2 c:3
B a:2 b:2 c:1


a:1+2 = 3
b:2+2 = 4
c :3+1 = 4

よって,a,b,cの平均順位は,以下となる.

a:1
b:1.5
c:1.5

>暗号化方式を決めるということなら、
>利益を最大にするというより、万一の場合の損失を最小にするような
>考えのほうがいいような気がします。

アドバイスを頂き,なるほどと思いました.
暗号化方式を決める時の,利益や損失について自分なりに考えてみました.
かなり難しい問題ですね.
利益は,暗号化強度を高いものを選択する事によりセキュリティを
高めることでしょうか.
一方,損失は,なんでしょう?
例えば,暗号化によって,接続された場合に相手に漏洩する情報という事でしょうか?
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2005-09-16 13:45
引用:

banbooさんの書き込み (2005-09-16 13:38) より:
暗号化方式を決める時の,利益や損失について自分なりに考えてみました.
かなり難しい問題ですね.


暗号化とは関係ないですが、悪いものをいいと主張するものを信用しない、
悪いものかが分からないので、少数派の意見、他との差異が大きい意見を切り捨てる、
なんてことになってくるのかも。

※画像処理のメディアンフィルタをちょっと思い出したり。
angel
ぬし
会議室デビュー日: 2005/03/17
投稿数: 711
投稿日時: 2005-10-10 22:47
こんばんは。
本筋とは違うお話の上、今更ながら、ではありますが…。
引用:
des-ede3 ( 3鍵の 3DES ) は、見た目上、鍵長が 168bit ですが、実質は 112bitになると聞いたことがあります。
※ 同じ理屈から、double DES は存在しない… 何故なら実質鍵長 56bitになり、素の DESと変わらず無意味だから。
 meet in the middle attack ( MITM ) とか何とかの方法だとかを使うらしい。
※ des-ede ( 2鍵の 3DES ) は一寸分かりませんが…、恐らくこれも実質 112bitかと。


この話のネタが見つかりましたので、挙げておきます。

 ・暗号化のお話(1)より 2DES および 3DES
 ・二つの MITM って? ( 人に読ます記事書いてあまつさえ金まで取ろうつーならこの程度は知っとけよな、(゚Д゚)ゴルァより )

それでは、ご参考まで。

[ メッセージ編集済み 編集者: angel 編集日時 2005-10-10 23:30 ]
banboo
大ベテラン
会議室デビュー日: 2003/12/05
投稿数: 210
投稿日時: 2005-10-25 15:25
なか-chan様が考えた,「順位をそれぞれ、ビットに割り当てる」という方法を
是非参考にさせて頂きたいと思っております.

この方法で,各パラメータの優先順位を決定すると以下のようになります.
まず,以下の様な条件があるとします.

・A,Bの二人がいる.
・パラメータの数は,4個.α,β,γ,σとする.
・パラメータの値は,優先順位を表す.値が低い方が,優先順位が高いことを表す.

例1)
  A  B

α 1 8
β 2 4
γ 4 2
σ 8 1

このような条件で,各パラメータの優先順位を比較すると以下のようになります.

例1)B  A  A+B

α 1 8   9
β 2 4 6
γ 4 2 6
σ 8 1 9

よって,A,Bの二者間の優先順位は,

α = σ < β = γ 

という結果になります.

■今回は,A,Bを交互に交換する事により,上記と同様な結果を
導き出すようなアルゴリズムを考えたいと思っています.

具体的には,以下の方法です.

Step1:自分の値の中で,一番優先順位が高い値を相手に送信する.

Step2:受信した値より,優先順位が高い値がある場合は,その値を相手に送信する.

Step3:Step2と同様の処理を行う.

...

       A       B

      Step1: α=1
     ==========⇒

  Step2: Bのαの優先順位は,8である.
         Bのσの優先順位は,1である.
αよりもσの方が優先順位が高いので,σを相手に送信.
 
         σ=1
       ←==========

Step3: Bのσの優先順位は,8である.
Aのβの優先順位は,2である.
σよりもβの方が優先順位が高いので,
βを相手に送信
(αは,一度相手送信済みなので,
二番目に優先順位が高いβを
相手に送信する)

       Step3: β=2
     ==========⇒

  Step4: γ=2
     ←==========

γより優先順位が高い
値はないため,ここで
終了.

■アドバイスを頂きたいことは,「アルゴリズムの停止条件をどのように定めるか」
という事です.

例えば,私自身の方法は,以下の通りです.

アルゴリズムの停止条件は,値を受信した時に,
Aの優先順位+Bの優先順位の合計値を計算する.
この合計値が,前のStepよりも,合計値が小さくなっている場合は,
終了とする.

■但し,現在の私の方法では,問題があります.

・処理を終了した後に,合計値がもっと低い値があるかもしれない.
・合計値が一緒だった場合の事が考慮されていない.
 例えば,以下では,Step2とStep3の合計値が9で同じである.

■今の方法に対する改良点などありましたら,ご教授下さい.

       A       B

      Step1: α=1
     ==========⇒

  Step2: αの優先順位,A+B=9

         σ=1
       ←==========

Step3: σの優先順位,A+B=9

       Step3: β=2
     ==========⇒
        
Step4: βの優先順位,A+B=6

        前のStep2よりも,合計値が小さくなっているので終了.

スキルアップ/キャリアアップ(JOB@IT)