亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于進(jìn)行ecc點(diǎn)倍的優(yōu)化硬件架構(gòu)和方法

文檔序號(hào):8412301閱讀:346來源:國知局
用于進(jìn)行ecc點(diǎn)倍的優(yōu)化硬件架構(gòu)和方法
【專利說明】
【背景技術(shù)】
[0001]電子設(shè)備正成為日常生活無處不在的部分。所用的智能電話和個(gè)人平板計(jì)算機(jī)的數(shù)目正在迅速增長。越來越多地使用智能電話和個(gè)人平板電腦的副作用在于設(shè)備被越來越多地用于存儲(chǔ)諸如個(gè)人和銀行數(shù)據(jù)等的機(jī)密數(shù)據(jù)。保護(hù)這種數(shù)據(jù)不被竊取是十分重要的。
[0002]密碼學(xué)領(lǐng)域提供用于使這種機(jī)密數(shù)據(jù)保持安全的保護(hù)工具?;陔y以解決數(shù)學(xué)問題,密碼學(xué)通常需要較高計(jì)算強(qiáng)度的計(jì)算,所述較高計(jì)算強(qiáng)度的計(jì)算是在云計(jì)算和普適計(jì)算(ubicomp)中更廣泛應(yīng)用的主要障礙。如果無法足夠快速地執(zhí)行密碼操作,則通常不接受將密碼學(xué)工具用于互聯(lián)網(wǎng)。為了在提供安全性和數(shù)據(jù)完整性的同時(shí)使密碼工具是透明的,密碼學(xué)工具需要遵循由于移動(dòng)應(yīng)用中對(duì)高速度和低功耗的需求而推動(dòng)的趨勢(shì)。
[0003]通常,公鑰算法是密碼學(xué)中計(jì)算最密集的計(jì)算。例如,以橢圓曲線密碼學(xué)(ECC),即,計(jì)算效率最高的公鑰算法之一,為例。256位版本的ECC提供等同于128位對(duì)稱密鑰的安全性。256位ECC公鑰應(yīng)提供與3072位RSA公鑰可比的安全性。ECC的基本運(yùn)算是點(diǎn)乘,點(diǎn)乘是大量基于模乘的運(yùn)算,即,執(zhí)行一個(gè)ECC 256點(diǎn)乘需要大約256位整數(shù)的3500個(gè)模乘。更高安全性等級(jí)(更大位整數(shù))需要甚至更多的計(jì)算工作。
[0004]構(gòu)建ECC的高效實(shí)現(xiàn)方式通常是有意義的,并且涉及多個(gè)階段。圖1示出了實(shí)現(xiàn)橢圓曲線數(shù)字簽名算法(EOTSA)所需的階段101、102和103,所述E⑶SA是ECC的應(yīng)用之一。階段101處理包括模加、模逆和模乘的有限域算術(shù)。階段102處理點(diǎn)加和點(diǎn)倍(pointdoubling),包括聯(lián)合稀疏形式(JSF)、非相鄰形式(NAF)、加窗和投影坐標(biāo)。最后,階段103處理E⑶SA以及數(shù)字簽名的接受或拒絕。
[0005]可以將任意橢圓曲線寫成由以下形式的方程定義的平面幾何曲線(假定系數(shù)域的特性不等于2或3):
[0006]y2= X 3+ax+b(I)
[0007]該方程是非奇異的;也就是說,該方程沒有尖端(cusp)或自相交,公知為短維爾斯特拉斯(Weierstrass)形式,其中,a和b是整數(shù)。通常在例如由NIST、SEC和ANSI頒布的若干標(biāo)準(zhǔn)中使用a = -3的情況,這使得該情況成為通常感興趣的情況。
[0008]在用于高效實(shí)現(xiàn)點(diǎn)加(PADD)和點(diǎn)倍(PDBL)運(yùn)算的文獻(xiàn)中,已經(jīng)提出了許多算法。對(duì)這些算法中的很多算法進(jìn)行優(yōu)化以便軟件實(shí)現(xiàn)。雖然它們通常在特定平臺(tái)上是高效的,但是一旦調(diào)整底層硬件以適應(yīng)算法,則該算法通常不是最優(yōu)的。
[0009]CoheruMiyaji 以及 Ono 在 Proceedings of the Internat1nal Conference onthe Theory and Applicat1ns of Cryptography and Informat1n Security ;Advancesin Cryptology, ASIACRYPT 1998, pages 51-65,Springer-Verlag,1998 中已經(jīng)描述了雅可比(affine-Jacobian)坐標(biāo)的F1DBL算法。雅可比坐標(biāo)是投影坐標(biāo),每個(gè)點(diǎn)被表示為三個(gè)坐標(biāo)(X,Y,Z)。應(yīng)注意坐標(biāo)都是整數(shù)。I3DBL算法200需要4個(gè)模乘、4個(gè)模平方、4個(gè)模減、一個(gè)模加、一個(gè)與2模乘以及一個(gè)與2模除,如圖2所示。為了執(zhí)行TOBL,該算法還需要最少3個(gè)臨時(shí)寄存器,其中對(duì)于ECC 256位,每個(gè)寄存器需要256位大小。在有限域K內(nèi)進(jìn)行所有運(yùn)算,其中橢圓曲線E被定義在有限域K上。通過質(zhì)數(shù)ρ定義有限算術(shù)域K,使得以ρ為模執(zhí)行所有算術(shù)運(yùn)算。單位元素是無窮遠(yuǎn)點(diǎn)。

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

[0010]經(jīng)優(yōu)化的硬件架構(gòu)和方法通過只需要兩個(gè)臨時(shí)存儲(chǔ)寄存器以及引入用于執(zhí)行模加、模減以及與2模乘和模除的簡單算術(shù)單元,降低了存儲(chǔ)需要,并加速了對(duì)ECC TOBL算法的執(zhí)行。
【附圖說明】
[0011]圖1示出了實(shí)現(xiàn)橢圓曲線數(shù)字簽名算法(EOTSA)所需的階段101、102和103。
[0012]圖2示出了現(xiàn)有技術(shù)的點(diǎn)倍算法。
[0013]圖3示出了根據(jù)本發(fā)明的實(shí)施例。
[0014]圖4示出了根據(jù)本發(fā)明的實(shí)施例。
[0015]圖5示出了根據(jù)本發(fā)明的實(shí)施例。
[0016]圖6示出了根據(jù)本發(fā)明的實(shí)施例。
[0017]圖7示出了根據(jù)本發(fā)明的實(shí)施例。
【具體實(shí)施方式】
[0018]圖3示出了根據(jù)本發(fā)明的I3DBL算法300。相較于針對(duì)相同的模點(diǎn)倍的I3DBL算法200,roBL算法300需要更少步驟,并且降低了存儲(chǔ)需要。I3DBL算法300僅需要兩個(gè)臨時(shí)存儲(chǔ)寄存器!\和T 2。PDBL算法300被實(shí)現(xiàn)在如圖6和圖7所示的優(yōu)化硬件架構(gòu)上,該優(yōu)化硬件架構(gòu)被特定地設(shè)計(jì)為利用I3DBL算法300。
[0019]作為步驟301的輸入,圖3所示的TOBL算法300采用雅可比坐標(biāo)下的點(diǎn)P = (X1,YpZ1K α是臨時(shí)存儲(chǔ)變量。應(yīng)注意,所有數(shù)學(xué)運(yùn)算都以模算術(shù)示出且坐標(biāo)是雅可比坐標(biāo)。在I3DBL算法300的步驟302,如果P (單位元素),則返回值。在步驟303,對(duì)冗丨進(jìn)行平方(ZfZ1),將得到的值存儲(chǔ)在Z3中。在步驟304,對(duì)Y 1進(jìn)行平方(Y ^Y1)并將得到的值存儲(chǔ)在乙中。在步驟305,計(jì)算X 3Υ3,并將結(jié)果存儲(chǔ)在臨時(shí)寄存器α中。在步驟306,計(jì)算3 (X1-Z3) * (XJZ3),并將結(jié)果存儲(chǔ)在23中。在步驟307,計(jì)算Z 3*Ζ3_8 α,將結(jié)果存儲(chǔ)在X3中。在步驟308,計(jì)算Z3* (4 α-Χ3),并將結(jié)果存儲(chǔ)在臨時(shí)寄存器α中。在步驟309,計(jì)算Ct-SYfY1,并將結(jié)果存儲(chǔ)在Y3中。在步驟310,計(jì)算ZYfZ1,并將結(jié)果存儲(chǔ)在Z3中。最后,在步驟311,將P的點(diǎn)倍的結(jié)果以雅可比坐標(biāo)返回為(X3,Y3, Z3)。
[0020]圖3的I3DBL算法300中的計(jì)算最密集的運(yùn)算是由表示的模乘。由于I3DBL算法300中所述的大部分步驟依賴于該算法的先前步驟,通常最有效的是在硬件中使用單個(gè)模乘器來執(zhí)行TOBL算法300,但是根據(jù)本發(fā)明,可以使用多于一個(gè)模乘器,這允許在步驟中執(zhí)行多于一個(gè)模乘。僅使用一個(gè)模乘器將TOBL算法300中的每個(gè)步驟限制為具有不超過一個(gè)模乘。
[0021 ]需要注意的是,除了在 I3DBL 算法 300 的步驟 303、304、305、306、307、308、309 和310中執(zhí)行的模乘步驟之外,還執(zhí)行附加的比較簡單的運(yùn)算:模減和模加以及與2的冪模乘。應(yīng)注意,乘以2的幕在二進(jìn)制中僅是左移位運(yùn)算。為了加速執(zhí)彳丁 PDBL算法300以及消除對(duì)附加臨時(shí)寄存器的需要,使用根據(jù)本發(fā)明的簡單算術(shù)單元(SAU)400的實(shí)施例,所述實(shí)施例具有如圖4所示的輸入A、B以及輸出C和D。
[0022]圖5示出了如何分解步驟306、307、308、309和310,以便利用具有輸入A和B以及輸出C和D的SAU 400。應(yīng)注意,SAU 400的輸入和輸出標(biāo)簽與圖5中的相應(yīng)變量名稱相對(duì)應(yīng)。塊501示出了如何使用SAU 400分解TOBL算法300的步驟306,并涉及設(shè)置輸入A =XjP B = Z3,輸出C = A+B且D = 3 (A-B)。然后將輸出C和D相乘并將結(jié)果存儲(chǔ)在Z3中。塊502示出了如何使用SAU 400分解TOBL算法300的步驟307,并涉及設(shè)置輸入A = Z32和B = α,輸出D = Α-8Β。塊503示出了如何使用SAU 400分解TOBL算法300的步驟308,并涉及設(shè)置輸入A = α和B = χ3,輸出D = 4Α-Β。然后將輸出D與Z3相乘,并將結(jié)果存儲(chǔ)在臨時(shí)存儲(chǔ)寄存器α中。塊504示出了如何使用SAU 400分解TOBL算法300的步驟309,并涉及設(shè)置輸入A= α和B = γ32,輸出D = Α-8Β。塊505示出了如何使用SAU 400分解PDBL算法300的步驟310,并涉及設(shè)置輸入A = Y1且輸出D = 2Α。然后將D與Z i相乘,并將結(jié)果存儲(chǔ)在Z3中。
[0023]圖6示出了根據(jù)本發(fā)明的實(shí)施例600,包括具有輸出寄存器(未示出)的多循環(huán)乘法器610、SAU 400、乘法器(MUX) 620和MUX 630、以及輸入寄存器X1'Yp Z1'x2、y2 (未使用)、輸出寄存器X3、Y3、Z3和臨時(shí)寄存器α,所述寄存器均是寄存存儲(chǔ)器695的一部分。應(yīng)注意,相應(yīng)寄存器標(biāo)簽與圖3和圖5中的變量名稱相對(duì)應(yīng)。由執(zhí)行I3DBL算法300的微處理器(未示出)控制乘法器(MUX) 620、MUX 630和MUX 720、722和725 (SAU 400的一部分,參照?qǐng)D7)。如上所述,PDBL算法300中的每個(gè)步驟涉及至多一個(gè)模乘(不計(jì)算乘以2的冪,乘以2的幕在二進(jìn)制表不中僅是移位運(yùn)算)。
[0024]圖7所示的SAU 400包括減法器710、加法器722、邏輯I位左移位器715、邏輯2位左移位器718 (乘以4)、邏輯3位左移位器714 (乘以8)、MUX 720、MUX 723、MUX 725以及乘以3的乘法器728,其中使用邏輯I位左移位器和加法器來構(gòu)造所述乘以3的乘法器728 (2x+x = 3x)。
[0025]輸入A通過線纜671連接到加法器722,并且還通過線纜671連接到I位左移位器715、MUX 720的輸入“O”以及邏輯2位左移位器718。邏輯I位移位器715在線纜776上向MUX 725的輸入“O”輸出2A。邏輯2位左移位器718在線纜733上向MUX 720的輸入“I”輸出4A。MUX 720通過線纜731連接到減法器710的被減數(shù)輸入。輸入B通過線纜672連接到加法器722,并還通過線纜672連接到邏輯3位左移位器714和MUX 723的輸入“O”。邏輯3位左移位器714通過線纜744向MUX 723的輸入“I”輸出8B。MUX 723通過線纜732連接到減法器710的減數(shù)輸入。加法器722在線纜690上輸出C( = A+B)。減法器710通過線纜777連接到MUX 725的輸入“1”,并通過線纜777連接到乘以3的乘法器728。乘以3的乘法器728連接到MUX 725的輸入“2”。MUX 725在線纜696上輸出D(參照?qǐng)D4) ο
[0026]多循環(huán)乘法器610通過將線纜635和640上的值相乘并輸出結(jié)果來運(yùn)作。使用微處理器(未示出)執(zhí)行步驟301-302,而不使用多循環(huán)乘法器610和SAU 400。
[0027]步驟303使用多循環(huán)乘法器610。寄存存儲(chǔ)器695在多循環(huán)乘法器610的輸入635和640 二者上提供Z1,并且多循環(huán)乘法器610計(jì)算Z12,在線纜上將Z12發(fā)送
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1