




已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1 數(shù)據(jù)加密標(biāo)準(zhǔn)( 稱為數(shù)據(jù)加密算法( ( 是近 20 年來(lái)使用的加密算法。后來(lái),人們發(fā)現(xiàn) 強(qiáng)大攻擊下太脆弱,因此使 應(yīng)用有所下降。但是,任何一本安全書籍都不得不提到 為它曾經(jīng)是加密算法的標(biāo)志。介紹 一,介紹 二,更重要的是分析和理解實(shí)際加密算法。利用 這個(gè)方法,我們還要從概念上介紹其他加密算法,但不準(zhǔn)備深入介紹,因?yàn)橥ㄟ^(guò) 紹已經(jīng)可以了解計(jì)算機(jī)加密算法的工作原理。 常使用 生可以追溯到 1972 年,美國(guó)的國(guó)家標(biāo)準(zhǔn)局( 現(xiàn)在的國(guó)家標(biāo)準(zhǔn)與技術(shù)學(xué)會(huì), 動(dòng)了一個(gè)項(xiàng)目,旨在保護(hù)計(jì)算機(jī)和計(jì)算機(jī)通信中的數(shù)據(jù)。它們想開發(fā)一個(gè)加密算法。兩年之后, 現(xiàn) 司的 當(dāng)理想,沒有必要從開頭開發(fā)一個(gè)新的加密算法。經(jīng)過(guò)幾次討論, 1975 年發(fā)布了這個(gè)加密算法的細(xì)節(jié)。到 1976 年底,美國(guó)聯(lián)邦政 府決定采用這個(gè)算法,并將其更名為數(shù)據(jù)加密標(biāo)準(zhǔn)。不久,其他組織也認(rèn)可和采用 為加密算法。 法為密碼體制中的對(duì)稱密碼體制,又被成為美國(guó) 數(shù)據(jù)加密標(biāo)準(zhǔn) ,是1972 年美國(guó) 司研制的對(duì)稱密碼體制加密算法。其密鑰長(zhǎng)度為 56 位 , 明文按 64 位進(jìn)行分組 , 將分組后的明文組和 56 位的密鑰按位替代或交換的方法形成密文組的加密方法。 法,于 1977 年得到美國(guó)政府的正式許可,是一種用 56 位密鑰來(lái)加密 64 位數(shù)據(jù)的方法。雖然 56 位密鑰的 法已經(jīng)風(fēng)光不在,而且常有用 密的明文被破譯的報(bào)道,但是了解一下昔日美國(guó)的標(biāo)準(zhǔn)加密算法總是有益的 , 而且目前 法得到了廣泛的應(yīng)用 , 在某些場(chǎng)合 , 仍然發(fā)揮著余熱 。 2 1983 年 由 公司 的 主要設(shè)計(jì)者和 第一合伙人。在 1984 至 1985 年 計(jì)出了第一個(gè)名為 仿真器, 1986 年他對(duì) 發(fā)展又作出了另一個(gè)巨大的貢獻(xiàn),即提出了用于快速門級(jí)仿真 法。 隨著 法的成功, 到了迅速發(fā)展。 1989 年, 購(gòu)了 司, 言成為 司的私有財(cái)產(chǎn)。1990 年, 言,于是 成立了 織來(lái)負(fù)責(zé)促進(jìn) 于 優(yōu)越性, 1995 年制定了 準(zhǔn), 2005 年 準(zhǔn)的公布,更使得 真驗(yàn)證和模塊的重用等性能方面都有大幅度提高。 為了制作數(shù)字電路而用來(lái)描述 設(shè)計(jì)之用。 設(shè)計(jì)者想要以 C 編程語(yǔ)言為基礎(chǔ)設(shè)計(jì)一種語(yǔ)言,可以使工程師比較容易學(xué)習(xí)。 該語(yǔ)言允許設(shè)計(jì)者進(jìn)行各種級(jí)別的邏輯設(shè)計(jì),進(jìn)行數(shù)字邏輯系統(tǒng)的仿真驗(yàn)證時(shí)序分析邏輯綜合。它目前是應(yīng)用最廣泛的硬件語(yǔ)言。 行設(shè)計(jì)最大的優(yōu)點(diǎn)是其工藝無(wú)關(guān)性 。 這使得工程師在功能設(shè)計(jì),邏輯驗(yàn)證階段可以不必過(guò)多考慮門級(jí)及工藝實(shí)現(xiàn)的具體細(xì)節(jié),只需根據(jù)系統(tǒng)設(shè)計(jì)的要求施加不同約束條件,即可設(shè)計(jì)出實(shí)際電路 。 3 2 設(shè)計(jì)的技術(shù)基礎(chǔ) 術(shù)是隨著集成電路和計(jì)算機(jī)技術(shù)的飛速發(fā)展應(yīng)運(yùn)而生的一種高級(jí)、快速、有效的電子設(shè)計(jì)自動(dòng)化工具。隨著計(jì)算機(jī)、集成電路、電子系統(tǒng)設(shè)計(jì)的發(fā)展, 術(shù)先后經(jīng)歷了計(jì)算機(jī)輔助設(shè)計(jì)計(jì)算機(jī)輔助工程設(shè)計(jì) 電子系統(tǒng)設(shè)計(jì)自動(dòng)化 個(gè)發(fā)展階段。 鍵技術(shù)之一就是采用硬件描述語(yǔ)言 對(duì)硬件電路進(jìn)行描述,且具有系統(tǒng)級(jí)仿真和綜合能力。目前應(yīng)用比較廣泛的硬件描述語(yǔ)言就是 最早是由美國(guó)國(guó)防部提出來(lái)的。 利用 術(shù)進(jìn)行電子系統(tǒng)的設(shè)計(jì),具有以下幾個(gè)特點(diǎn): 用軟件的方式設(shè)計(jì)硬件; 用軟件方式設(shè)計(jì)的系統(tǒng)到硬件系統(tǒng)的轉(zhuǎn)換是由有關(guān)的開發(fā)軟件自動(dòng)完成的; 設(shè)計(jì)過(guò)程中可用有關(guān)軟件進(jìn)行各種仿真; 系統(tǒng)可現(xiàn)場(chǎng)編程,在線升級(jí); 整個(gè)系統(tǒng)可集成在一個(gè)芯片上,體積小、功耗低、可靠性高 。 因此, 術(shù)是現(xiàn)代電子設(shè)計(jì)的發(fā)展趨勢(shì) ,是現(xiàn)代電子信息工程領(lǐng)域的一門新技術(shù)。 術(shù)涉及面廣,內(nèi)容豐 富,主要應(yīng)掌握如下四個(gè)方面的內(nèi)容: 大規(guī)??删幊踢壿嬈骷?; 硬件描述語(yǔ)言; 軟件開發(fā)工具; 實(shí)驗(yàn)開發(fā)系統(tǒng)。 其中,大規(guī)??删幊踢壿嬈骷抢?術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的載體,硬件描述語(yǔ)言是利用 術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的主要表達(dá)手段,軟件開發(fā)工具是利用 術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的智能化的自動(dòng)化設(shè)計(jì)工具,實(shí)驗(yàn)開發(fā)系統(tǒng)則是利用 術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的下載工具及硬件驗(yàn)證工具。 4 初是美國(guó)國(guó)防部為其超高速集成電路研究計(jì)劃提出的硬件描述語(yǔ)言,目的 是為了把電子電路的設(shè)計(jì)意義以文字或文件的方式保存下來(lái),以便其他人能輕易地了解電路的設(shè)計(jì)意義?,F(xiàn)在它已成為 工業(yè)標(biāo)準(zhǔn)硬件描述語(yǔ)言之一。 一種全方 位的硬件描述語(yǔ)言,具有極強(qiáng)的描述能力,能支持系統(tǒng)行為級(jí)、寄存器傳輸級(jí)和邏輯門級(jí) 等幾種 不同層次的設(shè)計(jì),支持結(jié)構(gòu)、數(shù)據(jù)流、行為三種描述形式的混合描述,覆蓋面強(qiáng),因此在實(shí)際應(yīng)用中越來(lái)越廣泛。為硬件描述語(yǔ)言的第一個(gè)國(guó)際標(biāo)準(zhǔn)具有很強(qiáng)的可移植性;具有豐富的模擬仿真語(yǔ)句和庫(kù)函數(shù),使得在任何大系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn) 設(shè)計(jì)系統(tǒng)功能的可行性,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬,將設(shè)計(jì)中邏輯上的錯(cuò)誤消滅在組裝之前。 因此 ,在設(shè)計(jì)早期系統(tǒng)功能 時(shí) 就具有可行性;設(shè)計(jì)層次較高,可用于較復(fù)雜的計(jì)算來(lái)解決現(xiàn)存的問(wèn)題,從而縮短設(shè)計(jì)周期; 設(shè)計(jì)不依賴于特定的器件的轉(zhuǎn)換;支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的邏輯綜合和優(yōu)化;并且 設(shè)計(jì)可轉(zhuǎn)變成門級(jí)網(wǎng)表; 路控制 設(shè)計(jì),靈活性強(qiáng),同時(shí)也便于設(shè)計(jì)結(jié)果的保存和重用。 隨著計(jì)算機(jī)和大規(guī)模集成電路制造技術(shù)的迅速發(fā)展,采用普通中小規(guī) 模數(shù)字邏輯集成電路,如 74 系列的 經(jīng)不能滿足現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)的要求,迫切需要提高設(shè)計(jì)效率。 門語(yǔ)言正越來(lái)越廣泛的被應(yīng)用,越來(lái)越多的學(xué)校已經(jīng)把 配有大量的實(shí)踐教學(xué)使學(xué)生掌握它。 示。 a) 具有極強(qiáng)的描述能力,能支持系統(tǒng)行為級(jí)、寄存器傳輸級(jí)和門級(jí)三個(gè)不同層次的設(shè)計(jì)。 b) 具有豐富 的模擬仿真語(yǔ)句和庫(kù)函數(shù),使得在任何大系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)功能的可行性,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬,將設(shè)計(jì)中邏輯上的錯(cuò)誤消滅在組裝之前。 c) 支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)再利用。 5 d) 可讀性好,既可以被計(jì)算機(jī)接受,也容易被人所理解。 e) 本身生命期長(zhǎng)。 圖 2 E 簡(jiǎn)介 業(yè)界最優(yōu)秀的 譯 軟件,它能提供友好的仿真環(huán)境,是業(yè)界唯一的單內(nèi)核支持 合仿真的仿真器。它采用直接優(yōu)化的編譯技術(shù)、 k 技術(shù)、和單一內(nèi)核仿真技術(shù),編譯仿真速度快,編譯的代碼與平臺(tái)無(wú)關(guān),便于保護(hù) ,個(gè)性化的圖形界面和用戶接口,為用戶加快調(diào)錯(cuò)提供強(qiáng)有力的手段,是 計(jì)的首選仿真軟件。 主要特點(diǎn): 地編譯結(jié)構(gòu),編譯仿真速度快,跨平臺(tái)跨版本仿真; 單內(nèi)核 源代碼模版和助手,項(xiàng)目管理; 集成了性能分析、波形比較、代碼覆蓋、數(shù)據(jù)流 擬對(duì)象 口、 口、源碼窗口顯示信號(hào)值、信號(hào)條件斷點(diǎn)等眾多調(diào)試功能; C 和 k 接口, 對(duì) 直接支持,和 設(shè) 計(jì) 實(shí) 體 庫(kù)、程序包使用說(shuō)明 實(shí)體 (結(jié)構(gòu)體 配置( 結(jié)構(gòu)體功能描述 結(jié)構(gòu)體說(shuō)明 6 支持 對(duì)系統(tǒng)級(jí)描述語(yǔ)言的最全面支持, 幾種不同的版本: 中 最高級(jí)的版本,而集成在 及 商設(shè)計(jì)工具中的均是其 本。 和 在功能和性能方面有較大差別,比如對(duì)于大家都關(guān)心的仿真速度問(wèn)題,以 司提供的 E 為例,對(duì)于代碼少于 40000 行的設(shè)計(jì), E 比E 要快 10 倍;對(duì) 于代碼超過(guò) 40000 行的設(shè)計(jì), E 要比 E 快近 40 倍。 E 支持 合平臺(tái);提供全面完善以及高性能的驗(yàn)證功能;全面支持業(yè)界廣泛的標(biāo)準(zhǔn);司提供業(yè)界最好的技術(shù)支持與服務(wù)。 7 3 基本原理 個(gè)塊加密法,按 64 位塊長(zhǎng)加密數(shù)據(jù),即把 64 位明文作為 輸入,產(chǎn)生 64 位密文輸出。加密與解密使用相同的算法和密鑰,只是稍作改變。密鑰長(zhǎng)度為 56 位?;驹韴D如 3 圖 3前面曾經(jīng)介紹過(guò), 用 56 位密鑰。實(shí)際上,最初的密鑰位 64 位,但在程開始之前放棄密鑰的每個(gè) 第八位,從而得到 56 位密鑰,即放棄第 8, 16,24, 32, 40, 48, 56 和 64 位,如表 3示,陰影部分表示放棄的位。 這樣, 64 位密鑰丟棄每個(gè)第 8 位即得到 56 位密鑰,如圖 3示。 簡(jiǎn)單地說(shuō), 用加密的兩個(gè)基本屬性:替換(也稱混淆)和變換(也稱擴(kuò)散)。 16 步,每一步稱為一輪,每一步進(jìn)行替換與變換步驟。 64 位明文 56 位密鑰 56位密鑰 64 位密文 56 位密鑰 64 位明文 4 位密文 64 位密文 4 位明文 塊 1 塊 2 塊 n 8 表 3棄密鑰中的每個(gè)第 8位 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 圖 3鑰丟棄過(guò)程 下面介紹 主要步驟。 1) 將 64 位明文塊送入初始置換( 數(shù)。 2) 對(duì)明文進(jìn)行初始置換。 3) 初始置換產(chǎn)生轉(zhuǎn)換塊的兩半,假設(shè)為左明文 (右明文( 4) 每個(gè)左明文與右明文經(jīng)過(guò) 16 輪加密過(guò)程,各有自己的密鑰。 5) 將左明文和右明文重接起來(lái),對(duì)組成的塊進(jìn)行最終置換( 6) 這個(gè)過(guò)程的結(jié)果得到 64 位密文。 圖 3示了這個(gè)過(guò)程。 最初的 64 位密鑰 密鑰丟棄過(guò)程 得到 56 位密鑰 9 圖 3初始置換 初始置換只發(fā)生一次,是在第一輪之前進(jìn)行的,指定初始置換中的變換如何進(jìn)行,如表 3示。例如,它指出初始置換將原明文塊的第一位換成原明文塊的第 58 位,第 2 位換成原明文塊的第 50 位,等等,這只是把原明文塊進(jìn)行移位。 表 3始置換 明文塊中各位位置 換成該位置的內(nèi)容 1 2 3 64 58 50 42 7 表 3示了 用的完整變換表。這個(gè)表要從左向右、從上到下讀。例如,密鑰 步驟 1 步驟 2 步驟 3 步驟 4 明文( 64 位) 初始置換( 6 輪 16 輪 密鑰 步驟 6 步驟 5 最終轉(zhuǎn)換( 密文( 64 位 ) 10 我們發(fā)現(xiàn)第一個(gè)位置的 58 表示原明文塊中第 58 位的內(nèi)容在初始置換時(shí)改寫第一位的內(nèi)容,同樣, 1 放在表中第 40 位,表示第一位改寫原明文塊中第 40 位,所有其他位一樣。 成后,得到的 64 位置換文本塊分成兩半,各 32 位,左塊成左明文( 右塊成右明文( 然后對(duì)兩塊進(jìn)行 16 輪操作。 表 3用的完整變換表 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 一輪 一輪包括圖 3示步驟 。 圖 3第一步:密鑰變換 最初 64 位密鑰通過(guò)放棄每個(gè)第 8位而得到 56 位密鑰。這樣,每一輪有個(gè) 56位密鑰。每一輪從這個(gè) 56 位密鑰產(chǎn)生不同的 48 位子密鑰,稱為密鑰變換。為此,56 位密鑰分成兩半,各為 28 位,循環(huán)左移一位或兩位。例如,如果輪號(hào)為 1、 2、9、 16,則只移一位,否則移兩位。表 3示了每一輪移動(dòng)的密鑰位數(shù)。 擴(kuò)展置換 密鑰變換 異或交換 11 相應(yīng)移動(dòng)后,選擇 56 位中的 48 位。選擇 56 位中的 48 位時(shí)使用表 3示,如果仔細(xì)看看表格則可發(fā)現(xiàn)其中只有 48 位。位號(hào) 18 放棄(表中沒有),另外 7位也是,從而將 56 位減到 48 位。由于密鑰變換要進(jìn)行置換和選擇 56 位中的 48位,因此稱為壓縮置換 ( 表 3一輪移動(dòng)的密鑰位數(shù) 輪號(hào) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 位數(shù) 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 表 3縮置換 14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 第 2 步 擴(kuò)展置換 經(jīng)過(guò)初始置換后我們得到兩個(gè) 32 位明文區(qū),分別稱為左明文和右明文。擴(kuò)展置換將右明文從 32 位擴(kuò)展到 48 位,除了從 32 位擴(kuò)展到 48 位之外,這些位也進(jìn)行置換,因此稱為擴(kuò)展置換( 過(guò)程如下: 1) 將 32 位右明文分成 8 塊,每塊各有 4 位,如圖 3示。 2) 將上一步的每個(gè) 4 位塊擴(kuò)展為 6 位塊,即每個(gè) 4 位塊增加 2位。這兩位實(shí)際上是重復(fù) 4 位塊的第 1 位和第 4 位。第 2 位和第 4 位口令輸入一樣寫出。注意第一個(gè)輸入位在第二個(gè)輸出位重復(fù),并在第 48 位重復(fù)。同樣,第 32 個(gè)輸入位在第 47 個(gè)輸出位和第 1個(gè)輸出位。 顯然,這個(gè)過(guò)程在生成輸出時(shí)擴(kuò)展和置換輸入位。 12 圖 3展置換 右明文擴(kuò)展置換過(guò)程如圖 3示。 圖 3明文擴(kuò)展置換過(guò)程 由擴(kuò)展置換過(guò)程圖可以知:第一個(gè)輸入位出現(xiàn)在第二個(gè)輸出位和第 48 位,第二個(gè)輸入位到 第三個(gè)輸出位,等等。因此,擴(kuò)展置換實(shí)際上使用表 3示。 原始 32 位右明文 塊 1( 4位) 塊 2( 4位) 塊 8( 4位) 1 2 3 4 5 6 輸出塊 1 輸出塊 2 輸出塊 8 2 1 3 4 5 6 7 8 輸入塊 1 輸入塊 2 輸入塊 8 13 表 3明文擴(kuò)展置換表 32 1 2 3 4 5 6 7 8 9 8 9 10 11 12 13 14 15 16 17 16 17 18 19 20 21 22 23 24 25 24 25 26 27 28 29 30 31 32 1 由表 3知密鑰變換將 56 位密鑰壓縮成 48 位,而擴(kuò)展置換將 32 位右明文擴(kuò)展為 48 位?,F(xiàn)在, 48 位密鑰與 48 位右明文進(jìn)行異或運(yùn)算,將結(jié)果傳遞到下一步,即 S 盒替換如圖 3示。 圖 3第 3 步: S 盒替換 替換使用 8 個(gè)替換盒( (也稱為 S 盒 ),每個(gè) S 盒有 6位輸入和 4 位輸出。 48 位輸入塊分成 8 個(gè)子塊(各有 6 位),每個(gè)子塊指定一個(gè) S 盒。S 盒將 6 位輸入變成 4 位輸出。 第 4 步: 所有 S 盒的輸出組成 32 位塊,對(duì)該 32 位要進(jìn)行 P 盒置換( P 盒置換機(jī)制只是進(jìn)行簡(jiǎn)單置換(即按 P 表指定把一位換成另一位,而不進(jìn)行擴(kuò)展的壓縮)。表 3示了 P 盒。例如, 第一塊的 16 表示原輸入的第16 位移到輸出的第 1位,第 16 塊的 10 表示原輸入的第 10 位移到輸出的第 16 位。 密鑰變換(將密鑰從 56 位壓縮為 48 位) 擴(kuò)展置換(將右明文 從 32 位擴(kuò)展為 48 位) 48 位密鑰 48 位右明 文 14 表 316 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 第 5 步:異或與交換 注意上述所有操作只是處理了 64 位明文的右邊 32 位,還沒有處理左邊部分。這時(shí),最初 64 位明文的大部分與 P 盒置換的結(jié)果進(jìn)行異或運(yùn)算,結(jié)果成為新的右明文,并通過(guò)交換將舊的右明文變成為新的左明文 。 最終置換 16 輪結(jié)束后,進(jìn)行最終置換(只一次),即按表 3行變換。例如,第 40位輸入代替第 1 位輸出等等。 最終置換的輸出就是 64 位加密塊。 表 3終置換 40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25 15 4 據(jù)加密標(biāo)準(zhǔn)),是由 司研制的一種加密算法, 1977 年,美國(guó)國(guó)家標(biāo)準(zhǔn)局宣布把它作為非機(jī)要部門使用的的數(shù)據(jù)加密標(biāo)準(zhǔn),隨著“三金”工程尤其是金卡工程的啟動(dòng), 法在 卡及智能卡( )、加油站、高速公路收費(fèi)站等領(lǐng)域被廣泛應(yīng)用,以此來(lái)實(shí)現(xiàn)關(guān)鍵數(shù)據(jù)的保密。如信用卡持卡人的 加密 傳輸、 與 的雙向認(rèn)證、金融交易數(shù)據(jù)包的 驗(yàn)等,均用到 法。 法的入口參數(shù)有三個(gè): 中 8 字節(jié)共 64位,是 法的工作密鑰; 字節(jié)共 64 位,是要被加密或被解密的數(shù)據(jù); 工作方式,包括加密和解密兩種,如圖 4 法框圖。 如 用 成 64位)作為 輸出結(jié)果。如 解密,則用 密碼形式的數(shù)據(jù) 原為 64 位),作為 輸出結(jié)果。 通過(guò)定期在通信網(wǎng)絡(luò)的源端和目的地端同時(shí)改用新的 能更進(jìn)一步提高數(shù)據(jù)的保密性,這正是現(xiàn)在金融交易網(wǎng)絡(luò)流行的做法。 法把 64 位的明文輸入塊變?yōu)?64 位的密文輸出塊,它所使用的密鑰也是 64 位的,其功能是把輸入的 64 位數(shù)據(jù)塊按位重新組合,并把輸出分為 0 兩部分,每部分各長(zhǎng) 32 位,其置換規(guī)則見表 4 表 458 50 12 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 53 55 47 39 31 23 15 7 即將輸入的第 58 位換到第 1 位,第 50 位換到第 2 位,依此類推,最后一位是原來(lái)的第 7 位 是換位輸出后的兩部分, 輸出的左 32 位, 右 32 位,例:設(shè)置換前的輸入值為 經(jīng)過(guò)初始置換后的結(jié)果為: 16 50, 57 明 文L O R f+K 1L 1 = R 0R 1 = L 0 異 或f ( R 0 , K 1 )1 6 輪 相 同 計(jì) 算R 1 6 = L 1 5 異 或f ( R 1 5 , K 1 6 )L 1 5 = R 1 6I 密 文圖 4經(jīng)過(guò) 16 次迭代運(yùn)算后,得到 此作為輸入,進(jìn)行逆置換,即得到密文輸出。逆置換正好是初始置換的逆運(yùn)算,例如,第 1位經(jīng)過(guò)初始置換后,處于第 40 位,而通過(guò)逆置換,又將第 40 位換回到第 1 位,其逆置換規(guī)則、放大換位、單純換位分別見表 4 4 4 17 表 440 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25 表 432 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1 表 416 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 在 f( R, K)算法描述圖中, , 選擇函數(shù),其功能是把 6據(jù)。 別見表 4 4 表 4法描述圖中選擇函數(shù) 4 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 表 4法描述圖中選擇函數(shù) 3 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11 在此,以 例說(shuō)明其功能。我們可以看到:在 ,共有 4 行數(shù)據(jù),命名為 0、 1、 2、 3行;每行有 16 列,命名為 0、 1、 2、 3 14、 15 列。 現(xiàn)設(shè)輸入為: D=18 令:列 = =后在 中查得對(duì)應(yīng)的數(shù),以 4 位二進(jìn)制表示,此即為選擇函數(shù) 輸出。下面給出子密鑰( 48生成算法。從子密鑰的生成算法描述圖中我們可以看到:初始 4 位,但 法規(guī)定,其中第 8、 16、 64 位是奇偶校驗(yàn)位,不參與 算。故 6 位。即經(jīng)過(guò)縮小選擇換位后, 4 位變成 56 位,此 56 位分為 部分,各 28 位,然后分別進(jìn)行第 1 次循環(huán)左移,得到 28 位)、 28 位)合并得到 56 位。即經(jīng)過(guò)縮小換位,從而得到了密鑰( 48 位)。以此類推其他密鑰。 法的解密過(guò)程是一樣的,區(qū)別僅僅在于第一次迭代時(shí)用子密鑰 二次用 ,最后一次用 法本身并沒有任何變化。 體構(gòu)架 密模塊總體構(gòu)架如圖 4示。 圖 4本實(shí)例在對(duì) 法進(jìn)行建模時(shí),將整個(gè)算法分為密鑰產(chǎn)生 模塊 部件代換模塊( 一輪變換模塊 其中密鑰產(chǎn)生模塊被 塊調(diào)用。 密模塊頂層的外部接口示意圖如圖 4示,部分端口功能說(shuō)明如表 4示。 2 4 6 8 19 表 4類型 端口 描述 3 0 3 0 3 0 密鑰產(chǎn)生模塊 法中 16 輪非線性變換所用到的 16 個(gè)內(nèi)部子密鑰,都是 內(nèi)部變換子密鑰產(chǎn)生器產(chǎn)生的, 外部輸入密鑰 K 由 64成,即 K=( , 64外部密鑰 K 包含了 8 個(gè)字節(jié),每個(gè)字節(jié)有 8中每個(gè)字節(jié)的最末一位用奇偶校驗(yàn),也就是只有 56正包含了密鑰信息。排 后分別存到 28寄 64外部密鑰 K 輸入以后,首先通過(guò)奇偶校 驗(yàn),剔除奇偶校驗(yàn)位,得到 56密鑰 M, M 又經(jīng)過(guò)換位重存器 。 換位重排規(guī)律如表 4示。 3 0 3 0 3 0 4 20 表 457 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 在內(nèi)部子密鑰產(chǎn)生器中, 除寄存器( ,還有 16 對(duì)寄存器,即( 1) ,(2) (16)。加密時(shí)的內(nèi)容是將 C 和 D 中的內(nèi)容分別向左移動(dòng) 1 至 2位得到的,而且這種移位方式是按循環(huán)移位寄存器方式進(jìn)行的。在 16 次左移操作中,總共向左移動(dòng)了 28樣就保證了 0, 0,即( 內(nèi)容和( 全相同。 表 414 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 54 34 53 46 42 50 36 29 32 48內(nèi)部子密鑰 K 是從寄存器 存儲(chǔ)的 56,經(jīng)過(guò) 8 解密和加密時(shí)所用的外部密鑰 K 完全相同,只是在解密時(shí)內(nèi)部 16 步非線性變換所用的內(nèi)部子密鑰應(yīng)按 次序使用。 密鑰產(chǎn)生模塊 圖 4示。 21 塊核心程序如下: 擇 ; 0); ; 0); 0,1,8,15; 5:28; 7; 1; =5:28= 7:0; 7:0= 5:28; 7; 5 0 0 5 0 7 0 圖 4鑰產(chǎn)生模塊 22 6; 2; =5:28= 7:0; 0: 5:28; 5:28= ; 7= 2; 6= 9; 5= 5; 4= 2; = 0; = 7; = 4; 在 、 條件下, 真波形分別如圖 4 4 23 圖 4時(shí) 圖 4時(shí) 擴(kuò)展器輸出的 48據(jù)和密鑰 K 模 2 相加得到 48數(shù)據(jù) A,這個(gè)數(shù)據(jù)必 24 須代換為 32數(shù)據(jù) B,再經(jīng)過(guò)重排 P(B),然后才能和 L 進(jìn)行運(yùn)算。 S 代換部件就是完成從 48 32代換并重排。 S 代換部件是一個(gè)十分復(fù)雜的非線性函數(shù),正是經(jīng)過(guò)它的非線性變換才使明文實(shí)現(xiàn)了較好的混亂( 達(dá)到加解密效果,從而具有較強(qiáng)的安全性。 法中所占比重較大,一共有 8 個(gè)模塊,是設(shè)計(jì)中需要關(guān)注的部分。 S 盒的設(shè)計(jì)準(zhǔn)則如下: 沒有一個(gè) 輸出位是接近輸入位的線性函數(shù)。 如果將輸入位的最左或最右端的位固定,變化中間的 4 位,每個(gè)可能的4 位輸出只能得到一次。 如果 S 部件兩個(gè)輸入僅有 1 位的差異,則其輸出必須至少有 2 位不同。 如果 S 代換部件的兩個(gè)輸入僅有中間 2 位不同,則其輸出必須至少有 2位不同。 如果 S 代換部件的兩個(gè)輸入前 2 位不同,后 2 位已知,則其輸出必不同。 對(duì)于輸入之間的任何非零的 G 位差分, 32 對(duì)中至多有 8 對(duì)顯示出的差分導(dǎo)致了相同的輸出差分。 對(duì)于 S 代換部件的實(shí)現(xiàn),主要有兩種方法:查表法,邏輯電路法。本章節(jié)通過(guò)邏輯電路法實(shí)現(xiàn) 用邏輯 電路法來(lái)設(shè)計(jì)的時(shí)候,通常使用硬件描述語(yǔ)言 S 部件代換模塊 8 仿真波形分別如圖 4圖 4示。 塊設(shè)計(jì) 塊執(zhí)行 輪非線性變換的作用過(guò)程 :第 i 步非線性變換的輸入信號(hào)是 32右寄存器 R(i),首先把它加到擴(kuò)展器 展器把 32輸入擴(kuò)展為 48輸出, 25 圖 4件代換模塊仿真圖 圖 4件代換模塊仿真圖 然后與第 i 步的第 48部 變換子密鑰 K(i)按位模 2 相加。接著輸出的 48劃分為 8組,每組 6別加到 8 個(gè)代換部件 , ,經(jīng)查表代換后輸出 48 個(gè)部件共輸出 32 32經(jīng)過(guò)換位重排,再與變換信號(hào)的左半部分 L( 位模 2相加,就成為下一步變換信號(hào)的右半部分 R(i). 相應(yīng)的左半部分則為 L(i)=R( 其中擴(kuò)展器的工作原理如下。 假設(shè) 32輸入為: R= , 26 32輸入被分為 8 組,每組 4把每組 4后各加一個(gè) 而擴(kuò)展為 6組前面的一個(gè) 復(fù)制上一組擴(kuò)展前的最后一個(gè) 面加的一個(gè) 復(fù)制下一組擴(kuò)展前的最開始的一個(gè) 第一組加的一個(gè) 擴(kuò)展前的第 32八組后面加上的一個(gè) 是擴(kuò)展前第一組的頭一個(gè) 本模塊調(diào)用了密鑰生成模塊,它的輸出除了左半信號(hào)和右半信號(hào),還有密鑰信號(hào)。在這一輪運(yùn)算中,密鑰產(chǎn)生器產(chǎn)生了一個(gè)沒有經(jīng) 排的 56數(shù)據(jù)(它是由 位而得)。這個(gè)信號(hào)會(huì)輸出給 為下輪運(yùn)算的一個(gè)輸入,用以產(chǎn)生下一輪運(yùn)算所需的密鑰。 塊核心程序如下: 用 ; or 生邏輯 _o=(0); 0); 0); _o=( _i or or or or or or or or or or or _i; 生邏輯 7=; 27 =; =1; 7:42); 生邏輯 :0); 1:28= f0=; f); f); 在 型的頂層模塊中,實(shí)例化了 塊和 8 個(gè) S 代換部件,綜合之后各模塊之間連接關(guān)系:輸入密鑰 加密數(shù)據(jù) 左半信號(hào)及右半信號(hào)各經(jīng)過(guò)一個(gè)兩路數(shù)據(jù)選擇器后連接到 塊的數(shù)據(jù)輸入端( 1:0) 和密鑰輸入端( 5:0) 。這里之所以需要 數(shù)據(jù)選擇器,是因?yàn)槟K僅在 高電平時(shí)接受外部數(shù)據(jù),待加 /解密數(shù)據(jù)和外部密鑰通過(guò)數(shù)據(jù)選擇器輸入到 塊的數(shù)據(jù)輸入端和密鑰輸入端。 號(hào)持續(xù)一個(gè)時(shí)鐘周期以后會(huì)變?yōu)榈碗娖剑诖酥髷?shù)據(jù)選擇器將選擇輸出另一路數(shù)據(jù), 被送到 塊的密鑰輸入端和數(shù)據(jù)輸出端執(zhí)行下一輪變換。 16 輪變換結(jié)束之后, 變?yōu)楦唠娖?,這時(shí)整個(gè)模塊的輸出 為有效數(shù)據(jù)。 號(hào)持續(xù)一個(gè)時(shí)鐘周期以后又變?yōu)榈碗娖剑?次上跳為高電平,模塊對(duì)下一個(gè)明文分組進(jìn)行加密。 28 資源優(yōu)先設(shè)計(jì)方案 資源優(yōu)先方案就是通過(guò)硬件設(shè)計(jì)出一個(gè)密鑰變換輪函數(shù)和一個(gè)明文變換輪函數(shù),通過(guò) 16 輪反復(fù)調(diào)用這一個(gè)硬件系統(tǒng)實(shí)現(xiàn)一次 密運(yùn)算。由于 16 輪運(yùn)算都只占用一輪運(yùn)算所需的硬件資源,使硬件的開銷大大減少。但是,一個(gè)時(shí)鐘周期只能進(jìn)行一輪加密運(yùn)算,要完成整個(gè)加密過(guò)程要花費(fèi) 16 個(gè)時(shí)鐘周期,從而在速度性能上大打折扣。而采用循環(huán)法實(shí)現(xiàn) 密算法能達(dá)到減少資源占用的目的 。 性能優(yōu)先設(shè)計(jì)方案 性能優(yōu)先設(shè)計(jì)方案剛好與資源優(yōu)先設(shè)計(jì)方案相反。傳統(tǒng)方案是將循環(huán)全部打開配合流水線結(jié)構(gòu)進(jìn)行設(shè)計(jì) ,即將 16輪函數(shù)進(jìn)行硬件級(jí)聯(lián)構(gòu)成一個(gè) 16級(jí)的流水線結(jié)構(gòu),提前生成 16 個(gè)子密鑰,隨著流水線的進(jìn)程發(fā)送給相對(duì)應(yīng)的流水級(jí),從而達(dá)到 16 個(gè)數(shù)據(jù)塊同時(shí)加密的目的。這樣,從第一個(gè)數(shù)據(jù)塊開始加密起,每一個(gè)時(shí)鐘周期延時(shí)都會(huì)有一個(gè)數(shù)據(jù)塊進(jìn)行加密,經(jīng) 16 個(gè)時(shí)鐘周期延時(shí)后,得到最終的密文。流水線結(jié)構(gòu)設(shè)計(jì)通過(guò)一個(gè)時(shí)鐘周期即可進(jìn)行一個(gè)數(shù)據(jù)塊的加密,通過(guò)占用資源換取速度性能的提高。 本文通過(guò)子密鑰的簡(jiǎn)化和 S 盒的優(yōu)化來(lái)改進(jìn)傳統(tǒng)的流水線結(jié)構(gòu),實(shí)現(xiàn)一 個(gè)占用資源少、加密速度快的加密系統(tǒng)。 (1) 子密鑰的簡(jiǎn)單生成 由 密算法原理可知,一個(gè) 64初始密鑰輸入后通過(guò)一次壓縮變換、移位變換、二次壓縮變換后得到第一輪子密鑰,其密鑰為 48由 第一輪子密鑰變換結(jié)果可 以看出: 第一輪
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鐵路安全教育內(nèi)容
- 幼兒園交通安全教育活動(dòng)方案及總結(jié)
- 水利工程消防管理制度
- 項(xiàng)目管理人員安全生產(chǎn)責(zé)任書
- 分包單位應(yīng)當(dāng)服從總承包單位的安全生產(chǎn)管理
- 主要安全管理人員職責(zé)
- 公司車輛安全檢查表
- 安全生產(chǎn)風(fēng)險(xiǎn)防范
- 公司及安全教育
- 年度安全生產(chǎn)安全計(jì)劃
- 推理小說(shuō)簡(jiǎn)介
- 熱射病的診斷與治療
- JJF 1076-2020數(shù)字式溫濕度計(jì)校準(zhǔn)規(guī)范
- GB/T 9074.18-2017自攻螺釘和平墊圈組合件
- 長(zhǎng)沙梅溪湖國(guó)際新城產(chǎn)業(yè)組織與西區(qū)土地一級(jí)開發(fā)
- GB/T 3768-2017聲學(xué)聲壓法測(cè)定噪聲源聲功率級(jí)和聲能量級(jí)采用反射面上方包絡(luò)測(cè)量面的簡(jiǎn)易法
- 臨床診療指南(急診醫(yī)學(xué))
- GB 2811-2007安全帽
- 胸腔積液PPT.ppt 課件
- 斷指再植術(shù)后的切口
- 曾國(guó)藩為官之道
評(píng)論
0/150
提交評(píng)論