安全算法-对称加密与非对称加密
1. 什么是對稱加密
對稱加密它的特點是文件加密和解密使用相同的密鑰加密。密鑰既可以用作加密也可以用作解密。對稱加密算法使用起來簡單快捷,密鑰較短,且破譯困難。
常見的對稱加密:DES、AES、國密SM4
2. 非對稱加密
非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密,因為加密和解密使用的是兩個不同的密鑰。
非對稱加密算法實現機密信息交換的基本過程是:甲方生成一對密鑰并將其中的一把作為公用密鑰向其它方公開;得到該公用密鑰的乙方使用該密鑰對機密信息進行加密后再發送給甲方;甲方再用自己保存的另一把專用密鑰對加密后的信息進行解密。甲方只能用其專用密鑰解密由其公用密鑰加密后的任何信息。
常見的非對稱加密:RSA、 ECC、 國密SM2
3. 區別
| 1 | 對稱加密中加密和解密使用的秘鑰是同一個 | 非對稱加密中采用兩個密鑰,一般使用公鑰進行加密,私鑰進行解密 |
| 2 | 對稱加密解密的速度比較快 | 對稱加密解密的速度比較快,非對稱加密和解密花費的時間長、速度相對較慢 |
| 3 | 對稱加密的安全性相對較低 | 非對稱加密的安全性較高 |
下面介紹我用過的兩種加密算法
4. AES
AES 使用密鑰長度支持為 128/192/256 位的對稱數據包密碼系統。當用戶密鑰不夠長時,將使用0x00填充該工具。IV也是如此。不合時宜的內容將被忽略。加密后,明文數據以 16 個字節分組,小于 16 個字節的數據將填充特定的填充(如 PCKS7)字符,因此不同填充模式下文本的最后一段可能會有所不同。
常見的填充模式有:‘PCKS5’、‘PCKS7’、‘ISO10126’、‘ANSIX923’、‘ZERO’ ,類型包括DES-ECB、DES-CBC、DES-CTR、DES-OFB、DES-CFB [1]。
ECB: 最簡單的方式, (原文,密鑰) => 密文
CBC: 先將原文與IV異或, 再加密, (原文⊕IV ,密鑰) => 密文
CFB: 過程比較復雜, 大概就是, 上個數據塊的輸出, 會作為下個數據塊的輸入.
CTR: 復雜
關于模式類型的介紹詳見《Recommendation for Block Cipher Modes of Operation Methods and Techniques》文件, 公眾號后臺回復 “ AES加密 ”可獲取。
5.SM4
SMS4算法是一種32輪的迭代非平衡Feistel結構的分組加密算法,其密鑰長度和分組長度均為128。SMS4算法的加解密過程中使用的算法是完全相同的,唯一不同點在于該算法的解密密鑰是由它的加密密鑰進行逆序變換后得到的。
SMS4分組加密算法是中國無線標準中使用的分組加密算法,在2012年已經被國家商用密碼管理局確定為國家密碼行業標準,標準編號GM/T 0002-2012并且改名為SM4算法,與SM2橢圓曲線公鑰密碼算法,SM3密碼雜湊算法共同作為國家密碼的行業標準,在我國密碼行業中有著極其重要的位置。
SMS4通過32輪非線性迭代后加上一個反序變換,這樣只需要解密密鑰是加密密鑰的逆序,就能使得解密算法與加密算法保持一致。SMS4加解密算法的結構完全相同,只是在使用輪密鑰時解密密鑰是加密密鑰的逆序。
SM4加密算法應用場景
SM4廣泛使用在WAPI無線網絡標準中使用,比如當我們前端向后臺傳參數的時候,可以使用此算法。對參數的數據進行加密,然后后臺對加密的數據進行解密再存儲到數據庫中,保證數據傳輸過程中,不受泄露。
閱讀原文
總結
以上是生活随笔為你收集整理的安全算法-对称加密与非对称加密的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 登录指定sock路径
- 下一篇: 左拥快手右抱抖音,丁磊直播究竟图什么?