這篇博文的名稱叫做《Alice and Bob》(愛麗絲與鮑伯),有很多人好奇這個名字的意思,所以正好用本篇來說一下並做一個引子,帶出一個主題——加密法與我們的生活。
《Alice and Bob》是廣泛地代入密碼學和物理學領域的通用角色。除了愛麗絲和鮑伯,還有其他相關角色。這些名稱是為了方便說明議題,類似「甲想傳送訊息給乙」。在密碼學和電腦安全中,存在很多這一系列的慣用角色名稱,通常是用作代表一些領域。而在典型的協定執行中,這些人物不一定是一個「人類」,而可能是一個可信賴的自動式代理人(如電腦程式)。使用這些名稱有助說明的結構,有時也會用作幽默。
在電腦科學的文章中,如果需要用到兩個參與者去介紹概念,傳統上我們都會使用「Alice」和「Bob」,情況像中文課我們很喜歡用「陳大文」去表示虛構的參與者一樣。而其中最常聽到的用例,就是:「問Alice如何可以安全地傳遞信息給Bob而不被其他人偷看?」
(來源:John Richardson《Physics World》, March 1998.)
加密法與我們的生活
在現代社會,加密法無處不在,甚至說加密法是我們現代生活的基礎也不為過。試想像一下,你每天的生活,你會使用通訊軟體和朋友對話、辦公,把資料互通;你會在網上購物,把各樣資料交出去;以至在社會層面,企業與政府都在用資訊科技去處理公務等。有一刻你或會想過,我們這些資料交換與通訊,是安全的嗎?其他人可以在傳輸過程中偷看到我的訊息嗎?
加密過程需要一對密匙,分別是公匙與私匙。
加密的原理
加密法是一個很大的題目,我打算以最基礎的原理介紹,讓大家了解這個互聯網生活的基石。我們一般使用的加密方式,都是以非對稱加密(Asymmetric Cryptography)進行的。加密過程需要一對密匙,分別是公匙與私匙(Public key and Private key)。它們在數學上是有關聯,但又很難由公匙估計到私匙,所以大家會把自己的公匙開放給其他人,而又毋須擔心因此會令自己的私匙公開。設想一個簡單例子:「Alice要把信用卡資料交給Bob,Alice會使用Bob放給公眾的公匙,把資料密封然後傳給Bob,待Bob收到後才用自己的私匙解開。」這樣Alice就確保只有Bob可以看到她的資料。因為以公匙加密後,只有對應的私匙才可解開。
如果沒有對應的密匙,傳統電腦技術無法破解資料。
為甚麼安全?
從以上例子中,Alice的資料不會被Bob以外的人偷看,信心來自於以這種方式去加密的話,如果沒有對應的密匙,用傳統電腦來破解的話,是需要幾百萬年的時間去不停嘗試,因此我們都總結為現有科技不能破解,可以安心使用來作資料交換。這樣,整個互聯網經濟就由此而生。
惟要留意的是,我提到的是「傳統電腦」技術上不可行,但有沒有「非傳統電腦」可以做得到呢?答案是有,下一篇我會和大家看一下時下另一個很多人用的名詞:「量子電腦」,以及它如何摧毀現有加密法。
沒有留言:
張貼留言