題目: 漫談 RSA Challenge 解碼熱風

作者: Henry Shieh
日期: 1997/05/12


日前在校園網路吹起了一陣『跑 des-client』的旋風, 尤其是在 BBS 上的各校討論板, 更引起了蠻熱烈的討論。 這是什麼﹖為什麼台灣校園網路上會有這樣熱烈的回響呢﹖

首先來介紹一下 RSA Data Security Secret-Key Challenge 這個活動。 這是由 RSA 提供的比賽, 題目有一個是解 DES 的, 12 個是解 RC5 的題目。 RC5 中兩個比較簡單的題目已在今年二月中以前就被解開了。 現在還沒解的, 都有一萬美元的獎金。 那, 這個活動的目的呢﹖

還是簡單介紹一下 DES 好了。 DES 是指美國的 Data Encryption Standard (資料編碼標準)。 目前 DES 是由一個 56-bit key 來當開頭, 產生一組 16 個 48-bit keys, 再由這 16 個 keys 將原資料編 16 次碼 (也就是說編碼 是跑 16 個 runs)。 然而, 這個過程是可逆的, 也就是說, 只要有原來那個 key, 產生出該組 16 個 keys, 再逆解回去, 即可得到原來的資料。 如果不知道原來 那個 key, 以 56-bit 的 key space 來看, 是蠻難一一試出真正的 key。

那, RSA 為何要辦這樣的活動呢﹖ 第一個是 56-bit 倒底是否真的很難解; 這次這個 DES 的題目到現在為止, 還沒人解開。 也許 RSA 是想向美國政府證明 56-bit 還是不夠; 也許是要給大家比較一下 DES 和 RC5 哪一個比較難試出 key。 試 key space 中所有的 key 來『解解看』, 是最簡單的方法, 所以就有一些單位自己寫出 server 程式, 召集其他人一起來試 key。 在非美國地區, 我們可以參加的一個 server 是瑞典的 SolNET, 他們提供了各平台的 des-client 程式, 現在台灣校園網路蠻多人跑得蠻勤的。

不過, 台灣的學生在發現到、參與這個活動時, 好像沒想得太多。 校園網路中, 有蠻多學生的電腦是不關機的, 更重要的是他們的電腦 CPU 好像也蠻閒的。 跑個 des-client, 一來看看自己電腦的速度, 二來 SolNET 會對各地區的解碼進度與情況做各種比較, 放在 www 上給大家看, 每半小時更新。 美國政府對於編碼法的輸出限制問題, 好像也和我們沒啥關係, 反而是這些比較、排名對我們來得更重要。 這個排名, 有依 domain name 的解 key 總和來排名的, 也有獨立機器解 key 的速度排名等等。

這個熱潮大約是在四月中的時候, 由清大吹向交大來了。 不甘示弱的交大同學們, 心想『全交大有近萬台的電腦』, 怎麼能不上榜呢﹖ 於是在 NCTU 板一些人的鼓吹之下, 交大有愈來愈多的人開始跑起 des-client 來了; 因為 SolNET 提供了各平台的 client 程式, 所以不管是 WinNT, 95, Linux, FreeBSD 等等, 通通都可以『動員』起來一起解。 於是, 同學中也有人是每半個小時就 reload 該排名的網頁, 看看 nctu.edu.tw 排名上升了沒, 看看 edu.tw 排名上升了沒, 看看 Taiwan 什麼時候可以再爬一個名次...... 感覺上像極了在看股市走向一般; 大家一起合力把自己所在 domain 的名次往上拱, 也是一種樂趣及快感吧。

當然啦, 看到交大在短短的一兩週以內, 就有斐然的成績: level 3 domains 的第一名, 各校也開始動了起來。 於是有愈來愈多的台灣學校 domain 也紛紛進榜 Top 20, 不得不令咱 edu.tw 及 SolNET 正視一個問題: 如果在台灣也能有一個 key server(slave server), 那網路的 delay 問題就會減少很多。 在筆者和該負責人的洽談之下, 促成了在交大資科 keymaster.cis.nctu.edu.tw 的架設, 也令台灣解 key 速度更快了。 至於該排名的網頁, 筆者也有定時 mirror 回來, 以減少大家的痛苦 (筆者按: 從台灣到瑞典的網路速度是很慢的)。

熱潮過了沒﹖看來是還沒, 不過這就像是在玩新奇的事物一樣, 有些人一開始是很專心的在玩 des-client, 一但看到『能拿第一名的都拿到了』之後, 就又回去做自己的正事去了。 現在咱台灣地區 domain 解 key 的進度還是名列前矛啦, 但真正還乖乖在跑 des-client 的機器, 可能剩那些閒得發慌的吧﹖

也許有人要說『這真是三分鐘熱度啊』。 不過, 這個活動和我們台灣有切身的關係嗎﹖ 自己的電腦畢竟還是有正事要做。 在心態上, 人家是希望能借用各位 CPU 閒置的時間來幫忙解 key; 不過咱們好像是一頭熱的樣子, 甚至有人是『全心全力』地跑 des-client。 獎金﹖ 這個得獎的機率就好比在街上走路不幸被外星隕石砸到一樣地小; SolNET 提供 10% 的獎金給那位正好解到 key 的人, 也就是 1000 美金。 這樣看來, 得到錢的期望值幾乎等於零。 無怪乎大家在想的事, 大多只是單純的排名, 順便提升提升名氣罷了。

其實還是有人在想些別的事。 為何咱們不自己也來搞個 server 召集台灣人來解這個 Challenge 呢﹖ 問題是在是有沒有人懂得怎麼寫, 因為 DES 編碼法的 source code 美國是禁止輸出的; 人家 SolNET 自己寫出來了, 我們呢﹖

其實要再來熱一次也不是不可能; 第三名的 Germany 現在的解 key 速度已經比 Taiwan 快了 (應該說是 Taiwan 的速度變慢了不少)。 也許在我們的名次掉下來時, 會產生一種『排行榜保衛戰』的新刺激吧。