新四季網

一種RSA電路結構及RSA加密方法與流程

2023-07-07 23:39:36


本發明涉及密碼電路和信息安全技術領域,尤其涉及rsa算法及rsa異步低面積低能耗電路結構。



背景技術:

隨著電子信息技術的迅猛發展,計算機網絡在各行各業中已得到了廣泛應用,然而由於網絡信息的社會性、開放性和共享性等特點使其越來越容易受到攻擊,信息安全問題日益突出。

基本的信息安全包括信息的保密性、確證性、完整性和不可否認性,而密碼技術是保障信息安全的核心技術。密碼技術是集數學、計算機科學、電子與通信等諸多學科於一體的交叉學科,不僅服務於軍事外交領域,而且廣泛應用於電子政務、電子商務和電子金融等應用信息系統。

rsa公鑰加密算法是1977年由羅納德·李維斯特(ronrivest)、阿迪·薩莫爾(adishamir)和倫納德·阿德曼(leonardadleman)一起提出的。rsa是目前最有影響力的公鑰加密算法,它能夠抵抗目前已知的絕大多數密碼攻擊,已廣泛應用在加密、認證和籤名領域中,如web伺服器和瀏覽器信息安全、e-mail的安全和認證、遠程登錄的安全保證和各種電子信息卡系統等。

差分功耗分析(dpa)技術可以通過對加密設備在加密過程中洩露出來的功耗信息進行分析,來實施對於加密設備的攻擊,對加密晶片的安全性造成了巨大的威脅。因此,為了增加同步rsa加密電路的抗dpa攻擊性能,往往會採用掩碼、偽輪和雙軌邏輯等策略,從而導致同步rsa加密電路的面積和功耗顯著增加,不宜於進行soc集成。另外,使用同步電路設計的rsa電路存在著時鐘扭斜、功耗高、最壞情況延時和物理敏感等方面的問題。



技術實現要素:

為了克服現有技術的上述缺點和不足,本發明提供一種rsa加密算法及rsa異步低能耗電路結構。

本發明採用如下技術方案:

一種rsa異步低能耗電路結構,包括移位器、選擇器和模乘器,如圖1所示。其中:

移位器0(10),用於完成對輸入冪指數(exp)的右移移位操作,並使用原始冪指數輸入(exp)或者其移位後輸出的最低位作為選擇器的選擇信號;

選擇器0(11),與移位器0(10)和模乘器(12)分別相連,在原始冪指數輸入(exp)或者其右移後輸出的最低位的控制下,選擇第一次模乘/模冪及其之後每次模乘/模冪的輸入。

模乘器(12),與選擇器0(11)相連,根據原始輸入模(modulus)和選擇器0(11)的輸出進行rsa算法的模乘/模冪操作,除了最後一次的模乘/模冪輸出作為最終的加密密文(cypher)外,其他各次模乘/模冪的輸出反饋給選擇器0(11)作為下一次模乘/模冪的輸入。

選擇器0(11)可以採用常見的4個同步2輸入選擇器(20,21,22,23)來實現。移位器0(10),與選擇器0(11)相連,完成對輸入冪指數(exp)的右移移位操作,使用原始冪指數輸入(exp)或者其移位後輸出的最低位作為第一次模乘/模冪選擇器(20,22)及其之後每次模乘/模冪選擇器(21,23)的選擇信號。除了異步請求應答電路使用mullerc單元實現外,該模塊的移位功能可以採用常見的同步移位器來實現。

本發明提供了一種利用上述rsa加密電路結構進行加密的方法,包括以下步驟:

s10:加密電路上電後,首先鎖存明文(data),冪指數(exp)和模(modulus);

s11:根據冪指數(exp)的最低位使用選擇器(20,22)選擇用於模乘運算的被乘數(mpand)為明文(data)或為1,並進行模乘運算;

s12:將被乘數(mpand)和乘數(mplier)都選擇為明文(data),進行模冪運算;

s13:使用移位器(10)將冪指數(exp)右移一位;

s14:根據冪指數(exp)右移後的最低位使用選擇器(21,23)選擇用於模乘運算的乘數(mplier)為模冪輸出(square)或為1,並進行模乘運算;

s15:將被乘數(mpand)和乘數(mplier)都選擇為模冪輸出(square),進行模冪運算;

s16:重複步驟s13-s15,直到移位後的冪指數(exp)為0。

本發明rsa異步低能耗電路結構的模乘器(12)可以包括3個移位器(30,33,38),3個選擇器(31,35,37),3個減法器(32,34,39)和1個加法器(36),其中:

加法器(36),與移位器1(30)、減法器0(32)、選擇器6(35)和選擇器7(37)分別相連,將3輸入選擇器6(35)的輸出(product)和左移移位器1(30)的輸出(mpand)相加。

選擇器7(37),與加法器(36)、移位器3(38)和選擇器6(35)分別相連,當右移移位器3(38)輸出(mplier)的最低位分別為1和0時,選擇器7(37)分別選擇加法器(36)的輸出和3輸入選擇器6(35)的輸出(product)作為乘積1(prodreg1)。

減法器2(39),與選擇器6(35)和選擇器7(37)分別相連,將2輸入選擇器7(37)的輸出(prodreg1)和原始模輸入(modulus)相減。

移位器2(33),與減法器1(34)相連,完成對原始模輸入(modulus)左移一位的操作。

減法器1(34),與移位器2(33)、選擇器6(35)和選擇器7(37)分別相連,將2輸入選擇器7(37)的輸出(prodreg1)和移位器2(33)左移一位的輸出(modreg2)相減。

選擇器6(35),與減法器1(34)、減法器2(39)、加法器(36)和選擇器7(37)分別相連,根據減法器2(39)輸出(prodreg2)的最高位和減法器1(34)輸出(prodreg3)的最高位,選擇選擇器7(37)的輸出(prodreg1)或者減法器2(39)的輸出(prodreg2)或者減法器1(34)的輸出(prodreg3)作為其輸出(product)。當減法器2(39)輸出(prodreg2)的最高位為1且減法器1(34)輸出(prodreg3)的最高位也為1時,選擇器6(35)選擇選擇器7(37)的輸出(prodreg1);當減法器2(39)輸出(prodreg2)的最高位為0且減法器1(34)輸出(prodreg3)的最高位為1時,選擇器6(35)選擇減法器2(39)的輸出(prodreg2);否則選擇器6(35)選擇減法器1(34)的輸出(prodreg3)。

減法器0(32),與移位器1(30)、選擇器5(31)和加法器(36)分別相連,完成對左移移位器1(30)的輸出(mpand)與原始模輸入(modulus)相減的操作。

選擇器5(31),與移位器1(30)和減法器0(32)分別相連,當減法器0(32)輸出(mpreg1)的次高位分別為1和0時,選擇器5(31)分別選擇移位器1(30)的輸出(mpand)和減法器0(32)的輸出(mpreg1)。

移位器1(30),與選擇器5(31)、減法器0(32)和加法器(36)分別相連,將選擇器5(31)的輸出(mpreg1)左移一位得到新的被乘數(mpand)。

移位器3(38),與選擇器7(37)相連,將乘數(mplier)右移一位得到新的乘數(mplier)。

上述rsa異步低能耗電路結構進行模乘/模冪的方法,包括以下步驟:

s20:模乘/模冪運算開始後,首先使用移位器(33)將模(modulus)左移一位(modreg2);

s21:使用加法器(36)將乘積(product)和被乘數(mpand)相加,根據乘數(mplier)的最低位使用選擇器(37)選擇乘積1(prodreg1)為加法器(36)的輸出或為乘積(product);

s22:乘積2(prodreg2)由乘積1(prodreg1)和模(modulus)通過減法器(39)得到;

s23:乘積3(prodreg3)由乘積1(prodreg1)和模左移一位(modreg2)通過減法器(34)相減得到;

s24:根據乘積2(prodreg2)的最高位和乘積3(prodreg3)的最高位,通過選擇器(35)選擇得到乘積(product);

s25:被乘數1(mpreg1)由被乘數(mpand)和模(modulus)通過減法器(32)相減得到;

s26:根據相減後的結果,被乘數1(mpreg1)的次高位選擇被乘數1(mpreg1)是鎖存相減後的結果,還是鎖存被乘數(mpand);

s27:將被乘數1(mpreg1)左移一位得到新的被乘數(mpand),將乘數(mplier)右移一位得到新的乘數(mplier);

s28:重複步驟s21-s27,直到移位後的乘數(mplier)為0。

本發明採用基於請求應答信號的異步握手機制,不僅能夠減小晶片的面積,而且能夠降低晶片能耗,還增強了晶片的抗dpa攻擊性能,有利於其工程化和量產。

附圖說明

圖1是本發明rsa加密算法的異步低能耗電路結構示意圖;

圖2是本發明rsa加密電路的選擇器0(11)的結構示意圖;

圖3是本發明rsa加密電路的模乘器(12)結構示意圖。

其中:10—移位器0;11—選擇器0;12—模乘器;20—選擇器1;21—選擇器2;22—選擇器3;23—選擇器4;30—移位器1;31—選擇器5;32—減法器0;33—移位器2;34—減法器1;35—選擇器6;36—加法器;37—選擇器7;38—移位器3;39—減法器2。

具體實施方式

下面結合附圖對本發明的實施例進行詳細闡述。

結合附圖2和附圖3對本發明的實施例進行詳細闡述。

如圖2所示,選擇器0(11)包括4個2輸入選擇器(20,21,22,23),其中:

選擇器1(20)和選擇器3(22),二者都是以原始冪指數輸入(exp)的最低位作為選擇信號。當選擇信號分別為1或0時,選擇器1(20)分別選擇原始明文(data)或1作為第一次模乘/模冪的輸入(需要通過選擇器2(21)的右支路),選擇器3(22)分別選擇1或原始明文(data)作為第一次模乘/模冪的輸入(需要通過選擇器4(23)的右支路)。

選擇器2(21)和選擇器4(23),二者都是以原始冪指數輸入(exp)右移後輸出的最低位作為選擇信號。當進行第一次模乘/模冪時,選擇信號默認為0即選擇其各自右支路作為模乘/模冪的輸入。當進行第一次之後的各次模乘/模冪時,如果選擇信號為1,則選擇器2(21)選擇本次模乘/模冪的輸出作為下一次模乘/模冪的輸入,而選擇器4(23)選擇1作為下一次模乘/模冪的輸入;如果選擇信號為0,則選擇器2(21)選擇1(需要通過選擇器1(20)的右支路)作為下一次模乘/模冪的輸入,而選擇器4(23)選擇本次模乘/模冪的輸出作為下一次模乘/模冪的輸入。

如圖3所示,上述的模乘器(12)包括3個移位器(30,33,38),3個選擇器(31,35,37),3個減法器(32,34,39)和1個加法器(36),其中:

加法器(36),與移位器1(30)、減法器0(32)、選擇器6(35)和選擇器7(37)分別相連,將3輸入選擇器6(35)的輸出(product)和左移移位器1(30)的輸出(mpand)相加。

選擇器7(37),與加法器(36)、移位器3(38)和選擇器6(35)分別相連,當右移移位器3(38)輸出(mplier)的最低位分別為1和0時,選擇器7(37)分別選擇加法器(36)的輸出和3輸入選擇器6(35)的輸出(product)作為乘積1(prodreg1)。

減法器2(39),與選擇器6(35)和選擇器7(37)分別相連,將2輸入選擇器7(37)的輸出(prodreg1)和原始模輸入(modulus)相減。

移位器2(33),與減法器1(34)相連,完成對原始模輸入(modulus)左移一位的操作。

減法器1(34),與移位器2(33)、選擇器6(35)和選擇器7(37)分別相連,將2輸入選擇器7(37)的輸出(prodreg1)和移位器2(33)左移一位的輸出(modreg2)相減。

選擇器6(35),與減法器1(34)、減法器2(39)、加法器(36)和選擇器7(37)分別相連,根據減法器2(39)輸出(prodreg2)的最高位和減法器1(34)輸出(prodreg3)的最高位,選擇選擇器7(37)的輸出(prodreg1)或者減法器2(39)的輸出(prodreg2)或者減法器1(34)的輸出(prodreg3)作為其輸出(product)。當減法器2(39)輸出(prodreg2)的最高位為1且減法器1(34)輸出(prodreg3)的最高位也為1時,選擇器6(35)選擇選擇器7(37)的輸出(prodreg1);當減法器2(39)輸出(prodreg2)的最高位為0且減法器1(34)輸出(prodreg3)的最高位為1時,選擇器6(35)選擇減法器2(39)的輸出(prodreg2);否則選擇器6(35)選擇減法器1(34)的輸出(prodreg3)。

減法器0(32),與移位器1(30)、選擇器5(31)和加法器(36)分別相連,完成對左移移位器1(30)的輸出(mpand)與原始模輸入(modulus)相減的操作。

選擇器5(31),與移位器1(30)和減法器0(32)分別相連,當減法器0(32)輸出(mpreg1)的次高位分別為1和0時,選擇器5(31)分別選擇移位器1(30)的輸出(mpand)和減法器0(32)的輸出(mpreg1)。

移位器1(30),與選擇器5(31)、減法器0(32)和加法器(36)分別相連,將選擇器5(31)的輸出(mpreg1)左移一位得到新的被乘數(mpand)。

移位器3(38),與選擇器7(37)相連,將乘數(mplier)右移一位得到新的乘數(mplier)。

本發明提供了一種利用上述rsa加密電路結構進行加密的方法,包括以下步驟:

s10:加密電路上電後,首先鎖存明文(data),冪指數(exp)和模(modulus);

s11:根據冪指數(exp)的最低位使用選擇器(20,22)選擇用於模乘運算的被乘數(mpand)為明文(data)或為1,並進行模乘運算;

s12:將被乘數(mpand)和乘數(mplier)都選擇為明文(data),進行模冪運算;

s13:使用移位器(10)將冪指數(exp)右移一位;

s14:根據冪指數(exp)右移後的最低位使用選擇器(21,23)選擇用於模乘運算的乘數(mplier)為模冪輸出(square)或為1,並進行模乘運算;

s15:將被乘數(mpand)和乘數(mplier)都選擇為模冪輸出(square),進行模冪運算;

s16:重複步驟s13-s15,直到移位後的冪指數(exp)為0。

本發明模乘器進行模乘的方法,包括以下步驟:

s20:模乘運算開始後,首先使用移位器(33)將模(modulus)左移一位(modreg2);

s21:使用加法器(36)將乘積(product)和被乘數(mpand)相加,根據乘數(mplier)的最低位使用選擇器(37)選擇乘積1(prodreg1)為加法器(36)的輸出或為乘積(product);

s22:乘積2(prodreg2)由乘積1(prodreg1)和模(modulus)通過減法器(39)得到;

s23:乘積3(prodreg3)由乘積1(prodreg1)和模左移一位(modreg2)通過減法器(34)相減得到;

s24:根據乘積2(prodreg2)的最高位和乘積3(prodreg3)的最高位,通過選擇器(35)選擇得到乘積(product);

s25:被乘數1(mpreg1)由被乘數(mpand)和模(modulus)通過減法器(32)相減得到;

s26:根據相減後的結果被乘數1(mpreg1)的次高位選擇被乘數1(mpreg1)是鎖存相減後的結果被乘數1(mpreg1),還是鎖存被乘數(mpand);

s27:將被乘數1(mpreg1)左移一位得到新的被乘數(mpand),將乘數(mplier)右移一位得到新的乘數(mplier);

s28:重複步驟s21-s27,直到移位後的乘數(mplier)為0。

本發明rsa加密算法的異步低能耗電路結構中,加密數據處理採用同步電路實現,各模塊間的互連採用基於請求應答的握手機制實現,採用本發明加密結構及其加密方法能夠獲得更加安全、更小面積和更低能耗的rsa加密晶片,同時意味著更低成本和更大的市場競爭力。

以上所述僅為本發明的實施例,但並非因此限制本發明的專利範圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護範圍內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀