數字簽名系列一:簽名簡介與RSA簽名算法

      網友投稿 1578 2022-05-29

      寫在前面

      學了一年的數字簽名方案,一直都在一個點進行專研,雖然還是有所收獲,總感覺還差點感覺,上了一年研究生,還沒有對數字簽名有整體了解。導師建議我從點到面,本來想寫一篇綜述之類的,看了看大佬寫的綜述,數字簽名真的種類繁多,而且自己能力有限,寫綜述實在不知道從哪里下手,因此就想在自己博客上寫寫簽名那些事,爭取一周更一個數字簽名算法,希望通過這樣子方式,可以對數字簽名有較深了解,也希望可以結交志趣相投的朋友一起探討(本人菜鳥,求抱大腿)。

      數字簽名作用

      數字簽名,本質上就是一種簽名方式。古代人以手寫或者印章,指模等方式進行簽名,表示自己對簽名的內容了解且負有責任,當出現矛盾紛爭的時候可以作為證據起到法律責任(不知為啥想到了賣身契),隨著計算機發展,要求我們對數字文檔進行簽名認證,如何讓我們的簽名如同手寫印章那樣合法有效?數字簽名技術便應運而生。

      數字簽名技術大多使用公鑰密碼機制,最簡單的構造即簽名者用自己私鑰進行簽名,任意驗證者使用簽名者的公鑰進行驗證。根據公鑰密碼體制可知,已知公鑰求私鑰是困難的,因此只要驗證通過,就可以認為簽名有效,因此數字簽名具有保證簽名者身份的真實性,簽名內容完整性以及一旦驗證通過,簽名不可抵賴性(概括為數字簽名的三個特性:真實性,完整性與不可抵賴性)。

      數字簽名發展史

      1976年,Whitfield與Martin Hellman發表歷史性文章[1],提出數字簽名的概念。

      1978年,發表RSA數字簽名方案。RSA是一種很經典的數字簽名方案,在現實生活中仍有很大的應用。迄今為止,對RSA的攻擊已經很多,但都沒有對它構成真正的威脅。

      1978年,Rabin發表了一次性簽名方案(OTS)[2]一次性簽名方案實現簡單,甚至可以直接用部分密鑰(與身份有關)作為簽名。每個密鑰對僅加密1bit,安全性高。缺點是成本高,效率慢。為了提高效率,提出Merkle數字簽名方案。

      1984年,Elgamal發表基于離散對數問題的Elgamal數字簽名算法[3]

      1984年,Adi Shamir提出基于身份的密碼技術(IBC),且給出了第一個基于身份的數字簽名方案.基于身份的密碼也稱為基于標識的密碼。

      數字簽名系列一:簽名簡介與RSA簽名算法

      1986年Amos Fiat和Adi Shamir提出Fiat-Shamir變換[4],該變換可以將一大類身份認證轉化為數字簽名算法。(主要應用之一,可以把交互式零知識證明轉化為非交互式,化簡算法,提高效率,在數字簽名算法中應用廣泛)

      1991年NIST發表數字簽名算法DSA,是對Elgamal數字簽名算法的變形

      2002年ChoonCha,JungHee Cheon等利用雙線性對構造短簽名算法。

      2017年NIST征集后量子公鑰算法標準化工作,后量子數字簽名方案不斷得到重視

      2008年Gentry,Peikert等人提出了第一個高效安全的格簽名方案[5]

      2001年,曾貴華教授提出了第一個仲裁量子簽名協議(AQS)[6]

      帶屬性的數字簽名

      簡單功能的數字簽名方案已經不能滿足一些特殊需求,比如電子現金,電子選取,交通等領域應用,使得數字簽名功能不斷得到完善,現介紹幾個帶屬性的數字簽名技術。

      (1)盲簽名:1982年David Chaum提出盲簽名概念。盲簽名是相對于一般的數字簽名而言的概念,是指簽名人員雖然對某個消息簽了名,但他并不知道所簽消息的具體內容,也就是說對簽名人而言,消息被盲化處理過。簽名的有效性是指可以在消息去盲以后公開驗證。

      (2)多重簽名:多重數字簽名即為多人同時對一份數字分檔進行簽名。多重數字簽名技術有很多應用場景,比如,夫妻共同財產的支配問題,只有兩者均同意才可以進行財產支配。多重機制可用于對于簽名有需求且對長度有敏感的應用。與多重簽名類似的簽名機制為聚合簽名。聚合簽名分為通用聚合簽名與順序聚合簽名兩種。

      (3)門限簽名:提到門限簽名,不得不提秘密共享技術。很多門限簽名都是有秘密共享機制轉化而成。門限簽名是普通數字簽名的一個重要分支,是門限秘密共享技術和數字簽名的一種結合。1991年,Desmedt-Frankel首次提出了(t,n)門限簽名方案。(t,n)門限簽名方案是指由n個成員組成一個簽名群體,該群體有一對公鑰和私鑰,群體內大于等于t個合法、誠實的成員組合可以代表群體用群私鑰進行簽名,任何人可利用該群體的公鑰進行簽名驗證。這里t是門限值,只有大于等于t個合法成員才能代表群體進行簽名,群體中任何個或更少的成員不能代表該群體進行簽名,同時任何成員不能假冒其他成員進行簽名。采用門限簽名方式可以實現權力分配,避免濫用職權。

      …未完待續

      RSA數字簽名方案

      第一個數字簽名方案,我選擇了比較經典的RSA數字簽名。在介紹這個簽名之前,首先想先介紹一下RSA加解密算法:

      RSA公鑰算法(基于大整數分解難題)

      (1)選取兩個不同大素數p,q

      (2)計算n=pq,φ ( n ) = ( p ? 1 ) ( q ? 1 ) \varphi (n)=\left ( p-1 \right )\left ( q-1 \right )φ(n)=(p?1)(q?1),其中φ ( n ) \varphi (n)φ(n)是歐拉函數。

      (3)隨機選取整數e

      (4)采用歐幾里得算法計算私鑰d,使得ed=1modφ ( n ) \varphi (n)φ(n)。

      e,n是公鑰,d是私鑰。p,q,φ ( n ) \varphi (n)φ(n)可銷毀不可公開

      RSA簽名算法

      最簡單的RSA簽名算法即私鑰簽名,公鑰驗證,具體流程如下:

      (1)密鑰對的產生(e,d),把d傳輸給驗證者。

      (2)對消息M進行處理,求其摘要,公開摘要算法。

      (3)用戶用自己私鑰對摘要進行加密處理后,把摘要以及原文發送給驗證者

      (4)驗證者用對方公鑰進行解密,得到摘要,計算M的摘要,看看兩個摘要是否一致,一致簽名成功,否則失敗。

      這次就先介紹到這里,如有錯誤望指正!

      參考文獻

      [1] Diffie W., Hellman M. (1976) New Directions in

      Cryptography. IEEE Transactions on Information Theory.

      22 (6): 644.

      [2]Rivest R., Shamir A., Adleman L. (1978) A Method

      for Obtaining Digital Signatures and Public-Key

      Cryptosystems. Communications of the ACM. 21 (2):

      120–126

      [3]ElGamal T. (1985) A Public Key Cryptosystem and

      a Signature Scheme Based on Discrete Logarithms.

      Advances in Cryptology. CRYPTO 1984. Lecture Notes in Computer Science, vol 196. Springer, Berlin,

      Heidelberg.

      [4]Fiat A., Shamir A. (1987) How To Prove Yourself:

      Practical Solutions to Identification and Signature

      Problems. Advances in Cryptology — CRYPTO’ 86.

      CRYPTO 1986. Lecture Notes in Computer Science, vol

      263. Springer, Berlin, Heidelberg.

      [5] Craig Gentry, Chris Peikert, Vinod Vaikuntanathan. Trapdoors for hard lattices and new cryptographic constructions. In the 40th Annual ACM Symposium on Theory of Computing. ACM, 2008, 197-206.

      [6]Zeng G, Keitel C H. Arbitrated quantum-signature scheme[J]. Physical Review A, 2002, 65(4): 042312.

      AI

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Struts2的ResultType和Action處理鏈
      下一篇:華為云云原生鉆石集訓營 第十三課:Istio數據面架構(Envoy)深度解析
      相關文章
      亚洲日韩国产精品第一页一区 | 亚洲一区二区久久| 亚洲香蕉成人AV网站在线观看| 亚洲AV无码专区在线亚| 亚洲神级电影国语版| 亚洲中文字幕AV在天堂| 亚洲国产精品无码久久久蜜芽| 亚洲永久精品ww47| 国产精品亚洲片在线观看不卡 | 美国毛片亚洲社区在线观看| 亚洲狠狠成人综合网| 亚洲国产成a人v在线观看| 精品亚洲成AV人在线观看| 亚洲人成在线影院| 精品亚洲成a人片在线观看| 亚洲电影唐人社一区二区| 亚洲av色香蕉一区二区三区蜜桃| 国产精品亚洲综合久久| 中文字幕亚洲码在线| 亚洲性色精品一区二区在线| 亚洲精品无码久久久久牙蜜区| 亚洲欧美日韩久久精品| 亚洲aⅴ无码专区在线观看| 日韩亚洲人成网站| av在线亚洲欧洲日产一区二区| 久久伊人亚洲AV无码网站| 国产偷国产偷亚洲清高动态图 | 成人区精品一区二区不卡亚洲| 亚洲人成小说网站色| 91在线亚洲综合在线| 亚洲精品无码国产片| 国产亚洲精彩视频| 亚洲一级片免费看| 亚洲国产精品无码av| 亚洲综合久久综合激情久久| 亚洲女人初试黑人巨高清| 亚洲第一区二区快射影院| 亚洲AV无码资源在线观看| 亚洲精品456播放| 亚洲无人区一区二区三区| 亚洲成色999久久网站|