iT邦幫忙

2021 iThome 鐵人賽

DAY 4
0
Security

學密碼學也猜不到你的手機密碼系列 第 4

DAY 4- 對稱式、非對稱式加密概要

你的心臟不是對稱的,就跟你的臉一樣。

Alice and Bob

首先要隆重介紹,密碼學永遠的男主角跟女主角,Alice 和 Bob。
他們兩個是青梅竹馬、是情侶、是老師跟學生、是小王子跟他的玫瑰、是我跟你。

他們代表著互相通訊的兩人。

Alice 永遠想要傳訊息給 Bob,而 Bob 永遠想要知道 Alice 傳了什麼給他
(絕對沒有不讀不回這種事,那是討厭的人才會做的事)

於是Alice 和 Bob 會用各式各樣的加密方式,傳送他們的訊息。
Eve 是個小變態,他會在中途偷聽他們傳了什麼,但是他不會竄改訊息。
但是 Oscar 就沒那麼簡單了,Oscar是壞人,他不僅會偷聽他們的訊息,還會竄改訊息(壞吧)。
除此之外,還有Charlie、Issac、Ivan、Justin、Mallory、Matilda、Peggy、Steve、Walter 等等等等等。
每個人都有不同的能力(好像在玩遊戲),代表著不同的角色。

名詞解釋

  • 明文(plaintext) :加密前的訊息。
  • 密文(ciphertext):加密後的訊息。
  • 密鑰(key) :用來加密的鑰匙,通常用k表示

對稱式加密

所謂對稱式加密(Symmetric Encryption),就是加密跟解密用的密鑰是同一個。

對稱式加密相對於非對稱式加密( 又稱公鑰加密 )。

白話文來說,假設Alice 要寄信給 Bob,那麼Alice要將她的信投到Bob的信箱之前,會用一把鑰匙把信箱打開,然後把信投進去(假設他的信箱沒有投遞的孔)。接著Bob要拿信的時候,就用一把一模一樣的鑰匙把信箱打開,得到他的信。

這樣一個用同樣密碼加密跟解密的過程,就叫對稱式加密。

對稱式加密的底下,又分成串流密碼(stream cipher)和區塊密碼(block cipher)。
差別在於,加密是以位元為單位、區塊加密是以區塊為單位。
而串流加密的速度通常比較快、區塊密碼速度較慢。

詳細原理我們留待明後天介紹。

非對稱式加密

非對稱式加密(Asymmetric Encryption),又稱公鑰加密。
相對於對稱式加密,是一種加密和解密使用不同密鑰的加密方式。

非對稱式加密稍微複雜一些,我舉個例子好幫助理解。

假設Alice要寄信給Bob。
於是Bob就拿出一個盒子和鎖,這個鎖就是公鑰(public key)。
接著Alice把信放到盒子裡鎖起來,寄給Bob。
只有Bob才打得開這個盒子,因為只有他擁有鎖的鑰匙,也就是私鑰(private key)

要注意:這個私鑰需要保藏的非常好。
而私鑰可以推導出公鑰,但是私鑰不能推導出公鑰。

於是在真實情況底下,做為一個收件人,你得先產生一個私鑰、並用這個私鑰推導出公鑰。

接著,公開你的公鑰給所有人。
當有人想要傳訊息給你的時候,他使用你的公鑰加密他要傳的訊息,這個訊息一經加密,就只有你解的開。

你收到訊息後,就可以使用私鑰將密文轉換回明文。

比較

密鑰管理

由於對稱式加密在不同對象之間就需要不同的密鑰(並且要儲存),
而公鑰加密只需要產生一對公私鑰,只需記住自己的私鑰即可,
所以公鑰加密在密鑰管理上較為方便。

速度

對稱式密較為簡單,因此速度較快。

安全性

對稱式加密的密鑰長度較短、非對稱式加密的密鑰較長,
除此之外,運算的複雜度也讓非對稱式加密更為安全。
對稱式加密的特性是,速度快,安全度較低。
非對稱式加密的特性是,速度慢,安全度較高。
而運算的速度跟安全性同等重要,畢竟一個極度安全,但要算到天荒地老的演算法也沒有人要使用吧。
因此在實務上,會將兩者交替使用,之後會再做詳細介紹。

圖片來源:
https://www.reddit.com/r/ProgrammerHumor/comments/8v3mqy/is_this_cryptography_meme_relatable_to_programmers/
https://sectigostore.com/blog/5-differences-between-symmetric-vs-asymmetric-encryption/
https://sectigostore.com/blog/types-of-encryption-what-to-know-about-symmetric-vs-asymmetric-encryption/

參考資料:
https://sectigostore.com/blog/types-of-encryption-what-to-know-about-symmetric-vs-asymmetric-encryption/
https://www.digicert.com/faq/ssl-cryptography.htm


上一篇
DAY 3- Enigma
下一篇
DAY 5- 《串流密碼1》 - OTP
系列文
學密碼學也猜不到你的手機密碼30

尚未有邦友留言

立即登入留言