aaa视频网站,国产最新进精品视频,国产主播一区二区,999热精品视频,а√天堂资源8在线官网在线,国产免费不卡av,麻豆国产视频

一種有限資源下的數(shù)字簽名方法、裝置及系統(tǒng)與流程

文檔序號(hào):11234388閱讀:709來源:國(guó)知局
一種有限資源下的數(shù)字簽名方法、裝置及系統(tǒng)與流程

本公開一般涉及計(jì)算機(jī)領(lǐng)域,具體涉及物聯(lián)網(wǎng)技術(shù),尤其涉及一種有限資源下的數(shù)字簽名方法、裝置及系統(tǒng)。



背景技術(shù):

近年來物聯(lián)網(wǎng)應(yīng)用增長(zhǎng)迅速,但隨之也出現(xiàn)了越來越多的由聯(lián)網(wǎng)設(shè)備引發(fā)的安全事件,這些安全事件許多是由于缺乏設(shè)備認(rèn)證保護(hù)措施造成。由于物聯(lián)網(wǎng)應(yīng)用一般存在海量設(shè)備的接入認(rèn)證、需支持設(shè)備到設(shè)備認(rèn)證等特點(diǎn),目前有一種基于標(biāo)識(shí)的密碼算法(ibc,identity-basedcryptograph)及體系,即將設(shè)備標(biāo)識(shí)號(hào)直接作為設(shè)備公鑰,設(shè)備私鑰本地安全保存。認(rèn)證雙方使用私鑰生成挑戰(zhàn)數(shù)據(jù),并直接使用對(duì)方標(biāo)識(shí)號(hào)進(jìn)行驗(yàn)證。較傳統(tǒng)pki技術(shù),ibc技術(shù)能夠較好地簡(jiǎn)化系統(tǒng)結(jié)構(gòu)和減少交互流程,并能很方便的支持設(shè)備到設(shè)備的直接認(rèn)證。

基于標(biāo)識(shí)的國(guó)產(chǎn)密碼算法sm9算法更加方便了基于標(biāo)識(shí)的密碼算法在國(guó)內(nèi)的應(yīng)用。但是,sm9算法簽名、驗(yàn)證簽名流程里用到的橢圓曲線上的一些運(yùn)算,如:雙線性映射、乘法循環(huán)群上的指數(shù)運(yùn)算等是較耗費(fèi)計(jì)算資源的運(yùn)算,在使用軟件實(shí)現(xiàn)時(shí)編譯得到的實(shí)現(xiàn)文件體積也通常較大。由于很多物聯(lián)網(wǎng)設(shè)備其計(jì)算能力和存儲(chǔ)空間往往有限,因此限制了該技術(shù)在物聯(lián)網(wǎng)中的使用。



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

鑒于現(xiàn)有技術(shù)中的上述缺陷或不足,期望提供一種有限資源下的數(shù)字簽名方法、裝置及系統(tǒng),以減少終端上的計(jì)算復(fù)雜度。

第一方面,本發(fā)明實(shí)施例提供一種有限資源下的數(shù)字簽名方法,所述方法包括:

獲取初始化時(shí)簽名代理服務(wù)器針對(duì)橢圓曲線雙線性映射運(yùn)算進(jìn)行預(yù)計(jì)算的全部預(yù)計(jì)算結(jié)果或者部分預(yù)計(jì)算結(jié)果;

根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,和/或根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果驗(yàn)證數(shù)字簽名。

優(yōu)選的,所述初始化時(shí)簽名代理服務(wù)器針對(duì)橢圓曲線雙線性映射運(yùn)算進(jìn)行預(yù)計(jì)算,具體為:

初始化時(shí)簽名代理服務(wù)器計(jì)算

其中,i=0,1,...,|n|-1,p1為加法循環(huán)群g1的生成元,ppub-s為簽名主公鑰,n為循環(huán)群的階,為大于2191的素?cái)?shù),e(p1,ppub-s)為p1,ppub-s的橢圓曲線上的雙線性映射運(yùn)算,|n|為n的二進(jìn)制位數(shù)。

進(jìn)一步,當(dāng)獲取初始化時(shí)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的全部預(yù)計(jì)算結(jié)果時(shí),所述根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,具體包括:

生成隨機(jī)數(shù)r∈[1,n-1],提取r中值為1的比特位下標(biāo)集合ix,若ix∩i'=φ則重新生成隨機(jī)數(shù)r∈[1,n-1]直至ix∩i'=φ,其中i為i值的集合;

計(jì)算階為素?cái)?shù)n的乘法循環(huán)群gt中的元素

根據(jù)所述w計(jì)算數(shù)字簽名。

當(dāng)獲取初始化時(shí)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的部分預(yù)計(jì)算結(jié)果時(shí),所述根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,具體包括:

生成隨機(jī)數(shù)r∈[1,n-1],提取r中值為1的比特位下標(biāo)集合ix,若ix∩i'=φ則重新生成隨機(jī)數(shù)r∈[1,n-1]直至ix∩i'=φ,其中i′為所獲取的預(yù)計(jì)算結(jié)果對(duì)應(yīng)的i值的集合;

計(jì)算

向簽名代理服務(wù)器發(fā)送ix′=ix∩i″,并獲取簽名代理服務(wù)器計(jì)算的其中,i″為未獲取的預(yù)計(jì)算結(jié)果對(duì)應(yīng)的i值的集合;

計(jì)算階為素?cái)?shù)n的乘法循環(huán)群gt中的元素w=w1·w2;

根據(jù)所述w計(jì)算數(shù)字簽名。

進(jìn)一步,所述根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果驗(yàn)證數(shù)字簽名,具體包括:

確定接收到的消息m'的數(shù)字簽名(h′,s′);

計(jì)算階為素?cái)?shù)n的加法循環(huán)群g2中的元素p;

確定t為i=h′時(shí)的ei值,并將s'、p發(fā)送給簽名代理服務(wù)器,接收簽名代理服務(wù)器通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值;

根據(jù)u、t、h'、m',確定驗(yàn)證結(jié)果。

更進(jìn)一步,所述確定t為i=h′時(shí)的ei值,并將s'、p發(fā)送給簽名代理服務(wù)器,接收簽名代理服務(wù)器通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值,具體包括:

當(dāng)本地獲取的預(yù)計(jì)算結(jié)果中包括h'對(duì)應(yīng)的ei時(shí),直接通過本地獲取的預(yù)計(jì)算結(jié)果確定t值,并將s'、p發(fā)送給簽名代理服務(wù)器,接收簽名代理服務(wù)器通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值;

當(dāng)本地獲取的預(yù)計(jì)算結(jié)果中不包括h'對(duì)應(yīng)的ei時(shí),將h'、s'、p發(fā)送給簽名代理服務(wù)器,接收簽名代理服務(wù)器確定的t值以及通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值。

第二方面,本發(fā)明實(shí)施例還提供一種有限資源下的數(shù)字簽名方法,所述方法包括:

在初始化時(shí)進(jìn)行針對(duì)橢圓曲線雙線性映射運(yùn)算的預(yù)計(jì)算;

將全部預(yù)計(jì)算結(jié)果或者部分預(yù)計(jì)算結(jié)果發(fā)送給終端,由終端根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,和/或根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果驗(yàn)證數(shù)字簽名。

優(yōu)選的,所述在初始化時(shí)進(jìn)行預(yù)計(jì)算,具體包括:

在初始化時(shí)計(jì)算

其中,i=0,1,...,|n|-1,p1為加法循環(huán)群g1的生成元,ppub-s為簽名主公鑰,n為循環(huán)群的階,為大于2191的素?cái)?shù),e(p1,ppub-s)為p1,ppub-s的橢圓曲線上的雙線性映射運(yùn)算,|n|為n的二進(jìn)制位數(shù)。

進(jìn)一步,當(dāng)將部分預(yù)計(jì)算結(jié)果發(fā)送給終端時(shí),所述由終端根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,具體包括:

接收終端根據(jù)隨機(jī)數(shù)r∈[1,n-1]計(jì)算的ix′=ix∩i″,其中ix為r中值為1的比特位下標(biāo)集合,i″為未獲取的預(yù)計(jì)算結(jié)果對(duì)應(yīng)的i值的集合;

計(jì)算并將w2值發(fā)送給終端,由終端根據(jù)該w2值計(jì)算數(shù)字簽名。

進(jìn)一步,所述由終端根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果驗(yàn)證數(shù)字簽名,具體包括:

接收終端驗(yàn)證消息m'的數(shù)字簽名(h′,s′)時(shí)發(fā)送的s'、p,所述p為階為素?cái)?shù)n的加法循環(huán)群g2中的元素;

通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算u值,并發(fā)送給終端,由終端根據(jù)該u值確定驗(yàn)證結(jié)果。

更進(jìn)一步,還包括:

當(dāng)終端本地獲取的預(yù)計(jì)算結(jié)果中不包括h'對(duì)應(yīng)的ei時(shí),接收終端發(fā)送的h'值;

確定t為i=h′時(shí)的ei值,并將該t值發(fā)送給終端,由終端根據(jù)該t值確定驗(yàn)證結(jié)果。

第三方面,本發(fā)明實(shí)施例還提供一種有限資源下的數(shù)字簽名裝置,所述裝置包括:

獲取單元,用于獲取初始化時(shí)簽名代理服務(wù)器進(jìn)行針對(duì)橢圓曲線雙線性映射運(yùn)算預(yù)計(jì)算的全部預(yù)計(jì)算結(jié)果或者部分預(yù)計(jì)算結(jié)果;

計(jì)算單元,用于根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,和/或根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果驗(yàn)證數(shù)字簽名。

優(yōu)選的,所述初始化時(shí)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算,具體為:

初始化時(shí)簽名代理服務(wù)器計(jì)算

其中,i=0,1,...,|n|-1,p1為加法循環(huán)群g1的生成元,ppub-s為簽名主公鑰,n為循環(huán)群的階,為大于2191的素?cái)?shù),e(p1,ppub-s)為p1,ppub-s的橢圓曲線上的雙線性映射運(yùn)算,|n|為n的二進(jìn)制位數(shù)。

進(jìn)一步,當(dāng)獲取初始化時(shí)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的全部預(yù)計(jì)算結(jié)果時(shí),所述計(jì)算單元根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,具體包括:

生成隨機(jī)數(shù)r∈[1,n-1],提取r中值為1的比特位下標(biāo)集合ix,若ix∩i'=φ則重新生成隨機(jī)數(shù)r∈[1,n-1]直至ix∩i'=φ,其中i為i值的集合;

計(jì)算階為素?cái)?shù)n的乘法循環(huán)群gt中的元素

根據(jù)所述w計(jì)算數(shù)字簽名。

進(jìn)一步,當(dāng)獲取初始化時(shí)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的部分預(yù)計(jì)算結(jié)果時(shí),所述計(jì)算單元根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,具體包括:

生成隨機(jī)數(shù)r∈[1,n-1],提取r中值為1的比特位下標(biāo)集合ix,若ix∩i'=φ則重新生成隨機(jī)數(shù)r∈[1,n-1]直至ix∩i'=φ,其中i′為所獲取的預(yù)計(jì)算結(jié)果對(duì)應(yīng)的i值的集合;

計(jì)算

向簽名代理服務(wù)器發(fā)送ix′=ix∩i″,并獲取簽名代理服務(wù)器計(jì)算的其中,i″為未獲取的預(yù)計(jì)算結(jié)果對(duì)應(yīng)的i值的集合;

計(jì)算階為素?cái)?shù)n的乘法循環(huán)群gt中的元素w=w1·w2;

根據(jù)所述w計(jì)算數(shù)字簽名。

進(jìn)一步,所述計(jì)算單元根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果驗(yàn)證數(shù)字簽名,具體包括:

確定接收到的消息m'的數(shù)字簽名(h′,s′);

計(jì)算階為素?cái)?shù)n的加法循環(huán)群g2中的元素p;

確定t為i=h′時(shí)的ei值,并將s'、p發(fā)送給簽名代理服務(wù)器,接收簽名代理服務(wù)器通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值;

根據(jù)u、t、h'、m',確定驗(yàn)證結(jié)果。

更進(jìn)一步,所述計(jì)算單元確定t為i=h′時(shí)的ei值,并將s'、p發(fā)送給簽名代理服務(wù)器,接收簽名代理服務(wù)器通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值,具體包括:

當(dāng)本地獲取的預(yù)計(jì)算結(jié)果中包括h'對(duì)應(yīng)的ei時(shí),直接通過本地獲取的預(yù)計(jì)算結(jié)果確定t值,并將s'、p發(fā)送給簽名代理服務(wù)器,接收簽名代理服務(wù)器通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值;

當(dāng)本地獲取的預(yù)計(jì)算結(jié)果中不包括h'對(duì)應(yīng)的ei時(shí),將h'、s'、p發(fā)送給簽名代理服務(wù)器,接收簽名代理服務(wù)器確定的t值以及通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值。

第四方面,本發(fā)明實(shí)施例還提供一種有限資源下的數(shù)字簽名裝置,所述裝置包括:

預(yù)計(jì)算單元,用于在初始化時(shí)進(jìn)行針對(duì)橢圓曲線雙線性映射運(yùn)算的預(yù)計(jì)算;

輔助計(jì)算單元,用于將全部預(yù)計(jì)算結(jié)果或者部分預(yù)計(jì)算結(jié)果發(fā)送給終端,由終端根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,和/或根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果驗(yàn)證數(shù)字簽名。

優(yōu)選的,所述預(yù)計(jì)算單元具體用于:

在初始化時(shí)計(jì)算

其中,i=0,1,...,|n|-1,p1為加法循環(huán)群g1的生成元,ppub-s為簽名主公鑰,n為循環(huán)群的階,為大于2191的素?cái)?shù),e(p1,ppub-s)為p1,ppub-s的橢圓曲線上的雙線性映射運(yùn)算,|n|為n的二進(jìn)制位數(shù)。

進(jìn)一步,當(dāng)將部分預(yù)計(jì)算結(jié)果發(fā)送給終端時(shí),所述輔助計(jì)算單元還用于:

接收終端根據(jù)隨機(jī)數(shù)r∈[1,n-1]計(jì)算的ix′=ix∩i″,其中ix為r中值為1的比特位下標(biāo)集合,i″為未獲取的預(yù)計(jì)算結(jié)果對(duì)應(yīng)的i值的集合;

計(jì)算并將w2值發(fā)送給終端,由終端根據(jù)該w2值計(jì)算數(shù)字簽名。

進(jìn)一步,所述輔助計(jì)算單元還用于:

接收終端驗(yàn)證消息m'的數(shù)字簽名(h′,s′)時(shí)發(fā)送的s'、p,所述p為階為素?cái)?shù)n的加法循環(huán)群g2中的元素;

通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算u值,并發(fā)送給終端,由終端根據(jù)該u值確定驗(yàn)證結(jié)果。

更進(jìn)一步,所述輔助計(jì)算單元還用于:

當(dāng)終端本地獲取的預(yù)計(jì)算結(jié)果中不包括h'對(duì)應(yīng)的ei時(shí),接收終端發(fā)送的h'值;

確定t為i=h′時(shí)的ei值,并將該t值發(fā)送給終端,由終端根據(jù)該t值確定驗(yàn)證結(jié)果。

第五方面,本發(fā)明實(shí)施例還提供一種有限資源下的數(shù)字簽名系統(tǒng),所述系統(tǒng)包括:

簽名代理服務(wù)器,用于在初始化時(shí)進(jìn)行針對(duì)橢圓曲線雙線性映射運(yùn)算的預(yù)計(jì)算,將全部預(yù)計(jì)算結(jié)果或者部分預(yù)計(jì)算結(jié)果發(fā)送給終端;

終端,用于根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,和/或根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果驗(yàn)證數(shù)字簽名。

優(yōu)選的,所述簽名代理服務(wù)器在初始化時(shí)進(jìn)行預(yù)計(jì)算,具體為:

在初始化時(shí)計(jì)算

其中,i=0,1,...,|n|-1,p1為加法循環(huán)群g1的生成元,ppub-s為簽名主公鑰,n為循環(huán)群的階,為大于2191的素?cái)?shù),e(p1,ppub-s)為p1,ppub-s的橢圓曲線上的雙線性映射運(yùn)算,|n|為n的二進(jìn)制位數(shù)。

進(jìn)一步,當(dāng)簽名代理服務(wù)器將全部預(yù)計(jì)算結(jié)果發(fā)送給終端時(shí),所述終端根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,具體包括:

生成隨機(jī)數(shù)r∈[1,n-1],提取r中值為1的比特位下標(biāo)集合ix,若ix∩i'=φ則重新生成隨機(jī)數(shù)r∈[1,n-1]直至ix∩i'=φ,其中i為i值的集合;

計(jì)算階為素?cái)?shù)n的乘法循環(huán)群gt中的元素

根據(jù)所述w計(jì)算數(shù)字簽名。

進(jìn)一步,當(dāng)簽名代理服務(wù)器將部分預(yù)計(jì)算結(jié)果發(fā)送給終端時(shí),所述終端根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,具體包括:

生成隨機(jī)數(shù)r∈[1,n-1],提取r中值為1的比特位下標(biāo)集合ix,若ix∩i′=φ則重新生成隨機(jī)數(shù)r∈[1,n-1]直至ix′=ix∩i″,其中i′為所獲取的預(yù)計(jì)算結(jié)果對(duì)應(yīng)的i值的集合;

計(jì)算

向簽名代理服務(wù)器發(fā)送ix′=ix∩i″,并獲取簽名代理服務(wù)器計(jì)算的其中,i″為未獲取的預(yù)計(jì)算結(jié)果對(duì)應(yīng)的i值的集合;

計(jì)算階為素?cái)?shù)n的乘法循環(huán)群gt中的元素w=w1·w2;

根據(jù)所述w計(jì)算數(shù)字簽名;

所述簽名代理服務(wù)器還用于:

接收終端計(jì)算的i″;

計(jì)算并將w2值發(fā)送給終端。

進(jìn)一步,所述終端根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果驗(yàn)證數(shù)字簽名,具體包括:

確定接收到的消息m'的數(shù)字簽名(h′,s′);

計(jì)算階為素?cái)?shù)n的加法循環(huán)群g2中的元素p;

確定t為i=h′時(shí)的ei值,并將s'、p發(fā)送給簽名代理服務(wù)器,接收簽名代理服務(wù)器通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值;

根據(jù)u、t、h'、m',確定驗(yàn)證結(jié)果;

所述簽名代理服務(wù)器還用于:

接收終端發(fā)送的s'、p;

通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算u值,并發(fā)送給終端。

更進(jìn)一步,所述終端確定t為i=h′時(shí)的ei值,并將s'、p發(fā)送給簽名代理服務(wù)器,接收簽名代理服務(wù)器通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值,具體包括:

當(dāng)本地獲取的預(yù)計(jì)算結(jié)果中包括h'對(duì)應(yīng)的ei時(shí),直接通過本地獲取的預(yù)計(jì)算結(jié)果確定t值,并將s'、p發(fā)送給簽名代理服務(wù)器,接收簽名代理服務(wù)器通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值;

當(dāng)本地獲取的預(yù)計(jì)算結(jié)果中不包括h'對(duì)應(yīng)的ei時(shí),將h'、s'、p發(fā)送給簽名代理服務(wù)器,接收簽名代理服務(wù)器確定的t值以及通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值。

所述簽名代理服務(wù)器還用于:

當(dāng)終端本地獲取的預(yù)計(jì)算結(jié)果中不包括h'對(duì)應(yīng)的ei時(shí),接收終端發(fā)送的h'值;

確定t為i=h′時(shí)的ei值,并將該t值發(fā)送給終端。

第六方面,本發(fā)明實(shí)施例還提供一種終端設(shè)備,包括處理器和存儲(chǔ)器;

所述存儲(chǔ)器包含可由所述處理器執(zhí)行的指令以使得所述處理器執(zhí)行第一方面所提供的簽名的方法。

第七方面,本發(fā)明實(shí)施例還提供一種簽名代理服務(wù)器設(shè)備,包括處理器和存儲(chǔ)器;

所述存儲(chǔ)器包含可由所述處理器執(zhí)行的指令以使得所述處理器執(zhí)行第二方面所提供的簽名的方法。

第八方面,本發(fā)明實(shí)施例還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序用于實(shí)現(xiàn)第一方面所提供的簽名的方法。

第九方面,本發(fā)明實(shí)施例還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序用于實(shí)現(xiàn)第二方面所提供的簽名的方法。

本發(fā)明實(shí)施例提供有限資源下的數(shù)字簽名方法、裝置及系統(tǒng),在初始化時(shí)由簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算,終端獲取其全部預(yù)計(jì)算結(jié)果或者部分預(yù)計(jì)算結(jié)果,再根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,和/或根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果驗(yàn)證數(shù)字簽名。由于由簽名代理服務(wù)器承擔(dān)了預(yù)計(jì)算的計(jì)算量,從而減少了終端上的計(jì)算復(fù)雜度,減小了終端的計(jì)算負(fù)擔(dān)。

附圖說明

通過閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本申請(qǐng)的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:

圖1為本發(fā)明實(shí)施例提供的有限資源下的數(shù)字簽名方法流程圖;

圖2為本發(fā)明實(shí)施例提供的根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名的方法流程圖;

圖3為本發(fā)明實(shí)施例提供的根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果驗(yàn)證數(shù)字簽名的方法流程圖;

圖4為本發(fā)明實(shí)施例提供的另一有限資源下的數(shù)字簽名方法流程圖;

圖5為本發(fā)明實(shí)施例提供的有限資源下的數(shù)字簽名裝置結(jié)構(gòu)示意圖;

圖6為本發(fā)明實(shí)施例提供的另一有限資源下的數(shù)字簽名裝置結(jié)構(gòu)示意圖;

圖7為本發(fā)明實(shí)施例提供的有限資源下的數(shù)字簽名系統(tǒng)結(jié)構(gòu)示意圖;

圖8為本發(fā)明實(shí)施例提供的有限資源下的數(shù)字簽名設(shè)備結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面結(jié)合附圖和實(shí)施例對(duì)本申請(qǐng)作進(jìn)一步的詳細(xì)說明。可以理解的是,此處所描述的具體實(shí)施例僅僅用于解釋相關(guān)發(fā)明,而非對(duì)該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與發(fā)明相關(guān)的部分。

需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本申請(qǐng)。

請(qǐng)參考圖1,本發(fā)明實(shí)施例提供的有限資源下的數(shù)字簽名方法,包括:

步驟s101、獲取初始化時(shí)簽名代理服務(wù)器針對(duì)橢圓曲線雙線性映射運(yùn)算進(jìn)行預(yù)計(jì)算的全部預(yù)計(jì)算結(jié)果或者部分預(yù)計(jì)算結(jié)果;

步驟s102、根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,和/或根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果驗(yàn)證數(shù)字簽名。

由于在初始化時(shí)由簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算,終端獲取其全部預(yù)計(jì)算結(jié)果或者部分預(yù)計(jì)算結(jié)果,再根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,和/或根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果驗(yàn)證數(shù)字簽名。由于由簽名代理服務(wù)器承擔(dān)了預(yù)計(jì)算的計(jì)算量,從而減少了終端上的計(jì)算復(fù)雜度,減小了終端的計(jì)算負(fù)擔(dān),可以適用于資源有限的終端。

該方法可以應(yīng)用在物聯(lián)網(wǎng)系統(tǒng)中,此時(shí),終端可以具體為物聯(lián)網(wǎng)終端。

在初始化時(shí),可以由終端承擔(dān)盡可能多的計(jì)算量,從而盡可能多的減少終端上的計(jì)算復(fù)雜度,具體的,在步驟s101中,初始化時(shí)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算,具體為:

初始化時(shí)簽名代理服務(wù)器計(jì)算

其中,i=0,1,...,|n|-1,p1為加法循環(huán)群g1的生成元,ppub-s為簽名主公鑰,n為循環(huán)群的階,為大于2191的素?cái)?shù),e(p1,ppub-s)為p1,ppub-s的橢圓曲線上的雙線性映射運(yùn)算,|n|為n的二進(jìn)制位數(shù)。

由簽名代理服務(wù)器計(jì)算了ei之后,終端只需要根據(jù)該ei進(jìn)行后續(xù)計(jì)算即可,減少了進(jìn)行p1,ppub-s的橢圓曲線上的雙線性映射運(yùn)算以及高次方運(yùn)算這樣復(fù)雜的運(yùn)算。

終端可以獲取全部的預(yù)計(jì)算結(jié)果,然后完全承擔(dān)后續(xù)的簽名計(jì)算過程和/或簽名驗(yàn)證過程,或者將數(shù)據(jù)發(fā)送給簽名代理服務(wù)器,由簽名代理服務(wù)器幫助進(jìn)行計(jì)算,也可以僅獲取部分預(yù)計(jì)算結(jié)果,由終端和簽名代理服務(wù)器合作計(jì)算簽名和/或驗(yàn)證簽名,從而減少終端的存儲(chǔ)負(fù)擔(dān)。

當(dāng)終端獲取初始化時(shí)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的全部預(yù)計(jì)算結(jié)果時(shí),步驟s102中,根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,具體包括:

生成隨機(jī)數(shù)r∈[1,n-1],提取r中值為1的比特位下標(biāo)集合ix,若ix∩i'=φ則重新生成隨機(jī)數(shù)r∈[1,n-1]直至ix∩i'=φ,其中i為i值的集合;

計(jì)算階為素?cái)?shù)n的乘法循環(huán)群gt中的元素

根據(jù)w計(jì)算數(shù)字簽名。

其中,根據(jù)w計(jì)算數(shù)字簽名,按照sm9算法中的方法進(jìn)行計(jì)算即可,或者,本領(lǐng)域技術(shù)人員也可以根據(jù)其它方式通過w計(jì)算數(shù)字簽名。

具體的,根據(jù)w計(jì)算數(shù)字簽名的步驟包括:

將w的數(shù)據(jù)類型轉(zhuǎn)換為比特串;

計(jì)算整數(shù)h=h2(m||w,n),其中,h2()為由密碼雜湊函數(shù)派生的密碼函數(shù),m為待簽名消息;

計(jì)算整數(shù)l=(r-h)modn,若l=0,則重新生成隨機(jī)數(shù)r∈[1,n-1]計(jì)算w;

計(jì)算群g1中的元素s=[l]dsa,其中,dsa為用戶a的簽名私鑰;

將h的數(shù)據(jù)類型轉(zhuǎn)換為字節(jié)串,將s的數(shù)據(jù)類型轉(zhuǎn)換為字節(jié)串,即可確定消息m的簽名為(h,s)。

生成隨機(jī)數(shù)r∈[1,n-1]及根據(jù)r進(jìn)行計(jì)算的步驟由終端進(jìn)行較佳,可以使得系統(tǒng)的安全性更佳,如果能夠確保系統(tǒng)的安全性,或者對(duì)安全性要求不高,則可以由簽名代理服務(wù)器完成計(jì)算w的步驟,從而進(jìn)一步減少終端的計(jì)算量。

當(dāng)終端只獲取初始化時(shí)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的部分預(yù)計(jì)算結(jié)果時(shí),如圖2所示,步驟s102中,根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,具體包括:

步驟s201、生成隨機(jī)數(shù)r∈[1,n-1],提取r中值為1的比特位下標(biāo)集合ix,若ix∩i'=φ則重新生成隨機(jī)數(shù)r∈[1,n-1]直至ix∩i'=φ,其中i′為所獲取的預(yù)計(jì)算結(jié)果對(duì)應(yīng)的i值的集合;

步驟s202、計(jì)算

步驟s203、向簽名代理服務(wù)器發(fā)送ix′=ix∩i″,并獲取簽名代理服務(wù)器計(jì)算的其中,i″為未獲取的預(yù)計(jì)算結(jié)果對(duì)應(yīng)的i值的集合;

步驟s204、計(jì)算階為素?cái)?shù)n的乘法循環(huán)群gt中的元素w=w1·w2;

步驟s205、根據(jù)w計(jì)算數(shù)字簽名。

其中,根據(jù)w計(jì)算數(shù)字簽名,按照sm9算法中的方法進(jìn)行計(jì)算即可,或者,本領(lǐng)域技術(shù)人員也可以根據(jù)其它方式通過w計(jì)算數(shù)字簽名。

終端只獲取一部分預(yù)計(jì)算結(jié)果,對(duì)終端的存儲(chǔ)空間要求就較低,步驟s201和步驟s202中,由終端生成隨機(jī)數(shù)r∈[1,n-1]及根據(jù)r進(jìn)行計(jì)算w1,也保證了系統(tǒng)的安全性,同時(shí),終端的計(jì)算量也較低。

進(jìn)一步,在進(jìn)行數(shù)字簽名的驗(yàn)證時(shí),也可以由簽名代理服務(wù)器進(jìn)行輔助計(jì)算,此時(shí),如圖3所示,步驟s102中,根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果驗(yàn)證數(shù)字簽名,具體包括:

步驟s301、確定接收到的消息m'的數(shù)字簽名(h′,s′);

步驟s302、計(jì)算階為素?cái)?shù)n的加法循環(huán)群g2中的元素p;

步驟s303、確定t為i=h′時(shí)的ei值,并將s'、p發(fā)送給簽名代理服務(wù)器,接收簽名代理服務(wù)器通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值;

步驟s304、根據(jù)u、t、h'、m',確定驗(yàn)證結(jié)果。

其中,步驟s302中,計(jì)算階為素?cái)?shù)n的加法循環(huán)群g2中的元素p,可以先計(jì)算h1=h1(ida||hid,n),再根據(jù)h1計(jì)算階為素?cái)?shù)n的加法循環(huán)群g2中的元素p,其中,h1為由密碼雜湊函數(shù)派生的密碼函數(shù),ida為用戶a的標(biāo)識(shí),可以唯一確定用戶a的公鑰,hid為用一個(gè)字節(jié)表示的簽名私鑰生成函數(shù)識(shí)別符;步驟s304中,根據(jù)u、t、h'、m',確定驗(yàn)證結(jié)果,可以按照sm9算法中的方法進(jìn)行計(jì)算,或者,本領(lǐng)域技術(shù)人員也可以根據(jù)其它方式通過u、t、h'、m'確定驗(yàn)證結(jié)果。

具體的,通過u、t、h'、m'確定驗(yàn)證結(jié)果的步驟包括:

計(jì)算群gt中的元素w′=u·t,并將w'的數(shù)據(jù)類型轉(zhuǎn)換為比特串,gt為階為素?cái)?shù)n的乘法循環(huán)群;

計(jì)算整數(shù)h2=h2(m||w,n),檢驗(yàn)h2=h′是否成立,如果成立則驗(yàn)證通過,否則驗(yàn)證不通過。

若終端僅獲取了部分預(yù)計(jì)算結(jié)果,那么在步驟s303中,確定t值時(shí),可能需要簽名代理服務(wù)器的輔助,具體的,步驟s303,確定t為i=h′時(shí)的ei值,并將s'、p發(fā)送給簽名代理服務(wù)器,接收簽名代理服務(wù)器通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值,具體包括:

當(dāng)本地獲取的預(yù)計(jì)算結(jié)果中包括h'對(duì)應(yīng)的ei時(shí),直接通過本地獲取的預(yù)計(jì)算結(jié)果確定t值,并將s'、p發(fā)送給簽名代理服務(wù)器,接收簽名代理服務(wù)器通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值;

當(dāng)本地獲取的預(yù)計(jì)算結(jié)果中不包括h'對(duì)應(yīng)的ei時(shí),將h'、s'、p發(fā)送給簽名代理服務(wù)器,接收簽名代理服務(wù)器確定的t值以及通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值。

本發(fā)明實(shí)施例還提供一種有限資源下的數(shù)字簽名方法,由簽名代理服務(wù)器執(zhí)行,如圖4所示,該方法包括:

步驟s401、在初始化時(shí)進(jìn)行針對(duì)橢圓曲線雙線性映射運(yùn)算的預(yù)計(jì)算;

步驟s402、將全部預(yù)計(jì)算結(jié)果或者部分預(yù)計(jì)算結(jié)果發(fā)送給終端,由終端根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,和/或根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果驗(yàn)證數(shù)字簽名。

進(jìn)一步,在初始化時(shí),可以由終端承擔(dān)盡可能多的計(jì)算量,從而盡可能多的減少終端上的計(jì)算復(fù)雜度,此時(shí),步驟s401中,在初始化時(shí)進(jìn)行預(yù)計(jì)算,具體包括:

在初始化時(shí)計(jì)算

其中,i=0,1,...,|n|-1,p1為加法循環(huán)群g1的生成元,ppub-s為簽名主公鑰,n為循環(huán)群的階,為大于2191的素?cái)?shù),e(p1,ppub-s)為p1,ppub-s的橢圓曲線上的雙線性映射運(yùn)算,|n|為n的二進(jìn)制位數(shù)。

進(jìn)一步,為減少終端的存儲(chǔ)負(fù)擔(dān),可以只講部分預(yù)計(jì)算結(jié)果發(fā)送給終端,可以由簽名代理服務(wù)器輔助終端進(jìn)行簽名的計(jì)算,當(dāng)將部分預(yù)計(jì)算結(jié)果發(fā)送給終端時(shí),由終端根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,具體包括:

接收終端根據(jù)隨機(jī)數(shù)r∈[1,n-1]計(jì)算的ix′=ix∩i″,其中ix為r中值為1的比特位下標(biāo)集合,i″為未獲取的預(yù)計(jì)算結(jié)果對(duì)應(yīng)的i值的集合;

計(jì)算并將w2值發(fā)送給終端,由終端根據(jù)該w2值計(jì)算數(shù)字簽名。

進(jìn)一步,可以由簽名代理服務(wù)器輔助終端進(jìn)行簽名的驗(yàn)證,此時(shí),由終端根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果驗(yàn)證數(shù)字簽名,具體包括:

接收終端驗(yàn)證消息m'的數(shù)字簽名(h′,s′)時(shí)發(fā)送的s'、p,p為階為素?cái)?shù)n的加法循環(huán)群g2中的元素;

通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算u值,并發(fā)送給終端,由終端根據(jù)該u值確定驗(yàn)證結(jié)果。

當(dāng)終端中存儲(chǔ)部分預(yù)計(jì)算結(jié)果時(shí),還可能由簽名代理服務(wù)器參與t值的計(jì)算,此時(shí),該方法還包括:

當(dāng)終端本地獲取的預(yù)計(jì)算結(jié)果中不包括h'對(duì)應(yīng)的ei時(shí),接收終端發(fā)送的h'值;

確定t為i=h′時(shí)的ei值,并將該t值發(fā)送給終端,由終端根據(jù)該t值確定驗(yàn)證結(jié)果。

應(yīng)當(dāng)注意,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實(shí)現(xiàn)期望的結(jié)果。相反,流程圖中描繪的步驟可以改變執(zhí)行順序。附加地或備選地,可以省略某些步驟,將多個(gè)步驟合并為一個(gè)步驟執(zhí)行,和/或?qū)⒁粋€(gè)步驟分解為多個(gè)步驟執(zhí)行。

本發(fā)明實(shí)施例還提供一種有限資源下的數(shù)字簽名裝置,該裝置可以具體為終端,或者設(shè)置在終端中,如圖5所示,該裝置包括:

獲取單元501,用于獲取初始化時(shí)簽名代理服務(wù)器進(jìn)行針對(duì)橢圓曲線雙線性映射運(yùn)算預(yù)計(jì)算的全部預(yù)計(jì)算結(jié)果或者部分預(yù)計(jì)算結(jié)果;

計(jì)算單元502,用于根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,和/或根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果驗(yàn)證數(shù)字簽名。

進(jìn)一步,初始化時(shí)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算,具體為:

初始化時(shí)簽名代理服務(wù)器計(jì)算

其中,i=0,1,...,|n|-1,p1為加法循環(huán)群g1的生成元,ppub-s為簽名主公鑰,n為循環(huán)群的階,為大于2191的素?cái)?shù),e(p1,ppub-s)為p1,ppub-s的橢圓曲線上的雙線性映射運(yùn)算,|n|為n的二進(jìn)制位數(shù)。

進(jìn)一步,當(dāng)獲取初始化時(shí)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的全部預(yù)計(jì)算結(jié)果時(shí),計(jì)算單元502根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,具體包括:

生成隨機(jī)數(shù)r∈[1,n-1],提取r中值為1的比特位下標(biāo)集合ix,若ix∩i'=φ則重新生成隨機(jī)數(shù)r∈[1,n-1]直至ix∩i'=φ,其中i為i值的集合;

計(jì)算階為素?cái)?shù)n的乘法循環(huán)群gt中的元素

根據(jù)w計(jì)算數(shù)字簽名。

當(dāng)獲取初始化時(shí)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的部分預(yù)計(jì)算結(jié)果時(shí),計(jì)算單元502根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,具體包括:

生成隨機(jī)數(shù)r∈[1,n-1],提取r中值為1的比特位下標(biāo)集合ix,若ix∩i'=φ則重新生成隨機(jī)數(shù)r∈[1,n-1]直至ix∩i'=φ,其中i′為所獲取的預(yù)計(jì)算結(jié)果對(duì)應(yīng)的i值的集合;

計(jì)算

向簽名代理服務(wù)器發(fā)送ix′=ix∩i″,并獲取代理服務(wù)器計(jì)算的其中,i″為未獲取的預(yù)計(jì)算結(jié)果對(duì)應(yīng)的i值的集合;

計(jì)算階為素?cái)?shù)n的乘法循環(huán)群gt中的元素w=w1·w2;

根據(jù)w計(jì)算數(shù)字簽名。

優(yōu)選的,計(jì)算單元502根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果驗(yàn)證數(shù)字簽名,具體包括:

確定接收到的消息m'的數(shù)字簽名(h′,s′);

計(jì)算階為素?cái)?shù)n的加法循環(huán)群g2中的元素p;

確定t為i=h′時(shí)的ei值,并將s'、p發(fā)送給簽名代理服務(wù)器,接收簽名代理服務(wù)器通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值;

根據(jù)u、t、h'、m',確定驗(yàn)證結(jié)果。

進(jìn)一步,計(jì)算單元502確定t為i=h′時(shí)的ei值,并將s'、p發(fā)送給簽名代理服務(wù)器,接收簽名代理服務(wù)器通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值,具體包括:

當(dāng)本地獲取的預(yù)計(jì)算結(jié)果中包括h'對(duì)應(yīng)的ei時(shí),直接通過本地獲取的預(yù)計(jì)算結(jié)果確定t值,并將s'、p發(fā)送給簽名代理服務(wù)器,接收簽名代理服務(wù)器通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值;

當(dāng)本地獲取的預(yù)計(jì)算結(jié)果中不包括h'對(duì)應(yīng)的ei時(shí),將h'、s'、p發(fā)送給簽名代理服務(wù)器,接收簽名代理服務(wù)器確定的t值以及通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值。

應(yīng)當(dāng)理解,該裝置中記載的諸單元或模塊與參考圖1描述的方法中的各個(gè)步驟相對(duì)應(yīng)。由此,上文針對(duì)方法描述的操作和特征同樣適用于改裝置及其中包含的單元,在此不再贅述。該裝置可以預(yù)先實(shí)現(xiàn)在電子設(shè)備的瀏覽器或其他安全應(yīng)用中,也可以通過下載等方式而加載到電子設(shè)備的瀏覽器或其安全應(yīng)用中。該裝置中的相應(yīng)單元可以與電子設(shè)備中的單元相互配合以實(shí)現(xiàn)本申請(qǐng)實(shí)施例的方案。

本發(fā)明實(shí)施例還相應(yīng)提供一種有限資源下的數(shù)字簽名裝置,該裝置可以具體為簽名代理服務(wù)器或者設(shè)置在簽名代理服務(wù)器中,如圖6所示,該裝置包括:

預(yù)計(jì)算單元601,用于在初始化時(shí)進(jìn)行針對(duì)橢圓曲線雙線性映射運(yùn)算的預(yù)計(jì)算;

輔助計(jì)算單元602,用于將全部預(yù)計(jì)算結(jié)果或者部分預(yù)計(jì)算結(jié)果發(fā)送給終端,由終端根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,和/或根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果驗(yàn)證數(shù)字簽名。

進(jìn)一步,預(yù)計(jì)算單元601具體用于:

在初始化時(shí)計(jì)算

其中,i=0,1,...,|n|-1,p1為加法循環(huán)群g1的生成元,ppub-s為簽名主公鑰,n為循環(huán)群的階,為大于2191的素?cái)?shù),e(p1,ppub-s)為p1,ppub-s的橢圓曲線上的雙線性映射運(yùn)算,|n|為n的二進(jìn)制位數(shù)。

進(jìn)一步,當(dāng)將部分預(yù)計(jì)算結(jié)果發(fā)送給終端時(shí),輔助計(jì)算單元602還用于:

接收終端根據(jù)隨機(jī)數(shù)r∈[1,n-1]計(jì)算的ix′=ix∩i″,其中ix為r中值為1的比特位下標(biāo)集合,i″為未獲取的預(yù)計(jì)算結(jié)果對(duì)應(yīng)的i值的集合;

計(jì)算并將w2值發(fā)送給終端,由終端根據(jù)該w2值計(jì)算數(shù)字簽名。

進(jìn)一步,輔助計(jì)算單元602還用于:

接收終端驗(yàn)證消息m'的數(shù)字簽名(h′,s′)時(shí)發(fā)送的s'、p,p為階為素?cái)?shù)n的加法循環(huán)群g2中的元素;

通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算u值,并發(fā)送給終端,由終端根據(jù)該u值確定驗(yàn)證結(jié)果。

更進(jìn)一步,輔助計(jì)算單元602還用于:

當(dāng)終端本地獲取的預(yù)計(jì)算結(jié)果中不包括h'對(duì)應(yīng)的ei時(shí),接收終端發(fā)送的h'值;

確定t為i=h′時(shí)的ei值,并將該t值發(fā)送給終端,由終端根據(jù)該t值確定驗(yàn)證結(jié)果。

應(yīng)當(dāng)理解,該裝置中記載的諸單元或模塊與參考圖4描述的方法中的各個(gè)步驟相對(duì)應(yīng)。由此,上文針對(duì)方法描述的操作和特征同樣適用于該裝置及其中包含的單元,在此不再贅述。該裝置可以預(yù)先實(shí)現(xiàn)在電子設(shè)備的瀏覽器或其他安全應(yīng)用中,也可以通過下載等方式而加載到電子設(shè)備的瀏覽器或其安全應(yīng)用中。該裝置中的相應(yīng)單元可以與電子設(shè)備中的單元相互配合以實(shí)現(xiàn)本申請(qǐng)實(shí)施例的方案。

本發(fā)明實(shí)施例還提供一種有限資源下的數(shù)字簽名系統(tǒng),如圖7所示,該系統(tǒng)包括:

簽名代理服務(wù)器701,用于在初始化時(shí)針對(duì)橢圓曲線雙線性映射運(yùn)算進(jìn)行預(yù)計(jì)算,將全部預(yù)計(jì)算結(jié)果或者部分預(yù)計(jì)算結(jié)果發(fā)送給終端;

終端702,用于根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,和/或根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果驗(yàn)證數(shù)字簽名。

優(yōu)選的,簽名代理服務(wù)器701在初始化時(shí)進(jìn)行預(yù)計(jì)算,具體為:

在初始化時(shí)計(jì)算

其中,i=0,1,...,|n|-1,p1為加法循環(huán)群g1的生成元,ppub-s為簽名主公鑰,n為循環(huán)群的階,為大于2191的素?cái)?shù),e(p1,ppub-s)為p1,ppub-s的橢圓曲線上的雙線性映射運(yùn)算,|n|為n的二進(jìn)制位數(shù)。

當(dāng)簽名代理服務(wù)器701將全部預(yù)計(jì)算結(jié)果發(fā)送給終端702時(shí),終端702根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,具體包括:

生成隨機(jī)數(shù)r∈[1,n-1],提取r中值為1的比特位下標(biāo)集合ix,若ix∩i'=φ則重新生成隨機(jī)數(shù)r∈[1,n-1]直至ix∩i'=φ,其中i為i值的集合;

計(jì)算階為素?cái)?shù)n的乘法循環(huán)群gt中的元素

根據(jù)w計(jì)算數(shù)字簽名。

當(dāng)簽名代理服務(wù)器701將部分預(yù)計(jì)算結(jié)果發(fā)送給終端702時(shí),終端702根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果計(jì)算數(shù)字簽名,具體包括:

生成隨機(jī)數(shù)r∈[1,n-1],提取r中值為1的比特位下標(biāo)集合ix,若ix∩i'=φ則重新生成隨機(jī)數(shù)r∈[1,n-1]直至ix∩i'=φ,其中i′為所獲取的預(yù)計(jì)算結(jié)果對(duì)應(yīng)的i值的集合;

計(jì)算

向簽名代理服務(wù)器701發(fā)送ix′=ix∩i″,并獲取簽名代理服務(wù)器701計(jì)算的其中,i″為未獲取的預(yù)計(jì)算結(jié)果對(duì)應(yīng)的i值的集合;

計(jì)算階為素?cái)?shù)n的乘法循環(huán)群gt中的元素w=w1·w2;

根據(jù)w計(jì)算數(shù)字簽名;

簽名代理服務(wù)器701還用于:

接收終端702計(jì)算的i″;

計(jì)算并將w2值發(fā)送給終端702。

終端702根據(jù)簽名代理服務(wù)器進(jìn)行預(yù)計(jì)算的預(yù)計(jì)算結(jié)果驗(yàn)證數(shù)字簽名,具體包括:

確定接收到的消息m'的數(shù)字簽名(h′,s′);

計(jì)算階為素?cái)?shù)n的加法循環(huán)群g2中的元素p;

確定t為i=h′時(shí)的ei值,并將s'、p發(fā)送給簽名代理服務(wù)器701,接收簽名代理服務(wù)器701通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值;

根據(jù)u、t、h'、m',確定驗(yàn)證結(jié)果;

簽名代理服務(wù)器701還用于:

接收終端702發(fā)送的s'、p;

通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算u值,并發(fā)送給終端702。

終端702確定t為i=h′時(shí)的ei值,并將s'、p發(fā)送給簽名代理服務(wù)器701,接收簽名代理服務(wù)器701通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值,具體包括:

當(dāng)本地獲取的預(yù)計(jì)算結(jié)果中包括h'對(duì)應(yīng)的ei時(shí),直接通過本地獲取的預(yù)計(jì)算結(jié)果確定t值,并將s'、p發(fā)送給簽名代理服務(wù)器701,接收簽名代理服務(wù)器701通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值;

當(dāng)本地獲取的預(yù)計(jì)算結(jié)果中不包括h'對(duì)應(yīng)的ei時(shí),將h'、s'、p發(fā)送給簽名代理服務(wù)器701,接收簽名代理服務(wù)器701確定的t值以及通過對(duì)s'、p橢圓曲線上雙線性映射運(yùn)算計(jì)算的u值。

簽名代理服務(wù)器701還用于:

當(dāng)終端702本地獲取的預(yù)計(jì)算結(jié)果中不包括h'對(duì)應(yīng)的ei時(shí),接收終端702發(fā)送的h'值;

確定t為i=h′時(shí)的ei值,并將該t值發(fā)送給終端702。

下面參考圖8,其示出了適于用來實(shí)現(xiàn)本申請(qǐng)實(shí)施例的終端設(shè)備或服務(wù)器的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)示意圖。

如圖8所示,計(jì)算機(jī)系統(tǒng)包括中央處理單元(cpu)801,其可以根據(jù)存儲(chǔ)在只讀存儲(chǔ)器(rom)802中的程序或者從存儲(chǔ)部分808加載到隨機(jī)訪問存儲(chǔ)器(ram)803中的程序而執(zhí)行各種適當(dāng)?shù)膭?dòng)作和處理。在ram803中,還存儲(chǔ)有系統(tǒng)800操作所需的各種程序和數(shù)據(jù)。cpu801、rom802以及ram803通過總線804彼此相連。輸入/輸出(i/o)接口805也連接至總線804。

以下部件連接至i/o接口805:包括鍵盤、鼠標(biāo)等的輸入部分806;包括諸如陰極射線管(crt)、液晶顯示器(lcd)等以及揚(yáng)聲器等的輸出部分807;包括硬盤等的存儲(chǔ)部分808;以及包括諸如lan卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分809。通信部分809經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動(dòng)器810也根據(jù)需要連接至i/o接口805。可拆卸介質(zhì)811,諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲(chǔ)器等等,根據(jù)需要安裝在驅(qū)動(dòng)器810上,以便于從其上讀出的計(jì)算機(jī)程序根據(jù)需要被安裝入存儲(chǔ)部分808。

特別地,根據(jù)本公開的實(shí)施例,上文參考圖x描述的過程可以被實(shí)現(xiàn)為計(jì)算機(jī)軟件程序。例如,本公開的實(shí)施例包括一種計(jì)算機(jī)程序產(chǎn)品,其包括有形地包含在機(jī)器可讀介質(zhì)上的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包含用于執(zhí)行圖x的方法的程序代碼。在這樣的實(shí)施例中,該計(jì)算機(jī)程序可以通過通信部分809從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)811被安裝。

附圖中的流程圖和框圖,圖示了按照本發(fā)明各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。

描述于本申請(qǐng)實(shí)施例中所涉及到的單元或模塊可以通過軟件的方式實(shí)現(xiàn),也可以通過硬件的方式來實(shí)現(xiàn)。所描述的單元或模塊也可以設(shè)置在處理器中,例如,可以描述為:一種處理器包括xx單元、yy單元以及zz單元。其中,這些單元或模塊的名稱在某種情況下并不構(gòu)成對(duì)該單元或模塊本身的限定,例如,xx單元還可以被描述為“用于xx的單元”。

作為另一方面,本申請(qǐng)還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是上述實(shí)施例中所述裝置中所包含的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì);也可以是單獨(dú)存在,未裝配入設(shè)備中的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有一個(gè)或者一個(gè)以上程序,所述程序被一個(gè)或者一個(gè)以上的處理器用來執(zhí)行描述于本申請(qǐng)的公式輸入方法。

以上描述僅為本申請(qǐng)的較佳實(shí)施例以及對(duì)所運(yùn)用技術(shù)原理的說明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本申請(qǐng)中所涉及的發(fā)明范圍,并不限于上述技術(shù)特征的特定組合而成的技術(shù)方案,同時(shí)也應(yīng)涵蓋在不脫離所述發(fā)明構(gòu)思的情況下,由上述技術(shù)特征或其等同特征進(jìn)行任意組合而形成的其它技術(shù)方案。例如上述特征與本申請(qǐng)中公開的(但不限于)具有類似功能的技術(shù)特征進(jìn)行互相替換而形成的技術(shù)方案。

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