iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 9
2
Security

無趣的密碼學,有趣的加密!系列 第 9

[Day 9] 009 - 非對稱式密碼學 - Asymmetric cryptography (一)(上)

RSA - 簡介

但是在進入數學之前,我們先來用文科的方式理解RSA。

到時候要講Diffie–Hellman時我會再拿一章來說。

無形之中增加了稿量,卑鄙源之助。

其實不瞞你們說,最一開始是將RSA、AES應該要寫成一章的,但我現在拆成三章。

原因就是我回老家,沒什麼時間寫了。

只能分割章節來增加稿量,缺點就是知識的密集度降低了。

但不用擔心,我很有可能寫著寫著,就會超過30天,然後繼續寫。

畢竟,密碼學加上資訊安全,不是30天就能補完的,不然為何要上一個學期的課。

好,廢話說完了,來講解吧~


RSA - 無數學關係的解釋

我們先來看『RSA - 無數學』關係的解釋:

假設Bob想要送Alice禮物,我們假設要送一塊金塊好了。

而且必須透過第三方來傳送,因此有被竊取、損毀、替換的可能性。
(先假設:盒子不會整個被拿走,同時盒子一定會傳到對方手中,物品則不一定。)

這時候必須做加鎖,但如果是一般的鎖,那就會遇到一個問題『該怎麼傳遞鑰匙』。

我們拿幾個情況來舉例:

  1. 假設一:不裝在盒子中,那看到金塊的惡意第三者,能直接拿走。
  2. 假設二:裝在盒子中,但盒子沒有上鎖,有個惡意第三者將盒子打開後,看到金塊,能直接拿走。
  3. 假設三:裝在盒子中並且有鎖,但鑰匙附在箱子旁邊,因此發生假設二。
  4. 假設四:裝在盒子中並且有鎖,但鑰匙不交出去,傳到另一方,Alice也打不開。
  5. 假設五:延續假設四,Bob將鑰匙用不同方法送出去,但有個惡意第三者,已經等候多時了,其實早就將盒子調包,等待發送方送出鑰匙,然後打開後拿走金塊。

那如果不交由第三者傳送能不能?可以,但你要有專屬的直連通道。
那有什麼方式能把金塊交付給Alice?

好的,那麼我們來講解這個特殊的盒子。
假設有一個特殊的盒子,這個盒子有兩把鑰匙。

一支我們稱為『公共公開的鑰匙』簡稱『公鑰』。
一支我們稱為『私人的鑰匙』簡稱『私鑰』。

而這個盒子的鎖十分的神奇,轉到中間的時候,可以開啟盒子。
而右邊跟左邊都不能。

這兩支鑰匙跟這個特殊的箱子有著絕妙的設計。

『公鑰』只能將盒子的鎖『向左轉』。
『私鑰』只能將盒子的鎖『向右轉』。

盒子就算一直往左或右轉,也不會回到正中間。
同時每一支的公鑰只會有唯一的私鑰。
並且每一個盒子的公鑰跟私鑰都是不同的,沒有萬用鑰匙。

接下來講解交換了流程。

  1. 首先Alice有這樣的特殊盒子,並將公鑰跟空盒子一同寄給了Bob。
    • 這時有個惡意第三者,複製了一份公鑰。
  2. Bob收到盒子後將金塊放進了盒子之後,用公鑰將盒子原本是中間的鎖,轉到了左邊,並寄回給Alice。
    • 這時惡意第三者,用公鑰嘗試的想要打開盒子,卻沒有辦法,因為惡意第三者拿到的鑰匙只能向左轉。
  3. Alice收到盒子之後,使用自己的私鑰將鎖向右轉,打開了盒子,拿到了金塊。
    • 假設盒子被調包,Alice就沒辦法用自己的私鑰打開盒子,此時就能發覺盒子被調包。

好的,大家應該有發覺到了,這就是目前RSA的金鑰交換方式。

作者的話

雖然是分割出來的稿件,但也給一些人文科或想推薦給文科或非此專業的人,非常好用的文章。

而且我也把一些該點出來的東西都點出來了。

真的很抱歉的是『資訊密集度』下降了很多。

希望大家多多包涵,但我不想妥協的東西一定會努力完成的。

如果大家有任何疑問,或者發現錯誤造成誤人子弟,請一定要留言讓我知道。

不要在FB或PTT上面諷刺(因為我看不到),要來就來我文章下面諷刺。

我也是要學習的,請給小弟多一點的指教,謝謝各位。

再讓我們說一次『接下來讓我們進入數學的世界吧!』


上一篇
[Day 8] 008 - 非對稱式密碼學 - Asymmetric cryptography (前言)
下一篇
[Day 10] 010 - 非對稱式密碼學 - Asymmetric cryptography (一)(下)
系列文
無趣的密碼學,有趣的加密!30

尚未有邦友留言

立即登入留言