基于多級SE網(wǎng)絡和混沌加密原理的FPGA設計與實現(xiàn)
項目背景及可行性分析
- 項目名稱、項目的主要內(nèi)容及目前的進展情況
項目名稱:基于多級SE網(wǎng)絡和混沌加密原理的FPGA設計與實現(xiàn)
項目主要內(nèi)容:提出了混沌加密算法為基礎核心,并結(jié)合多級Shuffle-Exchange網(wǎng)絡設計并實現(xiàn)一個高效的加密系統(tǒng)。在解決多條輸入數(shù)據(jù)通道因復用要求而造成訪問沖突的問題后,提高加密模塊冗余度,實現(xiàn)系統(tǒng)吞吐能力的提升和最佳配置需求。
- 項目關鍵技術(shù)及創(chuàng)新點的論述
混沌加密算法本身的非周期、連續(xù)寬頻帶、類噪聲和長期不可預測等特點使得加密的數(shù)據(jù)更加安全可靠,另一方面多級Shuffle-Exchange網(wǎng)絡的應用和多種控制方式的實現(xiàn)可以使得本設計適應不同需求的應用。將并行處理系統(tǒng)處理結(jié)構(gòu)中的多級SE網(wǎng)絡應用于整個混沌加密方式能夠提高整個系統(tǒng)的不可預測性提高安全等級。
項目實施方案
A)方案基本功能框圖及描述
本系統(tǒng)由以下幾部分構(gòu)成:主控制模塊、輸入輸出通道、多級Shuffle-Change網(wǎng)絡和基于混沌加密理論的加密單元。
1、主控制模塊
主控制模塊作為整個系統(tǒng)的核心控制著系統(tǒng)各部分的工作狀態(tài)協(xié)調(diào)系統(tǒng)的資源配置以便使整個系統(tǒng)取得最佳的吞吐性能。一方面在主控制模塊的控制下系統(tǒng)可以實現(xiàn)多級Shuffle-Change網(wǎng)絡的不同拓撲連接以達到數(shù)據(jù)輸入通道和混沌加密單元的最佳匹配,實現(xiàn)提高系統(tǒng)性能的目的;另一方面通過外部模式選擇開關可以使主控制模塊工作在通道鏡像編碼、分組通道編碼或隨機通道匹配編碼等方式下以達到對不同應用要求的編碼的效率。
注:鏡像編碼指輸入通道的數(shù)據(jù)經(jīng)過多級SE網(wǎng)絡到達混沌編碼器后其形成的密文流經(jīng)過的后級SE網(wǎng)絡后其最終輸出通道與輸入的通道號向匹配,即形成一組輸入輸出鏡像。
分組通道編碼指相鄰的一組通道作為一個整體的加密單元被混沌加密單元組進行加密其輸出結(jié)果在最終的加密輸出通道中也是以相鄰的一組連續(xù)通道提供給外部的。(這方便了這樣的一種應用,即將一份名文按一定大小進行分組,每組通過一個通道進行加密,最終將產(chǎn)生的密文組重新進行組合)
隨機通道匹配編碼方式其目的是使混沌加密器的效率最大化,每次的輸入通道和最終的輸出通道并不一定相同連接方式采用的算法使其能夠得到最大的使用效率。
2、輸入輸出通道
由8個相互獨立的輸入(輸出)預處理器組成,其一端輸入(輸出)外部數(shù)據(jù)另一端輸出(輸入)混沌加密單元的數(shù)據(jù)流。各通道可分為三類:低速串行數(shù)據(jù)通道、高速串行數(shù)據(jù)通道和并行數(shù)據(jù)通道。
3、多級Shuffle-Change網(wǎng)絡
多級Shuffle-Exchange網(wǎng)絡又稱為Omega網(wǎng)是一種高性能計算機體系結(jié)構(gòu)中極為重要的互聯(lián)體系結(jié)構(gòu),經(jīng)常用于多個處理器之間或多處理器與存儲體群中的互聯(lián),以解決各器件因為復用要求而造成的訪問沖突問題。SE網(wǎng)絡由交叉開關組成具有擴展性強的優(yōu)點,并可以實現(xiàn)輸入級與輸出級間任意器件的互聯(lián)數(shù)據(jù)傳輸。
多級混洗—交換網(wǎng)絡結(jié)構(gòu):它由n級構(gòu)成,每一級包含一個無條件混洗拓撲線路和一列可控的二元交換開關,前后重復,便于制造。各級編號是n-1,……,0,即按降序排列。
在多級混洗—交換網(wǎng)絡中,單獨一級混洗拓撲線路可完成一次數(shù)據(jù)混洗(shuffle),而單獨一列二元交換開關在處于“交換”狀態(tài)時可完成一次交換操作(Cube0)。如果各級二元交換開關都處于“直連”狀態(tài),N個結(jié)點的數(shù)據(jù)通過網(wǎng)絡僅經(jīng)過n次混洗操作,排列順序最終恢復輸入狀態(tài)(混洗函數(shù)性質(zhì)2);如果各級二元交換開關都處于“交換”狀態(tài),則N個結(jié)點的數(shù)據(jù)在每次混洗之后緊接著一次交換(Cube0),也就是地址碼的最低位取反,最后n位地址均被取反。程序員根據(jù)數(shù)據(jù)置換或復制的需要,可以靈活地設置各開關的狀態(tài)。
本模塊結(jié)構(gòu)主要起到傳遞數(shù)據(jù)流的作用,拓撲連接方式的選擇由主控制器統(tǒng)一控制管理。其使用狀態(tài)通過相應的信號通路報告給主控制單元。
4、混沌加密單元
混沌是近年來較快的非線性的重要分支,因其具有非周期、連續(xù)寬頻帶、類噪聲和長期不可預測等特點,所以特別適用于保密通信等領域。
混沌系統(tǒng)由于對初值的敏感性,很小的初值誤差就能被系統(tǒng)放大,因此,系統(tǒng)的長期性是不可預測的;又因為混沌序列具有很好的統(tǒng)計特性,所以它可以產(chǎn)生隨機數(shù)列,這些特性很適合于序列加密技術(shù)。信息論的奠基人美國數(shù)學家Shannon指出:若能以某種方式產(chǎn)生一隨機序列,這一序列由密鑰所確定,任何輸入值一個微小變化對輸出都具有相當大,則利用這樣的序列就可以進行加密?;煦缦到y(tǒng)恰恰符合這種要求。
混沌系統(tǒng)的特性使得它在數(shù)值分布上不符合概率統(tǒng)計學原理, 得不到一個穩(wěn)定的概率分布特征;另外, 混沌數(shù)集是實數(shù)范圍, 還可以推廣到復數(shù)范圍。因此, 從理論上講, 利用混沌原理對數(shù)據(jù)進行加密,可以防范頻率分析攻擊、窮舉攻擊等攻擊, 使得密碼難于分析、破譯。
本設計中的該部分利用當今最新的混沌加密理論作為加密基礎,采用具有混沌特性的函數(shù)對名文進行加密的處理單元,為了加快處理速度采用流水線工作方式提高時間重疊性,并提供4個獨立處理單元以提到資源重復度和任務重疊度,通過以上努力提高整個系統(tǒng)效率,降低系統(tǒng)使用的速度瓶頸。
需要的開發(fā)平臺
實現(xiàn)本方案所需要的基本功能、功能、接口
Spartan-3E,50萬門,SDRAM,USB1.1/2.0,RS-232,SD/MMC接口,LED指示,LCD顯示
所需要的目標FPGA開發(fā)平臺,簡述為什么需要此平臺
Spartan-3E,50萬門,因為本設計需要至少實現(xiàn)4個加密單元因此需要盡可能多的邏輯門數(shù)。SDRAM和SD/MMC接口用來做數(shù)據(jù)存儲作為明文和密文的載體。USB和RS-232作為系統(tǒng)的數(shù)據(jù)對外傳輸接口。
是否需要其它配套的開發(fā)工具
需要相映開發(fā)版的下載器
2.方案實施過程中需要開發(fā)的模塊
核心的混沌加密算法和多級SE網(wǎng)絡是系統(tǒng)的關鍵部分,需要大量的工作對其進行驗證;整個系統(tǒng)擬采用下載的軟核進行控制,利用成熟的控制方式降低出錯率。
需要的其它資源
1.測試設備
需要的測試設備有萬用表、示波器、邏輯分析儀等。
2.方針、開發(fā)工具
仿真工具用Modelsim,開發(fā)工具包括Ise、Matlab等
評論