国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種具有非交互式不可否認性質的簽密方法

      文檔序號:9767662閱讀:515來源:國知局
      一種具有非交互式不可否認性質的簽密方法
      【技術領域】
      [0001] 本發(fā)明涉及簽密技術領域,特別是涉及一種具有非交互式不可否認性質的簽密方 法。
      【背景技術】
      [0002] 簽密是一種公鑰密碼技術,用于高效地同時提供保密性和認證性服務。密鑰在簽 密系統(tǒng)中起著十分重要的作用,只有擁有合法密鑰的用戶才能執(zhí)行相關的簽密和解簽密操 作。
      [0003] 數(shù)字簽名中的消息以明文的形式出現(xiàn),任何第三方都能驗證簽名的合法性。只要 簽名算法滿足不可偽造性,則任何簽名者都不能否認自己合法簽名的消息。從這個角度講, 數(shù)字簽名中的不可偽造性包含了不可否認性。然而在簽密中,消息被加密起來,只有接收方 解密出消息并驗證是否是發(fā)送方合法簽密的。任何第三方都不知道消息的內容,所以無從 進行驗證??梢钥闯鲈诤灻苤?,不可偽造性滿足并不意味著不可否認性也相應滿足。
      [0004] 考慮一種情況,發(fā)送方簽密了一個消息(這個消息可能是一份敏感的醫(yī)療報告,一 個商業(yè)承諾,或一封重要的電子郵件等),并將簽密密文發(fā)送給了接收方,不久以后收發(fā)雙 方發(fā)生糾紛,發(fā)送方否認其簽密過此消息。此時接收方面臨的問題就是如何向仲裁方(例如 法院)澄清這個事實。
      [0005] 目前關于對于解決簽密消息的不可否認性質,密碼學者中最優(yōu)者為Malone-Lee的 方法。在其方法中,
      [0006] 簽密密文σ為:
      [0007]
      [0008]
      [0009]在實現(xiàn)不可否認性質時,Malone-Lee將接收方發(fā)送給仲裁方的信息劃分為兩個部 分,一部分是需要仲裁的信息包,括收發(fā)雙方公鑰、消息和密文;另一部分就是證據(jù)。仲裁方 通過證據(jù)驗證消息和密文之間的關系。在本方案中,證據(jù)就是。有了的幫助,仲裁方可以驗 證(r,s)是否是消息m的Schnorr簽名。
      [00?0]為了保證具有不可否認性質的簽密方案的安全性,Malone-Lee建立了專門針對具 有不可否認性質的簽密安全性模型。與之前的安全性定義不同的是,Malone-Lee在新的保 密性和不可偽造性的攻擊游戲里面允許攻擊者進行多次證據(jù)詢問。每次證據(jù)詢問的具體處 理如下:
      [0011]證據(jù)詢問:攻擊者提交簽密密文,和收發(fā)雙方的公鑰給挑戰(zhàn)者,挑戰(zhàn)者返回給攻擊 者相關的證據(jù)。
      [0012 ] 可以看出攻擊者在兩個攻擊游戲中都可以通過證據(jù)詢問可以獲得證據(jù),從而從根 本上保證了證據(jù)的暴露不會影響到簽密方案的保密性和不可偽造性。
      [0013] Malone-Lee的方法邁出了保證具有不可否認性質的簽密方案安全性非常重要的 一大步。但是該方法只適用于一個具體的方案,不是一般性的解決方案,因此在應用上有一 定的局限性。本發(fā)明提出一種一般性的高效的具有非交互式不可否認性質的簽密方法,使 得具有非交互式不可否認性質的簽密可以適用于一般情況,以更廣泛地構造。

      【發(fā)明內容】

      [0014] 為解決上述問題,本發(fā)明提供了一種非交互式不可否認性質的簽密構造方法,包 括如下步驟:
      [0015] 步驟一:執(zhí)行參數(shù)建立算法;
      [0016] 參數(shù)建立算法公式為:PubSetup( lk);
      [0017] 詳細步驟為:
      [0018] (1)計算 Pub-lk;
      [0019] (2)返回 Pub;
      [0020] 其中,lk為輸入安全參數(shù),Pub為輸出公開參數(shù);
      [0021]步驟二:發(fā)送方運行發(fā)送方密鑰生成算法,輸入Pub和發(fā)送方身份IDs,輸出發(fā)送方 公私鑰對(PKs;SKs);
      [0022] 發(fā)送方的密鑰生成算法公式為:KeyGens(Pub;IDs);
      [0023] 詳細步驟為:
      [0024] (1)計算(SKsig;PKsig)-SigKeyGen(Pub);
      [0025] (2)計算(SKs; PKs) - (SKsig; PKsig);
      [0026] (3)返回(SKs;PKs);
      [0027] 步驟三:接收方運行密鑰生成算法,輸入Pub和接收方身份IDr,輸出接受公私鑰對 (SKR;PK R).接收方保密自己的私鑰SKR,并公開自己的公鑰PKR;
      [0028] 接收方的密鑰生成算法公式為:KeyGenR(Pub;IDR);
      [0029] 詳細步驟為:
      [0030] (1)計算(SKenc; PKenc) -EncKeyGen(Pub);
      [0031] (2)計算(SKr ; PKr ) - (SKenc; PKenc);
      [0032] (3)返回(SKR;PKR);
      [0033] 步驟四:發(fā)送方運行簽密算法,輸入SKs;PKR和消息M,輸出簽密密文〇;
      [0034] 簽密算法公式為:Signcrypt(M;SKs;PKR);
      [0035] 詳細步驟為:
      [0036] (1)將SKs 表示為 SKsig;
      [0037] (2)將PKR表示為 PKenc;
      [0038] (3)計算C-Encrypt(PKs| |M;PKenc);
      [0039] (4)計算〇sig-Sign(C| |PKR;SKsig);
      [0040] (5)設置 (C;〇sig);
      [0041 ] (6)返回簽密密文〇;
      [0042]步驟五:接收方運行解簽密算法,輸入〇;PKs和SKR,輸出消息M或者輸出丄表示密文 不合法;
      [0043]解簽密算法公式為:Unsigncrypt(〇;PKs; SKR);
      [0044] 詳細步驟為:
      [0045] (1)將PKs表示為PKsig、將SKR表示為SK en。、將σ表示為(C; 〇sig);
      [0046] (2)計算SigVer(〇sig;C| |PKR;PKsig),如果SigVer(〇sig;C| |PKR;PKsig) =丄,則返回 丄,否則返回T;
      [0047] (3)計算 Menc-DeCrypt(C;SKenc);如果 Menc=丄,則返回丄,否則將 Menc 表示成 PK's Μ;
      [0048] (4)判斷PK's是否與PKs相等,如是則返回Μ;否則返回丄;
      [0049]步驟六:接收方運行證據(jù)生成算法,輸入〇;PKs和SKR,輸出發(fā)證據(jù)d或者輸出丄表示 密文不合法;
      [0050]證據(jù)生成算法公式為EvidenceGen(σ;PKs;SKR);
      [0051]詳細步驟為:
      [0052] (1)將PKs表示為PKsig、將SKR表示為SK enc、將σ表示為(C; 〇sig);
      [0053] (2)如果SigVer(〇sig;C| |PKR;PKsig) =丄,則返回丄,否則返回T;
      [0054] (3)計算jt-EncEvidenceGen(C;SKenc);
      [0055] (4)返回 d-π;
      [0056] 步驟七:接收方運行仲裁驗證算法,輸入〇,M,d,PKs和PKR,輸出Τ表示該證據(jù)d證明 了消息Μ是密文σ對應的消息,否則輸出丄;
      [0057]仲裁驗證算法公式為]\1(^6\^1'(〇;1;(1;?1(5;?1([0;
      [0058] 詳細步驟為:
      [0059] (1)將PKs表示為PKsig、將SKR表示為SK enc、將〇表示為(C; 〇sig)、將d表示為π或丄;
      [0060] ⑵判斷:
      [0061] 如果M=丄,d=丄,并且SigVer(C;〇slg)=丄,則返回T ;
      [0062] 如果M=丄,d = Ji,SigVer(C| |PKR;〇sig;PKsig)= T,并且EncVer(C;丄;3i;PKenc) = T,則返回T ;
      [0063] 如果MOMPk,EncVer(C;PKs| |M;Ji;PKenc)= Τ,并且SigVer(C;〇sig); = Τ,則返回 Τ ;
      [0064] 否則返回丄;
      [0065] 其中,MPk為明文空間。
      【具體實施方式】
      [0066] 本發(fā)明的設計構思為:利用一種具有特殊的性質的公鑰加密方案,稱為具有非交 互式打開性質的加密(ΡΚΕΝ0)來代替普通的公鑰加密方案,使之和數(shù)字簽名相結合,從而構 造非交互式不可否認性質的簽密。
      [0067]以下首先描述ΡΚΕΝ0方案,數(shù)字簽名方案,以及具有非交互式不可否認性質的簽密 的語法定義,最后給出本發(fā)明具體的的簽名方法。
      [0068] 1.具有非交互式打開性質的公鑰加密(ΡΚΕΝ0)
      [0069]語法定義:一個具有非交互式打開性質的公鑰加密方案的語法定義包含四個算 法,密鑰建立算法EncKeyGen、加密算法Encrypt、解密算法Decrypt、證據(jù)產生算法 EncEvidenceGen 和驗證算法 EncVer。其中,EncKeyGen、Encrypt和EncEvidenceGen是概率性 算法,Decrypt和EncVer是確定性算法。這四個算法的具體描述如下:
      [0070] EnCKeyGen(lk):輸入安全性參數(shù)lk,該算法輸出公鑰pk和私鑰sk.
      [OO71 ] Encrypt(pk,M):輸入公鑰pk和消息MeMPk(MPk為明文空間),該算法輸出密文C。 [0072] 0扣巧?丨(4,〇:輸入密文(:和私鑰成,該算法輸出解密的消息111。若密文(:是非法密 文,該算法輸出特殊字符丄。
      [0073] EncEvidenceGen(sk,C):輸入密文C和私鑰sk,該算法輸出證據(jù)π。
      [0074] EncVer(pk,C,m,3i):輸入密文C,消息m,公鑰達和證據(jù)π,該算法輸出T代表證據(jù)π 證明了密文C是消息m在公鑰pk下的加密密文。反之,算法輸出丄。特別地,表明C是非法密 文。
      [0075] 2.數(shù)字簽名算法:
      [0076]語法定義:一個數(shù)字簽名方案的語法定義包含四個算法,密鑰建立算法 SigKeyGen、簽名算法Sign、和驗證算法SigVer。其中,SigKeyGen和Sign是概率性算法, SigVer是確定性算法。這三個算法的具體描述如下:
      [0077] SigKeyGen(lk):輸入安全性參數(shù)lk,該算法輸出公鑰pk和私鑰sk.
      [0078] Sign(sk,M):輸入私鑰sk和消息MEMPk(MPk為明文空間),該算法輸出簽名〇。
      [0079] SigVer(pk,〇):輸入簽名〇和公鑰pk,該算法輸出解密的消息m。輸出T代表通過簽 名驗證。反之,算法輸出丄。
      [0080] 3.具有非交互式不可否認性質的簽密
      [0081]參數(shù)建立算法PubSetup(lk):該算法輸入安全參數(shù)lk,輸出公開參數(shù)Pub。該算法由 一個收發(fā)雙方可信任的機構來運行,可信機構隨后公開Pub。
      [0082] 發(fā)送方密鑰生成算法KeyGens(Pub; IDs):該算法由發(fā)送方運行。輸入Pub和發(fā)送方 身份IDs,輸出發(fā)送方公私鑰對(PKs;SKs).
      [0083]接收方密鑰生成算法KeyGenR(Pub;IDR):該算法由接收方運行。輸入Pub和發(fā)送方 身份IDr,輸出發(fā)送方公私鑰對(SKR; PKR).接收方保密自己的私鑰SKR,并公開自己的公鑰 PKr.
      [0084] 簽密算法Signcrypt(Μ; SKs;PKr):該算法由發(fā)送方運行。輸入SKs;PKr和消
      當前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1