加密演算法
編碼:base64
摘要演算法:MD5、SHA-1
對稱加密演算法:AES、DES、3EDS
非對稱加密演算法:RSA、DSA、ECC
數字簽名:DSA
參考連結:
http://www.cnblogs.com/sunxuchu/p/5483956.html
https://www.zhihu.com/question/20839365
MD5 嚴格意義上不算加密演算法,是摘要演算法
訊息摘要演算法:http://baike.baidu.com/view/2313810.htm#3_1
關鍵數字:512、448、64、0、1、四輪、28
大端位元組序 A=0x01234567,B=0x89ABCDEF,C=0xFEDCBA98,D=0x76543210
1、一般用於客戶端對密碼MD5加密處理,傳給伺服器,即使黑客攻擊了伺服器,明文密碼也不會被洩露(伺服器的保護)
2、客戶端保護(如果黑客通過反編譯手段則也有可能攻破),所以單獨進行MD5還是可以通過破解網站破解的
所以可以如下方法
1)多次MD5 (黑客逆向解密,還是一樣)
2)加密後加鹽再加密 (加鹽就是在固定位置拼接上一段雜亂的字串) (有規律性)
破解步驟:解密—》鹽有規律性—》去鹽 —》解密 明文獲得
3)先加密,後亂序 破解難度增加 因為他不知道你怎麼換的位置
MD5被衝撞一次的時間
被設計專門用來搜尋MD5衝突的機器(這臺機器在1994年的製造成本大約是一百萬美元)可以平均每24天就找到一個衝突
2004年王小云和他的研發小組通過雜湊衝撞的方式兩個不同的明文可得到相同的MD5編碼
注意:並非是真正的破解,只是加速了雜湊衝撞
2008年 每幾秒就可以找到一對碰撞
AES
百度百科 http://baike.baidu.com/item/aes/5903
加密原理 http://www.2cto.com/article/201112/113465.html
http://www.mamicode.com/info-detail-514466.html
1、字型代替 類似 密保卡樣式
2、行移位
3、列混淆
4、輪金鑰加
塊加密 輪詢
CBC模式 優於 ECB模式
128 金鑰和初始向量
192
256 金鑰
AES相比同類對稱加密演算法速度算是非常快,比如在有AES-NI的x86伺服器至少能達到幾百M/s的速度。安全性在可預見的未來是基本等同的,因為即使是128位也足夠複雜無法被暴力破解。現在112位密碼還在商業應用,而128位是112位的幾萬倍,所以在實務中用128位比較划算(稍節約資源)。
AES256比128大概需要多花40%的時間,用於多出的4輪round key生成以及對應的SPN操作。另外,產生256-bit的金鑰可能也需要比128位金鑰多些開銷,不過這部分開銷應該可以忽略。
安全程度自然是256比128安全,因為目前除了暴力破解,並沒有十分有效的代數攻擊方法。
針對具體的AES-256或AES-128的軟/硬體實現有特定的攻擊方式,不好一概而論。
AES128和AES256主要區別是金鑰長度不同(分別是128bits,256bits)、加密處理輪數不同(分別是10輪,14輪),後者強度高於前者。當前AES是較為安全的公認的對稱加密演算法。
現代密碼學分為對稱加密與非對稱加密(公鑰加密),代表演算法分別有DES(現在發展為3DES)、AES與RSA等。非對稱加密演算法的資源消耗大於對稱加密。一般是進行混合加密處理,例如使用RSA進行金鑰分發、協商,使用AES進行業務資料的加解密。
base64
關於這個編碼的規則:
①.把3個字元變成4個字元。
②每76個字元加一個換行符。
③.最後的結束符也要處理。
Base64編碼要求把3個8位位元組(3*8=24)轉化為4個6位的位元組(4*6=24),之後在6位的前面補兩個0,形成8位一個位元組的形式。 如果剩下的字元不足3個位元組,則用0填充,輸出字元使用‘=’,因此編碼後輸出的文字末尾可能會出現1或2個‘=’。
為了保證所輸出的編碼位可讀字元,Base64制定了一個編碼表,以便進行統一轉換。編碼表的大小為2^6=64,這也是Base64名稱的由來。
上傳圖片
RSA
ECC
相關文章
- 對稱加密演算法----DES加密演算法加密演算法
- 加密演算法介紹及加密演算法的選擇加密演算法
- 凱撒加密演算法加密演算法
- 常用加密演算法加密演算法
- RSA加密演算法加密演算法
- Rabbit加密演算法加密演算法
- 加密演算法(一)加密演算法
- SHA加密演算法加密演算法
- 常見加密演算法及常見加密演算法簡述加密演算法
- 加密解密技術—對稱演算法加密加密解密演算法
- 公鑰加密新演算法——奇異矩陣加密演算法 (轉)加密演算法矩陣
- 加密演算法的使用加密演算法
- iOS加密解密演算法iOS加密解密演算法
- 加密演算法學習加密演算法
- Java常用加密演算法(一)—單向加密演算法(MD5/SHA)Java加密演算法
- Android資料加密之異或加密演算法Android加密演算法
- 對稱塊加密演算法加密模式詳解 (轉)加密演算法模式
- Go加密演算法總結Go加密演算法
- 那些常用的加密演算法加密演算法
- 加密解密演算法系列加密解密演算法
- # RSA 公鑰加密演算法加密演算法
- 各種Java加密演算法Java加密演算法
- iOS 加密演算法的使用iOS加密演算法
- iOS異或加密演算法iOS加密演算法
- Java中Blowfish加密演算法Java加密演算法
- MD5加密演算法加密演算法
- Java 常用加密解密演算法Java加密解密演算法
- 非對稱加密演算法-RSA演算法加密演算法
- 應用加密1;非對稱加密演算法揭祕加密演算法
- 網路安全 與 加密演算法加密演算法
- Python幾種加密演算法Python加密演算法
- Java安全之安全加密演算法Java加密演算法
- Go 加密解密演算法總結Go加密解密演算法
- Lifted ElGamal 門限加密演算法GAM加密演算法
- Discuz通行證的加密演算法加密演算法
- (轉)Go加密演算法總結Go加密演算法
- 逆向中常見的加密演算法加密演算法
- 第四篇:非對稱加密及RSA加密演算法加密演算法