Skyfaring
Bletchley Park 展出的 Bombe 復原機,正面成排的紅黃色轉輪特寫
圖片:mendhak, Wikimedia Commons(CC BY-SA 2.0)
資訊史二戰密碼學標準化英國

每本書封底的 ISBN,為什麼是破解 Enigma 的密碼分析員設計的?

11 是質數,所以模 11 的加權和抓得到所有的單碼打錯,也抓得到所有的相鄰兩碼對調。2007 年 ISBN 為了跟 EAN-13 條碼相容改成模 10,相鄰對調的偵錯率從 100% 掉到 88.9%。
AI 初稿 / skyfaring 編輯校正發布:2026年9月8日閱讀約 6 分鐘— 次瀏覽

1942 年,貝爾法斯特女王大學的數學系畢業生 Frederic Gordon Foster 收到一份不能對外說明內容的工作。地點在白金漢郡一座叫 Bletchley Park 的莊園,招募他的是 MI6。

到了那裡,他被分到一間大房間,一張拼裝的長桌。桌上是攔截下來的德軍加密電文。他和同事每天做的事,是在密文裡面找德軍發報員打錯的地方。趕時間、疲勞、每天用同一句開頭問候語,這些狀況都會在密文裡留下規律。做久了,他認得出個別發報員的手法。

他形容這份工作很例行。

二十三年後,同一個人替英國書業設計了一組 9 位數的編號。那組編號現在印在全世界每一本書的封底。

1942 年進 Bletchley Park 的 Gordon Foster,戰爭結束後才第一次見到圖靈。

Foster 1921 年 2 月 24 日生於貝爾法斯特。1939 年他進女王大學時還不知道要讀什麼,試過醫科,發現自己既不喜歡待實驗室也不喜歡解剖小動物,最後選了文學士、主修數學。1942 年畢業,人幾乎立刻就到了 Bletchley Park。他經手的是德國陸軍的 Enigma、德國海軍代號 Shark 的四轉子版本,也碰過日本海軍的密碼。

戰爭結束後,1950 年他拿到獎學金,去牛津 Magdalen College 讀博士,1952 年完成,題目是機率論裡的幾個問題。

讀博期間的 1951 年,他去聽了美國數學家 Norbert Wiener 的一場演講。直接的後果是曼徹斯特大學的統計學教授邀他過去講一場,接待的人告訴他圖靈就在校內。他在 Bletchley Park 本來就屬於圖靈領導的團隊,整場戰爭卻沒見過本人,兩人到這時才第一次碰面。圖靈帶他看了自己參與開發的 Manchester Mark I,那次見面重新點燃了他對電腦的興趣。

1950 年代他進倫敦政經學院,1964 年當上計算方法講座教授。

隔年,英國書業找上他。

1965 年 W.H. Smith 要蓋電腦化倉庫,缺一個機器讀得懂的書號。

W.H. Smith 是當時英國最大的單一圖書零售商。1965 年,公司宣布要在 1967 年啟用電腦化倉庫。

倉庫要電腦化,庫存系統就得能唯一指認一本書。當時的做法是靠書名、作者、出版社、版次、裝訂形式湊成一串描述,每家出版社又各有各的內部目錄編號。同一本書在不同人的帳上長得不一樣,訂貨、出貨、對帳都要靠人去比對文字。

W.H. Smith 需要的是一組短的、純數字的、能直接餵進主機的識別碼。多數記載說,1965 年委託當時在倫敦政經學院的 Foster 來設計的就是這家公司;都柏林聖三一學院(Trinity College Dublin)自己的校史則說,1966 年找 Foster 做出版社庫存編碼的是出版商 Wiley,W.H. Smith 當時另外在做自己的一套。

兩邊都記載到,英國出版商協會(Publishers Association)在 1966 年啟動了全書業統一編號的評估,最後收斂到同一套方案。

1967 年英國先上線 9 碼 SBN,1970 年 ISO 2108 把它變成 ISBN。

Foster 的報告《Standard Numbering in the Book Trade》由出版商協會在 1967 年出版,系統本身在 1966 年就完成,1967 年在英國書業上線,名字叫標準書號(Standard Book Numbering,SBN)。

SBN 是 9 位數:前面幾碼是出版社,中間幾碼是這家出版社的第幾本書,最後一碼是檢查碼。出版社規模不同,分到的位數也不同,大社的出版社碼短、書號位數多,小社反過來。這個設計讓已經在用自家編號的出版社可以把舊碼接進來。

接著國際標準化組織來問,這套能不能改成國際版。編號從 9 碼加到 10 碼,1970 年發布為 ISO 2108,也就是 10 碼 ISBN。照聖三一學院的記載,這一步是 ISO 回頭請 Foster 自己做的。轉換方式是在 9 碼的 SBN 前面補一個 0,那個 0 代表英語出版區。英國書業自己的 9 碼 SBN 用到 1974 年才全面換掉。

把 SBN 推成國際標準還有兩個人出力。英國的 David Whitaker 主持 ISO 第一個 ISBN 工作小組,參與起草 ISO 2108;他家族的 J. Whitaker & Sons 是全世界第一家 SBN 代理機構,他後來被稱作 ISBN 之父。美國那邊是 Emery Koltay,1968 年把這套帶進美國,後來主管美國的 ISBN 代理機構 R. R. Bowker。ISO 2108 定下來的基本結構沿用到今天,200 多個國家與地區在用。

SBN 在英國上線那年,Foster 在都柏林的職位還掛著客座。聖三一學院 1965 年設了統計學講座,要找一個夠份量的人來領這個新單位,1966 年任命他為第一任講座,也是校史上第一位統計學教授。1967 年到 1968 年初他以客座身分兼著做,1968 年才轉正式教授,1971 年獲選為學院院士。

為什麼 ISBN 的檢查碼用模 11,而不是模 10?

10 碼 ISBN 的檢查碼是這樣算的:前 9 碼分別乘上 10、9、8、7、6、5、4、3、2,加總以後除以 11 取餘數,檢查碼等於 11 減掉餘數。餘數為 0 時檢查碼寫 0,需要寫 10 的時候用字母 X 代替。

拿 0-306-40615-2 來算。前 9 碼 0、3、0、6、4、0、6、1、5 乘上對應權重,得到 0、27、0、42、24、0、24、3、10,加起來 130。130 除以 11 餘 9,11 減 9 等於 2,跟印在書上的檢查碼一樣。

選 11 的理由在於它是質數。單獨改錯一碼時,那一位的加權值一定會變,餘數跟著變,錯誤跑不掉。相鄰兩碼對調時,兩碼的權重只差 1,算下來加權和的變化量剛好等於這兩碼的差,最多 9,不可能是 11 的倍數,餘數同樣會變。這兩類是人工輸入最常犯的錯,模 11 的方案把它們全部堵住。

還是拿剛才那組來看。把 0-306-40615-2 前 9 碼裡的 6 和 1 對調,順序變成 0、3、0、6、4、0、1、6、5,重算加權和是 125,除以 11 餘 4,檢查碼應該是 7,跟書上印的 2 對不上。系統當場退件。

一個從 1942 年起在 Bletchley Park 靠找人為輸入錯誤吃飯的人,替書業設計編號時,第一件在意的事是怎麼自動抓到人為輸入錯誤。

2007 年改成 13 碼之後,ISBN 抓錯的能力退了一步。

2005 年前後,部分類別的 10 碼 ISBN 預計會不夠用,零售端也希望書號能直接當商品條碼用。ISO 的解法是併進歐洲商品編號(EAN-13)體系:舊的 10 碼 ISBN 前面加上 978 這個「Bookland」前綴,湊成 13 碼。978 用完之後啟用 979,美國從 2020 年開始發 979 開頭的號。新制從 2007 年 1 月 1 日生效。

代價出在檢查碼。EAN-13 的檢查碼用的是模 10,權重在 1 和 3 之間交替。相鄰兩碼對調時,加權和的變化量是兩碼差值的 2 倍;只要差值剛好是 5,變化量就是 10,除以 10 之後餘數不變,檢查碼一模一樣。0 跟 5、1 跟 6、2 跟 7、3 跟 8、4 跟 9,這五組相鄰對調全部溜過去。相鄰對調的偵錯率從 100% 掉到 88.9%。

把前面那個例子換成 13 碼版本就看得到。978-0-306-40615-7 是合法的 ISBN;把倒數第三、第四碼的 6 和 1 對調,變成 978-0-306-40165-7,用模 10 重算,檢查碼依然是 7。同一個錯誤,10 碼制擋得下來,13 碼制放行。

條碼掃描取代人工鍵入之後,相鄰對調早就不是主要的錯誤來源。換來的是書號能跟全球零售系統共用一套編碼,代價是相鄰對調的偵錯率掉 11.1 個百分點。ISO 在 2007 年的取捨站得住腳。

只是那個從 1966 年帶到 2007 年的性質,確實被換掉了。四十一年後,書業決定人打字會不會出錯這個問題,交給機器就好。

Foster 在 2010 年 12 月 20 日於都柏林過世,享年 89 歲。那時 13 碼制已經上路三年,新發的書號最後一碼,演算法已經不是他那個。

分享XFacebookLINE

相關文章

一滴黑色墨水在清水中緩緩擴散
AI

偷得走答案,卻練不出模型:當 AI 公司在輸出裡下毒。

上一篇說「在權重裡埋追蹤器」做不到,因為模型是一堆數字,不是會自己跑的程式。有人追問:那對蒸餾用的資料下毒呢。這一問正好打在防守方唯一握得住的地方,輸出。把答案調成既能用又會教壞山寨模型,或讓偷去的答案帶著可追溯的胎記,這兩條防線在 2024 到 2025 年真的被做了出來,也真的已經有人在拆。

2026年6月14日5 分鐘·
一扇厚重的銀行金庫鋼門,中央是大型轉盤式密碼鎖
AI

偷得走,卻用不了:AI 公司能用「假模型」反追蹤竊賊嗎?

給竊賊鋪一條錯的路,讓他偷走一個埋了追蹤器的假模型,反過來監看他怎麼下手。這個諜報劇本聽起來很帥,卻在最核心的地方藏了一個技術誤會。把濾鏡拿掉,AI 公司真正在用的防竊邏輯,其實無聊得多。

2026年6月14日7 分鐘·
籃球比賽中多名球員在場上競逐,對應 GameSense 多目標追蹤的研究場景
電腦視覺

球場上有十個人在跑:AI 如何記住每一個的身分

多目標追蹤在籃球場景裡有個核心難題:十個人穿著相似球衣,掩護時兩人緊貼,鏡頭跟拍時模糊抖動。GameSense 用雙層記憶機制解決身分連貫的問題,追蹤指標在 SportsMOT 上超越所有競品。

2026年5月26日4 分鐘·
一群鳥類以 V 字編隊在空中飛行
電腦視覺

像鳥群一樣飛:不靠 GPS,無人機怎麼知道自己在哪裡?

一篇來自維吉尼亞聯邦大學的研究,讓無人機群像椋鳥群一樣,只用眼睛維持隊形;另一組無人機則互相交換地圖,在沒有 GPS 的隧道裡定位自己。兩件事合在一起,才是完整的自主飛行。

2026年5月12日4 分鐘·