加密類型
使用算法
基本特性
對稱加密
DES(資料加密标準,56位密鑰)、
AES(進階加密标準,128位密鑰)、
3DES、Blowfish、Twofish、CAST5、IDEA、RC6
加密、解密使用同一個密鑰
通常用來加密資料,加解密速度快
密鑰過多,管理密鑰困難
密鑰交換困難
加密:# openssl enc -e -des3 -a -salt -in fstab -out fstab.ciphertext
常用選項:
-e:加密
-des3:加密資料時使用的算法,可用# openssl ? --> Cipher commands子指令中的各種其它算法代替
-a:對加密後的資料進行base64編碼,或解密前先對資料進行base64解碼
-salt:加鹽。加鹽後,相同的明文可以得到不同的密文。預設情況下,鹽值是随機生成的
-in FILENAME:指定要加密的檔案
-out FILENAME:指定加密後生成的檔案
解密:# openssl enc -d -des3 -a -salt -in fstab.ciphertext -out fstab.plaintext
-d:解密
公鑰加密
(非對稱加密)
RSA(既能用于加密,又能用于數字簽名)、
DSA(隻能用于數字簽名,不能用于資料加密)、
DH(一般用于密鑰交換)
密鑰成對出現
公鑰:public key,可公開給所有人
私鑰:private key,保證其私密性
使用公鑰加密的資料,隻能使用與之配對的私鑰解密
使用私鑰加密的資料,隻能使用與之配對的公鑰解密
通常用來身份認證(數字簽名),很少用來加密資料
身份認證:發送方使用自己的私鑰加密資料,接收方使用發送方的公鑰解密資料,如果解密成功,就能證明發送方的身份
資料保密性:發送方使用接收方的公鑰加密資料,接收方使用自己的私鑰解密資料,此方法能保證資料的保密性
# openssl genrsa -out ca.key 2048
# openssl req -new -key ca.key -out ca.csr
# openssl x509 -req -days 3650 -in ca.csr-signkey ca.key -out ca.crt
單向加密
MD5:消息摘要算法第五版,128位
SHA:安全雜湊演算法,包括如下5種算法
SHA-1:160位
SHA-2:
SHA-224:224位
SHA-256:256位
SHA-384:384位
SHA-512:512位
CRC-32:提取資料特征碼
CBC-MAC、HMAC:消息認證算法
隻能加密,不能解密,整個過程不可逆
通常用來提取資料特征碼(資料指紋),驗證資料的完整性
定長輸出:無任輸入資料多長,隻要使用同一種單向加密算法,輸出結果的長度都相同
雪崩效應:輸入資料的微小改變,會導緻結果的巨大變化
使用不同加密工具單向加密同一檔案,隻要加密算法一樣,輸出的消息摘要資訊都一樣
# openssl dgst -md5 | -sha1 fstab [-out FILENAME]
# md5sum | sha1sum | sha224sum | sha256sum | sha384sum | sha512sum fstab
本文轉自Marion0728 51CTO部落格,原文連結:http://blog.51cto.com/qiuyue/1955775,如需轉載請自行聯系原作者