1樓:諸葛恕褚女
雜湊函式是一個數學方程式,它可用文字(如電子郵件資訊)來生成稱為資訊摘要的**。著名的雜湊函式如:md4,md5,shs。
用於數字鑑別的雜湊函式必須有特定的屬性,使它在密碼使用方面有足夠的安全性。尤其是,下面的內容一定不能被發現:
用來雜湊出特定值的文字。也就是說,如果你知道資訊摘要,你應該不能解出資訊的內容。
用來雜湊出相同值的兩個不同的資訊。
如果能夠發現用來雜湊出特定值的某個資訊,攻擊者就能夠用假資訊替代經過簽名的真資訊。而有些人也能夠聲稱自己實際上簽名了雜湊出相同值的一個不同的資訊,以此虛假地否認這條資訊。這樣就破壞了數字簽名的無法否認的屬性。
如果能夠發現用來雜湊出相同值的兩個不同的資訊,攻擊者就能夠給一個資訊簽名,這個資訊和另一個資訊都可以雜湊出相同值,但二者的意思卻是完全不同。
什麼是雜湊演算法?具體怎麼用啊???有什麼用啊?
2樓:匿名使用者
?看書好了
雜湊函式
一般密碼會用的到,很有趣的一個東西.
以數字簽名為例吧
一篇文章,需要對其進行簽名.
但是要對全部的文章進行簽名的化就比較慢
利用雜湊函式把它變成較少的值
要是二進位制的話就是減少二進位制的位數
這都是雜湊函式可以做到的
再加密就是對一小斷進行加密了
相對來說又比較快
而且相當於對全文都加了密
雜湊函式不是一個函式而是一類
加減乘除都可以
主要是要符合自己的需求
多看課本吧
密碼相關書籍都有介紹
很具體慢慢看
3樓:匿名使用者
自己去看資料結構 和離散數學啊
那上面比我們說的好多了
什麼叫雜湊演算法?
4樓:匿名使用者
什麼是雜湊運算?
雜湊函式是一個數學方程式,它可用文字(如電子郵件資訊)來生成稱為資訊摘要的**。著名的雜湊函式如:md4,md5,shs。
用於數字鑑別的雜湊函式必須有特定的屬性,使它在密碼使用方面有足夠的安全性。尤其是,下面的內容一定不能被發現:
用來雜湊出特定值的文字。也就是說,如果你知道資訊摘要,你應該不能解出資訊的內容。
用來雜湊出相同值的兩個不同的資訊。
如果能夠發現用來雜湊出特定值的某個資訊,攻擊者就能夠用假資訊替代經過簽名的真資訊。而有些人也能夠聲稱自己實際上簽名了雜湊出相同值的一個不同的資訊,以此虛假地否認這條資訊。這樣就破壞了數字簽名的無法否認的屬性。
如果能夠發現用來雜湊出相同值的兩個不同的資訊,攻擊者就能夠給一個資訊簽名,這個資訊和另一個資訊都可以雜湊出相同值,但二者的意思卻是完全不同。
什麼是雜湊演算法。。。
5樓:長孫華黎
雜湊函式是一個數學方程式,它可用文字(如電子郵件資訊)來生成稱為資訊摘要的**。著名的雜湊函式如:md4,md5,shs。
用於數字鑑別的雜湊函式必須有特定的屬性,使它在密碼使用方面有足夠的安全性。尤其是,下面的內容一定不能被發現:
用來雜湊出特定值的文字。也就是說,如果你知道資訊摘要,你應該不能解出資訊的內容。
用來雜湊出相同值的兩個不同的資訊。
如果能夠發現用來雜湊出特定值的某個資訊,攻擊者就能夠用假資訊替代經過簽名的真資訊。而有些人也能夠聲稱自己實際上簽名了雜湊出相同值的一個不同的資訊,以此虛假地否認這條資訊。這樣就破壞了數字簽名的無法否認的屬性。
如果能夠發現用來雜湊出相同值的兩個不同的資訊,攻擊者就能夠給一個資訊簽名,這個資訊和另一個資訊都可以雜湊出相同值,但二者的意思卻是完全不同。
朋友老說雜湊演算法,請問到底什麼是雜湊演算法?
6樓:匿名使用者
首先,一般雜湊演算法不是大學裡資料結構課裡那個hash表的演算法。一般雜湊演算法是密碼學的基礎,比較常用的有md5和sha,最重要的兩條性質,就是不可逆和無衝突。
所謂不可逆,就是當你知道x的hash值,無法求出x;
所謂無衝突,就是當你知道x,無法求出一個y, 使x與y的hash值相同。
這兩條性質在數學上都是不成立的。因為一個函式必然可逆,且由於hash函式的值域有限,理論上會有無窮多個不同的原始值,它們的hash值都相同。md5和sha做到的,是求逆和求衝突在計算上不可能,也就是正向計算很容易,而反向計算即使窮盡人類所有的計算資源都做不到。
我覺得密碼學的幾個演算法(hash、對稱加密、公私鑰)是電腦科學領域最偉大的發明之一,它授予了弱小的個人在強權面前資訊的安全(而且是絕對的安全)。舉個例子,只要你一直使用https與國外站點通訊,並注意對方的公鑰沒有被篡改,g**w可以斷開你的連線,但它永遠不可能知道你們的傳輸內容是什麼。
順便說一下,王小云教授曾經成功製造出md5的碰撞,即md5(a) = md5(b)。這樣的碰撞只能隨機生成,並不能根據一個已知的a求出b(即並沒有破壞md5的無衝突特性)。但這已經讓他聲名大噪了。
7樓:清風哎你妹
雜湊演算法將任意長度的二進位制值對映為較短的固定長度的二進位制值,這個小的二進位制值稱為雜湊值。雜湊值是一段資料唯一且極其緊湊的數值表示形式。如果雜湊一段明文而且哪怕只更改該段落的一個字母,隨後的雜湊都將產生不同的值。
要找到雜湊為同一個值的兩個不同的輸入,在計算上是不可能的,所以資料的雜湊值可以檢驗資料的完整性。一般用於快速查詢和加密演算法
希望採納
什麼是雜湊演算法
什麼是雜湊演算法,雜湊函式主要有哪些?
8樓:半神_禹
額。。lz是不是看了**繪的終極解密啊?
我也蠻感興趣滴。。嘿嘿,
雜湊函式是一般的線性表,樹中,記錄在結構中的相對位置是隨機的,即和記錄的關鍵字之間不存在確定的關係。
將資料元素的關鍵字k作為自變數,通過一定的函式關係(稱為雜湊函式),計算出的值,即為該元素的儲存地址。表示為:
addr = h(key)
為此在建立一個雜湊表之前需要解決兩個主要問題:
⑴構造一個合適的雜湊函式
均勻性 h(key)的值均勻分佈在雜湊表中;
簡單 以提高地址計算的速度
⑵衝突的處理
衝突:在雜湊表中,不同的關鍵字值對應到同一個儲存位置的現象。即關鍵字k1≠k2,但h(k1)= h(k2)。
均勻的雜湊函式可以減少衝突,但不能避免衝突。發生衝突後,必須解決;也即必須尋找下一個可用地址。 無論雜湊函式設計有多麼精細,都會產生衝突現象,也就是2個關鍵字處理函式的結果對映在了同一位置上,因此,有一些方法可以避免衝突。
1.拉鍊
拉出一個動態連結串列代替靜態順序儲存結構,可以避免雜湊函式的衝突,不過缺點就是連結串列的設計過於麻煩,增加了程式設計複雜度。此法可以完全避免雜湊函式的衝突。
2.多雜湊法
設計二種甚至多種雜湊函式,可以避免衝突,但是衝突機率還是有的,函式設計的越好或越多都可以將機率降到最低(除非人品太差,否則幾乎不可能衝突)。
3.開放地址法
開放地址法有一個公式:hi=(h(key)+di) mod m i=1,2,...,k(k<=m-1)
其中,m為雜湊表的表長。di 是產生衝突的時候的增量序列。如果di值可能為1,2,3,...m-1,稱線性探測再雜湊。
如果di取1,則每次衝突之後,向後移動1個位置.如果di取值可能為1,-1,2,-2,4,-4,9,-9,16,-16,...k*k,-k*k(k<=m/2)
稱二次探測再雜湊。如果di取值可能為偽隨機數列。稱偽隨機探測再雜湊。
4.建域法
假設雜湊函式的值域為[0,m-1],則設向量hashtable[0..m-1]為基本表,另外設立儲存空間向量overtable[0..v]用以儲存發生衝突的記錄。
lz先把自己現階段的函式搞定,會慢慢接觸高等的函式滴,感覺蠻刺激的。。
什麼是軟體演算法,什麼是軟體演算法
程式演算法是對特定問題求解過程的描述,是指令的有限序列,每條指令完成一個或多個操作。通俗地講,就是為解決某一特定問題而採取的具體有限的操作步驟。程式演算法具有以下特性 1 有窮性 在有限的操作步驟內完成。有窮性是演算法的重要特性,任何一個問題的解決不論其採取什麼樣的演算法,其終歸是要把問題解決好。如...
什麼是資料結構?什麼是演算法?演算法與程式有什麼關係
資料結構與演算法屬於開發人員的基本內功,也能訓練大腦的思考能力,掌握一次,終生受益。紮實的資料結構與演算法功底,能讓我們站在更高的角度去思考 寫出效能更優的程式,能讓我們更快速地學習上手各種新技術 比如人工智慧 區塊鏈等 也能讓我們敲開更高階程式設計領域的大門。資料結構與演算法更是各大名企面試題中的...
單向雜湊函式是什麼,單向函式是什麼
單向雜湊函式是bai進行資料加密 du 編碼zhi的一種演算法 單向雜湊函式一dao般用於產生訊息回摘要答,金鑰加密等,常見的有 md5 message digest algorithm 5 是rsa資料安全公司開發的一種單向雜湊演算法,md5被廣泛使用,可以用來把不同長度的資料塊進行暗碼運算成一個...