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

    SM4國密算法的異構(gòu)可重構(gòu)計(jì)算系統(tǒng)研究

    2023-10-18 23:14:21王騰騰柴志雷
    關(guān)鍵詞:現(xiàn)場(chǎng)可編程門陣列

    王騰騰 柴志雷

    摘 要:隨著互聯(lián)網(wǎng)的數(shù)據(jù)量呈爆炸式增長,以純軟件方式運(yùn)行的SM4算法速度慢、CPU占用率高,而基于Verilog/VHDL實(shí)現(xiàn)的現(xiàn)場(chǎng)可編程門陣列或?qū)S眉呻娐反嬖陟`活性差、升級(jí)維護(hù)困難等問題。為了解決上述問題,提出了一種SM4國密算法的異構(gòu)可重構(gòu)計(jì)算系統(tǒng)的設(shè)計(jì)方案,采用高層次綜合和異構(gòu)可重構(gòu)技術(shù),通過優(yōu)化數(shù)據(jù)內(nèi)存分配與傳輸、優(yōu)化循環(huán)、矢量化內(nèi)核以及增加計(jì)算單元等方式,設(shè)計(jì)了SM4算法電子密碼本模式和計(jì)數(shù)器模式的定制計(jì)算架構(gòu),并將該系統(tǒng)部署在FPGA異構(gòu)平臺(tái)。實(shí)驗(yàn)結(jié)果表明:SM4-ECB和SM4-CTR兩種主流工作模式的定制計(jì)算架構(gòu)在Intel Stratix 10 GX2800上,吞吐率分別達(dá)到109.48 Gbps和63.73 Gbps,是Intel Xeon E5-2650 V2 CPU上對(duì)應(yīng)模式吞吐率的232.63倍和141.62倍。以此核心模塊(包含數(shù)據(jù)輸入、加解密、輸出)的整體異構(gòu)可重構(gòu)計(jì)算系統(tǒng)的性能也分別達(dá)到了純軟件方式的4.90倍和3.56倍。該方案不僅實(shí)現(xiàn)了針對(duì)特定模式進(jìn)行定制加速,而且可以通過硬件重構(gòu)靈活支持不同的計(jì)算模式,兼顧了系統(tǒng)的靈活性和高效性。

    關(guān)鍵詞:SM4;異構(gòu)可重構(gòu);現(xiàn)場(chǎng)可編程門陣列;國密算法;硬件加速

    中圖分類號(hào):TP309?? 文獻(xiàn)標(biāo)志碼:A

    文章編號(hào):1001-3695(2023)09-042-2826-06

    doi:10.19734/j.issn.1001-3695.2022.12.0832

    Research on heterogeneous reconfigurable computing system of SM4 national security algorithm

    Wang Tengteng1,Chai Zhilei1,2

    (1.School of Artificial Intelligence & Computer Science,Jiangnan University,Wuxi Jiangsu 214122,China;2.Jiangsu Provincial Enginee-ring Laboratory of Pattern Recognition & Computational Intelligence,Wuxi Jiangsu 214122,China)

    Abstract:With the explosive growth of the data volume of the Internet,there are problems such as the slow speed and high CPU utilization of the SM4 algorithm running in pure software mode.While the field programmable gate array or dedicated integrated circuit based on Verilog/VHDL has problems such as poor flexibility and difficulty in upgrading and maintenance.In order to solve the above problems,this paper proposed a design scheme of heterogeneous reconfigurable computing system based on SM4 algorithm.Using high-level synthesis and heterogeneous reconfigurable technology,

    it designed the customized computing architecture of SM4 algorithms electronic cipher book mode and counter mode by optimizing the allocation and transmission of data memory,optimizing the loop,vectorizing the kernel and adding computing units.And the system was deployed on the FPGA heterogeneous platform.The experimental results show that the customized computing architecture of SM4-ECB and SM4-CTR,two mainstream operating modes,on the Intel Stratix 10 GX2800,has a throughput of 109.48 Gbps and 63.73 Gbps respectively,which is 232.63 times and 141.62 times throughput of the corresponding mode on the Intel Xeon E5-2650 V2 CPU.The performance of the whole heterogeneous reconfigurable computing system composed of this core module,including data input,encryption and decryption,and output,has also reached 4.90 times and 3.56 times of that of pure software mode.This paper not only realizes customized acceleration for specific modes,but also flexibly supports different computing modes through hardware reconfiguration,taking into account the flexibility and efficiency of the system.

    Key words:SM4;heterogeneous reconfigurable;FPGA;secret algorithm;hardware speedup

    0 引言

    SM4算法是我國國家密碼管理局發(fā)布的無線局域網(wǎng)標(biāo)準(zhǔn)的分組對(duì)稱密碼算法,是我國密碼行業(yè)標(biāo)準(zhǔn)算法之一[1,2]。SM4算法主要承擔(dān)安全通信過程中的加密和解密任務(wù),隨著大數(shù)據(jù)時(shí)代的來臨以及無線局域網(wǎng)的廣泛普及,其傳輸信息的安全性面臨著巨大挑戰(zhàn)[3],同時(shí)對(duì)數(shù)據(jù)傳輸速度提出了更高的要求。單一的加密模式以及使用純軟件運(yùn)行SM4算法的方式已無法滿足現(xiàn)今海量敏感數(shù)據(jù)傳輸過程中安全性和高效性的需求[4]。

    目前,為了滿足數(shù)據(jù)高效傳輸?shù)膽?yīng)用場(chǎng)景,許多國內(nèi)外學(xué)者已經(jīng)在各種平臺(tái)上實(shí)現(xiàn)該算法并取得了很多優(yōu)秀成果。2017年,Cheng等人[5]設(shè)計(jì)的CPU-GPU模式的硬件加速架構(gòu),其中針對(duì)SM4算法并行優(yōu)化,使其ECB(electronic code book)模式吞吐率提高到76.89 Gbps,其CTR(counter)模式吞吐率達(dá)到32.23 Gbps。

    雖然此硬件架構(gòu)使其吞吐率得到了極大提升,但是該工作存在耗能高、靈活性差的問題。因此,Guan等人[6]在2018年提出了多種基于FPGA的硬件設(shè)計(jì),探索面積和速度之間的權(quán)衡,速度第一的設(shè)計(jì)通過結(jié)合狀態(tài)機(jī)和32級(jí)流水線設(shè)計(jì),其吞吐率達(dá)到了27.15 Gbps。2019年,劉金峒等人[7]設(shè)計(jì)了循環(huán)迭代結(jié)構(gòu)和全并行流水結(jié)構(gòu),并提出了一種部分并行可裁剪式結(jié)構(gòu),在FPGA實(shí)現(xiàn)后,全并行流水結(jié)構(gòu)吞吐率為12.89 Gbps,部分可裁剪式結(jié)構(gòu)吞吐率則為3.2 Gbps。2022年,李建立等人[8]對(duì)SM4算法提出了一種基于復(fù)合域S盒的二次流水全展開硬件架構(gòu),SM4吞吐率最高達(dá)53.76 Gbps。上述基于FPGA的工作均采用傳統(tǒng)的硬件描述語言Verilog/VHDL實(shí)現(xiàn),雖然提供了更精確的時(shí)序設(shè)計(jì)并且降低了功耗,但是開發(fā)周期長且維護(hù)困難。其中多數(shù)工作僅實(shí)現(xiàn)了一種模式,缺乏靈活性,無法滿足不同應(yīng)用場(chǎng)景的安全需求。

    綜上所述,針對(duì)SM4算法兼具高效性和靈活性的計(jì)算方法和系統(tǒng)的研究,具有重要意義,并且隨著大數(shù)據(jù)時(shí)代各種應(yīng)用場(chǎng)景的增多,這一需求變得更加迫切。SM4算法的ECB和CTR模式具有簡(jiǎn)單、快速、并行性高的特點(diǎn),可以滿足目前人們對(duì)高吞吐率和不同應(yīng)用場(chǎng)景的需求。本文針對(duì)SM4算法提出的異構(gòu)可重構(gòu)方法可以將SM4算法的ECB和CTR模式融合在一起,利用FPGA的可重構(gòu)特性配置控制模塊,按需加載不同的模式,以滿足不同的安全需求。同時(shí)利用高層次描述語言O(shè)penCL設(shè)計(jì)了兩種模式的定制計(jì)算架構(gòu),通過流水線架構(gòu)結(jié)合OpenCL中Kernel執(zhí)行特點(diǎn),提出了新的SM4算法兩種模式的硬件加速優(yōu)化思路,相較于傳統(tǒng)Verilog/VHDL開發(fā)方式,縮短了開發(fā)周期、有利于更新和維護(hù),且性能表現(xiàn)更佳。因此,本文設(shè)計(jì)的SM4算法的異構(gòu)可重構(gòu)計(jì)算系統(tǒng),不僅利用FPGA提高了計(jì)算的高效性,還實(shí)現(xiàn)了主機(jī)端對(duì)兩種加密模式的在線動(dòng)態(tài)重構(gòu),使得該系統(tǒng)兼顧靈活性和高效性。

    本文通過OpenCL設(shè)計(jì)的SM4算法的異構(gòu)可重構(gòu)計(jì)算系統(tǒng),包含SM4算法的ECB和CTR兩種加密模式的定制硬件加速框架,通過在Intel Stratix 10 GX 2800上硬件重構(gòu)實(shí)現(xiàn)了SM4算法兩種加密模式的切換。最終系統(tǒng)中ECB和CTR模式的整體加速效果與純軟件方式相比,分別獲得了4.897和3.561的加速比,核心模塊在FPGA片上的吞吐率分別達(dá)到了108.43 Gbps、63.73 Gbps。

    1 SM4算法

    SM4是我國自主設(shè)計(jì)的分組對(duì)稱密碼算法,其分組長度為128 bit,密鑰長度也為128 bit。加密算法與密鑰擴(kuò)展算法均采用32輪非線性迭代結(jié)構(gòu),以字(32 bit)為單位進(jìn)行加密運(yùn)算,每一次迭代運(yùn)算均為一輪變換函數(shù)F。SM4算法加/解密算法的結(jié)構(gòu)相同,不同的是使用輪密鑰相反,其中解密輪密鑰是加密輪密鑰的逆序。

    1.1 SM4密鑰擴(kuò)展算法

    將128 bit的初始密鑰MK=(MK0,MK1,MK2,MK3)的每個(gè)字分別與128 bit的系統(tǒng)參數(shù)FK=(FK0,F(xiàn)K1,F(xiàn)K2,F(xiàn)K3)的每個(gè)字進(jìn)行異或運(yùn)算得到四個(gè)字(K0,K1,K2,K3),如式(1)所示。再把后三個(gè)字與固定參數(shù)CK0做異或運(yùn)算后進(jìn)行函數(shù)T′運(yùn)算獲得的結(jié)果C與K0做異或運(yùn)算,就得到了第一輪的子密鑰rk0,也是下一個(gè)密鑰運(yùn)算的K4,如式(2)所示。

    1.3 SM4算法性能瓶頸分析

    由于輪函數(shù)F需要做32輪迭代,其迭代部分包括異或操作、S盒變換、比特位左移、反序變換等操作,其執(zhí)行效率是影響SM4算法性能的關(guān)鍵因素。所以,將SM4算法的輪函數(shù)F進(jìn)行優(yōu)化設(shè)計(jì)并運(yùn)行在適合做大量數(shù)據(jù)并行運(yùn)算的FPGA端,能夠有效提高其運(yùn)行速率、降低運(yùn)行時(shí)間,從而大幅度提升SM4算法整體運(yùn)行效率。將CTR模式中的算子自增計(jì)算利用FPGA提前計(jì)算,能夠解決因?yàn)槊恳惠嗊M(jìn)行一次算子自增計(jì)算的數(shù)據(jù)依賴和計(jì)算延遲問題,進(jìn)而提高算法整體運(yùn)行效率。

    在本文實(shí)驗(yàn)中,因?yàn)槊總€(gè)明文塊使用的密鑰相同,所以只需要將密鑰擴(kuò)展算法計(jì)算一次且計(jì)算量不大。將所有傳入的明文塊補(bǔ)充到16 Byte整數(shù)倍,其計(jì)算量也很小。因此,將密鑰擴(kuò)展算法和補(bǔ)充明文塊的運(yùn)算利用CPU運(yùn)行,能夠節(jié)省FPGA資源,最大程度利用FPGA加速性能。

    2 基于OpenCL的異構(gòu)可重構(gòu)系統(tǒng)

    2.1 異構(gòu)平臺(tái)編程框架OpenCL

    開放設(shè)計(jì)語言(open computing language,OpenCL)[9,10]是一個(gè)靈活的異構(gòu)平臺(tái)的編程框架,具有強(qiáng)大的兼容性,可以將不同類型的硬件結(jié)合在同種執(zhí)行環(huán)境中,支持各種異構(gòu)平臺(tái)(CPU、DPU、GPU、FPGA等)。同時(shí),開發(fā)者可以使用高級(jí)語言對(duì)FPGA進(jìn)行編程,不僅能夠?qū)崿F(xiàn)硬件可重構(gòu)系統(tǒng),同時(shí)可以降低開發(fā)門檻,縮短開發(fā)周期。

    近年來,異構(gòu)計(jì)算已經(jīng)成為高性能計(jì)算的主流解決方案,CPU+GPU異構(gòu)計(jì)算模式已經(jīng)得到廣泛的應(yīng)用。自從2011年Altera公司發(fā)布支持OpenCL來開發(fā)FPGA的SDK以后,CPU+FPGA的異構(gòu)架構(gòu)也成為一種具有競(jìng)爭(zhēng)力的高性能計(jì)算方案。OpenCL是第一個(gè)面向異構(gòu)系統(tǒng)的并行編程的開放式標(biāo)準(zhǔn)語言,CPU端采用標(biāo)準(zhǔn)C/C++編寫,設(shè)備端采用標(biāo)準(zhǔn)C編寫Kernels,CPU可以通過OpenCL API來調(diào)用設(shè)備運(yùn)行。利用OpenCL在更高層的設(shè)計(jì)抽象環(huán)境中迅速進(jìn)行設(shè)計(jì)開發(fā),跳過耗時(shí)的手動(dòng)時(shí)序收斂及FPGA、CPU和外部存儲(chǔ)之間的通信接口設(shè)計(jì)工作。在基于OpenCL的CPU+FPGA的異構(gòu)設(shè)計(jì)中,將CPU不擅長的計(jì)算密集型任務(wù)使用FPGA處理,利用FPGA大量的計(jì)算資源和并行性提高計(jì)算速度,不僅解放了CPU,還充分利用了FPGA的計(jì)算能力,最大程度提高設(shè)備端的吞吐率。

    本文所使用的是Intel Stratix 10 FPGA和面向 OpenCL 的英特爾 FPGA SDK。Intel FPGA SDK通過離線編譯器編譯Kernel創(chuàng)建優(yōu)化硬件鏡像,編譯器將Kernel轉(zhuǎn)換為Verilog形式后,通過Quartus Ⅱ軟件編譯為二進(jìn)制鏡像,運(yùn)行程序時(shí),將該鏡像加載到FPGA,構(gòu)建硬件加速系統(tǒng)。Intel FPGA SDK還支持在CPU端仿真FPGA特性,在FPGA構(gòu)建前可驗(yàn)證設(shè)計(jì)性能,能夠縮短檢驗(yàn)設(shè)計(jì)正確性的時(shí)間。

    2.2 異構(gòu)可重構(gòu)計(jì)算系統(tǒng)

    2.2.1 異構(gòu)計(jì)算系統(tǒng)總體架構(gòu)

    本文異構(gòu)系統(tǒng)的總體架構(gòu)是CPU+FPGA。其中主機(jī)端CPU是用于對(duì)主機(jī)端與外部環(huán)境和設(shè)備端數(shù)據(jù)交互的控制以及對(duì)Kernel的調(diào)度和管理,具有強(qiáng)大并行計(jì)算能力的設(shè)備端FPGA用于完成SM4算法的主要計(jì)算任務(wù)。如圖3所示,CPU和FPGA通過PCIe連接。在FPGA中,處理元素是一個(gè)工作項(xiàng)的處理單元,一個(gè)處理單元完成一個(gè)SM4明文塊的加密計(jì)算,其私有存儲(chǔ)器用來儲(chǔ)存運(yùn)算中間產(chǎn)生的數(shù)據(jù)。由于全局存儲(chǔ)器的最大帶寬遠(yuǎn)小于局部存儲(chǔ)器的最大帶寬,F(xiàn)PGA的計(jì)算帶寬遠(yuǎn)大于全局存儲(chǔ)器的最大帶寬。因此,通過調(diào)整數(shù)據(jù)的存儲(chǔ)位置、優(yōu)化數(shù)據(jù)傳輸,減少對(duì)全局存儲(chǔ)器的訪問次數(shù),并且使用局部存儲(chǔ)器和私有存儲(chǔ)器等片上存儲(chǔ)器執(zhí)行內(nèi)核計(jì)算,增加內(nèi)核的內(nèi)存帶寬,極大提高內(nèi)核的性能。對(duì)SM4算法加密模塊,通過循環(huán)展開、循環(huán)流水的方式,充分利用FPGA的計(jì)算特點(diǎn),形成流水線并行架構(gòu)。將內(nèi)核矢量化和增加計(jì)算單元結(jié)合使用,工作項(xiàng)可以同時(shí)訪問和存取更多的數(shù)據(jù),增加的計(jì)算單元可以計(jì)算更多的數(shù)據(jù),使得FPGA的吞吐率得到了極大提高。

    2.2.2 可重構(gòu)設(shè)計(jì)

    圖4是基于Intel FPGA的可重構(gòu)框架,其中兩個(gè)主要部分為CPU和Intel FPGA,并通過PCIe總線通信。CPU管理相關(guān)事務(wù)、控制FPGA加速單元并處理簡(jiǎn)單的串行任務(wù),F(xiàn)PGA具有硬件可重構(gòu)能力和強(qiáng)大的并行計(jì)算能力,因此使用FPGA實(shí)現(xiàn)不同應(yīng)用需求在線動(dòng)態(tài)重構(gòu)硬件模塊或靜態(tài)重構(gòu)硬件模塊并完成計(jì)算密集型任務(wù)。FPGA分為靜態(tài)配置區(qū)與動(dòng)態(tài)可重構(gòu)區(qū)。靜態(tài)配置區(qū)中有PCIe、DMA控制器等主要模塊,靜態(tài)配置區(qū)的主要作用是向FPGA外部的PCIe、DDR等提供通信接口,同時(shí)也向動(dòng)態(tài)可重構(gòu)區(qū)域的Kernel IP提供接口。靜態(tài)配置區(qū)通過主動(dòng)配置方式AS配置模式進(jìn)行配置,F(xiàn)PGA上電后自動(dòng)配置,配置完成后FPGA可以接收CPU發(fā)送來的指令,動(dòng)態(tài)可重構(gòu)區(qū)通過指令部署指定的模式SM4的Kernel IP并執(zhí)行計(jì)算任務(wù),Kernel IP是SM4算法的具體實(shí)現(xiàn)。當(dāng)改變SM4算法的模式時(shí),CPU通過PCIe下發(fā)新的Kernel IP,重新配置動(dòng)態(tài)可重構(gòu)區(qū),這個(gè)過程不需要重啟FPGA,整個(gè)重新配置過程耗時(shí)僅為毫秒級(jí),完全實(shí)現(xiàn)了SM4算法多種模式的在線重構(gòu)。

    由于Kernel函數(shù)的編譯時(shí)間過長,所以將Kernel函數(shù)進(jìn)行離線編譯,事先生成可執(zhí)行文件。main函數(shù)的編譯、運(yùn)行以及對(duì)FPGA進(jìn)行管理控制等由CPU完成,main函數(shù)的編譯和運(yùn)行需要OpenCL運(yùn)行支持庫支持。當(dāng)應(yīng)用場(chǎng)景改變,需要對(duì)FPGA進(jìn)行動(dòng)態(tài)可重構(gòu)配置,CPU會(huì)將事先準(zhǔn)備好的FPGA可執(zhí)行文件通過PCIe總線傳輸給FPGA,以實(shí)現(xiàn)在線可重構(gòu)功能[11]。

    在實(shí)際的應(yīng)用場(chǎng)景中,對(duì)于不同的應(yīng)用場(chǎng)景有著不同的安全要求和加/解密速度要求,同一個(gè)應(yīng)用場(chǎng)景下一般對(duì)應(yīng)一種安全需求和吞吐率要求,因此一般應(yīng)用場(chǎng)景不需要運(yùn)行時(shí)動(dòng)態(tài)重構(gòu)。靜態(tài)可重構(gòu)和動(dòng)態(tài)可重構(gòu)結(jié)合使用可以使整個(gè)系統(tǒng)更具靈活性。

    3 SM4異構(gòu)可重構(gòu)計(jì)算系統(tǒng)實(shí)現(xiàn)

    3.1 主機(jī)端的程序與設(shè)計(jì)

    對(duì)于OpenCL的主機(jī)端程序設(shè)計(jì)有一個(gè)相對(duì)固定的流程,主要步驟是利用Intel FPGA SDK提供的API來獲取平臺(tái)和設(shè)備、創(chuàng)建上下文以及命令隊(duì)列,最后等到內(nèi)核程序運(yùn)行結(jié)束讀取到內(nèi)核運(yùn)行結(jié)果后釋放內(nèi)存資源。圖5便是主機(jī)端程序執(zhí)行流程。除此之外,根據(jù)SM4算法原理,將計(jì)算量小和不利于并行計(jì)算的部分放在主機(jī)端運(yùn)行,主要包括優(yōu)化內(nèi)存分配與創(chuàng)建、密鑰和自增算子等數(shù)據(jù)的創(chuàng)建和初始化以及內(nèi)核參數(shù)設(shè)定等。同時(shí),CPU負(fù)責(zé)整個(gè)系統(tǒng)的調(diào)度和管理。

    3.2 FPGA端硬件設(shè)計(jì)

    3.2.1 優(yōu)化數(shù)據(jù)內(nèi)存分配與傳輸

    OpenCL將內(nèi)存抽象為五種類型的存儲(chǔ)器[12],分別為主機(jī)存儲(chǔ)器、全局存儲(chǔ)器、常量存儲(chǔ)器、局部?jī)?nèi)存以及私有存儲(chǔ)器。如表1所示,各個(gè)存儲(chǔ)器所在的位置不同,其吞吐率、容量和延遲都存在一定的差異,將數(shù)據(jù)存儲(chǔ)在合適的位置能有效提高硬件架構(gòu)的吞吐率。將存儲(chǔ)器帶寬的利用率提高,可以優(yōu)化整體架構(gòu)性能。全局存儲(chǔ)器是容量最大以及傳輸數(shù)據(jù)時(shí)吞吐率最大的存儲(chǔ)器。將主機(jī)端傳輸?shù)紽PGA端的明文、密鑰等大量數(shù)據(jù)存儲(chǔ)在全局存儲(chǔ)器中,提高存儲(chǔ)器帶寬的利用率,從而提升整體性能。將加/解密模塊運(yùn)行時(shí)不變的系統(tǒng)參數(shù)FK、固定參數(shù)CK以及加/解密過程中訪問頻繁的S盒存放于常量存儲(chǔ)器,能提升訪問速度,避免訪存沖突。與私有存儲(chǔ)器相比,局部存儲(chǔ)器為了保證數(shù)據(jù)一致性在同組工作項(xiàng)執(zhí)行之后,會(huì)使用保護(hù)屏障導(dǎo)致延遲時(shí)間增加。因此,雖然在延時(shí)相當(dāng)時(shí),局部存儲(chǔ)器的吞吐率更大且具有更大容量,但是仍然選擇將SM4算法加/解密過程中參與運(yùn)算的變量存儲(chǔ)在私有內(nèi)存中,此時(shí)延時(shí)更短、吞吐率也相對(duì)更高。

    在本文設(shè)計(jì)中,CPU控制明文從全局存儲(chǔ)器傳輸?shù)狡暇彺妫用芎蟮玫矫芪?,最后將密文從片上緩存?zhèn)鬏敾厝执鎯?chǔ)器,需要兩次數(shù)據(jù)傳輸。將一個(gè)工作項(xiàng)處理的數(shù)據(jù)位寬固定為和SM4明文長度相同的128 bit,也就是16 Byte,可以避免編譯器為了調(diào)整數(shù)據(jù)長度而消耗資源,也可以減少優(yōu)化程序的限制。

    3.2.2 優(yōu)化循環(huán)結(jié)構(gòu)

    Intel FPGA SDK通過循環(huán)展開形成并行計(jì)算和流水線架構(gòu)。對(duì)于不存在數(shù)據(jù)依賴的循環(huán)可以將其完全展開形成并行計(jì)算。如SM4算法中ECB和CTR模式都存在的3次循環(huán),輪密鑰由CPU傳輸?shù)紽PGA的32次循環(huán)、初始化數(shù)組的36次循環(huán)、密文由FPGA傳輸給CPU的16次循環(huán),以及只存在CTR模式中的2次循環(huán),自增算子和明文由CPU傳輸?shù)紽PGA的16次循環(huán)和自增算子加密結(jié)果和明文異或的16次循環(huán),上述循環(huán)均不存在數(shù)據(jù)依賴,可以將循環(huán)完全展開,形成并行計(jì)算,其架構(gòu)如圖6(b)所示。假設(shè)數(shù)據(jù)讀取、數(shù)據(jù)處理和數(shù)據(jù)存儲(chǔ)中的每一步操作都只需要1個(gè)cycle,在沒有展開循環(huán)前內(nèi)核在下次計(jì)算前延遲了3個(gè)cycle,而將循環(huán)展開后,則實(shí)現(xiàn)了并行計(jì)算。針對(duì)32輪非線性迭代,通過循環(huán)展開在加載內(nèi)存數(shù)據(jù)模塊和存儲(chǔ)內(nèi)存數(shù)據(jù)模塊形成內(nèi)存合并,將32輪加載內(nèi)存數(shù)據(jù)和存儲(chǔ)內(nèi)存數(shù)據(jù)的操作降低為位寬更寬的數(shù)據(jù)加載操作和存儲(chǔ)操作;在迭代計(jì)算模塊,針對(duì)32輪迭代的S盒置換和左移等操作進(jìn)行循環(huán)展開,通過指導(dǎo)編譯器生成單次迭代所需的硬件架構(gòu)形成有效流水,減少了迭代計(jì)算所需要的時(shí)間。其架構(gòu)如圖6(c)所示,假設(shè)數(shù)據(jù)讀取、數(shù)據(jù)處理和數(shù)據(jù)存儲(chǔ)中的每一步操作都只需要一個(gè)cycle,在沒有形成流水線時(shí),兩次load操作間的延遲為3個(gè)cycle,而使用了流水線設(shè)計(jì)后,只有一個(gè)cycle的延遲。

    表2是加密256 MB數(shù)據(jù)時(shí)SM4加密算法的ECB和CTR模式下32輪非線性迭代形成流水線架構(gòu)時(shí)不同程度展開其他循環(huán)形成并行計(jì)算的優(yōu)化效果對(duì)比。根據(jù)實(shí)驗(yàn)結(jié)果可知,循環(huán)展開越多,優(yōu)化獲得的效果越好。優(yōu)化循環(huán)結(jié)構(gòu)可以在很大程度上縮短SM4算法兩種加密模式的加密時(shí)間。

    3.2.3 矢量化內(nèi)核和增加計(jì)算單元

    單個(gè)指令處理多個(gè)數(shù)據(jù)稱為SIMD(single-instruction multiple-data),利用該技術(shù)可以大大提高計(jì)算密集型算法的吞吐量。矢量化內(nèi)核就是讓多個(gè)工作項(xiàng)以單指令多數(shù)據(jù)的方式來進(jìn)行SM4算法的運(yùn)行。在SIMD方式下工作的工作項(xiàng)可以同時(shí)訪存并處理多個(gè)數(shù)據(jù)。如圖7所示,矢量化內(nèi)核之后,編譯器會(huì)合并內(nèi)存訪問,訪問和存儲(chǔ)的數(shù)據(jù)會(huì)是之前的數(shù)倍。矢量化內(nèi)核時(shí)需要將工作組的大小固定為矢量化內(nèi)核參數(shù)的整數(shù)倍。

    選取本文對(duì)256 MB數(shù)據(jù)加密時(shí)設(shè)置不同矢量化內(nèi)核和計(jì)算單元得到的吞吐率進(jìn)行比較。由表3可知,在ECB模式下,計(jì)算單元相同,矢量化內(nèi)核參數(shù)設(shè)置為4時(shí)與設(shè)置為1時(shí)相比,加密時(shí)間顯著減少,繼續(xù)將參數(shù)增大至8,仍舊有明顯加速效果。CTR模式實(shí)驗(yàn)數(shù)據(jù)也有同樣規(guī)律。實(shí)驗(yàn)結(jié)果表明,矢量化內(nèi)核對(duì)于提高吞吐率可行且效果顯著。

    Intel FPGA SDK通過設(shè)置參數(shù)可以為內(nèi)核增加多個(gè)計(jì)算單元,一個(gè)計(jì)算單元可以運(yùn)行多個(gè)工作組,Intel FPGA可以將工作組分配到已經(jīng)設(shè)置的且未使用的計(jì)算單元。計(jì)算單元的增加增強(qiáng)了片上計(jì)算能力,進(jìn)而提高片上吞吐率。表4為系統(tǒng)對(duì)128 MB數(shù)據(jù)加密的實(shí)驗(yàn)數(shù)據(jù),在兩種加密模式下,矢量化內(nèi)核參數(shù)都設(shè)為8時(shí),計(jì)算單元由1個(gè)增加到2個(gè),計(jì)算時(shí)間明顯縮短,吞吐率顯著提高。實(shí)驗(yàn)表明,增加計(jì)算單元對(duì)于提高吞吐率有顯著效果。

    4 實(shí)驗(yàn)結(jié)果與分析

    4.1 實(shí)驗(yàn)環(huán)境

    本實(shí)驗(yàn)所采用的實(shí)驗(yàn)環(huán)境為搭載Intel Xeon E5-2650 V2版本CPU的服務(wù)器,其操作系統(tǒng)為CentOS Linux Release 7.7.1908,其中使用的GCC版本為V4.8.5,支持OpenCL的SDK版本為Intel FPGA SDK for OpenCL 19.3,F(xiàn)PGA則是Intel Stratix 10 GX2800[13],該卡包含1 866 240個(gè)ALUT、3 732 480個(gè)FF、11 721個(gè)RAM以及5 760個(gè)DSP。

    4.2 實(shí)驗(yàn)結(jié)果

    本文對(duì)不同的優(yōu)化方法進(jìn)行了設(shè)計(jì)并通過模擬和上板測(cè)試,對(duì)不同設(shè)計(jì)的性能進(jìn)行了測(cè)試。

    4.2.1 內(nèi)核定制計(jì)算性能

    對(duì)兩種模式的SM4算法,合理分配內(nèi)存、展開循環(huán)后,再通過設(shè)置不同的矢量化通道數(shù)量使單個(gè)工作組獲得多個(gè)矢量化通道,并且增加計(jì)算單元執(zhí)行多個(gè)工作組。

    表5為兩種SM4加密模式分別對(duì)256 MB數(shù)據(jù)加密的時(shí)間和資源的對(duì)比。在兩種模式中,同樣使用兩個(gè)計(jì)算單元,將矢量化內(nèi)核參數(shù)設(shè)置為8時(shí)和設(shè)置為4時(shí)相比,雖然使用了更多的資源,但是節(jié)省了程序運(yùn)行時(shí)間并且取得了更好的優(yōu)化效果。表中其他數(shù)據(jù)也同樣表明,在一定范圍內(nèi)使用更多的資源,可以縮短程序運(yùn)行時(shí)間、提高吞吐率。

    如表6所示,在使用CTR模式加密512 MB數(shù)據(jù)時(shí),在同一工作頻率下突發(fā)傳輸讀寫寬度相同且使用1個(gè)計(jì)算單元時(shí),內(nèi)存帶寬更高的矢量化4個(gè)通道設(shè)計(jì)卻比矢量化8個(gè)通道設(shè)計(jì)耗時(shí)更短、吞吐率更高。雖然增加了資源的使用,但是其帶寬的利用率下降,此時(shí)對(duì)全局內(nèi)存帶寬的爭(zhēng)用變得更加激烈,使得吞吐率下降。矢量化16通道并使用2個(gè)計(jì)算單元的設(shè)計(jì),在內(nèi)存帶寬低于其他設(shè)計(jì)方案時(shí),由于其突發(fā)傳輸讀寫寬度遠(yuǎn)大于其他設(shè)計(jì)方案,其吞吐率也是所有設(shè)計(jì)中最高的。由此可知,突發(fā)傳輸讀寫寬度也是影響吞吐率的重要因素。由表中可知,矢量化16個(gè)通道同時(shí)使用2個(gè)計(jì)算單元時(shí),其全局內(nèi)存帶寬最大,其吞吐率也是所有設(shè)計(jì)方案中最大的。與ECB模式中矢量化16個(gè)通道和使用2個(gè)計(jì)算單元的設(shè)計(jì)相比,ECB中內(nèi)存帶寬利用率比CTR模式的設(shè)計(jì)高了將近一倍,而ECB中的突發(fā)傳輸讀寫寬度也只是稍微低于CTR模式,因此,ECB模式的最高吞吐率是CTR模式的1.72倍左右。實(shí)驗(yàn)表明,內(nèi)存寬帶利用率以及突發(fā)傳輸讀寫寬度都是影響吞吐率的關(guān)鍵因素。

    本文為了測(cè)試不同方案下的最大吞吐率,對(duì)兩種模式的不同方案進(jìn)行了不同數(shù)據(jù)量的加密實(shí)驗(yàn)。圖8是ECB模式中矢量化16通道使用1個(gè)計(jì)算單元以及CTR模式中矢量化16通道使用2個(gè)計(jì)算單元時(shí)的不同數(shù)據(jù)量加密的吞吐率走勢(shì)圖。如圖中所示,在數(shù)據(jù)量為16 KB時(shí),沒有達(dá)到設(shè)備端的最佳性能,隨著數(shù)據(jù)量的增大,設(shè)備端的吞吐率也隨之快速增加,然后吞吐率趨于穩(wěn)定;數(shù)據(jù)量超過64 MB以后,ECB模式在設(shè)備端的最大吞吐率穩(wěn)定在109.49 Gbps上下,CTR模式在設(shè)備端的最大吞吐率穩(wěn)定在63.73 Gbps上下。

    本文使用OpenCL在更高層的設(shè)計(jì)抽象環(huán)境中進(jìn)行設(shè)計(jì)開發(fā),與表7中文獻(xiàn)[7,8,14]等使用Verilog HDL或VHDL語言進(jìn)行設(shè)計(jì)相比,在開發(fā)速度上有一定的優(yōu)勢(shì),并且加速性能也存在很大的優(yōu)越性。文獻(xiàn)[15]采用ASIC方案實(shí)現(xiàn)CTR模式的SM4算法,但是僅在Altera Cyclone V FPGA驗(yàn)證其設(shè)計(jì),實(shí)現(xiàn)了114.43 MHz下14.647 Gbps的吞吐率,以此預(yù)估其流片后CTR模式的吞吐率能輕松實(shí)現(xiàn)40 Gbps,甚至可能達(dá)到100 Gbps左右。與之相比在本文設(shè)計(jì)的系統(tǒng)中,CTR和ECB模式的吞吐率已經(jīng)達(dá)到63.73 Gbps和109.49 Gbps,不僅系統(tǒng)的靈活性更高、適應(yīng)場(chǎng)景更多,還能夠大大縮短開發(fā)時(shí)間以及開發(fā)成本,同時(shí)又保證了系統(tǒng)的高吞吐率??偟膩碚f,本文系統(tǒng)兼具高效率和靈活性,兩種可以切換的模式也能夠適應(yīng)更多的場(chǎng)景。

    與基于Intel Xeon E5-2650 V2 CPU平臺(tái)上OpenSSL庫中SM4國密算法的ECB和CTR模式在數(shù)據(jù)量為256 MB時(shí)其吞吐率分別為0.47 Gbps和0.45 Gbps相比,本文加速效果分別是其232.63倍和141.62倍。

    4.2.2 系統(tǒng)整體性能

    分別對(duì)SM4-ECB和SM4-CTR兩種加密模式的系統(tǒng)整體性能進(jìn)行測(cè)試,并將測(cè)試結(jié)果和OpenSSL標(biāo)準(zhǔn)加密庫源碼對(duì)相同數(shù)據(jù)加密進(jìn)行純軟件對(duì)比。表8是本文中SM4-ECB和SM4-CTR兩種模式對(duì)不同數(shù)據(jù)量加密系統(tǒng)整體耗時(shí),包含OpenCL初始化時(shí)間、CPU和FPGA間的數(shù)據(jù)傳輸時(shí)間以及Kernel運(yùn)行時(shí)間。根據(jù)實(shí)驗(yàn)數(shù)據(jù)分析,數(shù)據(jù)量小于8 MB時(shí),OpenCL的初始化和創(chuàng)建Kernel等啟動(dòng)流程所用時(shí)間在系統(tǒng)運(yùn)行的時(shí)間中占比較大,而隨著數(shù)據(jù)量增大,數(shù)據(jù)傳輸和Kernel計(jì)算所用的時(shí)間占比也逐漸增大。當(dāng)加密數(shù)據(jù)量增大到128 MB以及比其大時(shí),系統(tǒng)運(yùn)算效率也逐步增大。

    圖9是異構(gòu)系統(tǒng)和OpenSSL標(biāo)準(zhǔn)庫的純軟件系統(tǒng)的加密時(shí)間對(duì)比。圖9表明,在明文數(shù)據(jù)量較大時(shí),本文的異構(gòu)可重構(gòu)系統(tǒng)加密效率遠(yuǎn)大于純軟件加密,ECB和CTR模式的加速比最高分別為4.897和3.561。

    5 結(jié)束語

    本文針對(duì)國產(chǎn)加密算法SM4面向海量敏感數(shù)據(jù)交互時(shí)存在計(jì)算速度慢、CPU占用率和功耗過高以及使用傳統(tǒng)Verilog/VHDL語言進(jìn)行設(shè)計(jì)存在開發(fā)周期長、成本高、靈活性差等問題,設(shè)計(jì)并實(shí)現(xiàn)了一種SM4國密算法的異構(gòu)可重構(gòu)計(jì)算系統(tǒng)?;贠penCL對(duì)SM4國密算法ECB和CTR兩種模式分別進(jìn)行硬件加速設(shè)計(jì),同時(shí)基于可重構(gòu)實(shí)現(xiàn)了兩種模式加密模式的動(dòng)態(tài)和靜態(tài)切換。本文設(shè)計(jì)針對(duì)SM4算法的特點(diǎn),合理利用OpenCL的內(nèi)存模型優(yōu)化數(shù)據(jù)內(nèi)存分配與傳輸,通過循環(huán)展開的方式形成流水線架構(gòu),并將內(nèi)核矢量化同時(shí)增加計(jì)算單元來提高設(shè)備端的吞吐率。因此,本系統(tǒng)兼具高效率和靈活性,兩種模式的靈活切換也能夠適應(yīng)更多的場(chǎng)景。

    雖然本文達(dá)到了較好的效果,但是仍然存在優(yōu)化提升空間。增加計(jì)算單元時(shí)帶寬的爭(zhēng)奪變得更加激烈,同時(shí)伴隨工作組大小的變化,會(huì)影響到吞吐率的變化,對(duì)此本文設(shè)計(jì)中沒有過多深究。因此,將來可以將此作為一個(gè)優(yōu)化方向,達(dá)到更高的吞吐率,以適應(yīng)更多的應(yīng)用場(chǎng)景。

    參考文獻(xiàn):

    [1]國家密碼管理局.GM/T0002—2012,SM4 分組密碼算法[S].北京:中國標(biāo)準(zhǔn)出版社,2012.(State Cryptography Administration.GM/T0002—2012,SM4 block cipher algorithm[S].Beijing:Stan-dards Press of China,2012.)

    [2]呂述望,蘇波展,王鵬,等.SM4分組密碼算法綜述[J].信息安全研究,2016,2(11):995-1007.(Lyu Shuwang,Su Bozhan,Wang Peng,et al.Overview on SM4 algorithm[J].Journal of Information Security Research,2016,2(11):995-1007.)

    [3]楊伊,何德彪,文義紅,等.密鑰管理服務(wù)系統(tǒng)下的多方協(xié)同SM4加/解密方案[J].信息網(wǎng)絡(luò)安全,2021,21(8):17-25.(Yang Yi,He Debiao,Wen Yihong,et al.Multi-party collaborative SM4 encryption/decryption scheme in key management service[J].Netinfo Security,2021,21(8):17-25.)

    [4]郎歡,張蕾,吳文玲.SM4 的快速軟件實(shí)現(xiàn)技術(shù)[J].中國科學(xué)院大學(xué)學(xué)報(bào),2018,35(2):180-187.(Lang Huan,Zhang Lei,Wu Wenling.Fast software implementation of SM4[J].Journal of University of Chinese Academy of Sciences,2018,35(2):180-187.)

    [5]Cheng Wangzhao,Zheng Fangyu,Pan Wuqiong,et al.High-perfor-mance symmetric cryptography server with GPU acceleration[M]//Qing Sihan,Mitchell C,Chen Liqun,et al.Information and Communications Security.Cham:Springer International Publishing,2017:529-540.

    [6]Guan Zhenyu,Li Yunhao,Shang Tao,et al.Implementation of SM4 on FPGA:trade-off analysis between area and speed[C]//Proc of IEEE International Conference on Intelligence and Safety for Robotics.Piscataway,NJ:IEEE Press,2018:192-197.

    [7]劉金峒,梁科,王錦,等.SM4加密算法可裁剪式結(jié)構(gòu)設(shè)計(jì)與硬件實(shí)現(xiàn)[J].南開大學(xué)學(xué)報(bào):自然科學(xué)版,2019,52(4):41-45.(Liu Jintong,Liang Ke,Wang Jin,et al.Cuttable structure design and hardware implementation of SM4 encryption algorithm[J].Acta Scientiarum Naturalium Universitatis:NanKaiensis,2019,52(4):41-45.)

    [8]李建立,莫燕南,粟濤,等.基于國密算法SM2、SM3、SM4的高速混合加密系統(tǒng)硬件設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用研究,2022,39(9):2818-2825,2831.(Li Jianli,Mo Yannan,Su Tao,et al.Hardware design of high-speed hybrid encryption system based on SM2,SM3 and SM4 algorithm[J].Application Research of Computers,2022,39(9):2818-2825,2831.)

    [9]Jin Zheming,F(xiàn)inkel H.OpenCL kernel vectorization on the CPU,GPU,and FPGA:a case study with frequent pattern compression[C]//Proc of the 27th Annual International Symposium on Field-Programmable Custom Computing Machines.Piscataway,NJ:IEEE Press,2019:330.

    [10]Mahony A O,Zeidan G,Hanzon B,et al.A parallel and pipelined implementation of a pascal-simplex based two asset option pricer on FPGA using OpenCL[C]//Proc of IEEE Nordic Circuits and Systems Conference.Piscataway,NJ:IEEE Press,2020:1-6.

    [11]彭福來,于治樓,陳乃闊,等.面向國產(chǎn)CPU的可重構(gòu)計(jì)算系統(tǒng)設(shè)計(jì)及性能探究[J].計(jì)算機(jī)工程與應(yīng)用,2018,54(23):36-41.(Peng Fulai,Yu Zhilou,Chen Naikuo,et al.Reconfigurable computing system design and performance exploration towards to domestic CPU[J].Computer Engineering and Applications,2018,54(23):36-41.)

    [12]Intel Corpration.Intel FPGA SDK for OpenCLTM Pro edition:programming guide 19.3[EB/OL].(2019-10-30).https://www.intel.com/content/www/us/en/docs/programmable/683846/19-3/introduction.html.

    [13]Intel Corporation.IntelFPGA SDK for OpenCLTM:IntelStratix 10 GX FPGA development kit reference platform porting guide[EB/OL].(2022-03-28).https://www.intel.com/content/www/us/en/docs/programmable/683809/19-1/gx-fpga-development-kit-reference-platform-21662.html.

    [14]Martínez-Herrera A F,Mancillas-López C,Mex-Perera C,et al.GCM implementations of Camellia-128 and SMS4 by optimizing the polynomial multiplier[J].Microprocessors and Microsystems,2016,45:129-140.

    [15]王澤芳,唐中劍.SM4算法CTR模式的高吞吐率ASIC實(shí)現(xiàn)[J].電子器件,2019,42(1):173-177.(Wang Zefang,Tang Zhongjian.A high-throughput ASIC implementation of SM4 algorithm in CTR mode[J].Chinese Journal of Electron Devices,2019,42(1):173-177.)

    [16]何詩洋,李暉,李鳳華.SM4算法的FPGA優(yōu)化實(shí)現(xiàn)方法[J].西安電子科技大學(xué)學(xué)報(bào),2021,48(3):155-162.(He Shiyang,Li Hui,Li Fenghua.The FPGA optimization implementation method of SM4 algorithm[J].Journal of Xidian University,2021,48(3):155-162.)

    [17]李曉東,胡一鳴,池亞平,等.基于通用計(jì)算平臺(tái)SM4-CTR算法并行實(shí)現(xiàn)與優(yōu)化[J].密碼學(xué)報(bào),2022,9(4):663-676.(Li Xiao-dong,Hu Yiming,Chi Yaping,et al.Parallel implementation and optimization of SM4-CTR algorithm based on general computing platform[J].Journal of Cryptologic Research,2022,9(4):663-676.)

    [18]楊國強(qiáng),丁杭超,鄒靜,等.基于高性能密碼實(shí)現(xiàn)的大數(shù)據(jù)安全方案[J].計(jì)算機(jī)研究與發(fā)展,2019,56(10):2207-2215.(Yang Guoqiang,Ding Hangchao,Zou Jing,et al.A big data security scheme based on high performance cryptography[J].Computer Research and Development,2019,56(10):2207-2215.)

    收稿日期:2022-12-23;修回日期:2023-02-20? 基金項(xiàng)目:國家自然科學(xué)基金資助項(xiàng)目(61972180)

    作者簡(jiǎn)介:王騰騰(1993-),男,江蘇徐州人,碩士研究生,主要研究方向?yàn)橛?jì)算機(jī)體系結(jié)構(gòu);柴志雷(1975-),男(通信作者),山西人,教授,博士,主要研究方向?yàn)橛?jì)算機(jī)體系結(jié)構(gòu)(zlchai@jiangnan.edu.cn).

    猜你喜歡
    現(xiàn)場(chǎng)可編程門陣列
    基于機(jī)器人的溫室大棚環(huán)境智能監(jiān)控系統(tǒng)
    一種PCI接口AFDX端系統(tǒng)模塊的設(shè)計(jì)與實(shí)現(xiàn)
    D—BLAST基帶系統(tǒng)的FPGA實(shí)現(xiàn)研究
    雙目立體匹配算法的FPGA實(shí)現(xiàn)
    任務(wù)間通訊郵箱的硬件實(shí)現(xiàn)
    一種千兆以太網(wǎng)SerDes 接口與電接口的轉(zhuǎn)換方法
    卷積神經(jīng)網(wǎng)絡(luò)的FPGA并行結(jié)構(gòu)研究
    基于FPGA的遺傳算法在交通控制中的應(yīng)用
    基于FPGA的顏色識(shí)別觸摸屏系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
    基于FPGA的9/7小波變換算法實(shí)現(xiàn)
    黄色视频在线播放观看不卡| av视频免费观看在线观看| 久久久久国产网址| 两性夫妻黄色片 | 大片免费播放器 马上看| 国产精品一二三区在线看| 国产又爽黄色视频| 你懂的网址亚洲精品在线观看| 国产欧美日韩综合在线一区二区| 男女国产视频网站| 麻豆精品久久久久久蜜桃| 在线观看免费视频网站a站| 人人妻人人澡人人爽人人夜夜| 亚洲天堂av无毛| 国产高清国产精品国产三级| 色婷婷久久久亚洲欧美| 国产一区有黄有色的免费视频| 欧美最新免费一区二区三区| av免费在线看不卡| av不卡在线播放| av黄色大香蕉| 肉色欧美久久久久久久蜜桃| 欧美精品国产亚洲| 丝袜脚勾引网站| 精品亚洲成a人片在线观看| 女人久久www免费人成看片| 日本av免费视频播放| 中国国产av一级| 亚洲欧美一区二区三区国产| 亚洲人成网站在线观看播放| 日产精品乱码卡一卡2卡三| 免费av中文字幕在线| 女性被躁到高潮视频| 日本91视频免费播放| 波野结衣二区三区在线| 日本wwww免费看| 免费观看无遮挡的男女| av线在线观看网站| 精品熟女少妇av免费看| 久久久国产一区二区| 色婷婷久久久亚洲欧美| 热99久久久久精品小说推荐| 一区二区三区精品91| 久久久久久久大尺度免费视频| 宅男免费午夜| 成人黄色视频免费在线看| 欧美性感艳星| 老司机亚洲免费影院| 嫩草影院入口| 纵有疾风起免费观看全集完整版| 精品国产露脸久久av麻豆| 全区人妻精品视频| 色94色欧美一区二区| 国产一区二区激情短视频 | 咕卡用的链子| 一边摸一边做爽爽视频免费| 亚洲av综合色区一区| 在线观看免费高清a一片| 伦理电影大哥的女人| 国产免费现黄频在线看| 免费女性裸体啪啪无遮挡网站| 国产av精品麻豆| 久久精品人人爽人人爽视色| 日韩熟女老妇一区二区性免费视频| 视频在线观看一区二区三区| 精品一区二区三区四区五区乱码 | 女人久久www免费人成看片| 欧美日韩一区二区视频在线观看视频在线| 男女免费视频国产| 亚洲熟女精品中文字幕| 中文字幕最新亚洲高清| 色哟哟·www| 高清不卡的av网站| 校园人妻丝袜中文字幕| 美女国产高潮福利片在线看| 18禁动态无遮挡网站| 欧美老熟妇乱子伦牲交| 亚洲人成77777在线视频| 亚洲精品久久久久久婷婷小说| 777米奇影视久久| 婷婷色综合www| 亚洲美女搞黄在线观看| 熟女av电影| 精品人妻熟女毛片av久久网站| 寂寞人妻少妇视频99o| 一级毛片 在线播放| 王馨瑶露胸无遮挡在线观看| 成年av动漫网址| 免费大片黄手机在线观看| 欧美日韩视频精品一区| 9色porny在线观看| 黄网站色视频无遮挡免费观看| av视频免费观看在线观看| 91午夜精品亚洲一区二区三区| 国产亚洲午夜精品一区二区久久| 精品一区二区三区视频在线| 巨乳人妻的诱惑在线观看| 精品熟女少妇av免费看| 国产精品人妻久久久影院| 一级毛片我不卡| 亚洲欧美一区二区三区国产| 97人妻天天添夜夜摸| 免费观看a级毛片全部| 日韩一本色道免费dvd| 你懂的网址亚洲精品在线观看| 欧美xxⅹ黑人| 久久99精品国语久久久| 久久精品久久久久久噜噜老黄| 国产精品三级大全| 性色avwww在线观看| 欧美日韩av久久| 免费黄色在线免费观看| 亚洲精品456在线播放app| 国产亚洲精品第一综合不卡 | 免费在线观看黄色视频的| 国产男女内射视频| 热re99久久国产66热| 久久精品夜色国产| 国产在线一区二区三区精| a级片在线免费高清观看视频| 欧美日韩一区二区视频在线观看视频在线| 亚洲美女黄色视频免费看| 色吧在线观看| av国产精品久久久久影院| 一级黄片播放器| 秋霞伦理黄片| 日本免费在线观看一区| 久久综合国产亚洲精品| 精品亚洲成国产av| 汤姆久久久久久久影院中文字幕| 精品第一国产精品| 9热在线视频观看99| 国产精品一区www在线观看| 国产精品国产三级国产专区5o| 18禁观看日本| 国产成人精品一,二区| 午夜福利,免费看| 边亲边吃奶的免费视频| 亚洲av成人精品一二三区| 搡老乐熟女国产| 日韩 亚洲 欧美在线| 巨乳人妻的诱惑在线观看| 老司机影院毛片| 蜜臀久久99精品久久宅男| 午夜激情久久久久久久| videossex国产| 晚上一个人看的免费电影| 少妇的逼水好多| 寂寞人妻少妇视频99o| 爱豆传媒免费全集在线观看| 18禁在线无遮挡免费观看视频| 大码成人一级视频| 少妇人妻久久综合中文| av国产精品久久久久影院| 精品亚洲成a人片在线观看| 精品福利永久在线观看| 久久国产亚洲av麻豆专区| 久久久国产欧美日韩av| 波多野结衣一区麻豆| 一区二区三区乱码不卡18| 午夜免费观看性视频| 久久99蜜桃精品久久| 男男h啪啪无遮挡| 国产日韩欧美在线精品| 婷婷色综合大香蕉| a 毛片基地| 欧美+日韩+精品| 日日撸夜夜添| 国产精品久久久久久久久免| 天天操日日干夜夜撸| 黑人欧美特级aaaaaa片| 亚洲三级黄色毛片| 99热国产这里只有精品6| 亚洲四区av| 色5月婷婷丁香| 又大又黄又爽视频免费| 亚洲五月色婷婷综合| 九草在线视频观看| 欧美少妇被猛烈插入视频| 国产一级毛片在线| 精品福利永久在线观看| 丰满少妇做爰视频| 一本一本久久a久久精品综合妖精 国产伦在线观看视频一区 | 黄片无遮挡物在线观看| 色婷婷久久久亚洲欧美| 90打野战视频偷拍视频| 亚洲av电影在线观看一区二区三区| 中文字幕亚洲精品专区| 亚洲av中文av极速乱| 中文字幕av电影在线播放| 亚洲伊人色综图| 成人毛片a级毛片在线播放| 青青草视频在线视频观看| 国产亚洲av片在线观看秒播厂| 天天躁夜夜躁狠狠久久av| 国产免费视频播放在线视频| 日韩在线高清观看一区二区三区| 精品久久蜜臀av无| 久久久久久人人人人人| 欧美日韩成人在线一区二区| 免费日韩欧美在线观看| 久久久久久久久久久免费av| 男女国产视频网站| 久久国产精品男人的天堂亚洲 | 97在线人人人人妻| 一区在线观看完整版| 免费日韩欧美在线观看| 老司机影院毛片| 成人影院久久| 国产又爽黄色视频| 日本vs欧美在线观看视频| 久久精品夜色国产| 男女免费视频国产| 咕卡用的链子| 国产一区二区激情短视频 | 侵犯人妻中文字幕一二三四区| 九草在线视频观看| 黑人欧美特级aaaaaa片| 久久久精品免费免费高清| 精品国产一区二区久久| 蜜桃国产av成人99| 亚洲精品乱码久久久久久按摩| 卡戴珊不雅视频在线播放| 成年动漫av网址| 99热国产这里只有精品6| 九色亚洲精品在线播放| 精品熟女少妇av免费看| 国产免费一区二区三区四区乱码| 国产探花极品一区二区| 久久久精品94久久精品| 亚洲国产毛片av蜜桃av| 亚洲欧美成人综合另类久久久| 最近2019中文字幕mv第一页| 寂寞人妻少妇视频99o| 日日爽夜夜爽网站| 尾随美女入室| 国产精品三级大全| 久久国产精品男人的天堂亚洲 | 精品一区二区三卡| 国产成人91sexporn| 麻豆乱淫一区二区| 久久久久久久久久久久大奶| 午夜福利影视在线免费观看| 90打野战视频偷拍视频| 久久97久久精品| 国产av一区二区精品久久| 美女国产视频在线观看| 中文字幕制服av| 日韩av不卡免费在线播放| 久久午夜福利片| 亚洲性久久影院| 五月玫瑰六月丁香| 亚洲伊人色综图| 亚洲美女黄色视频免费看| 美女国产高潮福利片在线看| 日本-黄色视频高清免费观看| 久久99热这里只频精品6学生| 精品一区二区三卡| 少妇的丰满在线观看| 丝袜在线中文字幕| 欧美精品一区二区免费开放| 日韩一区二区三区影片| 日韩一本色道免费dvd| 一本久久精品| 黑丝袜美女国产一区| 在线观看美女被高潮喷水网站| 精品国产一区二区三区四区第35| 美女国产视频在线观看| 韩国精品一区二区三区 | 伊人久久国产一区二区| 26uuu在线亚洲综合色| 韩国av在线不卡| 寂寞人妻少妇视频99o| 大片免费播放器 马上看| 伦精品一区二区三区| 一级片'在线观看视频| 丝瓜视频免费看黄片| 一区二区三区精品91| 下体分泌物呈黄色| 大话2 男鬼变身卡| 春色校园在线视频观看| 国产男女超爽视频在线观看| 男男h啪啪无遮挡| 久久久久久久久久成人| 亚洲情色 制服丝袜| 午夜免费观看性视频| 18禁裸乳无遮挡动漫免费视频| 飞空精品影院首页| 欧美精品一区二区免费开放| 丰满饥渴人妻一区二区三| 纵有疾风起免费观看全集完整版| 在现免费观看毛片| av.在线天堂| 国产1区2区3区精品| 宅男免费午夜| 久久影院123| 亚洲国产看品久久| av又黄又爽大尺度在线免费看| 精品99又大又爽又粗少妇毛片| 汤姆久久久久久久影院中文字幕| 久久久久精品性色| 最近最新中文字幕大全免费视频 | freevideosex欧美| 亚洲综合精品二区| 少妇的逼水好多| 国产一区二区三区av在线| 99九九在线精品视频| 国产又色又爽无遮挡免| 熟女av电影| 日韩av免费高清视频| 又黄又爽又刺激的免费视频.| 精品国产一区二区久久| 韩国精品一区二区三区 | 丝瓜视频免费看黄片| 一区在线观看完整版| 建设人人有责人人尽责人人享有的| 欧美精品人与动牲交sv欧美| a 毛片基地| 亚洲国产精品一区二区三区在线| 99久国产av精品国产电影| 久久久久久久久久人人人人人人| 毛片一级片免费看久久久久| 成人亚洲精品一区在线观看| 国产精品久久久久久av不卡| 国产精品.久久久| 国产成人av激情在线播放| 另类亚洲欧美激情| 久久午夜综合久久蜜桃| 国产伦理片在线播放av一区| 黄片播放在线免费| 高清视频免费观看一区二区| 精品少妇久久久久久888优播| 亚洲精品一二三| 免费久久久久久久精品成人欧美视频 | 一本一本久久a久久精品综合妖精 国产伦在线观看视频一区 | 午夜免费鲁丝| 成年人免费黄色播放视频| 青青草视频在线视频观看| a级片在线免费高清观看视频| 男女高潮啪啪啪动态图| 亚洲精品一二三| 国产片内射在线| 免费人成在线观看视频色| 亚洲精品乱久久久久久| 国产免费又黄又爽又色| 欧美精品国产亚洲| 久久这里有精品视频免费| 亚洲国产欧美在线一区| 夜夜爽夜夜爽视频| 久久久国产一区二区| 成人综合一区亚洲| 黑人高潮一二区| 国产一区有黄有色的免费视频| 99久久中文字幕三级久久日本| 国产在线一区二区三区精| 亚洲美女视频黄频| 国产在线一区二区三区精| 精品一区二区三区四区五区乱码 | 午夜av观看不卡| 热re99久久精品国产66热6| 2022亚洲国产成人精品| 国产无遮挡羞羞视频在线观看| 亚洲精品久久久久久婷婷小说| 欧美xxxx性猛交bbbb| 亚洲精品aⅴ在线观看| 欧美国产精品va在线观看不卡| 国产精品久久久久久久电影| 国产精品久久久久成人av| 色网站视频免费| 美女内射精品一级片tv| 最近中文字幕2019免费版| 欧美日韩国产mv在线观看视频| 黑丝袜美女国产一区| 亚洲国产最新在线播放| 一级毛片黄色毛片免费观看视频| 免费日韩欧美在线观看| 天天躁夜夜躁狠狠久久av| 最近2019中文字幕mv第一页| 一区二区三区精品91| 国产69精品久久久久777片| 国产精品无大码| 超碰97精品在线观看| 免费人妻精品一区二区三区视频| 黄色 视频免费看| 日本色播在线视频| 狠狠精品人妻久久久久久综合| 看非洲黑人一级黄片| 18禁动态无遮挡网站| 久久久久精品久久久久真实原创| 新久久久久国产一级毛片| 成人国语在线视频| 欧美97在线视频| 午夜激情久久久久久久| 国产精品国产av在线观看| 激情五月婷婷亚洲| 国产毛片在线视频| 亚洲欧美日韩卡通动漫| 90打野战视频偷拍视频| av不卡在线播放| 男女下面插进去视频免费观看 | 美女主播在线视频| 欧美成人午夜免费资源| 国产欧美另类精品又又久久亚洲欧美| 亚洲丝袜综合中文字幕| 精品第一国产精品| 伦理电影大哥的女人| 精品国产国语对白av| 中文字幕人妻丝袜制服| 欧美日韩av久久| 亚洲精品日韩在线中文字幕| 久久精品久久久久久久性| 国产熟女午夜一区二区三区| 老熟女久久久| 亚洲国产欧美在线一区| 亚洲精华国产精华液的使用体验| 久久久久久久精品精品| 黑丝袜美女国产一区| 国产精品久久久久成人av| 精品福利永久在线观看| 秋霞在线观看毛片| 午夜av观看不卡| 国产爽快片一区二区三区| 精品一区二区三区四区五区乱码 | 精品国产一区二区久久| 一级爰片在线观看| 欧美精品av麻豆av| 不卡视频在线观看欧美| 亚洲国产最新在线播放| 欧美精品人与动牲交sv欧美| 妹子高潮喷水视频| www.色视频.com| 亚洲第一av免费看| 制服人妻中文乱码| 看十八女毛片水多多多| 亚洲精品国产av成人精品| 天天操日日干夜夜撸| 一边摸一边做爽爽视频免费| 欧美bdsm另类| 在线观看人妻少妇| 男女高潮啪啪啪动态图| 久久久久国产网址| 久久国内精品自在自线图片| 久久免费观看电影| 国产精品蜜桃在线观看| 一本色道久久久久久精品综合| 精品一区二区三卡| 国产精品女同一区二区软件| 亚洲av电影在线进入| 春色校园在线视频观看| 亚洲av国产av综合av卡| 国产欧美日韩一区二区三区在线| 建设人人有责人人尽责人人享有的| 国产精品无大码| 熟妇人妻不卡中文字幕| 亚洲成国产人片在线观看| 久热这里只有精品99| 日韩成人av中文字幕在线观看| av有码第一页| 在线 av 中文字幕| 日本av免费视频播放| av线在线观看网站| 国产激情久久老熟女| 宅男免费午夜| 大片免费播放器 马上看| 男女免费视频国产| 国产69精品久久久久777片| 亚洲欧洲国产日韩| 免费少妇av软件| 久久ye,这里只有精品| 精品少妇黑人巨大在线播放| av国产久精品久网站免费入址| 午夜福利在线观看免费完整高清在| 人妻少妇偷人精品九色| 五月伊人婷婷丁香| 午夜福利视频在线观看免费| 成人影院久久| 亚洲av电影在线进入| 亚洲国产精品成人久久小说| 成人黄色视频免费在线看| 国产亚洲精品第一综合不卡 | 欧美老熟妇乱子伦牲交| 亚洲高清免费不卡视频| 永久免费av网站大全| 欧美成人午夜精品| 亚洲av成人精品一二三区| 国产色婷婷99| 人人澡人人妻人| 99精国产麻豆久久婷婷| 久久久久国产精品人妻一区二区| 国产精品一国产av| 乱码一卡2卡4卡精品| 国产精品三级大全| 国产成人精品福利久久| 亚洲国产精品成人久久小说| 日韩中字成人| 男人添女人高潮全过程视频| 看免费av毛片| 满18在线观看网站| 美女视频免费永久观看网站| 国产一区亚洲一区在线观看| 三上悠亚av全集在线观看| 精品午夜福利在线看| 人妻一区二区av| 最后的刺客免费高清国语| 亚洲精品乱码久久久久久按摩| 午夜精品国产一区二区电影| xxx大片免费视频| a级片在线免费高清观看视频| 大片免费播放器 马上看| 美女大奶头黄色视频| 国产精品蜜桃在线观看| 国产国拍精品亚洲av在线观看| 十八禁网站网址无遮挡| 夜夜骑夜夜射夜夜干| a级毛片在线看网站| 侵犯人妻中文字幕一二三四区| 亚洲av国产av综合av卡| 黑人巨大精品欧美一区二区蜜桃 | 日韩电影二区| 国产亚洲午夜精品一区二区久久| 亚洲,欧美,日韩| 一级毛片我不卡| 免费高清在线观看视频在线观看| 国产日韩欧美亚洲二区| 欧美性感艳星| 亚洲第一区二区三区不卡| 另类精品久久| 亚洲av福利一区| 日本黄色日本黄色录像| 国产精品嫩草影院av在线观看| 久久99蜜桃精品久久| 久久久a久久爽久久v久久| 久久影院123| 国产熟女欧美一区二区| 黄网站色视频无遮挡免费观看| 亚洲av.av天堂| 亚洲欧美成人精品一区二区| 午夜福利影视在线免费观看| 成人手机av| 乱码一卡2卡4卡精品| 两个人看的免费小视频| 香蕉丝袜av| 婷婷色av中文字幕| 久久人人爽人人爽人人片va| 岛国毛片在线播放| 日韩 亚洲 欧美在线| 国产精品秋霞免费鲁丝片| 久热这里只有精品99| 99久久综合免费| 日韩av在线免费看完整版不卡| 乱人伦中国视频| 在线观看国产h片| 中文字幕人妻丝袜制服| 香蕉精品网在线| 国产激情久久老熟女| 久久久国产精品麻豆| 亚洲精品成人av观看孕妇| 色婷婷av一区二区三区视频| 亚洲欧美成人精品一区二区| 又黄又粗又硬又大视频| 观看av在线不卡| 男女无遮挡免费网站观看| 久久国产亚洲av麻豆专区| 久久免费观看电影| 国产日韩欧美亚洲二区| 午夜免费鲁丝| 亚洲av欧美aⅴ国产| 国产在线一区二区三区精| 亚洲av电影在线观看一区二区三区| av.在线天堂| 18禁动态无遮挡网站| 欧美另类一区| 亚洲成人av在线免费| 欧美3d第一页| 免费久久久久久久精品成人欧美视频 | 精品国产乱码久久久久久小说| 一区二区日韩欧美中文字幕 | 免费大片黄手机在线观看| 人妻少妇偷人精品九色| 国产成人91sexporn| 欧美人与善性xxx| 曰老女人黄片| 搡女人真爽免费视频火全软件| 久久毛片免费看一区二区三区| av国产久精品久网站免费入址| 街头女战士在线观看网站| 日韩电影二区| 99九九在线精品视频| 制服诱惑二区| 久久精品aⅴ一区二区三区四区 | 久久人人爽人人片av| 成人国语在线视频| 国产在线免费精品| 国产日韩欧美视频二区| 亚洲av福利一区| 亚洲经典国产精华液单| 久久99热6这里只有精品| 国产亚洲欧美精品永久| 国产精品一区二区在线观看99| 国产69精品久久久久777片| 日韩av免费高清视频| 大陆偷拍与自拍| 亚洲国产欧美日韩在线播放| www.熟女人妻精品国产 | 在线观看www视频免费| 欧美精品国产亚洲| 亚洲人成77777在线视频| 婷婷色av中文字幕| 97在线视频观看| 亚洲第一区二区三区不卡| 免费黄网站久久成人精品| 久久人人爽av亚洲精品天堂| 国产成人精品无人区| 久久精品国产亚洲av天美| 丰满迷人的少妇在线观看|