㈠ 數字證書的簽名哈希演算法跟指紋演算法都是指對摘要(指紋的)的編碼嗎
證書簽名使用的演算法是發布者自己規定的 使用自己的私鑰對證書編碼的哈希值進行加密 一般演算法為md5withrsa或者sha256withrsa。哈希演算法是唯一的 就是把證書編碼轉換為固定長度的2進制 這個過程不可逆 就是說無法通過哈希值還原證書編碼。指紋演算法就是哈希演算法 一般都是sh1。證書認證的流程是證書所有者把證書和指紋(證書的哈希值並用私鑰加密)發給用戶 用戶根據證書計算出一個哈希值 用公鑰解密指紋得到一個哈希值 看一下兩者是否相同 相同及證明證書未被篡改。演算法是由所有者的私鑰加密的。ca的作用是ca是可以認證一個證書鏈,源頭就是ca 一旦你信任了這個ca 就是信任了ca發布的證書,這樣你與ca發布的證書的所有者通信時可以根據證書鏈找到ca ca可信任了則這個發布者就是可信任的
㈡ 電子簽名原理是什麼
簡單來說,電子簽名是利用哈希演算法與加密演算法實現的電子文件上直接簽字、蓋章的技術。為了保障簽署後的電子文件具備法律有效性,使用電子簽名簽署後的電子文件還需要具備簽署身份可識別、簽署內容不可篡改的特性。
但是,通過上述技術名詞解釋並不能直觀、易懂的說明電子簽名的原理,以下是通過還原電子簽名簽署的過程簡介實現原理:
場景:由於業務需要,你和我需要簽署一份合作協議。為方便起見,你將擬好的電子版合同文本在線發送給我簽署。
怎樣確保合同只有我可查看且不被他人惡意竊取?我又怎樣才能確定文件的發送人就是你呢?
關鍵點1:公鑰私鑰登場
為了滿足電子合同內容保密性和發送人認證的要求,我們了解到非對稱加密的加密方式。
非對稱加密:具有唯一對應的一對秘鑰,一個公鑰一個私鑰,公鑰所有人可見,而私鑰僅自己可見。
非對稱加密具有這樣的特性:用公鑰加密的文件只能用私鑰解密,而私鑰加密的文件只能用公鑰解密。
發送合同時,你將擬好的電子合同使用自己的私鑰加密後發送;接收合同時,如果能夠使用你的公鑰解密,則說明這份文件就是你發送的。
但是,我怎麼才能知道你的公鑰呢?
關鍵點2:政府出了個CA來幫忙
我了解到,政府授權了一個權威機構叫CA,可以提供網路身份認證的服務。
CA(Certificate Authority):全稱證書管理機構,即數字證書的申請、簽發及管理機關。其主要功能為:產生密鑰對、生成數字證書、分發密鑰、密鑰管理等。
數字證書:是由CA機構頒發的證明,它包含公鑰、公鑰擁有者名稱、CA的數字簽名、有效期、授權中心名稱、證書序列號等信息,可以通俗為理解個人或企業在「網路身份證」。
我向CA機構申請獲取你的公鑰,使用它對電子合同解密,解密成功則說明發送人就是你。文件發送人的身份確認了,那怎麼保障電子合同傳輸過程中未被篡改呢?
關鍵點3:哈希兄弟出場
有技術人員推薦了哈希演算法(摘要演算法),可以證明電子合同傳輸過程中是否被篡改。
哈希演算法:通過加密演算法將文本內容生成為一段代碼,即信息摘要,其主要特徵是加密過程不需要密鑰,經加密的數據無法被反向還原。也就是說,只有兩份完全相同的合同經過相同的哈希演算法才能得到相同的摘要。
發送合同時,你將電子合同原文和經哈希運算的摘要一起發送給我接收合同時,通過對合同原文進行同樣的哈希運算得到新的摘要,對比兩組摘要是否一致即可證明我接收的文件是否被篡改
但是,如果傳輸過程中文件原文與摘要同時被替換了怎麼辦?
關鍵點4:對稱加密來幫忙
除了上述的哈希演算法、非對稱加密、CA,為確保合同由發送到接收滿足三個要求,即:由你發送、只能發給我、不能被篡改,我們還需要應用新的加密方式:對稱加密。
對稱加密:採用單鑰密碼系統的加密方法,信息的加密和解密只能使用同一個密碼。
發送文件時:
1、你通過哈希運算得到原文摘要並使用私鑰對其加密,得到你的數字簽名,再將數字簽名和合同原文進行對稱加密,得到密文A——對原文加密
2、再通過CA獲得我的公鑰,對上述步驟中對稱加密的秘鑰進行非對稱加密,即我的「數字信封」——對秘鑰加密
3、將密文A和我的數字信封一起發送給我
數字簽名:用哈希演算法提取出源文件的摘要並用發送人的私鑰進行加密後的內容。
數字信封:用接收方的公鑰加密對稱秘鑰」,這就叫「給乙的數字信封。
接收文件時:
1、我使用自己的私鑰解密數字信封得到對稱秘鑰——能解開,說明是發給我的
2、再使用對稱秘鑰解密密文A,得到帶有你的數字簽名的原文
3、使用你的公鑰解密你的數字簽名,得到簽名中的原文摘要——能解開,說明發送者是你
4、使用相同的摘要演算法獲取原文摘要並與解密簽名中的摘要對比——摘要一致,則說明原文沒有被篡改
除了文件內容不可篡改,精確記錄簽署時間固定合同生效期限也十分重要,網路環境中怎樣怎麼確保合同簽署時間不可篡改呢?
關鍵點5:時間戳來證明
我又請教了專家,原來我們國家還有專門確定時間的法定授時中心,它可以在我們簽署的文件上加蓋「時間印跡」,即時間戳。
時間戳(time-stamp):書面簽署文件的時間是由簽署人自己寫上,而數字時間戳則由第三方認證單位(DTS)添加,以DTS收到文件的時間為依據,更精準、更有公信力。
至此,我們簽合同的時間精準記錄、合同內容不可篡改、雙方身份也真實有效,這下沒問題了!但是,簽署完的電子合同怎麼存儲呢?不管是哪一方簽署,日後產生糾紛都難免對合同存儲期間的安全性產生質疑。
關鍵點6:找個權威第三方來存證
聽說有專門的第三方電子數據存證機構,可以保存已簽署的電子合同數據,當用戶雙方對合同內容產生爭議時可申請出具具有公信力的證明。
合同簽署的最後一個問題:存儲問題也解決了!但唯一不足之處就是:簽署過程太麻煩!為保障電子合同有效性,我們用到了非對稱加密、哈希運算、時間戳等技術,還要CA機構、公證處等機構協助;
怎樣更簡單快捷地簽一份有效的電子合同呢?
關鍵點7:選擇可靠的第三方電子合同平台
根據《電子簽名法》規定,使用可靠的電子簽名簽署的電子合同具備與手寫簽字或蓋章的紙質合同同等的法律效力。
根據《電子簽名法》規定,符合下列條件的,視為可靠的電子簽名:
1)電子簽名製作數據用於電子簽名時,屬於電子簽名人專有
2)簽署時電子簽名製作數據僅由電子簽名人控制
3)簽署後對電子簽名的任何改動能夠被發現
4)簽署後對數據電文內容和形式的任何改動能夠被發現
結合上述電子合同簽署過程,我們可歸納總結有效的電子合同應關注以下幾個核心點:內容保密性、內容防篡改、明確簽訂身份、明確簽訂時間。
同時,為保障電子合同作為書面形式的證據能力,合同簽署全程還應當由權威第三方機構存儲公證。
商務部在《電子合同在線訂立流程規范》指出:「通過第三方(電子合同服務提供商)的電子合同訂立系統中訂立電子合同,才能保證其過程的公正性和結果的有效性」。
綜上,就是電子簽名各個環節中需涉及的實現原理。
㈢ TLS/SSL數字證書里的指紋演算法、簽名演算法和簽名哈希演算法各是做什麼用的
您好!
作用與目的相同都是為了進行加密,更好的保護平台,SSL安全哈希演算法,是數字簽名演算法標准,所以無論您在哪裡注冊無論多少價格的證書,其演算法基本上都是相同的!
申請SSL證書為考慮到瀏覽器兼容性,保持更多的瀏覽器可以訪問,通常採取加密演算法:RSA 2048 bits,簽名演算法:SHA256WithRSA,該演算法被公認使用,就是網路也使用該演算法!
RSA加密演算法:公鑰用於對數據進行加密,私鑰用於對數據進行解密。
RSA簽名演算法:在簽名演算法中,私鑰用於對數據進行簽名,公鑰用於對簽名進行驗證。
加密演算法分為兩大類:1、對稱加密演算法 2、非對稱加密演算法。
由於計算能力的飛速發展,從安全性角度考慮,很多加密原來SHA1WithRSA簽名演算法的基礎上,新增了支持SHA256WithRSA的簽名演算法。該演算法在摘要演算法上比SHA1WithRSA有更強的安全能力。目前SHA1WithRSA的簽名演算法會繼續提供支持,但為了您的應用安全,強烈建議使用SHA256WithRSA的簽名演算法。
㈣ 描述數字簽名和消息摘要演算法的異同
身份認證就是,像用戶名密碼、動態口令、USB Key認證等輸入等一致。
數字簽名技術是將摘要信息用發送者的私鑰加密,與原文一起傳送給接收者。接收者只有用發送的公鑰才能解密被加密的摘要信息,然後用HASH函數對收到的原文產生一個摘要信息,與解密的摘要信息對比。如果相同,則說明收到的信息是完整的,在傳輸過程中沒有被修改,否則說明信息被修改過,因此數字簽名能夠驗證信息的完整性。
就是一個是用戶自身確認真偽,一個是信息加密確定真偽
㈤ 簽名演算法怎麼來的
數字簽名演算法分析與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簽名中的函數與演算法。
㈥ 電子簽名演算法的種類
電子簽名是指數據電文中以電子形式所含、所附用於識別簽名人身份並表明簽名人認可其中內容的數據。通俗點說,電子簽名就是通過密碼技術對電子文檔的電子形式的簽名,並非是書面簽名的數字圖像化,它類似於手寫簽名或印章,也可以說它就是電子印章。
電子簽名技術的實現需要使用到非對稱加密(RSA演算法)和報文摘要(HASH演算法)。
非對稱加密是指用戶有兩個密鑰,一個是公鑰,一個是私鑰,公鑰是公開的,任何人可以使用,私鑰是保密的,只有用戶自己可以使用。該用戶可以用私鑰加密信息,並傳送給對方,對方可以用該用戶的公鑰將密文解開,對方應答時可以用該用戶的公鑰加密,該用戶收到後可以用自己的私鑰解密。公私鑰是互相解密的,而且絕對不會有第三者能插進來。
報文摘要利用HASH演算法對任何要傳輸的信息進行運算,生成128位的報文摘要,而不同內容的信息一定會生成不同的報文摘要,因此報文摘要就成了電子信息的「指紋」。
有了非對稱加密技術和報文摘要技術,就可以實現對電子信息的電子簽名了。
㈦ 常用的數字簽名、鑒別、加密演算法分別有哪些這幾種機制分別保障了信息的哪種安全屬性
常見的數字簽名有RSA,DSA,ECDSA
加密演算法一般分為對稱加密和非對稱加密,消息摘要演算法。
對稱加密中,DSE最為典型,還要ASE,IDEA,PBE等,一般用於數據加密
非對稱加密中,當然是RSA最為基礎,還有ECC,ElGamal等,一般用於密鑰加密,安全性高,
但若數據加密效率相對對稱加密,就比較低了。
消息摘要有MD,SHA,MAC等,用於數據完整性驗證。
㈧ 摘要演算法的介紹
數據摘要演算法是密碼學演算法中非常重要的一個分支,它通過對所有數據提取指紋信息以實現數據簽名、數據完整性校驗等功能,由於其不可逆性,有時候會被用做敏感信息的加密。數據摘要演算法也被稱為哈希(Hash)演算法、散列演算法。
㈨ 數字簽名的原理
數字簽名是附加在數據單元上的一些數據,或是對數據單元所作的密碼變換。這種數據或變換允許數據單元的接收者用以確認數據單元的來源和數據單元的完整性並保護數據,防止被人(例如接收者)進行偽造。
它是對電子形式的消息進行簽名的一種方法,一個簽名消息能在一個通信網路中傳輸。基於公鑰密碼體制和私鑰密碼體制都可以獲得數字簽名,主要是基於公鑰密碼體制的數字簽名。包括普通數字簽名和特殊數字簽名。
(9)簽名演算法摘要演算法擴展閱讀:
實現方法
數字簽名演算法依靠公鑰加密技術來實現的。在公鑰加密技術里,每一個使用者有一對密鑰:一把公鑰和一把私鑰。公鑰可以自由發布,但私鑰則秘密保存;還有一個要求就是要讓通過公鑰推算出私鑰的做法不可能實現。
普通的數字簽名演算法包括三種演算法:
1.密碼生成演算法;
2.標記演算法;
3.驗證演算法。
㈩ 數據在網路上傳輸為什麼要加密現在常用的數據加密演算法主要有哪些
數據傳輸加密技術的目的是對傳輸中的數據流加密,通常有線路加密與端—端加密兩種。線路加密側重在線路上而不考慮信源與信宿,是對保密信息通過各線路採用不同的加密密鑰提供安全保護。
端—端加密指信息由發送端自動加密,並且由TCP/IP進行數據包封裝,然後作為不可閱讀和不可識別的數據穿過互聯網,當這些信息到達目的地,將被自動重組、解密,而成為可讀的數據。
數據存儲加密技術的目的是防止在存儲環節上的數據失密,數據存儲加密技術可分為密文存儲和存取控制兩種。前者一般是通過加密演算法轉換、附加密碼、加密模塊等方法實現;後者則是對用戶資格、許可權加以審查和限制,防止非法用戶存取數據或合法用戶越權存取數據。
常見加密演算法
1、DES(Data Encryption Standard):對稱演算法,數據加密標准,速度較快,適用於加密大量數據的場合;
2、3DES(Triple DES):是基於DES的對稱演算法,對一塊數據用三個不同的密鑰進行三次加密,強度更高;
3、RC2和RC4:對稱演算法,用變長密鑰對大量數據進行加密,比 DES 快;
4、IDEA(International Data Encryption Algorithm)國際數據加密演算法,使用 128 位密鑰提供非常強的安全性;
5、RSA:由 RSA 公司發明,是一個支持變長密鑰的公共密鑰演算法,需要加密的文件塊的長度也是可變的,非對稱演算法; 演算法如下:
首先, 找出三個數,p,q,r,其中 p,q 是兩個不相同的質數,r 是與 (p-1)(q-1) 互為質數的數。
p,q,r這三個數便是 private key。接著,找出 m,使得 rm == 1 mod (p-1)(q-1).....這個 m 一定存在,因為 r 與 (p-1)(q-1) 互質,用輾轉相除法就可以得到了。再來,計算 n = pq.......m,n 這兩個數便是 public key。
6、DSA(Digital Signature Algorithm):數字簽名演算法,是一種標準的 DSS(數字簽名標准),嚴格來說不算加密演算法;
7、AES(Advanced Encryption Standard):高級加密標准,對稱演算法,是下一代的加密演算法標准,速度快,安全級別高,在21世紀AES 標準的一個實現是 Rijndael 演算法。
8、BLOWFISH,它使用變長的密鑰,長度可達448位,運行速度很快;
9、MD5:嚴格來說不算加密演算法,只能說是摘要演算法;
對MD5演算法簡要的敘述可以為:MD5以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經過了一系列的處理後,演算法的輸出由四個32位分組組成,將這四個32位分組級聯後將生成一個128位散列值。
(10)簽名演算法摘要演算法擴展閱讀
數據加密標准
傳統加密方法有兩種,替換和置換。上面的例子採用的就是替換的方法:使用密鑰將明文中的每一個字元轉換為密文中的一個字元。而置換僅將明文的字元按不同的順序重新排列。單獨使用這兩種方法的任意一種都是不夠安全的,但是將這兩種方法結合起來就能提供相當高的安全程度。
數據加密標准(Data Encryption Standard,簡稱DES)就採用了這種結合演算法,它由IBM制定,並在1977年成為美國官方加密標准。
DES的工作原理為:將明文分割成許多64位大小的塊,每個塊用64位密鑰進行加密,實際上,密鑰由56位數據位和8位奇偶校驗位組成,因此只有56個可能的密碼而不是64個。
每塊先用初始置換方法進行加密,再連續進行16次復雜的替換,最後再對其施用初始置換的逆。第i步的替換並不是直接利用原始的密鑰K,而是由K與i計算出的密鑰Ki。
DES具有這樣的特性,其解密演算法與加密演算法相同,除了密鑰Ki的施加順序相反以外。
參考資料來源:網路-加密演算法
參考資料來源:網路-數據加密