情報セキュリティ特論( 3 )

144
情情情情情情情情情情3 情情 情情情情情 () [email protected]

Upload: monte

Post on 13-Jan-2016

66 views

Category:

Documents


0 download

DESCRIPTION

情報セキュリティ特論( 3 ). 黒澤 馨 (茨城大学) [email protected]. 演習 (1). One-time pad について考える。 鍵 K=(001101) で、平文 M=(111111) を 暗号化せよ。 C=K+M =(001101)+(111111) =(110010). 演習 (1). One-time pad について考える。 鍵 K=(001101) で、暗号文 C=(101101) を 復号せよ。 M=K+C =(001101)+(101101) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 情報セキュリティ特論( 3 )

情報セキュリティ特論( 3 )

黒澤 馨 (茨城大学)[email protected]

Page 2: 情報セキュリティ特論( 3 )

演習 (1)

One-time pad について考える。

• 鍵 K=(001101) で、平文 M=(111111) を 暗号化せよ。• C=K+M

=(001101)+(111111)

=(110010)

Page 3: 情報セキュリティ特論( 3 )

演習 (1)

One-time pad について考える。

• 鍵 K=(001101) で、暗号文 C=(101101) を 復号せよ。• M=K+C

=(001101)+(101101)

=(100000)

Page 4: 情報セキュリティ特論( 3 )

演習 (2)

• One-Time Pad が無条件に安全であることを、

  n=1 ビットの場合と同様に、 n=2 ビットに対し、証明せよ。

Page 5: 情報セキュリティ特論( 3 )

証明  (n=2 の場合)

• 敵が暗号文 C=(00) を入手した。• このとき、     Pr(M=00 | C=00)=Pr(M=00)

 を証明する。

Page 6: 情報セキュリティ特論( 3 )

C=M+K mod 2 より、 C=00 となる (M,K) は、

K

M

1

01 10 1100

00

01

10

11

Page 7: 情報セキュリティ特論( 3 )

C=00 という条件の下で、 M=00 となる事象は、

K

M

1

01 10 1100

00

01

10

11

Page 8: 情報セキュリティ特論( 3 )

K

M

1

01 10 1100

00

01

10

11

Pr(M=00 | C=00) =

Pr( M=00, K=00)+…+Pr( M=11, K=11)

Pr( M=00, K=00)

Page 9: 情報セキュリティ特論( 3 )

K

M

1

01 10 1100

00

01

10

11

Pr(M=00 | C=00) =

Pr( M=00) ・ 1/4 +…+Pr( M=11) ・ 1/4

Pr( M=00) ・ 1/4

Page 10: 情報セキュリティ特論( 3 )

K

M

1

01 10 1100

00

01

10

11

Pr(M=00 | C=00) =

Pr( M=00) +…+Pr( M=11)

Pr( M=00)

Page 11: 情報セキュリティ特論( 3 )

K

M

1

01 10 1100

00

01

10

11

Pr(M=00 | C=00) = Pr( M=00)

Page 12: 情報セキュリティ特論( 3 )

Pr(M=00 | C=00)=Pr(M=00)

• 同様にして、     Pr(M=01 | C=00) = Pr(M=01)

     Pr(M=11 | C=11) = Pr(M=11)

Page 13: 情報セキュリティ特論( 3 )

演習 (3)

  共通鍵暗号系( G,E,D )が無条件に安全であるための必要十分条件は、

・ M 上の任意の確率関数 PM

・ ∀m M ∈  に対し、 ・ ∀C C∈

Pr( = c | = m ) = Pr( = c )

であることを証明せよ。M~

C~ C

~

Page 14: 情報セキュリティ特論( 3 )

順方向の証明

• Pr(C=c | M=m)=Pr(C=c)

  と仮定する。• このとき、無条件に安全、すなわち、 Pr(M=m | C=c) =Pr(M=m)

 を示す。

Page 15: 情報セキュリティ特論( 3 )

証明

• Pr(C=c | M=m)=Pr(C=c) と仮定。

Page 16: 情報セキュリティ特論( 3 )

証明

• Pr(C=c | M=m)=Pr(C=c) と仮定。• 両辺に、 Pr(M=m) / Pr(C=c) を掛けると、

Page 17: 情報セキュリティ特論( 3 )

証明

• Pr(C=c | M=m)=Pr(C=c) と仮定。• 両辺に、 Pr(M=m) / Pr(C=c) を掛けると、• 右辺 =Pr(M=m)

Page 18: 情報セキュリティ特論( 3 )

証明

• Pr(C=c | M=m)=Pr(C=c) と仮定。• 両辺に、 Pr(M=m) / Pr(C=c) を掛けると、• 右辺 =Pr(M=m)

• 左辺 = Pr(C=c | M=m) Pr(M=m) / Pr(C=c)

Page 19: 情報セキュリティ特論( 3 )

証明

• Pr(C=c | M=m)=Pr(C=c) と仮定。• 両辺に、 Pr(M=m) / Pr(C=c) を掛けると、• 右辺 =Pr(M=m)

• 左辺 = Pr(C=c | M=m) Pr(M=m) / Pr(C=c)

= Pr(C=c, M=m) / Pr(C=c)

Page 20: 情報セキュリティ特論( 3 )

証明

• Pr(C=c | M=m)=Pr(C=c) と仮定。• 両辺に、 Pr(M=m) / Pr(C=c) を掛けると、• 右辺 =Pr(M=m)

• 左辺 = Pr(C=c | M=m) Pr(M=m) / Pr(C=c)

= Pr(C=c, M=m) / Pr(C=c)

= Pr(M=m | C=c)

Page 21: 情報セキュリティ特論( 3 )

証明

• Pr(C=c | M=m)=Pr(C=c) と仮定。• 両辺に、 Pr(M=m) / Pr(C=c) を掛けると、• 右辺 =Pr(M=m)

• 左辺 = Pr(C=c | M=m) Pr(M=m) / Pr(C=c)

= Pr(C=c, M=m) / Pr(C=c)

= Pr(M=m | C=c)

よって、 Pr(M=m | C=c) =Pr(M=m)

Page 22: 情報セキュリティ特論( 3 )

証明

• Pr(C=c | M=m)=Pr(C=c) と仮定。• 両辺に、 Pr(M=m) / Pr(C=c) を掛けると、• 右辺 =Pr(M=m)• 左辺 = Pr(C=c | M=m) Pr(M=m) / Pr(C=c) = Pr(C=c, M=m) / Pr(C=c) = Pr(M=m | C=c)よって、 Pr(M=m | C=c) =Pr(M=m)ゆえに、無条件に安全。

Page 23: 情報セキュリティ特論( 3 )

逆方向の証明

• 無条件に安全と仮定する。  すなわち、 Pr(M=m | C=c) =Pr(M=m)

• このとき、      Pr(C=c | M=m)=Pr(C=c)

 を示す。

Page 24: 情報セキュリティ特論( 3 )

逆方向の証明

• Pr(M=m | C=c) =Pr(M=m) と仮定。

Page 25: 情報セキュリティ特論( 3 )

逆方向の証明

• Pr(M=m | C=c) =Pr(M=m) と仮定。• 両辺に、 Pr(C=c) / Pr(M=m) を掛けると

Page 26: 情報セキュリティ特論( 3 )

逆方向の証明

• Pr(M=m | C=c) =Pr(M=m) と仮定。• 両辺に、 Pr(C=c) / Pr(M=m) を掛けると• 右辺 = Pr(C=c)

Page 27: 情報セキュリティ特論( 3 )

逆方向の証明

• Pr(M=m | C=c) =Pr(M=m) と仮定。• 両辺に、 Pr(C=c) / Pr(M=m) を掛けると• 右辺 = Pr(C=c)

• 左辺 = Pr(M=m | C=c) Pr(C=c) / Pr(M=m)

Page 28: 情報セキュリティ特論( 3 )

逆方向の証明

• Pr(M=m | C=c) =Pr(M=m) と仮定。• 両辺に、 Pr(C=c) / Pr(M=m) を掛けると• 右辺 = Pr(C=c)

• 左辺 = Pr(M=m | C=c) Pr(C=c) / Pr(M=m)

= Pr(M=m, C=c) / Pr(M=m)

Page 29: 情報セキュリティ特論( 3 )

逆方向の証明

• Pr(M=m | C=c) =Pr(M=m) と仮定。• 両辺に、 Pr(C=c) / Pr(M=m) を掛けると• 右辺 = Pr(C=c)

• 左辺 = Pr(M=m | C=c) Pr(C=c) / Pr(M=m)

= Pr(M=m, C=c) / Pr(M=m)

= Pr(C=c | M=m)

Page 30: 情報セキュリティ特論( 3 )

逆方向の証明

• Pr(M=m | C=c) =Pr(M=m) と仮定。• 両辺に、 Pr(C=c) / Pr(M=m) を掛けると• 右辺 = Pr(C=c)

• 左辺 = Pr(M=m | C=c) Pr(C=c) / Pr(M=m)

= Pr(M=m, C=c) / Pr(M=m)

= Pr(C=c | M=m)

よって、 Pr(C=c | M=m)=Pr(C=c)

Page 31: 情報セキュリティ特論( 3 )

無条件に安全な暗号系の制限

• 定理  無条件に安全な暗号系においては | K | | M |≧

Page 32: 情報セキュリティ特論( 3 )

対策

• 擬似乱数生成器、 PseudoRandom Bit Generator (PRBG) 、

を利用する。

Page 33: 情報セキュリティ特論( 3 )

擬似乱数生成器

PRBG短いシード K

長い擬似乱数 PRBG(K)

ただし、

・ |PRBG(K)| > |K|

・ PRBG(K) と真の乱数は、区別がつかない (indistinguishable) 。

Page 34: 情報セキュリティ特論( 3 )

Distinguisher

DPRBG(K) 0 or 1

P0 = Pr(D=1)

D真の乱数 0 or 1

P1 = Pr(D=1)

Page 35: 情報セキュリティ特論( 3 )

定義

• PRBG(K) と真の乱数は indistinguishable

  if |P0-P1|<ε

for 全ての多項式時間の D

• 上記が成り立つとき、   PRBG(K) は擬似ランダム

Page 36: 情報セキュリティ特論( 3 )

全ての n ビットの集合

PRBG(K) の集合

|PRBG(K)|=n ビットとする

Page 37: 情報セキュリティ特論( 3 )

全ての n ビットの集合

PRBG(K) の集合

{D=1 となる n ビットの集合 }

|PRBG(K)|=n ビットとする

Page 38: 情報セキュリティ特論( 3 )

全ての n ビットの集合

PRBG(K) の集合

{D=1 となる n ビットの集合 }

|PRBG(K)|=n ビットとする

P0 = Pr(PRBG(K) が入力のとき D=1)    = 斜線の面積 / 赤の面積

Page 39: 情報セキュリティ特論( 3 )

全ての n ビットの集合

PRBG(K) の集合

{D=1 となる n ビットの集合 }

|PRBG(K)|=n ビットとする

P1 = Pr( 真の乱数が入力のとき D=1)    = 黒の面積 / 全面積

Page 40: 情報セキュリティ特論( 3 )

定義

• PRBG(K) と真の乱数は indistinguishable

  if |P0-P1|<ε

for 全ての多項式時間の D

• 上記が成り立つとき、   PRBG(K) は擬似ランダム

Page 41: 情報セキュリティ特論( 3 )

One-Time Pad の改良

PRBG短い鍵 K

長い擬似乱数 PRBG(K)

暗号文  C = M + PRBG(K)

Page 42: 情報セキュリティ特論( 3 )

擬似ランダム関数 FK(x)

• 鍵 K ← ランダム のとき、

• Y0=(FK(0…0), …, FK(1…1))

   と  Y1=( 乱数、…、乱数)

が indistinguishable

Page 43: 情報セキュリティ特論( 3 )

擬似ランダム関数 FK(x)

• 鍵 K ← ランダム のとき、

• Y0=(FK(0…0), …, FK(1…1))

   と  Y1=( 乱数、…、乱数)

が indistinguishable

しかし、 |Y0|=|Y1|=2n

Page 44: 情報セキュリティ特論( 3 )

擬似ランダム関数 FK(x)

• 鍵 K ← ランダム のとき、

• Y0=(FK(0…0), …, FK(1…1)) → D → 0 or 1

• |Y0|=2n

• Distinguisher D は、 読み込むだけで指数時間かかってしまう。

Page 45: 情報セキュリティ特論( 3 )

In Experiment 0

• K ← randam

Distinguisher D

FK(x)

xi

yi

0 or 1

i=1, 2, …, q, where q= 多項式個

p0 = Pr(D=1)

Page 46: 情報セキュリティ特論( 3 )

In Experiment 1• f ← n ビットから n ビットへの全ての関数の集合から     randam に選んだ関数

Distinguisher Df

xi

yi

0 or 1

i=1, 2, …, q, where q= 多項式個

p1 = Pr(D=1)

Page 47: 情報セキュリティ特論( 3 )

定義

• {FK(x)} は、擬似ランダム関数族 if

|p0-p1|<ε

for 全ての多項式時間アルゴリズム D

Page 48: 情報セキュリティ特論( 3 )

置換

• F: { nビットの集合 }→ { nビットの集合 }

  は置換 if F が1対1の関数 .

Page 49: 情報セキュリティ特論( 3 )

置換

• F: { nビットの集合 }→ { nビットの集合 }

  は置換 if F が1対1の関数 .

y=F(x) が置換ならば、逆関数 x=F-1(y) が存在する

Page 50: 情報セキュリティ特論( 3 )

In Experiment 0

• K← ランダム

Distinguisher D

FK FK-1

xi

yi

yj

xj

0 or 1

p0 = Pr(D=1)

Page 51: 情報セキュリティ特論( 3 )

In Experiment 1• π ← nビット上の全ての置換の集合から     ランダムに選んだ置換

Distinguisher Dπ π-1

xi

yi

yj

xj

0 or 1

p1 = Pr(D=1)

Page 52: 情報セキュリティ特論( 3 )

In Experiment 1

• Choose a random permutationπ

Distinguisher D

π

m _i

c_i

π ^{-1}

c_j

m _j

0 or 1

Page 53: 情報セキュリティ特論( 3 )

定義

• {FK(x)} は、擬似ランダム置換族 if

|p0-p1|<ε

for 全ての多項式時間アルゴリズム D

Page 54: 情報セキュリティ特論( 3 )

Block Cipher (AES)

m=128 bits

EncryptionE

c=128 bits

c=128 bits

Decryption D

m=128 bits

Key k

Page 55: 情報セキュリティ特論( 3 )

A Block Cipher (AES) is

• {permutation πover {128 bit strings }}

That is,

π : message space ={128 bit strings}

     →      ciphertext space ={128 bit strings}

• Key k specifies a permutation.

Page 56: 情報セキュリティ特論( 3 )

AES

• Key : 128 bits, 192 bits or 256 bits

• 仮定 {AESK} は、擬似ランダム置換族

Page 57: 情報セキュリティ特論( 3 )

ECB Mode

encrypts a long message M as follows.

M = ( m

1, ・・・・・・・・・・・・・・・・・ ,mt )

 

C= ( c

1, ・・・・・・・・・・・・・・・・・ ,ct )

Ek Ek

Page 58: 情報セキュリティ特論( 3 )

Not Secure

• If c1=c2,

then the adversary knows

    m1=m2

 

Page 59: 情報セキュリティ特論( 3 )

Message Ciphertext

http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation

Page 60: 情報セキュリティ特論( 3 )

Counter Mode

• The sender keeps a counter ctr.

    ctr ctr+1 ctr+t  

      ‥ ‥     m1       mt

    (ctr, c1, ,ct)‥ ‥ ‥ ‥ = C

Ek Ek

Page 61: 情報セキュリティ特論( 3 )

Security Proof

• {AES} ~ Random Permutation Family P 

      ~ Random Function Family F

• Replace AES E_K

with a random function f.

The adversary can see no difference.

Page 62: 情報セキュリティ特論( 3 )

Counter Mode

     ctr ctr+1 ctr+t  

      ‥ ‥     m1       mt

    (ctr, c1, ,ct)‥ ‥ ‥ ‥ = C

Ek Ek

Page 63: 情報セキュリティ特論( 3 )

Idealized Counter Mode

     ctr ctr+1 ctr+t  

      ‥ ‥     m1       mt

    (ctr, c1, ,ct)‥ ‥ ‥ ‥ = C

f f

Page 64: 情報セキュリティ特論( 3 )

Idealized Counter Mode

     ctr ctr+1 ctr+t  

      ‥ ‥     m1       mt

    (ctr, c1, ,ct)‥ ‥ ‥ ‥ = C

f f

r1 rt

Page 65: 情報セキュリティ特論( 3 )

One-Time Pad

     ctr ctr+1 ctr+t  

      ‥ ‥     m1       mt

    (ctr, c1, ,ct)‥ ‥ ‥ ‥ = C

f f

r1 rt

Hence Secure

Page 66: 情報セキュリティ特論( 3 )

CTR mode

• Was shown by Diffie and Hellman in1979

• It is standarized as

NIST recommendation SP800-38A

 

Page 67: 情報セキュリティ特論( 3 )

CBC mode

Page 68: 情報セキュリティ特論( 3 )

On IV

• If IV=fixed value or ctr,

then CBC mode is not secure.

• If IV=random,

then the security is proved.

Page 69: 情報セキュリティ特論( 3 )

NIST SP800-38A

• For the CBC and CFB modes,

the IV for any particular execution of the encryption process must be unpredictable.

• For the OFB mode,

unique IVs must be used for each execution of the encryption process.

Page 70: 情報セキュリティ特論( 3 )

CFB mode

Page 71: 情報セキュリティ特論( 3 )

OFB mode

Page 72: 情報セキュリティ特論( 3 )

Standards

• CBC mode, CFB mode and OFB mode are standards of

• NIST FIPS81, SP800-38A• US ANSI X3 • ISO 8372, ISO/IEC 10116

Page 73: 情報セキュリティ特論( 3 )

Security of Symmetric Encryption

• Was defined and studied by

Bellare, Desai, Jokiph, Rogaway

in the paper

“A concrete Security Treatment of Symmetric Encryption”

(FOCS’97)

Page 74: 情報セキュリティ特論( 3 )

4 Security Definitions

• LOR (Left or Right) CPA (CCA)

• ROR (Real or Random) CPA (CCA)

• FTG (Find then Guess) CPA (CCA)

• SEM (Semantic Security) CPA (CCA)

Page 75: 情報セキュリティ特論( 3 )

LOR-CPA secure

DE_K

m_0, m_1

E_K(m_0)

0 or 1

DE_K

m_0, m_1

E_K(m_1)

0 or 1

If the following two worlds are indistinguishable.

Page 76: 情報セキュリティ特論( 3 )

ROR-CPA secure

DE_K

m

E_K(m)

0 or 1

DE_K

m

E_K(random r)

0 or 1

If the following two worlds are indistinguishable.

Page 77: 情報セキュリティ特論( 3 )

FTG-CPA security

E_K D

m_i

E_K(m_i)

x_0, x_1

DE_K

m_j

E_K(m_j)

0 or 1

E_K(x_b)

Find stage:

Guess stage:For a random bit b

Is defined by using Find stage and Guess stage.

Page 78: 情報セキュリティ特論( 3 )

FTG-CPA secure

DE_K

m_j

E_K(m_j)

0 or 1

E_K(x_1)

DE_K

m_j

E_K(m_j)

0 or 1

E_K(x_0)

If the following two worlds are indistinguishable.

Page 79: 情報セキュリティ特論( 3 )

Relationship

LOR FTG

Semantic SecurityROR

Reduction is loose

(omitted)

Strongest security

Page 80: 情報セキュリティ特論( 3 )

LOR-CPA security

• CTR mode, CBC mode BDJR (FOCS 1997)• CFB mode Alkassar, Geraldy, Birgit Pfitzmann, Sadeghi (FSE 2001)• CTR-OFB mode Jaechul Sung, Sangjin Lee, Jongin Lim, Wonil Lee, Okyeon Yi (ICISC 2001)

Page 81: 情報セキュリティ特論( 3 )

This Talk

• Security of Block Ciphers

• Encryption Schemes

• MAC Schemes

• Tweakable Block Cipher

• CMAC

Page 82: 情報セキュリティ特論( 3 )

Message Authentication Code(MAC)

Key K Key K

( M , Tag)

×   Impersonate×   Forge

Page 83: 情報セキュリティ特論( 3 )

CBC-MAC is well known

Ek Ek Ek

・・・

Tag

M=(m1, m2, ・・・ , mt)

Page 84: 情報セキュリティ特論( 3 )

Attack on CBC-MAC

EkEk

Tag

Ek

Tag

m ( m, m+Tag )

Tag

m偽造

Obtains (m, Tag) Outputs M=(m, m+Tag), Tag

Page 85: 情報セキュリティ特論( 3 )

Model of Security

M_i

Tag_i

(M’, Tag’)

Forgery

Chose Message Attack

MAC scheme is secure if Pr(Forgery)=negligible

Page 86: 情報セキュリティ特論( 3 )

Security of CBC MAC

• Secure if |M|=fixed

• But, not secure if |M|=variable

Page 87: 情報セキュリティ特論( 3 )

EMAC

E_K E_K E_K

・・・

Tag

M=(m_1, m_2, ・・・ , m_t)

E_K’

Is an improvement of CBC-MAC as follows.

Tag of CBC-MAC

Page 88: 情報セキュリティ特論( 3 )

EMAC is Secure for variable |M|

f1 f1 f1

・・・

Tag = f2(x)

M=(m_1, m_2, ・・・ , m_t)

f2

f1, f2 は、ランダム関数

x

Page 89: 情報セキュリティ特論( 3 )

EMAC is Secure for variable |M|

f1 f1 f1

・・・

Tag1 = f2(x1)

M1=(m_1, m_2, ・・・ , m_t)

f2

f1, f2 は、ランダム関数

x1

Page 90: 情報セキュリティ特論( 3 )

Model of Security

M1

Tag1=f2(x1)

Chose Message Attack

Page 91: 情報セキュリティ特論( 3 )

Model of Security

M2

Tag2=f2(x2)

Chose Message Attack

Page 92: 情報セキュリティ特論( 3 )

Model of Security

Mq

Tagq=f2(xq)

Chose Message Attack

Page 93: 情報セキュリティ特論( 3 )

Model of Security

M1, M2, ⋯, Mq

Tag1, ⋯, Tagq

(M’, Tag’)

Forgery

Chose Message Attack

Page 94: 情報セキュリティ特論( 3 )

f1 f1 f1

・・・

偽造成功 if Tag ’= f2(x’)

M’=(m_1’, m_2’, ・・・ , m_t’)

f2

x’

Tag’

Page 95: 情報セキュリティ特論( 3 )

In general,

H

M

Tag=H(M)for some function H

Page 96: 情報セキュリティ特論( 3 )

MAC Theorem

H is a pseudo-random function

  H is a secure MAC

Page 97: 情報セキュリティ特論( 3 )

Proof

• Assume that there exists

a chosen message attacker A on H

who succeeds with prob. ε

• Then we will show that

  H is not a pseudo-random function.

Page 98: 情報セキュリティ特論( 3 )

Consider D which uses Aas follows

D=AH

m_i

Tag_i

M’, Tag’

DH

M’

Tag’

1 if Tag’ =Tag’0 else

Pr(D=1)=ε

Page 99: 情報セキュリティ特論( 3 )

Replace H with a random function f

D=Af

m_i

Tag_i

M’, Tag’

Df

M’

Tag’

1 if Tag’ =Tag’0 else

Pr(D=1) = 2-128

because Tag’ is random

Page 100: 情報セキュリティ特論( 3 )

Proof (cont.)

• If the oracle=H, then

Pr(D=1)=ε

• If the oracle=random function f,

   Pr(D=1)=2-128

Page 101: 情報セキュリティ特論( 3 )

Proof (cont.)

• If the oracle=H, then

Pr(D=1)=ε

• If the oracle=random function f,

Pr(D=1)=2-128

• Hence H is not a pseudo-random function

(PRF)

Page 102: 情報セキュリティ特論( 3 )

Proof (cont.)

• If the oracle=H, then

Pr(D=1)=ε

• If the oracle=random function f,

Pr(D=1)=2-128

• Hence H is not a PRF

• Consequently,

If H is a PRF, then H is a secure MAC.

Page 103: 情報セキュリティ特論( 3 )

We will show EMAC=PRF

E_K E_K E_K

・・・

Tag

M=(m_1, m_2, ・・・ , m_t)

E_K’ = PRF

Page 104: 情報セキュリティ特論( 3 )

E_K’ can be replace by RF f

E_K E_K E_K

・・・

Tag

M=(m_1, m_2, ・・・ , m_t)

f

Page 105: 情報セキュリティ特論( 3 )

Let X=CBC(M)

E_K E_K E_K

・・・

M=(m_1, m_2, ・・・ , m_t)

f(X)

f

X=CBC(M)

Page 106: 情報セキュリティ特論( 3 )

E_K E_K E_K

・・・

M=(m_1, m_2, ・・・ , m_t)

f(X), f(X’)

f

X, X’

M’=(m_1’, m_2’, ・・・ , )

Page 107: 情報セキュリティ特論( 3 )

Ek Ek Ek

・・・

M=(m1, m2, ・・・ , mt)

f(x), f(x*)

f

Pr(x≠x*) ~1

M*=(m1*, m2*, ・・・ , )

It is known that

Page 108: 情報セキュリティ特論( 3 )

E_K E_K E_K

・・・

M=(m_1, m_2, ・・・ , m_t)

  f(X) and f(X’)   areindependently random

f=random

X≠X’

M’=(m_1’, m_2’, ・・・ , )

Page 109: 情報セキュリティ特論( 3 )

This implies that EMAC=PRF

E_K E_K E_K

・・・

M=(m_1, m_2, ・・・ , m_t)

f(x)

f

x

Page 110: 情報セキュリティ特論( 3 )

Security of EMAC

• We proved that EMAC=PRF

• Therefore from MAC theorem,

EMAC is secure

Page 111: 情報セキュリティ特論( 3 )

This Talk

• Security of Block Ciphers

• Encryption Schemes

• MAC Schemes

• Tweakable Block Cipher

• CMAC

Page 112: 情報セキュリティ特論( 3 )

Tweakable Block Cipher

• Was proposed by Listov, Rivest and Wagner at Crypto 2002.• We can obtain many independent PRPs from a single secret key K.

c1= [E]K(tweak T1, m1 )c2= [E]K(tweak T2, m2 )

are independent PRPs,where Ti is publicly known

c=EK(m)

Page 113: 情報セキュリティ特論( 3 )

To tell the truth

• Kurosawa considered a similar thing

at the same time independently

• I posted it to ePrint after,

citing LRW paper.

• Recently Louis Granboulan sent me an email.

Page 114: 情報セキュリティ特論( 3 )

Email of Louis Granboulan

• I  am wondering

why this paper has not been published.

• In my opinion,

it  contains new and interesting results.

(January 12, 2008 )

Page 115: 情報セキュリティ特論( 3 )

ePrint 2002/127

Kaoru Kurosawa,

“Power of a Public Random Permutation

and

its Application to Authenticated-Encryption”

I will talk about this paper here.

Page 116: 情報セキュリティ特論( 3 )

DESX

E_K

K2

K2

Was proposed by Rivest many years agoto strength the security of DES

It has two keys, K and K2

Page 117: 情報セキュリティ特論( 3 )

Kilian and Rogaway (’96)

E_K

K2

K2

proved that the essential key length is Indeed larger than DES.

Page 118: 情報セキュリティ特論( 3 )

Even and Mansour (’91)

E_K

K2

K2

showed that DESX is secure even if E_K is publicly accessible.

Page 119: 情報セキュリティ特論( 3 )

Kurosawa (ePrint02)

• Many PRPs can be obtained

  from a single secret key K2

even if E_K is publicly accessible.

• while Even and Mansour showed that

a single PRP can be obtained.

Page 120: 情報セキュリティ特論( 3 )

Proposed ConstrucitonK2=secre keyE_K is publicly accessibleT_1, …, T_m are publicly known

E_K

K2 ・ T_1

K2 ・ T_1

E_K

K2 ・ T_m

K2 ・ T_m

…Q1Qm

Page 121: 情報セキュリティ特論( 3 )

Theorem

E_K

K2 ・ T_1

K2 ・ T_1

E_K

K2 ・ T_m

K2 ・ T_m

Q1, …, Qm are independent PRPs

Q1Qm

Page 122: 情報セキュリティ特論( 3 )

Corollaries

E_K

K2 ・ T_1

E_K

K2 ・ T_m

Q1’, …, Qm’ are independent PRPsif D does not have access to Qi

-1.

Q1’ Qm’

Page 123: 情報セキュリティ特論( 3 )

Construction of LRW

E_K

K2 ・ T_1

K2 ・ T_1

Both K and K2 = secret keysT_1, …, T_m = publicly known

E_K

K2 ・ T_m

K2 ・ T_m

Page 124: 情報セキュリティ特論( 3 )

Comparison

• LRW construciton is obtained

by letting K=secret.

• In other words,

the proposed construction gives

a tweakable block cipher

such that E_K is publicly accessible.

Page 125: 情報セキュリティ特論( 3 )

This Talk

• Security of Block Ciphers

• Encryption Schemes

• MAC Schemes

• Tweakable Block Cipher

• CMAC

Page 126: 情報セキュリティ特論( 3 )

EMAC requires 2 key schedulings

E_K E_K E_K

・・・

Tag

M=(m_1, m_2, ・・・ , m_t)

E_K’

Page 127: 情報セキュリティ特論( 3 )

EMAC was improved as follows

• XCBC: Black and Rogaway (2000. 6)

1 block-cipher key + 2 other keys

• TMAC: Kurosawa and Iwata (2002. 7)

1 block-cipher key + 1 other key

• OMAC: Iwata and Kurosawa (2002.12)    

1 block-cipher key

CMAC

Page 128: 情報セキュリティ特論( 3 )

How to improve EMAC

E_K E_K E_K

・・・

Tag

M=(m_1, m_2, ・・・ , m_t)

E_K’

Page 129: 情報セキュリティ特論( 3 )

The last E_K can be removed

E_K E_K E_K

・・・

Tag

M=(m_1, m_2, ・・・ , m_t)

E_K’

Page 130: 情報セキュリティ特論( 3 )

If we remove the last E_K

E_K E_K

・・・

Tag

M=(m_1, m_2, ・・・ , m_t)

E_K’

Page 131: 情報セキュリティ特論( 3 )

Replace E_K’ with DESX

E_K E_K

・・・

Tag

M=(m_1, m_2, ・・・ , m_t)

E_K

K2

=E_K’

Page 132: 情報セキュリティ特論( 3 )

From Even and Mansour

E_K E_K

・・・

Tag

M=(m_1, m_2, ・・・ , m_t)

E_K

K2

Even if D has access to this E_K,red part is a PRP

=PRP

Page 133: 情報セキュリティ特論( 3 )

E_K E_K

・・・

M=(m_1, m_2, ・・・ , m_t)

Tag

E_K

K2

fK(M)

Further Pr( fK(M)=fK(M’) )=negligibleHence this MAC is a PRF

=PRP

Page 134: 情報セキュリティ特論( 3 )

E_K E_K

・・・

M=(m_1, m_2, ・・・ , m_t)

Tag

E_K

K2

Therefore this MAC is secureXCBC is almost this construciton

Page 135: 情報セキュリティ特論( 3 )

XCBC (Black & Rogaway)

E_K E_K E_K

・・・

Tag

M=(m_1, m_2, ・・・ , m_t)

K2 if |m_t|<128

K3 if |m_t|=128

Key = (K, K2, K3)

Page 136: 情報セキュリティ特論( 3 )

TMAC (Kurosawa and Iwata )

E_K E_K E_K

・・・

Tag

M=(m_1, m_2, ・・・ , m_t )

K2 if |m_t|<128

K2 ・ T if |m_t|=128

Keys = (K, K2) : 

T is a public const.

Page 137: 情報セキュリティ特論( 3 )

OMAC (Iwata and Kurosawa )

E_K E_K E_K

・・・

Tag

M=(m_1, m_2, ・・・ , m_t)

LT if |m_t|<128

LT2 if |m_t|=128

Key = K : 

L=EK(0…0)T is a public const.

Page 138: 情報セキュリティ特論( 3 )

From XCBC to OMAC=CMAC

• XCBC: Black and Rogaway (2000. 6)

1 block-cipher key + 2 other keys

• TMAC: Kurosawa and Iwata (2002. 7)

1 block-cipher key + 1 other key

• OMAC: Iwata and Kurosawa (2002.12)    

1 block-cipher key

CMACSecurity of each MAC is proved

Page 139: 情報セキュリティ特論( 3 )

NIST home page

• May 2005.

• In SP 800-38B, the CMAC

authentication mode is specified for use with any approved block cipher.

Page 140: 情報セキュリティ特論( 3 )

NIST home page

• CMAC is an essentially OMAC

submitted by Iwata and Kurosawa.

• OMAC is an improvement of the XCBC, submitted by Rogaway and Black,

which itself is an improvement of

the CBC-MAC algorithm.

Page 141: 情報セキュリティ特論( 3 )

NIST home page

• XCBC efficiently addresses

the security deficiencies of CBC-MAC;

• OMAC efficiently reduces

the key size of XCBC.

Page 142: 情報セキュリティ特論( 3 )

CMAC

• NIST recommendation

• CSE (Canada) standard

• used in Windows XP (SP2)

• used in Play Station 3

• used in AACS developed by

IBM, Intel, Microsoft, Desney, Warner, Sony, Toshiba and Matsushita

Page 143: 情報セキュリティ特論( 3 )

CMAC

• IETF RFC4493,4494,4615

• IEEE 802.16e

Page 144: 情報セキュリティ特論( 3 )

演習

E_KE_K

Tag

( m1, m2 )

CBC-MAC について、以下のM=(m1, m2), Tag を基に、偽造せよ。