快轉到主要內容

非對稱加密 (Asymmetric Cryptography)

·1223 字
Computer-Science Cryptography Digital Signature
目錄
Cryptography - 本文屬於一個選集。
§ : 本文

這次提到的概念是比上次的「 Symmetric Cryptography 」來的更進階的「 Asymmetric Cryptography (非對稱加密) 」,其概念被廣泛運用在數位簽章


前言
#

若你還不了解「 Symmetric Cryptography (對稱加密) 」是什麼,建議在閱讀本文前,先看看我前一篇文章「」,否則可能會搞不清楚在本篇中,基於上一篇介紹裡所使用的單字意思。


對稱加密所無法解決的難題
#

在上一篇的對稱加密概念介紹中,其作法可以有效的使多方溝通之間存在更高的安全性,但共享密鑰也同時意味著「 對方有與你相同的權限 」,你能加密訊息後發布,對方也能,你能透過密鑰解密,對方也能。

在很多時候,A方與B方雖然需要加密溝通,但卻必須分清楚雙方身份,否則可能存在偽造的風險,注意,這邊所說的A、B方並不一定是單一的,他可以是群體,也就是說有某一群人稱為A,某另一群人稱為B,而雙方都有著相同的密鑰可以用來加密及解密訊息,這兩群人透過對稱加密來加密訊息並溝通,但這僅能保護雙方在溝通時,不被非A、B兩方的人了解密文意思而已,並不能驗證該訊息的發送者身份是A還是B,因為雙方的密鑰是相同的,因此萬一有某人為B方,而他卻聲稱自己是A方的人,並且使用密鑰加密訊息發給B方,那B方又該如何驗證該人的身份?

B 群組成員偽造 A 群組身份發送訊息
B 群組成員偽造 A 群組身份發送訊息


Asymmetric Cryptography (非對稱加密)
#

為了解決上述問題,我們必須改成「 加密與解密使用不同密鑰 」,於是「 Asymmetric Cryptography (非對稱加密) 」誕生了。

  • 公鑰、私鑰
    • 由於加密與解密需要使用不同密鑰,因此若是要達到雙方可以溝通的效果,至少需要要4把鑰匙,在一開始的時候,雙方各別生產一對密鑰,這一對密鑰一把當公鑰,一把當私鑰,注意,這兩把密鑰並不是分開獨立生成的,它們之間有著數學關連,至於分成公、私鑰是做什麼的,等等會解釋,目前只要先記得,這兩把鑰匙是一對,不可被拆散的。
    • 在這邊提醒一個重點,雖然說一對公鑰與私鑰之間有著關聯,可是並不能透過單一一把鑰匙推算出另一把鑰匙,也就是說,今天就算別人知道你的公鑰,對方也是無法破解出該公鑰所對應的私鑰。

雙方生成公私鑰
雙方生成公私鑰

  • 釋出公鑰
    將公鑰交給對方,用於給對方在之後進行解密使用。

雙方交換公鑰
雙方交換公鑰

  • 加密、解密
    • 接下來就是非對稱加密的特殊之處了,這時候雙方手上都持有自己的私鑰對方的公鑰,「 自己的私鑰 」用於「 加密 」,「 對方的公鑰 」用於「 解密 」。
    • 下方示意圖是B方傳送訊息給A方的情境,B方運用自己的私鑰加密後傳送給A方,而A方則使用B方的公鑰進行解密。
    • 運用私鑰所加密的訊息只有該私鑰所對應的公鑰才能解密。
      加密解密
      加密解密
    • 所以萬一有人想偽造身份,除非是偷到密鑰,否則是不可行的。

辨識身份
辨識身份


運用
#

非對稱加密被運用在許多地方,而常見的 數位簽章 (Digital Signature) 也是利用此概念來達到辨識身份及加密的原理。另外,許多標榜像是加密傳輸、加密聊天等應用,也都看得到非對稱加密的蹤影,只要私鑰不洩漏,基本上不會有第二則密文可以被該公鑰解密成有意義的明文。

P.S. 非對稱加密中常見的加密演算法有:
RSADHECDHECDSA (橢圓曲線數字簽名算法)ElGamalSM2
有興趣的朋友可以點擊連結或自行上網研究。

Alpaca
作者
Alpaca
No one can stop my feet.
Cryptography - 本文屬於一個選集。
§ : 本文

相關文章

對稱加密 (Symmetric Cryptography)
·1399 字
Computer-Science Cryptography

大家對於「密碼」並不陌生,生活中總是遇到許多場合需要用到密碼,然而「加密」的原理似乎相對的卻不是那麼的備受關注。

Social-Engineering 社交工程|你駭計算機,我駭你心。
·2000 字
Computer-Science Social-Engineering Psychology Phishing

什麼是社交工程?是心理學的一種嗎?兩者之間有什麼關聯?社交工程是指詐騙嗎?

嘿!別想的太複雜,其實你應該也經歷過

網頁漏洞 XSS (Cross-Site-Scripting) 攻擊 (下) 進階思路解說
·1873 字
Computer-Science XSS
上一篇提到了基礎的 XSS 原理,這次要來介紹更深入更進階的思路了。
網頁漏洞 XSS (Cross-Site-Scripting) 攻擊 (上) 基礎原理解說
·2194 字
Computer-Science XSS
常常聽到有人說網站出現「XSS 漏洞」,那這所謂的 XSS 到底是什麼?其可怕之處又為何?以下,帶你淺談 XSS (跨站運行腳本) 原理。
Ubuntu 18 如何顯示電量百分比?
·308 字
Computer-Science Ubuntu Gnome