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

終端及其不可抵賴(lài)的加密簽名方法和裝置與流程

文檔序號(hào):11436222閱讀:276來(lái)源:國(guó)知局
終端及其不可抵賴(lài)的加密簽名方法和裝置與流程

本發(fā)明涉及到數(shù)字簽名領(lǐng)域,特別是涉及到一種終端及其不可抵賴(lài)的加密簽名方法和裝置。



背景技術(shù):

在一些安全應(yīng)用中需要對(duì)數(shù)據(jù)進(jìn)行加密保護(hù),同時(shí)要保證數(shù)據(jù)發(fā)送方身份的真實(shí)性。一般的方法是對(duì)數(shù)據(jù)簽名后,再對(duì)數(shù)據(jù)加密,或者先對(duì)數(shù)據(jù)加密后,再對(duì)數(shù)據(jù)進(jìn)行簽名。但是這種分別執(zhí)行完整的加密方法和簽名方法的保護(hù)方法會(huì)導(dǎo)致輸出結(jié)果為加密方法輸出和簽名方法輸出的總長(zhǎng)度。

一種輸出長(zhǎng)度短、驗(yàn)證方法簡(jiǎn)單的加密簽名方法是有需求的。



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

本發(fā)明的主要目的為提供一種輸出長(zhǎng)度短、驗(yàn)證方法簡(jiǎn)單的終端及其不可抵賴(lài)的加密簽名方法和裝置。

為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提出一種不可抵賴(lài)的加密簽名方法,包括:

加密簽名端獲取密鑰生成中心的標(biāo)識(shí)密碼系統(tǒng)參數(shù),生成簽名公鑰和簽名私鑰的密鑰對(duì);

對(duì)消息m使用解密驗(yàn)簽端的標(biāo)識(shí)id_b加密,以及對(duì)加密結(jié)果數(shù)據(jù)和消息m使用所述簽名私鑰進(jìn)行短簽名,生成加密簽名結(jié)果數(shù)據(jù);

通過(guò)所述解密驗(yàn)簽端利用標(biāo)識(shí)密碼系統(tǒng)參數(shù)、標(biāo)識(shí)id_b對(duì)應(yīng)的標(biāo)識(shí)解密私鑰d_b以及所述簽名公鑰,對(duì)所述加密簽名結(jié)果數(shù)據(jù)進(jìn)行解密驗(yàn)簽,如果驗(yàn)證不成功,則解密輸出空值。

進(jìn)一步地,所述標(biāo)識(shí)密碼系統(tǒng)參數(shù)為<e,e,p1,p2,[s]p1,[s]p2,h,kdf>;其中,

e為密鑰生成中心選擇的一條橢圓曲線(xiàn);

e為雙線(xiàn)性對(duì);

p1和p2為點(diǎn)群g1和g2中的兩個(gè)點(diǎn);g1和g2為橢圓曲線(xiàn)e上的兩個(gè)階為素?cái)?shù)q的點(diǎn)群;

s為主私鑰,其為隨機(jī)選擇的0到q之間的整數(shù);

[s]p1為s個(gè)p1相加;

[s]p2為s個(gè)p2相加;

h為映射函數(shù),其將一個(gè)比特串o映射到[1,q-1]上;

kdf為標(biāo)準(zhǔn)的密鑰派生函數(shù)。

進(jìn)一步地,所述解密驗(yàn)簽端的標(biāo)識(shí)解密私鑰d_b為:

d_b=[s/(h(1||id_b)+s)]p2。

進(jìn)一步地,所述加密簽名端獲取密鑰生成中心的標(biāo)識(shí)密碼系統(tǒng)參數(shù),生成簽名公鑰和簽名私鑰的密鑰對(duì)的步驟,包括:

所述加密簽名端獲取密鑰生成中心的所述標(biāo)識(shí)密碼系統(tǒng)參數(shù)<e,e,p1,p2,[s]p1,[s]p2,h,kdf>;

隨機(jī)選擇0到q之間的整數(shù)x,將所述x作為所述簽名私鑰;

選擇g1和g2中的兩個(gè)點(diǎn)f1和f2,將<f1,f2,[x]f2>、<f1,f2,[x]f1>、<f1,f2,f=e(f1,f2)x>中的一種作為所述簽名公鑰。

進(jìn)一步地,所述f1=p1,所述f2=p2。

進(jìn)一步地,所述對(duì)消息m使用解密驗(yàn)簽端的標(biāo)識(shí)id_b加密,以及對(duì)加密結(jié)果數(shù)據(jù)和消息m使用所述簽名私鑰進(jìn)行短簽名,生成加密簽名結(jié)果數(shù)據(jù)的步驟,包括:

計(jì)算整數(shù)h1=h(1||id_b);

計(jì)算解密驗(yàn)簽端的公鑰q_b=[h1]p1+[s]p1;

產(chǎn)生隨機(jī)數(shù)r∈[1,q-1];

計(jì)算x=[r]q_b,將x數(shù)據(jù)類(lèi)型轉(zhuǎn)換為比特串c1;

計(jì)算w=gr,將w的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為比特串u,其中,g=e(p1,[s]p2);

準(zhǔn)備密鑰派生輸入xi,其中,所述xi包含c1和u的拼接;

計(jì)算和m一樣長(zhǎng)度的k=kdf(xi);

計(jì)算c2=m⊕k;

準(zhǔn)備哈希輸入hi,其中,所述hi包含一個(gè)哈希操作索引、m和u的拼接;

計(jì)算整數(shù)h=h(hi);

計(jì)算s=[x/(h+x)]f1,將s數(shù)據(jù)類(lèi)型轉(zhuǎn)換為比特串c3;

將<c1,c2,c3>作為輸出,給所述消息m進(jìn)行加密簽名。

進(jìn)一步地,所述通過(guò)所述解密驗(yàn)簽端利用標(biāo)識(shí)密碼系統(tǒng)參數(shù)、標(biāo)識(shí)id_b對(duì)應(yīng)的標(biāo)識(shí)解密私鑰d_b以及所述簽名公鑰,對(duì)所述加密簽名結(jié)果數(shù)據(jù)進(jìn)行解密驗(yàn)簽,如果驗(yàn)證不成功,則解密輸出空值的步驟,包括:

通過(guò)所述解密驗(yàn)簽端將c1的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為橢圓曲線(xiàn)e上的點(diǎn)x,檢驗(yàn)x∈g1是否成立;

若否,則通過(guò)所述解密驗(yàn)簽端直接判定則驗(yàn)證失敗;

通過(guò)所述解密驗(yàn)簽端將所述c3的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為橢圓曲線(xiàn)e上的點(diǎn)s,檢驗(yàn)s∈g1是否成立;

若否,則通過(guò)所述解密驗(yàn)簽端直接判定則驗(yàn)證失?。?/p>

若所述x∈g1以及s∈g1均成立,則通過(guò)所述解密驗(yàn)簽端計(jì)算w=e(x,d_b);將w的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為比特串u;

通過(guò)所述解密驗(yàn)簽端準(zhǔn)備密鑰派生輸入xi,其中,所述xi包含c1和u的拼接;

通過(guò)所述解密驗(yàn)簽端計(jì)算和c2一樣長(zhǎng)度的k=kdf(xi);

通過(guò)所述解密驗(yàn)簽端計(jì)算m=c2⊕k;

通過(guò)所述解密驗(yàn)簽端準(zhǔn)備密鑰派生輸入hi,其中,所述hi包含一個(gè)哈希操作索引、m和u的拼接;

通過(guò)所述解密驗(yàn)簽端計(jì)算整數(shù)h=h(hi);

通過(guò)所述解密驗(yàn)簽端計(jì)算加密簽名端的公鑰q_a=[h1]f2+[s]f2;

通過(guò)所述解密驗(yàn)簽端計(jì)算u=e(s,q_a);

通過(guò)所述解密驗(yàn)簽端計(jì)算f=e(f1,[x]f2);

通過(guò)所述解密驗(yàn)簽端檢驗(yàn)f=u是否成立,若是,則驗(yàn)證通過(guò),否則驗(yàn)證失敗,解密輸出空值。

本發(fā)明還提供一種不可抵賴(lài)的加密簽名裝置,包括:

簽名密鑰對(duì)生成單元,用于加密簽名端獲取密鑰生成中心的標(biāo)識(shí)密碼系統(tǒng)參數(shù),生成簽名公鑰和簽名私鑰的密鑰對(duì);

加密簽名單元,用于對(duì)消息m使用解密驗(yàn)簽端的標(biāo)識(shí)id_b加密,以及對(duì)加密結(jié)果數(shù)據(jù)和消息m使用所述簽名私鑰進(jìn)行短簽名,生成加密簽名結(jié)果數(shù)據(jù);

解密驗(yàn)簽單元,用于通過(guò)所述解密驗(yàn)簽端利用標(biāo)識(shí)密碼系統(tǒng)參數(shù)、標(biāo)識(shí)id_b對(duì)應(yīng)的標(biāo)識(shí)解密私鑰d_b以及所述簽名公鑰,對(duì)所述加密簽名結(jié)果數(shù)據(jù)進(jìn)行解密驗(yàn)簽,如果驗(yàn)證不成功,則解密輸出空值。

進(jìn)一步地,所述標(biāo)識(shí)密碼系統(tǒng)參數(shù)為<e,e,p1,p2,[s]p1,[s]p2,h,kdf>;其中,

e為密鑰生成中心選擇的一條橢圓曲線(xiàn);

e為雙線(xiàn)性對(duì);

p1和p2為點(diǎn)群g1和g2中的兩個(gè)點(diǎn);g1和g2為橢圓曲線(xiàn)e上的兩個(gè)階為素?cái)?shù)q的點(diǎn)群;

s為主私鑰,其為隨機(jī)選擇的0到q之間的整數(shù);

[s]p1為s個(gè)p1相加;

[s]p2為s個(gè)p2相加;

h為映射函數(shù),其將一個(gè)比特串o映射到[1,q-1]上;

kdf為標(biāo)準(zhǔn)的密鑰派生函數(shù)。

進(jìn)一步地,所述解密驗(yàn)簽端的標(biāo)識(shí)解密私鑰d_b為:

d_b=[s/(h(1||id_b)+s)]p2。

進(jìn)一步地,所述簽名密鑰對(duì)生成單元,包括:

獲取模塊,用于所述加密簽名端獲取所述標(biāo)識(shí)密碼系統(tǒng)參數(shù)<e,e,p1,p2,[s]p1,[s]p2,h,kdf>;

第一選擇模塊,用于隨機(jī)選擇0到q之間的整數(shù)x,將所述x作為所述簽名私鑰;

第二選擇模塊,用于選擇g1和g2中的兩個(gè)點(diǎn)f1和f2,將<f1,f2,[x]f2>、<f1,f2,[x]f1>、<f1,f2,f=e(f1,f2)x>中的一種作為所述簽名公鑰。

進(jìn)一步地,所述f1=p1,所述f2=p2。

進(jìn)一步地,,所述加密簽名單元,包括:

加密第一計(jì)算模塊,用于計(jì)算整數(shù)h1=h(1||id_b);

加密第二計(jì)算模塊,用于計(jì)算解密驗(yàn)簽端的公鑰q_b=[h1]p1+[s]p1;

選擇模塊,用于產(chǎn)生隨機(jī)數(shù)r∈[1,q-1];

加密第三計(jì)算模塊,用于計(jì)算x=[r]q_b,將x數(shù)據(jù)類(lèi)型轉(zhuǎn)換為比特串c1;

加密第四計(jì)算模塊,用于計(jì)算w=gr,將w的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為比特串u,其中,g=e(p1,[s]p2);

加密第五計(jì)算模塊,準(zhǔn)備密鑰派生輸入xi,xi包含c1和u的拼接,可選地,還可拼接id_b;

加密第六計(jì)算模塊,用于計(jì)算和m一樣長(zhǎng)度的k=kdf(xi);

加密第七計(jì)算模塊,用于計(jì)算c2=m⊕k;

加密第八計(jì)算模塊,用于準(zhǔn)備哈希輸入hi,其中,所述hi包含哈希操作索引、m和u的拼接;

加密第九計(jì)算模塊,用于計(jì)算整數(shù)h=h(hi);

加密第十計(jì)算模塊,用于計(jì)算s=[x/(h+x)]f1,將s數(shù)據(jù)類(lèi)型轉(zhuǎn)換為比特串c3;

輸出模塊,用于通過(guò)所述加密簽名端將<c1,c2,c3>作為輸出,給所述消息m進(jìn)行加密簽名。

進(jìn)一步地,所述解密驗(yàn)簽單元,包括:

第一選擇判斷模塊,用于通過(guò)所述解密驗(yàn)簽端將c1的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為橢圓曲線(xiàn)e上的點(diǎn)x,檢驗(yàn)x∈g1是否成立;

第一驗(yàn)證模塊,用于若x∈g1不成立,則通過(guò)所述解密驗(yàn)簽端直接判定則驗(yàn)證失?。?/p>

第二選擇判斷模塊,用于通過(guò)所述解密驗(yàn)簽端將c3的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為橢圓曲線(xiàn)e上的點(diǎn)s,檢驗(yàn)s∈g1是否成立;

第二驗(yàn)證模塊,用于若s∈g1不成立,則通過(guò)所述解密驗(yàn)簽端直接判定則驗(yàn)證失?。?/p>

解密第一計(jì)算模塊,用于若x∈g1以及s∈g1均成立,則通過(guò)所述解密驗(yàn)簽端計(jì)算w=e(x,d_b);將w的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為比特串u;

解密第二計(jì)算模塊,用于通過(guò)所述解密驗(yàn)簽端準(zhǔn)備密鑰派生輸入xi,其中,所述xi包含c1和u的拼接;

解密第三計(jì)算模塊,用于通過(guò)所述解密驗(yàn)簽端計(jì)算和c2一樣長(zhǎng)度的k=kdf(xi);

解密第四計(jì)算模塊,用于通過(guò)所述解密驗(yàn)簽端計(jì)算m=c2⊕k;

解密第五計(jì)算模塊,用于通過(guò)所述解密驗(yàn)簽端準(zhǔn)備哈希輸入hi,其中,所述hi包含一個(gè)哈希操作索引、m和u的拼接;

解密第六計(jì)算模塊,用于通過(guò)所述解密驗(yàn)簽端計(jì)算整數(shù)h=h(hi);

解密第七計(jì)算模塊,用于通過(guò)所述解密驗(yàn)簽端計(jì)算加密簽名端的公鑰q_a=[h1]f2+[s]f2;

解密第八計(jì)算模塊,用于通過(guò)所述解密驗(yàn)簽端計(jì)算u=e(s,q_a);

解密第九計(jì)算模塊,用于通過(guò)所述解密驗(yàn)簽端計(jì)算f=e(f1,[x]f2);

第三驗(yàn)證模塊,用于通過(guò)所述解密驗(yàn)簽端檢驗(yàn)f=u是否成立,若是,則驗(yàn)證通過(guò),否則驗(yàn)證失敗。

本發(fā)明還提供一種終端,包括存儲(chǔ)器和處理器;

所述存儲(chǔ)器用于存儲(chǔ)支持不可抵賴(lài)的加密簽名裝置執(zhí)行上述任一項(xiàng)所述的不可抵賴(lài)的加密簽名方法的程序;

所述處理器被配置為用于執(zhí)行所述存儲(chǔ)器中存儲(chǔ)的程序。

本發(fā)明的終端及其不可抵賴(lài)的簽名方法和裝置,加密簽名結(jié)果數(shù)據(jù)是通過(guò)短簽形成的,所以加密簽名端輸出結(jié)果長(zhǎng)度短,驗(yàn)證簡(jiǎn)單,既保證了數(shù)據(jù)的私密性,又保證了數(shù)據(jù)的真實(shí)性。

附圖說(shuō)明

圖1為本發(fā)明一實(shí)施例的不可抵賴(lài)的簽名方法的流程示意圖;

圖2為本發(fā)明一實(shí)施例的生成簽名公鑰和簽名私鑰的密鑰對(duì)的方法流程示意圖;

圖3為本發(fā)明一實(shí)施例的生成加密簽名結(jié)果數(shù)據(jù)的方法流程示意圖;

圖4為本發(fā)明一實(shí)施例的對(duì)加密簽名結(jié)果數(shù)據(jù)進(jìn)行解密驗(yàn)簽的方法流程示意圖;

圖5為本發(fā)明一時(shí)實(shí)施例的不可抵賴(lài)的簽名裝置的結(jié)構(gòu)示意框圖;

圖6為本發(fā)明一實(shí)施例的獲取單元的結(jié)構(gòu)示意框圖;

圖7為本發(fā)明一實(shí)施例的獲取單元的結(jié)構(gòu)示意框圖;

圖8為本發(fā)明一實(shí)施例的解密驗(yàn)簽單元的結(jié)構(gòu)示意框圖;

圖9為本發(fā)明一實(shí)施例的終端的結(jié)構(gòu)示意框圖。

本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。

具體實(shí)施方式

應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

參照?qǐng)D1,本發(fā)明實(shí)施例提供一種不可抵賴(lài)的加密簽名方法,包括:

s1、加密簽名端獲取密鑰生成中心的標(biāo)識(shí)密碼系統(tǒng)參數(shù),生成簽名公鑰和簽名私鑰的密鑰對(duì);

s2、對(duì)消息m使用解密驗(yàn)簽端的標(biāo)識(shí)id_b加密,以及對(duì)加密結(jié)果數(shù)據(jù)和消息m使用所述簽名私鑰進(jìn)行短簽名,生成加密簽名結(jié)果數(shù)據(jù);

s3、通過(guò)所述解密驗(yàn)簽端利用標(biāo)識(shí)密碼系統(tǒng)參數(shù)、標(biāo)識(shí)id_b對(duì)應(yīng)的標(biāo)識(shí)解密私鑰d_b以及所述簽名公鑰,對(duì)所述加密簽名結(jié)果數(shù)據(jù)進(jìn)行解密驗(yàn)簽,如果驗(yàn)證不成功,則解密輸出空值。

如上述步驟s1所述,上述解密驗(yàn)簽端和加密簽名端為智能電子設(shè)備,如電腦、筆記本電腦、智能手機(jī)、平板電腦等;智能電子設(shè)備在加密簽名時(shí),即為加密簽名端,在解密驗(yàn)簽時(shí),即為解密驗(yàn)簽端。上述密鑰生成中心即為密鑰管理中心,是公鑰基礎(chǔ)設(shè)施中的一個(gè)重要組成部分,提供密鑰的生成、保存、備份、更新、恢復(fù)、查詢(xún)等密鑰服務(wù),可以解決分布式企業(yè)應(yīng)用環(huán)境中大規(guī)模密碼技術(shù)應(yīng)用所帶來(lái)的密鑰管理問(wèn)題。上述密鑰生成中心生成的標(biāo)識(shí)密碼系統(tǒng)參數(shù)為<e,e,p1,p2,[s]p1,[s]p2,h,kdf>;其中,

e為密鑰生成中心選擇的一條橢圓曲線(xiàn);

e為雙線(xiàn)性對(duì);

p1和p2為點(diǎn)群g1和g2中的兩個(gè)點(diǎn);g1和g2為橢圓曲線(xiàn)e上的兩個(gè)階為素?cái)?shù)q的點(diǎn)群;

s為主私鑰,其為隨機(jī)選擇的0到q之間的整數(shù);

[s]p1為s個(gè)p1相加;

[s]p2為s個(gè)p2相加;

h為映射函數(shù),其將一個(gè)比特串o映射到[1,q-1]上;

kdf為標(biāo)準(zhǔn)的密鑰派生函數(shù)。

在上述標(biāo)識(shí)密碼系統(tǒng)參數(shù)中還可以加入g=e(p1,[s]p2),即標(biāo)識(shí)密碼系統(tǒng)參數(shù)為<e,e,p1,p2,[s]p1,[s]p2,g=e(p1,[s]p2,h,kdf>,因?yàn)間=e(p1,[s]p2)可以通過(guò)已知的參數(shù)計(jì)算得出,所以,可以根據(jù)需要加入或不加入上述標(biāo)識(shí)密碼系統(tǒng)參數(shù)中。

上述加密簽名端的簽名公鑰和簽名私鑰,均使用標(biāo)識(shí)密碼系統(tǒng)參數(shù)中的參數(shù)計(jì)算而成,但是無(wú)需在密鑰生成中心生成,而是在加密簽名端完成,無(wú)需將消息m發(fā)送至密鑰生成中心進(jìn)行加密處理等。

如上述步驟s2所述,上述加密簽名結(jié)果數(shù)據(jù)是通過(guò)短簽形成的,所以加密簽名端輸出結(jié)果長(zhǎng)度短。

如上述步驟s3所述,通過(guò)解密驗(yàn)簽端利用預(yù)設(shè)的規(guī)則,獲取指定的參數(shù)對(duì)加密簽名結(jié)果數(shù)據(jù)進(jìn)行解密驗(yàn)簽。在驗(yàn)簽過(guò)程中,上述標(biāo)識(shí)解密私鑰d_b即為利用解密驗(yàn)簽端的標(biāo)識(shí)id_b和預(yù)設(shè)的計(jì)算規(guī)則而獲得,本實(shí)施例中,d_b=[s/(h(1||id_b)+s)]p2。

參照?qǐng)D2,本實(shí)施例中,上述加密簽名端獲取密鑰生成中心的標(biāo)識(shí)密碼系統(tǒng)參數(shù),生成簽名公鑰和簽名私鑰的密鑰對(duì)的步驟s1,包括:

s101、所述加密簽名端獲取密鑰生成中心的上述標(biāo)識(shí)密碼系統(tǒng)參數(shù)<e,e,p1,p2,[s]p1,[s]p2,h,kdf>;

s102、隨機(jī)選擇0到q之間的整數(shù)x,將所述x作為所述簽名私鑰;

s103、選擇g1和g2中的兩個(gè)點(diǎn)f1和f2,將<f1,f2,[x]f2>、<f1,f2,[x]f1>、<f1,f2,f=e(f1,f2)x>中的一種作為所述簽名公鑰。

如上述步驟s101、s102和s103所述,即為加密簽名端生成簽名私鑰和簽名公鑰的過(guò)程。本實(shí)施例中,可以選擇將f1=p1,f2=p2,方便后期計(jì)算和驗(yàn)證等。

參照?qǐng)D3,本實(shí)施例中,上述對(duì)消息m使用解密驗(yàn)簽端的標(biāo)識(shí)id_b加密,以及對(duì)加密結(jié)果數(shù)據(jù)和消息m使用所述簽名私鑰進(jìn)行短簽名,生成加密簽名結(jié)果數(shù)據(jù)的步驟s2,包括:

s201、計(jì)算整數(shù)h1=h(1||id_b);

s202、計(jì)算解密驗(yàn)簽端的公鑰q_b=[h1]p1+[s]p1;

s203、產(chǎn)生隨機(jī)數(shù)r∈[1,q-1];

s204、計(jì)算x=[r]q_b,將x數(shù)據(jù)類(lèi)型轉(zhuǎn)換為比特串c1;

s205、計(jì)算w=gr,將w的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為比特串u,其中,g=e(p1,[s]p2);

s206、準(zhǔn)備密鑰派生輸入xi,其中,所述xi包含c1和u的拼接,可選地,還可以拼接id_b;

s207、計(jì)算和m一樣長(zhǎng)度的k=kdf(xi);

s208、計(jì)算c2=m⊕k;

s209、準(zhǔn)備哈希輸入hi,其中,所述hi包含一個(gè)哈希操作索引、m和u的拼接,可選地,還可以拼接c1、id_a、id_b;

s210、計(jì)算整數(shù)h=h(hi);

s211、計(jì)算s=[x/(h+x)]f1,將s數(shù)據(jù)類(lèi)型轉(zhuǎn)換為比特串c3;

s212、將<c1,c2,c3>作為輸出,給所述消息m進(jìn)行加密簽名。

如上述步驟s201至s212所述,即為利用上述簽名公鑰和簽名私鑰等參數(shù)給消息m進(jìn)行加密簽名的具體過(guò)程,其簽名過(guò)程為短簽名的過(guò)程,消息m加密簽名后的長(zhǎng)度較小。上述操作索引用于區(qū)分計(jì)算過(guò)程中的各次哈希操作。其取值無(wú)特定要求,只需保證不同的哈希操作使用的哈希操作索引不同,比如h=h(2||m||u||c1||id_a||id_b)中,操作索引即為2。

參照?qǐng)D4,本實(shí)施例中,上述通過(guò)所述解密驗(yàn)簽端利用標(biāo)識(shí)密碼系統(tǒng)參數(shù)、標(biāo)識(shí)id_b對(duì)應(yīng)的標(biāo)識(shí)解密私鑰d_b以及所述簽名公鑰,對(duì)所述加密簽名結(jié)果數(shù)據(jù)進(jìn)行解密驗(yàn)簽,如果驗(yàn)證不成功,則解密輸出空值的步驟s3,包括:

s301、通過(guò)解密驗(yàn)簽端將c1的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為橢圓曲線(xiàn)e上的點(diǎn)x,檢驗(yàn)x∈g1是否成立;

s302、若否,則通過(guò)解密驗(yàn)簽端直接判定則驗(yàn)證失敗,解密輸出空值;

s303、通過(guò)所述解密驗(yàn)簽端將所述c3的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為橢圓曲線(xiàn)e上的點(diǎn)s,檢驗(yàn)s∈g1是否成立;

s304、若否,則通過(guò)所述解密驗(yàn)簽端直接判定則驗(yàn)證失?。?/p>

s305、若所述x∈g1以及s∈g1均成立,則通過(guò)解密驗(yàn)簽端計(jì)算w=e(x,d_b);將w的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為比特串u;

s306、通過(guò)所述解密驗(yàn)簽端準(zhǔn)備密鑰派生輸入xi,其中,所述xi包含c1和u的拼接,可選地,還可以拼接id_b;

s307、通過(guò)解密驗(yàn)簽端計(jì)算和c2一樣長(zhǎng)度的k=kdf(xi);s308、通過(guò)解密驗(yàn)簽端計(jì)算m=c2⊕k;

s309、通過(guò)所述解密驗(yàn)簽端準(zhǔn)備密鑰派生輸入hi,其中,所述hi包含一個(gè)哈希操作索引、m和u的拼接,可選地,還可以拼接c1、id_a、id_b;

s310、通過(guò)解密驗(yàn)簽端計(jì)算整數(shù)h=h(hi);

s311、通過(guò)解密驗(yàn)簽端計(jì)算加密簽名端的公鑰q_a=[h1]f2+[s]f2;

s312、通過(guò)解密驗(yàn)簽端計(jì)算u=e(s,q_a);

s313、通過(guò)解密驗(yàn)簽端計(jì)算f=e(f1,[x]f2);

s314、通過(guò)解密驗(yàn)簽端檢驗(yàn)f=u是否成立,若是,則驗(yàn)證通過(guò),否則驗(yàn)證失敗,解密輸出空值。

如上述步驟s301至s314所述,即為解密驗(yàn)簽的過(guò)程,解密驗(yàn)簽過(guò)程簡(jiǎn)單而安全。

在一具體實(shí)施例中,整個(gè)解密驗(yàn)簽過(guò)程中,需要三方協(xié)作,即密鑰生成中心、加密簽名端和解密驗(yàn)簽端,其過(guò)程具體為:

雙線(xiàn)性對(duì)是一種具有以下三個(gè)特性的二元映射e:g1xg2→gt

1.二元線(xiàn)性:e([s]p,[t]q)=e(p,q)st.s,t∈z/zq.p∈g1,q∈g2,g1是一個(gè)階為q的循環(huán)群,g2是一個(gè)冪為q群,其子群階為q.[s]p表示s個(gè)p相加。

2.非退化性:存在非0元p和q,e(p,q)≠1.

3.可計(jì)算性:有多項(xiàng)式時(shí)間方法計(jì)算e(p,q).

現(xiàn)在已知的雙線(xiàn)性對(duì)有橢圓曲線(xiàn)上的weil、tate、ate、r-ate、優(yōu)化ate對(duì)等。

步驟a:密鑰生成中心選擇一條橢圓曲線(xiàn)e,其特征是有可高效計(jì)算的雙線(xiàn)性對(duì)e。確定曲線(xiàn)e上的兩個(gè)階為素?cái)?shù)q的點(diǎn)群g1和g2。分別選擇g1和g2中的兩個(gè)點(diǎn)p1和p2。隨機(jī)選擇0<s<q的整數(shù)s作為主私鑰,計(jì)算[s]p1,[s]p2以及g=e(p1,[s]p2)。其中[s]p表示標(biāo)準(zhǔn)的s個(gè)p相加。密鑰生成中心公開(kāi)標(biāo)識(shí)密碼系統(tǒng)參數(shù)<e,e,p1,p2,[s]p1,[s]p2,g=e(p1,[s]p2),h,kdf>。其中g(shù)=e(p1,[s]p2)可以預(yù)計(jì)算,所以可以不作為系統(tǒng)參數(shù)的一部分;消息映射函數(shù)h將一個(gè)比特串o映射到[1,q-1]上;kdf是標(biāo)準(zhǔn)的密鑰派生函數(shù)。

步驟b、密鑰生成中心生成標(biāo)識(shí)id_b對(duì)應(yīng)的標(biāo)識(shí)解密私鑰:

d_b=[s/(h(1||id_ba)+s)]p2,其中,標(biāo)識(shí)id_b為解密驗(yàn)簽端的標(biāo)識(shí)id_b。

步驟c、加密簽名端擁有標(biāo)識(shí)id_a,其獲得密鑰生成中心公開(kāi)的標(biāo)識(shí)密碼系統(tǒng)參數(shù)<e,e,p1,p2,[s]p1,[s]p2,g=e(p1,[s]p2),h,kdf>后,隨機(jī)選擇0<x<q的整數(shù)x,選擇g1和g2中的兩個(gè)點(diǎn)f1和f2,計(jì)算[x]f2,將<f1,f2,f=e(f1,[x]f2)>作為其公鑰數(shù)據(jù),其中f=e(f1,[x]f2)可以由雙線(xiàn)對(duì)計(jì)算得出,所以可以不用作為公鑰的部分,x作為其簽名私鑰??蛇x的方法是設(shè)置f1=p1,f2=p2。

步驟d、加密簽名人獲得系統(tǒng)公開(kāi)參數(shù)<e,e,p1,p2,[s]p2,g=e(p1,[s]p2),h,kdf>以及簽名公鑰<f1,f2>,簽名私鑰x后,對(duì)消息m進(jìn)行加密簽名給解密驗(yàn)簽端。加密簽名方法為:

d1:計(jì)算整數(shù)h1=h(1||id_b);

d2:計(jì)算q_b=[h1]p1+[s]p1;

d3:產(chǎn)生隨機(jī)數(shù)r[1,q-1];

d4:計(jì)算x=[r]q_b,將x數(shù)據(jù)類(lèi)型轉(zhuǎn)換為比特串c1;

d5:計(jì)算w=gr,將w的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為比特串u;

d6:計(jì)算和m一樣長(zhǎng)度的k=kdf(c1||u||id_b);

d7:計(jì)算c2=m⊕k;

d8:計(jì)算整數(shù)h=h(2||m||u||c1||id_a||id_b);

d9:計(jì)算s=[x/(h+x)]f1,將s數(shù)據(jù)類(lèi)型轉(zhuǎn)換為比特串c3;

d11:將<c1,c2,c3>作為輸出。

步驟e、解密驗(yàn)簽端使用系統(tǒng)公開(kāi)參數(shù)<e,e,p1,p2,[s]p2,g=e(p1,[s]p2),h,kdf>以及標(biāo)識(shí)解密私鑰d_b=[s/(h(1||id_b)+s)]p2,簽名公鑰<f1,f2>,對(duì)密文<c1,c2,c3>解密驗(yàn)簽,其過(guò)程如下:

e1:將c1的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為橢圓曲線(xiàn)e上的點(diǎn)x,檢驗(yàn)x∈g1是否成立,若不成立則驗(yàn)證不通過(guò);

e2:將所述c3的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為橢圓曲線(xiàn)e上的點(diǎn)s,檢驗(yàn)s∈g1是否成立;若否,則直接判定則驗(yàn)證失??;

e3:計(jì)算w=e(x,d_b);將w的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為比特串u;

e4:計(jì)算和c2一樣長(zhǎng)度的k=kdf(c1||u||id_b);

e5:計(jì)算m=c2⊕k;

e6:計(jì)算整數(shù)h=h(2||m||u||c1||id_a||id_b);

e7:計(jì)算q_a=[h1]f2+[s]f2;

e8:計(jì)算u=e(s,q_a);

e9:計(jì)算f=e(f1,[x]f2),該步驟可以針對(duì)id_a進(jìn)行預(yù)計(jì)算f后存儲(chǔ)。

e10:檢驗(yàn)f=u是否成立,若成立則驗(yàn)證通過(guò),輸出m;否則驗(yàn)證不通過(guò),解密輸出空值。

本發(fā)明實(shí)施例的不可抵賴(lài)的簽名方法,加密簽名結(jié)果數(shù)據(jù)是通過(guò)短簽形成的,所以加密簽名端輸出結(jié)果長(zhǎng)度短,驗(yàn)證簡(jiǎn)單,既保證了數(shù)據(jù)的私密性,又保證了數(shù)據(jù)的真實(shí)性。

參照?qǐng)D5,本發(fā)明實(shí)施例還提供一種不可抵賴(lài)的加密簽名裝置,包括:

簽名密鑰對(duì)生成單元10,用于加密簽名端獲取密鑰生成中心的標(biāo)識(shí)密碼系統(tǒng)參數(shù),生成簽名公鑰和簽名私鑰的密鑰對(duì);

加密簽名單元20,用于對(duì)消息m使用解密驗(yàn)簽端的標(biāo)識(shí)id_b加密,以及對(duì)加密結(jié)果數(shù)據(jù)和消息m使用所述簽名私鑰進(jìn)行短簽名,生成加密簽名結(jié)果數(shù)據(jù);

解密驗(yàn)簽單元30,用于通過(guò)所述解密驗(yàn)簽端利用標(biāo)識(shí)密碼系統(tǒng)參數(shù)、標(biāo)識(shí)id_b對(duì)應(yīng)的標(biāo)識(shí)解密私鑰d_b以及所述簽名公鑰,對(duì)所述加密簽名結(jié)果數(shù)據(jù)進(jìn)行解密驗(yàn)簽,如果驗(yàn)證不成功,則解密輸出空值。

如上述簽名密鑰對(duì)生成單元10,上述解密驗(yàn)簽端和加密簽名端為智能電子設(shè)備,如電腦、筆記本電腦、智能手機(jī)、平板電腦等;智能電子設(shè)備在加密簽名時(shí),即為加密簽名端,在解密驗(yàn)簽時(shí),即為解密驗(yàn)簽端。上述密鑰生成中心即為密鑰管理中心,是公鑰基礎(chǔ)設(shè)施中的一個(gè)重要組成部分,提供密鑰的生成、保存、備份、更新、恢復(fù)、查詢(xún)等密鑰服務(wù),可以解決分布式企業(yè)應(yīng)用環(huán)境中大規(guī)模密碼技術(shù)應(yīng)用所帶來(lái)的密鑰管理問(wèn)題。上述密鑰生成中心生成的標(biāo)識(shí)密碼系統(tǒng)參數(shù)為<e,e,p1,p2,[s]p1,[s]p2,h,kdf>;其中,

e為密鑰生成中心選擇的一條橢圓曲線(xiàn);

e為雙線(xiàn)性對(duì);

p1和p2為點(diǎn)群g1和g2中的兩個(gè)點(diǎn);g1和g2為曲線(xiàn)e上的兩個(gè)階為素?cái)?shù)q的點(diǎn)群;

s為主私鑰,其為隨機(jī)選擇的0到q之間的整數(shù);

[s]p1為s個(gè)p1相加;

[s]p2為s個(gè)p2相加;

h為映射函數(shù),其將一個(gè)比特串o映射到[1,q-1]上;

kdf為標(biāo)準(zhǔn)的密鑰派生函數(shù)。

在上述標(biāo)識(shí)密碼系統(tǒng)參數(shù)中還可以加入g=e(p1,[s]p2),即標(biāo)識(shí)密碼系統(tǒng)參數(shù)為<e,e,p1,p2,[s]p1,[s]p2,g=e(p1,[s]p2,h,kdf>,因?yàn)間=e(p1,[s]p2)可以通過(guò)已知的參數(shù)計(jì)算得出,所以,可以根據(jù)需要加入或不加入上述標(biāo)識(shí)密碼系統(tǒng)參數(shù)中。

上述加密簽名端的簽名公鑰和簽名私鑰,均使用標(biāo)識(shí)密碼系統(tǒng)參數(shù)中的參數(shù)計(jì)算而成,但是無(wú)需在密鑰生成中心生成,而是在加密簽名端完成,無(wú)需將消息m發(fā)送至密鑰生成中心進(jìn)行加密處理等。

如上述加密簽名單元20,上述加密簽名結(jié)果數(shù)據(jù)是通過(guò)短簽形成的,所以加密簽名端輸出結(jié)果長(zhǎng)度短。

如上述解密驗(yàn)簽單元30,解密驗(yàn)簽端利用預(yù)設(shè)的規(guī)則,獲取指定的參數(shù)對(duì)加密簽名結(jié)果數(shù)據(jù)進(jìn)行解密驗(yàn)簽。在驗(yàn)簽過(guò)程中,上述標(biāo)識(shí)解密私鑰d_b即為利用解密驗(yàn)簽端的標(biāo)識(shí)id_b和預(yù)設(shè)的計(jì)算規(guī)則而獲得,本實(shí)施例中,d_b=[s/(h(1||id_b)+s)]p2。

參照?qǐng)D6,本實(shí)施例中,上述簽名密鑰對(duì)生成單元10,包括:

獲取模塊101,用于所述加密簽名端獲取密鑰生成中心的上述標(biāo)識(shí)密碼系統(tǒng)參數(shù)<e,e,p1,p2,[s]p1,[s]p2,h,kdf>;

第一選擇模塊102,用于隨機(jī)選擇0到q之間的整數(shù)x,將所述x作為所述簽名私鑰;

第二選擇模塊103,用于選擇g1和g2中的兩個(gè)點(diǎn)f1和f2,將<f1,f2,[x]f2>、<f1,f2,[x]f1>、<f1,f2,f=e(f1,f2)x>中的一種作為所述簽名公鑰。

如上述獲取模塊101、第一選擇模塊102和第二選擇模塊103,即為加密簽名端生成簽名私鑰和簽名公鑰的模塊。本實(shí)施例中,上述f1=p1,f2=p2,方便后期計(jì)算和驗(yàn)證等。

參照?qǐng)D7,本實(shí)施例中,上述加密簽名單元20,包括:

加密第一計(jì)算模塊201,用于計(jì)算整數(shù)h1=h(1||id_b);

加密第二計(jì)算模塊202,用于計(jì)算解密驗(yàn)簽端的公鑰q_b=[h1]p1+[s]p1;

選擇模塊203,用于產(chǎn)生隨機(jī)數(shù)r∈[1,q-1];

加密第三計(jì)算模塊204,用于計(jì)算x=[r]q_b,將x數(shù)據(jù)類(lèi)型轉(zhuǎn)換為比特串c1;

加密第四計(jì)算模塊205,用于計(jì)算w=gr,將w的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為比特串u,其中,g=e(p1,[s]p2);

加密第五計(jì)算模塊206,準(zhǔn)備密鑰派生輸入xi,xi包含c1和u的拼接,可選地,還可拼接id_b;

加密第六計(jì)算模塊207,用于計(jì)算和m一樣長(zhǎng)度的k=kdf(xi);

加密第七計(jì)算模塊208,用于計(jì)算c2=m⊕k;

加密第八計(jì)算模塊209,用于準(zhǔn)備哈希輸入hi,其中,所述hi包含哈希操作索引、m和u的拼接,可選地,還可以拼接c1、id_a、id_b;

加密第九計(jì)算模塊210,用于計(jì)算整數(shù)h=h(hi);

加密第十計(jì)算模塊211,用于計(jì)算s=[x/(h+x)]f1,將s數(shù)據(jù)類(lèi)型轉(zhuǎn)換為比特串c3;

輸出模塊212,用于將<c1,c2,c3>作為輸出,給所述消息m進(jìn)行加密簽名。

上述即為利用上述簽名公鑰和簽名私鑰等參數(shù)給消息m進(jìn)行加密和短簽名的模塊,消息m加密簽名后的長(zhǎng)度較小。上述操作索引用于區(qū)分計(jì)算過(guò)程中的各次哈希操作。其取值無(wú)特定要求,只需保證不同的哈希操作使用的哈希操作索引不同,比如h=h(2||m||u||c1||id_a||id_b)中,操作索引即為2。

參照?qǐng)D8,本實(shí)施例中,上述解密驗(yàn)簽單元30,包括:

第一選擇判斷模塊301,用于通過(guò)解密驗(yàn)簽端將c1的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為橢圓曲線(xiàn)e上的點(diǎn)x,檢驗(yàn)x∈g1是否成立;

第一驗(yàn)證模塊302,用于若x∈g1不成立,則通過(guò)解密驗(yàn)簽端直接判定則驗(yàn)證失敗,解密輸出空值;

第二選擇判斷模塊303,用于通過(guò)所述解密驗(yàn)簽端將c3的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為橢圓曲線(xiàn)e上的點(diǎn)s,檢驗(yàn)s∈g1是否成立;

第二驗(yàn)證模塊304,用于若s∈g1不成立,則通過(guò)所述解密驗(yàn)簽端直接判定則驗(yàn)證失??;

解密第一計(jì)算模塊305,用于若x∈g1以及s∈g1均成立,則通過(guò)解密驗(yàn)簽端計(jì)算w=e(x,d_b);將w的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為比特串u;

解密第二計(jì)算模塊306,用于通過(guò)所述解密驗(yàn)簽端準(zhǔn)備密鑰派生輸入xi,其中,所述xi包含c1和u的拼接,可選地,還可拼接id_b;

解密第三計(jì)算模塊307,用于通過(guò)解密驗(yàn)簽端計(jì)算和c2一樣長(zhǎng)度的k=kdf(xi);

解密第四計(jì)算模塊308,用于通過(guò)解密驗(yàn)簽端計(jì)算m=c2⊕k;

解密第五計(jì)算模塊309,用于通過(guò)所述解密驗(yàn)簽端準(zhǔn)備哈希輸入hi,其中,所述hi包含一個(gè)哈希操作索引、m和u的拼接,可選地,還可以拼接c1、id_a、id_b

解密第六計(jì)算模塊310,用于通過(guò)解密驗(yàn)簽端計(jì)算整數(shù)h=h(hi);

解密第七計(jì)算模塊311,用于通過(guò)解密驗(yàn)簽端計(jì)算加密簽名端的公鑰q_a=[h1]f2+[s]f2;

解密第八計(jì)算模塊312,用于通過(guò)解密驗(yàn)簽端計(jì)算u=e(s,q_a);

解密第九計(jì)算模塊313,用于通過(guò)解密驗(yàn)簽端計(jì)算f=e(f1,[x]f2);

第二驗(yàn)證模塊314,用于通過(guò)解密驗(yàn)簽端檢驗(yàn)f=u是否成立,若是,則驗(yàn)證通過(guò),否則驗(yàn)證失敗,解密輸出空值。

上述各模塊即為解密驗(yàn)簽的過(guò)程中使用的裝置,解密驗(yàn)簽過(guò)程簡(jiǎn)單而安全。

本發(fā)明實(shí)施例的不可抵賴(lài)的簽名裝置,加密簽名結(jié)果數(shù)據(jù)是通過(guò)短簽形成的,所以加密簽名端輸出結(jié)果長(zhǎng)度短,驗(yàn)證簡(jiǎn)單,既保證了數(shù)據(jù)的私密性,又保證了數(shù)據(jù)的真實(shí)性。

本發(fā)明實(shí)施例還提供一種終端300,包括存儲(chǔ)器301和處理器302;上述存儲(chǔ)器301用于存儲(chǔ)支持不可抵賴(lài)的加密簽名裝置執(zhí)行上述任一項(xiàng)中的不可抵賴(lài)的加密簽名方法的程序;處理器302被配置為用于執(zhí)行所述存儲(chǔ)器中存儲(chǔ)的程序。

上述終端300可以為智能電子設(shè)備,如電腦、筆記本電腦、智能手機(jī)、平板電腦等。

上述終端300,在加密簽名時(shí),即為加密簽名端,在解密驗(yàn)簽時(shí),即為解密驗(yàn)簽端。

本發(fā)明實(shí)施例的終端300,加密簽名結(jié)果數(shù)據(jù)是通過(guò)短簽形成的,所以加密簽名端輸出結(jié)果長(zhǎng)度短,驗(yàn)證簡(jiǎn)單,既保證了數(shù)據(jù)的私密性,又保證了數(shù)據(jù)的真實(shí)性。

以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專(zhuān)利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專(zhuān)利保護(hù)范圍內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1