巨人機:第一臺可編程電子計算機

ABC之后,歷史仍未安排ENIAC出場芯侥。1943年,電子時期的第2個重要角色誕生在圖靈所處的布萊切利乳讥。

研制背景

1941年6月柱查,意識到謎機可能已被破解的德軍啟用了一種復(fù)雜度更高的加密系統(tǒng),并且這一次英國沒能拿到相應(yīng)的機器云石,布萊切利的密碼學(xué)們要和一個完全未知的強大敵人抗?fàn)幇ぁT诼犅劦聡擞靡环N海魚的名字稱呼這套系統(tǒng)后,布萊切利也給它起了個綽號——“金槍魚”汹忠。

1941年8月淋硝,“金槍魚”的操作員由于一時疏忽將同一條信息發(fā)送了兩遍,盡管兩條密文并不一樣宽菜,但經(jīng)驗豐富的布萊切利在截獲之后立馬意識到它們指向同一條明文谣膳。這個小小的馬腳,被這里絕頂聰明的密碼學(xué)家們牢牢抓住铅乡,真可謂一葉知秋继谚,他們據(jù)此精準(zhǔn)地推測出“金槍魚”的組成結(jié)構(gòu)和工作原理。它包括12個謎機那樣的轉(zhuǎn)輪阵幸,每個轉(zhuǎn)輪的旋轉(zhuǎn)模式各不相同花履,每個轉(zhuǎn)輪上導(dǎo)電觸點的數(shù)量也不一樣,導(dǎo)電觸點可以在接通和斷開兩個狀態(tài)之間切換侨嘀,使用前可改變各觸點的狀態(tài)和轉(zhuǎn)輪的起始位置臭挽。

金槍魚(圖片來自維基百科)
金槍魚轉(zhuǎn)輪導(dǎo)電觸點特寫(圖片來自維基百科)

和謎機的字符級加密不同,“金槍魚”進(jìn)行的是編碼級加密咬腕,當(dāng)時的電傳打字機使用的ITA2碼制(國際電報字母表第2號)用5位二進(jìn)制對單個字符進(jìn)行編碼欢峰,“金槍魚”將這些二進(jìn)制位與特定的二進(jìn)制密鑰進(jìn)行異或運算后生成密文。異或是一種特別的邏輯運算涨共,它是可逆的纽帖,明文和密鑰異或之后生成密文,反之举反,密文和密鑰異或之后又可以得到明文懊直,這就是“金槍魚”加密和解密的基本原理。

ITA2 秘鑰 密文
0 0 0
0 1 1
1 0 1
1 1 0

破解“金槍魚”火鼻,不僅要猜出轉(zhuǎn)輪上所有導(dǎo)電觸點的通斷狀態(tài)室囊,還要猜出各轉(zhuǎn)輪的起始位置雕崩,其組合數(shù)量之巨,不僅遠(yuǎn)遠(yuǎn)超出了人力處理的能力范圍融撞,也令炸彈機這類機電設(shè)備束手無策盼铁。布萊切利急需一種更高速的解密機器,電子管方案成為不二之選尝偎。

研制電子計算機的重任落在了位于倫敦西北角的郵局研究站身上饶火,該研究站有著豐富的電子通信經(jīng)驗,在布萊切利的部分密碼學(xué)家對電子管的可靠性還抱有疑慮的時候致扯,郵局研究站的工程師早已對電子管的大規(guī)模應(yīng)用駕輕就熟肤寝。1943年2月,在圖靈的推薦下抖僵,來自研究站的托馬斯·弗勞爾斯(Thomas Harold Flowers)扛起這面大旗鲤看,在布萊切利一部分人“等機器造好戰(zhàn)爭怕是早就結(jié)束了”的冷嘲熱諷中,帶領(lǐng)50人的團(tuán)隊僅用了11個月就完成了第一臺原型耍群。1944年1月刨摩,當(dāng)這臺包含了1500~1600個電子管的“龐然大物”來到布萊切利,密碼學(xué)家們被深深震撼了世吨,它比他們之前使用過的任何計算設(shè)備都龐大得多,因而被形象地稱為巨人機(Colossus)呻征。

托馬斯·哈羅德·弗勞爾斯(Thomas Harold Flowers)耘婚,1905-1998,英國工程師陆赋。(圖片來自維基百科)

組成結(jié)構(gòu)與工作原理

巨人機有二型沐祷,1943年的一型為Mark 1,其建造過程中攒岛,弗勞爾斯就已經(jīng)開始了第二型Mark 2的設(shè)計赖临。Mark 2包含2400個電子管,速度更快灾锯,功能更強兢榨,截止歐洲勝利日(1945年5月8日)共建有10臺之多∷骋可惜的是吵聪,出于保密考慮,這11臺機器連同其圖紙都在60年代被下令焚毀兼雄,如今我們在布萊切利的英國國家計算博物館所能見到的吟逝,是后人在1992~2008年耗時16年重建的復(fù)制品。

巨人機Mark 2復(fù)制品(原圖來自維基百科)

巨人機使用穿孔紙帶輸入密文赦肋,紙帶每行有5個孔位块攒,對應(yīng)ITA2中的5位二進(jìn)制励稳。紙帶長約61米,穿孔25000行囱井。共設(shè)有兩個紙帶支架驹尼,在一條紙帶工作的時候,操作人員可以準(zhǔn)備好下一條紙帶琅绅,交替使用扶欣,節(jié)省紙帶更換時間。由于機器內(nèi)部沒有數(shù)據(jù)存儲模塊千扶,紙帶的頭尾相接料祠,形成環(huán)狀,以便循環(huán)讀取澎羞。紙帶的讀取速度十分驚人——每秒5000行[1]髓绽,工作時發(fā)出湍急的流水聲,紙帶上的孔洞以近44公里的時速飛馳妆绞。這得益于光電技術(shù)的應(yīng)用顺呕,在紙帶的一側(cè)安裝一個燈,另一側(cè)安裝5個并排的光電探測器[2]括饶,一個探測器負(fù)責(zé)盯住一個孔位株茶。當(dāng)燈光穿過某個孔洞,其對應(yīng)的光電探測器就能迅速發(fā)出電流脈沖图焰,產(chǎn)生二進(jìn)制信號1启盛;當(dāng)燈光被未穿孔的孔位遮擋,對應(yīng)的探測器就產(chǎn)生二進(jìn)制信號0技羔。

巨人機基于圖靈方法[3]僵闯,用電路模擬“金槍魚”的轉(zhuǎn)輪位置及其導(dǎo)電觸點的通斷狀態(tài)。密文流入機器后藤滥,經(jīng)過一系列以異或為主鳖粟,與、或拙绊、非為輔的邏輯運算向图,最終由電動打字機輸出結(jié)果。這個結(jié)果當(dāng)然不可能就是明文时呀,而是各種統(tǒng)計數(shù)據(jù)张漂,比如某個字符出現(xiàn)的次數(shù),或者某些數(shù)值滿足某種邏輯條件的次數(shù)谨娜,有點像現(xiàn)在的數(shù)據(jù)挖掘航攒。機器內(nèi)有5個電子計數(shù)器,可同時統(tǒng)計5項數(shù)據(jù)趴梢。密碼學(xué)家根據(jù)統(tǒng)計結(jié)果找到密文中暗藏的線索漠畜,調(diào)整機器程序币他,得到新的統(tǒng)計結(jié)果后繼續(xù)分析,如此往復(fù)憔狞,一步步逼近最終的正確答案蝴悉。

巨人機的可編程性是靠開關(guān)、旋鈕和接插線板實現(xiàn)的瘾敢。其開關(guān)可以上下?lián)軇优墓冢謩e接通兩個不同的功能線路,多數(shù)開關(guān)還可以被撥到中間簇抵,使兩個線路都斷開庆杜;其旋鈕用于置數(shù),10個位置依次對應(yīng)0~9碟摆,10條數(shù)值線路像10位英俊的紳士圍繞著旋鈕女士晃财,一齊向她伸出求舞之手,而旋鈕總會牽手他們中的一位典蜕。

巨人機的編程本質(zhì)上是一組選擇断盛,選擇每個開關(guān)和旋鈕的位置,選擇接插線板上每個導(dǎo)電孔的通斷愉舔。這些選擇對象分布于多塊操控面板之上钢猛,下面按從右至左的順序簡單介紹一下它們的功能。

范圍設(shè)置面板轩缤,包含3組旋鈕(每個旋鈕有10個位置)厢洞,每組可以設(shè)置一個4位十進(jìn)制數(shù)。其中2組用于設(shè)置紙帶的讀取范圍(起止位置分別用4位十進(jìn)制數(shù)表示)典奉,當(dāng)使用者比較關(guān)注紙帶上的某一段密文時,可以讓機器循環(huán)讀取這一段丧叽,而不是整條紙帶卫玖。
信號選擇面板,包含16個開關(guān)踊淳,可以對輸入信號進(jìn)行篩選假瞬,比如選擇使用哪一個支架上的紙帶,又比如選擇將數(shù)據(jù)本身還是數(shù)據(jù)的變化量(圖靈方法需要的參數(shù))傳送給邏輯運算單元迂尝。
統(tǒng)計設(shè)置面板脱茉,包含191個開關(guān),左上區(qū)域5列黑色開關(guān)用于指定需要統(tǒng)計的字符垄开,右上區(qū)域5列灰色開關(guān)用于指定每個統(tǒng)計值所對應(yīng)的計數(shù)器琴许,左下區(qū)域5列紅色開關(guān)可以設(shè)置統(tǒng)計多個字符出現(xiàn)的次數(shù)總和,右下區(qū)域5列紅色開關(guān)用于指定這些總和統(tǒng)計值所對應(yīng)的計數(shù)器溉躲。
觸點設(shè)置面板榜田,為接插線面板益兄,包含10行槽位。第1箭券、3净捅、5、7辩块、9行用于設(shè)置“金槍魚”某5個轉(zhuǎn)輪上導(dǎo)電觸點的通斷狀態(tài)蛔六,1個槽位對應(yīng)1個觸點;第2废亭、4国章、6、8滔以、10行用于更復(fù)雜的模式捉腥。
轉(zhuǎn)輪設(shè)置面板,為接插線面板你画,包含12行槽位抵碟,用于設(shè)置“金槍魚”12個轉(zhuǎn)輪的起始位置,以第幾個觸點作為起始位置就在第幾個槽位插上插頭坏匪。
主控面板拟逮,包含40個開關(guān),有6種顏色适滓,用于設(shè)置機器的各種運作方式敦迄,比如設(shè)定“金槍魚”轉(zhuǎn)輪在什么條件下旋轉(zhuǎn)。
狀態(tài)顯示面板凭迹,包含上下2組小燈泡罚屋。上側(cè)一組包含10行小燈泡,用于顯示5個計數(shù)器的當(dāng)前值(每2行對應(yīng)1個計數(shù)器)嗅绸;下側(cè)一組包含12行小燈泡脾猛,用于顯示“金槍魚”12個轉(zhuǎn)輪的當(dāng)前位置,它們可能是靜止的鱼鸠,也可能不斷變化猛拴,取決于主控面板的設(shè)置。
閾值設(shè)置面板蚀狰,包含20個旋鈕和5個開關(guān)愉昆。機器的統(tǒng)計量很大,為便于分析麻蹋,可以設(shè)定統(tǒng)計值高于或低于某個閾值時才通過打字機輸出跛溉。每個計數(shù)器對應(yīng)4個旋鈕(閾值表示為4位十進(jìn)制數(shù))和1個開關(guān)(選擇“大于”還是“小于”)。

可見,巨人機的使用十分靈活而復(fù)雜倒谷,需要兩名操作人員協(xié)作完成蛛蒙。布萊切利雇傭了當(dāng)時皇家海軍女子勤務(wù)隊的成員操作機器,而密碼學(xué)家則專注于算法設(shè)計和結(jié)果分析渤愁。

后話

1944年6月1日牵祟,第一臺Mark 2巨人機正式交付,如期趕上了重大的諾曼底登陸戰(zhàn)役抖格。德軍萬萬沒有想到诺苹,他們引以為傲的機電式“金槍魚”,面對的是領(lǐng)先了一個時代的電子計算機雹拄。巨人機不負(fù)眾望破解了德軍密碼收奔,為戰(zhàn)役的最終勝利做出了不可磨滅的貢獻(xiàn)怒详。

由于涉密续挟,巨人機的知名度比ABC更低,其存在直到70年代中期才公開挠轴。1983年势篡,78歲的弗勞爾斯專門撰寫了一篇論文——《巨人機的設(shè)計》翩肌,他發(fā)現(xiàn)自己已經(jīng)很難記起機器的許多細(xì)節(jié),在采訪了當(dāng)時團(tuán)隊中一部分幸存的工程師后才得以寫成禁悠。連建造者的記憶都在淡卻念祭,更別提后人粗淺的了解了。

巨人機是世界上第一臺可編程計算機碍侦,但它是專用的粱坤,不具有圖靈完備性。但一位舊金山大學(xué)的教授于2009年證明瓷产,將10臺巨人機以某種方式組合之后可以達(dá)到圖靈完備站玄。但這種證明其實意義并不大,巨人機本身是為完成特定任務(wù)而設(shè)計的濒旦,弗勞爾斯也承認(rèn)在建造它時從沒想過現(xiàn)代計算機是什么模樣的蜒什,甚至還沒聽說過有用“computer”來稱呼機器的做法。

盡管如此疤估,巨人機對電子計算的探索十分成功,為英國戰(zhàn)后的計算機研制做好準(zhǔn)備霎冯。

參考文獻(xiàn)


  1. 測試時铃拇,工程師們發(fā)現(xiàn)紙的韌度最多可支撐每秒9700行的讀取速度。 ?

  2. 光電探測器可以有多種類型沈撞,比如光敏電阻(電阻值遇光照迅速減锌独蟆)和光電管(類似電子管,只是激發(fā)陰極電子的不是熱而是光)缠俺,都是基于光電效應(yīng)實現(xiàn)的显晶。 ?

  3. 由于圖靈極高的歷史地位贷岸,有些文獻(xiàn)會誤認(rèn)為巨人機是圖靈的作品,其實圖靈并沒有直接參與巨人機的建造磷雇,只是機器的實現(xiàn)用到了他的圖靈方法偿警。 ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者唯笙。
  • 序言:七十年代末螟蒸,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子崩掘,更是在濱河造成了極大的恐慌七嫌,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件苞慢,死亡現(xiàn)場離奇詭異诵原,居然都是意外死亡,警方通過查閱死者的電腦和手機挽放,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進(jìn)店門绍赛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人骂维,你說我怎么就攤上這事惹资。” “怎么了航闺?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵褪测,是天一觀的道長。 經(jīng)常有香客問我潦刃,道長侮措,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任乖杠,我火速辦了婚禮分扎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘胧洒。我一直安慰自己畏吓,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布卫漫。 她就那樣靜靜地躺著菲饼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪列赎。 梳的紋絲不亂的頭發(fā)上宏悦,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天,我揣著相機與錄音,去河邊找鬼饼煞。 笑死源葫,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的砖瞧。 我是一名探鬼主播息堂,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼芭届!你這毒婦竟也來了储矩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤褂乍,失蹤者是張志新(化名)和其女友劉穎持隧,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體逃片,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡屡拨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了褥实。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呀狼。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖损离,靈堂內(nèi)的尸體忽然破棺而出哥艇,到底是詐尸還是另有隱情,我是刑警寧澤僻澎,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布貌踏,位于F島的核電站,受9級特大地震影響窟勃,放射性物質(zhì)發(fā)生泄漏祖乳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一秉氧、第九天 我趴在偏房一處隱蔽的房頂上張望眷昆。 院中可真熱鬧,春花似錦汁咏、人聲如沸亚斋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽帅刊。三九已至,卻和暖如春轰驳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工级解, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留冒黑,地道東北人。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓勤哗,卻偏偏與公主長得像抡爹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子芒划,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 最近看到的喪新聞比較多冬竟,名人的生病去世,老百姓坐公交車墜河民逼。生命這么脆弱泵殴,意外毫無先兆。 在這樣的生死面前 那些錢...
    娜娜_01d0閱讀 189評論 0 0
  • 近幾日肩疼。 在某個為錢所困的夜里輾轉(zhuǎn)反側(cè)著了涼疮鲫,剛開始有一點點疼吆你,也沒在意】》福可能最近天氣冷妇多,又加上有時候在戶外工...
    梨落清淺閱讀 372評論 1 2
  • 吃飯, 每天都要做的事燕侠, 一點兒也不可怕者祖, 打噴嚏, 有時候就會遇到贬循, 也不可怕咸包, 但是, 吃著飯打噴嚏... 就...
    一朵像貓爪的云閱讀 41評論 0 2
  • 如果可以杖虾,我不想再回到一千零七千米的海底烂瘫。 海底, 一千零七千米奇适。 仿佛跌落在一千零七千米的海底坟比, 我不知道這里有...
    Sandra辛林閱讀 192評論 0 3
  • 老巢樹上烏鴉叫 黃昏裡面響歌聲 荒野新墳晴天下 誰能渡過此劫生
    瘋?cè)?/span>閱讀 397評論 0 3