跳轉到

一份英文密語詞表裡的 292 個亞洲外來語,是怎麼選出來的

我們是一群關心匿名網路與網路自由的志工,從台灣出發,維運文件站。社群做了一份 7776 字的英文密語詞表 asian-diceware,可以直接替換 EFF 的 Large Wordlist,差別在裡面固定收 292 個已經進入英文字典的亞洲外來語,tofuoolongbobakimchi 都在其中。

站上的工具頁已經寫過怎麼用它,小工具區的密語產生器也可以直接按。以下補上另一半,選字的過程,以及過程中擋掉了什麼。

一份英文密語詞表裡的 292 個亞洲外來語

為什麼一份英文詞表需要亞洲味

密語(passphrase)的做法是擲骰子從一份固定的詞表抽出幾個英文字,用符號接起來當密碼。強度來自抽字的過程夠隨機,跟抽到哪些字無關。既然強度跟用字無關,換掉詞表的內容有什麼意義?

意義在抄得下來、唸得回去。密語真正被用到的場合是密碼管理器的主密碼、全碟加密的口令、要在電視或遊戲主機上一個字一個字敲進去的 Wi-Fi 密碼,全都需仰賴人腦記住、人手輸入。EFF 那份詞表挑字時避開難拼字、髒話與容易混淆的同音字,理由正在於此1

對在台灣、香港與亞洲各地生活的人來說,oolongoolite 好認,ramenramekin 好記。抽到一個你天天在用的字,抄寫與回想的錯誤率就會下降。換掉詞表內容的理由僅止於此,密語強度一分一毫都沒有變。

詞表要能跟 EFF 那一份直接對換

第一條規則先定下來,詞表要剛好 7776 個字,一個不多一個不少。

7776 是 6 的 5 次方,代表擲 5 顆骰子讀成一個五位數,剛好對應到表上唯一一個字。每個字貢獻 log2(7776) ≈ 12.925 bits,六個字約 77.5 bits1。字數維持在 7776,asian-diceware 就是 EFF Large Wordlist 的直接替代品,任何原本用 EFF 詞表的流程換過來都不必改動,強度也完全一致。

數字固定之後,選字就變成一個名額有限的問題。292 個亞洲外來語占掉 292 個名額,剩下 7484 個名額用最高頻、好拼寫的常見英文字填滿。名額有限是後面每一個取捨的來源。

292 個字的來源分布,跟做的人原本預期的不一樣

詞表從台灣出發,直覺會以為華語來源的字最多。實際查完字典之後的分布如下:

來源語言 字數 例字
日語 102 sushiramentofumatchakaraoketsunamiemojiumami
南亞與梵語 91 yogakarmaguruavatarchaimasalabazaarcheetah
馬來與東南亞 39 bamboocurrymangoduriansataygeckoshampoojungle
韓語 35 kimchibibimbapsojuhangultaekwondomukbangbingsu
華語 16 typhoonoolongpinyinbobalycheemahjongqigong
粵語 8 wokwontonhoisinkumquatloquatcheongsamlongan
閩南語 1 ketchup

日語 102 個,南亞與梵語 91 個,兩者加起來超過總數的六成。華語只有 16 個,閩南語只有 ketchup 一個。

分布記錄的是英語實際吸收了什麼,不記錄我們希望它吸收什麼。日本料理、瑜伽與印度香料進入英語世界的時間長、管道多,累積下來的詞就多。韓語那 35 個字裡有不少是近年才進 OED 的,來自 2021、2024 與 2026 幾批 K-culture 收詞。華語的 16 個字多半年代久遠,typhoonginsengkowtow 都是幾百年前的貿易與外交留下來的。

台灣的味道就藏在那 16 個字裡:oolong(烏龍茶)、boba(珍珠奶茶,源自台灣)、typhoon(颱風)、pinyin(拼音)。加上唯一那個閩南語來源的 ketchup,番茄醬的英文可以一路追回閩南語,字源很多人不知道。

還有一批字大概沒人會猜到是亞洲外來語:tycoonhonchoshampoobungalowjunglelootthugatollgeckocheetahgongdinghymongoose。它們每天都有人在用,來歷早就融進英語裡了。

選字的兩個限制

只收已經進字典、寫成一個單字的詞

feng shuikung fudim sum 三個詞在英語世界的知名度都不低,全部沒收。理由是中間有空格。

密語的組成方式是把抽到的字用 - 之類的符號接起來,抽到一個帶空格的詞,整組密語的斷詞就會產生歧義,抄寫、口述與輸入都會出錯。詞表的價值在於抄得下來、唸得回去,一個會讓人抄錯的詞不管多有代表性都不能收。

字典背書也是硬條件,292 個字全部在 OED、Merriam-Webster 或 Cambridge 查證過。硬條件擋掉的是「我覺得這個字英語圈應該懂」的判斷,那種判斷通常是錯的。

不自己音譯華語

另一個選項是自行音譯,把常見的華語詞轉寫成英文字母收進詞表,華語來源的比例馬上就能拉高。我們沒有走那條路。

台灣同時流通漢語拼音、威妥瑪與通用拼音幾套系統,香港另有粵語拼音(Jyutping)。同一個音在不同系統下拼法不同,不同的音在同一個系統下又可能拼成相近的樣子。密語詞表最不能出現的就是歧義,一個字有兩種合理拼法,抄下來的人就有一半機率打不開自己的磁碟。

音譯本身有價值,只是屬於另一個專案,需要先把拼音標準的選擇處理完,不能夾帶在一份以英語為基底的詞表裡。

為什麼停在 292,不湊到一個整數比例

292 個字占 7776 的比例約 3.8%。數字看起來像是隨手取的,實際上是把可用的字都撈完之後剩下的結果。

把 OED、Merriam-Webster 與 Cambridge 查過一輪,台灣、香港與華語圈讀者認得出來的亞洲外來語大約 330 個。其中 292 個收進詞表,另外約 40 個標成備援,可辨識的字幾乎就到頂了。v0.4.0 把 161 個擴充到 292 個,擴充時的原則是好認優先,查得到但沒人認得的字寧可先擱著,也不為了湊成 4% 這種漂亮數字而硬塞2

想再往上拉,例如拉到 10%(約 778 個字),只有兩條路。第一條是拿冷僻詞充數,putteehowdahnilgaimaund 這類字多數人拼不出、唸不準也記不住,一收就破壞了詞表存在的理由。第二條是改用羅馬拼音的官話或注音音節,也就是上一節說過的另一個專案。

工具頁把比例比喻成啤酒的酒精濃度(ABV),一個刻意挑過的數字,不是稀釋出來的意外。比喻在最後一步失效:酒精濃度更高會有差別,亞洲外來語比例更高不會。無論抽到 tofu 還是 the,每個字都是一樣的 12.925 bits,強度只跟詞表恰好 7776 字、每次擲骰機率均勻有關。文化覆蓋跟好用性衝突的時候,好用性優先。

建置流程擋掉的東西

詞表由一條可重複執行的流程產出,六個階段依序是收集、正規化、品質過濾、修剪、組裝、驗證2

高頻英文字的排序來自 wordfreq 的一份留在倉庫裡的快照,只當排序依據用。品質過濾那一關把專有名詞、縮寫與雜訊清掉,它們看起來是英文字,實際上會讓密語變得難輸入或難辨認。

真正麻煩的是修剪那一關,處理的是前綴衝突。密語詞表有一個好性質,任何一個字都不會是另一個字的開頭,於是把幾個字接在一起,不必分隔符號也能唯一還原出原本的組合。要維持該性質,兩個字互為前綴時就得砍掉一個。

問題在於被砍掉的可能正好是釘住的亞洲外來語。流程的規則寫得很明確:

  • 釘住的字受保護,前綴衝突發生在釘住的字與一般字之間時,砍一般字
  • 兩個一般字相撞時,砍頻率較低的那個
  • 兩個釘住的字互相衝突時,建置直接失敗並印出衝突的那一對字,由人去改資料檔決定砍哪一個

第三條是刻意的。自動砍掉一個釘住的字,詞表會悄悄少一個亞洲外來語,沒有人會發現。建置失敗很吵,吵是必要的,少一個字的問題需要有人看到。

最後的驗證有八項驗收測試,另外用外部工具 wla 稽核一次,確認長度是 7776、可唯一解碼、每字熵值 12.925 bits、沒有重複字。驗證通過才會發版。

開源條件與怎麼拿

程式採 MIT,詞表資料採 CC-BY-4.0,原始碼與完整詞表都在 GitHub anoni-net/asian-diceware。頻率快照只當排序依據,收進詞表的字本身是常見英文詞彙。

CC-BY-4.0 的意思是你可以直接拿去印、去發、去改,保留出處標註即可。我們把 7776 字詞表排成一本 A5 擲骰查表小冊,含封面、使用教學、QR 與版權頁,PDF 可以直接下載,約 36 頁,用家裡或便利商店的印表機印 A4 對折成冊即可。

做小冊時碰到一個實際問題可以分享。PDF 裡的中文字型必須內嵌,否則換一台電腦開啟就會變成方框,而 macOS 內建的蘋方(PingFang)授權不允許為了再散布而內嵌。所以小冊改用可自由內嵌的開源字型 Noto Sans TC 與 JetBrains Mono,任何人拿去重印都不會遇上授權問題。要讓別人能自由再散布,字型也要一起處理。

社群參加工作坊、小聚與研討會等實體活動時,也會帶幾本印好的小冊到現場發送。在活動裡取得一本、或剛好遇到我們,非常歡迎過來聊聊,問密語、問匿名網路,或只是打聲招呼都可以。想知道我們最近會出現在哪,見活動參與

為什麼社群要做一份詞表

密語詞表看起來離匿名網路有一段距離,關聯在一個還在規劃的專案上。

Tor Project 有一個叫 AnonTicket 的服務,讓人不必提供 email 就能匿名向 Tor 的 GitLab 回報問題,帳號用系統產生的一組隨機英文字代碼辨識身分3。讓記者接收爆料的 SecureDrop 平台也一樣,為每位匿名來源產生一組七個隨機字的登入代碼4。代碼要好唸、好抄、不容易混淆,來源正是一份挑過的詞表。

社群接下來想做一個類似 AnonTicket 的匿名服務平台,還在規劃階段。asian-diceware 就是為了當那種服務的代碼字源而準備的,順便先變成一份現在就能用的密語詞表。要在台灣做一個不必留下 email 的匿名回報管道,詞表是其中一塊材料。

相關閱讀


  1. EFF Dice-Generated Passphrases - Electronic Frontier Foundation 

  2. anoni-net/asian-dicewareREADME.mdSPEC.md,v0.4.0(2026-06-25 發布) 

  3. Anonymous GitLab Ticketing: An Exciting New Project at Tor - The Tor Project 

  4. SecureDrop - Freedom of the Press Foundation