一種適用于rfid安全通信的橢圓曲線加密協(xié)處理器的制造方法
【專利摘要】本發(fā)明公開了一種適用于RFID安全通信的橢圓曲線加密協(xié)處理器,所述協(xié)處理器包括寄存器陣列、模算術(shù)邏輯單元和ECC協(xié)處理器指令控制器,所述寄存器陣列用于存儲(chǔ)橢圓曲線加密計(jì)算過程中的橢圓曲線參數(shù)、私鑰、計(jì)算過程數(shù)據(jù)以及計(jì)算結(jié)果;所述模算術(shù)邏輯單元包括加法電路、乘法電路、平方電路、控制單元和寄存器T,用于完成加法、乘法、平方運(yùn)算;所述ECC協(xié)處理器指令控制器用于對(duì)所述模算數(shù)邏輯單元發(fā)送加法、乘法、平方和移動(dòng)指令,接收模算術(shù)邏輯單元計(jì)算得到的結(jié)果,并根據(jù)所述結(jié)果進(jìn)行點(diǎn)加倍點(diǎn)計(jì)算以完成橢圓曲線點(diǎn)乘計(jì)算。本發(fā)明的橢圓曲線加密協(xié)處理器具有面積小、低功耗和高安全性的特點(diǎn),適用于RFID標(biāo)簽芯片。
【專利說明】—種適用于RFID安全通信的橢圓曲線加密協(xié)處理器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于射頻通信安全加密【技術(shù)領(lǐng)域】,具體涉及一種適用于RFID安全通信的橢圓曲線加密協(xié)處理器。
【背景技術(shù)】
[0002]射頻識(shí)別技術(shù)RFID (Radio Frequency Identification)作為物聯(lián)網(wǎng)最重要的組成部分,不僅具有條形碼和二維碼等識(shí)別技術(shù)的快速、便捷和低成本性,還具有數(shù)據(jù)存儲(chǔ)容量大、數(shù)據(jù)可重讀寫、高效、適于惡劣環(huán)境、可識(shí)別運(yùn)動(dòng)目標(biāo)等優(yōu)點(diǎn),可應(yīng)用于物品的智能化識(shí)別、定位、跟蹤、和管理等方面。隨著RFID技術(shù)的深入發(fā)展和推廣,數(shù)據(jù)交互過程的安全性和信息隱私保護(hù)等問題逐漸也引發(fā)了各界的廣泛關(guān)注,并成為目前RFID應(yīng)用中亟待解決的問題。因此在RFID進(jìn)行數(shù)據(jù)交互時(shí),保護(hù)數(shù)據(jù)的安全性成為一個(gè)必需條件。
[0003]除了機(jī)密性、完整性、隱私性、真實(shí)性等安全特性外,RFID系統(tǒng)還要求具有便捷的擴(kuò)展性,能方便地增加標(biāo)簽的數(shù)目,如對(duì)于大型圖書館和物流倉庫此類系統(tǒng),標(biāo)簽數(shù)目可達(dá)到成千上萬。目前大量RFID的應(yīng)用群組采取的均是對(duì)稱加密算法機(jī)制,私鑰加密算法會(huì)有一重大缺點(diǎn),即密鑰分配問題。而且在安全通信之前,所有使用的讀寫器都必須事先知道密鑰,意味著對(duì)于對(duì)稱加密系統(tǒng)而言,密鑰管理是一個(gè)難以忽視的問題。除此之外,若需要對(duì)密鑰做出更新或更換,就需要對(duì)整個(gè)系統(tǒng)的所有密鑰點(diǎn)進(jìn)行更新,不僅造成使用的不便,安全性也得不到保證。因此,為了保證RFID系統(tǒng)的延展性、可靠性和安全性要求,采用公鑰加密的方案就成為非常有必要的選擇。在RFID中采用公鑰加密系統(tǒng),讀寫器不需要事先知道標(biāo)簽的私鑰,直接用標(biāo)簽的公共密鑰對(duì)信息進(jìn)行加密,而且這些加密后的信息只能被標(biāo)簽的私鑰解密。不僅如此,如果一個(gè)標(biāo)簽用它的私鑰對(duì)一個(gè)消息進(jìn)行簽名的話,則讀寫器可以通過該標(biāo)簽的公鑰進(jìn)行認(rèn)證,這樣就使得整個(gè)RFID系統(tǒng)密鑰管理變得簡(jiǎn)單而高效,還增加了系統(tǒng)的可擴(kuò)展性。
[0004]在公鑰算法中,RSA (Rivest Shauir Adleuan)方法的優(yōu)點(diǎn)主要是原理簡(jiǎn)單、易于使用。但隨著分解大整數(shù)方法的完善、計(jì)算機(jī)速度的提高以及計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,作為RSA加解密安全保證的大整數(shù)要求越來越大。為保證RSA使用的安全性,密鑰的位數(shù)不斷增加,目前一般認(rèn)為RSA需要1024位以上的字長(zhǎng)才具有安全保障。但密鑰長(zhǎng)度的增加導(dǎo)致加解密的速度大大降低,硬件實(shí)現(xiàn)也變得越來越復(fù)雜,這給使用RSA的應(yīng)用帶來了極大負(fù)擔(dān),使其應(yīng)用范圍日益受到制約。
[0005]橢圓曲線加密ECC (Elliptic curve cryptography)算法只需采用較短的密鑰就可以達(dá)到和RSA算法相同的加密強(qiáng)度,它的數(shù)論基礎(chǔ)是有限域上的橢圓曲線離散對(duì)數(shù)問題,現(xiàn)在還沒有針對(duì)這個(gè)難題的亞指數(shù)時(shí)間算法,因此,ECC算法具有每比特最高的安全強(qiáng)度。由于RFID讀寫器和標(biāo)簽之間的數(shù)據(jù)交互受制于標(biāo)簽的資源限制,這意味著標(biāo)簽不能使用太多的資源來保證RFID讀寫器和標(biāo)簽之間的數(shù)據(jù)安全,標(biāo)簽必須在盡可能小的資源消耗下實(shí)現(xiàn)盡可能高的安全性能。除此之外,RFID讀寫器和標(biāo)簽之間的速率也不高,這也限制了標(biāo)簽在實(shí)現(xiàn)安全性能上的消耗。因此采用一種運(yùn)算量小同時(shí)能提供高加密強(qiáng)度的公鑰密碼機(jī)制對(duì)于實(shí)現(xiàn)安全應(yīng)用非常關(guān)鍵。
[0006]在國內(nèi)外,有不少學(xué)者進(jìn)行橢圓加密協(xié)處理器的設(shè)計(jì),然而大部分設(shè)計(jì)都只是片面的強(qiáng)調(diào)了點(diǎn)乘的計(jì)算和實(shí)現(xiàn),而沒有考慮實(shí)際的使用環(huán)境和資源需求,如RFID標(biāo)簽芯片中的數(shù)據(jù)傳輸問題,且現(xiàn)有的橢圓機(jī)密協(xié)處理芯片面積以及功耗都較大,這在實(shí)際的RFID領(lǐng)域并不適用。
【發(fā)明內(nèi)容】
[0007]針對(duì)現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明的目的在于提供一種適用于FRID安全通信的橢圓曲線加密協(xié)處理器,通過改進(jìn)橢圓曲線加密協(xié)處理器的參數(shù)分布、改進(jìn)協(xié)處理器中各運(yùn)算單元的設(shè)計(jì)、實(shí)現(xiàn)部分寄存器的復(fù)用,使得該協(xié)處理器具有小面積、低功耗和高安全性的特點(diǎn),可應(yīng)用于RFID標(biāo)簽芯片中。
[0008]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是,一種適用于RFID安全通信的橢圓曲線加密協(xié)處理器,所述協(xié)處理器包括寄存器陣列、模算術(shù)邏輯單元和ECC協(xié)處理器指令控制器;
[0009]所述寄存器陣列用于存儲(chǔ)橢圓曲線加密計(jì)算過程中的橢圓曲線方程參數(shù)、私鑰、橢圓曲線計(jì)算過程數(shù)據(jù)和計(jì)算結(jié)果,所述曲線方程參數(shù)、私鑰在有橢圓曲線加密計(jì)算需求時(shí)通過總線從RFID標(biāo)簽系統(tǒng)中的EEPROM加載到寄存器中陣列中;
[0010]所述ECC協(xié)處理器指令控制器用于產(chǎn)生控制指令,將控制指令發(fā)送給模算術(shù)邏輯單元的控制模塊以控制模算術(shù)邏輯單元完成加法、乘法和平方計(jì)算,并根據(jù)模算術(shù)邏輯單元中寄存器T存儲(chǔ)的加法、乘法和平方運(yùn)算結(jié)果進(jìn)行點(diǎn)加、倍點(diǎn)以完成橢圓曲線點(diǎn)乘運(yùn)算,點(diǎn)乘運(yùn)算結(jié)果返回至寄存器陣列;所述控制指令包括加法、乘法、平方和移動(dòng)指令;
[0011]所述模算術(shù)邏輯單元包括加法電路、乘法電路、平方電路、控制單元和寄存器T,所述加法電路由異或陣列構(gòu)成;所述乘法電路由串行乘法器構(gòu)成;所述平方電路由異或陣列構(gòu)成;所述控制單元用于識(shí)別ECC協(xié)處理器指令控制器發(fā)送的加法、乘法和平方指令,控制寄存器T獲取寄存器陣列中的橢圓曲線方程參數(shù)和私鑰,并根據(jù)識(shí)別的加法、乘法和平方指令控制加法電路、乘法電路、平方電路運(yùn)用獲取的橢圓曲線方程參數(shù)和私鑰分別進(jìn)行橢圓曲線加法、乘法和平方計(jì)算,將加法、乘法、平方計(jì)算結(jié)果和乘法計(jì)算過程數(shù)據(jù)存儲(chǔ)在寄存器T中;同時(shí)根據(jù)識(shí)別的移動(dòng)指令將從總線上加載的數(shù)據(jù)通過寄存器T轉(zhuǎn)存到寄存器陣列中;寄存器T與寄存器陣列構(gòu)成循環(huán)鏈路以進(jìn)行數(shù)據(jù)互換。
[0012]作為進(jìn)一步優(yōu)選地,所述寄存器陣列包括狀態(tài)指令寄存器、常量寄存器k、C、X、y和多個(gè)臨時(shí)寄存器,所述狀態(tài)指令寄存器用于存儲(chǔ)控制點(diǎn)乘計(jì)算的運(yùn)行狀態(tài)的指令;所述常量寄存器k為循環(huán)移位寄存器,用于存儲(chǔ)橢圓曲線計(jì)算過程中所需要的私鑰;所述常量寄存器C用于存儲(chǔ)橢圓曲線方程參數(shù),所述常量寄存器X和常量寄存器y用于存儲(chǔ)橢圓曲線基點(diǎn)的坐標(biāo)點(diǎn);所述多個(gè)臨時(shí)寄存器用于復(fù)用存儲(chǔ)點(diǎn)乘計(jì)算過程中的臨時(shí)變量,所述多個(gè)臨時(shí)寄存器通過ECC協(xié)處理器指令控制器發(fā)送的移動(dòng)指令與寄存器T構(gòu)成循環(huán)鏈路結(jié)構(gòu)。
[0013]作為進(jìn)一步優(yōu)選地,所述平方電路和乘法電路還用于實(shí)現(xiàn)橢圓曲線加密計(jì)算過程中的求逆運(yùn)算,并根據(jù)費(fèi)馬小定理,采用構(gòu)建加法鏈的方法將求逆計(jì)算過程中的乘法計(jì)算量減少到O(1gm)次,所述m為橢圓曲線加密算法中的密鑰長(zhǎng)度。[0014]作為進(jìn)一步優(yōu)選地,所述ECC協(xié)處理器指令控制器包括依次連接的計(jì)數(shù)器、點(diǎn)乘控制器和功能單元,所述計(jì)數(shù)器用于統(tǒng)計(jì)寄存器k的循環(huán)次數(shù),以標(biāo)注點(diǎn)乘的開始和結(jié)束;所述點(diǎn)乘控制器根據(jù)所述狀態(tài)指令寄存器中的指令,以狀態(tài)機(jī)的方式向功能單元發(fā)送控制指令;所述功能單元接收所述控制指令控制相應(yīng)子單元工作,功能單元包括數(shù)據(jù)準(zhǔn)備子單元、數(shù)據(jù)互換子單元、點(diǎn)加倍點(diǎn)子單元和返回計(jì)算結(jié)果子單元,數(shù)據(jù)準(zhǔn)備子單元用于根據(jù)Lopez-Dahab投影坐標(biāo)下的Montgomery梯形點(diǎn)乘算法完成直角坐標(biāo)向投影坐標(biāo)的轉(zhuǎn)換,數(shù)據(jù)互換子單元用于將橢圓曲線上兩點(diǎn)的坐標(biāo)進(jìn)行互換;點(diǎn)加倍點(diǎn)子單元用于對(duì)互換后的點(diǎn)執(zhí)行點(diǎn)加和倍點(diǎn)計(jì)算,點(diǎn)加倍點(diǎn)計(jì)算結(jié)束后得到的點(diǎn)乘計(jì)算結(jié)果由返回計(jì)算結(jié)果子單元返回至寄存器陣列的臨時(shí)寄存器中。
[0015]作為進(jìn)一步優(yōu)選地,所述協(xié)處理器外部接口通過低位寬總線的方式進(jìn)行外部數(shù)據(jù)交互,寄存器陣列中的數(shù)據(jù)讀寫均以Sbits寬度構(gòu)成的字節(jié)形式進(jìn)行。
[0016]作為進(jìn)一步優(yōu)選地,所述加密協(xié)處理器通過Schnorr ’ s身份認(rèn)證協(xié)議與RFID標(biāo)簽系統(tǒng)控制器進(jìn)行通信。
[0017]作為進(jìn)一步優(yōu)選地,所述臨時(shí)寄存器個(gè)數(shù)為5個(gè)。
[0018]因此,本發(fā)明可以獲得以下的有益效果:
[0019]( I)對(duì)ECC參量的存放位置做出了合理的安排,橢圓曲線參數(shù)和私有密鑰在未使用時(shí)存放在EEPROM中,當(dāng)有ECC計(jì)算需求時(shí),才會(huì)通過總線加載到寄存器陣列中,并基于此制定了一種精簡(jiǎn)的總線模型,簡(jiǎn)化了標(biāo)簽數(shù)字部分中數(shù)據(jù)的傳輸;在各運(yùn)算單元的設(shè)計(jì)中,對(duì)于乘法運(yùn)算采用串行乘法器,在保持良好性能的基礎(chǔ)上減小面積,實(shí)現(xiàn)少資源、低功耗的應(yīng)用設(shè)計(jì);對(duì)于平方運(yùn)算,本發(fā)明采用專門的平方電路來單獨(dú)處理平方運(yùn)算,讓平方操作在一個(gè)單周期內(nèi)完成,以減少系統(tǒng)的計(jì)算時(shí)間,且通過對(duì)寄存器陣列中的寄存器復(fù)用減少了臨時(shí)寄存器的使用,降低了系統(tǒng)面積;
[0020](2)本發(fā)明從系統(tǒng)的構(gòu)成上合理安排協(xié)處理器的結(jié)構(gòu),將相似的單元進(jìn)行分解和整合,在此基礎(chǔ)上實(shí)現(xiàn)對(duì)模算術(shù)邏輯單元的復(fù)用過程,減少了資源消耗;在求逆運(yùn)算中,本發(fā)明采用構(gòu)建加法鏈的過程將求逆計(jì)算過程中的乘法計(jì)算量減少到O(1gm)次,減少資源和時(shí)間消耗;在點(diǎn)乘運(yùn)算中采用L0pez-Dahab投影坐標(biāo)下的Montgomery梯形點(diǎn)乘算法,使求逆的次數(shù)大大降低,從而減少計(jì)算時(shí)間;
[0021](3)本發(fā)明考慮了 RFID安全認(rèn)證協(xié)議,在考慮資源開銷而來限制情況下,采用Schnorr, s身份認(rèn)證協(xié)議,該協(xié)議模型簡(jiǎn)單,沒有Hash函數(shù)和消息等額外的計(jì)算開銷,而且在離散對(duì)數(shù)問題上,還是能有效的抵抗被動(dòng)攻擊,該算法的模型非常簡(jiǎn)單,系統(tǒng)開銷非常小,非常適合于RFID低功耗資源限制的應(yīng)用環(huán)境。
[0022]因此本發(fā)明不僅實(shí)現(xiàn)了 ECC算法計(jì)算上的優(yōu)化,而且考慮了 RFID實(shí)際應(yīng)用中的環(huán)境和資源需求,設(shè)計(jì)出一種具有實(shí)用價(jià)值的適用于RFID安全通信領(lǐng)域的橢圓曲線加密協(xié)處理器。
【專利附圖】
【附圖說明】
[0023]下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明,附圖中:
[0024]圖1是本發(fā)明適用于RFID安全通信的橢圓曲線加密協(xié)處理器的結(jié)構(gòu)示意圖;
[0025]圖2是本發(fā)明橢圓曲線加密協(xié)處理器的模算術(shù)邏輯單元結(jié)構(gòu)示意圖;[0026]圖3是本發(fā)明模算術(shù)邏輯單元中加法電路的結(jié)構(gòu)示意圖;
[0027]圖4是本發(fā)明在二進(jìn)制域有限域GF(2163)下的平方電路結(jié)構(gòu)示意圖;
[0028]圖5是本發(fā)明在二進(jìn)制域有限域GF(2163)下的單比特模乘電路圖;
[0029]圖6是本發(fā)明一個(gè)實(shí)施例的橢圓曲線加密協(xié)處理器的寄存器陣列結(jié)構(gòu)示意圖;
[0030]圖7是本發(fā)明橢圓曲線加密協(xié)處理器的ECC協(xié)處理器指令控制器的結(jié)構(gòu)示意圖;
[0031]圖8是本發(fā)明ECC協(xié)處理器指令控制器的點(diǎn)乘控制器的狀態(tài)轉(zhuǎn)換圖;
[0032]圖9是本發(fā)明橢圓曲線求逆運(yùn)算中的電路狀態(tài)轉(zhuǎn)換圖。
【具體實(shí)施方式】
[0033]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個(gè)實(shí)施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
[0034]本發(fā)明提供一種適用于RFID安全通信的橢圓曲線加密協(xié)處理器,在數(shù)字基帶中以狀態(tài)機(jī)實(shí)現(xiàn)的方式對(duì)橢圓曲線加密協(xié)處理器進(jìn)行控制,以實(shí)現(xiàn)RFID系統(tǒng)安全加密的性倉泛。
[0035]RFID標(biāo)簽系統(tǒng)由模擬前端、真隨機(jī)數(shù)產(chǎn)生器、EEPROM和數(shù)字基帶構(gòu)成。模擬前端用于完成RFID協(xié)議的物理層實(shí)現(xiàn);真隨機(jī)數(shù)產(chǎn)生器用于實(shí)現(xiàn)每一次身份認(rèn)證的隨機(jī)性,以保證通信的安全性;EEPROM是標(biāo)簽數(shù)據(jù)存儲(chǔ)的介質(zhì),負(fù)責(zé)存儲(chǔ)身份信息、應(yīng)用數(shù)據(jù)以及與安全相關(guān)的參量,如本發(fā)明RFID安全通信過程中將使用到的私鑰k、基點(diǎn)的坐標(biāo)X、y以及橢圓曲線的系數(shù)等。
[0036]在本發(fā)明中,數(shù)字基帶采用精簡(jiǎn)的總線結(jié)構(gòu),將構(gòu)成數(shù)字基帶的前端處理電路、隨機(jī)數(shù)處理單元、RAM塊、系統(tǒng)控制器、EEPROM控制單元和ECC協(xié)處理器連接起來。其中,ECC協(xié)處理器在外部接口上采用了低位寬接口模型,通過該接口模型,RFID的系統(tǒng)控制器能夠方便地對(duì)ECC協(xié)處理器的內(nèi)部數(shù)據(jù)和指令進(jìn)行配置和管理,以實(shí)現(xiàn)ECC上不同層次的運(yùn)算加密。
[0037]前端處理電路接收到模擬前端解調(diào)出來的數(shù)據(jù)信號(hào)時(shí),對(duì)解調(diào)的信號(hào)按照相應(yīng)的格式,識(shí)別出其中的有效數(shù)據(jù),并通過總線將有效的數(shù)據(jù)存儲(chǔ)在RAM塊中,當(dāng)整個(gè)接收數(shù)據(jù)階段完成,并且判定完成整個(gè)數(shù)據(jù)幀是合法的后,根據(jù)相應(yīng)的指令啟動(dòng)系統(tǒng)控制器。系統(tǒng)控制器通過總線,指示EEPROM控制單元將存儲(chǔ)在EEPROM中相應(yīng)位置的參數(shù)讀入到ECC協(xié)處理器的參量存儲(chǔ)寄存器中,與此同時(shí),系統(tǒng)控制器啟動(dòng)隨機(jī)數(shù)處理單元,將處理得到的合法的隨機(jī)數(shù)通過總線方式寫入到ECC協(xié)處理器中的相關(guān)寄存器當(dāng)中。在完成以上ECC協(xié)處理器參量的初始化準(zhǔn)備工作后,系統(tǒng)控制器通過總線向ECC協(xié)處理器陣列寄存器中的指令寄存器寫入指定數(shù)據(jù),開啟ECC協(xié)處理器的計(jì)算操作,ECC協(xié)處理器完成整個(gè)加密計(jì)算過程后,立即通知系統(tǒng)控制器,系統(tǒng)控制器啟動(dòng)應(yīng)答過程,并通過總線方式將ECC協(xié)處理器中計(jì)算出來的加密數(shù)據(jù)通過前端處理電路按照一定的協(xié)議標(biāo)準(zhǔn)編碼格式進(jìn)行編碼,并通過模擬前端進(jìn)行調(diào)制,通過磁場(chǎng)耦合返回給RFID讀寫器。
[0038]圖1是本發(fā)明適用于RFID安全通信的橢圓曲線加密協(xié)處理器的結(jié)構(gòu)示意圖。EEC協(xié)處理器主要由三大部分組成,包括相互連接的寄存器陣列101、EEC協(xié)處理器指令控制器102和模算術(shù)邏輯單元(MALU) 103。ECC協(xié)處理器負(fù)責(zé)完成標(biāo)量乘法、求逆等的計(jì)算,并通過低位寬總線的方式與外部進(jìn)行數(shù)據(jù)交互,涉及的寄存器當(dāng)中的數(shù)據(jù)讀寫均以Sbits寬度構(gòu)成的字節(jié)形式進(jìn)行。同時(shí)系統(tǒng)控制器通過向寄存器陣列101中的指令寄存器寫入特定的值來控制ECC協(xié)處理器的啟動(dòng)和運(yùn)行,將計(jì)算的坐標(biāo)結(jié)果存儲(chǔ)在寄存器陣列中,并在計(jì)算結(jié)束的時(shí)候向系統(tǒng)控制器發(fā)送指示信號(hào),以便進(jìn)行進(jìn)一步的數(shù)據(jù)處理。在設(shè)計(jì)中,采用Schnorr’s身份認(rèn)證協(xié)議,系統(tǒng)控制器從寄存器陣列中讀出計(jì)算過的坐標(biāo)值,并按照一定的協(xié)議標(biāo)準(zhǔn)編碼格式進(jìn)行編碼返回。Schnorr’ s身份認(rèn)證協(xié)議模型簡(jiǎn)單,沒有Hash函數(shù)和消息等額外的計(jì)算開銷,而且在離散對(duì)數(shù)問題上,還是能有效的抵抗被動(dòng)攻擊,該算法的模型非常簡(jiǎn)單,系統(tǒng)開銷非常小,非常適合于RFID低功耗資源限制的應(yīng)用環(huán)境。
[0039]本發(fā)明ECC協(xié)處理器的接口信號(hào)如表1所示。
[0040]表1ECC協(xié)處理器接口信號(hào)列表
【權(quán)利要求】
1.一種適用于RFID安全通信的橢圓曲線加密協(xié)處理器,其特征在于,所述協(xié)處理器包括寄存器陣列、模算術(shù)邏輯單元和ECC協(xié)處理器指令控制器; 所述寄存器陣列用于存儲(chǔ)橢圓曲線加密計(jì)算過程中的橢圓曲線方程參數(shù)、私鑰、橢圓曲線計(jì)算過程數(shù)據(jù)和計(jì)算結(jié)果,所述曲線方程參數(shù)、私鑰在有橢圓曲線加密計(jì)算需求時(shí)通過總線從RFID標(biāo)簽系統(tǒng)中的EEPROM加載到寄存器中陣列中; 所述ECC協(xié)處理器指令控制器用于產(chǎn)生控制指令,將控制指令發(fā)送給模算術(shù)邏輯單元的控制模塊以控制模算術(shù)邏輯單元完成加法、乘法和平方計(jì)算,并根據(jù)模算術(shù)邏輯單元中寄存器T存儲(chǔ)的加法、乘法和平方運(yùn)算結(jié)果進(jìn)行點(diǎn)加、倍點(diǎn)以完成橢圓曲線點(diǎn)乘運(yùn)算,點(diǎn)乘運(yùn)算結(jié)果返回至寄存器陣列;所述控制指令包括加法、乘法、平方和移動(dòng)指令; 所述模算術(shù)邏輯單元包括加法電路、乘法電路、平方電路、控制單元和寄存器T,所述加法電路由異或陣列構(gòu)成;所述乘法電路由串行乘法器構(gòu)成;所述平方電路由異或陣列構(gòu)成;所述控制單元用于識(shí)別ECC協(xié)處理器指令控制器發(fā)送的加法、乘法和平方指令,控制寄存器T獲取寄存器陣列中的橢圓曲線方程參數(shù)和私鑰,并根據(jù)識(shí)別的加法、乘法和平方指令控制加法電路、乘法電路、平方電路運(yùn)用獲取的橢圓曲線方程參數(shù)和私鑰分別進(jìn)行橢圓曲線加法、乘法和平方計(jì)算,將加法、乘法、平方計(jì)算結(jié)果和乘法計(jì)算過程數(shù)據(jù)存儲(chǔ)在寄存器T中;同時(shí)根據(jù)識(shí)別的移動(dòng)指令將從總線上加載的數(shù)據(jù)通過寄存器T轉(zhuǎn)存到寄存器陣列中;寄存器T與寄存器陣列構(gòu)成循環(huán)鏈路以進(jìn)行數(shù)據(jù)互換。
2.如權(quán)利要求1所述的適用于RFID安全通信的橢圓曲線加密協(xié)處理器,其特征在于,所述寄存器陣列包括狀態(tài)指令寄存器、常量寄存器k、C、X、y和多個(gè)臨時(shí)寄存器,所述狀態(tài)指令寄存器用于存儲(chǔ) 控制點(diǎn)乘計(jì)算的運(yùn)行狀態(tài)的指令;所述常量寄存器k為循環(huán)移位寄存器,用于存儲(chǔ)橢圓曲線計(jì)算過程中所需要的私鑰;所述常量寄存器c用于存儲(chǔ)橢圓曲線方程參數(shù),所述常量寄存器X和常量寄存器y用于存儲(chǔ)橢圓曲線基點(diǎn)的坐標(biāo)點(diǎn);所述多個(gè)臨時(shí)寄存器用于復(fù)用存儲(chǔ)點(diǎn)乘計(jì)算過程中的臨時(shí)變量,所述多個(gè)臨時(shí)寄存器通過ECC協(xié)處理器指令控制器發(fā)送的移動(dòng)指令與寄存器T構(gòu)成循環(huán)鏈路結(jié)構(gòu)。
3.如權(quán)利要求2所述的適用于RFID安全通信的橢圓曲線加密協(xié)處理器,其特征在于,所述平方電路和乘法電路還用于實(shí)現(xiàn)橢圓曲線加密計(jì)算過程中的求逆運(yùn)算,并根據(jù)費(fèi)馬小定理,采用構(gòu)建加法鏈的方法將求逆計(jì)算過程中的乘法計(jì)算量減少到O(1gm)次,所述m為橢圓曲線加密算法中的密鑰長(zhǎng)度。
4.如權(quán)利要求2或3所述的適用于RFID安全通信的橢圓曲線加密協(xié)處理器,其特征在于,所述ECC協(xié)處理器指令控制器包括依次連接的計(jì)數(shù)器、點(diǎn)乘控制器和功能單元,所述計(jì)數(shù)器用于統(tǒng)計(jì)寄存器k的循環(huán)次數(shù),以標(biāo)注點(diǎn)乘的開始和結(jié)束;所述點(diǎn)乘控制器根據(jù)所述狀態(tài)指令寄存器中的指令,以狀態(tài)機(jī)的方式向功能單元發(fā)送控制指令;所述功能單元接收所述控制指令控制相應(yīng)子單元工作,功能單元包括數(shù)據(jù)準(zhǔn)備子單元、數(shù)據(jù)互換子單元、點(diǎn)加倍點(diǎn)子單元和返回計(jì)算結(jié)果子單元,數(shù)據(jù)準(zhǔn)備子單元用于根據(jù)L0pez-Dahab投影坐標(biāo)下的Montgomery梯形點(diǎn)乘算法完成直角坐標(biāo)向投影坐標(biāo)的轉(zhuǎn)換,數(shù)據(jù)互換子單元用于將橢圓曲線上兩點(diǎn)的坐標(biāo)進(jìn)行互換;點(diǎn)加倍點(diǎn)子單元用于對(duì)互換后的點(diǎn)執(zhí)行點(diǎn)加和倍點(diǎn)計(jì)算,點(diǎn)加倍點(diǎn)計(jì)算結(jié)束后得到的點(diǎn)乘計(jì)算結(jié)果由返回計(jì)算結(jié)果子單元返回至寄存器陣列的臨時(shí)寄存器中。
5.如權(quán)利要求1或2所述的適用于RFID安全通信的橢圓曲線加密協(xié)處理器,其特征在于,所述協(xié)處理器外部接口通過低位寬總線的方式進(jìn)行外部數(shù)據(jù)交互,寄存器陣列中的數(shù)據(jù)讀寫均以Sbits寬度構(gòu)成的字節(jié)形式進(jìn)行。
6.如權(quán)利要求1或2所述的適用于RFID安全通信的橢圓曲線加密協(xié)處理器,其特征在于,所述加密協(xié)處理器通過Schnorr’ s身份認(rèn)證協(xié)議與RFID標(biāo)簽系統(tǒng)控制器進(jìn)行通信。
7.如權(quán)利要求2所述的適用于RFID安全通信的橢圓曲線加密協(xié)處理器,其特征在于,所述臨時(shí)寄存器個(gè)數(shù)為5個(gè)。
【文檔編號(hào)】G06K19/077GK103903047SQ201410119582
【公開日】2014年7月2日 申請(qǐng)日期:2014年3月27日 優(yōu)先權(quán)日:2014年3月27日
【發(fā)明者】劉冬生, 林煥, 劉胤, 鄒雪城, 劉子龍, 雍振強(qiáng), 程劍 申請(qǐng)人:華中科技大學(xué)