一種基于輕量級不對稱加密算法的有源rfid加密方法
【專利摘要】本發(fā)明公開了一種基于輕量級不對稱加密算法的有源RFID加密方法,發(fā)送方在設(shè)定位的有限域中選擇橢圓曲線Ep(a,b),在橢圓曲線上取基點G;發(fā)送方在初始位至設(shè)定位之間隨機選擇一個素數(shù)作為私有密鑰,生成公開密鑰K=kG,將簡化后的Ep(a,b),設(shè)定位和公鑰K,基點G傳給接收方;接收方收到發(fā)送方發(fā)來的數(shù)據(jù)包后,將待傳輸?shù)拿魑木幋a到橢圓曲線Ep(a,b)的點M上,編碼結(jié)束后產(chǎn)生隨機整數(shù);接收方用接收到的公鑰和隨機數(shù),進行運算,產(chǎn)生包含著密文的兩個點CPC2;接收方將CpC2傳給發(fā)送方;發(fā)送方接到接收方發(fā)來的密文后,計算得到明文所在點M,最后再對點M進行相應(yīng)的解碼操作得到明文,通信過程結(jié)束。
【專利說明】-種基于輕量級不對稱加密算法的有源RFID加密方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種基于輕量級不對稱加密算法的有源RFID加密方法。
【背景技術(shù)】
[0002] 射頻識別(RFID)技術(shù)是一種利用射頻通信實現(xiàn)非接觸式自動識別的技術(shù),以此 為基礎(chǔ)的射頻識別系統(tǒng)把信息采集技術(shù)、無線數(shù)據(jù)傳輸技術(shù)、自動化控制技術(shù)和計算機技 術(shù)集為一體。該技術(shù)所具有的非接觸掃描,體積小型化,抗污染能力強,可重復(fù)使用,穿透性 強,識別距離遠等優(yōu)點,使其在物流監(jiān)管,門禁系統(tǒng),電子自動收費等領(lǐng)域得到了迅猛地發(fā) 展。射頻識別系統(tǒng)主要由電子標簽,讀寫器和后臺計算機系統(tǒng)組成,電子標簽根據(jù)是否含 有電源,分為有源電子標簽和無源電子標簽。有源電子標簽自身帶有一定的有限的電源能 量,無源電子標簽本身不帶電源,其所需要的能量全部都是由讀寫器通過電磁耦合的方式 提供。因此不管對有源標簽還是無源標簽,降低標簽工作時所需能量都是很必要的。
[0003] 現(xiàn)有的RFID系統(tǒng)的加密算法具體有:
[0004] 1、輕量級加密算法:RFID系統(tǒng)的所有的數(shù)據(jù)交流暴露在開放的無線狀態(tài),外界可 以輕易對系統(tǒng)實施各種信息干擾及信息盜取,鑒于此對傳送信息進行加密就變得尤為重 要。傳統(tǒng)的加密算法如數(shù)據(jù)加密算法(DES),高級加密標準(AES)等加密算法都可對數(shù)據(jù) 進行加密。把明文信息通過分散,倒序,代換的數(shù)學運算變?yōu)闆]有規(guī)律可言的密文,讓非法 截獲者即使得到密文但是因為不知道解密規(guī)則而無法得知明文信息。
[0005] 存在的問題是:這些算法注重更多的是算法的加密強度而沒有過多地考慮算法運 行所需要的硬件消耗。雖然算法加密強度越高,信息越安全,但是實現(xiàn)算法所耗費的時間和 能量就越大,顯然對于低功耗低成本的無線射頻識別系統(tǒng)這種傳統(tǒng)的高強度的加密算法是 不合適的也是不必要的。針對無線射頻這一類能量極端受限的系統(tǒng),輕量級加密算法首先 注重的是更小的能量消耗更低的硬件資源要求,其次才是高的加密強度。輕量級加密算法 可以從現(xiàn)有的算法通過簡化而來,比如縮短密鑰長度,減少加密輪數(shù)。
[0006] 2、不對稱加密算法:加密算法根據(jù)加密和解密時候所用的密鑰是否一致分為對稱 加密算法和不對稱加密算法。對稱加密算法加解密使用相同的密鑰,而不對稱加密算法加 密用公鑰,解密用私鑰。公鑰和私鑰是一個不可逆函數(shù),由私鑰可以輕松得出公鑰,而給出 公鑰卻很難求出私鑰。這個不可逆函數(shù)一般是基于數(shù)學領(lǐng)域里的一個難題。
[0007] 不對稱加密算法的加密強度比較高,算法實現(xiàn)所需能量也比較大?,F(xiàn)有的輕量級 加密算法中,絕大多數(shù)都是對稱加密算法,如何實現(xiàn)不對稱加密算法的輕量化是目前加密 算法研究的一個趨勢。
【發(fā)明內(nèi)容】
[0008] 為解決現(xiàn)有技術(shù)存在的不足,本發(fā)明公開了一種基于輕量級不對稱加密算法的有 源RFID加密方法,本發(fā)明將不對稱加密算法實現(xiàn)輕量化,公布了一種適用于有源RFID輕量 級不對稱加密加密算法,簡化了的橢圓曲線加密算法(ECC-79)。
[0009] 為實現(xiàn)上述目的,本發(fā)明的具體方案如下:
[0010] 一種基于輕量級不對稱加密算法的有源RFID加密方法,包括以下步驟:
[0011] 步驟一:發(fā)送方在設(shè)定位的有限域中選擇一條滿足加密條件的橢圓曲線 Ep (a,b),在橢圓曲線上取一點,作為基點G,并在橢圓曲線上對點G用加法運算法則進行加 法運算,當進行了 η次加法運算后,出現(xiàn)nG = 0 ,此時正整數(shù)η就稱為基點G的階數(shù);
[0012] 步驟二:發(fā)送方在初始位至設(shè)定位之間隨機選擇一個素數(shù)作為私有密鑰k,根據(jù) 加法運算法則,生成公開密鑰K = kG,
[0013] 步驟三:將簡化后的Ep (a,b),設(shè)定位和公鑰K,基點G傳給接收方;
[0014] 步驟四:接收方收到發(fā)送方發(fā)來的數(shù)據(jù)包后,將待傳輸?shù)拿魑木幋a到橢圓曲線 Ep (a,b)的點Μ上,編碼結(jié)束后會產(chǎn)生一個小于階數(shù)η的隨機整數(shù)r ;
[0015] 步驟五:接收方用接收到的公鑰和步驟四產(chǎn)生的隨機數(shù),行Q = M+rK和C2 = rG 的運算,產(chǎn)生包含著密文的兩個點Q,C2 ;
[0016] 步驟六:接收方將步驟五加密產(chǎn)生的Cp C2傳給發(fā)送方;
[0017] 步驟七:發(fā)送方接到接收方發(fā)來的密文后,計算Q-kC^ = M+rK-k (rG)= M+rK-r (kG) = Μ就得到明文所在點M,最后再對點Μ進行相應(yīng)的解碼操作得到明文,通信過 程結(jié)束。
[0018] 所屬步驟一中,在滿足加密條件的橢圓曲線Ep(a,b)的選取上,橢圓方程y2 = x3+ax+b的特征值需為大于3的素數(shù),且有4a3+27b2尹0。
[0019] 在有限域元素的個數(shù)就是密鑰的長度,此算法取了 p = 79,即密鑰長度為79。密 鑰長度P要滿足破譯時間^^^ = 10001n(p),又要滿足通信協(xié)議中所規(guī)定的每秒讀寫標 簽數(shù)在100以上,讀寫標簽數(shù)N = 7981/p。
[0020] 所述步驟一中,基點G與私有密鑰成簡單的數(shù)學關(guān)系,G = 79-k。
[0021] 所述步驟四中,Μ點為編碼點,M = 79-K,即編碼點由公開密鑰K決定。
[0022] 所述步驟二中,k〈n,k為私有密鑰,η是根據(jù)加法運算法則得到的G點的階,滿足 nG = 0 00 〇
[0023] 所述設(shè)定位p = 79,即密鑰長度為79位。
[0024] 在加密通信中越短的密鑰,處理速度越快,所需的帶寬和存儲要求越小,更符合輕 量級加密算法的要求。a和b是橢圓曲線的兩個參數(shù),并滿足a 3+27b2尹0。G為基點,是橢 圓曲線上的一個有效點,η是根據(jù)加法運算法則得到的G點的階,滿足nG = 0 c?。分別用 ECC-160和ECC-79來表示簡化前和簡化后的橢圓曲線加密算法。
[0025] 經(jīng)過以上處理得到的橢圓曲線算法,在算法運行效率上達到了輕量級,能很好在 MCU平臺上對有源RFID系統(tǒng)進行加解密。
[0026] 本發(fā)明的有益效果:
[0027] 因為簡化了密鑰長度,所以本發(fā)明具有加密速度快,運行效率高優(yōu)點,滿足了硬件 資源極端受限的RFID系統(tǒng)對加密算法輕量化的要求。又因為本發(fā)明是非對稱加密算法,在 加密強度上也得到了保證。
【專利附圖】
【附圖說明】
[0028] 圖1為RFID系統(tǒng)組成圖;
[0029] 圖2為橢圓曲線;
[0030] 圖3橢圓曲線的加密流程
[0031] 圖4是ECC-79與輕量級對稱加密算法中PRESENT-80算法、RC4算法在運行效率 上的對比。
【具體實施方式】:
[0032] 下面結(jié)合附圖對本發(fā)明進行詳細說明:
[0033] 如圖1所示,為本發(fā)明的RFID系統(tǒng),包括電子標簽,標簽內(nèi)置天線,閱讀器,讀取電 子標簽信息,閱讀器通過PFID與上位機通信。
[0034] 如圖3所示,一種適用于有源RFID輕量級加密算法,在通信雙方間的應(yīng)用至少包 括以下步驟:
[0035] 1) A方在這個79位的有限域中選擇一條滿足加密條件的橢圓曲線Ep (a, b)。注意 這里的P = 79,并且在取橢圓曲線上取一點,作為基點G,而基點G是從特定的幾個點中直 接調(diào)取的。
[0036] 2)A方在1到79之間隨機選擇一個素數(shù)作為私有密鑰k,并根據(jù)加法運算法則, 生成公開密鑰K = kG。在1到79之間總共有23個素數(shù),分別是2, 3, 5, 7, 11,13, 17, 19, 2 3, 29, 31,37, 41,43, 47, 53, 57, 59, 61,67, 71,73, 79。誠然只要時間足夠,這 23 個私有密鑰 很容易能被窮舉出,繼而加密算法也可以被攻破。但是把這23個素數(shù)挨個當做私鑰密鑰與 截獲的密文進行逐次試解密,需要一定的時間,而RFID系統(tǒng)需要的正是這個寶貴的時間代 價。等偷窺者攻破出明文信息,本次的信息傳送也已經(jīng)結(jié)束了,偷窺者得到的信息也就沒有 了時效性。
[0037] 3)用戶A將簡化后的Ep (a,b),p = 79和公鑰K,基點G傳給B方,這一步也是純 粹的數(shù)據(jù)包傳送,沒有進行加密。
[0038] 4)用戶B收到A方發(fā)來的數(shù)據(jù)包后,將待傳輸?shù)拿魑木幋a到橢圓曲線Ep(a,b)點 Μ上,同樣為了簡化算法跟基點G的選擇一樣,Μ也是從特定的幾個點中直接調(diào)取取。編碼 結(jié)束后同樣會產(chǎn)生一個小于階數(shù)的隨機整數(shù)r,這個隨機數(shù)將會參與解密。
[0039] 5)用戶B用接收到的公鑰和上一步產(chǎn)生的隨機數(shù),進行Q = M+rK和C2 = rG的 運算,產(chǎn)生包含著密文的兩個點Cp c2。
[0040] 6)用戶B將上一步加密產(chǎn)生的Cp C2傳給A方。這一步是真正的密文傳送
[0041] 7)用戶A接到用戶B發(fā)來的密文后,計算C「kC2 = M+rK-k(rG) = M+rK-r(kG)= Μ就可以得到明文所在點Μ。最后再對點Μ進行相應(yīng)的解碼操作就可以得到明文,通信過程 結(jié)束。
[0042] 如圖2所示,本發(fā)明的橢圓曲線為y2 = χ3+1,橢圓曲線是在射影平面上滿足方程 (1)的一條光滑曲線:
[0043] Y2Z+aiXYZ+a3YZ3 = X3+a2X2Z+a4XZ2+a 5Z3 (1)
[0044] ai、a2、a3、a4、a5為橢圓曲線的系數(shù),X、Y、Z為橢圓曲線在射影平面上的坐標點。
[0045] 在此曲線上還有一個無窮遠點用0 00表示,設(shè)X = X/Z,y = Y/Z,則在直角坐標系 中橢圓曲線(2)可表示成方程上所有點和一個無窮遠點0 c?的集合:
[0046] y^a^y+agy = x3+a2x2+a4x+a5 (2)
[0047] 最常用的橢圓曲線方程為y2 = x3+ax+b,此方程的特征值為大于3的素數(shù),且 4a+27b 關(guān) 0。
[0048] 橢圓曲線加密原理:橢圓曲線加密算法的數(shù)學基礎(chǔ)是:在由曲線上有理點構(gòu)成的 阿貝爾群4(&汕)內(nèi)進行離散對數(shù)的求解是十分困難的。即考慮方程:
[0049] K = kG
[0050] 其中K為公有密鑰,k為私有密鑰,G為基點。知道k,G,求K容易;但若知道K,G 求k卻是困難的,其中K,G屬于Ep (a,b)。運算過程中需要用到橢圓曲線上的點加運算法 貝1J,具體如下:任意選取橢圓曲線上兩點P、Q (若P、Q兩點重合,則做P點的切線)做直線 交于橢圓曲線的另一點IT,過IT做y軸的平行線交于R,則有P+Q = R。根據(jù)這個法則, 可以知道橢圓曲線內(nèi)無窮遠點0 00與曲線上任一點P有:0 00 +P = P,故把無窮遠點0 00 稱為零元。同時可以得出如下結(jié)論:如果橢圓曲線上的三個點A、B、C,處于同一條直線上, 那么他們的和等于零元,即A+B+C = 0->。k個相同的點P相加,記作kP。并得到橢圓上點 的階,nG = 0 ,則η就稱為基點G的階,在選取私有密鑰k時,要滿足k〈n。
[0051] 橢圓曲線加密算法的簡化:橢圓曲線加密算法屬于不對稱密鑰加密算法,加密用 公鑰,解密用私鑰,公鑰和私鑰是一對不可逆函數(shù)。密鑰長度P值的大小決定密碼安全度的 強弱,P值越大,密碼越安全,但相應(yīng)的計算速度就會變慢。目前已知160位p的安全性和 1024位的RSA相當,在RFID中這么高的加密強度是沒必要的,故為了簡化算法,取p = 79, 即密鑰長度為79位。對于密鑰長度的選擇上,事實上是加密強度與算法運行效率的一個折 衷,在一秒的時間里,能夠完成對N個電子標簽的加解密,是一個算法的運行效率;用窮盡 密鑰的方式進行破譯所需的時間為S,在1到79這23個素數(shù)之間,每選取一個更大一點的 素數(shù),破譯時間就是是素數(shù)P的指數(shù)函數(shù),而電子標簽數(shù)N是素數(shù)p的反比例函數(shù)
[0052] Sp-S^ = 10001n(p) (3)
[0053] 所以滿足(3)式的前提下,密鑰長度η和一秒內(nèi)能識別的電子標簽數(shù)N之間有
[0054] N = 7981/p (4)
[0055] 無線識別的通信協(xié)議中,當N〈100時候,不滿足協(xié)議要求,當p = 79時,N = 101, 此時的破譯時間S79 = 4. 36*107秒?504天,破譯時間也是足夠大的。為此選取密鑰長度 為79是可行的,
[0056] 如圖4所示,本發(fā)明在對橢圓曲線進行簡化后,提出簡化了的橢圓曲線加密算法 ECC-79。該算法與輕量級對稱加密算法中的PRESENT-80算法和RC4算法,相比較在運行效 率上要優(yōu)于后兩者。
【權(quán)利要求】
1. 一種基于輕量級不對稱加密算法的有源RFID加密方法,其特征是,包括以下步驟: 步驟一:發(fā)送方在設(shè)定位的有限域中選擇一條滿足加密條件的橢圓曲線Ep (a,b),在 橢圓曲線上取一點,作為基點G,并在橢圓曲線上對點G用加法運算法則進行加法運算,當 進行了 η次加法運算后,出現(xiàn)nG = 0 ,此時正整數(shù)η就稱為基點G的階數(shù); 步驟二:發(fā)送方在初始位至設(shè)定位之間隨機選擇一個素數(shù)作為私有密鑰k,根據(jù)加法 運算法則,生成公開密鑰K = kG, 步驟三:將簡化后的Ep (a,b),設(shè)定位和公鑰K,基點G傳給接收方; 步驟四:接收方收到發(fā)送方發(fā)來的數(shù)據(jù)包后,將待傳輸?shù)拿魑木幋a到橢圓曲線 Ep (a,b)的點Μ上,編碼結(jié)束后會產(chǎn)生一個小于階數(shù)η的隨機整數(shù)r ; 步驟五:接收方用接收到的公鑰和步驟四產(chǎn)生的隨機數(shù),行Q = 1+抓和C2 = rG的運 算,產(chǎn)生包含著密文的兩個點Q,C2 ; 步驟六:接收方將步驟五加密產(chǎn)生的Q、C2傳給發(fā)送方; 步驟七:發(fā)送方接到接收方發(fā)來的密文后,計算(^1-1^2 = ]/[+1'1(-1^〇<)=]/[+1'1(-1'〇^)= Μ就得到明文所在點M,最后再對點Μ進行相應(yīng)的解碼操作得到明文,通信過程結(jié)束。
2. 如權(quán)利要求1所述的一種基于輕量級不對稱加密算法的有源RFID加密方法,其 特征是,所述步驟一中滿足加密條件的橢圓曲線Ep (a,b),在橢圓曲線選取上,方程y2 = x3+ax+b,的特征值需為大于3的素數(shù),且有4a3+27b2尹0。
3. 如權(quán)利要求1所述的一種基于輕量級不對稱加密算法的有源RFID加密方法,其特 征是,在有限域元素的個數(shù)就是密鑰的長度,此算法取了 P = 79,即密鑰長度為79。密鑰長 度P要滿足破譯時間Sp-Sh = 10001n(p),又要滿足通信協(xié)議中所規(guī)定的每秒讀寫標簽數(shù) 在100以上,讀寫標簽數(shù)N = 7981/p。
4. 如權(quán)利要求1所述的一種基于輕量級不對稱加密算法的有源RFID加密方法,其特征 是,所述步驟一中,基點G與私有密鑰成簡單的數(shù)學關(guān)系,G = 79-k。
5. 如權(quán)利要求1所述的一種基于輕量級不對稱加密算法的有源RFID加密方法,其特征 是,所述步驟四中,Μ點為編碼點,Μ = 79-K,即編碼點由公開密鑰K決定。
6. 如權(quán)利要求1所述的一種基于輕量級不對稱加密算法的有源RFID加密方法,其特征 是,所述步驟二中,k〈n,k為私有密鑰,η是根據(jù)加法運算法則得到的G點的階,滿足nG = 0 00 〇
7. 如權(quán)利要求1所述的一種基于輕量級不對稱加密算法的有源RFID加密方法,其特征 是,所述設(shè)定位P = 79,即密鑰長度為79位。
【文檔編號】H04L9/30GK104219046SQ201410527327
【公開日】2014年12月17日 申請日期:2014年10月9日 優(yōu)先權(quán)日:2014年10月9日
【發(fā)明者】楊濟民, 路安平, 于麗娜, 劉丹華 申請人:山東師范大學