




已閱讀5頁,還剩3頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
摘要 摘要 本文是采用基于系統級描述語言s y s t e m c 設計流程的設計方法,對a e s 加密 算法i p 核設計的嘗試。研究在集成電路設計中,尤其是在中小型邛核設計領域, 引入s y s t e m c 的設計方法與用c 語言進行系統描述的傳統設計方法的差別以及可 能遇到的問題,探索s y s t e m c 在s o c 時代在設計中帶來的新的理念和變化。這里 僅限于對系統設計部分以及系統設計向r 1 l 設計的轉換,并不涉及s v s t e m c 的r t l 設計,驗證以及軟硬件協同設計方面的研究。 在設計過程中,采用正向設計方法,進行系統整體結構以及各個分模塊設計, 系統級采用s y s t e m c 與c 語言,r t l 級采用v c r i l o gh d l 。最后的工作完成了a e s 算法i p 核的前端設計,實現了3 種不同長度密鑰的加解密功能。主要使用了a l t e r a 公司的q u a n u s1 1 5 0 集成開發工具和在s t r a t i xi i 的f p g a 平臺進行了即g a 綜合, 布局布線和時序仿真,達到了預期的效果。 在今后的工作中,希望能夠在此基礎上形成一套適合于實際情況使用的利用 s y s t e m c 這個新的系統級描述語言在l p 核設計過程中進行系統設計以及向r t l 設 計轉換的方法,有效的縮短設計周期,提高開發效率。 關鍵詞:s y s t 蛐c ,a e s ,s o c ,i p 核 a b s t f a c t 3 h lt h i sp a p e f ,w eu s et h en e w l yc o m eo u ts y s t 啪l e v e ld e s c r i p t i l a n g l l a g e , s y s t e m c ,t od e s i 鏟鋤l pc 0 r eb a do na e sc n c r y p t i o na l g 鰣t h m s t u d y i l i gt l l es u b j e c t , i nt h ei cd e s i g n 丘e l d ,e s p c c i a l l yi nt h cm i d d l e 柚ds m a l ls c a l ei p0 0 r ed e s i 驢,t h e d i 骶r e n c e sb e t w e e nu s i n gs y s t e m c 卸d 仃a d i t i o n a lcl 鋤g i l a 伊i ns y s t e md e s i g l lf l o w , t l l cp r o b l e m sw em a y b em e c t ,柚dt h cn c wc o n c c p t i o na l i dc h a n g e ss y s t e m ch a s b 咖g l ni ni l l es o ce 豫1 1 l e 咖d y i n g h c f ej u s tl i m i 剛i l lt l l ec o n v e r s i 0 丑f r o ms y s t 鋤 d e s i g l lt or 1 ld e s j 印,r e g a r m c s so fh a wt od or t ld e s i 印,v e r i f i c a t i o na l l de v 鋤t h e c o d e s i 薩0 f s o f t l v a r ea i l dh a r d w a r ew i 也s y s t e m c i i it h ed e s i g np r o c e s s ,w eu s et b p d 州nd e s i 驢n o wt 0a c h j e v et h ea r c h i t e c t u r e 越da l ls u b - m o d u l e sd e s i g n s y s t e m c 柚dca r ei n d u c e da ts y s t e ml c v e l ,l o g h d li su s c da tr 1 吃l e v e l n ef i n i a ld e s i 弘c 姐a c h i e v eb o t hc n c r y p ta n dd e c r y p t f i l n c t i o n sw i t l la 1 1t h et h r e cd i m 姍tk e yl e n g t h a l s o ,b 鶴eo f p g ap l a t f o 冊o fs 叫i x i i ,w i t ht h ei m e g m t e dd e s i g nt 0 0 lq u a n u s1 1 5 0 ,w ea c h i e v c dd e s j g nc o m p i l e ,p l a c c r o u t ea n dp o s ts i l n u l a t i o n i nt l l e 】a t e r w eh 叩et 0e s t a _ b l i s hap 陽c t i c a lp l a t f o 珊b 鴰e do nt l l ea b o v ew o r ka l l d 6 n do u tan c ww a yt ou s es y s t e m cc f f 。c i i v e l yi nt h es y s t e md e s i g no fi pc o r ed e s i 印 f i e l da n dc o n v e r s i o nt oi ls h o n e nt h ed 髂i g nc i r d c 蛆dp r o m o t ee 髓c j e n c y k e y w o r d s :s y s t 哪c a e s , s o c , l pc o n 塑塑! 望! ;! 創新性聲明 本人聲明,所呈交的論文是我個人在導師指導下進行的研究工作及取得的研 究成果。盡我所知,除了文中特別加以標注和致謝中所羅列的內容以外,論文中 不包含其他人已經發表或撰寫過的研究成果;也不包含為獲得西安電子科技大學 或其它教育機構的學位或證書而使用過的材料。與我一同工作的同志對本研究所 做的任何貢獻均已在論文中做了明確的說明并表示了謝意。 申請學位論文與資料若有不實之處,本人承擔一切相關責任。 本人簽名: 關于論文使用授權的說明 本人完全了解西安電子科技大學有關保留和使用學位論文的規定,即:研究 生在校攻讀學位期間論文工作的知識產權單位屬西安電子科技大學。本人保證畢 業離校后,發表論文或使用論文工作成果時署名單位仍然為西安電子科技大學。 學校有權保留送交論文的復印件,允許查閱和借閱論文;學校可以公布論文的全 部或部分內容,可以允許采用影印、縮印或其它復制手段保存論文。 本學位論文屬于保密在年解密后適用本授權書。 本人聳名:疊z 幽日期生:皇2 = 三生 導師簽名:函邀 日期 第一章緒論 第一章緒論 1 1 集成電路設計發展現狀 目前隨著半導體工藝技術的發展,芯片設計已經逐漸轉向系統集成芯片,也 就是s o c ( s y s t e m 佃( = l l i p ) 。s o c 是一個微小型系統,將整個電子整機的功能集成 到一個芯片中。s o c 面向特定用戶,可以最大滿足嵌入式系統要求,提高整機系 統的性能,同時也可以降低功率消耗和芯片的面積以及縮短上市時間。尤其適合 數字化產品的開發,如手持設備、信息家電等,因此全球各個主要科技國家都積 極地投入研究。雖然目前s o c 的發展還處于初級階段,但是可以預見,s o c 將是 微電子芯片技術進一步發展的必然方向。1 9 9 9 年全球半導體市場規模為1 4 9 4 億美 元,其中s o c 比重占8 3 ,盡管2 0 0 1 年全球半導體市場業績大幅下滑,s o c 技 術的應用卻是有增無減,在半導體市場中的比重仍然持續上升達到了1 2 9 ,預 計到2 0 0 5 年s o c 在全球半導體市場中的比率將上升至2 1 1 。實現s o c 有兩種做 法:一種是從a s s p 走向s o c ,另一種是將c p u 、d s p 放進p u ) 或f p g a 中支持 用戶實現s o c 。不管采用哪種做法,必須解決的問題是發展口( i n t e l l e c t u a l p r o p e n y ) 核或者取得i p 核使用權【1 1 。 s o c 設計離不開坤核庫,將廣泛的多功能p 核和客戶邏輯集成在一起,從而 可以滿足客戶產品開發的需求。國外許多第三方m 核供應商得到快速發展,他們 要么具有獨一無二,極具價值的口核,要么具有良好聲譽的i p 核庫。s o c 設計者 通過重用驗證過的口核,不僅利用了最新的工藝技術優勢,而且減少了開發周期 和風險。通過中間機構廣泛匯集不同公司、不同類型的口核及其相關信息,用戶 可以以最少成本、在最短時間內找到其可用的m 核;通過建設i p 核交易平臺,可 以簡化供應商與客戶間的交易過程,節約售前成本,針對企業需求,了解產業發 展方向,匯聚充足的i p 核資源。 據權威機構i cl n s i g h t s 近期發布的一份報告顯示,2 0 0 5 年,中國一舉超過美 國和日本,成為世界最大的集成電路( i c ) 消費市場。報告指出,在2 0 0 5 年全球1 7 5 4 億美元的i c 消費市場中,中國占據著約2 0 的份額,相當于3 4 3 億美元的消耗總 量,整個i c 消費市場在中國急劇擴張。在我們國內,根據市場需求,從企業本身 能力出發,充分發揮我國設計企業的設計優勢力量,組織國內的口核開發,加速 我國國產p 核的發展。建立強大的技術支持隊伍,或者與口核供應商合作建立特 殊技術支持機構,以求能夠幫助客戶盡快解決p 核使用中的問題,縮短 皿m e t o d c s i 弘和弧m c - t 0 _ m a r k e t 。成立專門的中立機構,整合現有大專院校、科 s y s t e m c 在a e s 算法m 核設計中的應用 研院所和企業所擁有的i p 核資源,建立企業和研究機構間的i p 核交換和共享體系, 也可以降低設計企業創業門檻,加快企業培育步伐。 在s o c 時代,人們迫切需要一種設計語言能夠單一的完成包括口核在內的全 部設計,能夠完成描述各種不同的抽象級別,能夠勝任軟硬件的協同設計和驗證, 并且具有較快的仿真速度。s y s t 鋤c 正是在這一背景下出現的系統級描述語言,致 力于利用新的設計理念和設計方法解決s o c 時代面臨的挑戰,并且由于其開放性 以及得到業界一流公司的廣泛支持,已經成為事實上的系統級描述語言標準。 隨著計算機和通信技術的不斷快速發展,用戶對信息的安全存儲、安全處理 和安全傳輸的需求越來越迫切,如何保護數據的安全,已經影響到人們的日常生 活。加密技術是信息安全的核心和關鍵,通過加密數據,提高數據傳輸的安全性, 保證傳輸數據的完整性。分組加密以其速度快、易于標準化和和便于軟硬件實現 等特點,成為信息與網絡安全中實現數據加密、數字簽名、認證及密鑰管理的核 心體制。然而,現有的d e s ( 數據加密標準) 雖然非常流行,在很多領域被廣泛 應用,但是已經不能勝任新技術日新月異發展帶來的變化,1 9 9 7 年被成功破解。 目前美國國家標準和技術協會宣布不再支持d e s ,并且適時的推出a e s ( 高級加 密標準) 算法,這是一種面向未來的高強度數據加密算法,用來滿足新時期人們 對數據安全的需求。將a e s 算法設計成為m 核,可以迅速取代d e s ,集成在智能 卡,網絡路由器,虛擬局域網,移動電話網,衛星通信等等應用領域,具有極大 的經濟和安全價值。 1 2s o c 設計 2 0 世紀9 0 年代出現了s o c 的概念,也就是集系統性能于一塊芯片的系統級芯 片。隨著時間的不斷推移,s o c 技術和定義也在不斷的發展和完善。現在的s o c 中包含一個或多個處理器,一個或多個d s p 核,以及多個或幾十個的外圍特殊功 能模塊和一定規模的存儲器( 黜m 、r o m ) ,數模混合信號模塊以及片上可編程 邏輯,s o c 設計正日益成為l c 設計的發展趨勢【2 】。 一個典型的s o c 系統結構如圖1 1 所示。 s o c 正在掀起一場前所未有的變革。從技術層面看,s o c 技術是超大規模集 成電路發展的必然趨勢和主流,它以超深亞微米v d s m ( v c r yd e e ps u b m i c r o n ) 工藝和知識產權i p 核復用技術為支撐。從應用開發的角度來看,s o c 的主要含義 是在單芯片上集成微電子應用產品所需的所有功能系統。s o c 技術研究內容包括: 開發工具、m 核及其復用技術、可編程系統芯片、信息產品核心芯片開發和應用、 s o c 設計技術與方法、s o c 制造技術和工藝等。從使用角度來看,s o c 有三種類型: 專用集成電a s i c ( a 即1 i c a t i o ns p c c 詆ci c ) ,可編程s o c ( s y s l e m 傭p m 盯a m m a b l e 第一章緒論 c h j p ) 和o e m ( o r i 畫n a le q u i p m 明tm 柚u f k t u r e r ) 型s o c 。 3 圖1 1 典型s o c 系統結構圖 s o c 設計雖然在過去的十幾年中已經取得了顯著的發展,但是它所面臨的挑 戰也是不容忽視的。作為基于i p 核的設計,s o c 設計主要向兩個方向發展,一是 以可重用口核為基礎的系統級設計,這主要關心的是口核之間的互連性,是s o c 設計面臨的挑戰之一;二是以設計可重用m 核為目的的口核設計,這主要關心的 是腰核的可重用性,同時也是s o c 設計面臨的又一個挑戰。對于第一個挑戰,現 在通常采用片上總線結構來解決口核之間的互連性,即核與核之間并非贏接相連 而是通過片上總線進行互連。使用片上總線結構雖然可以解決球核之間的互連問 題,但這同時又出現了另外一個問題,由于不同廠商使用不同的總線結構,例如 a r m 的a m b a 總線,m s 的e c 總線,i b m 的c o r e o o n n e c t 總線,因此不同廠 商i p 核之間的互連幾乎是不可能的,而建立一種通用的片上總線結構是v s i a ( v i n 砌s o c k e th l t e r f a c ea 鸛o c i a t i o n ) 一直努力的目標。最近,提出一種基于片上 網絡的互連結構,即i p 核之間通過網絡結構來實現數據的傳輸,這種結構雖然可 解決通用總線的問題,但建立一個高效的路由算法是非常必要的。典型的互連結 構如圖1 2 所示。 圖1 2 典型的基于片上網絡的核互連結構圖 4 s y s t e m c 在a e s 算法l p 核設計中的應用 除了以上的挑戰之外,伴隨著集成電路時鐘頻率超過2 2 g h z 以及晶體管的特 征尺寸縮小到小于o 1 卻m ,對傳統的設計者來說,s o c 設計還將面臨著下面的一 些挑戰: ( 1 ) 由于連接延時的不確定性,在時鐘頻率為1 0 g h z 集成了上億晶體管的 v l s i 芯片上,時鐘同步是一個關鍵問題,必須通過解決時鐘抖動和減少擺率的技 術來減少時序的混亂,一個全局異步,局部同步的時鐘策略是絕對必須的。為解 決時鐘擺率帶來的問題,推薦采用網狀樹組合結構,而且,分布式p l l 也變得很 有可能。 ( 2 ) 由于高集成度和頻率,在將來的生產過程中信號完整性問題將變得更加 嚴重。 ( 3 ) 在將來的生產過程中,過程變量成為影響時序確定性的潛在因素,因為 要控制已經減小的特征尺寸是非常困難的。 ( 4 ) 功耗問題仍然是限制s o c 設計的因素 3 】。 1 3 可重用i p 核設計 s o c 設計以可重用口核為基礎,將設計建立在較高的層次上,以保證設計的 效率和成功率。 i p 核,其含義是預先設計好的電路功能模塊,可分為軟i p ,固i p 和硬口三 種,能夠解決s o c 面臨的另一挑戰。軟口核用硬件描述語言寫成,用于功能仿真, 但并不涉及具體的電路和電路元件,它的優點是比較靈活,可以根據不同的生產 工藝產生對應的電路。固核是在軟核的基礎上開發的,一種可綜合并帶有布局規 劃的軟核,以網表的形式提交客戶使用。目前設計復用方法在很大程度上依靠固 核,將r t l 級描述結合具體標準單元庫進行邏輯綜合優化,形成門級網表。硬口 提供設計的最終階段產品:掩膜。硬核是具有和特定工藝相聯系的物理版圖,已 經通過流片測試驗證,可被新設計作為特定的功能模塊直接調用,它的缺點是一 旦生產工藝改變就不能夠再使用了,即使是在采用同樣生產工藝的情況下,由于 模塊的物理尺寸已經確定因而也影響了布局( n o o r - p l 髓) 的靈活性;它的優點是 在設計采用同樣生產工藝的產品并且其物理尺寸不影響芯片布局的情況下,能夠 直接應用,不需用重新設計。由于半導體工藝發展極快,通常重用“軟模塊”比 較多。 “重用”( r e u s e ) 指的是在設計新產品時采用已有的各種功能模塊,即使進 行修改也是非常有限的。這樣,可以減少設計人力和風險,縮短設計周期,確保 優良品質。s o c 的設計原則,就是盡可能重用各種功能模塊并集成為所需的系統 級芯片。設計重用,必須對重用時需要考慮的因素作一些說明。首先,重用的功 第一章緒論 5 能模塊要有詳盡的說明書,對模塊的功能和適用范圍以及芯片集成時的總線接口 進行說明:其次,要提供該模塊過去已實現的生產工藝;第三,要提供用于測試 該模塊的測試程序及測試平臺:最后,也是最重要的,就是模塊的設計內核。 一個可重用的口核應該具有以下的特征: ( 1 ) 可讀性:這是針對軟核和固核來說的,即使用者對i p 核的功能和算法有 比較詳細的了解后,才能正確使用和充分發揮口核的優點。這就要求口核的提供 商采用一種恰當的方法描述設計,使用戶可以方便正確的使用坤核。同時還要采 取措施,保護其知識產權不受侵犯。 ( 2 ) 設計的延展性和工藝適應性:坤核是經過糟心設計、驗證并且優化的, 一經定型就要求其具有一定的應用范圍,即針對不同的設計應用具有一定的適應 性。 ( 3 ) 可測性:m 核必須是經過測試驗證的,當用于具體的設計中時,并非一 點改變都沒有。因此,i p 核的功能和性能還應該被使用方測試,不僅能對其進行 單獨的測試并且能在系統的應用環境中進行測試。 ( 4 ) 端口定義標準化:即i p 核的端口要有一個統一的定義。 ( 5 ) 版權保護以及交付的數據資料完整,方便芯片的集成過程【4 1 。 1 4 系統級描述語言s y s t e m c 在系統芯片的各個設計中,像系統定義、軟硬件劃分、設計實現等,集成電 路設計界一直在考慮如何滿足s o c 的設計要求,一直在尋找一種能同時實現較高 層次的軟件和硬件描述的系統級設計的統一的設計語言。s y s t e m c 正是在這種情形 下,由s y n o p s y s 公司和c o w a 咒公司積極響應目前各方對系統級設計語言的需求 而合作開發的。1 9 9 9 年9 月2 7 日,4 0 多家世界著名的e d a 公司、i p 公司、半導 體公司和嵌入式軟件公司宣布成立聯盟組織o s c i ( o p e s y s t e m et 疵i a m e ) 。 s y s t e m c 從1 9 9 9 年9 月聯盟建立初期的0 9 版本開始更新,從1 o 版到1 1 版,一 直到2 0 0 5 年9 月推出了最新的2 1 版。目前許多e d a 廠商都在開發或者擴展他們 的設計工具以支持s y s t e m c 。現在已經推出的商用s y s t e m c 軟件有c c s s ,s p w , s y s t e m c a i 玎等5 0 多種,已經有很多的著名公司( 西門子,a r m ,大唐飛利浦等) 開始使用s y s t e m c 作為其系統級開發語言,一些歸國的留學生在他們自己的小公 司里也己經開始使用s v s t e m c 進行開發和驗證。 s v s t e m c 語言的主要目的是實現用單一語言完成設計規范,系統體系結構分 析,驗證平臺和行為模型。s y s t 啪c 的更大價值在于提供的高層次設計流程,基于 漸趨成熟的行為級綜合工具和s y s t e m c 行為模型的高層次設計流程將會大大提高 設計和驗證效率。正是因為s y s t e m c 是為了滿足系統級設計的需求而發展起來的 一種的設計和驗證語言,既具備描述軟件設計的能力,又能夠對硬件進行建模, 而且得到的模型具有可執行性,s y s t 鋤c 己經逐漸成為系統級設計中事實上的標 準。 所有的s y s t e m c 都是基于c + + 的,并且沒有對c + + 進行語法和語義上的擴展, 只是以類庫的形式對c + + 進行擴充,可以通過通常的朋臨i c + + 編譯器編譯該程序, 使其能夠表達時序、并發、實時性、交互性等概念。并提出了一個較小但十分通 用的建模基礎,稱為核心語言。在這個基礎之上可以添加比較專門化的計算模型、 設計庫、建模準則和設計方法,解決進行系統級設計的一個主要的困難,即在系 統級設計中存在許多不同的設計計算模型、設計抽象層、設計方法。用戶可以在 不同的層次上自由選擇,建立自己的系統模型,進行仿真、優化、驗證、綜合等 等【卯。 由于s y s t c m c 是基于c + + 的,其編譯可以像普通的c + + 編譯類似,s y s t e m c 編譯流程如圖1 3 【6 】所示。 圖1 _ 3s y s 把m c 編譯流程圖 s y s 把m c 雖然是基于c + + ,但是為了很好的支持系統設計,添加進了許多獨特 的關于軟硬件描述,協同設計以及驗證等等的概念川,表1 1 是一些建模熏要概念 和常用的術語: 表1 1s y s i c m c 建模術語表 一個結構化的實體,它可以包含進程、端口、信號和其他 m o d u l e模塊 模塊。模塊可以表達結構化的層次性。 進程是s y s t e m c 中基本的執行單元,進程被調用來模擬目 p d o c e s s進程 標系統的行為。 第一章緒論 7 端口是模塊用來和外部傳遞消息并觸發模塊內部行為的對 p o n 端口 象。 s i 印a l 信號信號將模塊之間的端口連接起來。 進程的敏感性定義了進程何時被恢復或者激發運行。一個 s e n s i t i v i 哆敏感性進程可以對一個事件的集合敏感。只要相應的事件中有一 個被觸發,該進程就會被恢復或者激發運行。 具體解釋如下: ( 1 ) 模塊: 模塊是s y s t 鋤c 中劃分一個設計的基本塊。模塊可以把一個復雜的系統分割 成一個個更小的、易于管理的塊,有利于團隊開發。模塊之間可以隱藏內部的數 據表示和算法,有利于設計的修改和維護。 模塊使用關鍵詞s c - m o d u u ;來聲明。s c _ m o d u l j e ( x ) ) ,括號內是 模塊的名字,利用宏的形式聲明了個新的模塊叫做x 。模塊內可以包含其它的 一些元素,比如端口、局部信號、局部數據、其它的模塊、進程、構造函數等, 它們共同實現模塊的功能。 ( 2 ) 進程: 進程( p r o c e s s ) 在s y s t e m c 中扮演一個中心角色,基本的執行單元。進程被 調用來模擬目標系統的行為,并可以表達系統中的并發。進程包含在模塊中,它 們通過模塊的端口訪問外部的信道接口。進程有不同的類型,并且有不同的激活 它們的方式。三種類型的進程分別是:s cm 唧o d ,s ct h r 礎山, s c - c n 琢e a d 。 s y s l 咖c 用這三種進程來對系統的并發行為建模。有些進程的行為就像函數, 在被調用時開始執行,執行完畢后返回調用者:另一些進程只在模擬開始的時候 被調用一次,然后要么主動地執行要么被掛起等待某個狀態為真,這個狀態可能 是時鐘邊緣或者是信號表達式或者是兩者的結合。 ( 3 ) 端口: 模塊的端口向或者從模塊的進程傳遞數據。端口有三種模式:i n ( 輸入) 、o u t ( 輸出) 、j n 伽t ( 輸入輸出) ,由s y s t 鋤c 的類庫預定義。端口的數據類型可以是 任何c + + 數據類型、s y s t 鋤c 數據類型和用戶自定義類型。 ( 4 ) 信號: 信號可以在模塊內部使用,用來連接低一級的模塊的端口。信號也經常在 s cm a i n 函數中用來連接各個模塊的端口。信號代表了設計的物理實現上的連接各 器件和設備的物理導線,攜帶數據。數據傳遞的方向是由其連接的模塊的端口模 式決定。 ( 5 ) 事件和動態敏感列表: s y s i e m c 在a e s 算法l p 核設計中的應用 s y s t 鋤c 中,進程只能對輸入信號或端口上的事件敏感。進程敏感列表是靜態 定義,在模擬期間不能改變。在s y s t c m c 2 1 中,進程可以對輸出端口上的事件敏 感,敏感列表在模擬期間是可以改變的。在s y s t e m c l o 中,進程的敏感列表在模 塊的構造函數中定義。 有了以上的基本概念就可以進行編寫s y s t c m c 程序。當然還有分層通道, t r 柚s a d i o n 級建模,m a s t c r _ s l a v e 通信庠,s c v ( s y s t 鋤cv e r i f i c a t i o ns t 卸d a r d ) 驗 證庫等等更高級,更復雜的描述和操作,基于篇幅原因這里不再介紹。 標準的s y s t e m c 程序結構,通過s c i n a m 進入主函數,完成信號定義,模塊 例化,端口綁定,波形記錄,開始仿真【8 】 們。 m a i n 。印p 撐i n d u d ef i l c s i n t s c _ n l a i n ( i n ta 唱島c h 盯a i 蚤,【】) s c _ - s i 弘a l 連接被例化的模塊 s c 1 0 c k時鐘聲明 ,廿e s 虹弘蛐d e it e s t ,模塊例化 波形文件追蹤 仿真開始與控制 ) 將設計的模塊,編寫測試文件等等置入這個結構中,就可以進行編譯和仿真, 查看波形和功能驗證。 1 5 本文的主要工作 本文所做的工作是使用s y s t 咖c 的設計流程進行a e s 加密算法i p 核設計。研 究引入s y s t c m c 的設計方法與用c 語言進行系統描述的傳統設計方法的差別以及 可能遇到的問題,探索s y s t e m c 在s o c 時代帶來的新的設計理念和變化。 本文采用自頂向下的正向設計方法,首先根據a e s 算法用c 和s y s t e m c 分別 完成了算法的描述,并且在s y s l e m c 設計時分析和定義了系統的行為:接著根據 s y s t e m c 的設計架構映射為v e f n o g 的盯l 硬件描述,在經過驗證和綜合后進行了 f p g a 平臺原型驗證,達到了一定的預期效果,得到所要研制坤核的一些可靠的 性能參數。 本文的結構如下: 第一章介紹在l c 設計中越來越明顯的s o c 與i p 核化趨勢和系統級描述語言 s y s t 鋤c 的一些基本概念與基本結構,以及s y s t c m c 的出現在i c 設計,尤其在系 統設計中帶來的新的變化; 第一章緒論 9 第二章介紹a e s 算法的一些基本情況以及安全性能分析,因為a e s 相比其他 加密算法有著明顯的優勢才是我們選擇它設計為口核的原因; 第三章根據設計要求,使用s y s t 鋤c 來進行系統描述,包括總體的架構和各 個分模塊的結構與行為,以及在向v c m o g 的i m 。描述轉換中與傳統的c 語言的 區別; 第四章是a e s 算法硬件化后在f p c 徂平臺的原型驗證與關于性能的一些情況 分析。 最后是結束語,對全文進行總結,對今后工作進行展望。 本論文的研究工作是在西安市重點信息項目“a e s 加密模塊邛”( 項目編號: z x 0 5 0 2 0 ) 和國家高技術研究發展計劃( 8 6 3 ) 子項目“基于i p 復用的s o c 設計 技術研究”( 項目編號:2 0 0 4 a a l z l l 3 0 ) 支持下完成的。 1 0 s y s t e m c 在e s 算法i p 核設計中的應用 第二章a e s 算法原理分析 人類有記載的通信加密始于公元前4 0 0 年,密碼學一直在戰爭中起著非常重 要的作用。如今,隨著社會的發展,信息成為社會發展的重要戰略資源。信息技 術改變著人們的生活和工作方式,人們對信息安全和保密的重要性的認識也隨之 不斷提高。網絡銀行、電子購物、電子郵件等等服務正在逐漸融入普通百姓的日 常生活,這些都涉及到數據加密,信息安全領域。 2 1 加密技術背景 現有的加密方法雖然千千萬萬,各不相同,但都可以劃分為雙密鑰和單密鑰 體制兩種。雙密鑰體制是由d i f ! f i e 和h e l l m 柚于1 9 7 6 年首先引入,每個用戶都有 一對選定的密鑰:一個可以公開,另外一個則是秘密的,也稱為公鑰體制。雙密 鑰體制的主要特點是將加密和解密能力分開,可以實現多個用戶加密的消息只能 由一個用戶解讀,或者一個用戶加密的消息而使得多個用戶可以解讀。單密鑰體 制的加密和解密所用的密鑰相同,系統的保密性主要取決于密鑰的保密性,與算 法的保密性無關,需要保密的僅是密鑰,即由密文和加解密算法不可能得到明文。 單密鑰體制對明文消息的加密有兩種方式:一種是明文消息按照字符逐位的加密, 稱之為流密碼;另一種是將明文消息分組( 含有多個字符) ,逐組地進行加密,稱 為分組密碼。 數據加密標準( d e s ) 是迄今為止世界上最廣泛使用和流行的一種分組密碼算 法。1 9 7 7 年,n i s t ( 美國國家標準和技術協會) 公布實施了d e s 算法之日起,人 們對它就開始了廣泛的研究。它的分組長度為6 4 比特,密鑰長度為5 6 比特,并 且在d l 三s 基礎上發展出了三次加密的3 d e s 加密。n i s t 每五年將其作為美國政府 加密標準進行重新評估,并重新批準它是否繼續作為聯邦加密標準。隨著計算機 性能的提高,d e s 不再成為安全的加密算法。美國已經決定1 9 9 8 年1 2 月后不再 使用d e s ,同時征集新的更安全的加密算法。2 0 0 0 年1 0 月,n i s t 宣布通過從1 5 種侯選算法中選出的一項新的密鑰加密標準,新的標準將會代替舊的d e s 算法。 r i n d a d 被選中成為將來的a e s 。這個加密算法是分組加密算法,信息的內容是以 1 2 8 位長度的分組為加密單元,加密密匙長度有1 2 8 ,1 9 2 和2 5 6 位3 種選擇。 表2 1 是a e s 和3 d e s 的比較說明,a e s 算法較以前的d e s 算法從速度到保 密性有著不可比擬的優判l o j 。 第二章a e s 算法原理分析 表2 1a e s 與3 d e s 比較 a e s3 d e s 算法類型對稱b l o c k 密碼對稱f e i s t e l 密碼 密鑰大小 1 2 8 ,1 9 2 ,2 5 6 位1 1 2 ,1 6 8 位 速度 高低 解密時間 1 4 9 0 0 0 0 億年4 6 億年 ( 每秒2 5 5 個密鑰) 資源消耗 低 由 n i s t 標準編號 f 1 p s l 7 9f 1 p s 4 6 3 2 2a e s 算法數學背景 1 1 r j j n d a c l 使用了許多字節層級的運算,而這些運算是以g f ( 2 8 ) 為基礎架構,也 有一些采用了舡b y t e 的字組運算,下面是一些基本的數學原理。 ( 1 ) g f ( 2 8 ) 的定義 假設一個字節6 由懶釓島吒組成,我們可以把這些島想象成一個7 次多項 式的系數,而這些系數不是。就是1 :島耳7 + 魚+ 6 5 ,+ 6 4 + 6 鏟3 + 6 2 2 2 + 啦+ 6 0 , 例如,( 5 7 ) 1 。的二進制表示法為( 0 1 0 1 0 1 1 1 ) :表示成多項式,則為: 石6 + 工4 + z 2 + x + 1p ( 2 ) 加法 兩個多項式的加法,則是定義為相同指數項的系數和再模余2 ,簡單的說就是 作x o r 運算,例如:( 5 7 ) 1 6 + ( 8 3 ) 1 6 。( 0 1 0 1 0 1 1 1 ) 2 + ( 1 0 0 0 0 0 1 1 ) 2 - ( 1 1 0 1 0 1 ) 2 一( d 4 ) 1 6 或是0 6 + z 4 + 并2 + 石+ 1 ) + 0 7 + x + 1 ) l z 7 + 工6 + 石4 + x 2 。 ( 3 ) 乘法 在乘法里面,多項式相乘之后的結果很容易造成溢位的問題,解決溢位的方 式是把相乘的結果,再模余一個不可分解的多項式( d 。在r n d a e l 中,定義一個 這樣子的多項式為m 0 ) - z 8 + + ,+ z + 1 或是( 1 協k 。 例如:( 5 7 ) 1 6 。( 8 3 ) 1 6 一0 6 + 工4 + x 2 + z + 1 ) 7 + x + 1 ) _ z 1 3 + x 1 1 + 算9 + z 8 + 善7 + x 7 + 工5 + z 3 + 工2 + 工+ z 6 + z + z 2 + 石+ l 1 0 1 3 + z 1 1 + x 9 + 工8 + x 6 + 耳5 + 石4 + x 3 + 1 + x 1 3 + x 1 1 + 并9 + z 8 + 石6 + z 5 + x 4 + x 3 + 1 ) m o d ( x 8 + z 4 + 并3 + 工+ 1 ) 篁工7 + 工6 + 1 _ ( c 1 ) 1 6 ( 4 ) x 乘法 若把6 ( x ) 乘上x ,得到x 8 + 6 7 + 6 5 + 6 + 6 鏟+ 6 聲3 + 6 f 2 + 吣。若6 7 一o , 絲 s y s t e m c 在a e s 算法i p 核設計中的應用 不會發生溢位問題,答案即是正確的;若6 7 1 ,發生溢位問題,必須減去珊0 ) 。 我們可以把這種運算表示為材擁e 0 ) ,其運算方式為l e f ls h i f t ( 若溢位則與c 增) 。做 x o r 運算) ,例如:5 7 1 1 3 阿 5 7 、0 2 一x f 脅l e ( 5 7 ) 一肛 5 7 v 0 4 時擁p o e ) 一4 7 5 7 0 8 量疵泐p ( 4 7 ) 一8 e 5 7 v 1 0 一甜擁e ( 8 e ) 一0 7 5 7 f 1 1 3 。一5 7 f f 0 1 t 。0 2 協。1 0 - 5 7 t 。加i 。0 7 - 尼。 2 3a e s 加密架構 a e s 是一個迭代型分組密碼算法,類似于明文分組和密文分組,算法的中間 結果也需要分組。算法中間結果分組被成為狀態,所有的操作都在狀態上進行1 1 1 】 【1 2 】。狀態可以用以字節為元素的陣列表示,該陣列行與列均為4 。種子密鑰同樣的 用一個以字節為元素的矩陣陣列表示,陣列有4 行,列數記為膿,等于分組長度 除以3 2 。圖2 1 為 陡- 4 的種子密鑰的矩陣陣列表示。 k 0 0k 0 1k 0 2k 0 3 k 1 0k 1 1 i 【1 2k 1 3 k 2 0k 2 1k 2 2k 2 3 k 3 0k 3 1k 3 2k 3 3 圖2 1 膿一4 的種子密鑰矩陣陣列 r j j n d a e l 加密算法流程是由一個初始a d d r o u n d y ,一1 個r o u n d 運算,及 一個f i n a lr 0 u n d 所組成,如圖2 2 所示。 四種操作運算過程如下: 子密鑰加( a d d i b 岫d k e v ) : 運算主要是把每一個子密鑰( r o 吼d 婦y ) 通過與s t a l e 中對應的每個字節x o r 加到 一個新的s t a t c 中,如圖2 3 所示。 字節取代轉換( s u b b y t e s ) : 字節取代是一個以字節為單位的非線性取代運算,取代表( s b o x ) 是經過兩 個運算過程而建立,并且是可逆的。首先找出每個字節在g f ( 2 8 ) 中的乘法反元素: 接著經過一個仿射轉換運算,定義如圖2 4 所示。 字節取代( s u b b v t e s ) 運算對狀態的影響如圖2 5 所示。 字節取代( s u b b y t e s ) 轉換的逆運算( h s u b b y t c s ) ,計算仿射對應之后的相反運 第= 章a e s 算法原理分析 算可得到s - b 0 x ,以此s b 咀做字節取代( s u b b y t e s ) 即可。 p 1 a i n t e 礎 c 詰h e r t e x t 圖2 2 加密流程圖 n i 1r o u n d f i n i a lr o u n d s y s t c 在a e s 算法i p 核設計中的應用 哇 如 島 反 菇 西 1oooll 1 1i | 11o o ol1 l | | 熟 l1looo11i | 如 11llo o o 圳島 llllloo o l 札 olllllo o | i 磚 o olll11o l 玩 o o o l1l l1l 島 圖2 4 仿射轉換運算示意圖 + 圖2 5s u b b y l c s 示意圖 移列轉換( s h i f t r o w s ) : 在這個轉換中,狀態的每一列以不同的偏移量做環狀位移,第0 列不動,第 一列位移c 1 個字節,第二列位移c 2 個字節,第三列位移c 3 個字節。位移的偏 移量c 1 ,c 2 ,c 3 跟區塊的數目( n b ) 有關,定義如表2 2 所示。 表2 2 位移偏移量表 n b c 1 c 2 c 3 4123 6123 8134 行位移轉換( s h i f i r o w s ) 運算對于狀態的影響,如圖2 6 所示。 ss jl知】, 屯- o l i墨2墨) l j o島l如2屯, 屯o屯j 屯】屯3 點靼圣馬 黽12s t , 墨i毛2蕞墨o 屯2s 2 ,s z os 2 1 南j屯oi屯】 圖2 6 s h i f l o m 示意圖 l l o o o l l o 第二章a e s 算法原理分析 行位移轉換( s h i f c r 腑s ) 的逆運算( i n v 馴鉑b w s ) ,對第二第三及第四列做 n b c 1 ,n b c 2 ,n b c 3 個字節的環狀位移即可。 列混合轉換( m i x c o l 咖n s ) : 把s ta _ t c 當作一個存在g f ( 2 8 ) 中的多項式。并且對一個固定的多項式c ( x ) 作乘 法,如果發生溢位,則再模余x 4 + l 。表示如下; c o ) l 0 3 石3 + 0 1 工2 + 0 1 x + 0 2 。 c ( x ) 與x 4 + 1 互質,令6 0 ) 一c o ) 4 0 ) ,以矩陣乘法表示如圖2 7 所示。 黽c 黽。 島, s 3 。 r 0 20 30 lo l io lg 2 0 3o l = i lo lo l0 20 3 l0 3o lo l0 2 。 墨。 s 2 口 墨。 f o r 0 c n b 圖2 7 矩陣乘法表示圖 s t a t e 經過列混合( m i x c o l u m 雌) 運算之后的變化如圖2 。8 所示。 圖2 8m i x g o l m n s 示意圖 列混合( m i x g o l 咖s ) 轉換的逆運算( h v m i x c o l u m n s ) ,則是乘上一個特殊 的多項式d ,( 0 3 礦+ 0 l 算2 + 0 1 z + 0 2 o d o ) 一0 1 , d ( x ) l 0 8 。膏3 + o d 石2 + 0 9 工+ o e 。 r o 如d 操作偽碼敘述如下: r o u n d ( s t a t e ,r o 吼d k e y ) s u b b ”髂( s t a t e ) ; s l l i f t i 沁w s ( s t a t c ) ; m i x c o l u m s ( s t a t e ) ; s y s t e m c 在a e s 算法i p 核設計中的應用 a d d r o u n d k c y ( s t a t e ,r o u n d k c y ) ; f i n a lr o u n d 如下: f i n a l r o u d ( s t a t c ,r o i h l d k e y ) s u b b y t e s ( s t a t c ) ; s h i f t r o w s ( s t a t e ) ; a d d r o u n d k e y ( s t a t e ,r d u n d k y ) ; ) 加密過程: r i j n d a e l ( s t a t c ,e x p 柚d e d k e y ) s t a t c p l a i n t e x t 膽x p a n d e d k e y 枷n dk e y s a d d r o u n d k c y ( s t a t e ,e x p 姐d e d k c y ) ; f 0 “i = 1 ;i n r ;i + + ) r 伽n d ( s t
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題研究范圍
- 化療藥護理講課件
- 小學教育畢業答辯
- 統編版六年級語文下冊3.古詩三首寒食課件
- 護理美學教學課件
- 2025-2030年型煤煤炭洗選行業市場發展分析與發展前景及投資戰略研究報告
- 2025-2030年創業貸款產業市場深度調研及前景趨勢與投資研究報告
- 2025-2030年全球地坪研磨機行業市場調研與前景趨勢與投資研究報告
- 護理缺陷講課課件
- 2025-2030年中國音頻D類放大器行業市場現狀供需分析及投資評估規劃分析研究報告
- 河北大學《民法學》2023-2024學年第二學期期末試卷
- 2025年全球視域下的中國文化試題及答案
- 食品供應商協議合同模板
- 揚州市儀征市2024-2025學年三下數學期末質量檢測試題含解析
- 口服給藥安全警示教育
- 黃金飾品購銷合同(2025版)
- 2025年廣西南寧市中考一模地理試題(含答案)
- 廣東省深圳市31校2025年中考物理一模試卷(含答案)
- 2025年河北雄安友信能源技術服務有限公司招聘筆試參考題庫含答案解析
- 工信委選調試題及答案
- 云南開放大學水利工程材料與檢測作業1-3
評論
0/150
提交評論