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

Post on 13-Jan-2016

67 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

情報セキュリティ特論( 3 ). 黒澤 馨 (茨城大学) kurosawa@mx.ibaraki.ac.jp. 演習 (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

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

黒澤 馨 (茨城大学)kurosawa@mx.ibaraki.ac.jp

演習 (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)

=(100000)

演習 (2)

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

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

証明  (n=2 の場合)

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

 を証明する。

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

K

M

1

01 10 1100

00

01

10

11

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

K

M

1

01 10 1100

00

01

10

11

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)

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

K

M

1

01 10 1100

00

01

10

11

Pr(M=00 | C=00) =

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

Pr( M=00)

K

M

1

01 10 1100

00

01

10

11

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

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

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

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

演習 (3)

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

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

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

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

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

C~ C

~

順方向の証明

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

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

 を示す。

証明

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

証明

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

証明

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

証明

• 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) / 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(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(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)

証明

• 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)ゆえに、無条件に安全。

逆方向の証明

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

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

 を示す。

逆方向の証明

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

逆方向の証明

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

逆方向の証明

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

逆方向の証明

• 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) / 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(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(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)

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

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

対策

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

を利用する。

擬似乱数生成器

PRBG短いシード K

長い擬似乱数 PRBG(K)

ただし、

・ |PRBG(K)| > |K|

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

Distinguisher

DPRBG(K) 0 or 1

P0 = Pr(D=1)

D真の乱数 0 or 1

P1 = Pr(D=1)

定義

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

  if |P0-P1|<ε

for 全ての多項式時間の D

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

全ての n ビットの集合

PRBG(K) の集合

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

全ての n ビットの集合

PRBG(K) の集合

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

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

全ての n ビットの集合

PRBG(K) の集合

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

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

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

全ての n ビットの集合

PRBG(K) の集合

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

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

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

定義

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

  if |P0-P1|<ε

for 全ての多項式時間の D

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

One-Time Pad の改良

PRBG短い鍵 K

長い擬似乱数 PRBG(K)

暗号文  C = M + PRBG(K)

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

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

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

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

が indistinguishable

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

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

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

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

が indistinguishable

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

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

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

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

• |Y0|=2n

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

In Experiment 0

• K ← randam

Distinguisher D

FK(x)

xi

yi

0 or 1

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

p0 = Pr(D=1)

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

Distinguisher Df

xi

yi

0 or 1

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

p1 = Pr(D=1)

定義

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

|p0-p1|<ε

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

置換

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

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

置換

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

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

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

In Experiment 0

• K← ランダム

Distinguisher D

FK FK-1

xi

yi

yj

xj

0 or 1

p0 = Pr(D=1)

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

Distinguisher Dπ π-1

xi

yi

yj

xj

0 or 1

p1 = Pr(D=1)

In Experiment 1

• Choose a random permutationπ

Distinguisher D

π

m _i

c_i

π ^{-1}

c_j

m _j

0 or 1

定義

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

|p0-p1|<ε

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

Block Cipher (AES)

m=128 bits

EncryptionE

c=128 bits

c=128 bits

Decryption D

m=128 bits

Key k

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.

AES

• Key : 128 bits, 192 bits or 256 bits

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

ECB Mode

encrypts a long message M as follows.

M = ( m

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

 

C= ( c

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

Ek Ek

Not Secure

• If c1=c2,

then the adversary knows

    m1=m2

 

Message Ciphertext

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

Counter Mode

• The sender keeps a counter ctr.

    ctr ctr+1 ctr+t  

      ‥ ‥     m1       mt

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

Ek Ek

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.

Counter Mode

     ctr ctr+1 ctr+t  

      ‥ ‥     m1       mt

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

Ek Ek

Idealized Counter Mode

     ctr ctr+1 ctr+t  

      ‥ ‥     m1       mt

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

f f

Idealized Counter Mode

     ctr ctr+1 ctr+t  

      ‥ ‥     m1       mt

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

f f

r1 rt

One-Time Pad

     ctr ctr+1 ctr+t  

      ‥ ‥     m1       mt

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

f f

r1 rt

Hence Secure

CTR mode

• Was shown by Diffie and Hellman in1979

• It is standarized as

NIST recommendation SP800-38A

 

CBC mode

On IV

• If IV=fixed value or ctr,

then CBC mode is not secure.

• If IV=random,

then the security is proved.

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.

CFB mode

OFB mode

Standards

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

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

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)

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)

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.

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.

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.

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.

Relationship

LOR FTG

Semantic SecurityROR

Reduction is loose

(omitted)

Strongest security

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)

This Talk

• Security of Block Ciphers

• Encryption Schemes

• MAC Schemes

• Tweakable Block Cipher

• CMAC

Message Authentication Code(MAC)

Key K Key K

( M , Tag)

×   Impersonate×   Forge

CBC-MAC is well known

Ek Ek Ek

・・・

Tag

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

Attack on CBC-MAC

EkEk

Tag

Ek

Tag

m ( m, m+Tag )

Tag

m偽造

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

Model of Security

M_i

Tag_i

(M’, Tag’)

Forgery

Chose Message Attack

MAC scheme is secure if Pr(Forgery)=negligible

Security of CBC MAC

• Secure if |M|=fixed

• But, not secure if |M|=variable

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

EMAC is Secure for variable |M|

f1 f1 f1

・・・

Tag = f2(x)

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

f2

f1, f2 は、ランダム関数

x

EMAC is Secure for variable |M|

f1 f1 f1

・・・

Tag1 = f2(x1)

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

f2

f1, f2 は、ランダム関数

x1

Model of Security

M1

Tag1=f2(x1)

Chose Message Attack

Model of Security

M2

Tag2=f2(x2)

Chose Message Attack

Model of Security

Mq

Tagq=f2(xq)

Chose Message Attack

Model of Security

M1, M2, ⋯, Mq

Tag1, ⋯, Tagq

(M’, Tag’)

Forgery

Chose Message Attack

f1 f1 f1

・・・

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

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

f2

x’

Tag’

In general,

H

M

Tag=H(M)for some function H

MAC Theorem

H is a pseudo-random function

  H is a secure MAC

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.

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)=ε

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

Proof (cont.)

• If the oracle=H, then

Pr(D=1)=ε

• If the oracle=random function f,

   Pr(D=1)=2-128

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)

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.

We will show EMAC=PRF

E_K E_K E_K

・・・

Tag

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

E_K’ = PRF

E_K’ can be replace by RF f

E_K E_K E_K

・・・

Tag

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

f

Let X=CBC(M)

E_K E_K E_K

・・・

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

f(X)

f

X=CBC(M)

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’, ・・・ , )

Ek Ek Ek

・・・

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

f(x), f(x*)

f

Pr(x≠x*) ~1

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

It is known that

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’, ・・・ , )

This implies that EMAC=PRF

E_K E_K E_K

・・・

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

f(x)

f

x

Security of EMAC

• We proved that EMAC=PRF

• Therefore from MAC theorem,

EMAC is secure

This Talk

• Security of Block Ciphers

• Encryption Schemes

• MAC Schemes

• Tweakable Block Cipher

• CMAC

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)

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.

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 )

ePrint 2002/127

Kaoru Kurosawa,

“Power of a Public Random Permutation

and

its Application to Authenticated-Encryption”

I will talk about this paper here.

DESX

E_K

K2

K2

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

It has two keys, K and K2

Kilian and Rogaway (’96)

E_K

K2

K2

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

Even and Mansour (’91)

E_K

K2

K2

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

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.

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

Theorem

E_K

K2 ・ T_1

K2 ・ T_1

E_K

K2 ・ T_m

K2 ・ T_m

Q1, …, Qm are independent PRPs

Q1Qm

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’

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

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.

This Talk

• Security of Block Ciphers

• Encryption Schemes

• MAC Schemes

• Tweakable Block Cipher

• CMAC

EMAC requires 2 key schedulings

E_K E_K E_K

・・・

Tag

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

E_K’

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

How to improve EMAC

E_K E_K E_K

・・・

Tag

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

E_K’

The last E_K can be removed

E_K E_K E_K

・・・

Tag

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

E_K’

If we remove the last E_K

E_K E_K

・・・

Tag

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

E_K’

Replace E_K’ with DESX

E_K E_K

・・・

Tag

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

E_K

K2

=E_K’

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

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

E_K E_K

・・・

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

Tag

E_K

K2

Therefore this MAC is secureXCBC is almost this construciton

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)

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.

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.

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

NIST home page

• May 2005.

• In SP 800-38B, the CMAC

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

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.

NIST home page

• XCBC efficiently addresses

the security deficiencies of CBC-MAC;

• OMAC efficiently reduces

the key size of XCBC.

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

CMAC

• IETF RFC4493,4494,4615

• IEEE 802.16e

演習

E_KE_K

Tag

( m1, m2 )

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

top related