System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及數字簽名,特別涉及一種簽名及驗證方法、裝置、設備及介質。
技術介紹
1、普通的環簽名方案由于具有匿名性和不可追蹤性,不能將同一簽名者簽名的消息關聯起來,導致在匿名投票、電子支付等場景下,不誠實的簽名者可能會投出多張選票或者多次花費同一筆資金。目前為了解決此問題,學術界提出了可鏈接環簽名技術,與普通的環簽名方案相比,可鏈接環簽名方案可以將同一簽名者簽名的消息關聯起來。其中,對于基于sm2(橢圓曲線公鑰密碼算法)的可鏈接環簽名方案研究較少,無法滿足數字經濟時代的隱私保護需求。現有一種可鏈接環簽名的設計方案,其在sm2環簽名方案的基礎上,通過嵌入安全的簽名標簽,設計了三種方案。然而這些方案中的安全標簽均與用戶選擇的公鑰集合相關聯,若簽名者不想讓自己的兩個簽名關聯起來,只需選擇不同的公鑰集合即可,在簽名驗證環節中由于選擇的公鑰集合不同致使安全標簽驗證不一致,無法將兩個來自于同一簽名者的簽名鏈接起來,無法實現獨立于群體的可鏈接性。
2、綜上可見,如何確保可鏈接環簽名獨立于群體進而在任何情況下均能確定來自同一簽名者的可鏈接簽名是目前亟待解決的技術問題。
技術實現思路
1、有鑒于此,本專利技術的目的在于提供一種簽名及驗證方法、裝置、設備及介質,能夠確保可鏈接環簽名獨立于群體進而在任何情況下均能確定來自同一簽名者的可鏈接簽名。其具體方案如下:
2、第一方面,本申請提供了一種簽名及驗證方法,應用于簽名及驗證系統,包括:
3、從第一預設加法循環群中隨機
4、根據所述簽名者私鑰以及所述預設系統參數確定簽名者標簽,根據所述預設系統參數、所述簽名者標簽、包含所述簽名者公鑰的目標公鑰集合生成與所述簽名者的目標消息對應的目標可鏈接環簽名;所述目標可鏈接環簽名包含所述簽名者標簽;
5、將所述目標消息以及所述目標可鏈接環簽名發送至簽名驗證端,以便所述簽名驗證端對接收到的若干消息對應的若干可鏈接環簽名進行正確性驗證,并基于所述若干可鏈接環簽名中的目標可鏈接環簽名確定來自所述簽名者的可鏈接簽名。
6、可選的,所述根據預設系統參數以及所述簽名者私鑰確定簽名者公鑰,包括:
7、將預設系統參數中的公鑰生成因子與所述簽名者私鑰的乘積確定為簽名者公鑰;
8、其中,所述公鑰生成因子為第二預設加法循環群的第一生成元;所述第二預設加法循環群的階數與所述第一預設加法循環群的階數一致。
9、可選的,所述從第一預設加法循環群中隨機選取第一隨機數,以將所述第一隨機數作為簽名者的簽名者私鑰,并根據預設系統參數以及所述簽名者私鑰確定簽名者公鑰之后,還包括:
10、隨機選擇若干非簽名者公鑰,以根據所述若干非簽名者公鑰以及所述簽名者公鑰組成所述目標公鑰集合。
11、可選的,所述根據所述簽名者私鑰以及所述預設系統參數確定簽名者標簽,包括:
12、將所述簽名者私鑰與所述預設系統參數中的標簽盲化因子的乘積確定為簽名者標簽;所述標簽盲化因子為所述第二預設加法循環群的第二生成元。
13、可選的,所述根據所述預設系統參數、所述簽名者標簽、包含所述簽名者公鑰的目標公鑰集合生成與所述簽名者的目標消息對應的目標可鏈接環簽名,包括:
14、從所述第一預設加法循環群中隨機選取第二隨機數,并通過預設安全哈希函數對所述第二隨機數、包含所述簽名者公鑰的目標公鑰集合、所述簽名者標簽、所述簽名者的目標消息以及所述預設系統參數進行運算,以得到第一哈希值;
15、從所述第一預設加法循環群中隨機選取目標隨機數群,并通過所述預設安全哈希函數對所述目標隨機數群、所述預設系統參數、所述目標公鑰集合、所述簽名者標簽、所述第一哈希值以及所述目標消息進行循環運算,以得到與所述目標公鑰集合對應的若干哈希值,直至所述若干哈希值中出現重復的哈希值,以將所述重復的哈希值作為第二哈希值;
16、從所述若干哈希值中確定與所述目標消息對應的第三哈希值,并計算所述第三哈希值與所述簽名者私鑰的目標乘積,以及所述簽名者私鑰與預設單位數之間的目標和值;
17、計算所述第二隨機數與所述目標乘積的目標差值,并基于所述目標差值與所述目標和值的比值對所述階數進行取模運算,以得到相應的目標運算結果;
18、將所述目標運算結果作為簽名者簽名,并根據所述簽名者簽名、所述目標公鑰集合、所述簽名者標簽、所述第二哈希值以及所述目標隨機數群生成與所述目標消息對應的目標可鏈接環簽名。
19、可選的,所述對接收到的若干消息對應的若干可鏈接環簽名進行正確性驗證,包括:
20、驗證接收到的若干消息對應的若干可鏈接環簽名中的目標參數是否屬于所述第一預設加法循環群;所述目標參數為所述若干可鏈接環簽名中的第二哈希值、簽名者簽名以及目標隨機數群;
21、若所述目標參數屬于所述第一預設加法循環群,則分別對所述若干消息中的待驗證消息進行循環運算,以確定是否得到與所述待驗證消息的待驗證可鏈接環簽名對應的第二哈希值相等的重復哈希值;
22、若得到與所述待驗證可鏈接環簽名對應的第二哈希值相等的重復哈希值,則表征所述待驗證可鏈接環簽名通過驗證。
23、可選的,所述基于所述若干可鏈接環簽名中的目標可鏈接環簽名確定來自所述簽名者的可鏈接簽名,包括:
24、將所述目標可鏈接環簽名中的所述簽名者標簽與通過驗證的所述待驗證可鏈接環簽名中的標簽進行對比;
25、若所述待驗證可鏈接環簽名中的標簽與所述簽名者標簽一致,則將所述待驗證可鏈接環簽名以及所述簽名者標簽對應的所述目標可鏈接環簽名確定為來自所述簽名者的可鏈接簽名。
26、第二方面,本申請提供了一種簽名及驗證裝置,應用于簽名及驗證系統,包括:
27、公鑰確定模塊,用于從第一預設加法循環群中隨機選取第一隨機數,以將所述第一隨機數作為簽名者的簽名者私鑰,并根據預設系統參數以及所述簽名者私鑰確定簽名者公鑰;
28、簽名生成模塊,用于根據所述簽名者私鑰以及所述預設系統參數確定簽名者標簽,根據所述預設系統參數、所述簽名者標簽、包含所述簽名者公鑰的目標公鑰集合生成與所述簽名者的目標消息對應的目標可鏈接環簽名;所述目標可鏈接環簽名包含所述簽名者標簽;
29、消息確定模塊,用于將所述目標消息以及所述目標可鏈接環簽名發送至簽名驗證端,以便所述簽名驗證端對接收到的若干消息對應的若干可鏈接環簽名進行正確性驗證,并基于所述若干可鏈接環簽名中的目標可鏈接環簽名確定來自所述簽名者的可鏈接簽名。
30、第三方面,本申請提供了一種電子設備,包括:
31、存儲器,用于保存計算機程序;
32、處理器,用于執行所述計算機程序,以實現前述的簽名及驗證方法。
33、第四方面,本申請提供了一種計算機本文檔來自技高網...
【技術保護點】
1.一種簽名及驗證方法,其特征在于,應用于簽名及驗證系統,包括:
2.根據權利要求1所述的簽名及驗證方法,其特征在于,所述根據預設系統參數以及所述簽名者私鑰確定簽名者公鑰,包括:
3.根據權利要求1或2任一項所述的簽名及驗證方法,其特征在于,所述從第一預設加法循環群中隨機選取第一隨機數,以將所述第一隨機數作為簽名者的簽名者私鑰,并根據預設系統參數以及所述簽名者私鑰確定簽名者公鑰之后,還包括:
4.根據權利要求2所述的簽名及驗證方法,其特征在于,所述根據所述簽名者私鑰以及所述預設系統參數確定簽名者標簽,包括:
5.根據權利要求4所述的簽名及驗證方法,其特征在于,所述根據所述預設系統參數、所述簽名者標簽、包含所述簽名者公鑰的目標公鑰集合生成與所述簽名者的目標消息對應的目標可鏈接環簽名,包括:
6.根據權利要求5所述的簽名及驗證方法,其特征在于,所述對接收到的若干消息對應的若干可鏈接環簽名進行正確性驗證,包括:
7.根據權利要求6所述的簽名及驗證方法,其特征在于,所述基于所述若干可鏈接環簽名中的目標可鏈接環簽名確定
8.一種簽名及驗證裝置,其特征在于,應用于簽名及驗證系統,包括:
9.一種電子設備,其特征在于,包括:
10.一種計算機可讀存儲介質,其特征在于,用于保存計算機程序;其中,所述計算機程序被處理器執行時實現如權利要求1至7任一項所述的簽名及驗證方法。
...【技術特征摘要】
1.一種簽名及驗證方法,其特征在于,應用于簽名及驗證系統,包括:
2.根據權利要求1所述的簽名及驗證方法,其特征在于,所述根據預設系統參數以及所述簽名者私鑰確定簽名者公鑰,包括:
3.根據權利要求1或2任一項所述的簽名及驗證方法,其特征在于,所述從第一預設加法循環群中隨機選取第一隨機數,以將所述第一隨機數作為簽名者的簽名者私鑰,并根據預設系統參數以及所述簽名者私鑰確定簽名者公鑰之后,還包括:
4.根據權利要求2所述的簽名及驗證方法,其特征在于,所述根據所述簽名者私鑰以及所述預設系統參數確定簽名者標簽,包括:
5.根據權利要求4所述的簽名及驗證方法,其特征在于,所述根據所述預設系統參數、所述簽名者標簽、包...
【專利技術屬性】
技術研發人員:馬宇峰,張舒黎,張小青,鄧春華,
申請(專利權)人:中電科網絡安全科技股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。