• 沒有找到結果。

測試結果

在文檔中 3-DES加解密電路 by PCI介面 (頁 33-0)

圖 8-1 ﹕Key_sel.vhd 測試結果

K(母金匙)的資料為 ﹕0189A3BD7E02FC 而產生的16 把子金匙分別為 ﹕

K1 ﹕B372EF614E13 K9 : D153BF224160 K2 ﹕6C9E9FA29B00 K10 ﹕B59BC5C0A906 K3 ﹕77B85A900736 K11 ﹕137AE7E40698 K4 ﹕2EECF25D0A80 K12 ﹕B975F459124B K5 ﹕FE6D1E506059 K13 ﹕D447ED16D028 K6 ﹕6EA71923B00C K14 ﹕D3D335003D64 K7 ﹕4F9C3FA035A2 K15 ﹕8D9BE7A8A8B0 K8 ﹕EFA8DA2C0A27 K16 ﹕EBA71A836069

圖 8-2 :3 - DES 測試結果

原始輸入資料 ﹕1234567887654321 Key1 ﹕2AC4E5F6EB6FAC

Key2 ﹕ED434F5AFF5E5C Key3 ﹕AB3215EFD453D6

加密之後的密文 ﹕7273C88F553CF757

將密文還原成原始輸入資料

九、結論

心得感想:

莊啟新的心得感想:

自從大二的時候,上了數位電路導論這一門課,就使我對於硬 體方面產生莫大的興趣,而後又陸陸續續上了許多有關於硬體方面 的課程,接觸到了 VHDL 硬體描述語言,所以就決定在大學中最 重要的畢業專題要做有關於硬體方面的題目。於是就接受了『3 - DES 加解密電路 by PCI 介面』這個題目。

剛開始的時候對於所謂的 DES 是什麼東西都完全搞不懂,經 過助教的幫助,提供了許多的資料給我們參考,從最基本的 DES 開 始學習一直到最後的 WinDriver,每一個部分都有其專業的地方,需 要閱讀許多 paper 才能從其中學習到其資料流是如何的傳送,而且 對於 WinDriver 這個部分更是全新的嚐試,必須要了解其操作介面中 的 I/O,Memory 部分對應到 AMCC - S5920 的哪一個 region,才能正 確的測試我們所連接電路是否能夠正常的執行。

而做這個專題雖然我和另一位同學沒有作工作的分配,但是因 為是二個人合作這個題目所以兩人都不會偷懶摸魚,反而是二個人 一起討論每一個細節,通力合作完成這個題目。而在此我對於助教 的認真及專業也非常的佩服,在我們做專題的這一段時間給了我們 非常大的幫助。

經過這一次製作畢業專題這個難忘的經驗,使我常常進出實驗 室,每一次在學校裡呆到很晚時,實驗室裡還是有許多助教在裡面 讀書、找資料的態度,使我覺得進入研究所就讀,一定能夠學到更 多東西,面對更多挑戰。

袁隆宇的心得感想:

當老師把我們集中在教室準備要讓我們選專題的時候,心理其 實很緊張,因為終於要考驗我們在過去三年裡,得到了什麼知識,

而最重要的是能不能學以致用。綜觀過去所修習的課程,包括軟硬 體兩方面的基礎理論及應用課程,而因為導師陳德生老師是教導我 們硬體的緣故,所以接觸硬體的機會較多 ; 再加上各個硬體課程老 師上課生動易懂,又常有機會實做的關係,使得學生我對硬體方面 的興趣較多一點,但又想磨練自己軟體方面的功力,所以選擇了這 個題目 “DES 加解密電路 by PCI 介面”。

其實對我來說這是一個很陌生的領域,因為以往都只聽說過,

但卻沒有很深的了解。所以一開始的功課就是讀DES、PCI、AMCC S5920 等的相關 Paper,以真正了解整個專題的運作流程,在這方面 比較沒有重大的困難,時序圖算是比較複雜的部分,但經過助教的 指導之後,再多看幾次,就能熟悉其傳輸方式。

再來的困難,就是程式的部分,我們必須以以往學習的僅有的 VHDL 基礎語法及結構來了解整個資料經過電路傳輸運作的流程,

而PCI、AMCC S5920、DES 電路之間的溝通也必須透過 VHDL 來 實做,為了了解這部分我們頻頻找助教請教,才能解決問題,而 MaxPlus 的操作只是久沒使用,有點生疏,但過一段時間就可以操 作得恨順暢了。

而最後要把整個電路接通測試的時候,也因為介面卡、電線接 觸不良等等的問題也搞了很久,常常需要從頭再接一次才會work,

但是當最後用WinDriver 測試成功之後,真的很高興,終於,有了 成果,有了代價。

這次專題製作不僅可以增進自己的專業知識技能,也能培養自 己在面對一個問題時,規劃組織的能力,先真正了解問題,再想出 一套可行的計劃來解決問題 ; 還可以藉此學習如何妥善安排自己 的時間,面對著研究所考試、專題、課業等等的壓力,怎麼分配才 能得到最佳解 ; 而團隊合作的重要,如何溝通不同的想法,整合成 統一的觀念等等,都是在製作這個專題時無形的附加價值。我想這 些訓練對於往後不管做任何事都有很大的幫助。

十、參考資料:

1. Tom Shanley / Don Anderson,”PCI System

Architecture”( PCI 系統架構) ,羅崑崙 / 朱習悅 譯 2. http://www.umc.com/chinese/index.asp

3. http://www.sinter.com.tw/Jungo/index.htm 4. http://www.costronic.com/

5. 賴溪松,韓亮,張真誠,”近代密碼學及其應用”

6. 林傳生,”使用 VHDL 數位電路設計”

7. 盧毅,”VHDL 與數位電路設計”

十一、附錄(圖表)

圖 2-1 ﹕DES 整體流程圖

輸入

初始排列

L0

+ f

L1=R0

R0

R1=L0 ♁ f(R0,K1)

R2=L1 ♁ f(R1,K2) L2=R1

L15=R14 R15=L14 ♁ f(R14,K15)

R16=L15 ♁ f(R15,K16) L16=R15

輸出 終結排列

+

+

+

f

f

f

1,2,3, ... 64

1,2,3, ... 32 1,2,3, ... 32

1,2,3, ... 64

K1

K2

Kn

K16

圖 2-2 ﹕子金匙的產生

母金匙輸入

金匙排列A

C0 D0

C1 D1

Cn Dn

C16 D16

金匙排列B

金匙排列B

金匙排列B

左旋 1 左旋 1

左旋 n 左旋 n

左旋 16 左旋 16

1,2,3, ... 64

1,2,3, ... 28 1,2,3, ... 28

K1

Kn

K16

圖 2-3 ﹕f(R,K)函數之計算過程

表 2-1 ﹕初始排列

表 2-2 ﹕終結排列

表 2-3 ﹕金匙排列 A

表 2-4 ﹕金匙排列 B

表 2-5 ﹕左旋函數

回數 左旋位數 回數 左旋位數

1 1 9 1

2 1 10 2

3 2 11 2

4 2 12 2

5 2 13 2

6 2 14 2

7 2 15 2

8 2 16 1

表 2-6 ﹕擴增排列 E 表 2-7 ﹕縮減排列 F

表 2-8 ﹕替換盒(S-Boxes)函數

圖 3-1 ﹕PCI 系統之方塊架構圖

圖 3-2 ﹕BURST 傳輸格式

表 3-1 ﹕控制 PCI 傳輸之訊號

訊號 Master Target 說明

FRAME# 輸入/輸出 輸出

(Cycle Frame)是由目前的 initiator 驅動,

它表示著交易的開始與期間。Master 為了確 定是否取得bus 擁有權,它會在 PCI CLK 上 升邊緣時取樣到FRAME#和 IRDY#都反驅

動到高態,且GNT#被驅動到低態。當

initiator 準備完成最後一次資料階段時,

FRAME#會被反驅到高態。

TRDY# 輸入 輸出

(Target Ready)是由目前所定址的 target 驅 動。若target 準備完成目前的資料傳輸時,

(Initiator ready)是由目前的 bus master 驅 動。在讀取期間,IRDY#被驅動表示 initiator 準備接收從目前所定址的target 傳來的資料

(Device Select)若 master 起始一個傳輸,

且在6 個 CLK 週期內,未偵測到 DEVSEL#

被驅動到低態的話,就必須停止交易。

LOCK# 輸入/輸出 輸入

為在一個單元(atomic)交易序列期間(例如,

在讀取/修改/寫入操作期間)initiator 用來鎖 定(lock)目前所定址的 target。

GNT# 輸入 輸出

(Grant)在 PCI 環境下,若有另一個 master 仍控制著匯流排的時候,就可能進行匯流排 仲裁,而仲裁器決定要把控制權給請求的 master 時,它就會驅動 GNT#線給此 master (GNT#被驅動到低態)。

PERR# 輸入/輸出 輸出

(Parity Error)資料同位錯誤,在 PCI 裝置 偵測與報告同位錯誤是必要的。若在寫入資 料階段中,PCI target 偵測到資料同位錯誤的

話,則target 會驅動 PERR#到低態然後,才

可繼續交易,或驅動STOP#到低態,提早終

止交易。在burst 寫入期間,initiator 負責監

PERR#訊號,以確保每一資料項被寫入

target 的過程中,沒有被損壞。若在讀取資料 階段期間,PCI initiator 偵測到資料同位錯誤 的話,initiator 必須要把 PERR#驅動到低 態。

SERR# 輸入/輸出 輸出

(System Error)系統錯誤,可由任意的 PCI 裝置發出,以報告位址同位錯誤、在特殊週 期期間內的資料同位錯誤、及其他非同位的 重大錯誤。

在文檔中 3-DES加解密電路 by PCI介面 (頁 33-0)

相關文件