System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本申請涉及密碼學(xué),尤其涉及一種簽名生成、簽名驗(yàn)證方法及計(jì)算機(jī)設(shè)備。
技術(shù)介紹
1、sm9算法是一種基于標(biāo)識的密碼算法,主要用于生成數(shù)字簽名,以進(jìn)行身份驗(yàn)證。數(shù)字簽名已被廣泛應(yīng)用于投票、招標(biāo)、購物等場景。例如,某一電子產(chǎn)品在被售賣的過程中,提供商僅希望購買過這個(gè)電子產(chǎn)品的客戶,可以驗(yàn)證這個(gè)電子產(chǎn)品的真?zhèn)危幌M麤]有購買過這個(gè)電子產(chǎn)品的用戶具有驗(yàn)證能力。
2、然而,sm9算法生成的數(shù)字簽名,可供所有用戶進(jìn)行驗(yàn)證,無法由指定用戶進(jìn)行驗(yàn)證,存在驗(yàn)證能力差、可靠性低的問題。
技術(shù)實(shí)現(xiàn)思路
1、為解決上述技術(shù)問題,本申請實(shí)施例期望提供一種簽名生成、簽名驗(yàn)證方法及計(jì)算機(jī)設(shè)備,解決了相關(guān)技術(shù)中的無法由指定用戶進(jìn)行驗(yàn)證,存在驗(yàn)證能力差、可靠性低的問題。
2、本申請的技術(shù)方案是這樣實(shí)現(xiàn)的:
3、一方面,本申請實(shí)施例提供一種簽名生成方法,所述簽名生成方法包括:基于數(shù)字簽名驗(yàn)證需求和密鑰生成算法,確定第一要素生成函數(shù);采用所述第一要素生成函數(shù)對第一指定驗(yàn)證者的標(biāo)識進(jìn)行處理,得到第一簽名要素;基于待簽名明文、第一簽名者的標(biāo)識和所述第一指定驗(yàn)證者的標(biāo)識,確定第二簽名要素;基于所述第一簽名要素和所述第二簽名要素,確定為所述第一指定驗(yàn)證者生成的第一數(shù)字簽名。
4、上述方案中,所述基于數(shù)字簽名驗(yàn)證需求和密鑰生成算法,確定第一要素生成函數(shù),包括:基于所述數(shù)字簽名驗(yàn)證需求,確定安全參數(shù)和最大用戶數(shù)量;基于所述安全參數(shù)和所述最大用戶數(shù)量,確定系統(tǒng)公開參數(shù)和系統(tǒng)主密鑰;基于
5、上述方案中,所述基于所述系統(tǒng)公開參數(shù)、所述系統(tǒng)主密鑰和所述密鑰生成算法,確定所述第一要素生成函數(shù),包括:從所述系統(tǒng)公開參數(shù)中,確定第一循環(huán)群的生成元和第二循環(huán)群的隨機(jī)數(shù);確定所述密鑰生成算法中的第一哈希函數(shù);基于所述第一循環(huán)群的生成元、所述第二循環(huán)群的隨機(jī)數(shù)、所述系統(tǒng)主密鑰和所述第一哈希函數(shù),確定所述第一要素生成函數(shù)。
6、上述方案中,所述基于所述第一循環(huán)群的生成元、所述第二循環(huán)群的隨機(jī)數(shù)、所述系統(tǒng)主密鑰和所述第一哈希函數(shù),確定所述第一要素生成函數(shù),包括:基于所述系統(tǒng)主密鑰和所述第一循環(huán)群的生成元,確定目標(biāo)參數(shù);確定所述第一哈希函數(shù)、所述第一循環(huán)群的生成元、所述目標(biāo)參數(shù)和所述第二循環(huán)群的隨機(jī)數(shù)之間的第一函數(shù)關(guān)系;基于所述第一哈希函數(shù)、所述第一循環(huán)群的生成元、所述目標(biāo)參數(shù)、所述第二循環(huán)群的隨機(jī)數(shù)和所述第一函數(shù)關(guān)系,確定所述第一要素生成函數(shù)。
7、上述方案中,所述采用所述第一要素生成函數(shù)對第一指定驗(yàn)證者的標(biāo)識進(jìn)行處理,得到第一簽名要素,包括:確定循環(huán)群的階數(shù)、所述密鑰生成算法的標(biāo)識;對所述第一指定驗(yàn)證者的標(biāo)識、所述密鑰生成算法的標(biāo)識和所述循環(huán)群的階數(shù)進(jìn)行拼接處理,得到第一拼接數(shù)據(jù);采用所述第一要素生成函數(shù)對所述第一拼接數(shù)據(jù)進(jìn)行處理,得到所述第一簽名要素。
8、上述方案中,所述基于待簽名明文、第一簽名者的標(biāo)識和所述第一指定驗(yàn)證者的標(biāo)識,確定第二簽名要素,包括:確定第二要素生成函數(shù);采用所述第二要素生成函數(shù)對所述待簽名明文、所述第一簽名者的標(biāo)識和所述第一指定驗(yàn)證者的標(biāo)識進(jìn)行處理,得到所述第二簽名要素。
9、上述方案中,所述確定第二要素生成函數(shù),包括:從系統(tǒng)公開參數(shù)中,確定第二哈希函數(shù)和第二循環(huán)群的隨機(jī)數(shù);確定所述第二哈希函數(shù)、所述第二循環(huán)群的隨機(jī)數(shù)和所述第一簽名者的私鑰之間的第二函數(shù)關(guān)系;基于所述第二哈希函數(shù)、所述第二循環(huán)群的隨機(jī)數(shù)、所述第一簽名者的私鑰和所述第二函數(shù)關(guān)系,確定所述第二要素生成函數(shù)。
10、上述方案中,所述采用所述第二要素生成函數(shù)對所述待簽名明文、所述第一簽名者的標(biāo)識和所述第一指定驗(yàn)證者的標(biāo)識進(jìn)行處理,得到所述第二簽名要素,包括:確定循環(huán)群的階數(shù)、第二循環(huán)群的隨機(jī)數(shù)和第三循環(huán)群的元素;基于所述第二循環(huán)群的隨機(jī)數(shù)和所述第三循環(huán)群的元素,確定第一臨時(shí)參數(shù);對所述待簽名明文、所述第一簽名者的標(biāo)識、所述第一指定驗(yàn)證者的標(biāo)識、所述第一臨時(shí)參數(shù)和所述循環(huán)群的階數(shù)進(jìn)行拼接處理,得到第二拼接數(shù)據(jù);采用所述第二要素生成函數(shù)對所述第二拼接數(shù)據(jù)進(jìn)行處理,得到所述第二簽名要素。
11、一方面,本申請實(shí)施例提供一種簽名驗(yàn)證方法,所述簽名驗(yàn)證方法包括:在第二指定驗(yàn)證者的第二數(shù)字簽名的簽名類型為指定類型的情況下,基于所述第二指定驗(yàn)證者的私鑰和所述第二數(shù)字簽名中的第三簽名要素,確定第一待驗(yàn)證元素;所述第三簽名要素是采用第一要素生成函數(shù)對所述第二指定驗(yàn)證者的標(biāo)識進(jìn)行處理后得到的;基于所述第二數(shù)字簽名中的第四簽名要素、所述第二指定驗(yàn)證者的標(biāo)識和第二簽名者的標(biāo)識,確定第二待驗(yàn)證元素;在所述第一待驗(yàn)證元素與所述第二待驗(yàn)證元素相同的情況下,確定所述第二數(shù)字簽名驗(yàn)證成功。
12、上述方案中,所述基于所述第二數(shù)字簽名中的第四簽名要素、所述第二指定驗(yàn)證者的標(biāo)識和第二簽名者的標(biāo)識,確定第二待驗(yàn)證元素,包括:采用第一哈希函數(shù)對所述第二簽名者的標(biāo)識進(jìn)行處理,得到所述第二簽名者的哈希值;采用第二哈希函數(shù)對所述第二指定驗(yàn)證者的標(biāo)識和第二簽名者的標(biāo)識進(jìn)行處理,得到聯(lián)合哈希值;基于所述第二簽名者的哈希值、所述聯(lián)合哈希值和所述第四簽名要素,確定所述第二待驗(yàn)證元素。
13、上述方案中,所述基于所述第二簽名者的哈希值、所述聯(lián)合哈希值和所述第四簽名要素,確定所述第二待驗(yàn)證元素,包括:確定第一循環(huán)群的生成元、目標(biāo)參數(shù)和第三循環(huán)群的元素;基于所述第一循環(huán)群的生成元、所述目標(biāo)參數(shù)和所述第二簽名者的哈希值,確定待映射參數(shù);基于所述第四簽名要素和所述待映射參數(shù),確定第二臨時(shí)參數(shù);基于所述聯(lián)合哈希值和所述第三循環(huán)群的元素,確定第三臨時(shí)參數(shù);基于所述第二臨時(shí)參數(shù)和所述第三臨時(shí)參數(shù),確定所述第二待驗(yàn)證元素。
14、另一方面,本申請實(shí)施例提供一種簽名生成裝置,所述簽名生成裝置包括:
15、第一確定模塊410,用于基于數(shù)字簽名驗(yàn)證需求和密鑰生成算法,確定第一要素生成函數(shù);
16、處理模塊420,用于采用所述第一要素生成函數(shù)對第一指定驗(yàn)證者的標(biāo)識進(jìn)行處理,得到第一簽名要素;
17、所述第一確定模塊410,還用于基于待簽名明文、第一簽名者的標(biāo)識和所述第一指定驗(yàn)證者的標(biāo)識,確定第二簽名要素;
18、所述第一確定模塊410,還用于基于所述第一簽名要素和所述第二簽名要素,確定為所述第一指定驗(yàn)證者生成的第一數(shù)字簽名。
19、另一方面,本申請實(shí)施例提供一種簽名驗(yàn)證裝置,所述簽名驗(yàn)證裝置包括:
20、第二確定模塊510,用于在第二指定驗(yàn)證者的第二數(shù)字簽名的簽名類型為指定類型的情況下,基于所述第二指定驗(yàn)證者的私鑰和所述第二數(shù)字簽名中的第三簽名要素,確定第一待驗(yàn)證元素;所述第三簽名要素是采用第一要素生成函數(shù)對所述第二指定驗(yàn)證者的標(biāo)識進(jìn)行處理后得到的;
21、所述第二確定模塊510,用于基于所述第二數(shù)字簽名中的第四簽名要素、所述第二指定驗(yàn)證者的標(biāo)識和第本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種簽名生成方法,其特征在于,所述簽名生成方法包括:
2.根據(jù)權(quán)利要求1所述的簽名生成方法,其特征在于,所述基于數(shù)字簽名驗(yàn)證需求和密鑰生成算法,確定第一要素生成函數(shù),包括:
3.根據(jù)權(quán)利要求2所述的簽名生成方法,其特征在于,所述基于所述系統(tǒng)公開參數(shù)、所述系統(tǒng)主密鑰和所述密鑰生成算法,確定所述第一要素生成函數(shù),包括:
4.根據(jù)權(quán)利要求3所述的簽名生成方法,其特征在于,所述基于所述第一循環(huán)群的生成元、所述第二循環(huán)群的隨機(jī)數(shù)、所述系統(tǒng)主密鑰和所述第一哈希函數(shù),確定所述第一要素生成函數(shù),包括:
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的簽名生成方法,其特征在于,所述采用所述第一要素生成函數(shù)對第一指定驗(yàn)證者的標(biāo)識進(jìn)行處理,得到第一簽名要素,包括:
6.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的簽名生成方法,其特征在于,所述基于待簽名明文、第一簽名者的標(biāo)識和所述第一指定驗(yàn)證者的標(biāo)識,確定第二簽名要素,包括:
7.根據(jù)權(quán)利要求6所述的簽名生成方法,其特征在于,所述確定第二要素生成函數(shù),包括:
8.根據(jù)權(quán)利要求6所述的簽名生
9.一種簽名驗(yàn)證方法,其特征在于,所述簽名驗(yàn)證方法包括:
10.根據(jù)權(quán)利要求9所述的簽名驗(yàn)證方法,其特征在于,所述基于所述第二數(shù)字簽名中的第四簽名要素、所述第二指定驗(yàn)證者的標(biāo)識和第二簽名者的標(biāo)識,確定第二待驗(yàn)證元素,包括:
11.根據(jù)權(quán)利要求10所述的簽名驗(yàn)證方法,其特征在于,所述基于所述第二簽名者的哈希值、所述聯(lián)合哈希值和所述第四簽名要素,確定所述第二待驗(yàn)證元素,包括:
12.一種計(jì)算機(jī)設(shè)備,包括存儲器和處理器,所述存儲器存儲有可在處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)權(quán)利要求1至11任一項(xiàng)所述方法的步驟。
...【技術(shù)特征摘要】
1.一種簽名生成方法,其特征在于,所述簽名生成方法包括:
2.根據(jù)權(quán)利要求1所述的簽名生成方法,其特征在于,所述基于數(shù)字簽名驗(yàn)證需求和密鑰生成算法,確定第一要素生成函數(shù),包括:
3.根據(jù)權(quán)利要求2所述的簽名生成方法,其特征在于,所述基于所述系統(tǒng)公開參數(shù)、所述系統(tǒng)主密鑰和所述密鑰生成算法,確定所述第一要素生成函數(shù),包括:
4.根據(jù)權(quán)利要求3所述的簽名生成方法,其特征在于,所述基于所述第一循環(huán)群的生成元、所述第二循環(huán)群的隨機(jī)數(shù)、所述系統(tǒng)主密鑰和所述第一哈希函數(shù),確定所述第一要素生成函數(shù),包括:
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的簽名生成方法,其特征在于,所述采用所述第一要素生成函數(shù)對第一指定驗(yàn)證者的標(biāo)識進(jìn)行處理,得到第一簽名要素,包括:
6.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的簽名生成方法,其特征在于,所述基于待簽名明文、第一簽名者的標(biāo)識和所述第一指定驗(yàn)證者的標(biāo)識,確定第二簽名要素,包括:
...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:崔巖,樊俊峰,陳平,王宗岳,張海燕,李振,李博文,
申請(專利權(quán))人:深圳市紐創(chuàng)信安科技開發(fā)有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。