Diffie–Hellman - 簡介
真的是好不容易阿~
我們來到了新的章節了,終於能把非對稱的另一個方法來跟大家說說了。
Diffie–Hellman可謂是十分強大,目前成為超級主流的同時,也是備受關注的一套方法。
並且也保證了前向安全性(Forward Secrecy)。
那我們一樣先用『無數學關係的解釋』來說明吧(記得傳給你其他不是資訊相關的朋友,一定能讓他聽得懂的~)
無數學關係的解釋
在講解之前,我想要跟大家說幾個前提:
- 內容只是解說,而技術、邏輯可能有所差異,但理念差不多。
- 敘述邏輯上,可能會有其他方式來破解,但真實在處理時,並不會有。
前提
接下來我想先說邏輯上的前提:
- 這是一個做飲料配方的比喻法。
- 兩種料混合後,就算知道其中一個料,卻不能知道另一個料。
- 料跟料的混合,沒有順序關係,『先加A料再加B料』跟『先加B料再加A料』是一樣的。
- 都能夠不斷地混入新的料,做出新的飲料。
好~我們開始說故事吧!
三家廠商,合作與敵對!
這是三家公司的故事……(以下故事都是虛構的。)
『A公司』與『T公司』是兩家合作的公司,這兩家公司希望能共同研發出『一款新的飲料』。
而這兩家公司有一間敵對的『C公司』,他們經常竊取別人的公司的機密配方,搞得A公司跟T公司都很頭痛。
而這一次要推出的新飲料很重要,而兩邊也希望保有自己配方的一部份。
但兩家廠商離得很遠,必需要透過送貨員來把料送給對方,但很擔心C公司偷竊配方。
兩家公司思考後,使用了以下的流程。
- A公司給了T公司說『嘿~我們一同使用P料吧!』,把P料寄送給T公司。
- 在他們不知道的時候,其實送貨員被C公司買通,得知了P料。
- 關係圖:
- A公司使用了『P料』跟『公司內部的秘密配方AS料(A Security)』,並將其混合後得到了『P AS料』。
- 關係圖:
- A公司:P料、AS料、P AS料。
- T公司:P料。
- C公司:P料。
- T公司使用了『P料』跟『公司內部的秘密配方TS料(T Security)』,並將其混合後得到了『P TS料』。
- 關係圖:
- A公司:P料、AS料、P AS料。
- T公司:P料、TS料、P TS料。
- C公司:P料。
- 因為東西都在公司內,所以C公司買通的送貨員,沒有辦法得到AS料跟TS料。
- 這時A公司把『P AS』寄送給了T公司,而T公司也把『P TS料』寄送給了A公司。
- 這時C公司將一部份的P AS料跟P TS料竊取走。
- 關係圖:
- A公司:P料、AS料、P AS料、P TS料。
- T公司:P料、TS料、P AS料、P TS料。
- C公司:P料、P AS料、P TS料。
- A公司拿到了T公司的『P TS』後,用『秘密配方AS料(A Security)』混合後做出了『P AS TS飲料』。
- 關係圖:
- A公司:P料、AS料、P AS料、P TS料 -> 『P AS TS飲料』。
- T公司:P料、TS料、P AS料、P TS料。
- C公司:P料、P AS料、P TS料。
- T公司拿到了A公司的『P AS』後,用『秘密配方TS料(T Security)』混合後做出了『P AS TS飲料』。
- 關係圖:
- A公司:P料、AS料、P AS料、P TS料 -> 『P AS TS飲料』。
- T公司:P料、TS料、P AS料、P TS料 -> 『P AS TS飲料』。
- C公司:P料、P AS料、P TS料。
兩家公司就共同完成了『P AS TS飲料』。
那C公司呢?
我們假設說,C公司沒辦法分離出P AS料、P TS料,也沒辦法抽出混合在裡面的P料(你可以把鹽巴跟同樣大小顏色的糖混合後分離出來,那也是蠻厲害的)。
那以下假設:
- P料 + P AS料 -> PP AS飲料。(不等於P AS TS飲料)
- P料 + P TS料 -> PP TS飲料。(不等於P AS TS飲料)
-
P AS料 + P TS料 -> PP AS TS飲料。(不等於P AS TS飲料)
- P料 + P AS料 + P TS料 -> PPP AS TS飲料(不等於P AS TS飲料)。
因此,C公司永遠也沒辦法做出『P AS TS飲料』。
大概知道了做飲料的辛苦了吧~
不是啦!這就是Diffie–Hellman的金鑰生成方式了。
Q. 那你說加解密?
A. 直接去做XOR就好。
Q. 你說那麼簡單!會不會被破解?
A. 這超安全的加密方式勒~你們知道嗎OTP也是這樣。
Q. 你說安全!為什麼!
A. 我想到OTP那邊在跟大家說,但我能說,因為有無限可能。
作者的話
這樣大家應該瞭解了大概的流程了。
那接下來講解數學的時候就能知道我們在做什麼了。
而數學的部分也十分的有趣就是了,之後也會提到ECC(橢圓曲線密碼學)。
一樣『接下來讓我們進入數學的世界吧!!』