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

用于確定共享密鑰的設(shè)備的制作方法

文檔序號:12289836閱讀:205來源:國知局
用于確定共享密鑰的設(shè)備的制作方法與工藝

本發(fā)明涉及被配置成確定與另外的設(shè)備的共享密鑰的設(shè)備。

本發(fā)明還涉及用于配置設(shè)備以共享密鑰的系統(tǒng)。

本發(fā)明還涉及確定與另外的網(wǎng)絡(luò)設(shè)備的共享密鑰的方法、用于配置設(shè)備以共享密鑰的方法、相應(yīng)的計算機程序以及計算機可讀介質(zhì)。



背景技術(shù):

在密碼學(xué)中,密鑰協(xié)商協(xié)議是可能尚未共享共同密鑰的兩方或更多方能夠借以商定這樣的密鑰的協(xié)議。優(yōu)選的是,雙方都可以影響結(jié)果,使得任一方都無法強行促成密鑰的選擇。竊聽兩方之間的所有通信的攻擊者應(yīng)當(dāng)不會獲知關(guān)于密鑰的任何信息。然而,盡管看到相同的通信的攻擊者獲知不到任何東西或獲知得很少,各方自身可以導(dǎo)出共享密鑰。密鑰協(xié)商協(xié)議例如對保護通信是有用的,例如對在各方之間對消息進(jìn)行加密和/或認(rèn)證是有用的。

在相同申請人的標(biāo)題為“Key sharing device and system for configuration thereof”的國際專利申請WO2013174554中公開了一種用于密鑰共享的已知系統(tǒng),其通過應(yīng)用而被包括。該系統(tǒng)被稱作“HIMMO”。根據(jù)該已知系統(tǒng)的一個方面,生成根建鑰材料。根建鑰材料包括m個次數(shù)為αj的對稱雙變量多項式f1,f2,…,fm。對于每一個參與設(shè)備,生成私有的單變量密鑰多項式。受信任的第三方(TTP)可以如下生成用于設(shè)備A的建鑰材料:

標(biāo)記標(biāo)示將括號之間的多項式的每一個系數(shù)以對pj取模進(jìn)行約簡(reducing)。數(shù)字p1,p2,…,pm是私有的并且是根密鑰材料的部分。

一旦兩個設(shè)備具有身份數(shù)字A和B并且從TPP接收到它們各自的建鑰材料,它們可以使用它們的建鑰材料獲得共享密鑰。設(shè)備A可以執(zhí)行以下步驟:首先設(shè)備A獲得設(shè)備B的身份數(shù)字B,隨后A通過計算下式生成共享密鑰:

在該公式中,N指的是公共全局約簡整數(shù),并且密鑰長度被稱作“b”。

使不同的環(huán)上的多項式相加使得私有單變量密鑰多項式具有特殊結(jié)構(gòu):A的共享密鑰與B的共享密鑰常常是(盡管不一定總是)相等的。

存在各種可能性來調(diào)和由A導(dǎo)出的共享密鑰和由B導(dǎo)出的共享密鑰,使得它們是相等的并且可用于加密目的。然而,調(diào)和過程被認(rèn)為是成問題的,使得存在減少調(diào)和的數(shù)量的希望。



技術(shù)實現(xiàn)要素:

發(fā)明人發(fā)現(xiàn),一旦設(shè)備A將設(shè)備B的身份數(shù)字替換到其私有單變量密鑰多項式中從而獲得中間密鑰,中間密鑰就定義設(shè)備B可能通過將設(shè)備A的身份數(shù)字替換到B的私有單變量密鑰多項式中所獲得的可能密鑰的集合。

通過替換設(shè)備B的身份數(shù)字獲得的密鑰A與通過替換設(shè)備A的身份數(shù)字獲得的密鑰B之間的差異是有限的。成立,其中δ是絕對值有界的整數(shù):。

這將意味著設(shè)備B必須向設(shè)備A發(fā)送關(guān)于KBA的至少log2(2Δ+1)位的信息,以便設(shè)備A能夠在由KAB定義的2Δ+1個候選當(dāng)中找到KBA。從信息論的觀點來看,這將有效密鑰長度從b位減少到b-log2(2Δ+1)位。可替換地,設(shè)備B可以向設(shè)備A發(fā)送KBA的散列值h(KBA)。設(shè)備A隨后可以通過將h(KBA)與形式(其中)的所有候選的散列值進(jìn)行比較來找到KBA。如果Δ是大的,這是耗時的。

有利的將是具有用于密鑰協(xié)商的改進(jìn)設(shè)備。

提供了一種被配置成確定與第二設(shè)備共享的密鑰的第一設(shè)備,第一設(shè)備包括電子存儲裝置、通信單元、多項式操縱單元以及密鑰校正單元。

電子存儲裝置存儲第一身份數(shù)字、第一私有校正函數(shù)以及第一私有單變量密鑰多項式。第二設(shè)備具有對第二私有單變量密鑰多項式和第二校正密鑰的訪問權(quán)。與第一設(shè)備相同,它還計算中間密鑰,隨后是校正因數(shù),并且最后是經(jīng)校正的中間密鑰。第二設(shè)備具有對其自身的校正函數(shù)的訪問權(quán)。

通信單元被布置成獲得第二設(shè)備的第二身份數(shù)字。

多項式操縱單元被布置成將第二身份數(shù)字替換到私有單變量密鑰多項式中從而獲得中間密鑰,該中間密鑰定義第一密鑰集合,由第二設(shè)備導(dǎo)出的中間密鑰被包括在第一密鑰集合中。

密鑰校正單元被布置成將第二身份數(shù)字替換到私有校正函數(shù)中從而獲得校正因數(shù),并且利用校正因數(shù)修改中間密鑰以獲得經(jīng)校正的密鑰,該經(jīng)校正的密鑰定義第二密鑰集合。第二集合小于第一集合,而且由設(shè)備B獲得的經(jīng)校正的密鑰被包括在第二密鑰集合中。

第一密鑰集合中的密鑰可以被視為對稱密鑰。第一和第二設(shè)備可以從中間密鑰導(dǎo)出共享密鑰。在這種情況下,它們將必須關(guān)于第一密鑰集合的大小進(jìn)行調(diào)和。

私有校正函數(shù)(ΛA( ))減小第一集合的大小,而不發(fā)送附加的調(diào)和數(shù)據(jù)。因此,潛在的密鑰不對稱性被降低。任何附加的調(diào)和數(shù)據(jù)潛在地降低安全性,因此減少附加的調(diào)和數(shù)據(jù)是一個優(yōu)點。而且,密鑰調(diào)和是更少的工作。

可以從經(jīng)校正的中間密鑰導(dǎo)出共享密鑰。從經(jīng)校正的中間密鑰導(dǎo)出共享密鑰可以包括接收調(diào)和數(shù)據(jù)并且將經(jīng)校正的中間密鑰匹配到所接收到的調(diào)和數(shù)據(jù),以及/或者應(yīng)用密鑰導(dǎo)出函數(shù)。共享密鑰可以組合多個經(jīng)校正的中間密鑰。

本發(fā)明的一個方面涉及一種用于配置第一設(shè)備以共享密鑰的系統(tǒng)。本發(fā)明的一個方面涉及一種確定與第二設(shè)備共享的密鑰的方法。本發(fā)明的一個方面涉及一種用于配置設(shè)備以共享密鑰的方法。

第一和第二設(shè)備以及用于配置的系統(tǒng)是電子設(shè)備。本文所描述的第一設(shè)備可以被應(yīng)用在寬范圍的實際應(yīng)用中。這樣的實際應(yīng)用包括要求在大量潛在設(shè)備之間的安全通信的通信網(wǎng)絡(luò)。這樣的通信網(wǎng)絡(luò)包括照明網(wǎng)絡(luò)以及汽車間通信。

根據(jù)本發(fā)明的方法可以作為計算機實現(xiàn)的方法而被實現(xiàn)在計算機上,或者實現(xiàn)在專用硬件中,或者實現(xiàn)在二者的組合中。用于根據(jù)本發(fā)明的方法的可執(zhí)行代碼可以被存儲在計算機程序產(chǎn)品上。計算機程序產(chǎn)品的示例包括存儲器設(shè)備、光學(xué)存儲設(shè)備、集成電路、服務(wù)器、線上軟件等等。優(yōu)選的是,計算機程序產(chǎn)品包括存儲在計算機可讀介質(zhì)上的非瞬時程序代碼構(gòu)件,以用于當(dāng)在計算機上執(zhí)行所述程序產(chǎn)品時執(zhí)行根據(jù)本發(fā)明的方法。

在一個優(yōu)選實施例中,計算機程序包括適于在該計算機程序運行在計算機上時執(zhí)行根據(jù)本發(fā)明的方法的所有步驟的計算機程序代碼構(gòu)件。優(yōu)選的是,計算機程序被體現(xiàn)在計算機可讀介質(zhì)上。

附圖說明

本發(fā)明的這些和其他方面根據(jù)下文中描述的實施例而是明顯的,并且將參照這些實施例進(jìn)行闡明。在附圖中,

圖1是用于配置網(wǎng)絡(luò)設(shè)備300以用于密鑰共享的系統(tǒng)200的示意性框圖;

圖2是第一網(wǎng)絡(luò)設(shè)備300和第二網(wǎng)絡(luò)設(shè)備350的示意性框圖;

圖3a是密鑰共享系統(tǒng)100的示意性框圖;

圖3b是密鑰共享系統(tǒng)102的示意性框圖;

圖4是集成電路400的示意性框圖,

圖5是圖示了用于配置網(wǎng)絡(luò)設(shè)備以共享密鑰的方法500的流程圖,

圖6是圖示了用于確定與第二網(wǎng)絡(luò)設(shè)備350共享的密鑰的方法600的流程圖。

應(yīng)當(dāng)注意的是,在不同的附圖中具有相同參考數(shù)字的項目具有相同的結(jié)構(gòu)特征和相同的功能,或者是相同的信號。在已經(jīng)解釋了這樣的項目的功能和/或結(jié)構(gòu)的情況下,在詳細(xì)描述中沒有必要對其進(jìn)行重復(fù)解釋。

具體實施方式

雖然本發(fā)明可受許多不同形式的實施例的影響,但是在附圖中示出了一個或更多具體實施例并且將在本文中對其進(jìn)行詳細(xì)描述,應(yīng)當(dāng)理解的是,本公開內(nèi)容應(yīng)被視為例示本發(fā)明的原理,而不旨在將本發(fā)明限于所示出和描述的具體實施例。

下面將首先以數(shù)學(xué)術(shù)語描述密鑰共享方法的一個實施例。密鑰共享方法可以在如下面所描述的設(shè)備中實現(xiàn),例如在用于配置網(wǎng)絡(luò)設(shè)備300的系統(tǒng)200上實現(xiàn),在密鑰共享系統(tǒng)100、102中實現(xiàn),等等。設(shè)備也被稱作節(jié)點或網(wǎng)絡(luò)節(jié)點。

根據(jù)一個實施例的多個設(shè)備可以輕易地在設(shè)備對之間建立密鑰,從而允許它們中任何兩個之間的安全通信。相應(yīng)地,我們把設(shè)備稱作網(wǎng)絡(luò)設(shè)備。在一個實施例中,兩個設(shè)備之間的通信使用無線通信。其他形式的通信也是可能的,例如有線通信等。

所述方法具有設(shè)立階段和使用階段。設(shè)立階段可以包括發(fā)起步驟和登記步驟。發(fā)起步驟不涉及網(wǎng)絡(luò)設(shè)備。

發(fā)起步驟選擇系統(tǒng)參數(shù)。發(fā)起步驟可以由受信任的第三方(TTP)執(zhí)行。系統(tǒng)參數(shù)也可以被視為給定的輸入。在這種情況下,受信任的第三方不需要生成它們,并且發(fā)起步驟可以被跳過。例如,受信任的第三方可以從設(shè)備制造商接收系統(tǒng)參數(shù)。設(shè)備制造商可能已經(jīng)執(zhí)行了發(fā)起步驟以獲得系統(tǒng)參數(shù)。為了闡釋方便起見,我們將參考受信任的第三方當(dāng)作執(zhí)行發(fā)起步驟,記住這并不是必需的。

發(fā)起步驟

選擇用于將在一個實例的使用階段中在設(shè)備之間共享的密鑰的期望的密鑰長度;該密鑰長度被稱作“b”。還選擇期望的身份數(shù)字長度。在稍后的登記步驟期間,每一個設(shè)備將與身份數(shù)字長度的身份數(shù)字相關(guān)聯(lián);身份數(shù)字長度被稱作“B”。數(shù)字的長度以位為單位測量。

優(yōu)選的是b≤B,但是這并不是必需的。對于針對晶格攻擊(lattice attack)的更高抵抗力,我們可以選擇b<B。在一個實施例中,Bb的倍數(shù),例如B是至少2b,或者對于推薦的安全級,B是至少4b。用于低安全性應(yīng)用的典型數(shù)值可以是b=8,B=16。對于高安全,更好的是b=8,B=32。更高的安全性可以使用b≤8(例如b=8),并且B≥128(例如B=128)。

對于每一個實例,兩方可以導(dǎo)出共享密鑰。共享密鑰可以被組合以形成更大的組合密鑰。實例的數(shù)目被選擇成使得組合密鑰是足夠長的以用于該組合密鑰將被使用在其中的安全性應(yīng)用。

b關(guān)于B的更小值提高了針對所謂的共謀攻擊的應(yīng)變力。在共謀攻擊中,攻擊者獲得關(guān)于在目標(biāo)網(wǎng)絡(luò)節(jié)點與多個共謀網(wǎng)絡(luò)節(jié)點之間使用的共享密鑰的信息。

實例的數(shù)目、密鑰尺寸和子密鑰長度常常將例如由系統(tǒng)設(shè)計者預(yù)先確定,并且作為輸入被提供給受信任方。

實例參數(shù)

接下來,選擇用于每一個實例的參數(shù)。選擇期望的次數(shù);該次數(shù)控制特定多項式的次數(shù)。次數(shù)將被稱作“α”,其至少是1。針對α的一種實際選擇是2。更安全的應(yīng)用可以使用α的更高值,例如3或4或者甚至更高。對于簡單的應(yīng)用,α=1也是可能的。α=1的情況涉及所謂的“隱藏數(shù)問題”;更高的“α”值涉及證實這些情況難以破解的擴展隱藏數(shù)問題。值α=1(雖然是可能的)不被推薦,并且應(yīng)當(dāng)僅被考慮用于非常低安全性的應(yīng)用。對于低安全性應(yīng)用,α>2的值(例如α=3)是可能的。但是對于高安全性,α≥32是推薦的,例如α=32。

選擇多項式的數(shù)目。多項式的數(shù)目將被稱作“m”。針對m的一種實際的選擇是2。更安全的應(yīng)用可以使用m的更高值,例如3或4或者甚至更高。

注意到,(例如用于資源受限設(shè)備的)低復(fù)雜度應(yīng)用可以使用m=1。值m=1(雖然是可能的)不被推薦,并且應(yīng)當(dāng)僅被考慮用于低安全性應(yīng)用。安全參數(shù)αm的更高值增加了系統(tǒng)的復(fù)雜度,并且相應(yīng)地增加了其難解性(intractability)。更復(fù)雜的系統(tǒng)更難以分析,并且因此對密碼分析更有抵抗力。下面假設(shè)m≥2。

選擇滿足2(α+1)B+b-1 ≤N的公共模量N。優(yōu)選的是,公共模量N被選擇成恰好具有(α+1)B+b位,并且因此還有N < 2(α+1)B+b。舉例來說,N可以在該區(qū)間內(nèi)被隨機選擇。密鑰長度b、次數(shù)α和多項式的數(shù)目m常常將例如由系統(tǒng)設(shè)計者預(yù)先確定,并且作為輸入被提供給受信任方。公共模量還可以是固定的,例如在標(biāo)準(zhǔn)中固定,但是更典型地將在參數(shù)生成期間選擇。

選擇m個私有模量p1,p2,…,pm。模量是正整數(shù)。在一個實施例中,每一個所選擇的數(shù)字滿足以下關(guān)系:。其中βj是隨機B位整數(shù),即βj< 2B。更優(yōu)選的是,私有模量具有的位數(shù)恰好等于標(biāo)識符長度B,即2B-1≤βj< 2B。私有模量被稱作第二私有集合。

對于m>1,系統(tǒng)更加復(fù)雜并且因此更加安全,因為針對不同模量的取模運算被組合,即使這樣的運算在通常的數(shù)學(xué)意義上是不相容的。為此原因,有利的是把所選擇的私有模量pj選擇成是成對區(qū)別的。除了非常低安全的應(yīng)用之外,m>1和α>1是推薦的,但是優(yōu)選地使用更高的值。

在一個實施例中,m>1,α>1,,βj< 2B,并且2(α+1)B+b-1 ≤ N。

生成m個次數(shù)為αj的雙變量多項式f1,f2,…,fm;其被稱作第一私有集合。優(yōu)選的是,所述雙變量多項式是對稱的;這就允許所有網(wǎng)絡(luò)設(shè)備與每一個其他的網(wǎng)絡(luò)設(shè)備商定共享密鑰。這些雙變量多項式也可以被選擇成是不對稱的。在后一種情況下,設(shè)備被分成兩組;第一組通過替換雙變量多項式的第一變量獲得局部密鑰材料,第二組通過替換雙變量多項式的第二變量獲得局部密鑰材料。一個組中的設(shè)備只能與另一組中的設(shè)備商定共享密鑰。

所有次數(shù)滿足αj≤α,并且對于至少一個j,我們有αj=α。一種更好的選擇是取得每一個次數(shù)為α的多項式。雙變量多項式是兩個變量的多項式。對稱多項式f滿足f(x,y) = f(y,x)。在通過整數(shù)模pj形成的有限環(huán)中評估每一個多項式fj,該整數(shù)模pj是通過計算模pj而獲得的。整數(shù)模pj形成具有pj個元素的有限環(huán)。多項式fj的系數(shù)是整數(shù),并且表示通過模pj運算定義的有限環(huán)中的元素。在一個實施例中,利用從0直至pj-1的系數(shù)來表示多項式fj。雙變量多項式可以被隨機選擇,例如通過選擇這些界限內(nèi)的隨機系數(shù)來隨機選擇。

密鑰共享的安全性取決于這些雙變量多項式,因為這些雙變量多項式是系統(tǒng)的根建鑰材料;因此優(yōu)選地采取強有力的措施來保護它們,例如控制過程、防篡改設(shè)備等等。優(yōu)選的是,所選擇的整數(shù)p1,p2,…,pm也被保秘,其中包括對應(yīng)于pj的值βj,盡管這并沒有那么關(guān)鍵。我們還將以下面的形式引用雙變量多項式:對于j=1,2,…,m,我們寫出。

可以通過許多方式改變前面的實施例。可以通過多種方式選擇關(guān)于公共和私有模量的限制,使得單變量多項式的模糊化(obfuscation)是可能的,而仍然使得在網(wǎng)絡(luò)設(shè)備處獲得的共享密鑰足夠頻繁地保持足夠靠近彼此。什么是足夠的將取決于應(yīng)用,所需的安全級以及網(wǎng)絡(luò)設(shè)備處可用的計算資源。前面的實施例組合各個正整數(shù),使得在生成多項式共享時實施的模運算當(dāng)其在所述整數(shù)上相加時按照非線性方式被組合,從而創(chuàng)建用于存儲在網(wǎng)絡(luò)設(shè)備上的局部密鑰材料的非線性結(jié)構(gòu)。前面針對Npj的選擇具有以下屬性:(i)N的大小對于所有網(wǎng)絡(luò)設(shè)備是固定的;(ii)非線性效應(yīng)出現(xiàn)在形成存儲在設(shè)備上的密鑰材料的系數(shù)中。由于該特定形式,可以通過在以對N取模約簡之后以對2b取模進(jìn)行約簡來生成共享小密鑰。

登記步驟

在登記步驟中,為每一個網(wǎng)絡(luò)設(shè)備分配建鑰材料(KM),該建鑰材料包括私有單變量密鑰多項式。該建鑰材料包括用于每一個實例的建鑰材料。下面我們描述如何針對網(wǎng)絡(luò)設(shè)備導(dǎo)出用于一個實例的建鑰材料。每一個實例具有對該實例而言唯一的建鑰材料,即使建鑰材料的部分可以在不同的實例之間共享。

網(wǎng)絡(luò)設(shè)備與身份數(shù)字A相關(guān)聯(lián)。身份數(shù)字可以例如由TTP按需分配,或者可以已經(jīng)被存儲在設(shè)備中,例如在制造時存儲在設(shè)備中,等等。A的位大小是B位。可以通過多種方式生成A。對于高安全性,A的低位是隨機的。舉例來說,A可以被選擇成隨機數(shù);A可以是另外的身份數(shù)字的散列值,例如序列號,其可能被截取到B位。

TTP生成用于設(shè)備A的建鑰材料的集合如下:

從而獲得單變量多項式的集合,并且對于第一私有集合的每一個特定多項式,將身份數(shù)字替換(A)到所述特定多項式fi(A,x)中,并且以對與所述特定多項式相關(guān)聯(lián)的約簡整數(shù)取模進(jìn)行約簡。所得到的單變量多項式的集合被相加??梢园阉鱿嗉优c所述生成相組合。x是形式變量。注意到,建鑰材料是非線性的。標(biāo)記標(biāo)示將括號之間的多項式的每一個系數(shù)以對pj取模進(jìn)行約簡。

有可能對此加上另外的模糊數(shù)字,如下:。其中是具有身份數(shù)字A的設(shè)備的建鑰材料。換句話說,我們有。標(biāo)記“”標(biāo)示隨機整數(shù),其是模糊數(shù)字的一個實例,使得。注意到,任何其中一個隨機整數(shù)可以是正的或負(fù)的。對于每一個設(shè)備再次生成隨機數(shù)。因此,項表示次數(shù)為aX中的多項式,其系數(shù)長度隨著次數(shù)的增加而更短??商鎿Q地,一種更一般、但更復(fù)雜的條件是是小的,例如< 2α+1。不同的有限環(huán)上的混合效應(yīng)為安全性提供了最大的貢獻(xiàn),模糊數(shù)字的使用因此是可選的。

所有其他的加法可以使用自然整數(shù)算術(shù)(即在環(huán)中),或者(優(yōu)選地)它們使用模N加法。因此,對單變量多項式的評估各自單獨以對更小的模量pj取模來進(jìn)行,但是這些簡化的單變量多項式自身的求和優(yōu)選地以對N取模來進(jìn)行。此外,加上模糊多項式可以使用自然整數(shù)算術(shù),或者優(yōu)選地使用對N取模來進(jìn)行。建鑰材料包括系數(shù),其中。建鑰材料可以被如上呈現(xiàn)為多項式。在實踐中,建鑰材料可以被存儲為整數(shù)的列表,例如數(shù)組。設(shè)備A還接收數(shù)字Nb。對多項式的操縱可以被實現(xiàn)為例如對于包含系數(shù)的數(shù)組的操縱,例如按照預(yù)定順序列出所有系數(shù)。注意到,在其他數(shù)據(jù)結(jié)構(gòu)中,多項式例如可以被實現(xiàn)為包括(次數(shù)、系數(shù))對的總集的關(guān)聯(lián)數(shù)組(其也被稱作“映射”),優(yōu)選地使得每一個系數(shù)在總集中最多出現(xiàn)一次。被提供給設(shè)備的系數(shù)優(yōu)選地處在0,1,…,N-1的范圍中。

一旦兩個設(shè)備具有身份數(shù)字A和B并且從TTP接收到其各自的建鑰材料,它們就可以使用其建鑰材料獲得一個小的共享密鑰。對于每一個實例,設(shè)備A可以執(zhí)行以下步驟以獲得他的共享密鑰。首先,設(shè)備A獲得設(shè)備B的身份數(shù)字B,隨后A通過計算下式生成共享密鑰:。

我們還將把該密鑰稱作。在這里,A是設(shè)備A的B位標(biāo)識符,即。[注意到,設(shè)備B的標(biāo)識符B與也被稱作B的標(biāo)識符長度無關(guān)。舉例來說,前者可以是一個128位數(shù)字,而前者則可以是數(shù)字128。]。

設(shè)備A生成的例如用于對其與設(shè)備B的通信進(jìn)行加密的b位密鑰K(A,B)并不總是等于K(B,A),設(shè)備B生成的例如用于對其與設(shè)備A的通信進(jìn)行加密的密鑰。但是這些密鑰之間的差異在下面的意義上是有限的:成立,其中N是公共全局約簡整數(shù),標(biāo)示對2b取模運算,并且δ是絕對值有界的整數(shù):。K(A,B)是中間密鑰的一個實例,并且其通過加上或減去校正項的倍數(shù)(即N的倍數(shù))定義可能的共享密鑰的集合。該倍數(shù)小于或等于上界(例如Δ),并且大于或等于下界(例如-Δ)。

上界和下界的值可以被計算,并且取決于所選擇的參數(shù)。通過把建鑰材料的一半位設(shè)定為零,可以獲得關(guān)于差異的相對清晰的界限。在這種情況下,我們有Δ2m+2α+1。在這里,m標(biāo)示混合多項式的數(shù)目,并且α是其次數(shù)。但是對于其他實施例,還可以通過在K(A,B)和K(B,A)的導(dǎo)出之后跟蹤可能不同的位的數(shù)目而獲得類似的界限。在不假設(shè)把系數(shù)設(shè)定為零的情況下,我們有界限Δ2m。

更大的值Δ是不合期望的。更大的值降低了兩個設(shè)備將偶然(即沒有進(jìn)一步的調(diào)和的情況下)達(dá)成相同的共享密鑰的機會。此外,如果開始密鑰調(diào)和,則工作會隨著Δ增加。此外,從密碼術(shù)的觀點來看,Δ的更大值是不合期望的。對于調(diào)和,設(shè)備B可能必須向設(shè)備A發(fā)送關(guān)于K(B,A)的至少log2(2Δ+1)位的信息,以使得設(shè)備A能夠在2Δ+1個候選當(dāng)中找到K(B,A)。這把有效密鑰長度從b位減少到b-log2(2Δ+1)位。對于使用b的小值的應(yīng)用,這是特別不合期望的。第一集合具有2Δ+1的大小。調(diào)和可以取而代之地發(fā)送在一個或更多密鑰之上的散列值作為調(diào)和數(shù)據(jù)。

TTP被布置成還計算私有校正函數(shù)(ΛA( )),其可以被用來減小第一集合的大小,而不發(fā)送附加的調(diào)和數(shù)據(jù)。修改密鑰商定以使得所生成的密鑰總是匹配被認(rèn)為對抗共謀攻擊的應(yīng)變力是有害的。然而,校正函數(shù)允許顯著減小關(guān)于密鑰差異的界限,同時僅僅引入針對此類攻擊的微小的附加弱點(如果有的話)。

優(yōu)選的是,兩個設(shè)備A和B都具有校正函數(shù)。兩個設(shè)備都導(dǎo)出校正因數(shù),并且將其應(yīng)用于中間密鑰。只有兩個設(shè)備當(dāng)中的一個可能需要進(jìn)行調(diào)和(例如設(shè)備A),而另一個設(shè)備(例如設(shè)備B)可以簡單地使用所生成的密鑰(例如K(B,A)),設(shè)備B將其校正因數(shù)應(yīng)用到所生成的密鑰。設(shè)備在不具有校正函數(shù)的情況下仍然可以參與密鑰商定系統(tǒng)。在這種情況下,需要更大的調(diào)和。這意味著系統(tǒng)與不具有校正函數(shù)的設(shè)備向后兼容;兩個設(shè)備都使用校正函數(shù),或者兩個設(shè)備都不使用校正函數(shù)。對于設(shè)備A和B而言,校正因數(shù)通常是不同的。

私有校正函數(shù)是應(yīng)用每一個設(shè)備,其域是可能標(biāo)識符的集合{0,1,…,2B-1},并且其范圍例如是集合{0,1,2,…,2m+2α+1}。該函數(shù)由TTP計算,并且在一個優(yōu)選實施例中是單調(diào)函數(shù),即非減或非增。

設(shè)備A可以像前面一樣計算K(A,B),但是這將不是其密鑰。K(A,B)是中間密鑰的一個實例。相反,設(shè)備A還計算(或者查找,正如下文所描述的那樣)ΛA(B),并且把密鑰計算為。ΛA( )是私有校正函數(shù)的一個實例。ΛA(B)是校正因數(shù)的一個實例。同樣地,設(shè)備B計算。設(shè)備B也執(zhí)行校正,但是使用其自身的校正函數(shù),導(dǎo)出其自身的校正因數(shù)(其通常將不同于設(shè)備A的因數(shù)),并且將該校正因數(shù)應(yīng)用于自身的中間密鑰。

在一個實施例中,經(jīng)修改的中間密鑰幾乎是相等的:,其中。因此,第二集合比第一集合小得多。在該實施例中,對于經(jīng)修改的中間密鑰,我們有界限Δ=1。

TTP針對參與系統(tǒng)的每一個設(shè)備計算函數(shù)ΛA。只有TTP可以計算該函數(shù),因為它取決于根密鑰材料,即秘密模量p1,p2,…,pmm個多項式fi(x,y)。存在生成校正函數(shù)的若干方式。下面給出若干不同的選項:

我們假設(shè)m個多項式fi(x,y)是對稱的;注意到,這并不是必需的。下面我們把m個對稱多項式fi(x,y)表示為多項式系數(shù)的對稱矩陣。是雙變量多項式fi(x,y)中的xjyk的系數(shù)。回想到x和y是形式變量。

用于設(shè)備A的密鑰生成多項式現(xiàn)在可以被定義為。TTP向設(shè)備A給出該多項式的系數(shù),使得設(shè)備A可以計算。為了簡化描述,我們針對每一個設(shè)備A進(jìn)一步引入m個輔助多項式。依據(jù)這些多項式,定義函數(shù)。注意到,函數(shù)Λ'A是具有有理系數(shù)的次數(shù)為α的多項式。變量X是形式化的,但是在運算期間可以由設(shè)備標(biāo)識符替代。

可以通過至少對于有效的標(biāo)識符值(例如在范圍{0,1,…,2B-1}上)為函數(shù)Λ'A(X)提供整數(shù)近似來獲得校正函數(shù)。這樣的近似是整值的單調(diào)階梯函數(shù)。在一個實施例中,校正函數(shù)是非多項式。在該上下文中,非多項式意味著與校正函數(shù)具有相同值的拉格朗日(Lagrange)內(nèi)插多項式L(X)(即對于范圍{0,1,…,2B-1}中的所有x,ΛA(x) = L(x))具有大于α的次數(shù),并且實際上典型地大得多,例如L(x)的次數(shù)是10α或更高。

舉例來說,校正函數(shù)ΛA(X)可以由給出,其中指示向下取整到最近的整數(shù),因此。

所述求和是在有理數(shù)上進(jìn)行的。有理數(shù)可以通過數(shù)字方式被表示為指示分子和分母的整數(shù)對。該校正函數(shù)與其他校正函數(shù)一樣是整值的函數(shù)。注意到,該函數(shù)是非多項式。通常不會發(fā)生具有向下取整的非整數(shù)系數(shù)的有理多項式自身是多項式的情況;此外,Λ'A(X)取非整值。

注意到,取整的函數(shù)是具有非負(fù)系數(shù)的X中的多項式,使得Λ'A(X)在其域{0,1,…,2B-1}上是非減函數(shù)。該函數(shù)可以由其負(fù)數(shù)替代,在這種情況下它是非增的。后一種情況具有結(jié)果:校正項被加上而不是減去。在兩種情況下,私有校正函數(shù)ΛA(X)都是單調(diào)的。

ΛA(X)可以通過存儲其系數(shù)而被存儲??商鎿Q地,單調(diào)性意味著私有校正函數(shù)ΛA(X)可以通過(多達(dá))2m+2α+1個整數(shù)斷點IA,1,IA,2,…來唯一表征,其中IA,k=min{x|ΛA(x)=k}。這意味著如果IA,k≤B<IA,k+1則ΛA(B)=k,其中1≤k≤2m+2α;如果0≤B<IA,1則ΛA(B)=0,并且如果IA,2m+2α+1B則ΛA(B)=2m+2α+1??梢愿鶕?jù)關(guān)于中間密鑰之間的差異的界限Δ而增加或減少斷點的數(shù)目。

存儲斷點而不是校正函數(shù)的系數(shù)節(jié)省了存儲空間,因為校正函數(shù)的系數(shù)是有理數(shù),并且具有大的分子和分母。

TTP可以借助于搜索算法(例如二分法)找到值IA,k,并且把這些值給予設(shè)備A。設(shè)備A現(xiàn)在可以通過把B與值IA,k進(jìn)行比較來評估ΛA(B),正如前面所描述的那樣。

用以近似Λ'A的幾種變型是可能的。舉例來說,可以使用取整到ΛA(X)的定義中的最近整數(shù)(在這種情況下,范圍變成{0,1,…,2m+2α+2})。這與取整的形式相比可以被進(jìn)一步一般化。指定大小為1的任何范圍內(nèi)的ΛA(X)將產(chǎn)生相同的結(jié)果。后者可以通過取整到最近整數(shù)而不是向下取整而獲得,或者取整到最小的更大整數(shù)。指定整數(shù)大小k的任何范圍內(nèi)的ΛA(X)將使得Δ=k。舉例來說,ΛA(X)可以通過取整到最近的偶整數(shù)(k=2)或者預(yù)定整數(shù)的最近倍數(shù)而獲得。這些措施減小了存儲斷點所需的存儲大小。

TTP還可以向設(shè)備給出不完整的信息,使得設(shè)備A無法確切地計算ΛA(X),而是只能近似它。這就導(dǎo)致經(jīng)修改的密鑰中的略微更大的最大不對稱Δ,但是這仍然可以是可接受的。

存在不同的方式來近似Λ'A。舉例來說,可以通過一個或更多最高次項來近似有理多項式。該高次近似可以由設(shè)備評估,并且隨后被取整,例如向下取整。

舉例來說,私有校正函數(shù)(ΛA( ))可以是具有有理系數(shù)的取整多項式。在一個實施例中,私有校正函數(shù)是具有單個項的取整多項式,該單個項具有有理系數(shù),例如,其中R是非整數(shù)有理數(shù)。舉例來說,在一個實施例中,。為了存儲該函數(shù),只需要存儲數(shù)字,并且可能地存儲數(shù)字r。在該公式中,aα是Λ'A(y)中的yα的系數(shù)。數(shù)字r指示我們近似該系數(shù)所用的位數(shù)。如果標(biāo)識符位長度等于中間密鑰長度(B=b),則針對r的一種良好選擇是2b-2。

所有所描述的校正函數(shù)大大降低了密鑰不均等性。實際上可以導(dǎo)出以下定理:設(shè)是任何實數(shù)值函數(shù),使得對于所有,。設(shè)。

則存在,使得。在這里,和標(biāo)示相同的函數(shù)。

校正函數(shù)還可以在具有多個實例時應(yīng)用,在這種情況下,設(shè)備存儲多于一個密鑰生成多項式并且按照對類似于N的不同參數(shù)取模來評估這些多項式當(dāng)中的每一個。在這種情況下,每一個密鑰生成多項式伴隨有其自身的校正函數(shù)。

使用階段

一旦兩個設(shè)備具有身份數(shù)字A和B并且從TPP接收到它們各自的建鑰材料(包括私有單變量密鑰多項式和私有校正函數(shù)),它們可以使用其建鑰材料來獲得共享密鑰。

設(shè)備A可以針對每一個實例執(zhí)行以下步驟以獲得其共享密鑰。

首先設(shè)備計算中間密鑰:設(shè)備A獲得設(shè)備B的身份數(shù)字B,隨后A通過計算下式生成中間密鑰:。

也就是說,A針對值B評估其被看作整數(shù)多項式的建鑰材料;對建鑰材料的評估結(jié)果是一個整數(shù)。接下來,設(shè)備A可以首先以對公共模量N取模并且隨后對密鑰模量2b取模來約簡所述評估結(jié)果。該結(jié)果將被稱作A的中間密鑰,它是0直至2b-1的范圍內(nèi)的整數(shù)。對于其部分,設(shè)備B可以通過針對身份A評估其建鑰材料并且以對N取模以及隨后對2b取模約簡該結(jié)果來生成對應(yīng)于A的B的中間密鑰。注意到,KABK(A,B)的另一種標(biāo)記。

如果根密鑰材料中的雙變量多項式是對稱的,則A的中間密鑰以及對應(yīng)于A的B的中間密鑰常常是相等的,盡管不一定總是相等。關(guān)于整數(shù)p1,p2,…,pm以及關(guān)于(可選的)隨機數(shù)的特定要求是使得密鑰常常是相等的,并且以對2的密鑰長度次冪取模而幾乎總是彼此接近。

即使A和B沒有獲得相同的共享密鑰,確定的是這些密鑰在KAB=KBA+δN mod 2b的意義上是彼此接近的;這里,δ是小的數(shù)字,其絕對值至多是2m+2α+1;該值可以通過對系數(shù)施加限制而被進(jìn)一步,正如前面所指示的那樣。因此,中間密鑰給出關(guān)于由另一方導(dǎo)出的中間密鑰的信息,但是盡管如此仍然允許可能共享密鑰的相對第一集合??赡苊荑€的第一密鑰集合可以由中間密鑰KAB以及加上或減去校正項(N)的倍數(shù)并且以對2b取模進(jìn)行約簡來定義,倍數(shù)(δ)小于上界并且大于下界,例如±(2m+2α+1)。

在一個實例中,第一密鑰集合的大小少于1000個密鑰,更優(yōu)選的是少于100個,更優(yōu)選的是少于10個。第一密鑰集合的大小例如隨著多項式的數(shù)目m而增加;后者可以被用來控制第一密鑰集合的大小。

設(shè)備A和B還通過把另一方的身份數(shù)字替換到其私有校正函數(shù)中而導(dǎo)出校正因數(shù)。利用校正因數(shù)修改中間密鑰以獲得經(jīng)校正的密鑰。在一個實施例中,經(jīng)修改的中間密鑰被計算為。換言之,修改中間密鑰包括使校正因數(shù)ΛA(B)乘以公共全局約簡整數(shù)N,并且對中間密鑰加上或減去該乘法運算的結(jié)果。

可以表明,這一過程降低了可能的密鑰不對稱性:,其中。換言之,經(jīng)修改的中間密鑰給出關(guān)于由另一方導(dǎo)出的經(jīng)修改的中間密鑰的信息,這仍然允許可能的經(jīng)校正的中間密鑰的第二集合;然而第二集合比第一集合小得多。

第二密鑰集合可以由經(jīng)修改的中間密鑰以及加上或減去校正項(N)的倍數(shù)并且以對2b取模進(jìn)行約簡來定義,該倍數(shù)(δ)小于上界并且大于下界,例如±1。

校正函數(shù)可以按照對應(yīng)于其表示的方式來評估。舉例來說,如果校正函數(shù)被存儲為整數(shù)斷點的序列IA,1,IA,2,…,使得如果xIA,1則ΛA(x)=0,并且使得如果IA,i<xIA,i+1則ΛA(x)=i。于是如果IA,k≤B<IA,k+1則ΛA(B)=k。在這里,k由第一集合的大小定界,例如1≤k<2m+2α,;如果0≤B<IA,1則ΛA(B)=0,并且如果IA,2m+2α+1B則ΛA(B)=2m+2α+1。優(yōu)選的是,所述斷點按照歸類的順序被存儲。如果校正函數(shù)已被進(jìn)一步取整從而減少了斷點的數(shù)目,則校正因數(shù)相應(yīng)地增大。

如果私有校正函數(shù)(ΛA( ))是具有有理系數(shù)的取整多項式,則可以針對另一方的身份數(shù)字評估所述取整多項式并且進(jìn)行取整,例如向下/向上取整或取整到最近的整數(shù)。

此時,A方和B方的經(jīng)修改的中間密鑰非??赡苁窍嗟鹊?。如果A和B獲得了相同的密鑰,則它們可以將其用作在A與B之間共享的對稱密鑰;舉例來說,它可以被用于多種密碼應(yīng)用,例如它們可以交換使用共享密鑰加密和/或認(rèn)證的一條或多條消息。優(yōu)選的是,將密鑰導(dǎo)出算法應(yīng)用于共享密鑰以用于對主密鑰的進(jìn)一步保護,例如可以應(yīng)用散列函數(shù)。

A方和B方可以通過發(fā)送密鑰調(diào)和數(shù)據(jù)驗證它們在修改之后確實獲得了相同的密鑰。例如,通過發(fā)送經(jīng)修改的密鑰的散列值,或者發(fā)送預(yù)定串的加密等等。如果密鑰調(diào)和數(shù)據(jù)顯示沒有獲得相同的共享密鑰,則可以對經(jīng)校正的密鑰進(jìn)行修改以符合所接收到的密鑰調(diào)和數(shù)據(jù),使得第一設(shè)備和第二設(shè)備獲得對于完全相同的共享密鑰的訪問權(quán)。所述修改可以涉及嘗試δ的不同值,例如值1和-1。

所選擇的m個私有模量p1,p2,…,pm優(yōu)選地是成對地互素的。如果這些數(shù)字是成對地互素的,則模運算之間的相容性的缺乏得到增加。獲得成對地互素的數(shù)字可以通過下述來獲得:按順序選擇整數(shù),針對每一個新的整數(shù)測試是否所有各對不同的數(shù)字仍然互素,如果不是的話,則從集合中移除剛剛選擇的數(shù)字。這一過程繼續(xù),直到所有m個數(shù)字都被選擇為止。通過要求所選擇的m個私有模量p1,p2,…,pm是不同的素數(shù),復(fù)雜度甚至進(jìn)一步提高。

組合多個實例

所描述的系統(tǒng)允許網(wǎng)絡(luò)節(jié)點商定共享密鑰,所述共享密鑰可以是小的,也小于其標(biāo)識符。更高安全性與實際實現(xiàn)方式的組合使得希望選擇相對較小的b的值,例如b≤8或者可能甚至b≤16。但是這樣的b的選擇對于安全的加密通信而言太小。這可以通過選擇大得多的B的值來解決,例如通過把身份數(shù)字長度B選擇成512位或更多并且把密鑰長度b選擇成128位或更多。在這種情況下,單個實例將允許兩個網(wǎng)絡(luò)節(jié)點共享b位的密鑰,這對于安全通信是足夠長的。然而,具有B=512使得局部密鑰材料相應(yīng)地更大。因此甚至有可能僅使僅適度強大的網(wǎng)絡(luò)設(shè)備(例如移動電話)來配置網(wǎng)絡(luò)設(shè)備以用于安全地共享對于安全通信來說足夠長的密鑰,而只需要單個實例。盡管如此,非常希望的將是減少存儲需求,同時仍然導(dǎo)出足夠長的共享密鑰。

在不創(chuàng)建不切實際地長的密鑰材料的情況下增加密鑰長度的一種方式是組合多個小密鑰。所述系統(tǒng)允許各方商定多個子密鑰,所述多個子密鑰一起形成共享密鑰。我們將提到生成子密鑰作為密鑰協(xié)定實例的系統(tǒng)。每一個實例可以具有其自身的獨立參數(shù),但是按照與其他實例相同的原理操作。盡管如此,多個實例可以共享它們的參數(shù)中的一些參數(shù)。我們將提到從如前所述的系統(tǒng)(即從單個實例)獲得的共享密鑰作為“小”密鑰,以及兩個或更多小密鑰的組合作為“大密鑰”。組合的實例的數(shù)目被稱作“t”。

獲得多個小密鑰的第一方式是選擇多個完全獨立的實例。但是,由于針對每一個小密鑰的安全性要求是相等的,因此所述多個實例對于b、B、αm而言典型地將具有相同的值。TTP生成用于每一個實例的公共模量N、私有模量pi、私有多項式fi,以及針對每一個實例和每一個網(wǎng)絡(luò)節(jié)點生成標(biāo)識符A和局部密鑰材料KMA

組合多個實例的第二方式是對于每一個實例使用相同的標(biāo)識符A。第三方式是對于每一個實例使用相同的公共模量N。最后,可以使用相同的標(biāo)識符A和相同的公共模量N。局部密鑰材料對于所有實例將不是相同的。

每一個實例還具有其自身的校正函數(shù)。令人感興趣的是,可以由多于一個小密鑰計算調(diào)和數(shù)據(jù)。這減少了可能在調(diào)和數(shù)據(jù)中泄露的信息。一個結(jié)果是需要同時調(diào)和多個小密鑰。但是,由于第二集合的大小已被減小,因此這是較少的工作。

舉例來說,共享大密鑰的大小取決于安全性要求,它可以是64或80。用于消費級安全性的典型值可以是128。高度秘密的應(yīng)用可以更喜歡256或甚至更高的值。在一個實施例中,組合密鑰的長度等于標(biāo)識符B的長度。

還選擇實例的數(shù)目“t”和子密鑰的大小。不同實例中的子密鑰的大小可以是不同的。我們把實例“i”中的子密鑰的大小稱作“bi”。這些被選擇成使得。為了簡單起見,我們將去掉索引,并且在后面把子密鑰的大小標(biāo)示成“b”。典型地,子密鑰的大小在所有實例中都將是相等的,并且被選擇成使得bt=B。

每一個設(shè)備使用密鑰材料的不同實例來生成子密鑰。隨后例如通過串聯(lián)各個子密鑰從子密鑰生成共享密鑰。

除其他之外,針對B=32的以下參數(shù)集合已經(jīng)通過實驗被驗證比其他參數(shù)集合更安全:α=10、b=8、B=32,該系統(tǒng)需要4個實例來制作一個32位密鑰。參數(shù)集合α=10、b=8、B=32也是安全的,但是對于α的該較低選擇,可取的是使用32位ID的全跨度。特別地,在長度為256的任何區(qū)間中,應(yīng)當(dāng)使用少于10個ID。一般來說,通過下述實現(xiàn)更高安全性:設(shè)定預(yù)先確定的第一和第二身份閾值并且選擇身份數(shù)字,使得沒有第一身份閾值大小(例如256)的區(qū)間包含多于身份值的第二身份閾值(例如10)。這例如可以由網(wǎng)絡(luò)設(shè)備管理器施行,比如通過根據(jù)該規(guī)則生成身份值,或者通過拒絕為具有超出閾值的身份值的設(shè)備生成局部密鑰材料。

圖1是用于配置網(wǎng)絡(luò)設(shè)備以進(jìn)行密鑰共享的系統(tǒng)200和第一設(shè)備300的示意性框圖。我們把設(shè)備300稱作網(wǎng)絡(luò)設(shè)備。

用于配置的系統(tǒng)200典型地被實現(xiàn)為集成設(shè)備。舉例來說,用于配置的系統(tǒng)200可以被包括在服務(wù)器中。用于配置的系統(tǒng)200可以在網(wǎng)絡(luò)上配置網(wǎng)絡(luò)設(shè)備,例如無線網(wǎng)絡(luò)或互聯(lián)網(wǎng)等等。但是,用于配置的系統(tǒng)200還可以被集成在用于制造網(wǎng)絡(luò)設(shè)備的制造設(shè)備中。

用于配置的系統(tǒng)200包括密鑰材料獲得器210、網(wǎng)絡(luò)設(shè)備管理器230以及計算單元220。用于配置的系統(tǒng)200意在與多個網(wǎng)絡(luò)設(shè)備一起工作。圖1示出了一個這樣的設(shè)備,第一網(wǎng)絡(luò)設(shè)備300。

用于配置的系統(tǒng)200選擇秘密密鑰材料,其也被稱作根密鑰材料。用于配置的系統(tǒng)200隨后導(dǎo)出用于多個網(wǎng)絡(luò)設(shè)備當(dāng)中的每一個的局部密鑰材料。局部密鑰材料是從根密鑰材料以及網(wǎng)絡(luò)設(shè)備的至少一個公共身份數(shù)字A導(dǎo)出的。在圖1中,網(wǎng)絡(luò)設(shè)備300存儲身份數(shù)字310。網(wǎng)絡(luò)設(shè)備還可以具有多個身份數(shù)字,例如每個實例一個身份數(shù)字。網(wǎng)絡(luò)設(shè)備還可以存儲另外的身份數(shù)字,并且在需要時從中導(dǎo)出身份數(shù)字310,例如通過對所述另外的身份數(shù)字進(jìn)行散列運算。

局部密鑰材料包括對特定網(wǎng)絡(luò)設(shè)備而言私有的部分,即只對一個特定的網(wǎng)絡(luò)設(shè)備以及可能受信任的設(shè)備是可訪問的。局部密鑰材料還可以包含盡管是獲得共享密鑰所需要的但是對于保持秘密不那么關(guān)鍵的部分。

使用形容詞“公共的”和“私有的”是為了有助于理解:即使能夠訪問所有公共數(shù)據(jù),也無法計算出私有數(shù)據(jù),至少在給定應(yīng)用的安全性或者與用于密鑰生成、加密和解密所需的資源相比不是沒有不合理的高資源的情況下是無法計算出私有數(shù)據(jù)的。但是,“公共的”并不意味著必然使得相應(yīng)的數(shù)據(jù)可用于除了用于配置的系統(tǒng)200和網(wǎng)絡(luò)設(shè)備之外的任何人。特別地,使公共全局約簡整數(shù)和其他公共參數(shù)針對不受信任的各方保持秘密提高了安全性。同樣地,對私有數(shù)據(jù)的訪問可以被限制到生成或需要該數(shù)據(jù)的一方,這樣提高了安全性。但是,受信任方可以被允許訪問私有數(shù)據(jù);對于私有數(shù)據(jù)的訪問降低了安全性。

使用它們的局部密鑰材料和另一方的身份數(shù)字,網(wǎng)絡(luò)設(shè)備可以在它們之間商定共享密鑰。

密鑰材料獲得器210被配置成以電子形式至少獲得參數(shù)集合250。參數(shù)集合250包括公共全局約簡整數(shù)256 N、雙變量多項式的第一私有集合252 fi( , )以及約簡整數(shù)的第二私有集合254 pi,其中第一集合中的每一個雙變量多項式與第二集合的約簡整數(shù)和公共全局約簡整數(shù)256 N相關(guān)聯(lián)。針對具有位大小為B的標(biāo)識數(shù)字的網(wǎng)絡(luò)節(jié)點生成參數(shù)集合。該參數(shù)集合將被用于生成局部密鑰材料,所述局部密鑰材料進(jìn)而將被用來導(dǎo)出共享密鑰。在一個實施例中,小密鑰的位尺寸b滿足b<B;雖然這并不是必需的,但是它使得相應(yīng)的晶格問題更難。在一個實施例中,b≤B,特別地b可以等于B。

在優(yōu)選實施例中,密鑰材料獲得器210被配置成以電子形式獲得參數(shù)集合250。如果使用多個實例,則密鑰材料獲得器210可以包括多個參數(shù)集合。圖1示出了參數(shù)集合250。

參數(shù)集合的公共全局約簡整數(shù)256 N不同于該集合的每一個約簡整數(shù)254。優(yōu)選的是,參數(shù)集合的公共全局約簡整數(shù)256 N大于該參數(shù)集合的每一個約簡整數(shù)254。

密鑰材料獲得器210不需要與網(wǎng)絡(luò)設(shè)備進(jìn)行交互以獲得密鑰材料;特別地,密鑰材料獲得器210不需要身份數(shù)字。用于配置的系統(tǒng)200可以是分布式系統(tǒng),其中密鑰材料獲得器210位于與計算單元220不同的物理位置處。密鑰材料獲得器210生成密鑰材料的全部或一部分,并且/或者從外部源獲得密鑰材料的全部或一部分。舉例來說,密鑰材料獲得器210適合于從外部源接收公共全局約簡整數(shù)256并且生成第一私有集合252和第二集合254。后者允許利用固定的公共全局約簡整數(shù)256制造所有網(wǎng)絡(luò)設(shè)備,從而降低成本。

密鑰材料獲得器210可以包括電子隨機數(shù)生成器。所述隨機數(shù)生成器可以是真或偽隨機數(shù)生成器。密鑰材料獲得器210可以例如使用電子隨機數(shù)生成器生成公共全局約簡整數(shù)N。雖然公共全局約簡整數(shù)是公共信息,但是引入隨機性使得分析所述系統(tǒng)更困難。

對于第一集合中的每一個雙變量多項式,來自第二集合的約簡整數(shù)被關(guān)聯(lián)??梢詮恼麛?shù)環(huán)隨機地選擇隨機系數(shù),例如整數(shù)對某一數(shù)字(比如相關(guān)聯(lián)的約簡整數(shù))取模。

密鑰材料獲得器210可以使用電子隨機數(shù)生成器生成第二私有集合中的約簡整數(shù)pi的一個或更多系數(shù)。所述約簡整數(shù)不必是素數(shù)。但是,它們可以被選擇成素數(shù)以提高抵抗力。素數(shù)產(chǎn)生作為一種類型的環(huán)的域。相同的參數(shù)集合(即相同的第一和第二私有集合)以及公共全局約簡數(shù)字被用于稍后需要共享密鑰的所有網(wǎng)絡(luò)設(shè)備。

密鑰材料獲得器210可以例如使用電子隨機數(shù)生成器生成第一私有集合252中的雙變量多項式(fi( , ))的一個或更多系數(shù)。密鑰材料獲得器210可以按照這種方式生成所有雙變量多項式。密鑰材料獲得器210可以使用這些多項式的最大次數(shù),例如2次、3次或更高次,并且生成比該次數(shù)多一的隨機系數(shù)。

方便的是規(guī)定第一私有集合252的某些方面,比如私有集合252中的多項式的數(shù)目以及多項式的次數(shù)或最大次數(shù)。還可以規(guī)定多項式中的一些系數(shù)為零,以便例如減少存儲需求。

第一集合可以包含兩個相等的多項式。這將工作,但是除非相關(guān)聯(lián)的約簡整數(shù)是不同的,否則所述集合的大小可以被減小。因此,典型地,每當(dāng)?shù)谝患现械膬蓚€或更多雙變量多項式相同時,相關(guān)聯(lián)的約簡整數(shù)(即底層環(huán))是不同的。

在一個實施例中,雙變量多項式(fi( , ))的所有第一私有集合僅包括對稱的雙變量多項式。僅使用對稱多項式具有的優(yōu)點在于,每一個網(wǎng)絡(luò)設(shè)備可以與所配置的網(wǎng)絡(luò)設(shè)備當(dāng)中的任何其他網(wǎng)絡(luò)設(shè)備商定共享密鑰。但是,雙變量多項式的第一私有集合可以包含一個或更多不對稱多項式;這具有效果:設(shè)備可以被分成兩組;來自一個組的設(shè)備只能與第二組的設(shè)備商定共享密鑰。

密鑰材料獲得器210被配置成以電子形式獲得雙變量多項式的第一私有集合252,其在公式中也被稱作fi( , )。下面描述的實施例假設(shè)集合252中的所有雙變量多項式都是對稱的。第二參數(shù)集合的生成可以按照相同的方式進(jìn)行。

還可以把對稱雙變量多項式標(biāo)記成fi(x,y),其中的兩個形式變量作為占位符。對稱雙變量多項式滿足fi(x,y)=fi(y,x)。這一要求變換成對系數(shù)的要求,例如單項式xayb的系數(shù)等于單項式xbya的系數(shù)。

第一私有集合252中的多項式的數(shù)目可以取決于應(yīng)用而被不同地選擇。所述系統(tǒng)將在第一和第二集合僅包含單個多項式時工作;在這樣的系統(tǒng)中,密鑰可以被成功地共享并且提供中等水平的安全性。但是,只有當(dāng)?shù)谝患显谄渲芯哂兄辽?個多項式并且第二集合具有至少兩個不同的約簡整數(shù)時,才實現(xiàn)在不同的環(huán)上混合的安全性優(yōu)點。

私有集合252包括至少一個雙變量多項式。在發(fā)起密鑰商定設(shè)備100的一個實施例中,私有集合252由一個多項式構(gòu)成。在私有集合252中僅具有一個多項式降低了復(fù)雜度、存儲需求,并且提高了速度。但是,在私有集合252中僅具有一個多項式被認(rèn)為與在私有集合252中具有兩個或更多多項式相比不那么安全,因為這樣的一個多項式的系統(tǒng)不會受益于下面所描述的求和中的附加的混合。但是,密鑰共享將會正確地工作,并且被認(rèn)為對于低價值和/或低安全性應(yīng)用是足夠安全的。

在剩下的部分中,我們將假設(shè)私有集合252包括至少兩個對稱雙變量多項式。在一個實施例中,至少其中兩個或者甚至所有的多項式是不同的;這使得對系統(tǒng)的分析顯著復(fù)雜化。但是這并非必要,私有集合252可以包括兩個相等的多項式,并且當(dāng)在不同的環(huán)上評估這兩個多項式的情況下仍然可以受益于求和步驟中的混合,。注意到,不同的約簡整數(shù)定義不同的環(huán)。在一個實施例中,私有集合252包括與不同的相關(guān)聯(lián)的約簡整數(shù)相關(guān)聯(lián)的至少兩個相等的多項式。在第一集合中具有兩個或更多相等的多項式減少了存儲需求。在一個實施例中,第二集合包括至少兩個多項式,并且第二集合中的所有多項式是不同的。

私有集合252中的多項式可以具有不同的次數(shù)。對于對稱雙變量多項式的次數(shù),我們將意指兩個變量之一中的多項式的次數(shù)。舉例來說,x2y2+2xy+1等于2,因為x中的次數(shù)是2。多項式可以被選擇成在每一個變量中具有相同的次數(shù);如果私有集合252中的多項式是對稱的,則在另一個變量中次數(shù)將是相同的。

私有集合252中的多項式的次數(shù)可以取決于應(yīng)用而被不同地選擇。私有集合252包括次數(shù)為1或更高的至少一個對稱雙變量多項式。在一個實施例中,私有集合252僅包括次數(shù)為1的多項式。在私有集合252中僅具有線性多項式降低了復(fù)雜度、存儲需求,并且提高了速度。但是,在私有集合252中僅具有一次多項式被認(rèn)為與在私有集合252中具有次數(shù)至少為二的至少一個多項式相比不那么安全,因為這樣的系統(tǒng)被認(rèn)為是明顯更加線性的。盡管如此,如果在不同的環(huán)上評估私有集合252中的多個多項式,則即使私有集合252中的所有多項式都是線性的,所得到的加密也不是線性的。在一個實施例中,私有集合252包括次數(shù)為2或更高的至少一個、優(yōu)選地兩個多項式。但是,如果僅使用1次多項式,密鑰生成、加密和解密將正確地工作,并且被認(rèn)為對于低價值和/或低安全性應(yīng)用是足夠安全的。

只要具有更高次數(shù)的(多個)多項式提供足夠的安全性,在私有集合252具有一個或更多0次多項式將不會影響系統(tǒng)。

對于中等安全性應(yīng)用,私有集合252可以包括次數(shù)為2的兩個對稱雙變量多項式或者甚至由其構(gòu)成。對于更高安全性應(yīng)用,私有集合252可以包括兩個對稱雙變量多項式或者甚至由其構(gòu)成,其中一個的次數(shù)為2且一個的次數(shù)高于2(例如3)。增加多項式的數(shù)目和/或其次數(shù)將以資源消耗的增加為代價進(jìn)一步提高安全性。

優(yōu)選的是,約簡整數(shù)被選擇成使得相同的約簡整數(shù)集合中的任何兩個約簡整數(shù)的差具有公約數(shù)。特別地,公約數(shù)可以是2b,或者用語言表述,任何兩個約簡整數(shù)之間的差以至少與將從該實例導(dǎo)出的小密鑰的大小一樣多的零結(jié)尾。

舉例來說,用于生成約簡整數(shù)和公共全局約簡整數(shù)的一種方式如下。

1、首先生成公共全局約簡整數(shù)N。例如作為規(guī)定大小的隨機整數(shù)。

2、對于每一個約簡整數(shù),生成整數(shù)βi并且生成約簡整數(shù)pi作為所述差。

公共全局約簡整數(shù)可以被選擇成具有(α+1)B+b位或更多,其中α是第一私有集合中的雙變量多項式的單個變量中的最高次數(shù)。在這種情況下,整數(shù)βi可以被選擇成βi < 2B

密鑰材料獲得器210可以被編程在軟件、硬件或者其組合中。密鑰材料獲得器210可以與用于多項式操縱的計算單元220共享資源。

網(wǎng)絡(luò)設(shè)備管理器230被配置成以電子形式獲得用于網(wǎng)絡(luò)設(shè)備300的身份數(shù)字310 A。網(wǎng)絡(luò)設(shè)備管理器230可以從網(wǎng)絡(luò)設(shè)備接收身份數(shù)字。舉例來說,網(wǎng)絡(luò)設(shè)備管理器230可以包括或者利用通信單元以用于通過網(wǎng)絡(luò)接收身份數(shù)字。舉例來說,網(wǎng)絡(luò)設(shè)備管理器230可以包括天線以用于作為無線信號接收身份數(shù)字。身份數(shù)字可以被表示成若干位,身份數(shù)字中的位數(shù)b典型地至少與共享密鑰中的位數(shù)一樣大。

系統(tǒng)200可以針對所有參數(shù)集合使用相同的身份數(shù)字。但是,還有可能針對不同的參數(shù)集合使用不同的身份數(shù)字。在后一種情況下,網(wǎng)絡(luò)管理器230獲得多個身份數(shù)字。

計算單元220被配置成計算針對一個參數(shù)集合和標(biāo)識數(shù)字A的單變量私有密鑰多項式229。計算單元220被應(yīng)用于密鑰材料獲得器210的每一個參數(shù)集合。在一個實施例中,計算單元針對至少兩個參數(shù)集合或者甚至針對每一個參數(shù)集合使用相同的標(biāo)識數(shù)字。在一個實施例中,多項式操縱單元針對至少兩個參數(shù)集合或者甚至針對所有參數(shù)集合使用網(wǎng)絡(luò)設(shè)備的不同標(biāo)識數(shù)字。這樣獲得的單變量私有密鑰多項式以及相應(yīng)的公共全局約簡整數(shù)是將被發(fā)送到網(wǎng)絡(luò)設(shè)備的局部密鑰材料的一部分。

計算單元220通過連接238從密鑰材料獲得器210接收參數(shù)集合中的數(shù)據(jù)。下面描述計算單元220如何從參數(shù)集合確定單變量私有密鑰多項式。從其他參數(shù)集合生成單變量私有密鑰多項式是按照相同的方式進(jìn)行的。

計算單元220可以計算單變量私有密鑰多項式229如下:

通過把身份整數(shù)A替換到當(dāng)前正被處理的參數(shù)集合的第一私有集合中的每一個多項式中而獲得單變量多項式。通過針對雙變量多項式的僅僅一個變量替換值,雙變量多項式簡化到單變量多項式。隨后把所得到的單變量多項式以對與在其中替換身份整數(shù)A的雙變量多項式相關(guān)聯(lián)的約簡整數(shù)取模進(jìn)行約簡。將所得到的單變量多項式的集合求和,例如通過把各個多項式中的y的等冪的系數(shù)相加來求和。這可以從下述中針對的公式獲得:。

假設(shè)fi(x,y)是第一私有集合中的一個雙變量多項式。該多項式的系數(shù)從環(huán)取得。即,第一集合中的多項式的系數(shù)是從整數(shù)環(huán)取得。為了簡單起見,使用變量xy來表示第一集合中的整數(shù)的形式變量。

在替換之后,計算單元220獲得fi(A,y)。計算單元220還被配置成把該項以對pi取模進(jìn)行約簡。例如在系統(tǒng)操作于其上的環(huán)(例如Zp)中例如通過以對p取模進(jìn)行約簡來約簡系數(shù)。優(yōu)選的是,計算單元220使所述結(jié)果進(jìn)入規(guī)范形式,即預(yù)定的標(biāo)準(zhǔn)化表示。適當(dāng)?shù)囊?guī)范形式是通過單項式的次數(shù)歸類的系數(shù)的表示??商鎿Q地,所述替換可以是針對y。

為了確保身份數(shù)字在系統(tǒng)中“隨機”行動,可取的是在鏈中的點處的隨機化步驟,以確保晶格攻擊不簡化。特別地如果根據(jù)特定順序為網(wǎng)絡(luò)設(shè)備給出身份數(shù)字(例如序列號),這樣的隨機化步驟是可取的。舉例來說,可以對身份數(shù)字應(yīng)用密碼散列(例如sha-256),從而結(jié)果被縮短到B位。

此外,身份數(shù)字可以被擴展到更多位。舉例來說,例如通過散列和/或串聯(lián),B’位的身份數(shù)字可以被擴展到B位,其中B'<B。舉例來說,身份數(shù)字A可以被擴展到H(A)或者擴展到A||H(A);H標(biāo)示散列,并且||標(biāo)示串聯(lián)。串聯(lián)是在LSB側(cè)進(jìn)行的。對于這一運算,優(yōu)選的是高度非線性的散列,比如密碼散列。

如果第一集合僅包含對稱多項式,則身份數(shù)字A的替換可以在雙變量多項式的兩個變量當(dāng)中的任一個變量中。但是,如果替換是在非對稱多項式中進(jìn)行,則需要更多注意。舉例來說,計算單元220可以被配置成獲得第一網(wǎng)絡(luò)設(shè)備300是處在第一組還是第二組中。第一和第二組分別與雙變量多項式的第一和第二變量相關(guān)聯(lián)。對于第一組中的網(wǎng)絡(luò)設(shè)備,總是使用第一變量。對于第二組中的網(wǎng)絡(luò)設(shè)備,總是使用第二變量。

圖1示出了實現(xiàn)該功能一種可能的方式。圖1示出了替換單元222、多項式約簡單元224、多項式加法單元226以及單變量多項式的集合的總和228;后者將是單變量私有密鑰多項式229。

替換單元222、多項式約簡單元224和多項式加法單元226可以被組織到多項式操縱單元中;這一選項已通過圖1中的虛線指示。

這些裝置可以工作如下。替換單元222把身份整數(shù)A替換到第一集合的一個雙變量多項式中。替換單元222可以收集項以帶來規(guī)范形式的結(jié)果,但是這也可以等待。多項式約簡單元224接收替換結(jié)果,并且以對與在其中進(jìn)行替換的雙變量多項式相關(guān)聯(lián)的約簡整數(shù)取模來約簡該替換結(jié)果。

在由多項式加法單元226求和之前,將身份整數(shù)A替換到所述特定多項式fi(A,y)中并且以對與所述特定多項式相關(guān)聯(lián)的約簡整數(shù)取模進(jìn)行約簡的結(jié)果被表示成規(guī)范形式的系數(shù)列表。變量y充當(dāng)形式變量。該替換有時被簡單地標(biāo)記成:fi(A, )。

多項式加法單元226接收經(jīng)約簡的單變量多項式,并且將其加到總和228中的累積總數(shù)(running total)。在生成單變量私有密鑰多項式之前,總和228被重置到0。多項式加法單元226可以使用自然算術(shù)或者對與參數(shù)集合相關(guān)聯(lián)的公共全局約簡整數(shù)取模在系數(shù)方面把各個多項式相加。

當(dāng)?shù)谝凰接屑系乃卸囗検蕉纪ㄟ^這種方式被處理時,總和228中的結(jié)果可以被用作單變量私有密鑰多項式。例如總和228中的所得到的單變量私有密鑰多項式可以被表示成系數(shù)列表并且被以規(guī)范形式表示。

如果系統(tǒng)200使用多個實例,即如果系統(tǒng)200使用多個參數(shù)集合,則計算單元220確定用于其中每一個實例的單變量私有密鑰多項式。如果需要的話,單元220可以重新使用某些信息,例如單元220可以使用相同的身份數(shù)字A生成所有單變量私有密鑰多項式。對于更高安全性,各參數(shù)集合是獨立的,并且優(yōu)選地還使用不同的身份數(shù)字。

計算單元220還包括校正函數(shù)單元270,其被布置成計算對應(yīng)于身份數(shù)字310和參數(shù)集合250二者的校正函數(shù)271。舉例來說,單元270可以被布置成計算:

,其中

可以通過在區(qū)間0-2B中的重復(fù)求交(intersection)來計算斷點。斷點減少了存儲空間的量。此外,斷點還減少存儲在網(wǎng)絡(luò)設(shè)備中的信息的量。校正函數(shù)的各個的系數(shù)不需要被存儲。這些有理系數(shù)是從根密鑰材料確定的,使用斷點,設(shè)備仍然可以評估校正函數(shù),但是除此之外他不具有附加信息。這改進(jìn)了安全性。

可替換地,可以計算Λ'A的最高次項的(優(yōu)選地)一個或更多系數(shù)。這可以通過選擇在整數(shù)上評估并且在整數(shù)上相加的單變量多項式fi(A,X)的最高次項來進(jìn)行。該單個數(shù)字可以與設(shè)備A的局部密鑰材料一起分發(fā)。

網(wǎng)絡(luò)設(shè)備管理器230還被配置用于通過電子方式把所生成的單變量私有密鑰多項式229、相應(yīng)的公共全局約簡整數(shù)256 N以及校正函數(shù)271存儲在網(wǎng)絡(luò)節(jié)點處。使用單變量私有密鑰多項式229及其一個或多個身份數(shù)字,第一網(wǎng)絡(luò)設(shè)備300可以與從相同的根材料配置的其他設(shè)備共享密鑰。網(wǎng)絡(luò)設(shè)備管理器230還可以被配置用于通過電子方式把參數(shù)Bb存儲在網(wǎng)絡(luò)設(shè)備處。

通過電子方式存儲可以包括設(shè)備管理器通過電子方式將信息發(fā)送到第一設(shè)備,第一設(shè)備隨后存儲該信息。

雖然計算單元220可以被實現(xiàn)在軟件中,但是計算單元220特別適合于實現(xiàn)在硬件中。如果只有多項式約簡單元224實現(xiàn)硬件,將獲得顯著的速度改進(jìn);不由單元224的硬件版本執(zhí)行的系統(tǒng)200的部分功能可以在由處理器運行的軟件中執(zhí)行。

圖1示出了計算單元220從第一網(wǎng)絡(luò)設(shè)備300接收身份數(shù)字消息232;第一網(wǎng)絡(luò)設(shè)備300從計算單元220接收私有密鑰材料消息236。私有密鑰材料消息236可以包括公共全局約簡整數(shù)、單變量私有密鑰多項式以及校正函數(shù)。

這些消息典型地是通過網(wǎng)絡(luò)設(shè)備管理器230發(fā)送和接收的。私有密鑰材料消息236可以被分解在多條消息上。如果使用多個實例,則這些實例可以將其相應(yīng)的私有密鑰材料消息組合成單個消息。

用于配置的系統(tǒng)200可以被配置成通過生成用于第一網(wǎng)絡(luò)設(shè)備300的身份數(shù)字而獲得身份數(shù)字。這樣的配置非常適合于制造設(shè)施。在這種情況下,第一網(wǎng)絡(luò)設(shè)備300從配置系統(tǒng)200接收身份數(shù)字消息232,而不是發(fā)送身份數(shù)字消息232,例如從密鑰材料獲得器210或計算單元220接收身份數(shù)字消息232。

圖2是第一網(wǎng)絡(luò)設(shè)備300和第二網(wǎng)絡(luò)設(shè)備350的示意性框圖。第一網(wǎng)絡(luò)設(shè)備300和第二網(wǎng)絡(luò)設(shè)備350被配置成一起確定共享密鑰。

第二網(wǎng)絡(luò)設(shè)備350可以具有與網(wǎng)絡(luò)設(shè)備300相同的設(shè)計。我們僅僅詳細(xì)描述第一網(wǎng)絡(luò)設(shè)備300,第二網(wǎng)絡(luò)設(shè)備350可以是相同的或類似的。圖2僅僅示出了第二網(wǎng)絡(luò)設(shè)備350存儲身份數(shù)字355。第二網(wǎng)絡(luò)設(shè)備350的身份數(shù)字355是公共的,并且可以與網(wǎng)絡(luò)設(shè)備300交換以共享密鑰。第二網(wǎng)絡(luò)設(shè)備350還需要局部密鑰材料(未示出),特別是對應(yīng)于身份數(shù)字355的一個或更多單變量私有密鑰多項式,連同相應(yīng)的校正函數(shù)。

第一網(wǎng)絡(luò)設(shè)備300包括電子存儲裝置320、通信單元342、計算單元330以及密鑰導(dǎo)出設(shè)備340。

存儲裝置320存儲設(shè)備300的局部密鑰材料。該設(shè)備可以被配置成與局部密鑰材料的單個實例一起工作,即一個單變量多項式(單變量私有密鑰多項式)和一個公共全局約簡整數(shù)。在圖2所示的實施例中,設(shè)備300包括密鑰材料集合370。設(shè)備300可以包括多個密鑰材料集合。密鑰材料集合的數(shù)目可以是2個或大于2個。設(shè)備300的密鑰材料可能已從用于配置網(wǎng)絡(luò)設(shè)備以進(jìn)行密鑰共享的系統(tǒng)(比如系統(tǒng)200)獲得。密鑰材料包括單變量私有密鑰多項式、公共全局約簡整數(shù)以及校正函數(shù)。舉例來說,密鑰材料370包括單變量私有密鑰多項式372、公共全局約簡整數(shù)374以及校正函數(shù)376??梢栽谝恍┗蛉棵荑€材料當(dāng)中被共享公共全局約簡整數(shù)。但是,私有密鑰多項式優(yōu)選地在所有集合中是不同的。

存儲裝置320還存儲被用來生成密鑰材料中的單變量私有密鑰多項式的身份數(shù)字310 A。密鑰材料也可以包括身份數(shù)字,尤其是在對于每一項密鑰材料使用不同身份數(shù)字的情況。

存儲裝置320可以是存儲器,例如非易失性和可寫存儲器,比如閃存。存儲裝置320可以是其他類型的存儲裝置,例如諸如硬盤之類的磁性存儲裝置。存儲裝置320可以是一次性寫入存儲器。

通信單元342被配置成獲得第二網(wǎng)絡(luò)設(shè)備350的身份數(shù)字355。通信單元342可以被實現(xiàn)為有線連接,例如Wi-Fi、藍(lán)牙或Zigbee連接。通信單元342可以利用數(shù)據(jù)網(wǎng)絡(luò)(例如互聯(lián)網(wǎng))上的連接來實現(xiàn)。

計算單元330被配置成導(dǎo)出對應(yīng)于存儲裝置320中的密鑰材料370的與設(shè)備350共享的密鑰。設(shè)備350具有對應(yīng)于密鑰材料370的密鑰材料。下面描述計算單元330如何可以使用密鑰材料370導(dǎo)出單個共享密鑰;但是也可以組合多個實例。

計算單元330可以包括替換單元332和整數(shù)約簡單元334。替換單元332和整數(shù)約簡單元334一起形成多項式操縱單元331。后者用虛線指示。

計算單元330被配置成把身份數(shù)字A替換到單變量私有密鑰多項式372中并且以對公共全局約簡整數(shù)374取模來約簡替換結(jié)果。計算單元330可以使用與替換單元222和多項式約簡單元224類似的硬件或軟件。注意到,第一網(wǎng)絡(luò)設(shè)備300不具有對第一和第二私有集合的訪問權(quán)。約簡單元334的結(jié)果是中間密鑰。

計算單元330還包括校正函數(shù)評估單元392和密鑰修改單元394;后兩者形成利用虛線指示的密鑰校正單元391。

校正函數(shù)評估單元392被布置成把第二身份數(shù)字替換到私有校正函數(shù)中,從而獲得校正因數(shù)。評估校正函數(shù)使用適合于該函數(shù)的存儲類型的評估方法。舉例來說,如果校正函數(shù)376被存儲為斷點序列,則通過找到身份數(shù)字355落在其間的兩個斷點來評估該函數(shù)。舉例來說,如果校正函數(shù)376被存儲為近似有理多項式,則所述有理多項式例如作為有理數(shù)被評估并且取整。

結(jié)果是可以被用來修改中間密鑰的校正因數(shù)。

密鑰修改單元394被布置成接收中間密鑰和校正因數(shù),以便利用校正因數(shù)修改中間密鑰,從而獲得經(jīng)校正的密鑰。舉例來說,密鑰修改單元394可以使校正因數(shù)乘以公共全局模量374并且將結(jié)果加到中間密鑰上。隨后將后者以對2b取模進(jìn)行約簡。

可選地,計算單元330包括密鑰調(diào)和單元336??赡馨l(fā)生是設(shè)備300和設(shè)備350沒有達(dá)成相同的共享密鑰。應(yīng)用可以選擇忽略這種可能性。通過這樣做,一些網(wǎng)絡(luò)設(shè)備對可能無法從事經(jīng)加密和/或經(jīng)認(rèn)證的通信,因為它們?nèi)鄙俟餐墓蚕砻荑€。對于一些應(yīng)用來說,使僅僅一些網(wǎng)絡(luò)設(shè)備對獲得安全就足夠了,例如自組織網(wǎng)絡(luò)是這方面的一個實例。設(shè)備300和350還可以可選的密鑰調(diào)和單元336進(jìn)行配置。在兩個設(shè)備300和350當(dāng)中的一個中,密鑰調(diào)和單元336從所生成的密鑰生成密鑰調(diào)和數(shù)據(jù)并且將其發(fā)送到另一個設(shè)備;在另一個設(shè)備中,密鑰調(diào)和單元336使用所接收到的密鑰調(diào)和數(shù)據(jù)來調(diào)適所生成的密鑰,使得在兩個設(shè)備中導(dǎo)出的共享密鑰是相同的。

如果密鑰調(diào)和單元336被用來調(diào)適密鑰,則其調(diào)適所生成的密鑰直到它符合密鑰調(diào)和數(shù)據(jù)為止,即,從經(jīng)調(diào)適的密鑰導(dǎo)出密鑰調(diào)和數(shù)據(jù)將給出與所接收到的用于該密鑰的密鑰調(diào)和數(shù)據(jù)相同的結(jié)果。調(diào)適密鑰可以通過加上公共全局約簡整數(shù)的倍數(shù)并且以對2b取模進(jìn)行約簡來進(jìn)行,即,KBA+δN mod 2b

舉例來說,設(shè)備300中的密鑰調(diào)和單元336獲得所生成的小密鑰的預(yù)定數(shù)目的最低有效位作為密鑰調(diào)和數(shù)據(jù)。舉例來說,預(yù)定數(shù)目c可以被選擇為使得2c≥1+2D的最小數(shù)字,其中α是第一私有集合中的多項式的次數(shù),并且m是多項式的數(shù)目。D標(biāo)示第二集合中的密鑰的剩余數(shù)目,即,經(jīng)修改的中間密鑰中的剩余的不確定性。優(yōu)選的是D=3,因為這對應(yīng)于δ的值,其為1、-1或0。作為調(diào)和數(shù)據(jù),設(shè)備350可以發(fā)送經(jīng)修改的中間密鑰的最低的3位。如果最低有效位被用作調(diào)和數(shù)據(jù),則密鑰調(diào)和單元加上倍數(shù)直到c個最低有效位與所接收到的位相同為止。即使b=8,對于每一個實例仍保留5位。這5位不要求附加的調(diào)和,但是通過組合多個實例可以獲得任何期望長度的密鑰,例如通過組合16個實例以獲得80位共享密鑰。

密鑰導(dǎo)出設(shè)備340被配置成從被導(dǎo)出的一個或更多密鑰(例如(多個)經(jīng)修改的中間密鑰)導(dǎo)出共享密鑰。共享密鑰是所謂的對稱密鑰。約簡的結(jié)果是整數(shù)。該結(jié)果可以幾乎直接被用作密鑰,例如通過可選地在調(diào)和之后串聯(lián)其系數(shù)。

從約簡結(jié)果導(dǎo)出共享密鑰可以包括應(yīng)用密鑰導(dǎo)出函數(shù),例如在開放移動聯(lián)盟的OMA DRM規(guī)范中定義的函數(shù)KDF(OMA-TS-DRM-DRM-V2_0_2-20080723-A,section 7.1.2 KDF)以及類似的函數(shù)。

取代每b位密鑰發(fā)送和接收密鑰調(diào)和數(shù)據(jù),密鑰調(diào)和單元還可以被配置成在組裝的大共享密鑰上生成密鑰調(diào)和數(shù)據(jù),這可能甚至是在如KDF那樣的密鑰調(diào)和算法之后。在這種情況下,密鑰調(diào)和單元同時調(diào)適所有小密鑰,直到找到滿足密鑰調(diào)和數(shù)據(jù)的大密鑰為止。雖然同時改變多個小密鑰是多得多的工作,但是在大密鑰上生成密鑰調(diào)和數(shù)據(jù)也安全得多,因為更少直接信息對小密鑰而言是可用的。

圖2還示出了第一網(wǎng)絡(luò)設(shè)備300中的可選密碼單元345。密碼單元345被配置成使用共享密鑰。舉例來說,密碼單元345可以是被配置用于利用共享對稱密鑰對電子消息進(jìn)行加密的加密單元。舉例來說,密碼單元345可以是被配置用于利用共享對稱密鑰對電子消息進(jìn)行解密的解密單元。

圖3a是密鑰共享系統(tǒng)100的示意性框圖。

密鑰共享系統(tǒng)100包括用于配置的系統(tǒng)200以及多個網(wǎng)絡(luò)設(shè)備;示出了網(wǎng)絡(luò)設(shè)備300、350和360。網(wǎng)絡(luò)設(shè)備中的每一個從用于配置的系統(tǒng)200接收身份數(shù)字、單變量私有密鑰多項式、全局約簡整數(shù)以及校正函數(shù)。使用該信息,它們可以商定共享密鑰。舉例來說,第一網(wǎng)絡(luò)設(shè)備300和第二網(wǎng)絡(luò)設(shè)備350中的每一個向另一方發(fā)送其身份數(shù)字。它們可以隨后計算共享密鑰,例如通過二者首先導(dǎo)出中間密鑰,二者導(dǎo)出經(jīng)校正的、經(jīng)修改的中間密鑰。最后,兩個網(wǎng)絡(luò)設(shè)備當(dāng)中的一個可以發(fā)送調(diào)和數(shù)據(jù),而另一個則調(diào)適其經(jīng)修改的中間密鑰以匹配所接收到的調(diào)和數(shù)據(jù)。

在不使用過大資源的情況下,具有關(guān)于第一網(wǎng)絡(luò)設(shè)備300與第二網(wǎng)絡(luò)設(shè)備350之間的通信以及甚至全局約簡整數(shù)的知識的某人無法獲得其共享密鑰。即使是設(shè)備360也無法導(dǎo)出在設(shè)備300與350之間共享的密鑰。

圖3b是類似的密鑰共享系統(tǒng)102的示意性框圖。除了網(wǎng)絡(luò)設(shè)備從配置服務(wù)器110(其也被稱作個性化設(shè)備)接收其身份數(shù)字之外,系統(tǒng)102與系統(tǒng)100相同。網(wǎng)絡(luò)設(shè)備隨后通過發(fā)送其身份數(shù)字向用于配置的系統(tǒng)200登記。即使是設(shè)備360也無法獲得在設(shè)備300與350之間共享的密鑰。

配置服務(wù)器110可以分配也被用于其他目的的身份數(shù)字。舉例來說,配置服務(wù)器110可以分配網(wǎng)絡(luò)地址,比如MAC地址。網(wǎng)絡(luò)地址被網(wǎng)絡(luò)節(jié)點使用來把網(wǎng)絡(luò)通信量從第二網(wǎng)絡(luò)節(jié)點路由到其自身。但是,網(wǎng)絡(luò)地址也可以兼作身份數(shù)字。在這種情況下,網(wǎng)絡(luò)節(jié)點使其網(wǎng)絡(luò)地址可用于系統(tǒng)200并且接收單變量私有密鑰多項式,所述單變量私有密鑰多項式允許網(wǎng)絡(luò)節(jié)點使用其網(wǎng)絡(luò)地址作為身份數(shù)字進(jìn)行加密通信。優(yōu)選的是,身份數(shù)字具有完全熵,也就是B位的熵。但是,當(dāng)這無法實現(xiàn)時,優(yōu)選的是在把所述數(shù)字用作身份數(shù)字之前執(zhí)行熵平滑化函數(shù),例如散列函數(shù)。

配置服務(wù)器110可以通過避免接近的(即共享許多或所有最高有效位)身份數(shù)字來生成身份數(shù)字以提高系統(tǒng)的安全性。舉例來說,服務(wù)器110可以隨機生成身份數(shù)字,例如真或偽隨機。將預(yù)定數(shù)目的隨機位附加到身份數(shù)字也是足夠的,例如10位。身份數(shù)字可以具有形式A1||A2,其中A1不是隨機的,例如序列號、網(wǎng)絡(luò)地址等等,并且其中A2是隨機的。A2可以由隨機數(shù)生成器生成。A2還可以通過對A1進(jìn)行散列運算而生成。如果使用帶密鑰的散列運算,例如HMAC,則對于無法訪問所述密鑰的各方來說,A2與隨機是不可區(qū)分的。密鑰可以由服務(wù)器110生成和存儲。

服務(wù)器110可以被包括在系統(tǒng)200中,例如合并在網(wǎng)絡(luò)管理器230中。

典型地,設(shè)備200和300中的每一個包括微處理器(未示出),其執(zhí)行存儲在設(shè)備200和300處的適當(dāng)?shù)能浖慌e例來說,該軟件可能已被下載并且/或者存儲在相應(yīng)的存儲器中,例如諸如RAM之類的易失性存儲器或者諸如閃存之類的非易失性存儲器(未示出)。設(shè)備350和360也可以配備有微處理器和存儲器(未示出)??商鎿Q地,設(shè)備200和300可以完全地或部分地被在可編程邏輯中實現(xiàn),例如實現(xiàn)為現(xiàn)場可編程門陣列(FPGA)。設(shè)備200和300可以完全地或部分地被實現(xiàn)為所謂的專用集成電路(ASIC),即針對其特定用途定制的集成電路(IC)。

圖4是集成電路400的示意性框圖。集成電路400包括處理器420、存儲器430以及I/O單元440。集成電路400的這些單元可以通過互連410(比如總線)在彼此之間進(jìn)行通信。處理器420被配置成執(zhí)行存儲在存儲器430中的軟件,以便執(zhí)行這里所描述的方法,例如用以配置設(shè)備的方法或者用以確定共享密鑰的方法。通過這種方式,集成電路400可以被配置為用于配置的系統(tǒng)200或者被配置為網(wǎng)絡(luò)設(shè)備,比如第一網(wǎng)絡(luò)設(shè)備300;存儲器430的一部分可以按照要求存儲公共全局約簡整數(shù)、雙變量多項式的第一私有集合、約簡整數(shù)的第二私有集合、身份數(shù)字、明文消息以及/或者經(jīng)加密的消息。

I/O單元440可以被用來與諸如設(shè)備200或300之類的其他設(shè)備進(jìn)行通信,以便例如接收密鑰數(shù)據(jù)(比如雙變量多項式的第一私有集合252)并且可能還有相關(guān)聯(lián)的參數(shù)(比如尺寸、次數(shù)、模量等等),或者發(fā)送和接收經(jīng)加密和/或經(jīng)認(rèn)證的消息。I/O單元440可以包括用于無線通信的天線。I/O單元440可以包括用于有線通信的電氣接口。

集成電路400可以被集成在計算機、移動通信設(shè)備(比如移動電話)等等中。集成電路400還可以被集成在照明設(shè)備中,例如與LED設(shè)備布置在一起。舉例來說,被配置為網(wǎng)絡(luò)設(shè)備并且與諸如LED之類的照明單元布置在一起的集成電路400可以接收利用共享對稱密鑰加密的命令。

(例如合并在照明設(shè)備中的)多個網(wǎng)絡(luò)設(shè)備可以形成經(jīng)加密的網(wǎng)絡(luò)的節(jié)點,其中使用節(jié)點之間的共享密鑰對鏈接進(jìn)行加密。

集成電路400可以被集成在期望快速對稱密鑰商定的其他設(shè)備中。集成電路400可以被集成在支付系統(tǒng)中。集成電路400可以被集成在汽車中。多輛這樣的汽車可以被布置用于車對車通信,其中使用共享密鑰來加密和/或認(rèn)證車對車消息。

雖然多項式操縱可以由處理器420按照存儲在存儲器430中的多項式操縱軟件的指令來執(zhí)行,但是如果集成電路400配置有可選的多項式操縱單元450,則密鑰生成的任務(wù)以及計算單變量多項式是更快的。在該實施例中,多項式操縱單元450是用于執(zhí)行替換和約簡運算的硬件單元。

典型地,設(shè)備200和300中的每一個包括微處理器(未示出),其執(zhí)行存儲在設(shè)備200和300處的適當(dāng)?shù)能浖慌e例來說,該軟件可能已被下載并且/或者存儲在相應(yīng)的存儲器中,例如諸如RAM之類的易失性存儲器或者諸如閃存之類的非易失性存儲器(未示出)。可替換地,設(shè)備200和300可以完全地或部分地被實現(xiàn)在可編程邏輯中,例如實現(xiàn)為現(xiàn)場可編程門陣列(FPGA)。

圖5示意性地圖示了確定與第二設(shè)備共享密鑰的方法500的流程圖。該方法包括:

存儲502

- 第一身份數(shù)字(A);

- 私有校正函數(shù)(ΛA( ));

- 第一私有單變量密鑰多項式(372,GA( ))。

獲得504第二設(shè)備的第二身份數(shù)字(355,B)。

把第二身份數(shù)字替換506到私有單變量密鑰多項式中,從而獲得中間密鑰,該中間密鑰定義第一密鑰集合。

把第二身份數(shù)字替換508到私有校正函數(shù)中,從而獲得校正因數(shù)。

利用校正因數(shù)修改510中間密鑰以獲得經(jīng)過正的密鑰,該經(jīng)校正的密鑰定義第二密鑰集合,第二集合小于第一集合。

可以從至少經(jīng)校正的密鑰導(dǎo)出共享密鑰。

圖6示意性地示出了設(shè)備300用于共享密鑰的方法600的流程圖。該方法包括:

以電子形式獲得602根密鑰材料。

以電子形式獲得604用于設(shè)備的第一身份數(shù)字(310,A)。

從根密鑰材料和第一身份數(shù)字(310,A)針對設(shè)備計算606私有單變量密鑰多項式(229)和私有校正函數(shù)(ΛA( ))。

在設(shè)備處存儲608所生成的私有單變量密鑰多項式(229,236)和私有校正函數(shù)(ΛA( ))。

本領(lǐng)域技術(shù)人員將認(rèn)識到,執(zhí)行所述方法的許多不同方式是可能的。舉例來說,各個步驟的順序可以改變,或者可以并行地執(zhí)行一些步驟。此外,在各個步驟之間可以插入其他方法步驟。所插入的步驟可以表示這里所描述的方法的細(xì)化,或者可以與該方法無關(guān)。

根據(jù)一個實施例的方法可以使用軟件執(zhí)行,所述軟件包括用于使得處理器系統(tǒng)執(zhí)行方法500或600的指令。軟件可以僅包括由系統(tǒng)的特定子實體采取的那些步驟。軟件可以被存儲在適當(dāng)?shù)拇鎯橘|(zhì)中,比如硬盤、軟盤、存儲器等等。軟件可以作為信號沿著線纜、通過無線方式或者使用數(shù)據(jù)網(wǎng)絡(luò)(例如因特網(wǎng))來發(fā)送。可以使軟件可用于下載和/或在服務(wù)器上遠(yuǎn)程使用。可以使用位流來執(zhí)行方法,所述位流被布置成配置例如現(xiàn)場可編程門陣列(FPGA)之類的可編程邏輯以執(zhí)行方法。

應(yīng)當(dāng)領(lǐng)會,本發(fā)明還擴展到計算機程序,特別是適于將本發(fā)明付諸實踐的載體上或載體中的計算機程序。該程序可以是源代碼、目標(biāo)代碼、比如部分編譯形式的代碼中間源和目標(biāo)代碼的形式,或者適用于根據(jù)一個實施例的方法的實現(xiàn)方式的任何其他形式。涉及計算機程序產(chǎn)品的一個實施例包括對應(yīng)于至少一種所闡述的方法的每一個處理步驟的計算機可執(zhí)行指令。這些指令可以被細(xì)分成子例程并且/或者存儲在可以靜態(tài)或動態(tài)鏈接的一個或更多文件中。涉及計算機程序產(chǎn)品的另一個實施例包括對應(yīng)于至少一種所闡述的系統(tǒng)和/或產(chǎn)品的每一個裝置的計算機可執(zhí)行指令。

應(yīng)當(dāng)注意,前面提到的實施例說明而不是限制本發(fā)明,并且本領(lǐng)域技術(shù)人員將能夠設(shè)計許多可替換實施例。

在下面的條款中闡述了用于生物計量驗證的有利實施例。申請人特此通告:在本申請或者從中導(dǎo)出任何另外的申請的審查期間,可以針對這樣的條款和/或這樣的條款的組合以及/或者從描述中取得的特征制定新的權(quán)利要求。

1. 一種被配置成確定與第二設(shè)備(350)共享的密鑰的第一設(shè)備(300),第一設(shè)備包括:

- 電子存儲裝置(320),其用于存儲:

- 第一身份數(shù)字(310,A);

- 第一私有校正函數(shù)(376,ΛA( ));

- 第一私有單變量密鑰多項式(372,GA( )),

- 第二設(shè)備(350)具有對第二私有單變量密鑰多項式(GB( ))和第二校正函數(shù)(ΛB( ))的訪問權(quán),被布置成通過把第一身份數(shù)字(310,A)替換到第二私有單變量密鑰多項式(GB( ))中而獲得第二中間密鑰,并且被布置成通過利用校正因數(shù)修改第二中間密鑰而獲得第二經(jīng)校正的密鑰;

- 通信單元(342),其被布置成獲得第二設(shè)備的第二身份數(shù)字(355,B);

- 多項式操縱單元(331),其被布置成:

- 把第二身份數(shù)字(355)替換到第一私有單變量密鑰多項式(372)中從而獲得第一中間密鑰,第一中間密鑰定義第一密鑰集合,由第二設(shè)備導(dǎo)出的第二中間密鑰被包括在第一密鑰集合中;

- 密鑰校正單元(391),其被布置成:

- 把第二身份數(shù)字(355)替換到第一私有校正函數(shù)(376)中從而獲得第一校正因數(shù);以及

- 利用第一校正因數(shù)修改第一中間密鑰以獲得第一經(jīng)校正的密鑰,第一經(jīng)校正的密鑰定義第二密鑰集合,第二密鑰集合小于第一密鑰集合,第二密鑰集合包括第二經(jīng)校正的密鑰,第一設(shè)備被布置成從至少第一經(jīng)校正的密鑰導(dǎo)出共享密鑰。

2. 如條款1中的第一設(shè)備(300),其中第一私有校正函數(shù)(376)是單調(diào)的并且/或者是非多項式。

3. 如任一條在前條款中的第一設(shè)備(300),其中第一私有校正函數(shù)(ΛA( ))是具有有理系數(shù)的取整多項式。

4. 如條款3中的第一設(shè)備(300),其中第一私有校正函數(shù)(ΛA( ))是具有單個項的取整多項式,所述單個項具有有理系數(shù)()。

5. 如條款2中的第一設(shè)備(300),其中第一私有校正函數(shù)(376,ΛA( ))被存儲為整數(shù)斷點的遞增序列IA,1,IA,2,…,使得如果xIA,1則ΛA(x)=0,并且使得如果IA,i<xIA,i+1則ΛA(x)=i。

6. 如任一條在前條款中的第一設(shè)備(300),其中第一私有單變量密鑰多項式(372,GA( ))已被用于配置設(shè)備(300)的系統(tǒng)(200)通過獲得單變量多項式的集合并且把所述單變量多項式的集合求和而獲得,所述獲得單變量多項式的集合是通過針對雙變量多項式的第一私有集合(252,fi( , ))的每一個特定多項式把第一身份數(shù)字(A)替換到所述特定多項式(fi(A, ))中并且以對與所述特定多項式相關(guān)聯(lián)的約簡整數(shù)(pi)取模進(jìn)行約簡來完成的。

7. 如條款6中的第一設(shè)備(300),其中對于使得βi< 2B成立的一些整數(shù)βi以及公共全局約簡整數(shù)(256,N),私有約簡整數(shù)pi滿足。

8. 如任一條在前條款中的第一設(shè)備(300),其中第一密鑰集合由第一中間密鑰通過加上或減去校正項的倍數(shù)定義,所述倍數(shù)小于上界并且大于下界。

9. 如任一條在前條款中的第一設(shè)備(300),其中電子存儲裝置(320)還存儲公共全局約簡整數(shù)(374,N),并且修改第一中間密鑰包括使第一校正因數(shù)乘以公共全局約簡整數(shù)(374,N)并且對第一中間密鑰加上或減去乘法的結(jié)果。

10. 如條款9中的第一設(shè)備(300),其中多項式操縱單元還被布置成把替換的結(jié)果以對公共全局約簡整數(shù)(N)取模進(jìn)行約簡,并且還把對公共全局約簡整數(shù)(N)取模約簡的結(jié)果以對2b取模進(jìn)行約簡以獲得第一中間密鑰,其中第一中間密鑰是b位長,修改第一中間密鑰還包括在所述加上或減去之后以對2b取模進(jìn)行約簡。

11. 如任一條在前條款中的第一設(shè)備(300),其中

- 通信單元(342)還被布置成從第二設(shè)備接收密鑰調(diào)和數(shù)據(jù),第一設(shè)備包括密鑰調(diào)和單元(336),該密鑰調(diào)和單元被布置成修改第一經(jīng)校正的密鑰以符合所接收到的密鑰調(diào)和數(shù)據(jù),所述共享密鑰是從經(jīng)修改的第一經(jīng)校正的密鑰導(dǎo)出的。

12. 一種用于配置第一設(shè)備(300)以共享密鑰的系統(tǒng)(200),所述系統(tǒng)包括:

- 被布置成以電子形式獲得根密鑰材料的密鑰材料獲得器(210);

- 用于以電子形式獲得用于第一設(shè)備的至少第一身份數(shù)字(310,A)的設(shè)備管理器(230);

- 用于在如條款1中的第一設(shè)備中使用的計算單元(220),其用于從根密鑰材料和第一身份數(shù)字(310,A)為設(shè)備計算私有單變量密鑰多項式(229,GA( ))和私有校正函數(shù)(271,ΛA( )),

- 設(shè)備管理器(230)還被配置用于以電子方式把所生成的私有單變量密鑰多項式(229,236)和私有校正函數(shù)(271,ΛA( ))存儲在第一設(shè)備處。

13. 如條款12中的用于配置設(shè)備(300)的系統(tǒng)(200),其中

- 根密鑰材料包括雙變量多項式的第一私有集合(252,fi( , ))以及約簡整數(shù)的第二私有集合(254,pi),其中第一集合中的每一個雙變量多項式與第二集合的約簡整數(shù)相關(guān)聯(lián),密鑰材料獲得器(210)還被布置成獲得公共全局約簡整數(shù)(256,N),

- 計算單元(220)被布置成通過下述操作從第一和第二私有集合為設(shè)備計算私有單變量密鑰多項式(229,GA( )):

- 通過下述操作獲得單變量多項式的集合:

- 針對第一私有集合的每一個特定多項式,把第一身份數(shù)字(A)替換到所述特定多項式(fi(A, ))中并且以對與所述特定多項式相關(guān)聯(lián)的約簡整數(shù)取模進(jìn)行約簡;以及

- 把單變量多項式的集合求和。

14. 如條款10中的用于配置設(shè)備(300)的系統(tǒng)(200),其中計算單元被布置成通過近似以下函數(shù)來計算校正函數(shù)ΛA(X):

,其中,其中fi( , )表示雙變量多項式的第一私有集合(252)并且pi表示約簡模量的第二私有集合。

15. 一種確定與第二設(shè)備(350)共享的密鑰的方法,所述方法包括:

- 存儲

- 第一身份數(shù)字(A);

- 第一私有校正函數(shù)(ΛA( ));

- 第一私有單變量密鑰多項式(372,GA( )),

- 獲得第二設(shè)備的第二身份數(shù)字(355,B);

- 把第二身份數(shù)字替換到私有單變量密鑰多項式中,從而獲得第一中間密鑰,所述中間密鑰定義第一密鑰集合;

- 把第二身份數(shù)字替換到第一私有校正函數(shù)中,從而獲得第一校正因數(shù);

- 利用第一校正因數(shù)修改第一中間密鑰以獲得第一經(jīng)校正的密鑰,第一經(jīng)校正的密鑰定義第二密鑰集合,第二集合小于第一密鑰集合。

16. 一種用于配置設(shè)備(300)以共享密鑰的方法,所述方法包括:

- 以電子形式獲得根密鑰材料;

- 以電子形式獲得用于設(shè)備的第一身份數(shù)字(310,A);

- 從根密鑰材料和第一身份數(shù)字(310,A)為設(shè)備計算私有單變量密鑰多項式(229)和第一私有校正函數(shù)(ΛA( ));

- 以電子方式把所生成的私有單變量密鑰多項式(229,236)和第一私有校正函數(shù)(ΛA( ))存儲在所述設(shè)備處。

17. 一種包括計算機程序代碼裝置的計算機程序,所述計算機程序代碼裝置適于當(dāng)在計算機上運行所述計算機程序時執(zhí)行條款15或16的所有步驟。

18. 如條款17中的計算機程序,其被具體實現(xiàn)在計算機可讀介質(zhì)上。

在權(quán)利要求書中,置于括號之間的任何附圖標(biāo)記不應(yīng)當(dāng)被解釋為限制權(quán)利要求。動詞“包括”及其詞形變化的使用并不排除權(quán)利要求中所陳述的元件或步驟之外的其他元件或步驟的存在。元件之前的冠詞“一”并不排除存在多個這樣的元件。本發(fā)明可以借助于包括若干不同元件的硬件來實現(xiàn),并且借助于適當(dāng)編程的計算機來實現(xiàn)。在列舉若干裝置的設(shè)備權(quán)利要求中,這些裝置當(dāng)中的若干項可以由同一個硬件項體現(xiàn)。在互不相同的從屬權(quán)利要求中敘述某些措施的起碼事實并不指示不能使用這些措施的組合來獲益。

在權(quán)利要求書中,括號中的參考標(biāo)記指的是實施例的附圖中的附圖標(biāo)記或者實施例的公式,從而提高了權(quán)利要求的可理解性。這些參考標(biāo)記不應(yīng)當(dāng)被解釋為限制權(quán)利要求。

圖1-4中的附圖標(biāo)記列表:

100、102——密鑰共享系統(tǒng)

110——個性化設(shè)備

200——用于配置網(wǎng)絡(luò)設(shè)備以進(jìn)行密鑰共享的系統(tǒng)

210——密鑰材料獲得器

220——計算單元

222——替換單元

224——多項式約簡單元

226——多項式加法單元

228——單變量多項式集合的總和

229——單變量私有密鑰多項式

230——網(wǎng)絡(luò)設(shè)備管理器

232——身份數(shù)字消息

236——私有密鑰材料消息

238——連接

240——多項式操縱單元

250——參數(shù)集合

252——雙變量多項式的第一私有集合

254——約簡整數(shù)的第二私有集合

256——公共全局約簡整數(shù)

270——校正函數(shù)單元

271——校正函數(shù)

300——第一網(wǎng)絡(luò)設(shè)備

310——身份數(shù)字

320——電子存儲裝置

330——計算單元

331——多項式操縱單元

332——替換單元

334——整數(shù)約簡單元

336——密鑰調(diào)和單元

340——密鑰導(dǎo)出設(shè)備

342——通信單元

345——密碼單元

350——第二網(wǎng)絡(luò)設(shè)備

355——身份數(shù)字

360——第三網(wǎng)絡(luò)設(shè)備

370——密鑰材料集合

372——私有單變量密鑰多項式

374——公共全局約簡整數(shù)

376——校正函數(shù)

391——密鑰校正單元

392——校正函數(shù)評估單元

394——密鑰修改單元

400——集成電路

410——互連

420——處理器

430——存儲器

440——I/O單元

450——多項式操縱單元

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1