两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

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

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

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

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

【附圖說明】
[0012]圖1是本發(fā)明的現(xiàn)場可編程門陣列芯片與RSA芯片的硬件連接;
圖2是本發(fā)明的現(xiàn)場可編程門陣列芯片的狀態(tài)機的控制流程圖;
圖3是本發(fā)明的現(xiàn)場可編程門陣列芯片向RSA芯片發(fā)送數(shù)據(jù)的時序波形圖;
圖4是本發(fā)明的現(xiàn)場可編程門陣列芯片從RSA芯片讀取數(shù)據(jù)的時序波形圖。
【具體實施方式】
[0013]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進一步地詳細描述。
[0014]實施例一
附圖1是FPGA芯片與RSA芯片的硬件連接,RSA芯片的復位引腳、數(shù)據(jù)引腳、控制引腳都連接到FPGA的IO引腳,時鐘引腳連接到FPGA的全局時鐘引腳。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:外設讀寫脈沖 輸出引腳nCore_Busy:RSA忙標志。1:空閑;0:計算中 輸入引腳nReset:芯片復位引腳,O:復位;1:正常工作
附圖2是FPGA狀態(tài)機的控制流程圖,通過硬件描述語言VHDL實現(xiàn)狀態(tài)機的狀態(tài)轉(zhuǎn)移和控制功能,工作流程詳解如下:
1.密碼卡復位后進入RSA_IDLE狀態(tài),由上位機設置FPGA的寄存器啟動該模塊,當信號start_rsa= ‘ I,時,狀態(tài)機進入RSA_RN0P狀態(tài),經(jīng)過延時進入RSA_REQI狀態(tài);
2.在RSA_REQI狀態(tài),F(xiàn)PGA向RSA芯片發(fā)出輸入數(shù)據(jù)請求,RSA芯片響應后使輸入允許信號nROTI變?yōu)榈碗娖剑驠PGA進入RSA_ROTI狀態(tài);
3.在RSA_ROTI狀態(tài),F(xiàn)PGA把內(nèi)部RAM中存儲的待運算的數(shù)據(jù)發(fā)送給RSA芯片,RSA芯片讀入所有數(shù)據(jù)后使nROTI信號變?yōu)楦唠娖剑驠PGA進入RSA_WN0P狀態(tài);
4.在RSA_WN0P狀態(tài),F(xiàn)PGA等待RSA芯片運算完畢,之后進入RSA_REQ0狀態(tài);
5.在RSA_REQ0狀態(tài),F(xiàn)PGA向RSA芯片發(fā)出讀取數(shù)據(jù)的請求,RSA芯片響應后使輸出允許信號nRDYO變?yōu)榈碗娖?,之后FPGA進入RSA_RDY0狀態(tài);
6.在RSA_RDY0狀態(tài),F(xiàn)PGA把RSA運算完成的數(shù)據(jù)依次讀取到內(nèi)部RAM中,讀完后RSA芯片設置nRDYO信號為高電平。至此狀態(tài)機完成一筆RSA的業(yè)務操作。
[0016]附圖3是FPGA控制向RSA發(fā)送數(shù)據(jù)的時序波形圖,圖中顯示了 FPGA向RSA發(fā)送5個數(shù)據(jù)的工作過程,具體如下:
1.Request_input_data信號(nREQI)由FPGA給出,為10_clk上升沿觸發(fā)信號;
2.當RSA處于空閑狀態(tài)時,檢測到nREQI信號有效時,將Ready_input_data信號(nRDn)置為有效。圖中nRDH的淺色虛線部分,長度為I?η個10_clk的周期,視當前RSA的狀態(tài)而定;
3.RSA在nRDH和nREQI都為低的第一個10_clk的上升沿開始讀入數(shù)據(jù)。此后,RSA在每個10_clk的上升沿連續(xù)的讀入數(shù)據(jù);
4.相應的,外部數(shù)據(jù)在nRDH有效之后,10_clk的第一個下降沿準備好數(shù)據(jù)。外部輸入數(shù)據(jù)在此后每個10_clk的下降沿進行更新;
5.為了確保RSA能讀入數(shù)據(jù),在10_clk的上升沿前,DATA_in需要一定的建立時間,且在10_clk的上升沿之后,DATA_in需要一定的保持時間。RSA芯片的10_clk時鐘頻率設置為66MHz,建立時間和保持時間都為15ns ;
6.RSA讀入最后一個數(shù)據(jù)Data5后把nRDH置為高;
7.nREQI在輸出數(shù)據(jù)結束后置為無效。
[0017]附圖4是FPGA控制從RSA讀取數(shù)據(jù)的時序波形圖,圖中顯示了 FPGA從RSA讀取5個數(shù)據(jù)的工作過程,具體如下:
1.Request_output_data 信號(nREQO)由 FPGA 給出,為 10_clk 上升沿觸發(fā)信號;
2.當RSA處于空閑狀態(tài),檢測到nREQO信號有效時,將Ready_output_data信號(nRDYO)置為有效。圖中nRDYO的淺色虛線部分,長度為I?η個10_clk的周期,視當前RSA的狀態(tài)而定;
3.RSA在響應FPGA的輸出請求nREQO后,設置nRDYO信號時,同時將第一個輸出數(shù)據(jù)Datal準備就緒。此后,RSA在每個10_clk的上升沿更新輸出數(shù)據(jù);
4.相應的,nRDYO信號有效之后,F(xiàn)PGA開始連續(xù)的在10_clk的每一個下降沿讀取數(shù)
據(jù);
5.為了確保FPGA能正確的讀入數(shù)據(jù),在10_clk的下降沿前,DATAjn需要一定的建立時間,且在10_clk的上升沿之后,DATA_in需要一定的保持時間。建立時間和保持時間都為15ns ;
6.RSA輸出最后一個數(shù)據(jù)Data5后,把nRDYO置為高,同時將總線釋放;
7.nREQO信號在nRDYO為低有效之后的幾個周期置為無效。(假設需要傳送N個數(shù)據(jù),當nREQO在nRDYO為低之后的1?N_1個周期內(nèi)跳高都可以);
8.當需要重復讀取RSA的數(shù)據(jù)時,可以在nRDYO置高,一個傳輸過程結束之后,重新設置nREQO為低,向RSA提出傳送數(shù)據(jù)的請求。
[0018]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【權利要求】
1.一種基于現(xiàn)場可編程門陣列芯片的RSA算法控制方法,是采用現(xiàn)場可編程門陣列芯片作為硬件控制單元,利用現(xiàn)場可編程門陣列芯片的狀態(tài)機和RSA公鑰算法芯片實現(xiàn)對RSA算法的控制。
2.根據(jù)權利要求1所述的一種基于現(xiàn)場可編程門陣列芯片的RSA算法控制方法,其特征在于,所述方法具體包括以下步驟: A、密碼卡復位后進入RSA_IDLE狀態(tài),由上位機設置現(xiàn)場可編程門陣列芯片的寄存器啟動,當信號start_rsa= ‘I’時,現(xiàn)場可編程門陣列芯片的狀態(tài)機進入RSA_RNOP狀態(tài),經(jīng)過延時進入RSA_REQI狀態(tài); B、在RSA_REQI狀態(tài),現(xiàn)場可編程門陣列芯片向RSA芯片發(fā)出輸入數(shù)據(jù)請求,RSA芯片響應后使輸入允許信號nROTI變?yōu)榈碗娖?,之后FPGA進入RSA_ROTI狀態(tài); C、在RSA_RDH狀態(tài),現(xiàn)場可編程門陣列芯片把內(nèi)部RAM中存儲的待運算的數(shù)據(jù)發(fā)送給RSA芯片,RSA芯片讀入所有數(shù)據(jù)后使nRDH信號變?yōu)楦唠娖?,之后現(xiàn)場可編程門陣列芯片進入RSA_WNOP狀態(tài); D、在RSA_WNOP狀態(tài),現(xiàn)場可編程門陣列芯片等待RSA芯片運算完畢,之后進入RSA_REQO狀態(tài); E、在RSA_REQ0狀態(tài),現(xiàn)場可編程門陣列芯片向RSA芯片發(fā)出讀取數(shù)據(jù)的請求,RSA芯片響應后使輸出允許信號nRDYO變?yōu)榈碗娖?,之后現(xiàn)場可編程門陣列芯片進入RSA_RDY0狀態(tài); F、在RSA_RDY0狀態(tài),現(xiàn)場可編程門陣列芯片把RSA芯片運算完成的數(shù)據(jù)依次讀取到內(nèi)部RAM中,讀完后RSA芯片設置nRDYO信號為高電平。
3.根據(jù)權利要求1所述的一種基于現(xiàn)場可編程門陣列芯片的RSA算法控制方法,其特征在于,所述的現(xiàn)場可編程門陣列芯片的狀態(tài)機采用了硬件描述語言VHDL。
【文檔編號】H04L9/06GK103746797SQ201410028854
【公開日】2014年4月23日 申請日期:2014年1月22日 優(yōu)先權日:2014年1月22日
【發(fā)明者】蘇振宇, 于飛, 李前 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
来安县| 大城县| 沾益县| 成武县| 郸城县| 韩城市| 福州市| 阿拉尔市| 焦作市| 阿合奇县| 乃东县| 固镇县| 塔河县| 昭觉县| 晋城| 庆云县| 长垣县| 兰坪| 苏州市| 武城县| 米林县| 隆德县| 滁州市| 铜陵市| 和静县| 南昌市| 南部县| 三都| 耒阳市| 彭州市| 万山特区| 广宁县| 巩留县| 长治市| 卢湾区| 南宫市| 玉林市| 隆子县| 阿拉善右旗| 衡山县| 衡阳县|