1. 程式人生 > >加密演算法備忘

加密演算法備忘

網上加密演算法的文章很多,但是剛好沒有辦法滿足自己的需求,只好再挖一坑。。。

內容比較淺顯,大神勿看。

RSA加密演算法 - 

將兩個大素數相乘的乘積公開作為加密金鑰,因為對其進行因式分解極其困難;由 RSA 公司發明,是一個支援變長金鑰的公共金鑰演算法,需要加密的檔案塊的長度也是可變的,非對稱演算法;

DSA - 

Digital Signature Algorithm (DSA)是Schnorr和ElGamal簽名演算法的變種,被美國NIST作為DSS(DigitalSignature Standard)。

DSA是基於整數有限域離散對數難題的,其安全性與

RSA相比差不多。DSA的一個重要特點是兩個素數公開,這樣,當使用別人的p和q時,即使不知道私鑰,你也能確認它們是否是隨機產生的,還是作了手腳。RSA演算法卻做不到。

DH - 

迪菲-赫爾曼金鑰交換(英語:Diffie–Hellman key exchange,縮寫為D-H) 是一種安全協議。它可以讓雙方在完全沒有對方任何預先資訊的條件下通過不安全通道建立起一個金鑰。這個金鑰可以在後續的通訊中作為對稱金鑰加密通訊內容。公鑰交換的概念最早由瑞夫·墨克(Ralph C. Merkle)提出,而這個金鑰交換方法,由惠特菲爾德·迪菲(Bailey Whitfield Diffie)和

馬丁·赫爾曼(Martin Edward Hellman)在1976年首次發表。馬丁·赫爾曼曾主張這個金鑰交換方法,應被稱為迪菲-赫爾曼-墨克金鑰交換(英語:Diffie–Hellman–Merkle key exchange)。

雖然迪菲-赫爾曼金鑰交換本身是一個匿名(無認證)的金鑰交換協議,它卻是很多認證協議的基礎,並且被用來提供傳輸層安全協議的短暫模式中的前向安全性

EC - 

(英語:Elliptic curve cryptography,縮寫為 ECC),一種建立公開金鑰加密演算法,基於橢圓曲線數學。橢圓曲線在密碼學中的使用是在1985年由Neal Koblitz和

Victor Miller分別獨立提出的。

ECC的主要優勢是在某些情況下它比其他的方法使用更小的金鑰——比如RSA加密演算法——提供相當的或更高等級的安全。ECC的另一個優勢是可以定義群之間的雙線性對映,基於Weil對或是Tate對;雙線性對映已經在密碼學中發現了大量的應用,例如基於身份的加密。不過一個缺點是加密和解密操作的實現比其他機制花費的時間長。

ECDSA -

橢圓曲線數字簽名演算法(ECDSA)是使用橢圓曲線密碼(ECC)對數字簽名演算法(DSA)的模擬

ECDH - 

是基於ECC(Elliptic Curve Cryptosystems,橢圓曲線密碼體制,參看ECC)的DH( Diffie-Hellman)金鑰交換演算法。交換雙方可以在不共享任何祕密的情況下協商出一個金鑰。

ECC是建立在基於橢圓曲線的離散對數問題上的密碼體制,給定橢圓曲線上的一個點P,一個整數k,求解Q=kP很容易;給定一個點P、Q,知道Q=kP,求整數k確是一個難題。ECDH即建立在此數學難題之上。

使用DH演算法的協議,都可以升級到ECDH演算法。ECDH具有ECC的高強度、短金鑰長度、計算速度快等優點。

單獨使用ECDH,和單獨使用DH一樣,會遭受中間人攻擊,因此,ECDH需要配合簽名演算法使用。常常將ECDH和ECDSA一起使用

prime number testing - 

素數校驗,素數驗證

modular exponentiation

模冪運算

 

 

----------------------

對稱式加密就是加密和解密使用同一個金鑰;非對稱式加密就是加密和解密所使用的不是同一個金鑰,通常有兩個金鑰,稱為“公鑰”和“私鑰”,它們兩個必需配對使用,否則不能開啟加密檔案。

一個加密系統S可以用數學符號描述如下:
S={P, C, K, E, D}
其中
P——明文空間,表示全體可能出現的明文集合,
C——密文空間,表示全體可能出現的密文集合,
K——金鑰空間,金鑰是加密演算法中的可變引數,
E——加密演算法,由一些公式、法則或程式構成,
D——解密演算法,它是E的逆。
--------------------- 
作者:yichudu 
來源:CSDN 
原文:https://blog.csdn.net/chuchus/article/details/38932213 
版權宣告:本文為博主原創文章,轉載請附上博文連結!

 

以下貼慢慢看;

https://blog.csdn.net/chris_grass/article/details/78167902

http://www.matrix67.com/blog/archives/234

http://www.matrix67.com/blog/archives/5100

https://www.zhihu.com/question/33645891