古詩詞大全網 - 藝術簽名 - 公鑰認證兩種機制

公鑰認證兩種機制

壹、基礎知識:

1.網絡上常見的中間人攻擊方式有三種:1)竊聽2)數據篡改3)會話劫持。

2.數據加密常用的方法有三種:對稱加密、非對稱加密和單向加密。

3.ssl:安全套接字層,壹個安全套接字層。

4.TLS:傳輸層安全性,類似於ssl。

5.隨機數生成器:/dev/random和/dev/urandom。-鹽:取決於隨機數生成器。

6.隨機數的來源:熵池和偽隨機數發生器。熵池中的隨機數來自block設備的中斷和鍵盤鼠標的敲擊時間間隔;偽隨機數生成器中的隨機數來自熵池和軟件生成。

7.openssl rand [base64] num也可以用來生成隨機數。

8.echo–n " QQ " | OpenSSL base64,意思是base64編碼QQ。

第二,對稱加密:

1.加密方和解密方使用相同的密鑰。

2.加解密速度比較快,適合長數據。

3.密鑰傳輸過程不安全,容易被破解,密鑰管理也比較麻煩。

4.加密算法:DES(數據加密標準)、3DES、AES(高級加密標準,支持加密128、192、256、512位密鑰)、Blowfish。

5.加密工具:openssl、gpg(pgp工具)

第三,非對稱加密(公鑰加密):

1.每個用戶都用壹對密鑰加密:公鑰和私鑰。

2.公鑰加密和私鑰解密;私鑰加密,公鑰解密。

3.公鑰傳輸過程不安全,容易被竊取和替換。

4.因為公鑰使用的密鑰長度很長,公鑰的加密速度很慢,壹般不用於加密。

5.壹個用戶用他的私鑰加密,其他用戶用他的公鑰解密,這樣就實現了數字簽名的功能。

6.公鑰加密的另壹個功能是實現密鑰交換。

7.加密和簽名算法:RSA,ELGamal。

8.公鑰簽名算法:DSA。

9.加密工具:gpg、openssl

四、單向加密:

1,特點:雪崩效應,定長輸出,不可逆。

2.功能是保證數據的完整性。

3.加密算法:md5(標準密鑰長度128位)、sha1(標準密鑰長度160位)、md4、CRC-32。

4.加密工具:md5sum,sha1sum,openssl dgst。

5.計算文件的哈希值,例如:md5sum/shalsumfilename,OpenSSL dgst–MD5/-sha 1 filename。

五、兩種密鑰交換機制:

1.公鑰加密的實現:發送方用接收方的公鑰加密自己的密鑰,接收方用自己的私鑰解密得到發送方的密鑰,反之亦然,實現密鑰交換。

2.使用DH算法:前提是發送方和接收方協商使用同壹個大素數P和生成數G,以及分別生成的隨機數X和Y。發送方將G的X次方mod P生成的值發送給接收方,接收方將G的Y次方mod P生成的值發送給發送方,發送方對接收到的結果進行X次方運算,接收方對接收到的結果進行Y次方運算,最終形成密碼,完成密鑰交換。

六、為同時實現數據完整性,采用的數據加密和認證機制如下:

假設鮑勃和羅斯交流:

1加密過程:

Bob使用單向加密算法得到發送數據的簽名(用於數據完整性檢測),Bob用自己的私鑰加密這個簽名(實現認證),並將這個簽名放在數據後面。Bob生成壹個密碼D,用這個密碼對加密的特征碼和數據進行加密(實現數據加密)。此時生成的數據稱為q,最後用Rose的公鑰加密密碼D,D放在q後面。

2解密過程:

Rose用她的私鑰解密得到D,然後用D解密得到數據和加密的特征碼,再用Bob的公鑰解密這個特征碼。如果可以解密,說明數據是Bob發送的,否則就不是。最後利用單向加密算法計算數據的特征碼,通過發送的特征碼與Rose計算的特征碼進行比較來確定數據是否被篡改。如果特性代碼壹致,則數據沒有改變。如果簽名不壹致,則數據已經更改。

七、openssl:

1)組件:libcrypto:加密庫。

Libssl:壹個實現ssl函數的庫。

Openssl:壹個多用途的加密工具,可以提供對稱加密、公鑰加密和單向加密,可以作為簡單的本地CA使用。

2)在對稱加密中,文件由openssl加密:

OpenSSL enc-des 3-salt-a-in plaintext-out密文

通過openssl解密:

openssl enc -d -des3 -salt -a -in密文. des3 -out明文

3)openssl版本:查看openssl的版本信息。

4)openssl:進入openssl的命令行模式。

5)openssl速度:測試壹種加密算法對不同長度的密鑰進行加密的速度。

6)在公鑰加密中,openssl可以用來生成私鑰。

Openssl genrsa指定生成的私鑰長度>;保存到的文件名。

Openssl genrsa [des3] -out保存的文件名指定生成的私鑰的長度。

生成密鑰文件時修改密鑰文件的權限:(umask 077Openssl genrsa指定生成的私鑰長度>;文件名保存到)

Openssl genrsa指定生成的私鑰長度[-des3](加密的私鑰文件)>;要保存到的文件名。

Openssl genrsa [-des3] -out保存的文件名指定生成的私鑰的長度。

當生成私鑰並且文件未加密時,未加密的私鑰文件可以加密並以以下格式保存:文件存儲在openssl rsa in的未加密私鑰中–文件名保存到DES 3-out。

解密私鑰:openssl rsa in需要解密的私鑰文件——保存-out的文件名。

7)從私鑰中提取公鑰:OpenSSL RSA–in my . key-pub out指定保存公鑰的文件名。