HTTPS 是建立在密碼學(xué)基礎(chǔ)之上的一種安全通信協(xié)議,嚴(yán)格來說是基于 HTTP 協(xié)議和 SSL/TLS 的組合。理解 HTTPS 之前有必要弄清楚一些密碼學(xué)的相關(guān)基礎(chǔ)概念,比如:明文、密文、密碼、密鑰、對稱加密、非對稱加密、信息摘要、數(shù)字簽名、數(shù)字證書。接下來我會逐個解釋這些術(shù)語,文章里面提到的『數(shù)據(jù)』、『消息』都是同一個概念,表示用戶之間通信的內(nèi)容載體,此外文章中提到了以下幾個角色:

  • Alice:消息發(fā)送者

  • Bob:消息接收者

  • Attacker:中間攻擊者

  • Trent:第三方認(rèn)證機構(gòu)

密碼

密碼學(xué)中的“密碼”術(shù)語與網(wǎng)站登錄時用的密碼(password)是不一樣的概念,password 翻譯過來其實是“口令”,它是用于認(rèn)證用途的一組文本字符串。

而密碼學(xué)中的密碼(cipher)是一套算法(algorithm),這套算法用于對消息進行加密和解密,從明文到密文的過程稱之為加密,密文反過來生成明文稱之為解密,加密算法與解密算法合在一起稱為密碼算法。

密鑰

密鑰(key)是在使用密碼算法過程中輸入的一段參數(shù)。同一個明文在相同的密碼算法和不同的密鑰計算下會產(chǎn)生不同的密文。很多知名的密碼算法都是公開的,密鑰才是決定密文是否安全的重要參數(shù),通常密鑰越長,破解的難度越大,比如一個8位的密鑰最多有256種情況,使用窮舉法,能非常輕易的破解。根據(jù)密鑰的使用方法,密碼可分為對稱加密和公鑰加密。

對稱加密

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式