日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

三种加密算法和两种密钥交换机制讲解

發布時間:2023/12/19 综合教程 33 生活家
生活随笔 收集整理的這篇文章主要介紹了 三种加密算法和两种密钥交换机制讲解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、基礎知識:

1、互聯網上中間人攻擊通常用的三種方式:1)竊聽2)數據篡改3)會話劫持

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

3、ssl:securesocket layer,安全的套接字層。

4、TLS:Transport Layer Security,功能類似于ssl。

5、隨機數生成器:/dev/random和/dev/urandom。-salt:依賴于隨機數生成器。

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

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

8、echo –n “QQ”|openssl base64,表示對QQ做base64編碼。

二、對稱加密:

1、加密方和解密方使用同一個密鑰。

2、加密解密的速度比較快,適合數據比較長時的使用。

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

4、加密算法:DES(Data Encryption Standard)、3DES、AES(Advanced Encryption Standard,支持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、計算某個文件的hash值,例如:md5sum/shalsumFileName,openssl dgst –md5/-sha1 FileName。

五、密鑰交換的兩種機制:

1、公鑰加密實現:發送方用接收方的公鑰加密自己的密鑰,接收方用自己的私鑰解密得到發送方的密鑰,逆過來亦然,從而實現密鑰交換。

2、使用DH算法:前提發送方和接受方協商使用同一個大素數P和生成數g,各自產生的隨機數X和Y。發送方將g的X次方mod P產生的數值發送給接收方,接受方將g的Y次方mod P產生的數值發送給發送方,發送方再對接收的結果做X次方運算,接受方對接收的結果做Y次方運算,最終密碼形成,密鑰交換完成。

六、同時實現數據的完整性、數據加密和身份驗證所使用到的機制如下:

假設Bob和Rose進行通信:

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實現對某個文件加密:

opensslenc-des3-salt-a-inplaintext-outciphertext.des3

使用openssl實現解密:

opensslenc-d-des3-salt-a-inciphertext.des3-outplaintext

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

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

5)openssl speed:測試某種加密算法加密不同長度密鑰的速率。

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

opensslgenrsa指定生成的私鑰長度>保存到的文件名

opensslgenrsa[des3]-out保存到的文件名指定生成的私鑰長度

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

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

opensslgenrsa[-des3]-out保存到的文件名指定生成的私鑰長度

當私鑰在生成的時候,文件未加密,則可以使用如下格式對未加密的私鑰文件進行加密并保存:opensslrsain未加密私鑰存放的文件–des3-out保存到的文件名

解密私鑰:opensslrsain需要解密的私鑰文件–out保存到的文件名。

7)公鑰在私鑰中提取出:opensslrsa–inmy.key-pubout指定保存公鑰的文件名。

總結

以上是生活随笔為你收集整理的三种加密算法和两种密钥交换机制讲解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。