青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

bilicon

比你狂繼續(xù)學(xué)習(xí)中

統(tǒng)計(jì)

留言簿(1)

閱讀排行榜

評(píng)論排行榜

Rijndael加密算法的介紹

 作者:林祝興 葉義雄 楊國(guó)鴻

本文針對(duì)Rijndael加密算法的數(shù)學(xué)理論背景,算法的架構(gòu),回合的轉(zhuǎn)換,金鑰的產(chǎn)生,以及各種攻擊破密法等等,做了一些簡(jiǎn)單的介紹。

一、簡(jiǎn)介

AES ( Advanced Encryption Standard ) 的選拔中,從最初的十五個(gè)算法,到十個(gè)、五個(gè),逐步篩選出適合用來(lái)作為下一代加密算法的標(biāo)準(zhǔn)。Rijndael在經(jīng)過(guò)了一番時(shí)日的考驗(yàn)之后,也一直名列前矛。直至十月二日Rijndael才脫穎而出,這篇文章便是針對(duì)Rijndael作簡(jiǎn)要的介紹。

Rijndael是一個(gè)反復(fù)運(yùn)算的加密算法,它允許可變動(dòng)的數(shù)據(jù)區(qū)塊及金鑰的長(zhǎng)度。數(shù)據(jù)區(qū)塊與金鑰長(zhǎng)度的變動(dòng)是各自獨(dú)立的。

Rijndael算法中定義了幾個(gè)名詞,分述如下:

State:在運(yùn)算過(guò)程中所產(chǎn)生的中間值,是一個(gè)4×Nb的矩陣,Nb可由數(shù)據(jù)長(zhǎng)度除以32位求得,也就是把數(shù)據(jù)分割成Nb個(gè)區(qū)塊。

Cipher Key:用來(lái)做加密運(yùn)算的金鑰,形式是一個(gè)4×Nk的矩陣,Nk可由金鑰長(zhǎng)度除以32位求得,也就是把金鑰分割成Nk個(gè)32位的子金鑰。

Rijndael算法中,運(yùn)算的回合數(shù)(Nr)是由NbNk所決定的,回合數(shù)的變動(dòng)定義如下表。

 

Nr

Nb=4

Nb=6

Nb=8

Nk=4

10

12

14

Nk=6

12

12

14

Nk=8

14

14

14

二、Rijndael的數(shù)學(xué)背景

Rijndael中使用了許多字節(jié)層級(jí)的運(yùn)算,而這些運(yùn)算是以GF(28)為基礎(chǔ)架構(gòu)。也有一些采用了4-byte的字組運(yùn)算。在這部分,我們將介紹這些基本的數(shù)學(xué)原理。

(1)       GF(28)的定義

假設(shè)一個(gè)字節(jié)bb7b6b5b4b3b2b1b0組成,我們可以把這些bi想象成一個(gè)7次多項(xiàng)式的系數(shù),而這些系數(shù)不是0就是1

b7 x7+ b6 x6+ b5 x5+ b4 x4+ b3 x3+ b2 x2+ b1 x + b0

例如,(57)16的二進(jìn)制表示法為(0101,0111)2表示成多項(xiàng)式,則為:

x6+ x4+ x2+ x + 1 .

(2)       加法

兩個(gè)多項(xiàng)式的加法,則是定義為相同指數(shù)項(xiàng)的系數(shù)和再模余2,簡(jiǎn)單的說(shuō)就是作EXOR運(yùn)算(i.e., 1+1=0)。例如:

(57)16+(83)16=(01010111)2+(10000011)2 = (11010100)2 = (D4)16

       或是(x6+x4+x2+x+1) + (x7+x+1) = x7+x6+x4+x2

(3)       乘法

在乘法里面,多項(xiàng)式相乘之后的結(jié)果很容易造成溢位的問(wèn)題,解決溢位的方式是把相乘的結(jié)果,再模余一個(gè)不可分解的多項(xiàng)式m(x)。在Rijndael中,定義一個(gè)這樣子的多項(xiàng)式為

m(x)=x8+x4+x3+x+1或是(11B)16

例如:

(57)16?(83)16 = ( x6+ x4+ x2+ x + 1)? ( x7+ x + 1) = x13+ x11+ x9+ x8+ x7+x7+ x5+ x3+ x2+x+x6+ x4+ x2+ x + 1

= (x13+ x11+ x9+ x8+ x6+ x5+ x4+ x3+ 1+x13+ x11+ x9+ x8+ x6+ x5+ x4+ x3+ 1) modulo (x8+ x4+ x3+ x + 1)

= x7+ x6+ 1=(C1)16

(4)       乘以x

若把b(x)乘上x,得到b7 x8+ b6 x7+ b5 x6+ b4 x5+ b3 x4+ b2 x3+ b1 x2 + b0x。若b7=0,不會(huì)發(fā)生溢位問(wèn)題,答案即是正確的;若b7=1,發(fā)生溢位問(wèn)題,必須減去m(x)。我們可以把這種運(yùn)算表示為xtime(x),其運(yùn)算方式為left shift(若溢位則和(1B)16EXOR運(yùn)算),例如:‘57’ · ‘13’ = ‘FE’

57’ · ‘02’ = xtime(57) = ‘AE’

57’ · ‘04’ = xtime(AE) = ‘47’

57’ · ‘08’ = xtime(47) = ‘8E’

57’ · ‘10’ = xtime(8E) = ‘07’

57’ · ‘13’ = ‘57’ · (‘01’02’10’) = ‘57’ ‘AE’ 07’ = ‘FE’

 

三、Rijndael的加密架構(gòu)

Rijndael加密算法是由一個(gè)initial Round Key additionNr-1個(gè)回合運(yùn)算,及一個(gè)final round所組成。加密過(guò)程以C語(yǔ)言偽碼敘述如下:

Rijndael(State, CipherKey)

//state表示輸入的數(shù)據(jù)明文,

//CipherKey表示使用的加密金鑰,

//ExpandedKey表示每個(gè)Round使用的子金鑰。

{

KeyExpansion(CipherKey, ExpandedKey);

AddRoundKey(State, ExpandedKey);

For ( i=1; i<Nr; i++)

Round(State, ExpandedKey+Nb×i);

FinalRound(State, ExpandedKey+Nb×Nr);

}

上述算法中的Key Expansion,可以先行計(jì)算出來(lái),所以加密過(guò)程可以簡(jiǎn)化為:

Rijndael(State,ExpandedKey)

//State表示輸入的數(shù)據(jù)明文,

//ExpandedKey表示每個(gè)Round使用的子金鑰。

{

AddRoundKey(State,ExpandedKey);

For( i=1 ; i<Nr ; i++ )

{

Round(State,ExpandedKey + Nb×i) ;

}

FinalRound (State, ExpandedKey + Nb×Nr);

}

各個(gè)子運(yùn)算介紹如下。

回合轉(zhuǎn)換(Round transformation)

回合轉(zhuǎn)換包含四個(gè)不同的工作,其算法如下:

Round(State,RoundKey)

//State表示輸入的數(shù)據(jù)明文,

//RoundKey表示每個(gè)Round使用的子金鑰。

{

ByteSub(State);

ShiftRow(State);

MixColumn(State);

AddRoundKey(State,RoundKey);

}

 

 

算法中的終止回合(Final round)包含下列工作項(xiàng)目:

FinalRound(State,RoundKey)

//State表示輸入的數(shù)據(jù)明文,

//RoundKey表示每個(gè)Round使用的子金鑰。

{

ByteSub(State) ;

ShiftRow(State) ;

AddRoundKey(State,RoundKey);

}

以下針對(duì)每個(gè)回合轉(zhuǎn)換的運(yùn)算過(guò)程,作一個(gè)深入的介紹,可以更清楚算法的過(guò)程。

1.            字節(jié)取代轉(zhuǎn)換(ByteSub transformation)

字節(jié)轉(zhuǎn)換是一個(gè)以字節(jié)為單位的非線性取代運(yùn)算,取代表(S-Box)是經(jīng)過(guò)兩個(gè)運(yùn)算過(guò)程而建立,并且是可逆的。

首先找出每個(gè)字節(jié)在GF(28)中的乘法反元素;

接著經(jīng)過(guò)一個(gè)仿射(Affine)轉(zhuǎn)換運(yùn)算,定義如下:

 

(本圖摘錄自參考文獻(xiàn)[1])

字節(jié)取代(ByteSub)運(yùn)算對(duì)State的影響,如下圖所示:

 

(本圖摘錄自參考文獻(xiàn)[1])

字節(jié)取代(ByteSub)轉(zhuǎn)換的反運(yùn)算:

計(jì)算仿射對(duì)應(yīng)之后的相反運(yùn)算可得到S-1-Box,以此S-1-Box做字節(jié)取代(ByteSub)即可。

2.            移列轉(zhuǎn)換( ShiftRow transformation )

在這個(gè)轉(zhuǎn)換中,State的每一列以不同的偏移量做環(huán)狀位移,第0列不動(dòng),第一列位移C1個(gè)字節(jié),第二列位移C2個(gè)字節(jié),第三列位移C3個(gè)字節(jié)。位移的偏移量C1,C2,C3跟區(qū)塊的數(shù)目(Nb)有關(guān),定義如下表:

Nb

C1

C2

C3

4

1

2

3

6

1

2

3

8

1

3

4

移列轉(zhuǎn)換(ShiftRow)運(yùn)算對(duì)于State的影響,圖示如下:

(本圖摘錄自參考文獻(xiàn)[1])

移列轉(zhuǎn)換(ShiftRow)的反運(yùn)算:

對(duì)第二第三及第四列做Nb-C1,Nb-C2,Nb-C3個(gè)字節(jié)的環(huán)狀位移即可。

3.            混行轉(zhuǎn)換(MixColumn transformation)

在這個(gè)轉(zhuǎn)換中,把State當(dāng)作一個(gè)存在GF(28)中的多項(xiàng)式。并且對(duì)一個(gè)固定的多項(xiàng)式c(x)作乘法,如果發(fā)生溢位,則再模余x4+1。表示如下:

c(x) = ‘03’ x3 + ‘01’ x2 + ‘01’ x + ‘02’ .

c(x)x4+1互質(zhì),令b(x) = c(x) Ä a(x),以矩陣乘法表示如下:

 

(本圖摘錄自參考文獻(xiàn)[1])

State經(jīng)過(guò)混行(MixColumn)運(yùn)算之后的變化如下:

 

(本圖摘錄自參考文獻(xiàn)[1])

混行(MixColumn)轉(zhuǎn)換的反運(yùn)算,則是乘上一個(gè)特殊的多項(xiàng)式d(x)

(‘03’x3 + ‘01’x2 + ‘01’x + ‘02’ ) Ä d(x) = ‘01’,

d(x) = ‘0B’x3 + ‘0D’x2 + ‘09’x + ‘0E’ .

4.            The Round Key Addition

這個(gè)運(yùn)算主要是把每一個(gè)回合金鑰(Round Key)透過(guò)簡(jiǎn)單的bitwise EXOR加入到每一個(gè)State中,以圖示如下:

 

(本圖摘錄自參考文獻(xiàn)[1])

四、金鑰的排程(Key Schedule)

回合金鑰(Round Key)是從加密金鑰(Cipher Key)經(jīng)過(guò)運(yùn)算產(chǎn)生出來(lái)的。金鑰排程(Key Schedule)是由金鑰擴(kuò)充(Key Expansion)及回合金鑰的選擇(Round Key Selection)組成的,基本的理論如下:

       所有回合金鑰的總位數(shù)是把區(qū)塊長(zhǎng)度(block length)乘上回合數(shù)加1(Nr-1個(gè)回合,加上一個(gè)終止回合(final round)),例如,128個(gè)位的區(qū)塊長(zhǎng)度經(jīng)過(guò)10個(gè)回合運(yùn)算,所需要用到的所有回合金鑰的總位數(shù)為1408個(gè)位。

       加密金鑰(Cipher Key)必須擴(kuò)充為擴(kuò)充金鑰(Expanded Key)

       回合金鑰是從擴(kuò)充金鑰中選出來(lái)的,選擇的方式如下:

       第一個(gè)回合金鑰由前Nb個(gè)字組組成,第二個(gè)回合金鑰由接下來(lái)的Nb個(gè)字組組成,余此類推。

(1)       金鑰的擴(kuò)充( Key Expansion )

擴(kuò)充后的金鑰是一個(gè)4-byte的線性數(shù)組,表示為W[Nb×(Nr+1)]。前Nk個(gè)字組包含了加密金鑰(Cipher Key)

       金鑰擴(kuò)充函式和Nk是息息相關(guān)的,分為兩種情況運(yùn)作,一是當(dāng)Nk小于或等于6,另外則是當(dāng)Nk大于6,以偽碼敘述如下:

當(dāng)Nk6時(shí),

KeyExpansion(byte Key[4×Nk] word W[Nb×(Nr+1)])

{

for(i = 0; i < Nk; i++)

W[i] = (Key[4×i], Key[4×i+1], Key[4×i+2], Key[4×i+3] );

for(i = Nk; i < Nb×(Nr + 1); i++)

{

temp = W[i - 1];

if (i % Nk == 0)

temp = SubByte(RotByte(temp)) ^ Rcon[i / Nk];

W[i] = W[i - Nk] ^ temp;

}

}

在上面的子程序中,SubByte(W)傳回一個(gè)4-byte的字組,這些字組是輸入的字組經(jīng)過(guò)S-box的轉(zhuǎn)換所產(chǎn)生的相對(duì)字組。RotByte(W)則是傳回經(jīng)過(guò)旋轉(zhuǎn)的字組。

當(dāng)Nk6時(shí),

KeyExpansion(byte Key[4×Nk] word W[Nb×(Nr+1)])

{

for(i = 0; i < Nk; i++)

W[i] =  (key[4×i],key[4×i+1], key[4×i+2], key[4×i+3] );

for(i = Nk; i < Nb×(Nr + 1); i++)

{

temp = W[i - 1];

if (i % Nk == 0)

temp = SubByte(RotByte(temp)) ^ Rcon[i / Nk];

else if (i % Nk == 4)

temp = SubByte(temp);

W[i] = W[i - Nk] ^ temp;

}

}

以上兩種情況的相異處在于當(dāng)Nk6時(shí),(i-4)Nk的倍數(shù)時(shí),對(duì)于W[i-1]先執(zhí)行SubByte,再執(zhí)行EXOR

上述回合常數(shù)定義如下:

Rcon[i] = (RC[i],‘00’,‘00’,‘00’),其中RC[0]=’01’RC[i]=xtime(Rcon[i-1])

(2)       選擇回合金鑰(Round Key Selection)

i個(gè)回合金鑰是指在存在回合金鑰緩沖區(qū)的字組W[Nb*i]W[Nb*(i+1)],圖示如下:

 

(本圖摘錄自參考文獻(xiàn)[1])

五、安全性分析

       我們針對(duì)以下已知的攻擊法對(duì)Rijndael的安全性分析作一簡(jiǎn)要敘述,包括差分攻擊法(Differential Cryptanalysis),線性攻擊法(Linear Cryptanalysis),平方攻擊法(The Square Attack),內(nèi)插攻擊法(Interpolation attacks)等攻擊方式。

(1)       差分攻擊法( Differential Cryptanalysis )

       此攻擊法是一種Chosen-plaintext attack,利用大量已知的明文/密文對(duì)之間的差異,據(jù)以推測(cè)出金鑰的位值。在大部分的回合運(yùn)算中(回合數(shù)超過(guò)3),若存在超過(guò)21-n(n指的是區(qū)塊長(zhǎng)度)比例的可預(yù)測(cè)性的差異,這個(gè)攻擊法就可以推測(cè)出金鑰的位值。在Rijndael中,已經(jīng)證明在經(jīng)過(guò)Rijndael四個(gè)回合的運(yùn)算后,存在不超過(guò)2-150比例的可預(yù)測(cè)性差異,在八個(gè)回合運(yùn)算中不超過(guò)2-300。詳細(xì)證明過(guò)程,請(qǐng)參照參考文獻(xiàn)。

(2)       線性攻擊法( Linear Cryptanalysis )

       這是一種Known-plaintext攻擊法,利用大量搜集到的明文/密文對(duì)的相關(guān)性,對(duì)加密法進(jìn)行攻擊。明文/密文對(duì)的相關(guān)性由線性軌跡(Linear trails)所組成,由于線性軌跡的相關(guān)系數(shù)與Round keys的值有密切關(guān)系,透過(guò)相關(guān)系數(shù)的正負(fù)號(hào),線性攻擊法就可以找出金鑰值。要對(duì)抗這種攻擊法,有一個(gè)必要條件就是使這種相關(guān)系數(shù)大于2n/2的線性軌跡不存在。在Rijndael中,已經(jīng)證明出當(dāng)執(zhí)行四個(gè)回合時(shí),不存在相關(guān)系數(shù)大于2-75的線性軌跡;在執(zhí)行八個(gè)回合時(shí),其相關(guān)系數(shù)大于2-150的相關(guān)系數(shù)亦不存在。詳細(xì)證明過(guò)程請(qǐng)參照參考文獻(xiàn)。

(3)       平方攻擊法( The Square attack )

       這種攻擊法是一種chosen- plaintext attack,而且和字節(jié)取代(ByteSub),混行(MixColumn)時(shí)的多項(xiàng)式乘法,金鑰的排程(Key Schedule)等運(yùn)算無(wú)關(guān)。當(dāng)Rijndael執(zhí)行6個(gè)回合以上時(shí),此種方式比完全的金鑰搜尋(exhaustive key search)來(lái)的更有效率。關(guān)于此種攻擊方式的詳盡描述及Rijndael如何延伸此種攻擊方式,請(qǐng)參照參考文獻(xiàn)。

(4)       內(nèi)插攻擊法( Interpolation attacks )

       在這種攻擊法中,攻擊者利用加密的輸入及輸出配對(duì),建立一些多項(xiàng)式。如果加密的組件有一個(gè)簡(jiǎn)潔的代數(shù)展開(kāi)式,并且和管理的復(fù)雜度結(jié)合在一起時(shí),這種攻擊法便是可行的。基本的攻擊方式是如果攻擊者建立的代數(shù)展開(kāi)式的階度(degree)很小,只需要一些加密法的輸入及輸出配對(duì)就可以得到代數(shù)展開(kāi)式的各項(xiàng)系數(shù)。然而,在GF(28)中的取代矩陣(S-box),它的展開(kāi)式為:63+8fx127+b5x191+01x223+f4x239+25x247+f9x251+09x253+05x254。其余介紹,請(qǐng)參照參考文獻(xiàn)。

(5)、弱金鑰(Weak keys)

       關(guān)于弱金鑰的發(fā)生,基本上是因?yàn)榧用芊ǖ姆蔷€性運(yùn)算與實(shí)際金鑰值有密切關(guān)系。而這種問(wèn)題不存在于Rijndael之中,因?yàn)樵?/span>Rijndael中,金鑰是以EXOR運(yùn)算,而所有的非線性運(yùn)算都定義在取代矩陣(S-box)中。在Rijndael中,對(duì)金鑰的選擇,是沒(méi)有限制的。

六、結(jié)論:

       以上對(duì)Rijndael作一簡(jiǎn)要介紹之后,我們以Rijndael的優(yōu)點(diǎn)與限制作為我們的結(jié)論。

(1)Rijndael有以下優(yōu)點(diǎn)

以實(shí)作觀點(diǎn)而言

1.            Rijndael可以實(shí)作在Pentium ( Pro ) 等計(jì)算機(jī)上,并已相當(dāng)快的速度處理運(yùn)算;而在表格大小與效率之間是可以做取舍的。

2.            Rijndael可以實(shí)作在智能卡(Smart Card)上,使用少量的RAM,少量的程序代碼;在ROM與效率之間也是可以做取舍的。

3.            在設(shè)計(jì)上,回合的轉(zhuǎn)換是可平行處理的。

4.            加密法不采用算術(shù)運(yùn)算,不會(huì)因?yàn)椴煌幚砥骷軜?gòu)而有所偏差。

設(shè)計(jì)簡(jiǎn)單化:

1.            設(shè)計(jì)上不引用其它加密組件,如S-box

2.            安全度不建立在一些分析不夠明確的算術(shù)運(yùn)算之上。

3.            加密法緊湊,不易藏入暗門(mén)等程序代碼。

除此之外,Rijndael更允許可變動(dòng)的區(qū)塊長(zhǎng)度及金鑰長(zhǎng)度,其長(zhǎng)度可由128位到256位之間;所以回合數(shù)也是可變動(dòng)的。

(2)Rijndael的限制:

在解密過(guò)程中有以下限制

1.            實(shí)作在智慧卡時(shí),解密不如加密來(lái)的有效率,解密需要更多的程序代碼及cycles,但是跟其它算法比起來(lái),仍然是快速的。

2.            以軟件而言,加密和解密使用不同的程序和表格。

3.            以硬件而言,解密只能重用部分加密的電路。

posted on 2007-08-06 22:45 bilicon 閱讀(1160) 評(píng)論(2)  編輯 收藏 引用

評(píng)論

# re: Rijndael加密算法的介紹 2011-03-10 19:35 huangyi5209

樓主是搞算法的哇  回復(fù)  更多評(píng)論   

# re: Rijndael加密算法的介紹 2012-03-27 12:18 roan

請(qǐng)問(wèn),這種算法,如何判斷是否已經(jīng)加密或者解密?  回復(fù)  更多評(píng)論   


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久久久亚洲精品杨幂换脸| 久久久久久亚洲精品杨幂换脸 | 欧美一区永久视频免费观看| 亚洲夫妻自拍| 在线观看91精品国产麻豆| 狠狠入ady亚洲精品| 国产在线麻豆精品观看| 韩国成人精品a∨在线观看| 国产在线观看91精品一区| 国内在线观看一区二区三区| 尹人成人综合网| 亚洲福利视频一区二区| 91久久精品国产91久久| 一区二区日韩欧美| 亚洲欧美激情诱惑| 久久久亚洲一区| 亚洲经典三级| 夜夜嗨av一区二区三区四季av| 日韩午夜剧场| 久久精品国产清自在天天线| 午夜精品三级视频福利| 久久久国产一区二区| 欧美精品18videos性欧美| 国产精品久久看| 激情久久综合| 亚洲私拍自拍| 美日韩精品免费| 一区二区三区www| 美日韩丰满少妇在线观看| 国产精品国产自产拍高清av王其 | 午夜欧美不卡精品aaaaa| 久久欧美肥婆一二区| 亚洲国产精品电影在线观看| 99天天综合性| 久久阴道视频| 国产视频精品xxxx| 99精品福利视频| 久久久亚洲国产美女国产盗摄| 亚洲免费播放| 久热精品视频| 国产综合久久久久久| 中文精品视频| 欧美成人视屏| 性做久久久久久免费观看欧美 | av成人免费在线| 久久天天狠狠| 国产香蕉97碰碰久久人人| 亚洲一级二级| 亚洲精品国偷自产在线99热| 久久精品国产999大香线蕉| 欧美视频精品在线观看| 亚洲片在线观看| 久久中文欧美| 亚洲欧美综合一区| 国产精品爱啪在线线免费观看| 亚洲国产精品久久久久| 久久精品国亚洲| 亚洲一区www| 欧美手机在线视频| 国产精品vip| 中文av字幕一区| 亚洲欧洲三级电影| 久热这里只精品99re8久| 亚洲欧美视频在线观看| 国产精品丝袜xxxxxxx| 一区二区三区不卡视频在线观看| 亚洲国产精品99久久久久久久久| 久久人人97超碰人人澡爱香蕉| 国产精品自在在线| 午夜免费电影一区在线观看| 在线一区二区三区四区五区| 欧美精品一区二区三区在线播放| 亚洲黄网站黄| 亚洲国产视频直播| 欧美日韩不卡| 亚洲一区二区三区中文字幕| 夜夜爽av福利精品导航| 欧美吻胸吃奶大尺度电影| 亚洲香蕉网站| 亚洲主播在线| 国产一区二区三区四区老人| 久久人体大胆视频| 久久综合一区| 国产精品久久久久久妇女6080 | 欧美剧在线免费观看网站| 亚洲第一中文字幕| 亚洲第一页在线| 欧美日韩精品一区二区三区四区| 一区二区三区精品久久久| 亚洲国产成人午夜在线一区| 欧美一区国产在线| 久久精品中文字幕一区| 亚洲激情二区| 亚洲天堂网在线观看| 国产精品专区第二| 欧美黄色一级视频| 欧美网站在线观看| 巨乳诱惑日韩免费av| 欧美激情一区二区三区四区| 亚洲一区影音先锋| 久久在线视频在线| 亚洲欧美日韩精品| 久久精品日韩| 亚洲线精品一区二区三区八戒| 欧美在线日韩精品| 日韩视频在线一区二区| 亚洲欧美日本视频在线观看| 亚洲激情在线观看视频免费| 亚洲欧美日韩系列| 亚洲精品国产精品乱码不99 | 亚洲第一狼人社区| 国产精品福利在线| 欧美jizzhd精品欧美巨大免费| 欧美日韩另类字幕中文| 久久免费精品视频| 国产精品卡一卡二卡三| 亚洲二区免费| 国产在线精品自拍| 这里只有视频精品| 亚洲欧洲日产国产网站| 久久久久久久久岛国免费| 亚洲影院高清在线| 欧美黄在线观看| 欧美成人a∨高清免费观看| 国产精品三级视频| 日韩视频一区| 亚洲人成在线观看一区二区| 久久成人免费电影| 欧美一区成人| 国产精品日韩在线观看| 在线综合欧美| 亚洲一区二区三区高清| 欧美激情一区二区三区| 欧美大胆成人| 亚洲福利精品| 欧美成年人在线观看| 美国成人直播| 一区二区在线视频| 久久久久一区二区三区四区| 久久久精品一区| 欧美色视频一区| 欧美成人精品在线观看| 欧美极品影院| 亚洲福利一区| 最新国产拍偷乱拍精品| 久久米奇亚洲| 老色鬼久久亚洲一区二区| 欧美亚洲三区| 久久看片网站| 在线观看一区二区视频| 久久久伊人欧美| 牛牛影视久久网| 亚洲黄色有码视频| 欧美人妖另类| 一区二区三区精品久久久| 亚洲一区三区视频在线观看| 欧美午夜激情小视频| 亚洲欧美日韩另类| 麻豆精品传媒视频| 亚洲国产成人av在线| 欧美精品在线免费观看| 一区二区三区国产精品| 久久偷看各类wc女厕嘘嘘偷窃| 91久久精品一区二区别| 欧美色区777第一页| 欧美亚洲日本一区| 亚洲国产91| 欧美一级网站| 亚洲国产一区在线| 国产精品婷婷| 久久综合福利| 亚洲一区欧美| 欧美电影美腿模特1979在线看| 一区二区三区欧美日韩| 国产亚洲女人久久久久毛片| 欧美国产精品中文字幕| 亚洲影视在线播放| 亚洲大黄网站| 久久精品在线免费观看| a4yy欧美一区二区三区| 国内久久精品| 欧美亚洲成人网| 久久精品一二三区| 夜夜爽av福利精品导航 | 国产精品久久网站| 久久久www成人免费无遮挡大片| 亚洲黄色片网站| 亚洲欧美在线一区二区| 激情久久久久久| 欧美性事免费在线观看| 亚洲国产精品va| 亚洲在线视频一区| 麻豆九一精品爱看视频在线观看免费| 亚洲欧洲精品一区二区三区 | 亚洲激情成人| 国产精品久久久久久久午夜| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美一区二区免费| 亚洲第一久久影院| 久久精品水蜜桃av综合天堂|