當前位置:首頁 » 操作系統 » r1簽名演算法

r1簽名演算法

發布時間: 2022-05-29 13:37:40

A. 數字簽名的實現方法

數字簽名演算法依靠公鑰加密技術來實現的。在公鑰加密技術里,每一個使用者有一對密鑰:一把公鑰和一把私鑰。公鑰可以自由發布,但私鑰則秘密保存;還有一個要求就是要讓通過公鑰推算出私鑰的做法不可能實現。
普通的數字簽名演算法包括三種演算法:
1.密碼生成演算法;
2.標記演算法;
3.驗證演算法。

B. 電子簽名演算法的種類

電子簽名是指數據電文中以電子形式所含、所附用於識別簽名人身份並表明簽名人認可其中內容的數據。通俗點說,電子簽名就是通過密碼技術對電子文檔的電子形式的簽名,並非是書面簽名的數字圖像化,它類似於手寫簽名或印章,也可以說它就是電子印章。

電子簽名技術的實現需要使用到非對稱加密(RSA演算法)和報文摘要(HASH演算法)。
非對稱加密是指用戶有兩個密鑰,一個是公鑰,一個是私鑰,公鑰是公開的,任何人可以使用,私鑰是保密的,只有用戶自己可以使用。該用戶可以用私鑰加密信息,並傳送給對方,對方可以用該用戶的公鑰將密文解開,對方應答時可以用該用戶的公鑰加密,該用戶收到後可以用自己的私鑰解密。公私鑰是互相解密的,而且絕對不會有第三者能插進來。

報文摘要利用HASH演算法對任何要傳輸的信息進行運算,生成128位的報文摘要,而不同內容的信息一定會生成不同的報文摘要,因此報文摘要就成了電子信息的「指紋」。

有了非對稱加密技術和報文摘要技術,就可以實現對電子信息的電子簽名了。

C. 數字簽名是什麼數字簽名方案

數字簽名(Digital Signature)技術是不對稱加密演算法的典型應用。數字簽名的應用過程是,數據源發送方使用自己的私鑰對數據校驗和或其他與數據內容有關的變數進行加密處理,完成對數據的合法「簽名」,數據接收方則利用對方的公鑰來解讀收到的「數字簽名」,並將解讀結果用於對數據完整性的檢驗,以確認簽名的合法性。數字簽名技術是在網路系統虛擬環境中確認身份的重要技術,完全可以代替現實過程中的「親筆簽字」,在技術和法律上有保證。在公鑰與私鑰管理方面,數字簽名應用與加密郵件PGP技術正好相反。在數字簽名應用中,發送者的公鑰可以很方便地得到,但他的私鑰則需要嚴格保密。
數字簽名包括普通數字簽名和特殊數字簽名。普通數字簽名演算法有RSA、ElGmal、Fiat-Shamir、Guillou-Quisquarter、Schnorr、Ong-Schnorr-Shamir數字簽名演算法、Des/DSA,橢圓曲線數字簽名演算法和有限自動機數字簽名演算法等。特殊數字簽名有盲簽名、代理簽名、群簽名、不可否認簽名、公平盲簽名、門限簽名、具有消息恢復功能的簽名等,它與具體應用環境密切相關。

D. 簽名演算法怎麼來的

數字簽名演算法分析與Hash簽名

序:這篇文章我用了近一周的時間完成,其中涉及到的RSA演算法已經在上一篇《公鑰密碼體系》中詳細的介紹過,目前數字簽名中人們使用很多的還是512位與1024位的RSA演算法。


摘要: 數字簽字和認證機構是電子商務的核心技術。數字簽名作為目前Internet中電子商務重要的技術,不斷地進行改進,標准化。本文從數字簽名的意義出發,詳細介紹了數字簽名中涉及到的內容與演算法,並自行結合進行改進。

關鍵詞:Internet公鑰加密 Hash函數 電子商務加密數字簽名

數字簽名簡介

我們對加解密演算法已經有了一定理解,可以進一步討論"數字簽名"(注意不要與數字認證混淆)的問題了,即如何給一個計算機文件進行簽字。數字簽字可以用對稱演算法實現,也可以用公鑰演算法實現。但前者除了文件簽字者和文件接受者雙方,還需要第三方認證,較麻煩;通過公鑰加密演算法的實現方法,由於用秘密密鑰加密的文件,需要靠公開密鑰來解密,因此這可以作為數字簽名,簽名者用秘密密鑰加密一個簽名(可以包括姓名、證件號碼、簡訊息等信息),接收人可以用公開的、自己的公開密鑰來解密,如果成功,就能確保信息來自該公開密鑰的所有人。

公鑰密碼體制實現數字簽名的基本原理很簡單,假設A要發送一個電子文件給B,A、B雙方只需經過下面三個步驟即可:

1. A用其私鑰加密文件,這便是簽字過程

2. A將加密的文件送到B

3. B用A的公鑰解開A送來的文件

這樣的簽名方法是符合可靠性原則的。即:

簽字是可以被確認的,
簽字是無法被偽造的,
簽字是無法重復使用的,
文件被簽字以後是無法被篡改的,
簽字具有無可否認性,
數字簽名就是通過一個單向函數對要傳送的報文進行處理得到的用以認證報文來源並核實報文是否發生變化的一個字母數字串。用這幾個字元串來代替書寫簽名或印章,起到與書寫簽名或印章同樣的法律效用。國際社會已開始制定相應的法律、法規,把數字簽名作為執法的依據。

數字簽名的實現方法

實現數字簽名有很多方法,目前數字簽名採用較多的是公鑰加密技術,如基於RSA Data Security公司的PKCS(Public Key Cryptography Standards)、DSA(Digital Signature Algorithm)、x.509、PGP(Pretty Good Privacy)。1994年美國標准與技術協會公布了數字簽名標准(DSS)而使公鑰加密技術廣泛應用。同時應用散列演算法(Hash)也是實現數字簽名的一種方法。

非對稱密鑰密碼演算法進行數字簽名

演算法的含義:

非對稱密鑰密碼演算法使用兩個密鑰:公開密鑰和私有密鑰,分別用於對數據的加密和解密,即如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能進行解密;如果用私有密鑰對數據進行加密,則只有用對應的公開密鑰才能解密。

使用公鑰密碼演算法進行數字簽名通用的加密標准有: RSA,DSA,Diffie-Hellman等。

簽名和驗證過程:

發送方(甲)首先用公開的單向函數對報文進行一次變換,得到數字簽名,然後利用私有密鑰對數字簽名進行加密後附在報文之後一同發出。

接收方(乙)用發送方的公開密鑰對數字簽名進行解密交換,得到一個數字簽名的明文。發送方的公鑰可以由一個可信賴的技術管理機構即認證中心(CA)發布的。

接收方將得到的明文通過單向函數進行計算,同樣得到一個數字簽名,再將兩個數字簽名進行對比,如果相同,則證明簽名有效,否則無效。

這種方法使任何擁有發送方公開密鑰的人都可以驗證數字簽名的正確性。由於發送方私有密鑰的保密性,使得接受方既可以根據結果來拒收該報文,也能使其無法偽造報文簽名及對報文進行修改,原因是數字簽名是對整個報文進行的,是一組代表報文特徵的定長代碼,同一個人對不同的報文將產生不同的數字簽名。這就解決了銀行通過網路傳送一張支票,而接收方可能對支票數額進行改動的問題,也避免了發送方逃避責任的可能性。

對稱密鑰密碼演算法進行數字簽名

演算法含義

對稱密鑰密碼演算法所用的加密密鑰和解密密鑰通常是相同的,即使不同也可以很容易地由其中的任意一個推導出另一個。在此演算法中,加、解密雙方所用的密鑰都要保守秘密。由於計算機速度而廣泛應用於大量數據如文件的加密過程中,如RD4和DES,用IDEA作數字簽名是不提倡的。

使用分組密碼演算法數字簽名通用的加密標准有:DES,Tripl-DES,RC2,RC4,CAST等。

簽名和驗證過程

Lamport發明了稱為Lamport-Diffle的對稱演算法:利用一組長度是報文的比特數(n)兩倍的密鑰A,來產生對簽名的驗證信息,即隨機選擇2n個數B,由簽名密鑰對這2n個數B進行一次加密交換,得到另一組2n個數C。

發送方從報文分組M的第一位開始,依次檢查M的第I位,若為0時,取密鑰A的第i位,若為1則取密鑰A的第i+1位;直至報文全部檢查完畢。所選取的n個密鑰位形成了最後的簽名。

接受方對簽名進行驗證時,也是首先從第一位開始依次檢查報文M,如果M的第i位為0時,它就認為簽名中的第i組信息是密鑰A的第i位,若為1則為密鑰A的第i+1位;直至報文全部驗證完畢後,就得到了n個密鑰,由於接受方具有發送方的驗證信息C,所以可以利用得到的n個密鑰檢驗驗證信息,從而確認報文是否是由發送方所發送。

這種方法由於它是逐位進行簽名的,只有有一位被改動過,接受方就得不到正確的數字簽名,因此其安全性較好,其缺點是:簽名太長(對報文先進行壓縮再簽名,可以減少簽名的長度);簽名密鑰及相應的驗證信息不能重復使用,否則極不安全。

結合對稱與非對稱演算法的改進

對稱演算法與非對稱演算法各有利弊,所以結合各自的優缺點進行改進,可以用下面的模塊進行說明:

Hash演算法進行數字簽名

Hash演算法也稱作散列演算法或報文摘要,Hash演算法將在數字簽名演算法中詳細說明。

Hash演算法數字簽字通用的加密標准有: SHA-1,MD5等。

數字簽名演算法

數字簽名的演算法很多,應用最為廣泛的三種是: Hash簽名、DSS簽名、RSA簽名。這三種演算法可單獨使用,也可綜合在一起使用。數字簽名是通過密碼演算法對數據進行加、解密變換實現的,常用的HASH演算法有MD2、MD5、SHA-1,用DES演算法、RSA演算法都可實現數字簽名。但或多或少都有缺陷,或者沒有成熟的標准。

Hash簽名

Hash簽名是最主要的數字簽名方法,也稱之為數字摘要法(digital digest)、數字指紋法(digital finger print)。它與RSA數字簽名是單獨的簽名不同,該數字簽名方法是將數字簽名與要發送的信息緊密聯系在一起,它更適合於電子商務活動。將一個商務合同的個體內容與簽名結合在一起,比合同和簽名分開傳遞,更增加了可信度和安全性。下面我們將詳細介紹Hash簽名中的函數與演算法。

E. 數字簽名演算法的三個條件是什麼

數字簽名演算法至少應該滿足三個條件:

  1. 接收者能夠核實發送者對報文的簽名;

  2. 發送者事後不能抵賴對其報文的簽名;

  3. 接收者無法偽造對報文的簽名。

    數字簽名演算法是數字簽名標準的一個子集,表示了只用作數字簽名的一個特定的公鑰演算法。密鑰運行在由SHA-1產生的消息哈希:為了驗證一個簽名,要重新計算消息的哈希,使用公鑰解密簽名然後比較結果。縮寫為DSA。

    數字簽名是電子簽名的特殊形式。到目前為止,至少已經有 20 多個國家通過法律 認可電子簽名,其中包括歐盟和美國,我國的電子簽名法於 2004 年 8 月 28 日第十屆全 國人民代表大會常務委員會第十一次會議通過。數字簽名在 ISO 7498-2 標准中定義為: 「附加在數據單元上的一些數據,或是對數據單元所作的密碼變換,這種數據和變換允許數據單元的接收者用以確認數據單元來源和數據單元的完整性,並保護數據,防止被人(例如接收者)進行偽造」。數字簽名機制提供了一種鑒別方法,以解決偽造、抵賴、冒充和篡改等問題,利用數據加密技術、數據變換技術,使收發數據雙方能夠滿足兩個條件:接收方能夠鑒別發送方所宣稱的身份;發送方以後不能否認其發送過該數據這一 事實。

    數字簽名是密碼學理論中的一個重要分支。它的提出是為了對電子文檔進行簽名,以 替代傳統紙質文檔上的手寫簽名,因此它必須具備 5 個特性。

    (1)簽名是可信的。

    (2)簽名是不可偽造的。

    (3)簽名是不可重用的。

    (4)簽名的文件是不可改變的。

    (5)簽名是不可抵賴的。

    參考鏈接:數字簽名演算法_網路

    http://ke..com/view/11763940.htm

F. 在JAVA使用RSA加密的密串和簽名如何在C#里解密和驗簽

你好,你需要知道RSA的秘鑰和簽名的演算法。
首先你需要有RSA的私鑰,利用私鑰將encrypt的部分進行解密。然後利用簽名的演算法對解密的結果做一次簽名的運算,如何結果和發送過來的sign一樣的話,簽名就是沒有問題的。
C#有RSA和簽名演算法的庫,所以你重要的是有秘鑰和知道簽名的演算法。

G. TLS/SSL數字證書里的指紋演算法、簽名演算法和簽名哈希演算法各是做什麼用的

您好!

作用與目的相同都是為了進行加密,更好的保護平台,SSL安全哈希演算法,是數字簽名演算法標准,所以無論您在哪裡注冊無論多少價格的證書,其演算法基本上都是相同的!

申請SSL證書為考慮到瀏覽器兼容性,保持更多的瀏覽器可以訪問,通常採取加密演算法:RSA 2048 bits,簽名演算法:SHA256WithRSA,該演算法被公認使用,就是網路也使用該演算法!

RSA加密演算法:公鑰用於對數據進行加密,私鑰用於對數據進行解密。

RSA簽名演算法:在簽名演算法中,私鑰用於對數據進行簽名,公鑰用於對簽名進行驗證。

加密演算法分為兩大類:1、對稱加密演算法 2、非對稱加密演算法。

由於計算能力的飛速發展,從安全性角度考慮,很多加密原來SHA1WithRSA簽名演算法的基礎上,新增了支持SHA256WithRSA的簽名演算法。該演算法在摘要演算法上比SHA1WithRSA有更強的安全能力。目前SHA1WithRSA的簽名演算法會繼續提供支持,但為了您的應用安全,強烈建議使用SHA256WithRSA的簽名演算法。

H. 數字簽名的原理

數字簽名是附加在數據單元上的一些數據,或是對數據單元所作的密碼變換。這種數據或變換允許數據單元的接收者用以確認數據單元的來源和數據單元的完整性並保護數據,防止被人(例如接收者)進行偽造。

它是對電子形式的消息進行簽名的一種方法,一個簽名消息能在一個通信網路中傳輸。基於公鑰密碼體制和私鑰密碼體制都可以獲得數字簽名,主要是基於公鑰密碼體制的數字簽名。包括普通數字簽名和特殊數字簽名。

(8)r1簽名演算法擴展閱讀:

實現方法

數字簽名演算法依靠公鑰加密技術來實現的。在公鑰加密技術里,每一個使用者有一對密鑰:一把公鑰和一把私鑰。公鑰可以自由發布,但私鑰則秘密保存;還有一個要求就是要讓通過公鑰推算出私鑰的做法不可能實現。

普通的數字簽名演算法包括三種演算法:

1.密碼生成演算法;

2.標記演算法;

3.驗證演算法。

I. 簽名演算法的含義和值是什麼

數字簽名就是通過一個單向函數對要傳送的報文進行處理得到的用以認證報文來源並核實報文是否發生變化的一個字母數字串。用這幾個字元串來代替書寫簽名或印章,起到與書寫簽名或印章同樣的法律效用。國際社會已開始制定相應的法律、法規,把數字簽名作為執法的依據。

J. 數字簽名演算法有哪些

RSA,ELGamal,DSA

熱點內容
ios數據上傳伺服器 發布:2024-05-02 13:39:27 瀏覽:351
Php面向對象模式 發布:2024-05-02 13:33:32 瀏覽:80
安卓手機軟體如何快速打開 發布:2024-05-02 13:25:16 瀏覽:962
安卓網頁圖片不顯示怎麼辦 發布:2024-05-02 13:16:00 瀏覽:673
虛擬機搭建linux 發布:2024-05-02 13:02:48 瀏覽:186
哈弗f7配置怎麼使用 發布:2024-05-02 12:53:14 瀏覽:575
psv重新構建資料庫 發布:2024-05-02 12:43:53 瀏覽:792
農行對公密碼器的憑證號碼在哪裡 發布:2024-05-02 12:38:55 瀏覽:890
雙子星腳本 發布:2024-05-02 12:26:01 瀏覽:142
域名如何將程序部署到伺服器 發布:2024-05-02 12:25:38 瀏覽:948