什麼是數字摘要
① 數字簽名有什麼特點
首先簡單理解一下數字簽名:
1)A使用數字簽名簽署了一份合同並將該合同發送給B;
2)那麼,A的數字簽名即包括合同原文(以哈希值形式)+簽字或印章外觀+A的私鑰(為便於理解,具體簽署場景與技術實現上略有差異)。
在契約鎖平台,不同的簽署人使用自己的數字簽名簽約時對應的合同原文都不同(可能添加了他人的數字簽名),因此,每一次簽約動作對應的數字簽名也就不同。
故,數字簽名不能重復使用。
② MD5、SHA1、CRC32值是干什麼的
MD5(RFC1321)是Rivest於1991年對MD4的改進版本。它對輸入仍以512位分組,其輸出是4個32位字的級聯,與MD4相同。MD5比MD4來得復雜,並且速度較之要慢一點,但更安全,在抗分析和抗差分方面表現更好。
MD5是一種不可逆的加密演算法,目前是最牢靠的加密演算法之一,尚沒有能夠逆運算的程序被開發出來,它對應任何字元串都可以加密成一段唯一的固定長度的代碼。
SHA1是由NISTNSA設計為同DSA一起使用的,它對長度小於264的輸入,產生長度為160bit的散列值,因此抗窮舉(brute-force)性更好。
SHA-1設計時基於和MD4相同原理,並且模仿了該演算法。SHA-1是由美國標准技術局(NIST)頒布的國家標准,是一種應用最為廣泛的hash函數演算法,也是目前最先進的加密技術,被政府部門和私營業主用來處理敏感的信息。而SHA-1基於MD5,MD5又基於MD4。
本身是「冗餘校驗碼」的意思,CRC32則表示會產生一個32bit(8位十六進制數)的校驗值。由於CRC32產生校驗值時源數據塊的每一個bit(位)都參與了計算,所以數據塊中即使只有一位發生了變化,也會得到不同的CRC32值。
(2)什麼是數字摘要擴展閱讀:
Hash演算法在信息安全方面的應用主要體現在以下的3個方面:
1)文件校驗
我們比較熟悉的校驗演算法有奇偶校驗和CRC校驗,這2種校驗並沒有抗數據篡改的能力,它們一定程度上能檢測並糾正數據傳輸中的信道誤碼,但卻不能防止對數據的惡意破壞。
MD5Hash演算法的」數字指紋」特性,使它成為目前應用最廣泛的一種文件完整性校驗和(Checksum)演算法,不少Unix系統有提供計算md5checksum的命令。
2)數字簽名
Hash演算法也是現代密碼體系中的一個重要組成部分。由於非對稱演算法的運算速度較慢,所以在數字簽名協議中,單向散列函數扮演了一個重要的角色。對Hash值,又稱」數字摘要」進行數字簽名,在統計上可以認為與對文件本身進行數字簽名是等效的。而且這樣的協議還有其他的優點。
3)鑒權協議
如下的鑒權協議又被稱作」挑戰--認證模式:在傳輸信道是可被偵聽,但不可被篡改的情況下,這是一種簡單而安全的方法。
當然,hash函數並不是完全可靠,不同文件產生相同MD5和SHA1的幾率還是有的,只是不高,在我們論壇里提供的系統光碟,你想對這么幾個文件存在相同HASH的不同文件根本是不可能的。
③ 數字簽名的基本原理是什麼
數字簽名是基於非對稱密鑰加密技術與數字摘要技術的應用,是一個包含電子文件信息以及發送者身份並能夠鑒別發送者身份以及發送信息是否被篡改的一段數字串。
一段數字簽名數字串包含了電子文件經過Hash編碼後產生的數字摘要,即一個Hash函數值以及發送者的公鑰和私鑰三部分內容。
數字簽名有兩個作用,一是能確定消息確實是由發送方簽名並發出來的。二是數字簽名能確定數據電文內容是否被篡改,保證消息的完整性。數字簽名的基本工作流程如下:
發送加密
1.數字簽名用戶發送電子文件時,發送方通過哈希函數對電子數據文件進行加密生成數據摘要(digest);
2.數字簽名發送方用自己的私鑰對數據摘要進行加密,私鑰加密後的摘要即為數字簽名;
3.數字簽名和報文將一起發送給接收方。
接收解密
1.接收方首先用與發送方一樣的哈希函數從接收到的原始報文中計算出報文摘要;
2.接收方用發送方的提供的公鑰來對報文附加的數字簽名進行解密,得到一個數字摘要;
3.如果以上兩個摘要相一致,則可以確認文件內容沒有被篡改。
4.發送方的公鑰能夠對數字簽名進行解密,證明數字簽名由發送方發送。
以上過程逆向也可以進行,即當文件接受者想要回信時,可以先通過hash函數生成數字摘要,再用公鑰加密即可起到文件加密的作用,收信人(數字簽名擁有者)可以用私鑰解密查看文件數字摘要。
函數加密原理
Hash函數又叫加密散列函數,其特點在於正向輸出結果唯一性和逆向解密幾乎不可解,因此可用於與數據加密。
正向輸出容易且結果唯一:由數據正向計算對應的Hash值十分容易,且任何的輸入都可以生成一個特定Hash值的輸出,完全相同的數據輸入將得到相同的結果,但輸入數據稍有變化則將得到完全不同的結果。
Hash函數逆向不可解:由Hash值計算出其對應的數據極其困難,在當前科技條件下被視作不可能。
了解了數字簽名,我們順便來提一嘴數字證書的概念:
數字證書
由於網路上通信的雙方可能都不認識對方,那麼就需要第三者來介紹,這就是數字證書。數字證書由Certificate Authority( CA 認證中心)頒發。
首先A B雙方要互相信任對方證書。
然後就可以進行通信了,與上面的數字簽名相似。不同的是,使用了對稱加密。這是因為,非對稱加密在解密過程中,消耗的時間遠遠超過對稱加密。如果密文很長,那麼效率就比較低下了。但密鑰一般不會特別長,對對稱加密的密鑰的加解密可以提高效率。
④ 單獨採用「數字摘要」技術,存什麼安全漏洞
數字摘要就是採用單向Hash函數將需要加密的明文「摘要」成一串固定長度(128位)的密文。
要求不同的明文摘要成密文,其結果總是不同的,而同樣的明文其摘要必定一致。
存在的安全漏洞在於,如果攻擊者能夠輕易地構造出兩個消息具有相同的Hash值,接收方就無法知道接收的數據是否被篡改過。
請採納,謝謝
⑤ 數字摘要是由什麼演算法得來的
你想用什麼演算法都行,比如MD5,SHA1等,舉個例子:
byte[] digest = MessageDigest.getInstance("MD5").digest("這是很長很長的一大段文字。。。".getBytes("UTF-8"));
這是很長很長的一大段文字,變成了32位元組,就算實現了摘要
⑥ 數字摘要有什麼作用呀
數字簽名一般來說抄,是用來處理短消息的,而相對於較長的消息則顯得有些吃力。當然,可以將長的消息分成若干小段,然後再分別簽名。不過,這樣做非常麻煩,而且會帶來數據完整性的問題。比較合理的做法是在數字簽名前對消息先進行數字摘要。
數字摘要是將任意長度的消息變成固定長度的短消息,它類似於一個自變數是消息的函數,也就是Hash函數。
一個Hash函數的好壞是由發生碰撞的概率決定的。如果攻擊者能夠輕易地構造出兩個消息具有相同的Hash值,那麼這樣的Hash函數是很危險的。一般來說,安全Hash標準的輸出長度為160位,這樣才能保證它足夠的安全。
⑦ hash值是什麼
是用來加密的一種方式文件校驗
我們比較熟悉的校驗演算法有奇偶校驗和CRC校驗,這2種校驗並木有抗數據篡改的能力,它們一定程度上能檢查並糾正數據傳輸中的信道誤碼,但卻不能防止對數據的惡意破壞。
MD5
Hash演算法的"數字指紋"特性,使它成為目前應用最廣泛的一種文件完整性校驗和(Checksum)演算法,不少Unix系統(System)有提供計算md5
checksum的命令。
數字簽名
Hash
演算法也是現代密碼(PassWORD)體系中的1個重要組成部分。由於非對稱演算法的運算速度較慢,因此在數字簽名協議中,單向散列函數扮演了1個重要的角色。
對
Hash
值,又稱"數字摘要"進行數字簽名,在統計上可以認為與對文件本身進行數字簽名是等效的。並且這樣的協議還有其他的優點。
鑒權協議
如下的鑒權協議又被稱作"挑戰--認證模式:在傳輸信道是可被偵聽,但不可被篡改的情形下,這是一種容易而安全的方法。
⑧ 數字摘要有什麼作用呀
便於文獻檢索
⑨ 消息摘要、消息認證、數字簽名三者之間有什麼區別和聯系
計算機身份認證和消息認證的區別:
一、基於秘密信息的身份認證方法
1、口令核對
口令核對是系統為每一個合法用戶建立一個用戶名/口令對,當用戶登錄系統或使用某項功能時,提示用戶輸入自己的用戶名和口令,系統通過核對用戶輸入的用戶名、口令與系統內已有的合法用戶的用戶名/口令對(這些用戶名/口令對在系統內是加密存儲的)是否匹配,如與某一項用戶名/口令對匹配,則該用戶的身份得到了認證。
缺點:其安全性僅僅基於用戶口令的保密性,而用戶口令一般較短且是靜態數據,容易猜測,且易被攻擊,採用窺探、字典攻擊、窮舉嘗試、網路數據流竊聽、重放攻擊等很容易攻破該認證系統。
2、單向認證
如果通信的雙方只需要一方被另一方鑒別身份,這樣的認證過程就是一種單向認證,即前面所述口令核對法就算是一種單向認證,只是這咱簡單的單向認證還沒有與密鈅分發相結合。
與密鈅分發相結合的單向認證主要有兩類方案:一類採用對密鈅加密體制,需要一個可信賴的第三方―――通常稱為KDC(密鈅分發中心)或AS (認證伺服器),同這個第三方來實現通信雙方的身份認證和密鈅分發如DES演算法,優點運算量小、速度快、安全度高,但其密鈅的秘密分發難度大;另一類採用非對稱密鈅加密體制,加密和解密使用不同的密鈅SK,無需第三方參與,典型的公鈅加密演算法有RSA。認證優點能適應網路的開放性要求,密鈅管理簡單,並且可方便地實現數字簽名和身份認證等功能,是目前電子商務等技術的核心基礎。其缺點是演算法復雜。
3、雙向認證
雙向認證中,通信雙方需要互相鑒別各自的身分,然後交換會話密鈅,典型方案是Needham/Schroeder協議。優點保密性高但會遇到消息重放攻擊。
4、身份的零知識證明
通常的身份認證都要求傳輸口令或身份信息,但如果能夠不傳輸這些信息身份也得到認證就好了。零知識證明就是這樣一種技術:被認證方A掌握某些秘密信息,A想設法讓認證方B相信他確實掌握那些信息,但又不想讓認證方B知道那些信息。
如著名的Feige-Fiat-shamir零知識身份認證協議的一個簡化方案。
假設可信賴仲裁選定一個隨機模數n,n為兩個大素乘積,實際中至少為512位或長達1024位。仲裁方產生隨機數V,使X2=V mod n,即V為模n的剩餘,且有V-1mod n存在。以V作為證明者的公鈅,而後計算最小的整數s:s=sqrt(v-1)mod n作為被認證方的私鈅。實施身份證明的協議如下:被認證方A取隨機數r,這里r<m,計算x=r2 mod m,把X送給認證方B;若b=1,則A將Y=RS送給B;若b=0,則B驗證x=r2 mod m,從而證實A知道sqrt(x);若b=1,則B驗證x=y2.v mod m,從而證實A知道S。
這是一輪鑒定,A和B可將此協議重復t次,直到A相信B知道S為止。
二、基於物理安全性的身份認證方法
盡管前面提到的身份認證方法在原理上有很多不同,但他們有一個共同的特點,就是只依賴於用戶知道的某個秘密的信息。與此對照,另一類身份認證方案是依賴於用戶特有的某些生物學信息或用戶持有的硬體。
基於生物學的方案包括基於指紋識別的身份認證、基於聲音識別身份認證以及基於虹膜識別的身份認證等技術。該技術採用計算機的強大功能和網路技術進行圖像處理和模式識別,具有很好的安全性、可靠性和有效性,與傳統的身份確認手段相比,無疑產生了質的飛躍。近幾年來,全球的生物識別技術已從研究階段轉向應用階段,對該技術的研究和應用如火如茶,前景十分廣闊。
三、身份認證的應用
1、Kerberos是MIT為分布式網路設計的可信第三方認證協議。網路上的Kerberos服務起著可信仲裁者的作用,它可提供安全的網路認證,允許個人訪問網路中不同的機器。Kerberos基於對稱密碼技術(採用DES進行數據加密,但也可用其他演算法替代),它與網路上的每個實體分別共享一個不同的密鈅,是否知道該密鈅便是身份的證明。其設計目標是通過密鈅系統為客戶/伺服器應用程序提供強大的認證服務。該認證過程的實現不依賴於主機操作系統的認證,無需基於主機地址的信任,不要求網路上所有主機的物理安全,並假定網路上傳送的數據包可以被任意地讀取、修改和插入數據。
Kerberos也存在一些問題: Kerberos服務伺服器的損壞將使得整個安全系統無法工作;AS在傳輸用戶與TGS間的會話密鈅時是以用戶密鈅加密的,而用戶密鈅是由用戶口令生成的,因此可能受到口令猜測的攻擊;Kerberos 使用了時間戳,因此存在時間同步問題;要將Kerberos用於某一應用系統,則該系統的客戶端和伺服器端軟體都要作一定的修改。
2、HTTP中的身份認證
HTTP提供了一個基於口令的基本認證方法,目前,所有的Web伺服器都可以通過「基本身份認證」支持訪問控制。當用戶請求某個頁面或運行某個CGI程序時,被訪問訪問對象所在目錄下有訪問控制文件(如NCSA用.haaccess文件)規定那些用戶可以訪問該目錄,Web伺服器讀取該訪問控制文件,從中獲得訪問控制信息並要求客戶提交用戶名和口令對經過一定的編碼(一般是Base64方式),付給服務方,在檢驗了用戶身份和口令後,服務方才發送回所請求的頁面或執行EGI程序。所以,HTTP採用的是一種明文傳輸的口令核對方式(傳輸過程中盡管進行了編碼,但並沒有加密),缺少安全性。用戶可以先把使用SSI建立加密信道後再採用基本身份認證方式進行身份認證,而是基於IP地址的身份認證。
3、IP中的身份認證
IP協議由於在網路層,無法理解更高層的信息,所以IP協議中的身份認證實際不可能是基於用戶的身份認證,而是基於IP地址的身份認證。
四、身份認證技術討論
在計算機網路中身份認證還有其他實現途徑,如數字簽名技術。傳送的報文用數字簽名來證明其真實性,簡單實例就是直接利用RSA演算法和發送方的秘密密鈅。
由於數字簽名有一項功能是保證信息發出者的身份真實性,即信息確實是所聲稱的簽名人簽名的,別人不能仿造,這和身份認證的情形有些相似;身份認證的核心是要確認某人確實是他所聲稱的身份。那麼,我想應該能借用數字簽名機制實現身份認證,但這可能有一個困難,如果不預先進行密鈅分發(即使是公鈅,也要有一個機制將真實的公鈅信息傳遞給每一個用戶)。可能數字簽名也無從實現。