2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p><b>  摘 要</b></p><p>  本文論述了利用Verilog硬件語言來描述DES加密技術(shù)對它進行模塊設(shè)計并用ModelSim SE進行了仿真。且詳細的對DES加密解密的工作原理及算法進行了解釋講解。加密的歷史可以追溯到公元前2000年的古埃及,當時人們只是運用簡單的象形文字,到現(xiàn)在已經(jīng)有各種各樣的加密技術(shù),而DES加密是采用對稱密鑰加密法,即用相同密鑰進行加

2、密和解密。</p><p>  本文對DES加密模塊的設(shè)計進行了詳細的介紹,對DES加密技術(shù)的工作原理及DES的算法進行了詳細的介紹。DES算法的3個入口參數(shù)為key、data、mode,key為加密解密使用的密鑰,data為加密解密的數(shù)據(jù),mode為其工作模式。本文只對key-gen模塊進行了詳細的講解。DES加密工作原理中只詳細介紹了DES的一輪,其中對DES的一輪中各個步驟進行了比較詳細的簡介。對DES加密

3、算法進行了圖解和說明,并用表格形式對DES的置換規(guī)則,放大換位,單純換位進行了描述。且對DES算法框圖中的選擇函數(shù)S1,S8進行了表格描述。另外本文還對采用的硬件描述語言Verilog HDL進行了簡介,對其語法和源代碼等進行了介紹。</p><p>  關(guān)鍵詞 DES ;Verilog HDL;ModelSim SE;加密技術(shù) </p><p><b>  Abstract

4、</b></p><p>  This article discusses the use of Verilog hardware description language for encryption of DES technology to its modular design and simulation with ModelSim SE. Detailed work on the encryp

5、tion of DES and algorithm of decryption explained principle and explain. Encryption can be traced back the history of ancient Egypt in 2000 BC, when people just use simple hieroglyphs, to now have a variety of encryption

6、 technology. The method with symmetric encryption is used of the encryption of DES, which us</p><p>  In this paper, introduced the design of encryption、the work of principle of DES and the algorithm of DES

7、 in detail.The algorithm of DES has three entrance parameters : key、data and mode.The key is used of the encryption and decryption.This article discusses the module of key_gen and introduces the one replacement of DES in

8、 detail,alse introduces the one replacement on the DES in the profile. The illustrations and tabular form are used of the algorithm and the replacement of the DES rules、zoom tr</p><p>  Keywords DES;Verilo

9、g HDL;ModelSim SE ;encryption technology</p><p><b>  目 錄</b></p><p><b>  1 緒論1</b></p><p>  1.1 DES的概要及背景1</p><p>  1.2 Verilog模塊的概要及背景2&l

10、t;/p><p>  2 設(shè)計的技術(shù)基礎(chǔ)3</p><p>  2.1 EDA技術(shù)簡介3</p><p>  2.2 Verilog HDL語言簡介4</p><p>  2.2ModelSim SE 簡介5</p><p>  3 DES工作原理7</p><p>  3.1

11、 基本原理7</p><p>  3.2 初始置換9</p><p>  3.3 DES的一輪10</p><p>  3.4 最終置換14</p><p>  4 DES加密模塊設(shè)計15</p><p>  4.1 DES加密算法介紹15</p><p>  4.2

12、DES加密模塊設(shè)計18</p><p>  4.2.1 DES加密模塊總體構(gòu)架18</p><p>  4.2.2 密鑰產(chǎn)生模塊key_gen設(shè)計19</p><p>  4.2.3 S部件代換模塊設(shè)計23</p><p>  4.2.4 desround 模塊設(shè)計24</p><p>  4

13、.2.5 DES頂層模塊des設(shè)計27</p><p>  4.3 DES加密方案設(shè)計28</p><p>  4.3.1 資源優(yōu)先設(shè)計方案28</p><p>  4.3.2 性能優(yōu)先設(shè)計方案28</p><p><b>  總結(jié)30</b></p><p><b>

14、;  致謝31</b></p><p><b>  參考文獻32</b></p><p>  DES加密Verilog模塊設(shè)計</p><p><b>  1 緒論</b></p><p>  1.1 DES的概要及背景</p><p>  數(shù)據(jù)加密標準(

15、DES,Data Encryption Standard)也稱為數(shù)據(jù)加密算法(DEA,Data Encryption Algrithm)(ANSI)和DEA-1(ISO),是近20年來使用的加密算法。后來,人們發(fā)現(xiàn)DES在強大攻擊下太脆弱,因此使DES的應用有所下降。但是,任何一本安全書籍都不得不提到DES,因為它曾經(jīng)是加密算法的標志。介紹DES的細節(jié)還有兩個作用:第一,介紹DES;第二,更重要的是分析和理解實際加密算法。利用這個方法,

16、我們還要從概念上介紹其他加密算法,但不準備深入介紹,因為通過DES介紹已經(jīng)可以了解計算機加密算法的工作原理。DES通常使用ECB,CBC,或CFB模式。</p><p>  DES產(chǎn)生可以追溯到1972年,美國的國家標準局(NBS,即現(xiàn)在的國家標準與技術(shù)學會,NIST)啟動了一個項目,旨在保護計算機和計算機通信中的數(shù)據(jù)。它們想開發(fā)一個加密算法。兩年之后,NBS發(fā)現(xiàn)IBM公司的Lucifer相當理想,沒有必要從開頭

17、開發(fā)一個新的加密算法。經(jīng)過幾次討論,NBS于1975年發(fā)布了這個加密算法的細節(jié)。到1976年底,美國聯(lián)邦政府決定采用這個算法,并將其更名為數(shù)據(jù)加密標準。不久,其他組織也認可和采用DES作為加密算法。</p><p>  DES算法為密碼體制中的對稱密碼體制,又被成為美國數(shù)據(jù)加密標準,是1972年美國IBM公司研制的對稱密碼體制加密算法。其密鑰長度為56位,明文按64位進行分組,將分組后的明文組和56位的密鑰按位替

18、代或交換的方法形成密文組的加密方法。</p><p>  DES( Data Encryption Standard)算法,于1977年得到美國政府的正式許可,是一種用56位密鑰來加密64位數(shù)據(jù)的方法。雖然56位密鑰的DES算法已經(jīng)風光不在,而且常有用DES加密的明文被破譯的報道,但是了解一下昔日美國的標準加密算法總是有益的,而且目前DES算法得到了廣泛的應用,在某些場合,仍然發(fā)揮著余熱。</p>

19、<p>  1.2 Verilog模塊的概要及背景</p><p>  Verilog HDL是在1983年由GDA(Gateway Design Automation)公司的Phil Moorby首創(chuàng)的。Phil Moorby后來成為Verilog-XL的主要設(shè)計者和Cadence公司(CadenceDesign Systems)的第一合伙人。在1984至1985年Moorby設(shè)計出了第一個名為Ve

20、rilog-XL的仿真器,1986年他對Verilog HDL的發(fā)展又作出了另一個巨大的貢獻,即提出了用于快速門級仿真XL算法。</p><p>  隨著Verilog-XL 算法的成功,Verilog HDL得到了迅速發(fā)展。1989年, Cadence 收購了GDA公司, Verilog HDL語言成為Cadence公司的私有財產(chǎn)。1990年,Cadence公司決定公開Verilog HDL語言,于是成立了OV

21、I(Open Verilog International)組織來負責促進Verilog HDL語言的發(fā)展?;赩erilog HDL的優(yōu)越性,IEEE于1995年制定了Verilog HDL的IEEE標準, 2005年System Verilog IEEE1800-2005標準的公布,更使得Verilog語言在綜合,仿真驗證和模塊的重用等性能方面都有大幅度提高。</p><p>  Verilog HDL是一種硬

22、件描述語言(hardware description language),為了制作數(shù)字電路而用來描述ASICs和FPGA的設(shè)計之用。Verilog 的設(shè)計者想要以 C 編程語言為基礎(chǔ)設(shè)計一種語言,可以使工程師比較容易學習。該語言允許設(shè)計者進行各種級別的邏輯設(shè)計,進行數(shù)字邏輯系統(tǒng)的仿真驗證時序分析邏輯綜合。它目前是應用最廣泛的硬件語言。</p><p>  Verilog HDL進行設(shè)計最大的優(yōu)點是其工藝無關(guān)性。這

23、使得工程師在功能設(shè)計,邏輯驗證階段可以不必過多考慮門級及工藝實現(xiàn)的具體細節(jié),只需根據(jù)系統(tǒng)設(shè)計的要求施加不同約束條件,即可設(shè)計出實際電路。</p><p>  2 設(shè)計的技術(shù)基礎(chǔ)</p><p>  2.1 EDA技術(shù)簡介</p><p>  EDA(Electronics Design Automation)技術(shù)是隨著集成電路和計算機技術(shù)的飛速發(fā)展應運而生的一

24、種高級、快速、有效的電子設(shè)計自動化工具。隨著計算機、集成電路、電子系統(tǒng)設(shè)計的發(fā)展,EDA技術(shù)先后經(jīng)歷了計算機輔助設(shè)計CAD(Computer AssistDesign)、計算機輔助工程設(shè)計CAE(Computer As-sist Engineering Design)及電子系統(tǒng)設(shè)計自動化ESDA(Electronic System Design Automation)三個發(fā)展階段。EDA關(guān)鍵技術(shù)之一就是采用硬件描述語言對硬件電路進行描述

25、,且具有系統(tǒng)級仿真和綜合能力。目前應用比較廣泛的硬件描述語言就是Verilog HDL,它最早是由美國國防部提出來的。</p><p>  利用EDA技術(shù)進行電子系統(tǒng)的設(shè)計,具有以下幾個特點:</p><p>  用軟件的方式設(shè)計硬件;</p><p>  用軟件方式設(shè)計的系統(tǒng)到硬件系統(tǒng)的轉(zhuǎn)換是由有關(guān)的開發(fā)軟件自動完成的;</p><p> 

26、 設(shè)計過程中可用有關(guān)軟件進行各種仿真;</p><p>  系統(tǒng)可現(xiàn)場編程,在線升級;</p><p>  整個系統(tǒng)可集成在一個芯片上,體積小、功耗低、可靠性高。</p><p>  因此,EDA技術(shù)是現(xiàn)代電子設(shè)計的發(fā)展趨勢,是現(xiàn)代電子信息工程領(lǐng)域的一門新技術(shù)。</p><p>  EDA技術(shù)涉及面廣,內(nèi)容豐富,主要應掌握如下四個方面的內(nèi)容:

27、</p><p>  大規(guī)模可編程邏輯器件;</p><p><b>  硬件描述語言;</b></p><p><b>  軟件開發(fā)工具;</b></p><p><b>  實驗開發(fā)系統(tǒng)。</b></p><p>  其中,大規(guī)??删幊踢壿嬈骷抢?/p>

28、EDA技術(shù)進行電子系統(tǒng)設(shè)計的載體,硬件描述語言是利用EDA技術(shù)進行電子系統(tǒng)設(shè)計的主要表達手段,軟件開發(fā)工具是利用EDA技術(shù)進行電子系統(tǒng)設(shè)計的智能化的自動化設(shè)計工具,實驗開發(fā)系統(tǒng)則是利用EDA技術(shù)進行電子系統(tǒng)設(shè)計的下載工具及硬件驗證工具。</p><p>  2.2 Verilog HDL語言簡介</p><p>  Verilog HDL最初是美國國防部為其超高速集成電路研究計劃提出的硬

29、件描述語言,目的是為了把電子電路的設(shè)計意義以文字或文件的方式保存下來,以便其他人能輕易地了解電路的設(shè)計意義?,F(xiàn)在它已成為IEEE的工業(yè)標準硬件描述語言之一。</p><p>  Verilog HDL是一種全方位的硬件描述語言,具有極強的描述能力,能支持系統(tǒng)行為級、寄存器傳輸級和邏輯門級等幾種不同層次的設(shè)計,支持結(jié)構(gòu)、數(shù)據(jù)流、行為三種描述形式的混合描述,覆蓋面強,因此在實際應用中越來越廣泛。Verilog HDL

30、的主要特點有:作為硬件描述語言的第一個國際標準具有很強的可移植性;具有豐富的模擬仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設(shè)計早期就能查驗設(shè)計系統(tǒng)功能的可行性,隨時可對設(shè)計進行仿真模擬,將設(shè)計中邏輯上的錯誤消滅在組裝之前。因此,在設(shè)計早期系統(tǒng)功能時就具有可行性;設(shè)計層次較高,可用于較復雜的計算來解決現(xiàn)存的問題,從而縮短設(shè)計周期;Verilog HDL的設(shè)計不依賴于特定的器件的轉(zhuǎn)換;支持大規(guī)模設(shè)計的分解和已有設(shè)計的邏輯綜合和優(yōu)化;并且Veril

31、og HDL描述的設(shè)計可轉(zhuǎn)變成門級網(wǎng)表;Verilog HDL可用源代碼描述來進行復雜電路控制設(shè)計,靈活性強,同時也便于設(shè)計結(jié)果的保存和重用。</p><p>  隨著計算機和大規(guī)模集成電路制造技術(shù)的迅速發(fā)展,采用普通中小規(guī)模數(shù)字邏輯集成電路,如74系列的TTL或通用CMOS數(shù)字邏輯集成電路,已經(jīng)不能滿足現(xiàn)代數(shù)字系統(tǒng)設(shè)計的要求,迫切需要提高設(shè)計效率。Verilog HDL硬件描述語言能大大降低電路設(shè)計的難度,這門

32、語言正越來越廣泛的被應用,越來越多的學校已經(jīng)把Verilog HDL硬件描述語言作為數(shù)字邏輯電路教學中的必要部分,并配有大量的實踐教學使學生掌握它。</p><p>  Verilog HDL程序結(jié)構(gòu)如圖2-1所示。</p><p>  Verilog HDL的主要特點:</p><p>  具有極強的描述能力,能支持系統(tǒng)行為級、寄存器傳輸級和門級三個不同層次的設(shè)計

33、。</p><p>  具有豐富的模擬仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設(shè)計早期就能查驗設(shè)計系統(tǒng)功能的可行性,隨時可對設(shè)計進行仿真模擬,將設(shè)計中邏輯上的錯誤消滅在組裝之前。</p><p>  支持大規(guī)模設(shè)計的分解和已有設(shè)計再利用。</p><p>  可讀性好,既可以被計算機接受,也容易被人所理解。</p><p><b>  

34、本身生命期長。</b></p><p>  圖2-1 Verilog HDL程序設(shè)計的基本結(jié)構(gòu)圖</p><p>  ModelSim SE 簡介</p><p>  ModelSim是業(yè)界最優(yōu)秀的HDL語言仿真編譯軟件,它能提供友好的仿真環(huán)境,是業(yè)界唯一的單內(nèi)核支持VHDL和Verilog混合仿真的仿真器。它采用直接優(yōu)化的編譯技術(shù)、Tcl/Tk技術(shù)、

35、和單一內(nèi)核仿真技術(shù),編譯仿真速度快,編譯的代碼與平臺無關(guān),便于保護IP核,個性化的圖形界面和用戶接口,為用戶加快調(diào)錯提供強有力的手段,是FPGA/ASIC設(shè)計的首選仿真軟件。</p><p><b>  主要特點:</b></p><p>  RTL和門級優(yōu)化,本地編譯結(jié)構(gòu),編譯仿真速度快,跨平臺跨版本仿真;</p><p>  單內(nèi)核VHDL

36、和Verilog混合仿真;</p><p>  源代碼模版和助手,項目管理;</p><p>  集成了性能分析、波形比較、代碼覆蓋、數(shù)據(jù)流ChaseX、Signal Spy、虛擬對象Virtual Object、Memory窗口、Ass-ertion窗口、源碼窗口顯示信號值、信號條件斷點等眾多調(diào)試功能;</p><p>  C和Tcl/Tk接口,C調(diào)試;</

37、p><p>  對SystemC的直接支持,和HDL任意混合</p><p>  支持SystemVerilog的設(shè)計功能;</p><p>  對系統(tǒng)級描述語言的最全面支持,SystemVerilog, SystemC, PSL;</p><p>  ASIC Sign off。</p><p>  ModelSim分幾

38、種不同的版本:SE、PE、LE和OEM,其中SE是最高級的版本,而集成在 Actel、Atmel、Altera、Xilinx以及Lattice等FPGA廠商設(shè)計工具中的均是其OEM版本。SE版和OEM版在功能和性能方面有較大差別,比如對于大家都關(guān)心的仿真速度問題,以Xilinx公司提供的OEM版本ModelSim XE為例,對于代碼少于40000行的設(shè)計,ModelSim SE 比ModelSim XE要快10倍;對于代碼超過40000

39、行的設(shè)計,ModelSim SE要比ModelSim XE快近40倍。ModelSim SE支持PC、UNIX和LINUX混合平臺;提供全面完善以及高性能的驗證功能;全面支持業(yè)界廣泛的標準;Mentor Graphics公司提供業(yè)界最好的技術(shù)支持與服務(wù)。</p><p>  3 DES工作原理</p><p><b>  3.1 基本原理</b></p>

40、;<p>  DES是個塊加密法,按64位塊長加密數(shù)據(jù),即把64位明文作為DES的輸入,產(chǎn)生64位密文輸出。加密與解密使用相同的算法和密鑰,只是稍作改變。密鑰長度為56位?;驹韴D如3-1。</p><p>  圖3-1 DES基本原理框圖</p><p>  前面曾經(jīng)介紹過,DES使用56位密鑰。實際上,最初的密鑰位64位,但在DES過程開始之前放棄密鑰的每個第八位,從

41、而得到56位密鑰,即放棄第8,16,24,32,40,48,56和64位,如表3-1所示,陰影部分表示放棄的位。</p><p>  這樣,64位密鑰丟棄每個第8位即得到56位密鑰,如圖3-2所示。</p><p>  簡單地說,DES利用加密的兩個基本屬性:替換(也稱混淆)和變換(也稱擴散)。DES共16步,每一步稱為一輪,每一步進行替換與變換步驟。</p><p&g

42、t;  表3-1 放棄密鑰中的每個第8位</p><p>  圖3-2 密鑰丟棄過程</p><p>  下面介紹DES中主要步驟。</p><p>  將64位明文塊送入初始置換(Initial Permutation,IP)函數(shù)。</p><p>  對明文進行初始置換。</p><p>  初始置換產(chǎn)生轉(zhuǎn)換塊的兩

43、半,假設(shè)為左明文(LPT)和右明文(RPT)。</p><p>  每個左明文與右明文經(jīng)過16輪加密過程,各有自己的密鑰。</p><p>  將左明文和右明文重接起來,對組成的塊進行最終置換(Final Permutation,F(xiàn)P)</p><p>  這個過程的結(jié)果得到64位密文。</p><p>  圖3-3顯示了這個過程。</

44、p><p>  圖3-3 DES中主要步驟</p><p><b>  3.2 初始置換</b></p><p>  初始置換只發(fā)生一次,是在第一輪之前進行的,指定初始置換中的變換如何進行,如表3-2所示。例如,它指出初始置換將原明文塊的第一位換成原明文塊的第58位,第2位換成原明文塊的第50位,等等,這只是把原明文塊進行移位。 </p&

45、gt;<p><b>  表3-2 初始置換</b></p><p>  表3-3顯示了IP使用的完整變換表。這個表要從左向右、從上到下讀。例如,我們發(fā)現(xiàn)第一個位置的58表示原明文塊中第58位的內(nèi)容在初始置換時改寫第一位的內(nèi)容,同樣,1放在表中第40位,表示第一位改寫原明文塊中第40位,所有其他位一樣。</p><p>  IP完成后,得到的64位置換文

46、本塊分成兩半,各32位,左塊成左明文(LPT),右塊成右明文(RPT)。然后對兩塊進行16輪操作。</p><p>  表3-3 IP使用的完整變換表</p><p>  3.3 DES的一輪</p><p>  DES的一輪包括圖3-4所示步驟。</p><p>  圖3-4 DES的一輪</p><p>&l

47、t;b>  第一步:密鑰變換</b></p><p>  最初64位密鑰通過放棄每個第8位而得到56位密鑰。這樣,每一輪有個56位密鑰。每一輪從這個56位密鑰產(chǎn)生不同的48位子密鑰,稱為密鑰變換。為此,56位密鑰分成兩半,各為28位,循環(huán)左移一位或兩位。例如,如果輪號為1、2、9、16,則只移一位,否則移兩位。表3-4顯示了每一輪移動的密鑰位數(shù)。</p><p>  相應

48、移動后,選擇56位中的48位。選擇56位中的48位時使用表3-5所示,如果仔細看看表格則可發(fā)現(xiàn)其中只有48位。位號18放棄(表中沒有),另外7位也是,從而將56位減到48位。由于密鑰變換要進行置換和選擇56位中的48位,因此稱為壓縮置換(compression permutation)。</p><p>  表3-4 每一輪移動的密鑰位數(shù)</p><p><b>  表3-5 壓

49、縮置換</b></p><p><b>  第2步 擴展置換</b></p><p>  經(jīng)過初始置換后我們得到兩個32位明文區(qū),分別稱為左明文和右明文。擴展置換將右明文從32位擴展到48位,除了從32位擴展到48位之外,這些位也進行置換,因此稱為擴展置換(expansion permutation)。過程如下:</p><p> 

50、 將32位右明文分成8塊,每塊各有4位,如圖3-5所示。</p><p>  將上一步的每個4位塊擴展為6位塊,即每個4位塊增加2位。這兩位實際上是重復4位塊的第1位和第4位。第2位和第4位口令輸入一樣寫出。注意第一個輸入位在第二個輸出位重復,并在第48位重復。同樣,第32個輸入位在第47個輸出位和第1個輸出位。</p><p>  顯然,這個過程在生成輸出時擴展和置換輸入位。</p

51、><p><b>  圖3-5 擴展置換</b></p><p>  右明文擴展置換過程如圖3-6所示。</p><p>  圖3-6 右明文擴展置換過程</p><p>  由擴展置換過程圖可以知:第一個輸入位出現(xiàn)在第二個輸出位和第48位,第二個輸入位到第三個輸出位,等等。因此,擴展置換實際上使用表3-6所示。</p

52、><p>  表3-6 右明文擴展置換表</p><p>  由表3-5可知密鑰變換將56位密鑰壓縮成48位,而擴展置換將32位右明文擴展為48位?,F(xiàn)在,48位密鑰與48位右明文進行異或運算,將結(jié)果傳遞到下一步,即S盒替換。</p><p>  S盒替換如圖3-7所示。</p><p>  圖3-7 S盒替換</p><p&

53、gt;<b>  第3步: S盒替換</b></p><p>  替換使用8個替換盒(substitution boxes)(也稱為S盒),每個S盒有6位輸入和4位輸出。48位輸入塊分成8個子塊(各有6位),每個子塊指定一個S盒。S盒將6位輸入變成4位輸出。</p><p><b>  第4步:P盒置換</b></p><p&

54、gt;  所有S盒的輸出組成32位塊,對該32位要進行P盒置換(P-box Permutation)。P盒置換機制只是進行簡單置換(即按P表指定把一位換成另一位,而不進行擴展的壓縮)。表3-7顯示了P盒。例如,第一塊的16表示原輸入的第16位移到輸出的第1位,第16塊的10表示原輸入的第10位移到輸出的第16位。</p><p>  表3-7 P盒置換</p><p><b>

55、;  第5步:異或與交換</b></p><p>  注意上述所有操作只是處理了64位明文的右邊32位,還沒有處理左邊部分。這時,最初64位明文的大部分與P盒置換的結(jié)果進行異或運算,結(jié)果成為新的右明文,并通過交換將舊的右明文變成為新的左明文。</p><p><b>  3.4 最終置換</b></p><p>  16輪結(jié)束后,

56、進行最終置換(只一次),即按表3-8進行變換。例如,第40位輸入代替第1位輸出等等。</p><p>  最終置換的輸出就是64位加密塊。</p><p><b>  表3-8 最終置換</b></p><p>  4 DES加密模塊設(shè)計</p><p>  4.1 DES加密算法介紹</p><

57、p>  DES (Data Encryption Standard,數(shù)據(jù)加密標準),是由IBM公司研制的一種加密算法,1977年,美國國家標準局宣布把它作為非機要部門使用的的數(shù)據(jù)加密標準,隨著“三金”工程尤其是金卡工程的啟動,DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收費站等領(lǐng)域被廣泛應用,以此來實現(xiàn)關(guān)鍵數(shù)據(jù)的保密。如信用卡持卡人的PIN的加密傳輸、IC卡與POS間的雙向認證、金融交易數(shù)據(jù)包的MAC校驗等

58、,均用到DES算法。</p><p>  DES算法的入口參數(shù)有三個:Key、Data、Mode。其中Key為8字節(jié)共64位,是DES算法的工作密鑰;Data也為8字節(jié)共64位,是要被加密或被解密的數(shù)據(jù);Mode為DES的工作方式,包括加密和解密兩種,如圖4-1為DES算法框圖。</p><p>  如Mode為加密,則用Key把數(shù)據(jù)Data進行加密,生成Data的密碼形式(64位)作為D

59、ES的輸出結(jié)果。如Mode為解密,則用Key把密碼形式的數(shù)據(jù)Data解密,還原為Data的明碼形式(64位),作為DES的輸出結(jié)果。</p><p>  通過定期在通信網(wǎng)絡(luò)的源端和目的地端同時改用新的Key,便能更進一步提高數(shù)據(jù)的保密性,這正是現(xiàn)在金融交易網(wǎng)絡(luò)流行的做法。</p><p>  DES算法把64位的明文輸入塊變?yōu)?4位的密文輸出塊,它所使用的密鑰也是64位的,其功能是把輸入的

60、64位數(shù)據(jù)塊按位重新組合,并把輸出分為L0、R0兩部分,每部分各長32位,其置換規(guī)則見表4-1。</p><p>  表4-1 DES算法置換規(guī)則</p><p>  即將輸入的第58位換到第1位,第50位換到第2位,…,依此類推,最后一位是原來的第7位L0、R0則是換位輸出后的兩部分,L0是輸出的左32位,R0是右32位,例:設(shè)置換前的輸入值為D1D2D3…D64,則經(jīng)過初始置換后的結(jié)果

61、為:L0=D50…,D8;R0=D57D49,…D7。</p><p>  圖4-1 DES算法框圖</p><p>  經(jīng)過16次迭代運算后,得到L16、R16,將此作為輸入,進行逆置換,即得到密文輸出。逆置換正好是初始置換的逆運算,例如,第1位經(jīng)過初始置換后,處于第40位,而通過逆置換,又將第40位換回到第1位,其逆置換規(guī)則、放大換位、單純換位分別見表4-2、表4-3、表4-4。&l

62、t;/p><p>  表4-2 DES算法逆置換規(guī)則</p><p>  表4-3 DES算法放大換位表</p><p>  表4-4 DES算法單純換位表</p><p>  在f(R,K)算法描述圖中,S1,S2,…,S8為選擇函數(shù),其功能是把6bit數(shù)據(jù)變?yōu)?bit數(shù)據(jù)。S1、S8,分別見表4-5,表4-6。</p><

63、p>  表4-5 算法描述圖中選擇函數(shù)S1</p><p>  表4-6 算法描述圖中選擇函數(shù)S8</p><p>  在此,以S1為例說明其功能。我們可以看到:在S1中,共有4行數(shù)據(jù),命名為0、1、2、3行;每行有16列,命名為0、1、2、3…14、15列。</p><p>  現(xiàn)設(shè)輸入為:D=D1D2D3D4D5D6</p><p>

64、;  令:列=D2D3D4D5</p><p><b>  行=D1D6</b></p><p>  然后在S1表中查得對應的數(shù),以4位二進制表示,此即為選擇函數(shù)S1的輸出。下面給出子密鑰(48bit)的生成算法。從子密鑰的生成算法描述圖中我們可以看到:初始Key值為64位,但DES算法規(guī)定,其中第8、16、…64位是奇偶校驗位,不參與DES運算。故Key實際可用位數(shù)

65、便只有56位。即經(jīng)過縮小選擇換位后,Key的位數(shù)由64位變成56位,此56位分為C0、D0兩部分,各28位,然后分別進行第1次循環(huán)左移,得到C1、D1,將C1(28位)、D1(28位)合并得到56位。即經(jīng)過縮小換位,從而得到了密鑰(48位)。以此類推其他密鑰。</p><p>  DES算法的解密過程是一樣的,區(qū)別僅僅在于第一次迭代時用子密鑰K15,第二次用K14,…,最后一次用K0,算法本身并沒有任何變化。&l

66、t;/p><p>  4.2 DES加密模塊設(shè)計</p><p>  4.2.1 DES加密模塊總體構(gòu)架</p><p>  DES加密模塊總體構(gòu)架如圖4-2所示。</p><p>  圖4-2 DES加密模塊總體框架</p><p>  本實例在對DES算法進行建模時,將整個算法分為密鑰產(chǎn)生 模塊key_gen、

67、S部件代換模塊(S1、S2、S3、S4、S5、S6、S7、S8)、DES的一輪變換模塊desround和頂層模塊des。</p><p>  其中密鑰產(chǎn)生模塊被desround模塊調(diào)用。DES加密模塊頂層的外部接口示意圖如圖4-3所示,部分端口功能說明如表4-7所示。</p><p>  表4-7 DES加密模塊部分端口功能說明</p><p>  4.2.2

68、 密鑰產(chǎn)生模塊key_gen設(shè)計</p><p>  DES算法中16輪非線性變換所用到的16個內(nèi)部子密鑰,都是DES由內(nèi)部變換子密鑰產(chǎn)生器產(chǎn)生的,DES的外部輸入密鑰K由64bit組成,即</p><p>  K=(K,K,…,K) </p><p>  64bit的外部密鑰K包含了8個字節(jié),每個字節(jié)有8bit。其中每個字節(jié)的最末一位用奇偶校驗,也就是只有56bi

69、t真正包含了密鑰信息。排PC-1之后分別存到28bit的寄64bit的外部密鑰K輸入以后,首先通過奇偶校驗,剔除奇偶校驗位,得到56bit的密鑰M,M又經(jīng)過換位重存器C0和D0中。PC-1的換位重排規(guī)律如表4-8所示。</p><p>  表4-8 PC-1的換位重排規(guī)律</p><p>  在內(nèi)部子密鑰產(chǎn)生器中,除寄存器(C0,D0)外,還有16對寄存器,即(C1,D1),(C2,D2

70、) ……(C16,D16)。加密時的內(nèi)容是將C 和D中的內(nèi)容分別向左移動1至2位得到的,而且這種移位方式是按循環(huán)移位寄存器方式進行的。在16次左移操作中,總共向左移動了28bit,這樣就保證了C16=C0,D16=D0,即(C16,D16)的內(nèi)容和(C0,D0)完全相同。</p><p>  表4-9 PC-2換位重排規(guī)律</p><p>  48bit的內(nèi)部子密鑰K是從寄存器C1和D1

71、所存儲的56bit中,經(jīng)過PC-2重排按固定方式從中選出的48bit。</p><p>  解密和加密時所用的外部密鑰K完全相同,只是在解密時內(nèi)部16步非線性變換所用的內(nèi)部子密鑰應按K16,…K2,K1的次序使用。</p><p>  密鑰產(chǎn)生模塊key_gen如圖4-4所示。</p><p>  key_gen模塊核心程序如下:</p><p&

72、gt;<b>  ……</b></p><p>  prev_key_var=previous_key; ---iteration CASE 選擇</p><p>  new_key_var=0;</p><p>  new_key=(0);</p><p>  non_perm_key_va

73、r=0;</p><p>  non_perm_key=(0);</p><p>  if(!decrypt)</p><p><b>  begin</b></p><p>  case(iteration)</p><p><b>  0,1,8,15;</b></

74、p><p><b>  begin</b></p><p>  semi_key= prev_key_var[55:28];</p><p>  prev0= semi_key[27];</p><p>  semi_key= semi_key<<1;</p><p>  semi_key

75、[0]=prev0;</p><p>  non_perm_key_var[55:28]= semi_key;</p><p>  semi_key= perv_key_var[27:0];</p><p>  non_perm_key_var[27:0]= semi_key;</p><p><b>  ……</b>&

76、lt;/p><p><b>  default:</b></p><p><b>  begin</b></p><p>  semi_key= prev_key_var[55:28];</p><p>  prev0= semi_key[27];</p><p>  prev0

77、= semi_key[26];</p><p>  semi_key= semi_key<<2;</p><p>  semi_key[1]=prev0;</p><p>  semi_key[0]=prev1;</p><p>  non_perm_key_var[55:28]= semi_key;</p><

78、;p>  semi_key= perv_key_var[27:0];</p><p><b>  ……</b></p><p><b>  else</b></p><p><b>  begin</b></p><p>  case(iteration)</p&g

79、t;<p><b>  0:</b></p><p><b>  begin</b></p><p>  semi_key= prev_key_var[55:28];</p><p>  non_perm_key_var[55:28]= semi_key;</p><p><b&

80、gt;  ……</b></p><p>  non_perm_key=(non_perm_key_var); ---new_key_var產(chǎn)生電路</p><p>  new_key_var[47]= non_perm_key_var[42];</p><p>  new_key_var[46]= non_perm_key_var[39];<

81、;/p><p>  new_key_var[45]= non_perm_key_var[45];</p><p>  new_key_var[44]= non_perm_key_var[32];</p><p><b>  ……</b></p><p>  new_key_var[2]= non_perm_key_var[2

82、0];</p><p>  new_key_var[1]= non_perm_key_var[27];</p><p>  new_key_var[0]= non_perm_key_var[24];</p><p>  new_key=( new_key_var);</p><p><b>  ……</b></p&

83、gt;<p>  在decrypt=1、decrypt=0條件下,key_gen仿真波形分別如圖4-5、圖4-6所示。</p><p>  圖4-5 decrypt=1時key_gen部分仿真波形</p><p>  圖4-6 decrypt=0時key_gen部分仿真波形</p><p>  4.2.3 S部件代換模塊設(shè)計</p>

84、<p>  擴展器輸出的48bit數(shù)據(jù)和密鑰K模2相加得到48bit的數(shù)據(jù)A,這個數(shù)據(jù)必須代換為32bit的數(shù)據(jù)B,再經(jīng)過重排P(B),然后才能和L進行運算。S代換部件就是完成從48bit到32bit的代換并重排。</p><p>  S代換部件是一個十分復雜的非線性函數(shù),正是經(jīng)過它的非線性變換才使明文實現(xiàn)了較好的混亂(confusion),達到加解密效果,從而具有較強的安全性。S代換部件在整個DE

85、S算法中所占比重較大,一共有8個模塊,是設(shè)計中需要關(guān)注的部分。</p><p>  S盒的設(shè)計準則如下:</p><p>  沒有一個S代換部件的輸出位是接近輸入位的線性函數(shù)。</p><p>  如果將輸入位的最左或最右端的位固定,變化中間的4位,每個可能的4位輸出只能得到一次。</p><p>  如果S部件兩個輸入僅有1位的差異,則其輸

86、出必須至少有2位不同。</p><p>  如果S代換部件的兩個輸入僅有中間2位不同,則其輸出必須至少有2位不同。</p><p>  如果S代換部件的兩個輸入前2位不同,后2位已知,則其輸出必不同。</p><p>  對于輸入之間的任何非零的G位差分,32對中至多有8對顯示出的差分導致了相同的輸出差分。</p><p>  對于S代換部件

87、的實現(xiàn),主要有兩種方法:查表法,邏輯電路法。本章節(jié)通過邏輯電路法實現(xiàn)S代換部件。使用邏輯電路法來設(shè)計的時候,通常使用硬件描述語言Verilog HDL編寫程序作為設(shè)計輸入。S部件代換模塊S1,S8仿真波形分別如圖4-7和圖4-8所示。</p><p>  4.2.4 desround 模塊設(shè)計</p><p>  desround模塊執(zhí)行DES算法中的一輪非線性變換。一輪非線性變換的作

88、用過程:第i步非線性變換的輸入信號是32bit的右寄存器R(i),首先把它加到擴展器E上,擴展器把32bit的輸入擴展為48bit的輸出,</p><p>  圖4-7 S1部件代換模塊仿真圖</p><p>  圖4-8 S8部件代換模塊仿真圖</p><p>  然后與第i步的第48bit內(nèi)部變換子密鑰K(i)按位模2相加。接著輸出的48bit,被劃分為8組

89、,每組6bit,分別加到8個代換部件S1,S2,…,S8上,經(jīng)查表代換后輸出4bit。8個部件共輸出32bit,這32bit又經(jīng)過換位重排,再與變換信號的左半部分L(i-1)按位模2相加,就成為下一步變換信號的右半部分R(i).</p><p>  相應的左半部分則為L(i)=R(i-1)。</p><p>  其中擴展器的工作原理如下。</p><p>  假設(shè)3

90、2bit的輸入為:</p><p><b>  R=r,r,…,r</b></p><p>  32bit的輸入被分為8組,每組4bit,再把每組4bit前后各加一個bit,從而擴展為6bit。每組前面的一個bit是復制上一組擴展前的最后一個bit,后面加的一個bit是復制下一組擴展前的最開始的一個bit。而第一組加的一個bit是擴展前的第32bit,第八組后面加上的

91、一個bit則是擴展前第一組的頭一個bit。</p><p>  本模塊調(diào)用了密鑰生成模塊,它的輸出除了左半信號和右半信號,還有密鑰信號。在這一輪運算中,密鑰產(chǎn)生器產(chǎn)生了一個沒有經(jīng)PC-2重排的56bit的數(shù)據(jù)(它是由preious_key移位而得)。這個信號會輸出給Key_o,作為下輪運算的一個輸入,用以產(chǎn)生下一輪運算所需的密鑰。</p><p>  desround模塊核心程序如下:&l

92、t;/p><p>  key_gen1(.previous_key(previous_key), ---key_gen 調(diào)用</p><p>  .iteration(iteration),.decrypt(decrypt),</p><p>  .new_key(new_key),.non_perm_key));</p><p>

93、  always@(posedge clk or negedge reset)</p><p>  begin ---L_o、R_o、Key_o產(chǎn)生邏輯</p><p>  if(!reset)</p><p><b>  begin</b></p><p><b&g

94、t;  L_o=(0);</b></p><p><b>  R_o=(0);</b></p><p>  Key_o=(0);</p><p><b>  end</b></p><p><b>  else</b></p><p><

95、;b>  begin</b></p><p>  L_o=(R_i);</p><p>  R_o=(next_R);</p><p>  Key_o=(non_perm_key);</p><p><b>  end</b></p><p><b>  end<

96、/b></p><p>  always@(R_i or L_i or Key_i or iteration_i or decrypt_i or new_key or s1_i or s2_i or s3_i or s4_i or s5_i or s6_i or s7_i or s8_i)</p><p><b>  begin</b></p>&

97、lt;p>  R_i_var=R_i; --- expandedR產(chǎn)生邏輯</p><p>  expandedR[47]=R_i_var[0];</p><p><b>  ……</b></p><p>  expandedR[1]=R_i_var[0];</p><p&

98、gt;  expandedR[0]=R_i_var[31];</p><p>  previous_key=(Key_i);</p><p>  iteration=(iteration_i);</p><p>  decrypt=(decrypt_i);</p><p>  round_key=new_key;</p><

99、;p>  KER=expandedR^round_key;</p><p>  s1_o=(KER[47:42]); --- s1_o產(chǎn)生邏輯</p><p><b>  ……</b></p><p>  s8_o=(KER[5:0]);</p><p>  Soutput

100、[31:28]=s1_i; --- Soutput、f產(chǎn)生邏輯</p><p><b>  ……</b></p><p>  f[0]=Soutput[7];</p><p>  next_R=(L_i^f);</p><p>  expanRSig=(L_i^f);</p>

101、<p><b>  end</b></p><p>  4.2.5 DES頂層模塊des設(shè)計</p><p>  在DES模型的頂層模塊中,實例化了desround模塊和8個S代換部件,綜合之后各模塊之間連接關(guān)系:輸入密鑰key_i、待加密數(shù)據(jù)data_i的左半信號及右半信號各經(jīng)過一個兩路數(shù)據(jù)選擇器后連接到desround模塊的數(shù)據(jù)輸入端(Li[31:

102、0])和密鑰輸入端(Key_i[55:0])。這里之所以需要數(shù)據(jù)選擇器,是因為模塊僅在load_i為高電平時接受外部數(shù)據(jù),待加/解密數(shù)據(jù)和外部密鑰通過數(shù)據(jù)選擇器輸入到desround模塊的數(shù)據(jù)輸入端和密鑰輸入端。load_i信號持續(xù)一個時鐘周期以后會變?yōu)榈碗娖?,在此之后?shù)據(jù)選擇器將選擇輸出另一路數(shù)據(jù),desround模塊每輪變換之后的輸出密鑰和數(shù)據(jù),將被送到desround模塊的密鑰輸入端和數(shù)據(jù)輸出端執(zhí)行下一輪變換。</p>

103、<p>  16輪變換結(jié)束之后,ready_o會變?yōu)楦唠娖?,這時整個模塊的輸出data_o才為有效數(shù)據(jù)。ready_o信號持續(xù)一個時鐘周期以后又變?yōu)榈碗娖?,load_i再次上跳為高電平,模塊對下一個明文分組進行加密。</p><p>  4.3 DES加密方案設(shè)計</p><p>  4.3.1 資源優(yōu)先設(shè)計方案</p><p>  資源優(yōu)先方案

104、就是通過硬件設(shè)計出一個密鑰變換輪函數(shù)和一個明文變換輪函數(shù),通過16輪反復調(diào)用這一個硬件系統(tǒng)實現(xiàn)一次DES加密運算。由于16輪運算都只占用一輪運算所需的硬件資源,使硬件的開銷大大減少。但是,一個時鐘周期只能進行一輪加密運算,要完成整個加密過程要花費16個時鐘周期,從而在速度性能上大打折扣。而采用循環(huán)法實現(xiàn)DES加密算法能達到減少資源占用的目的。</p><p>  4.3.2 性能優(yōu)先設(shè)計方案</p>

105、<p>  性能優(yōu)先設(shè)計方案剛好與資源優(yōu)先設(shè)計方案相反。傳統(tǒng)方案是將循環(huán)全部打開配合流水線結(jié)構(gòu)進行設(shè)計,即將16輪函數(shù)進行硬件級聯(lián)構(gòu)成一個16級的流水線結(jié)構(gòu),提前生成16個子密鑰,隨著流水線的進程發(fā)送給相對應的流水級,從而達到16個數(shù)據(jù)塊同時加密的目的。這樣,從第一個數(shù)據(jù)塊開始加密起,每一個時鐘周期延時都會有一個數(shù)據(jù)塊進行加密,經(jīng)16個時鐘周期延時后,得到最終的密文。流水線結(jié)構(gòu)設(shè)計通過一個時鐘周期即可進行一個數(shù)據(jù)塊的加密,

106、通過占用資源換取速度性能的提高。  本文通過子密鑰的簡化和S盒的優(yōu)化來改進傳統(tǒng)的流水線結(jié)構(gòu),實現(xiàn)一個占用資源少、加密速度快的加密系統(tǒng)。</p><p>  (1) 子密鑰的簡單生成</p><p>  由DES加密算法原理可知,一個64bit的初始密鑰輸入后通過一次壓縮變換、移位變換、二次壓縮變換后得到第一輪子密鑰,其密鑰為48bit。由第一輪子密鑰變換結(jié)果可以看出:第

107、一輪子密鑰的第1、2、3、…、46、47、48位分別為初始密鑰的第10、51、34、…、62、55、31位。每一輪子密鑰產(chǎn)生的方法是一樣的,如果采用硬件描述語言按照其子密鑰產(chǎn)生的原理一步步地推導出16次DES迭代的密鑰,不僅僅是語言表述繁瑣,而且占用了很多的硬件資源。同時,由于每一輪子密鑰產(chǎn)生的時間并不相同,會給DES密碼的迭代運算帶來很多不必要的麻煩。</p><p>  對密鑰變換原理進行分析可以發(fā)現(xiàn),每一輪

108、子密鑰的產(chǎn)生只是將初始密鑰經(jīng)過置換和不同次數(shù)的循環(huán)移位。每一輪循環(huán)移位的次數(shù)對原始密鑰是固定的,其每一位相對于初始密鑰的每一位存在著固定的關(guān)系,由此可以列出每一輪子密鑰與初始密鑰之間的關(guān)系表,通過關(guān)系表采用硬件描述語言可同時產(chǎn)生16輪子密鑰。采用此方法大大簡化了程序語言、節(jié)約了硬件的資源開銷。</p><p><b>  (2) S盒的優(yōu)化</b></p><p> 

109、 S盒的設(shè)計是DES算法的關(guān)鍵部分, S盒設(shè)計的優(yōu)劣將影響整個算法的性能。S盒是DES加密算法中唯一的非線性函數(shù),S盒的非線性變換使算法達到很好的“混亂”效果,從而具有較強的安全性。</p><p>  S盒的原理是輸入6bit的數(shù)據(jù),其中第1位和第6 位確定行,中間4bit確定列,通過行、列查表確定對應的4 bit的輸出。根據(jù)S盒的工作原理,可直接使用輸入為6變量、輸出為4變量的case語句進行描述,構(gòu)成一個4

110、bit 64個存儲空間的表。然而這樣的語句雖然可讀性很強,但綜合的效率往往不高,占用資源過多,速度也比較低,使S盒成為系統(tǒng)速度的瓶頸。</p><p><b>  總結(jié)</b></p><p>  本文主要使用Verilog HDL語言編寫DES加密模塊設(shè)計的實現(xiàn),簡要介紹了Verilog HDL在EDA仿真設(shè)計中的應用,體現(xiàn)了Verilog HDL語言的靈活方便及無

111、窮“魅力”。EDA技術(shù)代表了當今電子設(shè)計技術(shù)的最新發(fā)展方向,它徹底改變了數(shù)字系統(tǒng)的設(shè)計方法和實現(xiàn)手段。隨著硬件描述語言Verilog HDL的普及以及FPGA的廣泛應用,它必將在硬件設(shè)計領(lǐng)域發(fā)揮更重要的作用。</p><p>  本文利用ModelSim對DES加密算法程序進行了仿真,得到的仿真波形初步驗證了DES加密功能的正確性。本文按照資源優(yōu)先和性能優(yōu)先兩種不同的設(shè)計方案,分別采取循環(huán)法和流水線法予以實現(xiàn)。同

112、時,對性能優(yōu)先方案提出了改進方法即:子密鑰簡單生成和S盒的優(yōu)化。通過對這三種方法進行綜合仿真驗證,證實了改進流水線法的正確可行性。這兩種方案可以用于不同要求的應用領(lǐng)域,具有較大的靈活性。</p><p><b>  致謝</b></p><p>  大學生活即將結(jié)束,論文也終于完成,從論文選題到搜集資料,從寫稿到反復修改,期間經(jīng)歷了喜悅、聒噪、痛苦和彷徨,在寫作論文的

113、過程中心情是如此復雜。如今,伴隨著這篇畢業(yè)論文的最終成稿,復雜的心情煙消云散,自己甚至還有一點成就感。</p><p>  在此,我要感謝所有曾經(jīng)教導過我的老師和關(guān)心過我的同學,感謝周彥良老師在畢業(yè)設(shè)計過程中給我講解設(shè)計思想,幫我理清思路,使我的畢業(yè)設(shè)計順利進行。</p><p>  本論文是在周彥良老師的精心指導下完成的,無論是在程序設(shè)計階段還是在論文寫作過程中,周老師都給予了我很大的支

114、持與幫助。周老師的認真負責、謙虛嚴謹?shù)墓ぷ鲬B(tài)度,嚴謹?shù)闹螌W精神和深厚的理論水平讓我獲益匪淺,對我以后的工作和學習都有巨大的幫助。衷心感謝周老師給予我的關(guān)心和指導,感謝我的同學在畢業(yè)設(shè)計中給予我的幫助。</p><p>  感謝在我學習過程中給予我?guī)椭乃腥?,因為大家的幫助,我的論文才能順利地完成?lt;/p><p>  畢業(yè)設(shè)計完成之際,大學生活即將結(jié)束,回首往事,感慨萬千!四年光陰瞬息而

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論