RSA算法的TMS320C54x DSP實(shí)現

發(fā)布時(shí)間:2010-11-25 12:13    發(fā)布者:eetech
關(guān)鍵詞: dsp , RSA , TMS320C54x , 算法
在當今的電信時(shí)代,由于采用大規模的電子計算機對數據進(jìn)行處理,使得信息的傳遞大大加速,但是,也隨之出現了令人最為擔心的問(wèn)題,就是信息的安全性。對信息進(jìn)行保護的方法就是數據加密,通過(guò)對網(wǎng)絡(luò )上傳輸的數據和系統內存儲的數據進(jìn)行加密,可以大大提高網(wǎng)絡(luò )和信息的安全性。以較高的安全性而被廣泛采用的RSA公鑰密碼體制,在現代安全性制中占有重要地位。RSA算法由于在加密和解密過(guò)程中要進(jìn)行大量的數值運算,存在難以實(shí)現的問(wèn)題;而采用純軟件的方式實(shí)現RSA算法,雖然降低了解密的強度,但卻增加了運算時(shí)間。本文采用一種軟硬件相結合的方式來(lái)實(shí)現RSA算法。 DSP(Digital Signal Processor)芯片,即數字信號處理器,是一種特別適用于進(jìn)行實(shí)時(shí)數字信號處理的微處理器。TMS320C54x系列是一種有特殊結構的微處理器,其內部采用程序與數據分開(kāi)的哈佛結構;具有專(zhuān)門(mén)的硬件乘法器,廣泛采用流水線(xiàn)操作,使用特殊的DSP指令,可以用來(lái)快速地實(shí)現各種數字信號處理算法。正因為T(mén)MS320C54x系列的這些特點(diǎn),比較適合RSA算法使用,實(shí)現對串行數據的加、解密。

1 RSA算法

RSA算法是由Rivest、Shamir與Adleman三人于1978年合作開(kāi)發(fā)的,并以他們的名字命名的公開(kāi)密鑰算法。其加密密鑰是公開(kāi)的,而解密密鑰是保密的。它是基于一個(gè)非常簡(jiǎn)單的數論思想:“將兩個(gè)素數乘起來(lái)是很容易的,但是分解該乘積是非常困難的”。 RSA算法的特別為利用素數(也就是質(zhì)數)的因式不可分解性,選用很大的素數(一般為幾百位到幾千位),為了使政府部門(mén)與軍事部門(mén)的數據保密,大多采用幾千位以上的素數作為加密的密鑰。RSA算法的要點(diǎn)與難點(diǎn)有二:①算法主要為求模取余運算,這給此算法的應用增添了實(shí)際的應用難度,因為給一個(gè)幾千位的素數進(jìn)行求模取余運算是很難的;②判斷一個(gè)數是否為素數也是數學(xué)界幾百年來(lái)一直討論與研究證明的難題,雖然費馬提出了著(zhù)名的“費馬猜想”,但一直卻未得到過(guò)完全的證明,基于此要找一個(gè)幾千位的素數更是難上加難。 (1)RSA算法原理 RSA算法是基于數論中的同余理論。如果用m代表明文,c代表密文,E(m)代表加密運算,D(c)代表解密運算,x=y(mode z)表示x和y模z同余,則加密和解密算法簡(jiǎn)單表示如下: 加密算法 c=E(m)=me(mod n) 解密算法 m=D(c)=cd(mod n) 其中n和密鑰e是公開(kāi)的,而密鑰d是保密的。 下面討論密鑰的求。 ①選取兩個(gè)隨機大素數p和q(保密); ②設n=p%26;#215;q; ③歐拉函數φ(n)=(p-1)(q-1)(保密); ④選取與φ(n)互素的正整數e,即滿(mǎn)足gcd(φ(n),e)=1和0 其中:ei∈{0,1},i=0,1,Λ,k-1。 這樣,在計算me(mod n)時(shí),先做一次平方運算,然后根據ei的值,再做一次乘法運算,以此來(lái)簡(jiǎn)化模運算的復雜性。 由于實(shí)際中的e值非常大,為了提高運算速度,可以將e進(jìn)行分組后運算。設對e以四位一組(十六進(jìn)制)的形式計算me(mod n),那么:



其中:ei∈{0,1,2,…,15},t=k/4; ②求出m2,m3,…,m15(mod n); ③設置變量c:=1; ④對于i=t-1,t-2,…,1,0重復計算: c:=c2(mod n)(平方); c:=c2(mod n)(四次方); c:=c2(mod n)(八次方); c:=c2(mod n)(十六次方); e.若ei≠0,則c:=c%26;#215;mei(mod n)。 ⑤所得c即為所求。 由上面的模運算方法分析可知,該算法的運算所需的平方和乘法次數是最少的,因此選擇這種算法來(lái)實(shí)現模運算可提高運算速度。有了基本運算思路和步驟以后,就可以利用TMS320C54x DSP芯片來(lái)開(kāi)發(fā)RSA算法了。

2 軟硬件的實(shí)現

嵌入式應用場(chǎng)合,對于大規模的乘法運算,采用單片機來(lái)實(shí)現顯然力不從心;而TMS320C54x DSP芯片的特點(diǎn)恰好滿(mǎn)足RSA算法的要求,是實(shí)現此算法的首選芯片。本課題中所選用的是德州儀器公司生產(chǎn)的TMS320C5402芯片。



(1)TMS320C5402芯片概述

TMS320C54x芯片是為實(shí)現低功耗、高性能而專(zhuān)門(mén)設計的定點(diǎn)DSP芯片,主要應用在無(wú)線(xiàn)通信系統和遠程通信嵌入式系統中。本文所用的TMS320C5402芯片是此系列的一個(gè)典型產(chǎn)品,除了繼承老產(chǎn)品的優(yōu)點(diǎn)外,還增加了更多的硬件資源,該芯片的主要特點(diǎn)有: ①速度快,指令周期為10ns,運算能力為100MIPS; ②強大的尋址能力,1M%26;#215;16位最大可尋址外部存儲空間,內置16K%26;#215;16位RAM,4K%26;#215;16位ROM; ③40位的算術(shù)邏輯運算單元(ALU),包括2個(gè)獨立的40位累加器和1個(gè)40位的桶形移位寄存器; ④1個(gè)17位%26;#215;17位的硬件乘法器和1個(gè)40位的專(zhuān)用加法器,乘法器/加法器單元可以在一個(gè)流水線(xiàn)狀態(tài)周期內完成一次乘法累加(MA)運算; ⑤先進(jìn)的多總線(xiàn)結構(3條數據總線(xiàn)、1條程序總線(xiàn)和4條地址總線(xiàn)),多條數據總線(xiàn)可以同時(shí)讀取多個(gè)數據,使得指令集的功能強,效率更高。

(2)硬件設計

在本設計中,外設提供的串行數據是標準RS232電平,經(jīng)過(guò)電平轉換后達到可以處理的TTL電平,直接與DSP芯片的異步接收發(fā)送引腳相連;DSP將接收到的數據進(jìn)行加、解密處理,并存儲在外部數據存儲器中,等待中斷程序進(jìn)行讀取。 電路原理框圖如圖1所示。 在本DSP系統中,SRAM與DSP芯片的接口構成32K字的外部程序存儲器和16字的外部數據存儲器,其中外部程序存儲器的地址范圍是48000H~4FFFFH,外部數據存儲器的地址范圍是4000H~7FFFH;并行8位EPROM與DSP芯片的接口構成32KB的引導裝載EPROM,可以使DSP系統成為獨立運行系統,其地址范圍是8000H~FFFFH。 當DSP芯片工作在微計算機方式(MP/MC=0)下,復位時(shí),外部并行8位引導裝程序從外部EPROM中讀取引導裝載表,并且裝載程序代碼到DSP片外程序存儲器中。在外部并行8位引導裝載模式下,可對軟件等待狀態(tài)寄存器(SWWER)和切換控制寄存器(BSCR)進(jìn)行配置,使高速DSP芯片能從相對較慢的外部EPROM中讀取數據,缺省的設置是7個(gè)等待狀態(tài)。 硬件的設計是最為重要的,必須嚴格分析DSP工作過(guò)程中的時(shí)序問(wèn)題,而且還要考慮到指令在執行時(shí)所消耗的時(shí)間;要考慮到該時(shí)間與外圍器件的運行速度是否匹配等諸多因素,若單個(gè)軟件設計成功而支持軟件的硬件未設計成功,也就意味著(zhù)整個(gè)設計等于零。

(3)軟件設計

軟件開(kāi)發(fā)過(guò)程包括:利用任何文本編輯器編寫(xiě)源代碼文件,然后通過(guò)編譯、匯編和鏈接,生成DSP可執行的COFF目標代碼,最后將生成的可執行目標代碼通過(guò)仿真器下載到DSP目標系統中運行,再利用調試工具進(jìn)行調試,達到設計要求。待程序調試通過(guò)后,就可以將所調試通過(guò)的程序代碼利用Hex轉換工具轉換為二進(jìn)制文件,再用編程器將程序寫(xiě)入外部EPROM中,形成獨立的DSP系統。 開(kāi)發(fā)語(yǔ)言分為匯編語(yǔ)言與高級語(yǔ)言?xún)深?lèi)。其中匯編語(yǔ)言編譯器的效率高,但是由于生產(chǎn)DSP芯片的廠(chǎng)家開(kāi)發(fā)出的DSP芯片所支持的匯編語(yǔ)言差異較大,其指令、尋址方式差異更大,并且可讀性與可移植性不強。為克服這個(gè)缺點(diǎn),廠(chǎng)家大都開(kāi)發(fā)出支持高級語(yǔ)言的工具,典型的如“C語(yǔ)言”;而C語(yǔ)言的編譯器效率比不上匯編語(yǔ)言;特別是在處理低層硬件中就顯得蒼白無(wú)力,所以一個(gè)優(yōu)化高效的DSP應用程序都采用高級語(yǔ)言與匯編語(yǔ)言共同完成。

結語(yǔ)

本文介紹了RSA算法的基本原理以及用TMS320C5402 DSP芯片的實(shí)現方法。DSP芯片因其特有的硬件結構和靈活的軟件編程功能,比較適合于RSA算法的實(shí)現。實(shí)踐證明,以這種方式實(shí)現的RSA算法在速度和安全性能上都有較大提高,因此可應用于互聯(lián)網(wǎng)和分散控制系統等領(lǐng)域。
本文地址:http://selenalain.com/thread-41639-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页