加密算法

HASH哈希算法
將任意長度的二進制值映射爲較短的固定長度的二進制值,這個小的二進制值稱爲哈希值。哈希值是一段數據唯一且極其緊湊的數值表示形式。如果散列一段明文而且哪怕只更改該段落的一個字母,隨後的哈希都將產生不同的值。要找到散列爲同一個值的兩個不同的輸入,在計算上是不可能的,所以數據的哈希值可以檢驗數據的完整性。一般用於快速查找和加密算法。
用來產生一些數據片段(例如消息或會話項)的哈希值的算法。使用好的哈希算法,在輸入數據中所做的更改就可以更改結果哈希值中的所有位;因此,哈希對於檢測數據對象(例如消息)中的修改很有用。此外,好的哈希算法使得構造兩個相互獨立且具有相同哈希的輸入不能通過計算方法實現。典型的哈希算法包括 MD2、MD4、MD5 和 SHA-1。哈希算法也稱爲“哈希函數”。[1] 
MD5一種符合工業標準的單向 128 位哈希方案,由 RSA Data Security, Inc. 開發。 各種“點對點協議(PPP)”供應商都將它用於加密的身份驗證。哈希方案是一種以結果唯一併且不能返回到其原始格式的方式來轉換數據(如密碼)的方法。質詢握手身份驗證協議(CHAP) 使用質詢響應並在響應時使用單向 MD5哈希法。按照此方式,您無須通過網絡發送密碼就可以向服務器證明您知道密碼。
質詢握手身份驗證協議(CHAP)“點對點協議(PPP)”連接的一種質詢響應驗證協議,在 RFC 1994 中有所描述。 該協議使用業界標準 MD5哈希算法來哈希質詢串(由身份驗證服務器所發佈)和響應中的用戶密碼的組合。


一致性哈希算法在1997年由麻省理工學院提出的一種分佈式哈希(DHT)實現算法,設計目標是爲了解決因特網中的熱點(Hot spot)問題,初衷和CARP十分類似。一致性哈希修正了CARP使用的簡 單哈希算法帶來的問題,使得分佈式哈希(DHT)可以在P2P環境中真正得到應用。 
    一致性hash算法提出了在動態變化的Cache環境中,判定哈希算法好壞的四個定義:
1、平衡性(Balance):平衡性是指哈希的結果能夠儘可能分佈到所有的緩衝中去,這樣可以使得所有的緩衝空間都得到利用。很多哈希算法都能夠滿足這一條件。
2、單調性(Monotonicity):單調性是指如果已經有一些內容通過哈希分派到了相應的緩衝中,又有新的緩衝加入到系統中。哈希的結果應能夠保證原有已分配的內容可以被映射到原有的或者新的緩衝中去,而不會被映射到舊的緩衝集合中的其他緩衝區。 
3、分散性(Spread):在分佈式環境中,終端有可能看不到所有的緩衝,而是隻能看到其中的一部分。當終端希望通過哈希過程將內容映射到緩衝上時,由於不同終端所見的緩衝範圍有可能不同,從而導致哈希的結果不一致,最終的結果是相同的內容被不同的終端映射到不同的緩衝區中。這種情況顯然是應該避免的,因爲它導致相同內容被存儲到不同緩衝中去,降低了系統存儲的效率。分散性的定義就是上述情況發生的嚴重程度。好的哈希算法應能夠儘量避免不一致的情況發生,也就是儘量降低分散性。 
4、負載(Load):負載問題實際上是從另一個角度看待分散性問題。既然不同的終端可能將相同的內容映射到不同的緩衝區中,那麼對於一個特定的緩衝區而言,也可能被不同的用戶映射爲不同 的內容。與分散性一樣,這種情況也是應當避免的,因此好的哈希算法應能夠儘量降低緩衝的負荷。




RAS不對稱加密算法
不對稱加密算法使用兩把完全不同但又是完全匹配的一對鑰匙—公鑰和私鑰。在使用不對稱加密算法加密文件時,只有使用匹配的一對公鑰和私鑰,才能完成對明文的加密和解密過程。加密明文時採用公鑰加密,解密密文時使用私鑰才能完成,而且發信方(加密者)知道收信方的公鑰,只有收信方(解密者)纔是唯一知道自己私鑰的人。不對稱加密算法的基本原理是,如果發信方想發送只有收信方纔能解讀的加密信息,發信方必須首先知道收信方的公鑰,然後利用收信方的公鑰來加密原文;收信方收到加密密文後,使用自己的私鑰才能解密密文。顯然,採用不對稱加密算法,收發信雙方在通信之前,收信方必須將自己早已隨機生成的公鑰送給發信方,而自己保留私鑰。由於不對稱算法擁有兩個密鑰,因而特別適用於分佈式系統中的數據加密。廣泛應用的不對稱加密算法有RSA算法和美國國家標準局提出的DSA。以不對稱加密算法爲基礎的加密技術應用非常廣泛。


DES算法
DES算法爲密碼體制中的對稱密碼體制,又被成爲美國數據加密標準,是1972年美國IBM公司研製的對稱密碼體制加密算法。
其密鑰長度爲56位,明文按64位進行分組,將分組後的明文組和56位的密鑰按位替代或交換的方法形成密文組的加密方法。
DES加密算法特點:分組比較短、密鑰太短、密碼生命週期短、運算速度較慢。
DES工作的基本原理是,其入口參數有三個:key、data、mode。 key爲加密解密使用的密鑰,data爲加密解密的數據,mode爲其工作模式。當模式爲加密模式時,明文按照64位進行分組,形成明文組,key用於對數據加密,當模式爲解密模式時,key用於對數據解密。實際運用中,密鑰只用到了64位中的56位,這樣才具有高的安全性。
發佈了75 篇原創文章 · 獲贊 18 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章