Slide1 l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 29

RSA 暗号の多変数化と 連立代数方程式 PowerPoint PPT Presentation


  • 225 Views
  • Uploaded on
  • Presentation posted in: General

RSA 暗号の多変数化と 連立代数方程式. NTT : コミュニケーション科学基礎研究所 國廣 昇. 1. 概略. 暗号の例 RSA 暗号 Koyama 暗号 RSA 暗号の多変数化 多変数公開鍵暗号の定義 暗号の特徴付け 数論の問題の難しさ 提案されている多変数公開鍵暗号の紹介 多変数 RSA 暗号(その1,その2) Schwenk-Eisfields 暗号 良い暗号とは?. 2. RSA 暗号. 公開鍵: 合成数 n (= pq ), 自然数 e , ただし gcd( e , φ( n ))=1

Download Presentation

RSA 暗号の多変数化と 連立代数方程式

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Slide1 l.jpg

RSA暗号の多変数化と連立代数方程式

NTT: コミュニケーション科学基礎研究所

國廣 昇

1


Slide2 l.jpg

概略

  • 暗号の例

    • RSA暗号

    • Koyama暗号

  • RSA暗号の多変数化

    • 多変数公開鍵暗号の定義

    • 暗号の特徴付け

    • 数論の問題の難しさ

  • 提案されている多変数公開鍵暗号の紹介

    • 多変数RSA暗号(その1,その2)

    • Schwenk-Eisfields暗号

  • 良い暗号とは?

2


Slide3 l.jpg

RSA暗号

公開鍵: 合成数 n (=pq), 自然数 e, ただし

gcd(e, φ(n))=1

秘密鍵: 素数 p, q, 自然数 d, ed≡1 mod φ(n)

平文: 自然数 M (1< M< n)

暗号化: C=Me mod n

暗号文: C

復号: M=Cd mod n

Eulerの定理: Med ≡M (mod n)に注意

3


Slide4 l.jpg

RSA暗号(つづき:攻撃法と別の復号法)

攻撃法1: n を素因数分解する.

攻撃法2: 方程式 xe ≡ C (mod n)を解く.

Cの e 乗根を求めることは,n を素因数分解することと同程度難しいと強く予想されている.

別の復号法: 次の方程式を解く.簡単に可能.

4


Koyama l.jpg

Koyama暗号

公開鍵: n (=pq), 自然数 e, gcd(e,φ(n))=1

秘密鍵:素数 p,q,自然数 d, ed ≡1 (mod φ(n))

平文: (M1, M2) , 1 < M1, M2< n

暗号化:

暗号文: (C, a)

復号:

5


Koyama6 l.jpg

Koyama暗号(つづき)

攻撃法1: n を素因数分解する.

攻撃法2: 連立代数方程式を解く.

攻撃法 3: Cのmod n における e 乗根を求める.

攻撃法2 と 3は同じ難しさであることが証明されている.

6


Slide7 l.jpg

別の復号法

連立代数方程式を解く.

どうやって解くか?

Step1: edp ≡1 (mod p-1), edq≡1 (mod q-1)

Step2: Cdp mod p, Cdq mod qを計算.

Step3: (M1, M2) mod (p, q)を求める.

Step4: 中国人剰余定理により (M1, M2)を求める

7


Slide8 l.jpg

多変数公開鍵暗号の定義

公開鍵: 合成数 n, t 個の t 変数有理関数

f1(x1, ..., xt), f2(x1, ..., xt), ..., ft(x1, ..., xt)

(f1, f2, ..., ft): S1 ⊆ (Z/nZ)t → S2 ⊆ (Z/nZ)t

秘密鍵: p, q

平文 (M1, M2, ..., Mt) ∈ S1

暗号化:

暗号文: (C1, ..., Ct) + 平文の識別子

8


Slide9 l.jpg

多変数公開鍵暗号の定義(つづき)

復号:連立代数方程式を解く.

mod p, mod qでの解を mod n の解にまとめる.

解が複数ある場合は,「識別子」を頼りに,

平文を求める.

9


Slide10 l.jpg

暗号を特徴づけるのは?

  • 有理関数群 f1, f2, ..., ft をどのように設定するか?

  • 復号において,どのように連立代数方程式を解くか?

  • f1, f2, ..., ft は1対1の写像か?(識別子がいるか?)

    例えば,Koyama暗号の場合,

10


Slide11 l.jpg

攻撃法1: n を素因数分解する.

攻撃法2: 連立方程式をなんとかして解く.

暗号として意味を持つためには,

連立方程式が,

  • mod p, mod q で解けるが,

  • mod n では解けない.

11


Slide12 l.jpg

数論の問題を解く計算量

  • 大きい素数の積の素因数分解は難しい.

  • xe≡C (mod p)を解くことは,やさしい.

  • t 次の方程式を mod p 上で解くことは,t がlog pの多項式ならやさしい.

  • 2次以上の方程式を mod n で解くことは,n を素因数分解することと同じ位難しい.

  • 連立方程式 f(x)≡0, g(x)≡0 (mod n) が共通解をただ一つ持つならば,その共通解を求めることはやさしい.

12


Slide13 l.jpg

数論の問題を解く計算量(つづき)

  • f(x)≡0 (mod n)を p,q を用いて解くには,一般に次の手順に従う.

    Step1: f(x)≡0 (mod p), f(x)≡0 (mod q) をそれぞれ解く.

    Step2: 中国人剰余定理により, mod nでの解を求める.

  • 一般に,連立代数方程式を解くには,Groebner基底や,終結式を使う.実時間で可能かどうかは,問題に依存する.

13


Rsa 1 l.jpg

多変数RSA暗号その1

公開鍵: n, t 個のt 変数有理関数,ただし,

f1(x1,..., xt)=(g(x1, ... ,xt))e, gcd(e,φ(n))=1

条件:与えれたu1, u2, ..., ut に対して,連立方程式

が解を持つならば,

  • 解は一意に定まる

  • 解は簡単に求めることができる.

14


Rsa 115 l.jpg

多変数RSA暗号その1(つづき)

暗号化: Ci=fi (M1, M2, ..., Mt) mod n ( 1≦i≦t)

特に,C1=g(M1, ..., Mt)e mod n

復号:連立方程式

を解く.

15


Rsa 116 l.jpg

多変数RSA暗号その1(つづき)

具体的には,

Step1: ed≡1 (mod φ(n)) となる d を求める.

Step2: C1d を求める.

Step3: 連立方程式を解く.

これは条件により,簡単に一意に解ける.

16


Slide17 l.jpg

M1, M2, M3, ..., Mt-1, Mt

簡単に計算可能

g, f2, f3, ..., ft

u, C2, C3, ..., Ct-1, Ct

できる/できない

u を e 乗

C1 (=ue), C2, C3, ..., Ct-1, Ct

直感的に言うと...

17


Rsa 118 l.jpg

多変数RSA暗号その1(つづき)

攻撃法1: 連立方程式

攻撃法2: 方程式 xe≡C1 (mod n) を解く.

攻撃法3: n を素因数分解する.

攻撃法1と2は同じ難しさである.

18


Rsa 2 l.jpg

多変数RSA暗号その2

連立方程式

の解は一意に定まり,なおかつ

(x1, ..., xt) = (h1(u1, ..., ut), ... , ht(u1,..., ut))

で表される.h1, ..., ht は有理関数で値の

評価が簡単にできる.

19


Rsa 220 l.jpg

多変数RSA暗号その2 (つづき)

暗号化: Ci=fi (M1, M2, ..., Mt) mod n (1≦i≦t)

特に,C1=g(M1, ..., Mt)e mod n

復号:

Step1: ed≡1 (mod φ(n)) となる d を求める.

Step2: C1d mod n を計算.

Step3: Mi=hi(C1d, C2, ..., Ct) mod n (1≦i≦t)

20


Slide21 l.jpg

Koyama暗号の場合は

21


Schwenk eisfields l.jpg

Schwenk-Eisfields暗号

暗号化関数 fi を次のように定義

fi(x1, ..., xt)=(異なる i 個のxj の積の和)

たとえば,t=3 の時,

f1(x1, x2, x3)=x1+x2+x3

f2(x1, x2, x3)=x2x3+x3x1+x1x2

f3(x1, x2, x3)=x1x2x3

22


Schwenk eisfields23 l.jpg

Schwenk-Eisfields暗号(つづき)

暗号化:

C1= f1 (M1, M2, M3) = M1+M2+M3 mod n

C2= f2 (M1, M2, M3) = M2M3+M3M1+M1M2 mod n

C3= f3 (M1, M2, M3) = M1M2M3 mod n

暗号文: (C1, C2, C3) + 平文の識別子

復号:

x2, x3を消去して

x13-C1x12+C2x1-C3≡0 (mod p,q)を解く.

解は複数個あるので,識別子を用いて解を特定.

23


Slide24 l.jpg

良い暗号とは?

これまで提案されている全ての暗号は,

一変数の方程式を解く困難さに安全性の根拠を置いている.

暗号を2つに大別する.

  • RSA, Koyama, 多変数RSA暗号

  • Schwenk-Eisfields暗号, (Rabin暗号)

    これは,

  • 識別子がいらないか/いるか?

  • 解く方程式がxe≡Cであるか/ないか?

  • 解が一意に決定するか/しないか?

24


Slide25 l.jpg

識別子が無い方が良い.

  • どのように識別子を設定したらよいのか.

  • 識別子を送ることにより,解読されやすくなるかもしれない.

  • 解がたくさんあると解読されやすくなる.

  • 解を求めるのが面倒.

25


Slide26 l.jpg

いろいろな攻撃(その1)

部分情報に関する安全性

多変数 RSA暗号その2を例に

定理1: 平文の一部分(例えば,M1)が攻撃者に知られた時,平文は全て解読される.

証明のスケッチ:

を解く.これは,簡単に解ける.

  • 多変数RSA暗号その1, Schwenk-Eisfields暗号の場合には,同様の攻撃はできないようである.

26


Slide27 l.jpg

いろいろな攻撃(その2)

定理2: 一回目に(M1, ..., Mt),

二回目に(M1’, ..., Mt’)を送ったとする.ただし,Mi=Mj’とする.攻撃者がこの事実を知っている時,

攻撃者は,全ての平文(M1, ..., Mt), (M1’, ... , Mt’)

を求めることができる.

証明のスケッチ: 解くべき連立方程式は,

27


Slide28 l.jpg

速度評価

多変数RSA暗号その2の場合

g(M1, ..., Mt), f2(M1, ..., Mt), ..., ft(M1, ..., Mt)

の総計算時間を T1

e 乗演算に要する計算時間を T2 とする.

暗号化に要する計算時間は,T1+T2

RSA暗号を t 回実行する計算時間は, tT2

T1+T2 ≦t T2ならば,高速化が実現できる.

28


Slide29 l.jpg

まとめ

f1, f2, ..., ft を決定する⇒

(形式的に) 暗号を一つ提案

最低条件:

  • 公開鍵から,秘密鍵は知られない.

  • 公開鍵と暗号文から平文が知られない.

    みたしてほしい条件

  • 暗号化,復号が(少なくともRSAより)高速.

  • 色々な攻撃に対して強い.

29


  • Login