390 likes | 460 Views
絶対に安全な秘密鍵の共有法. - 離散数学の考え方 -. 東北大学大学院情報科学研究科 教授 西関 隆夫. 今日、 会おうよ!. Alice. Bob. AさんとBさん遠くに離れているところに住んでいて、AさんはBさんにメッセージを伝えたいとしましょう。. 今日、 会おうよ!. Alice. Bob. Eve. ただし、メッセージの内容を他の人に知られたくありません。. 今日、 会おうよ!. 電話・電子メール. Alice. Bob. Eve.
E N D
絶対に安全な秘密鍵の共有法 - 離散数学の考え方 - 東北大学大学院情報科学研究科教授 西関 隆夫
今日、 会おうよ! Alice Bob AさんとBさん遠くに離れているところに住んでいて、AさんはBさんにメッセージを伝えたいとしましょう。
今日、 会おうよ! Alice Bob Eve ただし、メッセージの内容を他の人に知られたくありません。
今日、 会おうよ! 電話・電子メール Alice Bob Eve 例えば、電話を掛ければ、メッセージを伝えられますね。あるいは、最近では、電子メールを利用してメッセージを伝えるかもしれません。しかし、電話にしても電子メールにしても、もしかしたら、途中に盗み聞きや盗み見をしている悪い人がいるかもしれません。
暗号 今日、 会おうよ! カギ Alice Bob ??? Eve そんなときには、「暗号」を使うと、AさんはBさんに秘密にメッセージを伝えることができます。Aさんは、途中で盗み見されても大丈夫なように、メッセージを暗号化して、他の人にわからなくして、Bさんに送ります。暗号文を受け取ったBさんは元に戻してメッセージを得ます。
c Alice Bob c = me mod pq m = cd mod pq p, q →pq : easy pq →p, q : hard ところで、暗号は本当に安全なのでしょうか?つまり、どんな人にも本当にメッセージの内容がバレないのでしょうか?実は、現在使われている暗号のほとんどは、数学的な問題の難しさにその安全性の根拠を置いています。
小学校の算数の問題: 整数 35を素因数分解しなさい
小学校の算数の問題: 整数 35を素因数分解しなさい 35=5×7
小学校の算数の問題: 整数 35を素因数分解しなさい 35=5×7 それでは、 2,795,519では?
2,795,519を素因数分解しなさい 2 で割り切れない、 3 で割り切れない、 4 で割り切れない、 5 で割り切れない、 … 683 で…割り切れた! 2,795,519= 683×4,093
大きな数の素因数分解ができると、 現在使われている暗号は解読されてしまいます。 114381625757888867669235779976146612010218296721242362562561842935706935245733897830597123563958705058989075147599290026879543541 素因数 分解 32769132993266709549961988190834461413177642967992942539798288533 3490529510847650949147849619903898133417764638493387843990820577 ×
スーパーコンピュータ したがって、もしそのような難しい数学の問題を解ける人がいたり、短時間で解ける高性能なコンピュータがあったら、その暗号は破れてしまい、メッセージの内容がバレてしまいます。
暗号 今日、 会おうよ! カギ Alice Bob 絶対に開けられない Eve 本研究では、どんなに数学な得意な人でも、どんなに高性能なコンピュータでも、絶対に解読できない暗号について研究し、どのような場合にそのような絶対に安全な暗号を作ることができるかどうか、について研究しました。
Alice Bob c = m k m = c k = (m k) k k:秘密共有鍵
0 1 Alice Bob Eve カードのランダム配布を考える
2 4 3 1 ランダム配布 Alice Bob Eve
1 4 3 2 (例1) Alice:「 と の中にあなたのカードありますか?」 Bob:「はい,あります」 4 3 4 3 Aliceと Bobは, が Bobのカードで が Aliceのカード であることを知る. しかし,Eveにはどっちがどっちのカードか全くわからない. Alice Bob Eve Aliceと Bobは “秘密鍵” を共有できる Aliceのカードが大きい ⇒ “0” Aliceのカードが小さい ⇒ “1”
1 4 3 2 2 3 4 1 (例2) Alice:「 と の中にあなたのカードありますか?」 Bob:「いいえ,ありません」 Aliceと Bob は と を捨てる. (実際には,捨てられたものであるとして以後振舞う.) 2 3 4 4 1 1 Alice Bob Eve Alice Bob Eve Alice:「 と の中にあなたのカードありますか?」 Bob:「はい,あります」 秘密鍵 を共有できる
Bob Alice Eve ( 2, 1; 1) ○ ( 4, 3; 5) ○ ( 1, 1; 1) × ( a, b; e) ??? 秘密鍵が共有できるための条件は?
改良 transformation プロトコル a b e 分割 結合
Final sets step 2: Combining transformation This combining operation is repeated as long as there are two setsof almost same size. splitting transformation a combining transformation Alice b Bob d Eve No Eve's card 2 bits
The detail of combining operation d d/3 d Alice randomly chooses d /3 cards from one of the two larger sets,
5 8 16 12 The detail of combining operation Alice announces these card numbers. 2d / 3 d d/3 d/3 d Alice randomly chooses d /3 cards from one of the two larger sets, andd /3 cards from the other larger set.
Bob announces ‘1 card’ d 5 8 16 12 d The detail of combining operation Alice announces these card numbers. 2d / 3 2d / 3 Bob announces how many cards he has in the new set. d d/3 d/3 New smaller set. d
The detail of combining operation There are three cases. d d/3 d Alice randomly chooses d /3 cards from one of the sets,
Bob announces ‘0 card’ The detail of combining operation There are three cases. 2d / 3 d d/3 d/3 d Alice randomly chooses d /3 cards from one of the sets, andd /3 cards from the other larger set.
Alice can know that these cards are Eve’s cards. Eve can know that this card is Alice’s. 2d/3 The detail of combining operation Alice announcesthe remaining set, as a new smaller set. There are three cases. 2d / 3 d 2d/3 d New smaller set.
The detail of combining operation There are three cases. d d/3 d Alice randomly chooses d /3 cards from one of the sets,
Bob announces ‘2 cards’ The detail of combining operation There are three cases. d 2d / 3 d/3 d/3 d Alice randomly chooses d /3 cards from one of the sets, andd /3 cards from the other larger set.
d/3 Eve can know that one of these blue cards is Bob's card. The detail of combining operation Alice regardsthis smaller set, as a new smaller set. There are three cases. d 2d / 3 d/3 d
2d/3 2d/3 d/3 The detail of combining operation The combining operation is a randomized one. There are three cases. d d
定理 プロトコルにより nビット共有できる ⇔ a+b a if e = 0 log2 min a,b, if 0 < e < max{a,b} otherwise if s = 3, i = j = 1 if s≧4, i = j = 1 (where r = s mod i) if s > i+j≧3 and i ≧ j otherwise
むすび ○ カードの配布による秘密鍵共有に関する未解決 問題の解決 ○ 離散数学,特に組合せ論の考え方