專利名稱:一種密文處理方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種密文處理方法、裝置及系統(tǒng)。
背景技術(shù):
密文重加密技術(shù)是一種在不泄露密文信息的情況下,對密文進(jìn)行變換,將接收密文轉(zhuǎn)換成由密文接收端的公鑰加密的密文的技術(shù)。具體來說,假設(shè)有兩個用戶A和B,其中用戶A的公鑰為pkA,私鑰為skA ;用戶B的公鑰為pkB,私鑰為skB。使用用戶A和B的公/私鑰信息,可以計算出一個代理密鑰rkAB。 如果用戶C持有代理密鑰rkAB,那么用戶C可以將使用pkA加密的消息轉(zhuǎn)換為使用pkB加密的消息,在轉(zhuǎn)換過程中,用戶C無法看到消息的明文。完成轉(zhuǎn)換后,用戶B可以使用自己的私鑰skB對轉(zhuǎn)換后的密文進(jìn)行解密,得到消息的明文?,F(xiàn)有的密文重加密技術(shù)在合謀方面存在缺陷,也就是說,如果用戶B和用戶C合謀,那么他們可以計算出用戶A的私鑰的部分信息,使得用戶A加密的消息不再安全。同時現(xiàn)有的密文重加密技術(shù)依賴于公鑰基礎(chǔ)設(shè)施(H(I),而公鑰基礎(chǔ)設(shè)施的擴展性較差,無法支持超大規(guī)模的用戶群。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種密文處理方法、裝置及系統(tǒng),可以使用戶加密的消息更安全,而且也可以根據(jù)需要由接收端執(zhí)行重加密操作,使得消息的密文的處理更為靈活。本發(fā)明實施例提供了一種密文處理方法,包括密文發(fā)送端根據(jù)其選取的隨機秘密值和獲取的部分私鑰,計算得到本端的私鑰, 并根據(jù)所述隨機秘密值和系統(tǒng)公共參數(shù)計算得到本端的公鑰;根據(jù)本端的私鑰和密文接收端公布的公鑰,計算得到代理密鑰,其中,密文接收端公布的公鑰是所述密文接收端根據(jù)其選取的隨機秘密值和系統(tǒng)公共參數(shù)計算得到的;發(fā)送所述代理密鑰,以便于所述密文接收端獲取到根據(jù)所述代理密鑰對所述密文發(fā)送端發(fā)送的密文進(jìn)行重加密操作后的密文。相應(yīng)地,本發(fā)明實施例還提供了一種密文處理裝置,包括加密模塊,用于對消息進(jìn)行加密,得到密文;密鑰獲取模塊,用于根據(jù)本端選取的隨機秘密值和獲取的部分私鑰,計算得到本端的私鑰,并根據(jù)所述隨機秘密值和系統(tǒng)公共參數(shù)計算得到本端的公鑰;計算模塊,用于根據(jù)所述密鑰獲取模塊計算得到的私鑰和密文接收端公布的公鑰,計算得到代理密鑰,其中,密文接收端公布的公鑰是所述密文接收端根據(jù)其選取的隨機秘密值和系統(tǒng)公共參數(shù)計算得到的;發(fā)送模塊,用于發(fā)送所述計算模塊計算得到的代理密鑰,以及所述加密模塊加密得到的密文,以便于所述密文接收端獲取到根據(jù)所述代理密鑰對所述密文發(fā)送端發(fā)送的密文進(jìn)行重加密操作后的密文。
相應(yīng)地,本發(fā)明實施例還提供了一種密文處理系統(tǒng),包括密文發(fā)送端,密文接收端,以及密鑰生成機構(gòu),其中,所述密鑰生成機構(gòu),用于發(fā)布系統(tǒng)公共參數(shù),以及所述密文發(fā)送端和所述密文接收端對應(yīng)的部分私鑰;所述密文接收端,用于根據(jù)其選取的隨機秘密值和系統(tǒng)公共參數(shù)計算得到其自身的公鑰,并公布所述公鑰;所述密文發(fā)送端,用于根據(jù)本端選取的隨機秘密值和獲取的部分私鑰,計算得到本端的私鑰,根據(jù)所述隨機秘密值和系統(tǒng)公共參數(shù)計算得到本端的公鑰,并根據(jù)本端的私鑰和所述密文接收端公布的公鑰,計算得到代理密鑰,并向所述密文接收端發(fā)送所述代理密鑰;所述密文接收端還用于接收所述密文發(fā)送端發(fā)送的代理密鑰,并根據(jù)所述代理密鑰,對所述密文發(fā)送端發(fā)送的密文執(zhí)行重加密操作,將密文轉(zhuǎn)換為由自身公鑰加密的密文, 并對轉(zhuǎn)換后的由自身公鑰加密的密文進(jìn)行解密。相應(yīng)地,本發(fā)明實施例還提供了另一種密文處理系統(tǒng),包括密文發(fā)送端,密文接收端,代理,以及密鑰生成機構(gòu),其中,所述密鑰生成機構(gòu),用于發(fā)布系統(tǒng)公共參數(shù),以及所述密文發(fā)送端和所述密文接收端對應(yīng)的部分私鑰;所述密文接收端,用于根據(jù)其選取的隨機秘密值和系統(tǒng)公共參數(shù)計算得到其自身的公鑰,并公布所述公鑰;所述代理與所述密文接收端和密文發(fā)送端相連接;所述密文發(fā)送端,用于根據(jù)本端選取的隨機秘密值和獲取的部分私鑰,計算得到本端的私鑰,根據(jù)所述隨機秘密值和系統(tǒng)公共參數(shù)計算得到本端的公鑰,并根據(jù)本端的私鑰和所述密文接收端公布的公鑰,計算得到代理密鑰,并向所述代理發(fā)送所述代理密鑰;所述代理還用于接收所述密文發(fā)送端發(fā)送的代理密鑰,并根據(jù)所述代理密鑰,對所述密文發(fā)送端發(fā)送的密文執(zhí)行重加密操作,將所述密文轉(zhuǎn)換為由所述密文接收端的公鑰加密的密文,并將轉(zhuǎn)換后的密文發(fā)送給所述密文接收端;所述密文接收端還用于對所述轉(zhuǎn)換后的密文進(jìn)行解密。實施本發(fā)明實施例,通過選取隨機秘密值來計算公鑰以及私鑰,避免使用公鑰基礎(chǔ)設(shè)施(PKI),從而實現(xiàn)了更好的擴展性。通過生成并使用特殊結(jié)構(gòu)的代理密鑰,可避免由于接收端和代理合謀可任意解密本端加密的消息的缺陷,不僅可以使用戶加密的消息更安全,而且也可以根據(jù)需要由接收端執(zhí)行重加密操作,使得消息的密文的處理更為靈活。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實施例的一種密文處理系統(tǒng)的結(jié)構(gòu)組成示意圖2是本發(fā)明實施例的另一種密文處理系統(tǒng)的結(jié)構(gòu)組成示意圖;圖3是本發(fā)明的密文處理裝置的第一實施例結(jié)構(gòu)組成示意圖;圖4是本發(fā)明的密文處理裝置的第二實施例結(jié)構(gòu)組成示意圖;圖5是本發(fā)明的密文處理方法的第一實施例的流程示意圖;圖6是本發(fā)明的密文處理方法的第二實施例的流程示意圖;圖7是本發(fā)明的密文處理方法的第三實施例的流程示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。請參見圖1,是本發(fā)明實施例的一種密文處理系統(tǒng)的結(jié)構(gòu)組成示意圖,本實施例中的所述系統(tǒng)包括密文發(fā)送端10,密文接收端20,以及密鑰生成機構(gòu)30。其中,所述密鑰生成機構(gòu)30為一密鑰生成以及發(fā)布的服務(wù)器。本實施例中,密文發(fā)送端10記為用戶A端,密文接收端20記為用戶B端。所述密鑰生成機構(gòu)30,用于發(fā)布系統(tǒng)公共參數(shù),以及所述密文發(fā)送端10和所述密文接收端20對應(yīng)的部分私鑰;所述密文接收端20,用于根據(jù)其選取的隨機秘密值和系統(tǒng)公共參數(shù)計算得到其自身的公鑰,并公布所述公鑰;所述密文發(fā)送端10,用于根據(jù)本端選取的隨機秘密值和獲取的部分私鑰,計算得到本端的私鑰,根據(jù)所述隨機秘密值和系統(tǒng)公共參數(shù)計算得到本端的公鑰,并根據(jù)本端的私鑰和所述密文接收端20公布的公鑰,計算得到代理密鑰,并向所述密文接收端20發(fā)送所述代理密鑰;所述密文接收端20還用于接收所述密文發(fā)送端10發(fā)送的代理密鑰,并根據(jù)所述代理密鑰,對所述密文發(fā)送端10發(fā)送的密文執(zhí)行重加密操作,將密文轉(zhuǎn)換為由自身公鑰加密的密文,并對轉(zhuǎn)換后的由自身公鑰加密的密文進(jìn)行解密。具體的,所述密文發(fā)送端10獲取本端的部分私鑰從所述密鑰生成機構(gòu)30處獲取。 所述密文發(fā)送端10根據(jù)該部分私鑰和其隨機選取得到的隨機秘密值計算獲得本端的私鑰。同樣,所述密文接收端20可根據(jù)該方式獲得所述密文接收端20自身的私鑰。其中,本實施例的所述密鑰生成機構(gòu)30生成系統(tǒng)公共參數(shù)和所述密文發(fā)送端10 和密文接收端20的部分私鑰的方式可以為所述密鑰生成機構(gòu)30生成系統(tǒng)公共參數(shù)預(yù)設(shè)素階循環(huán)群G1和(;2,并得到從雙線性映射e =G1XG1 — G2,其中,G1是橢圓曲線上的點群, 是有限域上乘法群^和( 上的運算都表示為“乘法”運算,具體的運算規(guī)則按橢圓曲線和有限域上的運算規(guī)則執(zhí)行;隨機選取G1中的生成元g,選擇哈希函數(shù)H1 {0. 1}* — G1, H2 =G2 — G1,其中,兩個哈希函數(shù)的計算過程為=H1將輸入的任意長度的0、1串作為一個整數(shù)i,計算f作為輸出,H2將輸入的( 上的任意元素作為一個整數(shù)i,計算f作為輸出;密鑰生成機構(gòu)30隨機選取一個整數(shù)s作為其自身的主秘密,計算得到gs作為基礎(chǔ)參數(shù)。所述密鑰生成機構(gòu)30將所述預(yù)設(shè)的素階循環(huán)群&和(;2、g、兩個哈希函數(shù)H1和H2、以及基礎(chǔ)參數(shù)€作為公共參數(shù)發(fā)布。可以理解的是, 此處的哈希函數(shù)H1和H2僅為選取的其中一種哈希函數(shù)組合,具體實施時,還可以使用其他具體的哈希函數(shù)。對于所述密文發(fā)送端10,所述密鑰生成機構(gòu)30采用公式 = H1(icIa)計算得到 A,其中idA是所述密文發(fā)送端10的身份標(biāo)識,例如電子郵件地址。然后將《作為所述密文發(fā)送端10的部分私鑰發(fā)送給所述密文發(fā)送端10。同理,可得到密文接收端20的部分私鑰,并發(fā)送給密文接收端20。所述密文發(fā)送端10在接收到部分私鑰后,可以首先隨機選取整數(shù)xA和t作為隨機秘密值。然后根據(jù)獲取的本端部分私鑰、所述隨機秘密值和所述系統(tǒng)公共參數(shù),計算自身的私鑰和公鑰。所述密文發(fā)送端10獲取公鑰pkA的公式可以為:pkA = fe、#)。所述g的t次方表示t個g “相乘”,相乘的具體運算規(guī)則按橢圓曲線點群上的運算規(guī)則執(zhí)行。所述密文發(fā)送端10根據(jù)上述選取的整數(shù)以及循環(huán)群G1上的元素《,計算本密文發(fā)送端 ο的私鑰SkA的公式可以為-sm。同理,所述密文接收端20也可根據(jù)與所述密文發(fā)送端10相同的方式獲取其自身的私鑰和公鑰。所述密文發(fā)送端10采用其自身的公鑰對待加密的消息m進(jìn)行加密具體可包括以下兩種方式如果希望加密m得到的密文可以被代理給他人解密,所述密文發(fā)送端10隨機選擇一個整數(shù) r,計算密文 C1 = ,g\m-e{gA, ))。而如果希望加密m得到的密文不可以被代理給他人解密,所述密文發(fā)送端10隨機選擇一個整數(shù)r,計算密文C12 =/)。將密文發(fā)送端10使用自己的公鑰加密且希望不可以被代理給他人解密的加密結(jié)果C2簡記為CBEaOii)。其中上述的e (參1,參幻是橢圓曲線上的雙線性映射函數(shù),具體計算可以使用米勒算法完成。所述密文發(fā)送端10計算代理密鑰的過程為隨機選擇素階循環(huán)群&中的一個元素X,計算代理密鑰:rkA_B ={g-A ■//丨⑷,⑶&⑷)。其中CB& (χ)是使用密文接收端20的公鑰對所述元素χ加密得到的結(jié)果。對于密文C1,密文接收端20使用代理密鑰rkA_B進(jìn)行密文重加密,計算 C =m-e(gA,gsx^■)=m ■ 丨,可得到重加密后的密文,即由密文接收端的公鑰加密的密文C3,C3= (gtr,c',CBK(x))。本實施例中,避免了由于接收端和代理合謀可任意解密本端加密的消息的缺陷, 不僅可以使用戶加密的消息更安全,而且也可以根據(jù)需要由接收端執(zhí)行重加密操作,使得對消息的密文處理更為靈活。再請參見圖2,是本發(fā)明實施例的另一種密文處理系統(tǒng)的結(jié)構(gòu)組成示意圖;本實施例中的所述系統(tǒng)包括密文發(fā)送端10,密文接收端20,代理40,以及密鑰生成機構(gòu)30。其中,所述密鑰生成機構(gòu)30為一密鑰生成以及發(fā)布的服務(wù)器,所述代理40與所述密文接收端10和密文發(fā)送端20相連接,為一可執(zhí)行重加密和密文轉(zhuǎn)發(fā)的服務(wù)器。所述密鑰生成機構(gòu)30,用于發(fā)布系統(tǒng)公共參數(shù),以及所述密文發(fā)送端和所述密文接收端對應(yīng)的部分私鑰;所述密文接收端20,用于根據(jù)其選取的隨機秘密值和系統(tǒng)公共參數(shù)計算得到其自身的公鑰,并公布所述公鑰;所述密文發(fā)送端10,用于根據(jù)本端選取的隨機秘密值和獲取的部分私鑰,計算得到本端的私鑰,根據(jù)所述隨機秘密值和系統(tǒng)公共參數(shù)計算得到本端的公鑰,并根據(jù)本端的私鑰和所述密文接收端公布的公鑰,計算得到代理密鑰,并向所述代理發(fā)送所述代理密鑰;所述代理40,用于接收所述密文發(fā)送端10發(fā)送的代理密鑰,并根據(jù)所述代理密鑰,對所述密文發(fā)送端10發(fā)送的密文執(zhí)行重加密操作,將所述密文轉(zhuǎn)換為由所述密文接收端20的公鑰加密的密文,并將轉(zhuǎn)換后的密文發(fā)送給所述密文接收端20 ;所述密文接收端20還用于對所述轉(zhuǎn)換后的密文進(jìn)行解密。在存在代理40的情況下,所述密鑰生成機構(gòu)30生成和發(fā)布系統(tǒng)公共參數(shù),以及部分私鑰的方式,所述密文接收端10和所述密文發(fā)送端20生成各自的私鑰和公鑰的方式,以及所述密文發(fā)送端生成代理密鑰的方式、加密方式、重加密操作,與上述第一個系統(tǒng)實施例中的生成方式均相同。在本實施例中,重加密操作是由所述代理40執(zhí)行,將所述密文發(fā)送端10發(fā)送的密文轉(zhuǎn)換成由所述密文接收端20的公鑰加密的密文,并將轉(zhuǎn)換后的密文發(fā)送給所述密文接收端20。密文接收端20則直接根據(jù)其自身的私鑰對轉(zhuǎn)換后的密文進(jìn)行解密, 得到消息的明文。本實施例中,可避免由于接收端和代理合謀可任意解密本端加密的消息的缺陷, 可以使用戶加密的消息更為安全。再請參見圖3,是本發(fā)明的密文處理裝置的第一實施例結(jié)構(gòu)組成示意圖,所述密文處理裝置可以作為上述系統(tǒng)實施例中的密文發(fā)送端10和密文接收端20,具體的,所述密文處理裝置包括加密模塊110,密鑰獲取模塊120、計算模塊130、發(fā)送模塊140。加密模塊110,用于對消息進(jìn)行加密,得到密文。密鑰獲取模塊120,用于根據(jù)本端選取的隨機秘密值和獲取的部分私鑰,計算得到本端的私鑰,并根據(jù)所述隨機秘密值和系統(tǒng)公共參數(shù)計算得到本端的公鑰;計算模塊130,用于根據(jù)所述密鑰獲取模塊120計算得到的私鑰和密文接收端公布的公鑰,計算得到代理密鑰,其中,密文接收端公布的公鑰是所述密文接收端根據(jù)其選取的隨機秘密值和系統(tǒng)公共參數(shù)計算得到的;發(fā)送模塊140,用于發(fā)送所述計算模塊130計算得到的代理密鑰,以及所述加密模塊110加密得到的密文,以便于所述密文接收端獲取到根據(jù)所述代理密鑰對所述密文發(fā)送端發(fā)送的密文進(jìn)行重加密操作后的密文。所述密鑰獲取模塊120在接收到系統(tǒng)公共參數(shù)和關(guān)于本端的部分私鑰,可隨機選取隨機秘密值來計算得到本端的私鑰和公鑰。所述系統(tǒng)公共參數(shù)和關(guān)于本端的部分私鑰可由密鑰生成機構(gòu)發(fā)布,所述密鑰生成機構(gòu)發(fā)布的系統(tǒng)公共參數(shù)包括預(yù)設(shè)的兩個素階循環(huán)群G1和(;2,預(yù)設(shè)的兩個哈希函數(shù)H1和 H2,以及根據(jù)所述Gp G2, H1, H2、所述密鑰生成機構(gòu)隨機選取的一個整數(shù)計算得到基礎(chǔ)參數(shù)
對于本端記為用戶A端,所述密鑰生成機構(gòu)采用公式gA = H1GcIa),計算得到gA, 然后將《作為本端的部分私鑰發(fā)送給本端。所述密鑰獲取模塊120可以首先隨機選取整數(shù)Xk和t作為隨機秘密值,然后根據(jù)公式pkA = fe ,Z)計算得到本端的公鑰pkA ;根據(jù)公式& =《H十算得到本端的私鑰SkA。在得到本端的公鑰pkA和私鑰skA后,如果本端作為發(fā)送端需要向其他密文設(shè)備即密文接收端(記為用戶B)發(fā)送密文時,所述計算模塊130會根據(jù)私鑰對方公布的公鑰,進(jìn)行代理密鑰的計算。其具體的計算方式可以為所述計算模塊130隨機選擇素階循環(huán)群( 中的一個元素X,計算代理密鑰 rkA_B = (g-;^ _/^(X)5CSEs(χ))。其中CB&(x)是使用密文接收端的公鑰對所述元素x加密得到的結(jié)果。所述發(fā)送模塊140將所述代理密鑰rkA_B發(fā)送給密文接收端,并將所述加密模塊 110得到的密文發(fā)送給密文接收端。所述密文接收端對密文執(zhí)行重加密,然后對重加密后的密文進(jìn)行解密得到消息的明文?;蛘咴诖嬖诖磙D(zhuǎn)發(fā)的情況下,所述發(fā)送模塊140將所述代理密鑰發(fā)送給代理,并將所述加密模塊110得到的密文發(fā)送給代理,所述代理對密文執(zhí)行重加密后將重加密后的密文發(fā)送給所述密文接收端,由密文接收端進(jìn)行解密得到消息的明文。進(jìn)一步的,如圖3所示,所述密文處理裝置還可包括獲取模塊150。所述獲取模塊150,用于獲取密鑰生成機構(gòu)發(fā)布的系統(tǒng)公共參數(shù)以及部分私鑰,并隨機選取隨機秘密值。所述獲取模塊150與所述密鑰獲取模塊120相連。即獲取密鑰生成機構(gòu)發(fā)布的基礎(chǔ)參數(shù)gs,素階循環(huán)群G1和(;2,以及兩個哈希函數(shù)H1和H2。進(jìn)一步的,如圖3所示,所述密文處理裝置的加密模塊110還可具體包括第一選取單元111,用于隨機選擇一個整數(shù)作為加密參數(shù);第一密文生成單元112,用于根據(jù)所述加密參數(shù)和自身的公鑰,對待加密消息進(jìn)行加密計算,得到所述密文。具體的,所述加密模塊110通過所述第一選取單元111和第一密文生成單元112 對消息進(jìn)行加密包括以下兩種方式如果希望加密m得到的密文可以被代理給他人解密,所述第一選取單元111隨機選擇一個整數(shù)r,第一密文生成單元112計算密文 =如果希望加密m得到的密文不可以被代理給他人解密,所述第一選取單元111隨機選擇一個整數(shù)r,第一密文生成單元112計算密文Q = &,OT. ‘&^^),其中,將本端使
用自己的公鑰加密消息m且希望不可以被代理給他人解密的加密結(jié)果C2簡記為CBEaOii)。對于密文C1,密文接收端或者代理使用代理密鑰rkA_B進(jìn)行密文重加密,計算 C = m-e(gA,g^) -e(g-A^ ■)=m■),可得到重加密后的密文,即由密文接收端的公鑰加密的密文C3,C3= (gtr,C',CBK(X))。進(jìn)一步的,如圖3所示,所述密文處理裝置還包括重加密模塊160以及解密模塊 170。所述密文處理裝置通過所述該兩個模塊對密文發(fā)送端發(fā)送密文進(jìn)行處理。
10
所述獲取模塊150還用于接收密文和代理密鑰。所述重加密模塊160,用于根據(jù)所述獲取模塊150接收到的代理密鑰,對所述獲取模塊150接收到的密文執(zhí)行重加密操作,將其轉(zhuǎn)換為由本端的公鑰加密的密文。所述解密模塊170,用于根據(jù)本端的私鑰,對所述重加密模塊160轉(zhuǎn)換得到的由本端的公鑰加密的密文進(jìn)行解密。通過選取特殊結(jié)構(gòu)的代理密鑰,可避免由于接收端和代理合謀可任意解密本端加密的消息的缺陷,不僅可以使用戶加密的消息更安全,而且也可以根據(jù)需要由接收端執(zhí)行重加密操作,使得消息的密文的處理更為靈活。再請參見圖4,是本發(fā)明的密文處理裝置的第二實施例結(jié)構(gòu)組成示意圖,本實施例的所述密文處理裝置包括加密模塊110,密鑰獲取模塊120、計算模塊130、發(fā)送模塊140, 以及獲取模塊150、重加密模塊160、解密模塊170。其中,所述獲取模塊150除獲取密鑰生成機構(gòu)發(fā)布的基礎(chǔ)參數(shù)gs,素階循環(huán)群&和 G2,以及兩個哈希函數(shù)H1和H2,還需要獲取一個密鑰生成機構(gòu)發(fā)布的哈希函數(shù)H3。所述密鑰獲取模塊120則仍然根據(jù)所述密鑰生成機構(gòu)發(fā)送的gs和部分私鑰gA =
H1GcIa),計算得到公鑰;^ =fe、f),私鑰先=^。所述計算模塊130則仍然隨機選擇素階循環(huán)群( 中的一個元素X,計算代理密鑰 rkA_B = (g-^ _/^(χ),(^£β(χ))。其中CB&(x)是使用密文接收端的公鑰對所述元素χ加密得到的結(jié)果。而所述加密模塊110則通過第二選取單元113和第二密文生成單元114對待加密消息進(jìn)行加密。具體為如果希望加密m得到的密文可以被代理給他人解密,通過所述第二選取單元113 從素階循環(huán)群&中,選取一元素σ作為加密參數(shù),通過所述第二密文生成單元114計算r
=H3(m,。),然后計算密文C4 ^^^",iT.efc^g /,σι);而如果希望加密m得到的密文不可以被代理給他人解密,通過所述第二選取單元 113從素階循環(huán)群(;2中,選取一元素σ作為加密參數(shù),通過所述第二密文生成單元114計
算 r = H3 (m,σ),然后計算密文 Q = {gr ,σ ■ e{gA,gsx- /,σ.,且 C5 記為 CBEa (m)。那么,所述重加密模塊160根據(jù)rkA_B對所述C4執(zhí)行的重加密操作為計算<^=0".而^ 廣而- //辦),《)=0^(//辦)義),重加密后的密文則為
C6 = (gtr,C',σ . m, CBE' B(x))。通過選取隨機秘密值來計算公鑰以及私鑰,可避免由于接收端和代理合謀可任意解密本端加密的消息的缺陷,不僅可以使用戶加密的消息更安全,而且也可以根據(jù)需要由接收端執(zhí)行重加密操作,使得消息的密文的處理更為靈活。下面對本發(fā)明的密文處理方法進(jìn)行詳細(xì)描述。請參見圖5,是本發(fā)明的密文處理方法的第一實施例的流程示意圖,其中,密文發(fā)送端記為用戶A,密文接收端記為用戶B。該密文處理方法包括SlOl 密文發(fā)送端根據(jù)其選取的隨機秘密值和獲取的部分私鑰,計算得到本端的私鑰,并根據(jù)所述隨機秘密值和系統(tǒng)公共參數(shù)計算得到本端的公鑰。
所述密文發(fā)送端獲取本端的部分私鑰以及系統(tǒng)公共參數(shù)可以通過現(xiàn)有的方式從所述密鑰生成機構(gòu)處獲取。其中,所述密鑰生成機構(gòu)生成系統(tǒng)公共參數(shù)和所述密文發(fā)送端的部分私鑰的過程可以為所述密鑰生成機構(gòu)生成系統(tǒng)公共參數(shù)預(yù)設(shè)素階循環(huán)群G1和(;2,并得到從雙線性映射e =G1XG1 — G2,其中,G1是橢圓曲線上的點群, 是有限域上乘法群^和( 上的運算都表示為“乘法”運算,具體的運算規(guī)則按橢圓曲線和有限域上的運算規(guī)則執(zhí)行;隨機選取 G1中的生成元g,選擇哈希函數(shù)H1 {0. 1}* — G1,H2 =G2 — G1,其中,兩個哈希函數(shù)的計算過程為=H1將輸入的任意長度的0、1串作為一個整數(shù)i,計算f作為輸出,H2將輸入的( 上的任意元素作為一個整數(shù)i,計算f作為輸出;密鑰生成機構(gòu)隨機選取一個整數(shù)s作為其自身的主秘密,計算得到gs作為基礎(chǔ)參數(shù)。所述密鑰生成機構(gòu)將所述預(yù)設(shè)的素階循環(huán)群G1和(;2、 g、兩個哈希函數(shù)H1和H2、以及基礎(chǔ)參數(shù)gs作為公共參數(shù)發(fā)布??梢岳斫獾氖?,此處的哈希函數(shù)H1和吐僅為選取的其中一種哈希函數(shù)組合,具體實施時,還可以使用其他具體的哈希函數(shù)。對于所述密文發(fā)送端,所述密鑰生成機構(gòu)采用公式:gA = H1GcIa),計算得到&,其中idA是所述密文發(fā)送端10的身份標(biāo)識,例如電子郵件地址。然后將《作為所述密文發(fā)送端的部分私鑰發(fā)送給所述密文發(fā)送端。接收到部分私鑰以及系統(tǒng)公共參數(shù)后,所述密文發(fā)送端可以首先隨機選取整數(shù)Xa 和t作為隨機秘密值,然后根據(jù)公式= feA,^)計算得到本端的公鑰pkA,所述g的t次方表示t個g “相乘”,相乘的具體運算規(guī)則按橢圓曲線點群上的運算規(guī)則執(zhí)行。根據(jù)公式先=《、十算得到本端的私鑰skA。在需要向某一密文接收端發(fā)送密文時,執(zhí)行S102。S102:密文發(fā)送端根據(jù)本端的私鑰和密文接收端公布的公鑰,計算得到代理密鑰, 其中,密文接收端公布的公鑰是所述密文接收端根據(jù)其選取的隨機秘密值和系統(tǒng)公共參數(shù)計算得到的。密文接收端的公鑰以及私鑰的生成與上述SlOl中的密文發(fā)送端的相同。在得到本端的公鑰pkA和私鑰skA后,所述密文發(fā)送模塊會根據(jù)私鑰sk*和對方公布的公鑰,進(jìn)行代理密鑰的計算。其具體的計算方式可以為所述S102隨機選擇密鑰生成機構(gòu)發(fā)布的素階循環(huán)群( 中的一個元素X,計算代理密鑰:rkA—B=(^ ■化Oc),Cms(χ))。其中CBh(X)是使用密文接收端的公鑰對所述元素X 加密得到的結(jié)果。S103 發(fā)送所述代理密鑰,以便于所述密文接收端獲取到根據(jù)所述代理密鑰對所述密文發(fā)送端發(fā)送的密文進(jìn)行重加密操作后的密文。所述S103可以將所述代理密鑰發(fā)送給密文接收端,由所述密文接收端對密文發(fā)送端發(fā)送的密文執(zhí)行重加密操作,使密文接收端獲取到由密文接收端的公鑰加密的密文, 以便于完成解密得到消息的明文。如果密文發(fā)送端和密文接收端是通過代理進(jìn)行密文轉(zhuǎn)發(fā)的,那么所述S103可以將所述代理密鑰發(fā)送給所述代理,由所述代理對密文發(fā)送端發(fā)送的密文執(zhí)行重加密操作, 并將根據(jù)所述代理密鑰對所述密文發(fā)送端發(fā)送的密文進(jìn)行重加密操作后的密文發(fā)送給所述密文接收端,使密文接收端獲取到由密文接收端的公鑰加密的密文,完成解密得到消息的明文。其中,密文發(fā)送端對待加密消息進(jìn)行加密,生成并發(fā)送密文具體可以包括密文發(fā)送端隨機選擇一個整數(shù)作為加密參數(shù);密文發(fā)送端根據(jù)所述加密參數(shù)和自身的公鑰,對待加密消息進(jìn)行加密計算,得到密文。或者,包括密文發(fā)送端隨機選取( 中的一元素作為加密參數(shù);密文發(fā)送端根據(jù)所述加密參數(shù)和自身的公鑰,對待加密消息進(jìn)行加密計算,得到密文。 通過選取特殊結(jié)構(gòu)的代理密鑰,可避免由于接收端和代理合謀可任意解密本端加密的消息的缺陷,不僅可以使用戶加密的消息更安全,而且也可以根據(jù)需要由接收端執(zhí)行重加密操作,使得消息的密文的處理更為靈活。再請參見圖6,是本發(fā)明的密文處理方法的第二實施例的流程示意圖。本實施例中密文發(fā)送端記為用戶A和密文接收端記為用戶B,所述密文處理方法包括S201 密文發(fā)送端獲取密鑰生成機構(gòu)發(fā)布的系統(tǒng)公共參數(shù)以及本端的部分私鑰。具體的,所述密鑰生成機構(gòu)發(fā)布的系統(tǒng)公共參數(shù)包括預(yù)設(shè)的兩個素階循環(huán)群G1 和G2,預(yù)設(shè)的兩個哈希函數(shù)H1和H2,以及根據(jù)所述G1WyHpH2、所述密鑰生成機構(gòu)隨機選取的一個整數(shù)計算得到基礎(chǔ)參數(shù)。對于所述密文發(fā)送端,所述密鑰生成機構(gòu)可采用公式:gA = H1(IcIa)計算得到gA, 其中idA是所述密文發(fā)送端的身份標(biāo)識,例如電子郵件地址。然后將《作為所述密文發(fā)送端的部分私鑰發(fā)送給所述密文發(fā)送端。S202 密文發(fā)送端隨機選取隨機秘密值。S203:密文發(fā)送端根據(jù)其選取的隨機秘密值和獲取的部分私鑰,計算得到本端的私鑰,并根據(jù)所述隨機秘密值和系統(tǒng)公共參數(shù)計算得到本端的公鑰。具體的,所述密文發(fā)送端在接收到部分私鑰后,在所述S202可以首先隨機選取整數(shù)^和t作為隨機秘密值,然后在所述S203中,根據(jù)選取的獲取公鑰pkA的公式可以為…~ =fe ,f),所述g的t次方表示t個g “相乘”,相乘的具體運算規(guī)則按橢圓曲線點群上的運算規(guī)則執(zhí)行。根據(jù)選取的^,以及《,本密文發(fā)送端的私鑰skA的公式可以為 sK = Saa °用戶A希望通過密文發(fā)送端向用戶B的密文接收端發(fā)送密文時,執(zhí)行S204。S204 密文發(fā)送端隨機選擇一個整數(shù)作為加密參數(shù)。S205 密文發(fā)送端根據(jù)所述加密參數(shù)和自身的公鑰,對待加密消息進(jìn)行加密計算, 得到密文。具體的,如果希望加密得到的密文可以被代理給他人解密,所述密文發(fā)送端通過 S204隨機選擇一個整數(shù)r,通過S205計算密文C1 = ,m . C^4/而如果希望加密得到的密文不可以被代理給他人解密,所述密文發(fā)送端通過所述 S204隨機選擇一個整數(shù)r,通過所述S205計算密文C2 = (f,ra . e^^gA /且將密文發(fā)送端
使用自己的公鑰加密且希望不可以被代理給他人解密的加密結(jié)果C2簡記為CBEaOii)。其中e (參1,參幻是橢圓曲線上的雙線性映射函數(shù),具體計算可以使用米勒算法完成。
S206:密文發(fā)送端根據(jù)本端的私鑰和密文接收端公布的公鑰,計算得到代理密鑰。所述S206隨機選擇所述素階循環(huán)群( 中的一個元素X,計算代理密鑰 rkA_B=(g-;^ _/^(X)5CIs(X))。其中CB&00是使用密文接收端的公鑰對元素Χ加密得到的結(jié)果。S207 密文發(fā)送端發(fā)送所述密文和所述代理密鑰。本實施例中,所述S207直接將所述S205得到的密文和所述S206得到的代理密鑰發(fā)送給所述密文接收端。S208:密文接收端根據(jù)接收到的所述代理密鑰對接收到的密文執(zhí)行重加密操作, 得到由密文接收端的公鑰加密的密文,并采用本端的私鑰對所述由密文接收端的公鑰加密的密文進(jìn)行解密。具體的,例如對于上述的密文C1,密文接收端使用代理密鑰rkA_B進(jìn)行密文重加密, 計算Cv =Z^efc4,^^ .efc^ ■坎可得到重加密后的密文,即由密文接收端的公鑰加密的密文C3,C3= (gtr,C' CBK(x))。密文接收端采用自身的私鑰即可完成對密文C3的解密。需要說明的是,在其他實施例中,密文發(fā)送端可將所述密文和所述代理密鑰發(fā)給代理,代理執(zhí)行重加密操作后,把重加密操作的結(jié)果發(fā)送給密文接收端,密文接收端再根據(jù)其自身的私鑰進(jìn)行解密。通過選取隨機秘密值來計算公鑰以及私鑰,可避免由于接收端和代理合謀可任意解密本端加密的消息的缺陷,不僅可以使用戶加密的消息更安全,而且也可以根據(jù)需要由接收端執(zhí)行重加密操作,使得消息的密文的處理更為靈活。再請參見圖7,是本發(fā)明的密文處理方法的第三實施例的流程示意圖。本實施例中包括用戶A和用戶B,所述密文處理方法包括S301 密文發(fā)送端獲取密鑰生成機構(gòu)發(fā)布的系統(tǒng)公共參數(shù)以及本端的部分私鑰。具體的,所述密鑰生成機構(gòu)發(fā)布的系統(tǒng)公共參數(shù)包括預(yù)設(shè)的兩個素階循環(huán)群G1 和G2,預(yù)設(shè)的兩個哈希函數(shù)H1和H2,以及根據(jù)所述G1WyHpH2、所述密鑰生成機構(gòu)隨機選取的一個整數(shù)計算得到基礎(chǔ)參數(shù)。對于所述密文發(fā)送端,所述密鑰生成機構(gòu)可采用公式:gA = H1(IcIa)計算得到gA, 然后將《作為所述密文發(fā)送端的部分私鑰發(fā)送給所述密文發(fā)送端。S302 密文發(fā)送端隨機選取隨機秘密值。S303 密文發(fā)送端根據(jù)其選取的隨機秘密值和獲取的部分私鑰,計算得到本端的私鑰,并根據(jù)所述隨機秘密值和系統(tǒng)公共參數(shù)計算得到本端的公鑰。具體的,所述密文發(fā)送端在接收到部分私鑰后,在所述S302可以首先隨機選取^和t作為隨機秘密值,然后在所述S303中,根據(jù)選取的獲取公鑰pkA的公式可以為…t =fe ,#),根據(jù)選取的以及《,計算本密文發(fā)送端的私鑰skA的公式可以為
s^iA = SAa °用戶A希望通過密文發(fā)送端向用戶B的密文接收端發(fā)送密文時,執(zhí)行S304。S304 密文發(fā)送端隨機選取( 中的一元素作為加密參數(shù)。S305 密文發(fā)送端根據(jù)所述加密參數(shù)和自身的公鑰,對待加密消息進(jìn)行加密計算, 得到密文。
具體的,如果希望加密得到的密文可以被代理給他人解密,對消息m進(jìn)行加密時, 通過所述S304從素階循環(huán)群( 中選取一元素σ作為加密參數(shù),通過所述S305計算r =
H3(m, ),然后計算密文Ο^Υ,σ.+^^/,σ. );而如果希望加密得到的密文不可以被代理給他人解密,對消息m進(jìn)行加密時,通過所述S304從素階循環(huán)群&中選取一元素σ作為加密參數(shù),通過所述S305計算r =
H3(m,σ),然后計算密文C5 = (f, 7. ^,gsx4,σ. ),且 記為CBE' A(x)。S306:密文發(fā)送端根據(jù)本端的私鑰和密文接收端公布的公鑰,計算得到代理密鑰。所述S306隨機選擇所述素階循環(huán)群( 中的一個元素X,計算代理密鑰 rkA_B = (g-;^ . Η'2(χχαΒΕΒ(χ))。其中CB& (χ)是使用密文接收端20的公鑰對所述元素χ加密得到的結(jié)果。S307 密文發(fā)送端發(fā)送所述密文和所述代理密鑰。本實施例中,所述S307直接將所述S305得到的密文和所述S306得到的代理密鑰發(fā)送給所述密文接收端。S308:密文接收端根據(jù)接收到的所述代理密鑰對接收到的密文執(zhí)行重加密操作, 得到由密文接收端的公鑰加密的密文,并采用本端的私鑰對所述由密文接收端的公鑰加密的密文進(jìn)行解密。具體的,例如對于上述的密文C3,密文接收端使用代理密鑰rkA_B進(jìn)行密文重加密, 計算C’ =c.e(gA,g 廣efe-重加密后的密文則為c6 = (gtr, c ‘,σ · m, CBEb (χ))。密文接收端采用自身的私鑰即可完成對密文C6的解密。需要說明的是,在其他實施例中,密文發(fā)送端可將所述密文和所述代理密鑰發(fā)給代理,代理執(zhí)行重加密操作后,把重加密操作的結(jié)果發(fā)送給密文接收端,密文接收端再根據(jù)其自身的私鑰進(jìn)行解密。通過選取隨機秘密值來計算公鑰以及私鑰,可避免由于接收端和代理合謀可任意解密本端加密的消息的缺陷,不僅可以使用戶加密的消息更安全,而且也可以根據(jù)需要由接收端執(zhí)行重加密操作,使得消息的密文的處理更為靈活。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory, RAM)等。以上所揭露的僅為本發(fā)明較佳實施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
權(quán)利要求
1.一種密文處理方法,其特征在于,包括密文發(fā)送端根據(jù)其選取的隨機秘密值和獲取的部分私鑰,計算得到本端的私鑰,并根據(jù)所述隨機秘密值和系統(tǒng)公共參數(shù)計算得到本端的公鑰;根據(jù)本端的私鑰和密文接收端公布的公鑰,計算得到代理密鑰,其中,密文接收端公布的公鑰是所述密文接收端根據(jù)其選取的隨機秘密值和系統(tǒng)公共參數(shù)計算得到的;發(fā)送所述代理密鑰,以便于所述密文接收端獲取到根據(jù)所述代理密鑰對所述密文發(fā)送端發(fā)送的密文進(jìn)行重加密操作后的密文。
2.如權(quán)利要求1所述的方法,其特征在于,所述密文發(fā)送端根據(jù)其選取的隨機秘密值和獲取的部分私鑰,計算得到本端的私鑰,并根據(jù)所述隨機秘密值和系統(tǒng)公共參數(shù)計算得到本端的公鑰之前,還包括密文發(fā)送端獲取密鑰生成機構(gòu)發(fā)布的系統(tǒng)公共參數(shù)以及本端的部分私鑰;其中,所述密鑰生成機構(gòu)發(fā)布的系統(tǒng)公共參數(shù)包括預(yù)設(shè)的兩個素階循環(huán)群(^1和(^G1的生成元g,預(yù)設(shè)的兩個哈希函數(shù)H1和H2,以及根據(jù)所述Gp (;2、g、H1, H2、所述密鑰生成機構(gòu)隨機選取的一個整數(shù)計算得到基礎(chǔ)參數(shù);密文發(fā)送端隨機選取隨機秘密值。
3.如權(quán)利要求1或2所述的方法,其特征在于,還包括密文發(fā)送端對待加密消息進(jìn)行加密,生成并發(fā)送密文,本步驟包括密文發(fā)送端隨機選擇一個整數(shù)作為加密參數(shù);密文發(fā)送端根據(jù)所述加密參數(shù)和自身的公鑰,對待加密消息進(jìn)行加密計算,得到密文。
4.如權(quán)利要求2所述的方法,其特征在于,還包括密文發(fā)送端對待加密消息進(jìn)行加密,生成并發(fā)送密文,本步驟包括密文發(fā)送端隨機選取&中的一元素作為加密參數(shù);密文發(fā)送端根據(jù)所述加密參數(shù)和自身的公鑰,對待加密消息進(jìn)行加密計算,得到密文。
5.如權(quán)利要求1至4任一項所述的方法,其特征在于,所述發(fā)送所述代理密鑰,以便于所述密文接收端獲取到根據(jù)所述代理密鑰對所述密文發(fā)送端發(fā)送的密文進(jìn)行重加密操作后的密文,包括密文發(fā)送端向所述密文接收端發(fā)送所述代理密鑰,以使所述密文接收端根據(jù)所述代理密鑰,將由所述密文發(fā)送端生成并發(fā)送的密文執(zhí)行重加密操作,獲取由密文接收端的公鑰加密的密文,并對獲取的由密文接收端的公鑰加密的密文進(jìn)行解密。
6.如權(quán)利要求1至4任一項所述的方法,其特征在于,所述發(fā)送所述代理密鑰,以便于所述密文接收端獲取到根據(jù)所述代理密鑰對所述密文發(fā)送端發(fā)送的密文進(jìn)行重加密操作后的密文,包括密文發(fā)送端向代理發(fā)送所述代理密鑰,以使所述代理根據(jù)所述代理密鑰,將由所述密文發(fā)送端生成并發(fā)送的密文執(zhí)行密文重加密操作,獲取由密文接收端的公鑰加密的密文, 并將獲取的由密文接收端的公鑰加密的密文發(fā)送給所述密文接收端,由所述密文接收端對轉(zhuǎn)換后的密文進(jìn)行解密;其中,所述代理分別與所述密文發(fā)送端和密文接收端相連接,用于執(zhí)行對密文的重加密操作以及轉(zhuǎn)發(fā)重加密結(jié)果。
7.一種密文處理裝置,其特征在于,包括加密模塊,用于對消息進(jìn)行加密,得到密文;密鑰獲取模塊,用于根據(jù)本端選取的隨機秘密值和獲取的部分私鑰,計算得到本端的私鑰,并根據(jù)所述隨機秘密值和系統(tǒng)公共參數(shù)計算得到本端的公鑰;計算模塊,用于根據(jù)所述密鑰獲取模塊計算得到的私鑰和密文接收端公布的公鑰,計算得到代理密鑰,其中,密文接收端公布的公鑰是所述密文接收端根據(jù)其選取的隨機秘密值和系統(tǒng)公共參數(shù)計算得到的;發(fā)送模塊,用于發(fā)送所述計算模塊計算得到的代理密鑰,以及所述加密模塊加密得到的密文,以便于所述密文接收端獲取到根據(jù)所述代理密鑰對所述密文發(fā)送端發(fā)送的密文進(jìn)行重加密操作后的密文。
8.如權(quán)利要求7所述的裝置,其特征在于,還包括獲取模塊,用于獲取密鑰生成機構(gòu)發(fā)布的所述系統(tǒng)公共參數(shù)以及本端的部分私鑰,并隨機選取隨機秘密值;其中,所述密鑰生成機構(gòu)發(fā)布的系統(tǒng)公共參數(shù)包括預(yù)設(shè)的兩個素階循環(huán)群G1和(^G1 的一個生成元g,預(yù)設(shè)的兩個哈希函數(shù)H1和H2,以及根據(jù)所述‘^^、!^、知所述密鑰生成機構(gòu)隨機選取的一個整數(shù)計算得到基礎(chǔ)參數(shù)。
9.如權(quán)利要求7或8所述的裝置,其特征在于,所述加密模塊包括 第一選取單元,用于隨機選擇一個整數(shù)作為加密參數(shù);第一密文生成單元,用于根據(jù)所述加密參數(shù)和自身的公鑰,對待加密消息進(jìn)行加密計算,得到所述密文。
10.如權(quán)利要求8所述的裝置,其特征在于,所述加密模塊包括 第二選取單元,用于隨機選取( 中的一元素作為加密參數(shù);第二密文生成單元,用于根據(jù)所述加密參數(shù)和自身的公鑰,對待加密消息進(jìn)行加密計算,得到密文。
11.如權(quán)利要求7至10任一項所述的裝置,其特征在于, 所述獲取模塊還用于接收密文和代理密鑰;所述裝置還包括重加密模塊,用于根據(jù)所述接收模塊接收到的代理密鑰,對所述接收模塊接收到的密文執(zhí)行重加密操作,將其轉(zhuǎn)換為由本端的公鑰加密的密文;解密模塊,用于根據(jù)本端的私鑰,對所述重加密模塊轉(zhuǎn)換得到的由本端的公鑰加密的密文進(jìn)行解密。
12.一種密文處理系統(tǒng),其特征在于,包括密文發(fā)送端,密文接收端,以及密鑰生成機構(gòu),其中,所述密鑰生成機構(gòu),用于發(fā)布系統(tǒng)公共參數(shù),以及所述密文發(fā)送端和所述密文接收端對應(yīng)的部分私鑰;所述密文接收端,用于根據(jù)其選取的隨機秘密值和系統(tǒng)公共參數(shù)計算得到其自身的公鑰,并公布所述公鑰;所述密文發(fā)送端,用于根據(jù)本端選取的隨機秘密值和獲取的部分私鑰,計算得到本端的私鑰,根據(jù)所述隨機秘密值和系統(tǒng)公共參數(shù)計算得到本端的公鑰,并根據(jù)本端的私鑰和所述密文接收端公布的公鑰,計算得到代理密鑰,并向所述密文接收端發(fā)送所述代理密鑰;所述密文接收端還用于接收所述密文發(fā)送端發(fā)送的代理密鑰,并根據(jù)所述代理密鑰, 對所述密文發(fā)送端發(fā)送的密文執(zhí)行重加密操作,將密文轉(zhuǎn)換為由自身公鑰加密的密文,并對轉(zhuǎn)換后的由自身公鑰加密的密文進(jìn)行解密。
13. —種密文處理系統(tǒng),其特征在于,包括密文發(fā)送端,密文接收端,代理,以及密鑰生成機構(gòu),其中,所述密鑰生成機構(gòu),用于發(fā)布系統(tǒng)公共參數(shù),以及所述密文發(fā)送端和所述密文接收端對應(yīng)的部分私鑰;所述密文接收端,用于根據(jù)其選取的隨機秘密值和系統(tǒng)公共參數(shù)計算得到其自身的公鑰,并公布所述公鑰;所述代理與所述密文接收端和密文發(fā)送端相連接;所述密文發(fā)送端,用于根據(jù)本端選取的隨機秘密值和獲取的部分私鑰,計算得到本端的私鑰,根據(jù)所述隨機秘密值和系統(tǒng)公共參數(shù)計算得到本端的公鑰,并根據(jù)本端的私鑰和所述密文接收端公布的公鑰,計算得到代理密鑰,并向所述代理發(fā)送所述代理密鑰;所述代理,用于接收所述密文發(fā)送端發(fā)送的代理密鑰,并根據(jù)所述代理密鑰,對所述密文發(fā)送端發(fā)送的密文執(zhí)行重加密操作,將所述密文轉(zhuǎn)換為由所述密文接收端的公鑰加密的密文,并將轉(zhuǎn)換后的密文發(fā)送給所述密文接收端;所述密文接收端還用于對所述轉(zhuǎn)換后的密文進(jìn)行解密。
全文摘要
本發(fā)明實施例公開了一種密文處理方法、裝置及系統(tǒng),所述方法包括密文發(fā)送端選取隨機秘密值;根據(jù)本端獲取的部分私鑰和所述隨機秘密值,計算得到本端的私鑰;根據(jù)本端的私鑰和密文接收端公布的公鑰,計算得到代理密鑰,其中,密文接收端公布的公鑰是所述密文接收端根據(jù)其選取的隨機秘密值和系統(tǒng)公共參數(shù)計算得到的;發(fā)送所述代理密鑰,以便于所述密文接收端獲取到根據(jù)所述代理密鑰對所述密文發(fā)送端發(fā)送的密文進(jìn)行密文轉(zhuǎn)換后的密文并進(jìn)行解密。采用本發(fā)明實施例,可有效避免密文重加密技術(shù)在合謀方面存在的缺陷,較好地保證信息安全,同時本發(fā)明的實現(xiàn)避免了使用公鑰基礎(chǔ)設(shè)施(PKI),具有更好的擴展性。
文檔編號H04L9/30GK102404121SQ20111039025
公開日2012年4月4日 申請日期2011年11月30日 優(yōu)先權(quán)日2011年11月30日
發(fā)明者吳曉昕, 張新文, 徐磊 申請人:華為技術(shù)有限公司