情報セキュリティを支える暗号技術の 基礎と応用...

Post on 29-Aug-2019

212 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

情報セキュリティ 初級

情報セキュリティを支える暗号技術の基礎と応用

第5回 公開鍵暗号の実用例

情報セキュリティ大学院大学 土井 洋

1

鍵の共有の問題解決へのアプローチ

鍵共有法の利用

データのやり取りを行うことで,鍵Kを共有できる

公開鍵暗号の利用

鍵の一部を公開できる暗号方式

鍵は「公開鍵」と「秘密鍵」の2種類

鍵Kを平文とする暗号文を送ることで,鍵Kを共有できる

第4回講義

DH鍵共有法

教科書的ElGamal暗号(公開鍵暗号)

2

教科書的RSA暗号(Rivest, Shamir, Adleman(1970年代後半))

鍵生成

公開鍵PKは正の整数nとe,秘密鍵SKは正の整数d

n, e, dは整数M(0≦M<n)に対して,M=Med mod n となる

暗号化

公開鍵PKと平文Mを入力とし, C=Me mod n を出力する

復号

秘密鍵SKと暗号文Cを入力とし, Cd mod n を出力する

M=(Me)d mod n が成り立つ3

RSA問題と素因数分解問題

RSA暗号の鍵生成

n, e, dは,M=Med mod nとなるように選ぶ

選び方の工夫

nが大きな素数p,qの積(つまり n=p×q)

nの素因数分解を知っていれば,eからdを計算できる

nの素因数分解を知らなければ,eやnからdを計算できない

4

素因数分解問題(RSA暗号の場合)

前提

大きな異なる素数p,qを定め,n=pqとする

pとqは同じぐらいの大きさ

問題

n が与えられたとき,その素因数であるpまたはqを求めよ

困難性

p,qが大きくなると困難(nが2048ビット以上(p,qが1024ビット以上)

NIST SP800-57 Recommendation for KeyManagement Part 1: (2007)

第1回講義ほぼ同じ大きさの二つの素数の積である千二十四ビット以上の整数の素因数分解

5

公開鍵暗号の安全性

攻撃(攻撃者に許されること)

選択平文攻撃

攻撃者が選んだ平文𝑀𝑖に対する暗号文𝐶𝑖

選択暗号文攻撃

攻撃者が選んだ暗号文𝐶𝑖に対する平文𝑀𝑖

安全性

一方向性

暗号文Cから平文Mを求めることができない

識別不可能性

攻撃者が選んだ二つの平文M0とM1のいずれかの暗号文Cが与えられたとき,いずれの平文を暗号化したかを識別すること困難

大量に利用可能

6

教科書的な公開鍵暗号の強化(強い攻撃に対する高い安全性)

教科書的なRSA暗号は識別不可能性を有さない

攻撃者が選んだ二つの平文M0とM1のいずれかの暗号文Cb

が与えられたとする

攻撃者はM0とM1の暗号化を行い,Cbと等しいか確認できる

参考

教科書的ElGamal暗号は選択暗号文攻撃に対して識別不可能性を有さない

教科書的な暗号方式の強化

目標は,「選択暗号文攻撃に対して識別不可能性を有する」

ハッシュ関数などを用いる構成方法が知られている

7

楕円曲線を利用する方式

楕円曲線を利用する方式

楕円DH鍵共有法

楕円ElGamal暗号

「離散対数計算問題の困難性」と同様の困難性

現在では,224ビット以上

第1回講義楕円曲線上の点がなす大きさ百六十ビット以上の群における離散対数の計算

NIST SP800-57 Recommendation for KeyManagement Part 1: (2007)

8

数論問題の困難性の比較

(楕円)離散対数計算問題,素因数分解問題

複数の数論問題を基に設計することには意味がある

特徴

困難な問題 安全性を満たす問題のサイズ

現時点の普及度

将来性

素因数分解 大 大 中

離散対数計算 大 小 -

楕円離散対数計算 小 小 高

将来,鍵などのサイズを大きくするときに,優位

9

公開鍵暗号と共通鍵暗号の特徴

特徴の比較

実用化のために

便利な公開鍵暗号は,共通鍵暗号の秘密鍵の共有などに利用

データ自体は共通鍵暗号で暗号化する

平文のサイズは大きいことに注意

特徴 共通鍵暗号 公開鍵暗号

鍵の共有の必要性 必要 不要

安全性 高い 高い

処理速度 高速 低速(著しく)

10

ハイブリッド暗号

共通鍵暗号と公開鍵暗号のよいところを利用

データ(平文M)の暗号文SKE(K,M)を計算

共通鍵暗号を利用(乱数を生成し,Kを生成)

鍵Kの暗号文PKE(PK,K)を計算

公開鍵暗号を利用

PKE(PK,K)

この部分は小さい(公開鍵暗号の処理は低速)

この部分は大きいが高速に計算可能(共通鍵暗号の処理は高速)

SKE(K,M)

11

まとめ

公開鍵暗号の例

ElGamal暗号(前回),RSA暗号,楕円ElGamal暗号

仮定している数論問題の困難性

素因数分解問題,(楕円)離散対数問題

公開鍵暗号の使用法

共通鍵暗号で使う秘密鍵の共有

ハイブリッド暗号

特徴(公開鍵暗号)

アルゴリズムの安全性(数論問題の困難性等)を評価可能

安全なアルゴリズム(pやqのサイズ等,乱数生成を含む)を用い,公開鍵が正しいものなら「秘密の鍵が知られなければ安全」ということを達成

12

top related