欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于現(xiàn)場可編程門陣列芯片的rsa算法控制方法

文檔序號:7795905閱讀:368來源:國知局
一種基于現(xiàn)場可編程門陣列芯片的rsa算法控制方法
【專利摘要】本發(fā)明涉及信息安全【技術(shù)領(lǐng)域】,尤其是涉及一種RSA算法控制方法,特別涉及一種基于現(xiàn)場可編程門陣列芯片的RSA算法控制方法。本發(fā)明采用現(xiàn)場可編程門陣列芯片作為硬件控制單元,利用現(xiàn)場可編程門陣列芯片的狀態(tài)機(jī)和RSA公鑰算法芯片實(shí)現(xiàn)對RSA算法的控制。本發(fā)明通過利用了現(xiàn)場可編程門陣列芯片和RSA公鑰密碼算法芯片,通過硬件描述語言VHDL設(shè)計(jì)出高效的狀態(tài)機(jī),從而使得信息的處理過程變的快速。
【專利說明】—種基于現(xiàn)場可編程門陣列芯片的RSA算法控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息安全【技術(shù)領(lǐng)域】,尤其是涉及一種RSA算法控制方法,特別涉及一種基于現(xiàn)場可編程門陣列芯片的RSA算法控制方法。
【背景技術(shù)】
[0002]RSA公鑰體制是1978年由Rivest、Shamir和Adleman三個(gè)人提出的一個(gè)公開密鑰密碼體制,被認(rèn)為是迄今為止理論上最為成熟完善的一種公鑰密碼體制。該體制的構(gòu)造基于Euler定理,它利用了如下的基本事實(shí):尋找大素?cái)?shù)是相對容易的,而分解兩個(gè)素?cái)?shù)的積在計(jì)算上是不可行的。RSA體制多用在數(shù)字簽名、密鑰管理和認(rèn)證等方面。
[0003]傳統(tǒng)的RSA算法的實(shí)現(xiàn)是通過在主機(jī)上運(yùn)行加密軟件實(shí)現(xiàn)的。這種方法除占用主機(jī)資源外,運(yùn)算速度較慢,安全性也較差。而硬件加密是通過專用加密芯片、FPGA芯片或獨(dú)立的處理芯片等實(shí)現(xiàn)密碼運(yùn)算。相對于軟件加密,硬件加密具有加密速度快、占用計(jì)算機(jī)資源少、安全性高等優(yōu)點(diǎn)。

【發(fā)明內(nèi)容】

[0004]為了解決現(xiàn)有技術(shù)的問題,本發(fā)明提供了一種基于現(xiàn)場可編程門陣列芯片的RSA算法控制方法,其采用FPGA (現(xiàn)場可編程門陣列)芯片與專用密碼算法芯片的硬件方式實(shí)現(xiàn)了 RSA公鑰密碼算法,因此數(shù)據(jù)處理的速度更快,效率更高。
[0005]本發(fā)明所采用的技術(shù)方案如下:
一種基于現(xiàn)場可編程門陣列芯片的RSA算法控制方法,是采用現(xiàn)場可編程門陣列芯片作為硬件控制單元,利用現(xiàn)場可編程門陣列芯片的狀態(tài)機(jī)和RSA公鑰算法芯片實(shí)現(xiàn)對RSA算法的控制。
[0006]方法具體包括以下步驟:
A、密碼卡復(fù)位后進(jìn)入RSA_IDLE狀態(tài),由上位機(jī)設(shè)置現(xiàn)場可編程門陣列芯片的寄存器啟動(dòng),當(dāng)信號start_rsa= ‘I’時(shí),現(xiàn)場可編程門陣列芯片的狀態(tài)機(jī)進(jìn)入RSA_RN0P狀態(tài),經(jīng)過延時(shí)進(jìn)入RSA_REQI狀態(tài);
B、在RSA_REQI狀態(tài),現(xiàn)場可編程門陣列芯片向RSA芯片發(fā)出輸入數(shù)據(jù)請求,RSA芯片響應(yīng)后使輸入允許信號nROTI變?yōu)榈碗娖?,之后FPGA進(jìn)入RSA_ROTI狀態(tài);
C、在RSA_RDH狀態(tài),現(xiàn)場可編程門陣列芯片把內(nèi)部RAM中存儲(chǔ)的待運(yùn)算的數(shù)據(jù)發(fā)送給RSA芯片,RSA芯片讀入所有數(shù)據(jù)后使nRDH信號變?yōu)楦唠娖?,之后現(xiàn)場可編程門陣列芯片進(jìn)入RSA_WN0P狀態(tài);
D、在RSA_WN0P狀態(tài),現(xiàn)場可編程門陣列芯片等待RSA芯片運(yùn)算完畢,之后進(jìn)入RSA_REQO狀態(tài);
E、在RSA_REQ0狀態(tài),現(xiàn)場可編程門陣列芯片向RSA芯片發(fā)出讀取數(shù)據(jù)的請求,RSA芯片響應(yīng)后使輸出允許信號nRDYO變?yōu)榈碗娖剑蟋F(xiàn)場可編程門陣列芯片進(jìn)入RSA_RDY0狀態(tài);F、在RSA_RDYO狀態(tài),現(xiàn)場可編程門陣列芯片把RSA芯片運(yùn)算完成的數(shù)據(jù)依次讀取到內(nèi)部RAM中,讀完后RSA芯片設(shè)置nRDYO信號為高電平。
[0007]現(xiàn)場可編程門陣列芯片的狀態(tài)機(jī)采用了硬件描述語言VHDL。
[0008]本發(fā)明中:
1.FPGA芯片:選用美國Altera公司CycloneIII系列的EP3C25F256C8器件,該芯片總引腳數(shù)256,其中I/O引腳為156,RAM總量為78KB,邏輯單元(LE) 24624個(gè),其硬件資源可以滿足設(shè)計(jì)的要求。FPGA是硬件控制單元,通過VHDL程序設(shè)計(jì)出高效的狀態(tài)機(jī)對SSX30-D芯片進(jìn)行控制。
[0009]2.RSA芯片:采用清華大學(xué)微電子研究所的RSA芯片,該芯片采用SMIC 0.18 μ m的工藝制作,工作頻率200MHz,支持剩余定理簽名和普通算法簽名兩種簽名模式,1024bitRSA簽名可達(dá)到每秒6900次(剩余定理簽名),特殊公鑰簽名認(rèn)證速度可以達(dá)到每秒10-21萬次。
[0010]3.狀態(tài)機(jī)電路是一種重要的數(shù)字邏輯電路,同時(shí)又屬于時(shí)序邏輯電路的范疇,通常用來描述數(shù)字系統(tǒng)的控制單元,是大型控制電路設(shè)計(jì)的基礎(chǔ)。根據(jù)其輸出與當(dāng)前輸入是否有關(guān)可以把狀態(tài)機(jī)分為Mealy型和Moore型兩大類。Moore型輸出僅是當(dāng)前狀態(tài)的函數(shù),Mealy型不僅輸出當(dāng)前狀態(tài)的函數(shù),而且還與輸入信號有關(guān)。本發(fā)明采用的是Mealy型狀態(tài)機(jī)。
[0011]本發(fā)明提供的技術(shù)方案帶來的有益效果是:
通過利用了現(xiàn)場可編程門陣列芯片和RSA公鑰密碼算法芯片,通過硬件描述語言VHDL設(shè)計(jì)出高效的狀態(tài)機(jī),從而使得信息的處理過程變的快速。
【專利附圖】

【附圖說明】
[0012]圖1是本發(fā)明的現(xiàn)場可編程門陣列芯片與RSA芯片的硬件連接;
圖2是本發(fā)明的現(xiàn)場可編程門陣列芯片的狀態(tài)機(jī)的控制流程圖;
圖3是本發(fā)明的現(xiàn)場可編程門陣列芯片向RSA芯片發(fā)送數(shù)據(jù)的時(shí)序波形圖;
圖4是本發(fā)明的現(xiàn)場可編程門陣列芯片從RSA芯片讀取數(shù)據(jù)的時(shí)序波形圖。
【具體實(shí)施方式】
[0013]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0014]實(shí)施例一
附圖1是FPGA芯片與RSA芯片的硬件連接,RSA芯片的復(fù)位引腳、數(shù)據(jù)引腳、控制引腳都連接到FPGA的IO引腳,時(shí)鐘引腳連接到FPGA的全局時(shí)鐘引腳。RSA芯片采用QFP封裝,總共160引腳。主要引腳說明如下:
雙向引腳Data[31..0]:32位數(shù)據(jù)引腳。
[0015]輸出引腳nRDH:輸入數(shù)據(jù)允許,O:允許,1:不允許 輸入引腳nREQ1:輸入數(shù)據(jù)請求,O:請求,1:不請求
輸出引腳nRDYO:輸出數(shù)據(jù)允許,O:就緒,1:非就緒 輸入引腳nREQO:輸出數(shù)據(jù)請求,O:請求,1:無請求 輸入引腳LMODE:模式選擇引腳 輸入引腳SVMODE:模式選擇引腳 輸入引腳NMODE:模式選擇引腳 輸入引腳10_clk:外設(shè)讀寫脈沖 輸出引腳nCore_Busy:RSA忙標(biāo)志。1:空閑;0:計(jì)算中 輸入引腳nReset:芯片復(fù)位引腳,O:復(fù)位;1:正常工作
附圖2是FPGA狀態(tài)機(jī)的控制流程圖,通過硬件描述語言VHDL實(shí)現(xiàn)狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)移和控制功能,工作流程詳解如下:
1.密碼卡復(fù)位后進(jìn)入RSA_IDLE狀態(tài),由上位機(jī)設(shè)置FPGA的寄存器啟動(dòng)該模塊,當(dāng)信號start_rsa= ‘ I,時(shí),狀態(tài)機(jī)進(jìn)入RSA_RN0P狀態(tài),經(jīng)過延時(shí)進(jìn)入RSA_REQI狀態(tài);
2.在RSA_REQI狀態(tài),F(xiàn)PGA向RSA芯片發(fā)出輸入數(shù)據(jù)請求,RSA芯片響應(yīng)后使輸入允許信號nROTI變?yōu)榈碗娖剑驠PGA進(jìn)入RSA_ROTI狀態(tài);
3.在RSA_ROTI狀態(tài),F(xiàn)PGA把內(nèi)部RAM中存儲(chǔ)的待運(yùn)算的數(shù)據(jù)發(fā)送給RSA芯片,RSA芯片讀入所有數(shù)據(jù)后使nROTI信號變?yōu)楦唠娖剑驠PGA進(jìn)入RSA_WN0P狀態(tài);
4.在RSA_WN0P狀態(tài),F(xiàn)PGA等待RSA芯片運(yùn)算完畢,之后進(jìn)入RSA_REQ0狀態(tài);
5.在RSA_REQ0狀態(tài),F(xiàn)PGA向RSA芯片發(fā)出讀取數(shù)據(jù)的請求,RSA芯片響應(yīng)后使輸出允許信號nRDYO變?yōu)榈碗娖?,之后FPGA進(jìn)入RSA_RDY0狀態(tài);
6.在RSA_RDY0狀態(tài),F(xiàn)PGA把RSA運(yùn)算完成的數(shù)據(jù)依次讀取到內(nèi)部RAM中,讀完后RSA芯片設(shè)置nRDYO信號為高電平。至此狀態(tài)機(jī)完成一筆RSA的業(yè)務(wù)操作。
[0016]附圖3是FPGA控制向RSA發(fā)送數(shù)據(jù)的時(shí)序波形圖,圖中顯示了 FPGA向RSA發(fā)送5個(gè)數(shù)據(jù)的工作過程,具體如下:
1.Request_input_data信號(nREQI)由FPGA給出,為10_clk上升沿觸發(fā)信號;
2.當(dāng)RSA處于空閑狀態(tài)時(shí),檢測到nREQI信號有效時(shí),將Ready_input_data信號(nRDn)置為有效。圖中nRDH的淺色虛線部分,長度為I?η個(gè)10_clk的周期,視當(dāng)前RSA的狀態(tài)而定;
3.RSA在nRDH和nREQI都為低的第一個(gè)10_clk的上升沿開始讀入數(shù)據(jù)。此后,RSA在每個(gè)10_clk的上升沿連續(xù)的讀入數(shù)據(jù);
4.相應(yīng)的,外部數(shù)據(jù)在nRDH有效之后,10_clk的第一個(gè)下降沿準(zhǔn)備好數(shù)據(jù)。外部輸入數(shù)據(jù)在此后每個(gè)10_clk的下降沿進(jìn)行更新;
5.為了確保RSA能讀入數(shù)據(jù),在10_clk的上升沿前,DATA_in需要一定的建立時(shí)間,且在10_clk的上升沿之后,DATA_in需要一定的保持時(shí)間。RSA芯片的10_clk時(shí)鐘頻率設(shè)置為66MHz,建立時(shí)間和保持時(shí)間都為15ns ;
6.RSA讀入最后一個(gè)數(shù)據(jù)Data5后把nRDH置為高;
7.nREQI在輸出數(shù)據(jù)結(jié)束后置為無效。
[0017]附圖4是FPGA控制從RSA讀取數(shù)據(jù)的時(shí)序波形圖,圖中顯示了 FPGA從RSA讀取5個(gè)數(shù)據(jù)的工作過程,具體如下:
1.Request_output_data 信號(nREQO)由 FPGA 給出,為 10_clk 上升沿觸發(fā)信號;
2.當(dāng)RSA處于空閑狀態(tài),檢測到nREQO信號有效時(shí),將Ready_output_data信號(nRDYO)置為有效。圖中nRDYO的淺色虛線部分,長度為I?η個(gè)10_clk的周期,視當(dāng)前RSA的狀態(tài)而定;
3.RSA在響應(yīng)FPGA的輸出請求nREQO后,設(shè)置nRDYO信號時(shí),同時(shí)將第一個(gè)輸出數(shù)據(jù)Datal準(zhǔn)備就緒。此后,RSA在每個(gè)10_clk的上升沿更新輸出數(shù)據(jù);
4.相應(yīng)的,nRDYO信號有效之后,F(xiàn)PGA開始連續(xù)的在10_clk的每一個(gè)下降沿讀取數(shù)
據(jù);
5.為了確保FPGA能正確的讀入數(shù)據(jù),在10_clk的下降沿前,DATAjn需要一定的建立時(shí)間,且在10_clk的上升沿之后,DATA_in需要一定的保持時(shí)間。建立時(shí)間和保持時(shí)間都為15ns ;
6.RSA輸出最后一個(gè)數(shù)據(jù)Data5后,把nRDYO置為高,同時(shí)將總線釋放;
7.nREQO信號在nRDYO為低有效之后的幾個(gè)周期置為無效。(假設(shè)需要傳送N個(gè)數(shù)據(jù),當(dāng)nREQO在nRDYO為低之后的1?N_1個(gè)周期內(nèi)跳高都可以);
8.當(dāng)需要重復(fù)讀取RSA的數(shù)據(jù)時(shí),可以在nRDYO置高,一個(gè)傳輸過程結(jié)束之后,重新設(shè)置nREQO為低,向RSA提出傳送數(shù)據(jù)的請求。
[0018]以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種基于現(xiàn)場可編程門陣列芯片的RSA算法控制方法,是采用現(xiàn)場可編程門陣列芯片作為硬件控制單元,利用現(xiàn)場可編程門陣列芯片的狀態(tài)機(jī)和RSA公鑰算法芯片實(shí)現(xiàn)對RSA算法的控制。
2.根據(jù)權(quán)利要求1所述的一種基于現(xiàn)場可編程門陣列芯片的RSA算法控制方法,其特征在于,所述方法具體包括以下步驟: A、密碼卡復(fù)位后進(jìn)入RSA_IDLE狀態(tài),由上位機(jī)設(shè)置現(xiàn)場可編程門陣列芯片的寄存器啟動(dòng),當(dāng)信號start_rsa= ‘I’時(shí),現(xiàn)場可編程門陣列芯片的狀態(tài)機(jī)進(jìn)入RSA_RNOP狀態(tài),經(jīng)過延時(shí)進(jìn)入RSA_REQI狀態(tài); B、在RSA_REQI狀態(tài),現(xiàn)場可編程門陣列芯片向RSA芯片發(fā)出輸入數(shù)據(jù)請求,RSA芯片響應(yīng)后使輸入允許信號nROTI變?yōu)榈碗娖?,之后FPGA進(jìn)入RSA_ROTI狀態(tài); C、在RSA_RDH狀態(tài),現(xiàn)場可編程門陣列芯片把內(nèi)部RAM中存儲(chǔ)的待運(yùn)算的數(shù)據(jù)發(fā)送給RSA芯片,RSA芯片讀入所有數(shù)據(jù)后使nRDH信號變?yōu)楦唠娖?,之后現(xiàn)場可編程門陣列芯片進(jìn)入RSA_WNOP狀態(tài); D、在RSA_WNOP狀態(tài),現(xiàn)場可編程門陣列芯片等待RSA芯片運(yùn)算完畢,之后進(jìn)入RSA_REQO狀態(tài); E、在RSA_REQ0狀態(tài),現(xiàn)場可編程門陣列芯片向RSA芯片發(fā)出讀取數(shù)據(jù)的請求,RSA芯片響應(yīng)后使輸出允許信號nRDYO變?yōu)榈碗娖?,之后現(xiàn)場可編程門陣列芯片進(jìn)入RSA_RDY0狀態(tài); F、在RSA_RDY0狀態(tài),現(xiàn)場可編程門陣列芯片把RSA芯片運(yùn)算完成的數(shù)據(jù)依次讀取到內(nèi)部RAM中,讀完后RSA芯片設(shè)置nRDYO信號為高電平。
3.根據(jù)權(quán)利要求1所述的一種基于現(xiàn)場可編程門陣列芯片的RSA算法控制方法,其特征在于,所述的現(xiàn)場可編程門陣列芯片的狀態(tài)機(jī)采用了硬件描述語言VHDL。
【文檔編號】H04L9/06GK103746797SQ201410028854
【公開日】2014年4月23日 申請日期:2014年1月22日 優(yōu)先權(quán)日:2014年1月22日
【發(fā)明者】蘇振宇, 于飛, 李前 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
邹城市| 揭西县| 洪江市| 青浦区| 恩施市| 吉首市| 新巴尔虎右旗| 梁山县| 视频| 田阳县| 沿河| 清流县| 新竹县| 行唐县| 穆棱市| 志丹县| 新营市| 安陆市| 福贡县| 清镇市| 绿春县| 桂阳县| 云龙县| 定州市| 大安市| 横山县| 庆城县| 鄂伦春自治旗| 贡嘎县| 福安市| 阜康市| 鄂伦春自治旗| 井研县| 西乡县| 梧州市| 双柏县| 广元市| 西盟| 云梦县| 华宁县| 平定县|