• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    GPU上典型存儲(chǔ)器難散列函數(shù)的優(yōu)化

    2020-11-05 04:43:08韓建國(guó)
    關(guān)鍵詞:口令存儲(chǔ)器線程

    陳 虎,韓建國(guó)

    (1.華南理工大學(xué)軟件學(xué)院,廣東 廣州 510006;2.廣東省科技基礎(chǔ)條件平臺(tái)中心,廣東 廣州 510006)

    1 引言

    在口令安全機(jī)制中,往往基于一般散列函數(shù)構(gòu)造特定的口令散列函數(shù)。在設(shè)置口令時(shí),口令驗(yàn)證方計(jì)算并存儲(chǔ)用戶口令明文對(duì)應(yīng)的口令散列函數(shù)值(密文),從而避免口令明文的泄露。在驗(yàn)證口令時(shí),口令驗(yàn)證方計(jì)算用戶輸入口令對(duì)應(yīng)的口令散列函數(shù)值并與存儲(chǔ)的密文進(jìn)行對(duì)比。在恢復(fù)口令時(shí),可以并行計(jì)算多個(gè)口令明文的散列值,并與待猜測(cè)的密文比較。因此,口令散列函數(shù)的計(jì)算性能成為口令攻防兩方面的關(guān)鍵性問題。可以使用MD5[1]、SHA1[2]等簡(jiǎn)單散列函數(shù)作為口令散列函數(shù),其計(jì)算過(guò)程較為簡(jiǎn)單,但難以抵抗較大規(guī)模的口令攻擊。也可以使用PBKDF2[3]等構(gòu)造口令散列函數(shù),其通過(guò)多次迭代簡(jiǎn)單散列函數(shù)以增加計(jì)算量,但是此類計(jì)算密集型的散列函數(shù)易于在FPGA、ASIC等專用硬件上[4,5]并行計(jì)算多條口令明文的散列函數(shù)實(shí)例,具有較高的性能,對(duì)口令安全構(gòu)成潛在威脅。

    存儲(chǔ)器難散列函數(shù)(Memory-Hard Hash Functions)[6]具備抗ASIC攻擊的能力,有望成為新型的口令散列函數(shù)。這類散列函數(shù)在執(zhí)行過(guò)程中需要較大的存儲(chǔ)器容量,而且計(jì)算和訪存的比例相近。這使得ASIC上實(shí)現(xiàn)該類函數(shù)面臨困難:如果將散列函數(shù)計(jì)算所需要的存儲(chǔ)器都放置在ASIC芯片上,將占用大量的晶體管,從而降低芯片的計(jì)算能力;如果采用片外存儲(chǔ)器存儲(chǔ),芯片的存儲(chǔ)器訪問帶寬可能會(huì)成為系統(tǒng)瓶頸,而且存儲(chǔ)器訪問的功耗依然與傳統(tǒng)的CPU/GPU系統(tǒng)相當(dāng)[7]。

    得益于強(qiáng)大的計(jì)算能力和完整的生態(tài)環(huán)境,高性能的通用GPU[8,9]是當(dāng)前口令恢復(fù)的主要硬件平臺(tái)。hashcat[10]、John the Ripper[11]等高效的口令猜測(cè)軟件對(duì)傳統(tǒng)的口令散列函數(shù)進(jìn)行了深入的優(yōu)化,具有很高的執(zhí)行效率,但是在GPU上優(yōu)化實(shí)現(xiàn)存儲(chǔ)器難散列函數(shù)的方法還沒有得到深入的研究。

    本文主要研究利用GPU體系結(jié)構(gòu)的特點(diǎn)提升存儲(chǔ)器難散列函數(shù)計(jì)算吞吐率的方法。GPU的片上存儲(chǔ)器容量非常有限,難以在片上存放這些散列函數(shù)所需要的存儲(chǔ)空間。但是,GPU提供了很高的存儲(chǔ)器訪問帶寬和較大容量的全局存儲(chǔ)器,可以在全局存儲(chǔ)器中存放存儲(chǔ)器難散列函數(shù)所需要的內(nèi)容。為了更有效地發(fā)揮GPU潛在的計(jì)算能力,本文一方面研究了存儲(chǔ)器難散列函數(shù)的數(shù)據(jù)布局,以提升存儲(chǔ)器的訪問效率;另一方面利用GPU上多線程間寄存器交換數(shù)據(jù)的方法,使多個(gè)線程協(xié)作執(zhí)行同一個(gè)散列函數(shù)實(shí)例,從而增加線程的數(shù)量,更好地隱蔽存儲(chǔ)器的訪問延遲,提升吞吐率。

    本文以經(jīng)典的存儲(chǔ)器難散列函數(shù)Scrypt[12]為例說(shuō)明了GPU上優(yōu)化實(shí)現(xiàn)方法,并使用該方法優(yōu)化實(shí)現(xiàn)了較為復(fù)雜的存儲(chǔ)器難散列函數(shù)Argon2d[13]。與hashcat的實(shí)現(xiàn)方法相比,本文提出的優(yōu)化方法使得Scrypt的性能提升了2.03倍。

    本文第2節(jié)介紹存儲(chǔ)器難散列函數(shù)和GPU體系結(jié)構(gòu)的基本特點(diǎn);第3節(jié)介紹對(duì)Scrypt的優(yōu)化實(shí)現(xiàn)方法;第4節(jié)討論Scrypt性能測(cè)試結(jié)果,并簡(jiǎn)要介紹Argon2d算法的性能,說(shuō)明本文提出的方法可以優(yōu)化多種存儲(chǔ)器難散列函數(shù);第5節(jié)總結(jié)了本文的工作。

    2 相關(guān)工作

    2.1 存儲(chǔ)器難散列函數(shù)

    存儲(chǔ)器難散列函數(shù)的主要特征包括:(1)每個(gè)實(shí)例執(zhí)行過(guò)程中需要占用較大容量的存儲(chǔ)器,其存儲(chǔ)器容量參數(shù)往往可以配置,從數(shù)百K字節(jié)到數(shù)G字節(jié)不等。從口令安全的實(shí)際應(yīng)用場(chǎng)景看,其存儲(chǔ)器容量往往介于數(shù)百K字節(jié)至數(shù)M字節(jié)。(2)可以分為獨(dú)立型和依賴型2種。前者的存儲(chǔ)訪問地址序列固定,與輸入的明文無(wú)關(guān),具有較好的抗側(cè)信道攻擊能力,但由于地址序列固定,可以通過(guò)預(yù)先優(yōu)化存儲(chǔ)器布局獲得較高的計(jì)算性能[14,15]。后者的存儲(chǔ)器訪問地址依賴于散列函數(shù)的輸入明文,事先難以確定存儲(chǔ)器訪問的地址序列,這使得系統(tǒng)實(shí)現(xiàn)更為困難。(3)散列函數(shù)執(zhí)行過(guò)程中計(jì)算和訪存比例較為接近,在實(shí)現(xiàn)的過(guò)程中如果減少內(nèi)存的使用量,則會(huì)顯著增加計(jì)算量。這個(gè)特征使得在ASIC上使用較少的片上存儲(chǔ)器壓縮存儲(chǔ)變得得不償失。

    典型的存儲(chǔ)器難散列函數(shù)包括Scrypt、Argoon2、Lyra[16]和Ballon[17]等,其中Scrypt是出現(xiàn)較早的存儲(chǔ)器難散列函數(shù),目前已經(jīng)成為RFC標(biāo)準(zhǔn)[18]。Argon2是2015年口令散列函數(shù)競(jìng)賽[19]的優(yōu)勝者,包含依賴型和獨(dú)立型2種類型:Argon2d和Argon2i。Argon2原理較為復(fù)雜,限于篇幅,本文僅介紹Scrypt的原理。

    Scrypt的配置參數(shù)包括:CPU/存儲(chǔ)器開銷參數(shù)N、塊大小r、并行度p和輸出長(zhǎng)度dkLen,輸入包括口令pwd和鹽salt。Scrypt的原理如圖1所示,分為3個(gè)步驟:

    (1)使用PBKDF2_HMAC_SHA256(pwd,salt,p×128r)生成p個(gè)128r字節(jié)的初始數(shù)據(jù)塊,分別作為p個(gè)線程的輸入B。

    (2)p個(gè)線程使用ROMix算法分別填充p塊容量為N×128r字節(jié)的存儲(chǔ)器,并迭代得到128r字節(jié)的結(jié)果B′。

    (3)對(duì)p個(gè)結(jié)果使用PBKDF2_HMAC_SHA256生成長(zhǎng)度為dkLen位的散列函數(shù)值。

    Figure 1 Structure of Scrypt圖1 Scrypt結(jié)構(gòu)

    ROMix算法包含了N個(gè)128r字節(jié)塊構(gòu)成的數(shù)組V,其中第1塊V0由PBKDF2_HMAC_SHA256()所產(chǎn)生的1個(gè)128r字節(jié)塊B初始化。在第1階段(第2~4行)中,Scrypt按照順序依次使用BlockMix算法填充數(shù)組V,其中Vi僅僅依賴于Vi-1。在第2階段(第5~7行)中,第6步的Integerify函數(shù)取X的最后64字節(jié)作為一個(gè)小端對(duì)齊的整數(shù),并由此隨機(jī)選擇V中的一個(gè)塊,在第7步中更新X。經(jīng)過(guò)N次迭代后,得到128r字節(jié)的輸出B′。ROMix算法依賴關(guān)系如圖2所示,其中X0,…,XN-1對(duì)應(yīng)算法1中第7步X在第i次循環(huán)時(shí)的值,節(jié)點(diǎn)之間的實(shí)線為必然的依賴關(guān)系,虛線為隨機(jī)的依賴關(guān)系。

    算法1ROMix算法

    Input:B,r,N。

    Output:B′。

    1:X←B;//X為中間變量

    2:forifrom 0 toN-1do

    3:Vi←X;

    4:X←BlockMix(X)

    5:endfor

    6:forifrom 0 toN-1do

    7:j←Integerify(X) modN;

    8:X←BlockMix(X^Vj);

    9:endfor

    10:B′ ←X;

    Figure 2 Dependency graph of ROMix圖2 ROMix算法的數(shù)據(jù)依賴圖

    BlockMix算法由Salsa20/8散列函數(shù)派生得到,其輸入和輸出都是2r個(gè)64字節(jié)的數(shù)據(jù)塊,如算法2所示。

    算法2BlockMix算法

    Input:2r個(gè)64字節(jié)的數(shù)據(jù)塊B0…B2r-1。

    Output:更新后的2r個(gè)64字節(jié)的數(shù)據(jù)塊B′0…B′2r-1。

    1:X←B2r-1;//X為中間變量

    2:forifrom 0 to 2r-1do

    3:T←X^Bi;//T為中間變量

    4:X←salsa20/8(T);

    5:Yi←X;//Yi(0≤i≤2r-1)為中間變量

    6:endfor

    7:B′←(Y0,Y2,…,Y2r-2,Y1,Y3,…,Y2r-1)

    存儲(chǔ)器難散列函數(shù)Scrypt具有以下特點(diǎn)[12]:

    (1)在串行隨機(jī)訪問的計(jì)算機(jī)上,需要的存儲(chǔ)空間為O(N),計(jì)算次數(shù)T(N)=O(N)。

    (2)在具有S*(N)=M(N)個(gè)處理器和S*(N)存儲(chǔ)空間的并行隨機(jī)訪問計(jì)算機(jī)上,算法執(zhí)行時(shí)間T*(N)=O(N2/M(N)),即SN(N)×T*(N)=O(N2)。

    Scrypt的主要特點(diǎn)是計(jì)算次數(shù)和所需要的存儲(chǔ)器容量成正比,且在并行計(jì)算機(jī)上其時(shí)空乘積為O(N2),這使得它在并行計(jì)算機(jī)上的速度提升無(wú)法按照硬件資源的數(shù)量增加呈線性關(guān)系。

    2.2 GPU體系結(jié)構(gòu)特點(diǎn)

    與CPU相比,GPU使用了更多的晶體管構(gòu)造計(jì)算單元,片上存儲(chǔ)器容量非常小。GPU中包含了多個(gè)流多處理器組SM(Stream Multiprocessors),每個(gè)SM包含了多個(gè)計(jì)算單元、64~192 KB的共享存儲(chǔ)器/Cache和大容量的寄存器文件。一個(gè)SM上可以同時(shí)并發(fā)運(yùn)行多個(gè)輕量級(jí)線程,并且零開銷實(shí)現(xiàn)線程切換。

    NVIDIA公司的GPU采用了單指令多線程SIMT(Single Instruction Multiple Threads)[8]的并行方式,即多個(gè)線程執(zhí)行相同的指令,但是使用不同的數(shù)據(jù)。SM調(diào)度的基本單位是由32個(gè)線程構(gòu)成的warp,同一個(gè)warp的所有線程執(zhí)行相同的指令。同一warp內(nèi)的線程可以使用混洗指令直接交換數(shù)據(jù),無(wú)需訪存存儲(chǔ)器,執(zhí)行開銷很小。一個(gè)warp執(zhí)行高延遲的訪存指令時(shí),將會(huì)掛起直至訪存指令結(jié)束。在此期間,執(zhí)行算術(shù)邏輯指令的其他warp仍可以并發(fā)執(zhí)行,可以在一定程度上隱藏內(nèi)存訪問的延遲。

    GPU訪問全局存儲(chǔ)器的基本單位[20]是以128字節(jié)為單位的區(qū)段。一個(gè)warp的32個(gè)線程可以同時(shí)訪問32個(gè)不同地址。如果這32個(gè)地址均處于一個(gè)區(qū)段內(nèi),一次全局存儲(chǔ)器訪問就可以滿足這個(gè)訪問請(qǐng)求。如果這32個(gè)地址分散在m個(gè)區(qū)段,則需要m次全局存儲(chǔ)器訪問,存儲(chǔ)器訪問效率降低為1/m。

    3 GPU上Scrypt算法的優(yōu)化

    存儲(chǔ)器難散列函數(shù)在執(zhí)行過(guò)程中使用的內(nèi)存容量較大,同時(shí)伴隨著大量的訪存操作。需要優(yōu)化全局存儲(chǔ)器的數(shù)據(jù)布局,提高存儲(chǔ)器帶寬的利用率。與此同時(shí),口令恢復(fù)過(guò)程可以并行執(zhí)行多個(gè)散列函數(shù)實(shí)例。如果一個(gè)GPU線程計(jì)算一個(gè)散列函數(shù)實(shí)例,由于受到顯存大小的約束,GPU中線程數(shù)量受限,難以隱藏存儲(chǔ)器訪問帶來(lái)的延遲。

    本文采用多個(gè)線程協(xié)作計(jì)算一個(gè)散列函數(shù)實(shí)例的方法,使得在同樣散列函數(shù)實(shí)例的情況下,具有更多的工作線程,更為有效地隱藏存儲(chǔ)器訪問延遲。

    3.1 2種存儲(chǔ)器布局

    Figure 3 Two storage methods圖3 2種存儲(chǔ)方式

    在交織存儲(chǔ)方式中,每個(gè)warp交織存儲(chǔ)32個(gè)線程的內(nèi)容,即不同線程的相同位置的字連續(xù)存放。在順序存儲(chǔ)方式中,同一個(gè)線程對(duì)應(yīng)數(shù)據(jù)連續(xù)存放,不同線程的存儲(chǔ)區(qū)域不發(fā)生交疊。對(duì)于一個(gè)warp中第t個(gè)線程的第i個(gè)塊的第j個(gè)字,交織存儲(chǔ)的地址AI和順序存儲(chǔ)的地址AN的計(jì)算方法分別如式(1)和式(2)所示:

    AI(t,i,j)=32×(32r×i+j)+t

    (1)

    AN=32r×N×t+32r×i+j

    (2)

    其中,0≤t≤31,0≤i≤N-1,0≤j≤32r-1。

    交織存儲(chǔ)方式中,一個(gè)warp中的32個(gè)線程同時(shí)計(jì)算32個(gè)Scrypt散列函數(shù)實(shí)例,且每個(gè)線程按照32位無(wú)符號(hào)整數(shù)的方式并行訪問存儲(chǔ)器。ROMix算法的第1階段,32個(gè)線程發(fā)出的存儲(chǔ)器訪問地址處于一個(gè)128字節(jié)的區(qū)段中,GPU的帶寬利用率為100%。但是,在第2階段中,32個(gè)線程可能訪問不同的塊,導(dǎo)致32個(gè)地址處于不同的區(qū)段中。在最壞的情況下,所需要讀取的數(shù)據(jù)分布于32個(gè)不同的區(qū)段,此時(shí)存儲(chǔ)器帶寬的利用率僅為1/32。

    在順序存儲(chǔ)方式中,每個(gè)線程計(jì)算一個(gè)Scrypt實(shí)例且僅使用32位存儲(chǔ)器訪問時(shí),存儲(chǔ)器帶寬利用率為1/32。為了避免這個(gè)問題,可以使用16字節(jié)的存儲(chǔ)器訪問。CUDA的程序設(shè)計(jì)指導(dǎo)[20]指出,如果warp中每個(gè)線程均訪問16個(gè)字節(jié)存儲(chǔ)器,則GPU產(chǎn)生4個(gè)存儲(chǔ)器訪問請(qǐng)求,且每個(gè)請(qǐng)求完成8個(gè)線程的存儲(chǔ)器訪問。如果這8個(gè)線程計(jì)算不同的實(shí)例,其地址將處于不同的區(qū)段,在Scrypt的2個(gè)階段中存儲(chǔ)器帶寬的利用率均為1/8。

    3.2 多線程協(xié)同計(jì)算

    由于GPU的顯存容量有限,在N較大的情況下,可以同時(shí)支持的Scrypt散列函數(shù)實(shí)例數(shù)受到限制,導(dǎo)致能并發(fā)計(jì)算的線程數(shù)有限,從而影響系統(tǒng)的吞吐率。為此,本文考慮4個(gè)線程協(xié)同計(jì)算1個(gè)散列函數(shù)的實(shí)例。

    Scrypt的主要計(jì)算基于散列函數(shù)Salsa20/8[21],其偽代碼如下所示,其中R(d,s)表示對(duì)32位無(wú)符號(hào)整數(shù)d循環(huán)右移s位。

    算法3Salsa20/8

    {//b0…b15:16個(gè)32位的字輸入

    //x0,…,x15:16個(gè)中間變量

    1:x0…x15←b0…b15;

    2:forifrom 0 to 3do

    3:x4^=R(x0+x12,7);x8^=R(x4+x0,9);

    4:x12^=R(x8+x4,13);x0^=R(x12+x8,18);

    5:x9^=R(x5+x1,7);x13^=R(x9+x5,9);

    6:x1^=R(x13+x9,13);x5^=R(x1+x13,18);

    7:x14^=R(x10+x6,7);x2^=R(x14+x10,9);

    8:x6^=R(x2+x14,13);x10^=R(x6+x2,18);

    9:x3^=R(x15+x11,7);x7^=R(x3+x15,9);

    10:x11^=R(x7+x3,13);x15^=R(x11+x7,18);

    11:x1^=R(x0+x3,7);x2^=R(x1+x0,9);

    12:x3^=R(x2+x1,13);x0^=R(x3+x2,18);

    13:x6^=R(x5+x4,7);x7^=R(x6+x5,9);

    14:x4^=R(x7+x6,13);x5^=R(x4+x7,18);

    15:x11^=R(x10+x9,7);x8^=R(x11+x10,9);

    16:x9^=R(x8+x11,13);x10^=R(x9+x8,18);

    17:x12^=R(x15+x14,7);x13^=R(x12+x15,9);

    18:x14^=R(x13+x12,13);x15^=R(x14+x13,18);

    19:endfor

    20:forifrom 0 to 15do

    }

    上述函數(shù)可以分為2段:第1段是第3行到第10行,第2段是第11行到第18行。將16個(gè)中間變量劃分為{x0,x4,x8,x12},{x1,x5,x9,x13},{x2,x6,x10,x14}和{x3,x7,x11,x15}4個(gè)集合。基于此數(shù)據(jù)劃分,第1段的16個(gè)移位/加法操作可以按照下述計(jì)算次序由4個(gè)線程分4步并行完成:〈x4,x9,x14,x3〉,〈x8,x13,x2,x7〉,〈x12,x1,x6,x11〉,〈x0,x5,x10,x15〉。同理,第2段的計(jì)算過(guò)程中,4個(gè)線程使用的數(shù)據(jù)集合分別為{x0,x1,x2,x3},{x4,x5,x6,x7},{x8,x9,x10,x11},{x12,x13,x14,x15},并行計(jì)算次序?yàn)椋骸磝1,x6,x11,x12〉,〈x2,x7,x8,x13〉,〈x3,x4,x9,x14〉,〈x0,x5,x10,x15〉。由此可以看出,可以使用4個(gè)線程同時(shí)完成一個(gè)Salsa20/8散列函數(shù)的計(jì)算。需要設(shè)計(jì)中間變量x0, …,x15的存儲(chǔ)布局和交換方法,使得每個(gè)線程分別包含4個(gè)局部變量,并行執(zhí)行第1段操作,然后進(jìn)行一次數(shù)據(jù)交換,再并行執(zhí)行第2段操作。

    在GPU中可以使用共享存儲(chǔ)器或warp混洗函數(shù)實(shí)現(xiàn)同一個(gè)warp內(nèi)多個(gè)線程間數(shù)據(jù)交換。共享存儲(chǔ)器分為16個(gè)存儲(chǔ)器體,如果1個(gè)warp中的16個(gè)線程同時(shí)訪問不同體,可以達(dá)到共享存儲(chǔ)器體的最大訪問帶寬??梢詫f(xié)同計(jì)算同一個(gè)實(shí)例的4個(gè)不同線程的中間變量x0, …,x15分布到不同的存儲(chǔ)器體上,并精心排布第2段計(jì)算的次序(如圖4所示),使得4個(gè)協(xié)作線程在整個(gè)Salsa20/8計(jì)算過(guò)程中不發(fā)生體沖突,但是這將引入比較復(fù)雜的地址計(jì)算。另外一種方法使用了NVIDIA公司特有的warp混洗函數(shù)實(shí)現(xiàn)同一個(gè)warp內(nèi)的多個(gè)線程間快速數(shù)據(jù)交換。測(cè)試表明,使用warp混洗函數(shù)的性能稍高于使用共享存儲(chǔ)器的性能,這可能是因?yàn)楣蚕泶鎯?chǔ)器地址計(jì)算的開銷和較高的存儲(chǔ)器訪問延遲導(dǎo)致的。因此,本文在NIVIDIA公司的GPU上使用了混洗函數(shù)。在不支持warp混洗函數(shù)的其他類型GPU上可以考慮采用局部存儲(chǔ)器的交換方法。

    Figure 4 Layout of intermediate variables in Salsa20/8圖4 Salsa20/8中間變量的存儲(chǔ)布局

    4 測(cè)試與分析

    本節(jié)在GTX TITAN X上進(jìn)行性能測(cè)試,其硬件參數(shù)如表1所示。測(cè)試主要包括3個(gè)方面:(1)在(N,p,r)=(1024,1,1)的參數(shù)配置下,比較交叉存儲(chǔ)、單線程順序存儲(chǔ)和4線程順序存儲(chǔ)3種方法實(shí)現(xiàn)Scrypt的性能;(2)上述3種方法實(shí)現(xiàn)Argon2d的性能;(3)所需存儲(chǔ)容量變化時(shí),散列函數(shù)的性能。

    在 (N,p,r)=(1024,1,1)情況下,3種不同方法實(shí)現(xiàn)Scrypt性能如表2所示,其中hashcat使用了單線程順序存儲(chǔ)方法。由表2可以看出,4線程順序存儲(chǔ)方法具有最高的性能,是hashcat實(shí)現(xiàn)方法的2.03倍。

    Table 2 Scrypt performance of three different methods(N=1024, p=1, r=1)表2 3種不同方法的Scrypt性能(N=1024,p=1,r=1)

    Argon2d也是一種典型的存儲(chǔ)器難散列函數(shù),其主要配置參數(shù)包括:并行度p,存儲(chǔ)器容量m,迭代次數(shù)T。一個(gè)Argon2d實(shí)例所需要的存儲(chǔ)容量為1204mp個(gè)字節(jié)。它在填充存儲(chǔ)器階段采用基于blake2b[22]的壓縮函數(shù)。與Salsa20/8類似,該函數(shù)可以由4個(gè)線程并行實(shí)現(xiàn),也可以使用本文所述的4線程順序存儲(chǔ)方法。表3給出了3種方法的性能比較,可以看出,4線程順序存儲(chǔ)方法的性能是交織存儲(chǔ)方法性能的310%。

    Table 3 Argon2d performance of three different methods(m=64, p=1, T=1)表3 3種不同方法的Argon2d性能(m=64,p=1,T=1)

    當(dāng)N=1024時(shí),一個(gè)Scrypt散列函數(shù)的實(shí)例需要128 KB的全局存儲(chǔ)器容量。在總?cè)萘繛?2 GB的顯存中,約有8~9 GB存儲(chǔ)器可供使用。在此配置下,4線程順序存儲(chǔ)方法可以使用的線程數(shù)為252K個(gè),每個(gè)SM容納2K個(gè)線程。

    受到顯存容量的限制,當(dāng)N增加時(shí),單個(gè)GPU上可以并行計(jì)算的實(shí)例數(shù)(線程數(shù))也在不斷下降,如表4和圖5a所示。在Scrypt散列函數(shù)中,N增加一倍,計(jì)算和訪存的數(shù)量也都相應(yīng)增加一倍。在理想的情況下,N增加一倍,計(jì)算性能應(yīng)降低一半。但是,實(shí)際性能降低的速度遠(yuǎn)遠(yuǎn)高于50%。例如,在N=2048時(shí),計(jì)算性能僅為N=1024時(shí)性能的12.65%。發(fā)生這種情況的主要原因是GPU中對(duì)全局存儲(chǔ)器訪問的延遲高達(dá)200~400個(gè)周期,需要依賴大量計(jì)算密集型的線程隱藏存儲(chǔ)器訪問導(dǎo)致的延遲。但是,N(單個(gè)實(shí)例的內(nèi)存使用量)增加時(shí),可以并行計(jì)算的線程數(shù)隨之減少,降低了對(duì)存儲(chǔ)器訪問的隱藏能力,導(dǎo)致系統(tǒng)資源利用率和吞吐率顯著下降。

    Table 4 Scrypt performance with different storage capacity (p=1, r=1)表4 Scrypt散列函數(shù)存儲(chǔ)容量變化時(shí)的性能(p=1,r=1)

    與Scrypt類似,在其他參數(shù)不發(fā)生變化時(shí),Argon2d的存儲(chǔ)容量增加一倍,其計(jì)算量和存儲(chǔ)器訪問量也增加一倍,理論計(jì)算性能應(yīng)該降低一半。存儲(chǔ)器容量發(fā)生變化時(shí),Argon2d在GPU上的性能如表5和圖5b所示。在單個(gè)實(shí)例的存儲(chǔ)器容量從128 KB增加到256 KB時(shí),其性能下降為128 KB時(shí)性能的25.71%??梢钥闯?,在GPU上執(zhí)行這一類存儲(chǔ)器難散列函數(shù)的最重要問題是顯存容量有限,導(dǎo)致可以運(yùn)行的線程數(shù)受限,從而降低了GPU利用計(jì)算過(guò)程隱藏存儲(chǔ)器訪問的能力,影響了系統(tǒng)的資源利用率和吞吐率。

    Table 5 Argon2d performance with different storage capacity (p=1, T=1)表5 Argon2d散列函數(shù)存儲(chǔ)容量變化時(shí)的性能(p=1,T=1)

    Figure 5 Performance vs storage capacity of Scrypt and Argon2d圖5 存儲(chǔ)容量變化時(shí)Scrypt和Argon2d的性能

    在GPU上使用4線程協(xié)同計(jì)算和順序存儲(chǔ)方法計(jì)算存儲(chǔ)器難散列函數(shù),具有以下優(yōu)點(diǎn):(1)在相同的顯存容量下,相對(duì)于1個(gè)線程計(jì)算1個(gè)實(shí)例,4個(gè)線程同時(shí)計(jì)算1個(gè)實(shí)例使得可以并發(fā)執(zhí)行的線程數(shù)量增加4倍,增加了系統(tǒng)的并發(fā)能力。(2)在Salsa20/8的計(jì)算過(guò)程中,每個(gè)線程僅僅使用了4個(gè)32位字保存中間變量,寄存器使用量控制在32個(gè)字,提高了SM的使用率。(3)每個(gè)線程都使用16個(gè)字節(jié)的存儲(chǔ)器訪問而且采取了順序存儲(chǔ)方式,此時(shí)每個(gè)存儲(chǔ)器請(qǐng)求包含了8個(gè)線程的存儲(chǔ)器訪問。由于使用了4個(gè)線程同時(shí)計(jì)算一個(gè)實(shí)例,存儲(chǔ)器帶寬利用率也從原有單線程模式的1/8提高到50%。

    5 結(jié)束語(yǔ)

    由于抗ASIC的特征,存儲(chǔ)器難散列函數(shù)很有可能成為未來(lái)的口令散列函數(shù)。本文以典型的Scrypt和Argon2d為目標(biāo),研究了GPU上存儲(chǔ)器難散列函數(shù)的性能優(yōu)化方法,比較和分析了交織存儲(chǔ)和順序存儲(chǔ)2種方法的存儲(chǔ)器帶寬利用率,指出使用16字節(jié)存儲(chǔ)器訪問和順序存儲(chǔ)方法可以更有效地利用GPU的存儲(chǔ)器帶寬。同時(shí),本文提出了使用多個(gè)線程協(xié)作計(jì)算一個(gè)散列函數(shù)實(shí)例并使用warp間混洗函數(shù)交換數(shù)據(jù)的方法,有效減少了每個(gè)線程占用的資源,增加了可以并行運(yùn)行的線程數(shù)量,更為有效地隱藏了存儲(chǔ)器訪存的延遲,并將存儲(chǔ)器訪問帶寬的利用率提高到50%,較hashcat中的Scrypt實(shí)現(xiàn),性能提升了2.03倍。

    本文還使用4線程順序存儲(chǔ)方法實(shí)現(xiàn)了較為復(fù)雜的Argon2d散列函數(shù),對(duì)于Argon2d依然具有較好的性能,說(shuō)明了其對(duì)于不同存儲(chǔ)器難散列函數(shù)的適應(yīng)性。

    本文比較了2種存儲(chǔ)器難散列函數(shù)在不同存儲(chǔ)器容量需求下性能的變化情況。實(shí)驗(yàn)表明,由于顯存容量有限,可以并行執(zhí)行的散列函數(shù)實(shí)例受到約束,減少了GPU上可以并發(fā)執(zhí)行的線程數(shù),使計(jì)算操作難以隱藏存儲(chǔ)器訪問延遲,從而降低了資源利用率,在GPU上執(zhí)行散列函數(shù)的性能大幅度下降。

    如何克服顯存容量的瓶頸,保持可以并行工作的線程數(shù)量將是后續(xù)在GPU上優(yōu)化實(shí)現(xiàn)存儲(chǔ)器難散列函數(shù)的主要問題。

    猜你喜歡
    口令存儲(chǔ)器線程
    靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
    高矮胖瘦
    口 令
    好玩的“反口令”游戲
    淺談linux多線程協(xié)作
    SNMP服務(wù)弱口令安全漏洞防范
    存儲(chǔ)器——安格爾(墨西哥)▲
    基于Nand Flash的高速存儲(chǔ)器結(jié)構(gòu)設(shè)計(jì)
    Linux線程實(shí)現(xiàn)技術(shù)研究
    么移動(dòng)中間件線程池并發(fā)機(jī)制優(yōu)化改進(jìn)
    久久人人精品亚洲av| 久久久久国内视频| 99精品久久久久人妻精品| 成人鲁丝片一二三区免费| 操出白浆在线播放| 国产高清videossex| 国产成人欧美在线观看| 免费在线观看成人毛片| 午夜激情福利司机影院| 国产aⅴ精品一区二区三区波| 亚洲国产欧美网| 婷婷精品国产亚洲av| 女同久久另类99精品国产91| 久久久久亚洲av毛片大全| 国产欧美日韩一区二区三| 久久久久久大精品| 亚洲aⅴ乱码一区二区在线播放| 精品久久久久久久毛片微露脸| 成年女人永久免费观看视频| 亚洲熟妇中文字幕五十中出| 免费看十八禁软件| 欧美成人免费av一区二区三区| 国产色爽女视频免费观看| 人人妻人人看人人澡| 一级黄色大片毛片| 国产午夜精品久久久久久一区二区三区 | 欧美bdsm另类| 国产精品自产拍在线观看55亚洲| 成人av在线播放网站| 熟女少妇亚洲综合色aaa.| 国产av麻豆久久久久久久| av专区在线播放| 老熟妇乱子伦视频在线观看| 村上凉子中文字幕在线| 久久久精品欧美日韩精品| 一本久久中文字幕| 欧洲精品卡2卡3卡4卡5卡区| 91九色精品人成在线观看| 午夜免费男女啪啪视频观看 | 高清日韩中文字幕在线| 免费搜索国产男女视频| 蜜桃亚洲精品一区二区三区| a级一级毛片免费在线观看| 欧美不卡视频在线免费观看| 一级a爱片免费观看的视频| 午夜影院日韩av| 久久婷婷人人爽人人干人人爱| 成人特级av手机在线观看| 99久久精品热视频| 91久久精品国产一区二区成人 | 最近最新中文字幕大全电影3| 99久久精品一区二区三区| 欧美最黄视频在线播放免费| 亚洲一区二区三区不卡视频| 亚洲电影在线观看av| 亚洲国产欧美网| 999久久久精品免费观看国产| eeuss影院久久| 一区福利在线观看| 欧美性猛交╳xxx乱大交人| 午夜免费激情av| 18禁黄网站禁片午夜丰满| 99久久成人亚洲精品观看| 久久久久免费精品人妻一区二区| 日韩人妻高清精品专区| 国产高清视频在线观看网站| 桃红色精品国产亚洲av| 免费在线观看亚洲国产| 怎么达到女性高潮| 亚洲一区二区三区色噜噜| 热99在线观看视频| 亚洲狠狠婷婷综合久久图片| 51国产日韩欧美| 亚洲国产中文字幕在线视频| 国产精品一区二区三区四区免费观看 | 最近最新中文字幕大全电影3| 婷婷亚洲欧美| 国产不卡一卡二| 噜噜噜噜噜久久久久久91| 久久午夜亚洲精品久久| 日本一本二区三区精品| 国语自产精品视频在线第100页| 亚洲美女黄片视频| 一夜夜www| x7x7x7水蜜桃| 久久久久免费精品人妻一区二区| 男女午夜视频在线观看| 老汉色av国产亚洲站长工具| 日韩高清综合在线| 久久久久久久亚洲中文字幕 | 久久精品国产亚洲av涩爱 | 九色成人免费人妻av| 最后的刺客免费高清国语| 成人亚洲精品av一区二区| 搡老熟女国产l中国老女人| 精品电影一区二区在线| 黄片小视频在线播放| 欧美日韩乱码在线| 熟女人妻精品中文字幕| 观看免费一级毛片| 午夜福利在线观看免费完整高清在 | 亚洲美女黄片视频| 日本免费a在线| 美女 人体艺术 gogo| 国产成人av激情在线播放| 欧美区成人在线视频| 色噜噜av男人的天堂激情| 日本免费a在线| 国产视频内射| 国产色爽女视频免费观看| 精品福利观看| 欧美在线黄色| 一二三四社区在线视频社区8| 日本 欧美在线| 精品99又大又爽又粗少妇毛片 | 午夜福利视频1000在线观看| 亚洲欧美日韩高清在线视频| 久久精品91蜜桃| 免费av毛片视频| 日本免费a在线| 很黄的视频免费| 看片在线看免费视频| 精品国产超薄肉色丝袜足j| 国产精品久久久人人做人人爽| 国产伦人伦偷精品视频| 两个人视频免费观看高清| 黄片大片在线免费观看| 国产成人a区在线观看| 久久香蕉精品热| 热99在线观看视频| avwww免费| 在线观看美女被高潮喷水网站 | 伊人久久精品亚洲午夜| avwww免费| 亚洲欧美日韩卡通动漫| 亚洲不卡免费看| 亚洲va日本ⅴa欧美va伊人久久| 神马国产精品三级电影在线观看| 亚洲av日韩精品久久久久久密| 99riav亚洲国产免费| 亚洲国产精品久久男人天堂| 久久国产精品影院| 两个人的视频大全免费| 午夜免费成人在线视频| 嫩草影院精品99| 非洲黑人性xxxx精品又粗又长| 中文字幕久久专区| 熟女电影av网| 国产真实伦视频高清在线观看 | 青草久久国产| 精品久久久久久久久久免费视频| 亚洲中文字幕一区二区三区有码在线看| 男女下面进入的视频免费午夜| а√天堂www在线а√下载| www国产在线视频色| 久久久久免费精品人妻一区二区| 亚洲成人中文字幕在线播放| 精品免费久久久久久久清纯| 性欧美人与动物交配| 人人妻人人看人人澡| 伊人久久大香线蕉亚洲五| 99在线人妻在线中文字幕| 男人的好看免费观看在线视频| 久9热在线精品视频| 国产精品一区二区免费欧美| 日本黄色视频三级网站网址| 久久久久久国产a免费观看| 成人av在线播放网站| 高潮久久久久久久久久久不卡| 黄色成人免费大全| 亚洲国产精品999在线| 亚洲七黄色美女视频| 成人亚洲精品av一区二区| 老熟妇乱子伦视频在线观看| 亚洲精品色激情综合| 一边摸一边抽搐一进一小说| 看免费av毛片| 丁香欧美五月| 中国美女看黄片| 久久国产精品人妻蜜桃| 大型黄色视频在线免费观看| 中亚洲国语对白在线视频| 啦啦啦观看免费观看视频高清| 国产一区二区三区视频了| 天天添夜夜摸| 精品久久久久久久久久免费视频| 最好的美女福利视频网| 亚洲黑人精品在线| 真人做人爱边吃奶动态| 3wmmmm亚洲av在线观看| 国产精品久久视频播放| 日本在线视频免费播放| 熟女电影av网| 国产亚洲欧美在线一区二区| 欧美成人一区二区免费高清观看| av片东京热男人的天堂| 网址你懂的国产日韩在线| 热99在线观看视频| 男插女下体视频免费在线播放| 国产色爽女视频免费观看| 国产亚洲精品综合一区在线观看| 一区二区三区高清视频在线| 88av欧美| 国模一区二区三区四区视频| 黑人欧美特级aaaaaa片| 国产精品一区二区三区四区免费观看 | 精品久久久久久久人妻蜜臀av| 亚洲精品一区av在线观看| 日本 av在线| 欧美激情在线99| 99久久成人亚洲精品观看| 一区二区三区激情视频| 草草在线视频免费看| 禁无遮挡网站| 国产欧美日韩精品一区二区| 国产真实伦视频高清在线观看 | 天天一区二区日本电影三级| 午夜免费观看网址| 一本一本综合久久| 在线播放无遮挡| 日韩 欧美 亚洲 中文字幕| 老鸭窝网址在线观看| 99久久成人亚洲精品观看| 精品一区二区三区人妻视频| 久久久久亚洲av毛片大全| 一个人免费在线观看的高清视频| av女优亚洲男人天堂| 国产av一区在线观看免费| 午夜福利在线观看免费完整高清在 | 中文字幕高清在线视频| 亚洲精品在线观看二区| 一区二区三区免费毛片| 成人精品一区二区免费| 国产不卡一卡二| 高清毛片免费观看视频网站| 99久久99久久久精品蜜桃| 亚洲专区中文字幕在线| 色播亚洲综合网| 免费看十八禁软件| 精品日产1卡2卡| 夜夜看夜夜爽夜夜摸| 丰满的人妻完整版| 乱人视频在线观看| 99精品欧美一区二区三区四区| 久久国产精品影院| 少妇熟女aⅴ在线视频| 亚洲中文字幕日韩| 亚洲一区二区三区色噜噜| 在线视频色国产色| 搡女人真爽免费视频火全软件 | 午夜福利高清视频| 97人妻精品一区二区三区麻豆| 日韩欧美国产一区二区入口| 日本黄大片高清| 亚洲国产精品sss在线观看| 婷婷六月久久综合丁香| 久久中文看片网| 亚洲激情在线av| 一级a爱片免费观看的视频| 国产精品久久久久久人妻精品电影| 高清在线国产一区| 日韩人妻高清精品专区| 天天躁日日操中文字幕| 亚洲国产中文字幕在线视频| 精品人妻偷拍中文字幕| 色播亚洲综合网| 黄色片一级片一级黄色片| 国产精品99久久久久久久久| 午夜免费观看网址| 国产国拍精品亚洲av在线观看 | 99热这里只有是精品50| 日韩成人在线观看一区二区三区| 男插女下体视频免费在线播放| 少妇的逼水好多| 男人舔奶头视频| 18禁美女被吸乳视频| www.熟女人妻精品国产| 在线播放国产精品三级| 国产乱人伦免费视频| 久久中文看片网| 非洲黑人性xxxx精品又粗又长| 精品福利观看| 露出奶头的视频| 又爽又黄无遮挡网站| 中文亚洲av片在线观看爽| 欧美av亚洲av综合av国产av| 午夜精品久久久久久毛片777| 欧美乱色亚洲激情| 欧美黑人欧美精品刺激| 老司机午夜十八禁免费视频| 日本成人三级电影网站| 久久久久久大精品| 日本在线视频免费播放| 大型黄色视频在线免费观看| 亚洲国产色片| 三级国产精品欧美在线观看| 国模一区二区三区四区视频| 人人妻人人看人人澡| 日韩 欧美 亚洲 中文字幕| 午夜福利视频1000在线观看| 无限看片的www在线观看| 在线观看一区二区三区| 1024手机看黄色片| 老司机深夜福利视频在线观看| 亚洲,欧美精品.| 亚洲va日本ⅴa欧美va伊人久久| 国产成人系列免费观看| 桃色一区二区三区在线观看| 一区二区三区激情视频| 日韩av在线大香蕉| 欧美日韩国产亚洲二区| 嫩草影院精品99| 免费人成在线观看视频色| 精品国产三级普通话版| 99热这里只有精品一区| 国产一区在线观看成人免费| 久久午夜亚洲精品久久| 成人特级黄色片久久久久久久| 欧美性感艳星| 成人一区二区视频在线观看| 色吧在线观看| 亚洲一区高清亚洲精品| 国产一区二区三区视频了| 91在线精品国自产拍蜜月 | 天堂动漫精品| 亚洲一区高清亚洲精品| 日韩人妻高清精品专区| 美女cb高潮喷水在线观看| 一本综合久久免费| 国产精品日韩av在线免费观看| 国内久久婷婷六月综合欲色啪| 国产精品久久久久久亚洲av鲁大| 日本一二三区视频观看| 伊人久久精品亚洲午夜| 国产成人福利小说| 国产又黄又爽又无遮挡在线| 一a级毛片在线观看| 嫩草影院入口| 久久精品亚洲精品国产色婷小说| 哪里可以看免费的av片| 欧美大码av| 美女免费视频网站| 非洲黑人性xxxx精品又粗又长| 小说图片视频综合网站| 宅男免费午夜| 最新在线观看一区二区三区| 日韩精品青青久久久久久| 色播亚洲综合网| 国内精品久久久久精免费| 精品国产三级普通话版| 国产单亲对白刺激| 91久久精品电影网| 亚洲五月婷婷丁香| 国产黄片美女视频| 亚洲av一区综合| 国产欧美日韩精品一区二区| 国产91精品成人一区二区三区| 在线看三级毛片| 国产午夜福利久久久久久| 天天添夜夜摸| 国产探花在线观看一区二区| www.色视频.com| 老司机午夜福利在线观看视频| 免费在线观看影片大全网站| 在线观看午夜福利视频| 内射极品少妇av片p| 老汉色av国产亚洲站长工具| 淫妇啪啪啪对白视频| 亚洲av免费在线观看| 法律面前人人平等表现在哪些方面| 亚洲精品在线观看二区| 亚洲人与动物交配视频| 国产三级中文精品| 麻豆成人午夜福利视频| 国产99白浆流出| 欧美激情在线99| 国产熟女xx| 丰满人妻一区二区三区视频av | 手机成人av网站| 欧美性猛交黑人性爽| 国产 一区 欧美 日韩| 亚洲欧美日韩无卡精品| 亚洲欧美激情综合另类| 日韩人妻高清精品专区| 欧美日韩一级在线毛片| 欧美+亚洲+日韩+国产| 成年人黄色毛片网站| 婷婷精品国产亚洲av| 18禁美女被吸乳视频| 亚洲成av人片在线播放无| 久久精品国产亚洲av香蕉五月| 法律面前人人平等表现在哪些方面| 在线观看av片永久免费下载| 在线观看美女被高潮喷水网站 | 99在线人妻在线中文字幕| 99国产精品一区二区蜜桃av| 精品一区二区三区视频在线 | 美女大奶头视频| 国产精品久久久久久人妻精品电影| 国产aⅴ精品一区二区三区波| 日韩精品青青久久久久久| 两个人视频免费观看高清| 亚洲在线自拍视频| 宅男免费午夜| 色尼玛亚洲综合影院| 中文字幕人成人乱码亚洲影| 可以在线观看的亚洲视频| 在线观看免费视频日本深夜| 国产精品自产拍在线观看55亚洲| 国产久久久一区二区三区| 99久久精品热视频| 成人18禁在线播放| 国产真人三级小视频在线观看| 亚洲欧美激情综合另类| 不卡一级毛片| 中文字幕精品亚洲无线码一区| 欧美日韩黄片免| 日韩高清综合在线| 熟女电影av网| 亚洲黑人精品在线| 国产视频一区二区在线看| 男人的好看免费观看在线视频| 国产视频一区二区在线看| 18美女黄网站色大片免费观看| 又黄又粗又硬又大视频| 九色成人免费人妻av| 亚洲在线自拍视频| www.999成人在线观看| 脱女人内裤的视频| 黄色视频,在线免费观看| 99国产精品一区二区三区| 女人十人毛片免费观看3o分钟| 精品福利观看| 成年人黄色毛片网站| 日本免费一区二区三区高清不卡| 欧美3d第一页| 久久亚洲精品不卡| 国产色爽女视频免费观看| 有码 亚洲区| 国产亚洲精品综合一区在线观看| 乱人视频在线观看| 免费一级毛片在线播放高清视频| 久久精品国产亚洲av香蕉五月| 成人18禁在线播放| 欧美不卡视频在线免费观看| 国产精品爽爽va在线观看网站| 日本一本二区三区精品| 国产一区在线观看成人免费| 51国产日韩欧美| 久久香蕉精品热| 国产三级黄色录像| 日韩亚洲欧美综合| 国产综合懂色| 免费观看精品视频网站| 久久久久久九九精品二区国产| 露出奶头的视频| 首页视频小说图片口味搜索| 亚洲av二区三区四区| 国产高清三级在线| 国产精品久久久久久久电影 | 国产精品亚洲av一区麻豆| 成人国产综合亚洲| 久久中文看片网| 一本一本综合久久| 变态另类成人亚洲欧美熟女| 叶爱在线成人免费视频播放| 亚洲人成网站高清观看| 亚洲精品一区av在线观看| 久久性视频一级片| 白带黄色成豆腐渣| 亚洲精品国产精品久久久不卡| 内地一区二区视频在线| 97碰自拍视频| 亚洲成av人片免费观看| 久久久久国产精品人妻aⅴ院| 色综合站精品国产| 男女那种视频在线观看| 少妇丰满av| e午夜精品久久久久久久| 人妻夜夜爽99麻豆av| 久久精品91无色码中文字幕| 免费看光身美女| 久久精品综合一区二区三区| 精品久久久久久久久久久久久| 日韩欧美 国产精品| 夜夜爽天天搞| 欧美乱码精品一区二区三区| 亚洲国产精品999在线| 淫秽高清视频在线观看| 久久久久久久亚洲中文字幕 | 中文字幕av在线有码专区| 香蕉av资源在线| 免费看日本二区| 欧美+亚洲+日韩+国产| 久久性视频一级片| 亚洲最大成人中文| 少妇的逼好多水| 国产成人啪精品午夜网站| 99视频精品全部免费 在线| 51午夜福利影视在线观看| 亚洲中文日韩欧美视频| 美女黄网站色视频| 特大巨黑吊av在线直播| 嫩草影视91久久| 国产精华一区二区三区| 熟妇人妻久久中文字幕3abv| 国产精品一区二区三区四区久久| 色av中文字幕| 伊人久久大香线蕉亚洲五| 在线观看午夜福利视频| 内射极品少妇av片p| 色吧在线观看| 色综合欧美亚洲国产小说| 久久久久亚洲av毛片大全| a在线观看视频网站| 欧美绝顶高潮抽搐喷水| 99精品欧美一区二区三区四区| 一卡2卡三卡四卡精品乱码亚洲| 婷婷精品国产亚洲av在线| 国产亚洲精品久久久com| 成年版毛片免费区| 叶爱在线成人免费视频播放| 亚洲欧美日韩高清在线视频| 国产伦精品一区二区三区视频9 | 国产成人aa在线观看| 国内精品美女久久久久久| 免费看十八禁软件| 精品一区二区三区人妻视频| 老司机午夜十八禁免费视频| 日韩欧美精品v在线| 亚洲国产中文字幕在线视频| 亚洲成人中文字幕在线播放| 久久久久九九精品影院| 国产一区二区三区视频了| 黄色片一级片一级黄色片| 三级国产精品欧美在线观看| 精品免费久久久久久久清纯| 91在线观看av| 狠狠狠狠99中文字幕| 欧美最新免费一区二区三区 | 国产成人福利小说| 国产亚洲精品av在线| 搡老妇女老女人老熟妇| 国产黄片美女视频| 免费人成视频x8x8入口观看| 欧美日韩综合久久久久久 | 成年女人看的毛片在线观看| 亚洲av免费高清在线观看| 日韩欧美 国产精品| av片东京热男人的天堂| 国产一区二区在线观看日韩 | 亚洲中文日韩欧美视频| 日韩免费av在线播放| 12—13女人毛片做爰片一| 最近视频中文字幕2019在线8| 亚洲欧美日韩高清在线视频| 国产主播在线观看一区二区| 亚洲中文字幕一区二区三区有码在线看| 91久久精品国产一区二区成人 | 麻豆成人av在线观看| 久久性视频一级片| 老熟妇仑乱视频hdxx| 国产麻豆成人av免费视频| 亚洲精品一区av在线观看| 亚洲精品456在线播放app | 国产成人av激情在线播放| 麻豆国产97在线/欧美| 一级毛片高清免费大全| 天天添夜夜摸| 亚洲欧美日韩东京热| 一区二区三区免费毛片| 精品国产超薄肉色丝袜足j| 99精品久久久久人妻精品| 此物有八面人人有两片| 欧美中文日本在线观看视频| 丁香欧美五月| 久久伊人香网站| 精品乱码久久久久久99久播| 少妇的逼水好多| 性色avwww在线观看| 欧美av亚洲av综合av国产av| 人妻丰满熟妇av一区二区三区| 亚洲aⅴ乱码一区二区在线播放| 每晚都被弄得嗷嗷叫到高潮| 成熟少妇高潮喷水视频| 国产精品日韩av在线免费观看| 一级黄色大片毛片| 女人被狂操c到高潮| 国产av不卡久久| 免费av不卡在线播放| 桃红色精品国产亚洲av| 丰满乱子伦码专区| 老司机深夜福利视频在线观看| 精品国产亚洲在线| 一区二区三区免费毛片| h日本视频在线播放| 18禁在线播放成人免费| 亚洲一区二区三区不卡视频| 在线观看美女被高潮喷水网站 | 亚洲18禁久久av| 校园春色视频在线观看| avwww免费| 午夜精品一区二区三区免费看| 婷婷六月久久综合丁香| av片东京热男人的天堂| 欧美在线黄色| 黄色片一级片一级黄色片| 悠悠久久av| 国产精品美女特级片免费视频播放器| 国产av在哪里看| 亚洲久久久久久中文字幕| 久久中文看片网| 精品国内亚洲2022精品成人| 欧美一区二区国产精品久久精品| 免费看光身美女|