常見的加密演算法以及加密協議
阿新 • • 發佈:2018-12-10
-
PKI
:Public Key Infraastructure
-
CA
:Certificate Authority
-
公鑰加密演算法:
DES
:Data Encrption Standard
;AES
:Advanced Encryption Standard
;Blowfish
:對稱加密演算法;
-
x509
:- 加解密協議,是應用層,協議,通過在應用層協議和傳輸層之間建立SSL層,資料在
SSL
層完成加密,也就是說這是一箇中間層,應用層協議都是可以呼叫的; SslV2 SSLV3
:這兩個版本是常用的版本;TLS
:Transport Layer Security
,相當於SSL V3
版本;
- 加解密協議,是應用層,協議,通過在應用層協議和傳輸層之間建立SSL層,資料在
-
HTTPS
:- 1.在建立三次握手之後,然後通過協商使用加密協議的某個具體版本;
- 2.
Server
將自己證書傳送給客戶端,客戶端驗證證書是否是完整的; - 3.
Client
建立生成會話金鑰,對稱加密密碼,Client
生成的大隨機數使用Server
的公鑰加密之後傳送給server
;
-
單項加密演算法:
MD 4
,MD 5
,SHA 1
,SHA 192 256 384
;CRC32
:表示迴圈冗餘校驗碼;
-
公鑰加密經常用於身份認證和祕鑰交換,
RSA
:用於實現加密和簽名,DSA
:用於實現簽名,ElGamal
:商業演算法; -
Openssl
:SSL
的開源實現,libcrypto
:是一個通用功能的加密庫;TLS/SSL
openssl
:多用途的命令列工具,可以用於模擬實現私有證書頒發機構;openssl
的配置檔案是/etc/pki/tls/openssl.cnf
,這個軟體包包含大量的shell
命令;
-
用於測試加密演算法速度的命令
[[email protected] ~]# openssl speed des
- 加密某個檔案的大致過程
[[email protected] mnt]# cp /etc/inittab . [[email protected] mnt]# openssl enc -des3 -salt -a -in inittab -out inittab.des3 enter des-ede3-cbc encryption password: //這裡輸入的祕鑰用於解密 Verifying - enter des-ede3-cbc encryption password:
- 原始檔
- 加密之後的檔案
- 接下來實現解密這個檔案的過程,前提是必須知道祕鑰
[[email protected] mnt]# openssl enc -des3 -d -salt -a -in inittab.des3 -out ./inittab
enter des-ede3-cbc decryption password:
-
解密之後的檔案
-
文字特徵碼的計算
-
md5sum
[[email protected] mnt]# md5sum inittab
sha224sum
:
[[email protected] mnt]# sha224sum inittab
-
openssl dgst -sha224 inittab
-
openssl dgst -md5 inittab
-
生成隨機數
-
openssl rand -base64 12
-
Openssl
製作私有CA
-
1.首先生成一對金鑰
[[email protected] CA]# (umask 177;openssl genrsa -out server.key 1024)
Generating RSA private key, 1024 bit long modulus
............................++++++
..........................++++++
e is 65537 (0x10001)
[[email protected] CA]# ll server.key
-rw-------. 1 root root 887 4月 15 21:22 server.key
- 2.提取公鑰