免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
公鑰、私鑰、摘要、數(shù)字簽名、證書

目錄


常用術(shù)語:

加密:encryption   解密:decryption

秘鑰:secret key (公鑰:public key    私鑰:private key)

數(shù)字簽名:digital signature

數(shù)字證書:digital certificate

摘要:digest

可以參考的文章:What is a Digital Signature? (翻譯:數(shù)字簽名是什么?)

一、Base64

Base64也不是加密解密算法,只能算是一個編碼算法,通常用于把二進制數(shù)據(jù)編碼為可寫的字符形式的數(shù)據(jù),對數(shù)據(jù)內(nèi)容進行編碼來適合傳輸(可以對img圖像編碼用于傳輸)。這是一種可逆的編碼方式。

更多Base64相關(guān)知識可參考博客:base64

這64個字符為:

a-z(26個)、A-Z(26個)、0-9(10個)、 和 / (2個),共64個。

二、散列

常見的散列算法有MD5、SHA1、HMAC。散列算法并不是加密算法。

1.md5(Message-Digest Algorithm 5)

密碼通常用md5算法加密,雖然不能通過逆向的方式恢復成明文,但是卻可以通過碰撞的方式得到原密碼或者替代密碼。

(簡單具體例子,假設密碼是數(shù)字2,而hash算法是對原數(shù)字進行平方運算,2的平方為4,實際上我們不需要也不可能通過逆向得到原密碼2,但只需要找到其替代值-2就足以。)

md5加鹽

鹽,是一串比較復雜的字符串。加鹽的目的是加強加密的復雜度,當然這個“鹽”越長越復雜,加密后破解起來就越麻煩。加鹽并不表示就安全了,“鹽”也可能被泄漏出去。

另外,加鹽也不一定加固定的鹽。

2.SHA1(Secure Hash Algorithm)

SHA-1密碼算法,由美國專門制定密碼算法的標準機構(gòu)———美國國家標準技術(shù)研究院與美國國家安全局設計,早在1994年就被推薦給美國政府和金融系統(tǒng)采用,是美國政府目前應用最廣泛的密碼算法。

3.HMAC(Hash Message Authentication Code)

散列消息鑒別碼,基于密鑰的Hash算法的認證協(xié)議。

補充:王小云和她的研究小組已經(jīng)宣布,成功破解MD5和SHA-1等加密算法。實際上并不是真正意義上的破解,只是提高了碰撞效率。

三、對稱加密和非對稱加密

1.對稱加密

對稱加密就是通信雙方使用相同的秘鑰加密解密。

對稱加密算法有DES、3DES(TripleDES),DESede、AES、Blowfish,以及RC2和RC4算法,還有其他第三方提供的軟件包提供的Bouncy Castle 提供的IDEA算法。

這里面DES算是最經(jīng)典的算法,DESede是DES算法的變種,AES算是DES算法的替代者;

AES(Advanced Encryption Standard)

AES翻譯過來是高級加密標準,它是用來替代之前的DES加密算法的。但是因為AES加密算法的安全性要高于DES和3DES,所以AES已經(jīng)成為了主要的對稱加密算法。

更多對稱加密算法的知識可參考博客:對稱加密及AES加密算法

2.非對稱加密

非對稱加密使用一對密鑰:公鑰(public key)和私鑰(private key)。私鑰只能由一方安全保管,不能外泄,而公鑰則可以發(fā)給任何請求它的人。

公鑰和私鑰是成對出現(xiàn)的,它們可以互相解密。公鑰加密的內(nèi)容,只有私鑰可以解密。私鑰加密的內(nèi)容,只有公鑰可以解密。

(公鑰加密私鑰解,私鑰簽名公鑰驗證。 )

主要的非對稱加密算法有RSA、Elgamal、背包算法、Rabin、D-H、ECC(橢圓曲線加密算法)。

使用最廣泛的是RSA算法,Elgamal是另一種常用的非對稱加密算法

3.選擇對稱加密還是非對稱加密

截取一段內(nèi)容,來自對稱加密及AES加密算法

四、數(shù)字簽名和數(shù)字證書

1.數(shù)字簽名

非對稱加密算法的效率是非常低的。

將內(nèi)容使用hash函數(shù)生成摘要,再用私鑰對摘要進行加密,生成數(shù)字簽名。然后將內(nèi)容附上數(shù)字簽名一同傳輸。

收件方收到后,用公鑰對數(shù)字簽名進行解密,得到摘要,然后再對原內(nèi)容進行hash生成摘要,比對這兩個摘要是否相同,相同則說明內(nèi)容沒有被篡改。

2.數(shù)字證書

由CA頒發(fā)給網(wǎng)站的身份證書,里面包含了該網(wǎng)站的公鑰,有效時間,網(wǎng)站的地址,CA的數(shù)字簽名等。

所謂的CA數(shù)字簽名,實際上就是使用了CA的私鑰將網(wǎng)站的公鑰等信息進行了簽名,當客戶端請求服務器的時候,網(wǎng)站會把證書發(fā)給客戶端,客戶端首先可以通過CA的數(shù)字簽名校驗CA的身份,也能證明證書的真實完整性。客戶端有沒有可能到一個假冒的CA去校驗數(shù)字證書呢?不太可能,因為CA的地址是內(nèi)嵌在瀏覽器中的,很難被篡改。

3.數(shù)字證書管理工具

keytool和openssl都是證書管理工具。openssl和keytool的區(qū)別可以參考數(shù)字證書管理工具openssl和keytool的區(qū)別

keytool

keytool是Java自帶的數(shù)字證書管理工具,用于數(shù)字證書的生成,導入,導出與撤銷等操作。它與本地密鑰庫關(guān)聯(lián),并可以對本地密鑰庫進行管理,可以將私鑰存放于密鑰庫中,而公鑰使用數(shù)字證書進行輸出。keytool位于jdk安裝目錄的bin文件夾下。

openssl

openssl官網(wǎng)地址:https://www.openssl.org/

待補充:使用keytool和openssl生成自簽名證書步驟

總結(jié):

對稱加密與解密使用的是相同的密鑰,所以速度快,但由于需要將密鑰在網(wǎng)絡傳輸,所以安全性不高。

非對稱加密使用了一對密鑰:公鑰與私鑰,所以安全性高,但加密與解密速度慢。

通常的辦法是將對稱加密的密鑰使用非對稱加密的公鑰進行加密,然后發(fā)送出去,接收方使用私鑰進行解密得到對稱加密的密鑰,然后雙方仍然可以使用對稱加密來進行溝通。

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
最詳細的 HTTPS 科普掃盲帖 – 碼農(nóng)網(wǎng)
面試官:說說你對網(wǎng)絡請求加密的理解?
加密-數(shù)字信封-完整性驗證-數(shù)字簽名-數(shù)據(jù)加解密以及身份驗證流程(1)
kubernetes里的mTLS
【RSA原理1】淺談
PKI技術(shù)原理(收集 整理 歸納)
更多類似文章 >>
生活服務
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服