[古典密码] 隐写式单表替换密码

序言

标准式单表替换密码中,明文与密文均由 26 个字母构成,仅字母的对应顺序被重新调整。而另一种单表替换密码则另辟蹊径:它不再依赖标准字母表,而是将明文映射到自定义码表中 —— 替换对象可以是符号、数字、非拉丁字母,甚至图形。经此处理,密文会变成一串完全陌生的符号,持有对应码表者才能解密。这类密码常将明文隐藏在看似普通的文本或排版中,因此被称为隐写式单表替换密码(steganographic monoalphabetic substitution cipher)。

PS:当然,这也挡不住频率分析攻击 (˘•ω•˘)

1. 培根密码

1.1 加解密原理

培根密码(Bacon’s Cipher)是由法兰西斯·培根(Francis Bacon)在 16 世纪提出的一种加密方法。它将每个字母编码为由 5 个字符组成的字符串,每个字符使用两种形式区分(如 A 和 B、点与划、正体与斜体等),每 5 个字符表示一个字母。解密时按 5 位分组,根据映射表还原为原始字母。

本质上,培根密码是一种基于二进制的编码方式,只不过将传统的 0 和 1 替换为字母 a 和 b。该密码系统有两种主要的加密方式,分别对应两个不同的编码表。

第一种加密方式

字符 培根密码 字符 培根密码 字符 培根密码 字符 培根密码
A AAAAA G AABBA N ABBAA T BAABA
B AAAAB H AABBB O ABBAB U / V BAABB
C AAABA I / J ABAAA P ABBBA W BABAA
D AAABB K ABAAB Q ABBBB X BABAB
E AABAA L ABABA R BAAAA W BABBA
F AABAB M ABABB S BAAAB Z BABBB
表 1.1 24 个字母映射表

第二种加密方式

字符 培根密码 字符 培根密码 字符 培根密码 字符 培根密码
A AAAAA H AABBB O ABBBA U BABAA
B AAAAB I ABAAA P ABBBB V BABAB
C AAABA J ABAAB Q BAAAA W BABBA
D AAABB K ABABA R BAAAB X BABBB
E AABAA L ABABB S BAABA Y BBAAA
F AABAB M ABBAA T BAABB Z BBAAB
G AABBA N ABBAB
表 1.2 26 个字母映射表

代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
class BaconCipher:
"""培根密码加解密类"""
def __init__(self):
# 字符到培根密码的映射表(使用A和B表示)
self.char_to_bacon = {
'A': 'AAAAA', 'B': 'AAAAB', 'C': 'AAABA', 'D': 'AAABB', 'E': 'AABAA',
'F': 'AABAB', 'G': 'AABBA', 'H': 'AABBB', 'I': 'ABAAA', 'J': 'ABAAB',
'K': 'ABABA', 'L': 'ABABB', 'M': 'ABBAA', 'N': 'ABBAB', 'O': 'ABBBA',
'P': 'ABBBB', 'Q': 'BAAAA', 'R': 'BAAAB', 'S': 'BAABA', 'T': 'BAABB',
'U': 'BABAA', 'V': 'BABAB', 'W': 'BABBA', 'X': 'BABBB', 'Y': 'BBAAA',
'Z': 'BBAAB', # 传统培根密码中I和J、U和V通常共用编码
}
# 培根密码到字符的反向映射
self.bacon_to_char = {v: k for k, v in self.char_to_bacon.items()}

def encrypt(self, text: str) -> str:
"""加密"""
encrypted = []
for char in text:
if char.isalpha(): # 仅对字母进行加密
encrypted.append(self.char_to_bacon.get(char.upper(), ''))
else: # 非字母字符直接保留
encrypted.append(char)
return ''.join(encrypted)

def decrypt(self, bacon_code: str) -> str:
"""解密:按5位一组解析字母编码"""
decoded = []
current_code = '' # 用于累积5位培根码

for char in bacon_code:
if char in ('A', 'B'): # 属于培根码的字符
current_code += char
if len(current_code) == 5: # 凑够5位则解析
decoded.append(self.bacon_to_char.get(current_code, current_code))
current_code = ''
else: # 非培根码字符(标点、数字等)
# 先处理当前累积的编码(如果有)
if current_code:
decoded.append(self.bacon_to_char.get(current_code, current_code))
current_code = ''
decoded.append(char) # 直接保留非编码字符

# 处理剩余未解析的编码(若有)
if current_code:
decoded.append(self.bacon_to_char.get(current_code, current_code))

return ''.join(decoded)


if __name__ == '__main__':
orginal = 'Hello, I am DSTBP! 123'

bc = BaconCipher()
encrypted = bc.encrypt(orginal)
decrypted = bc.decrypt(encrypted)

print(f'原始文本:{orginal}')
print(f'加密后:{encrypted}')
print(f'解密后:{decrypted}')

'''
始文本:Hello, I am DSTBP! 123
加密后:AABBBAABAAABABBABABBABBBA, ABAAA AAAAAABBAA AAABBBAABABAABBAAAABABBBB! 123
解密后:HELLO, I AM DSTBP! 123
'''

2. 摩斯电码

2.1 编码原理

摩斯电码(Morse Code)相信许多人并不陌生,著名的“SOS”求救信号(三短三长三短)就源于它。摩斯密码是一种通过“通断”信号传递信息的编码系统,由美国人艾尔菲德・维尔和萨缪尔・摩尔斯于 1836 年发明。它使用一系列 点(·)划(—) 的组合来表示字母、数字和标点符号。

摩斯密码由两种基本信号构成:

  • 点(·):读作“滴”(dit),持续时间为 1 个单位(1t)
  • 划(—):读作“嗒”(dah),持续时间为 3 个单位(3t)

配合不同的间隔时间,摩斯码形成清晰的信息结构:

  • 点与划之间间隔 1t(字符内部间隔)
  • 字符之间间隔 3t
  • 单词之间间隔 7t
字符 电码符号 字符 电码符号 字符 电码符号 字符 电码符号
A ·— B —··· C —·—· D —··
E · F ··—· G ——· H ····
I ·· J ·——— K —·— L ·—··
M —— N —· O ——— P ·——·
Q ——·— R ·—· S ··· T
U ··— V ···— W ·—— X —··—
Y —·—— Z ——··
0 ————— 1 ·———— 2 ··——— 3 ···——
4 ····— 5 ····· 6 —···· 7 ——···
8 ———·· 9 ————·
. ·—·—·— : ———··· , ——··—— ; —·—·—·
? ··——·· = —···— ·————· / —··—·
! —·—·—— —····— _ ··——·— " ·—··—·
( —·——· ) —·——·— $ ···—··— & · ···
@ ·——·—·
表 2.1 摩斯电码表

为了方便记忆,有的人将摩尔斯电码改成二叉树布局,图中每一分叉的左支为点(·),右支为划(-),直到到达所需要表示的字符为止。

图 2.1 摩斯电码二叉树

由于摩斯码在传输中容易出现误差,且一些用途频繁的信息需要快速表达,因此摩斯系统中还引入了若干具有特定含义的缩写和固定组合,用于纠错、控制、确认或加速通信过程。

摩斯电码 明文 含义
·—·—· AR 停止,消息结束
·—··· AS 等待
—·— K 邀请发射信号(一般跟随 AR,表示“该你了”)
···—·— SK 终止,联络结束
—···— BT 分隔符
···—· 我将重新发送最后一个单词
·· ·· 同样
········ 错误
表 2.2 特殊摩斯电码表

补充:在代码或文本格式中表示摩斯密码时,通常使用空格分隔每个字母。但为了在网页或文件中更清晰地展示,也常使用斜杠(/)作为分隔符。例如,SOS 信号在摩斯码中为 ... --- ...,采用斜杠格式表示为:.../---/...

代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
class MorseCode:
"""摩斯密码加解密类"""

def __init__(self):
# 字符到摩斯码映射表
self.char_to_morse = {
'A': '.-', 'B': '-...', 'C': '-.-.', 'D': '-..', 'E': '.',
'F': '..-.', 'G': '--.', 'H': '....', 'I': '..', 'J': '.---',
'K': '-.-', 'L': '.-..', 'M': '--', 'N': '-.', 'O': '---',
'P': '.--.', 'Q': '--.-', 'R': '.-.', 'S': '...', 'T': '-',
'U': '..-', 'V': '...-', 'W': '.--', 'X': '-..-', 'Y': '-.--', 'Z': '--..',
'0': '-----', '1': '.----', '2': '..---', '3': '...--', '4': '....-',
'5': '.....', '6': '-....', '7': '--...', '8': '---..', '9': '----.',
'.': '.-.-.-', ',': '--..--', '?': '..--..', "'": '.----.', '!': '-.-.--',
'/': '-..-.', '(': '-.--.', ')': '-.--.-', '&': '.-...', ':': '---...',
';': '-.-.-.', '=': '-...-', '+': '.-.-.', '-': '-....-', '_': '..--.-',
'"': '.-..-.', '$': '...-..-', '@': '.--.-.', ' ': '/'
}
# 摩斯码到字符的反向映射
self.morse_to_char = {v: k for k, v in self.char_to_morse.items()}

def encrypt(self, text: str) -> str:
"""将普通文本加密为摩斯密码"""
return ' '.join(
self.char_to_morse.get(char.upper(), char) for char in text
)

def decrypt(self, morse_code: str) -> str:
"""将摩斯密码解密为普通文本"""
# 用空格分割每个摩斯字符
morse_list = morse_code.strip().split(' ')
decoded_chars = []

for code in morse_list:
if code == '/': # 单词分隔符
decoded_chars.append(' ')
else:
decoded_chars.append(self.morse_to_char.get(code, code)) # 转换或保留原样

return ''.join(decoded_chars)


if __name__ == "__main__":
plaintext = 'Hello, I am DSTBP! 123'
ciphertext = MorseCode().encrypt(plaintext)
decrypted = MorseCode().decrypt(ciphertext)
print(f"加密: {ciphertext}")
print(f"解密: {decrypted}")

'''
加密: .... . .-.. .-.. --- --..-- / .. / .- -- / -.. ... - -... .--. -.-.-- / .---- ..--- ...--
解密: HELLO, I AM DSTBP! 123
'''

3. 猪圈密码

猪圈密码,又称朱高密码、共济会密码或共济会员密码,是一种基于格形符号的字母替换加密方式。其主要形式包括传统猪圈密码和多种变体形式。

3.1 传统猪圈密码

图 3.1 传统猪圈密码对应表 1
图 3.2 传统猪圈密码对应表 2

3.2 变种猪圈密码

3.2.1 变种1

该变种的特点是在每个图案上添加一个小黑点,不同图案间的区别主要体现在黑点的位置。

图 3.3 猪圈密码变种 1

3.2.2 变种2

该变种与传统猪圈密码的区别在于第十至第二十二个字母的排列方式有所不同。

图 3.4 猪圈密码变种 2

3.2.3 变种3

该变种又称圣堂武士密码(Templar Cipher),采用更复杂的几何图形设计,如三角形、菱形等,用于替代传统猪圈密码中的基本符号。

图 3.5 圣堂武士密码

4. 标准银河字母

标准银河字母密码(Standard Galactic Alphabet, SGA),源自 1990 年代的科幻游戏《Commander Keen》,后被《Minecraft》(附魔语言)广泛采用,字母形状近似于“外星文字”。

图 4.1 标准银河字母对应表

5. 跳舞的小人

出自于《福尔摩斯探案集》跳舞的小人(The Adventure of the Dancing Men),以不同手脚动作姿势的线条人形图案代表不同字母。

  • 不带旗帜的图形表示字母本身
  • 带旗帜的图形表示该字母是句子的开头或结束处
图 5.1 跳舞的小人对应表

6. 旗语

6.1 双旗旗语

双旗旗语(Semaphore)主要用于海军、铁路、紧急通信等场景,人物站立为中心,左右手各持一面旗子,每个字母由左右手在 8 个方向中的组合决定。

图 6.1 双旗旗语对应表

6.2 国际船用信号旗

国际船用信号旗(International Maritime Signal Flags)是一种用于船只之间通信的视觉标识系统,通过一套标准的旗帜图案来表示字母、数字、命令和警告。

图 6.2 国际船用信号旗对应表

7. 古埃及象形文字

古埃及象形文字(动物密码)以埃及古代的象形文字为灵感,包含人、动物、器具、自然物等。

图 7.1 古埃及象形文字对应表

8. 盲文

盲文(Braille),又称点字,是专为盲人阅读和书写设计的文字符号,采用由 6 个凸起圆点组成的基本结构。1829 年,法国盲人 Louis Braille 受“夜文”启发,创造出以凸点代替拉丁字母的盲文体系。每个字符由 2 列 × 3 行(共6个点位) 组成,从左边自上而下叫做 1、2、3 点,从右边自上而下叫做 4、5、6 点。凸起位置代表不同的字符,最多 63 个组合。

图 8.1 布莱尔方位

8.1 数字盲文

每个数字的盲文前面都有个 3456 点符形,代表后面的符号为阿拉伯数字。

图 8.2 数字盲文

8.2 英文盲文

英语盲文 a-j 都只是用了 1245 点位即上半截,和数字的一样;k-t 是 a-j 下面加上了 3 号点位。

图 8.3 英文盲文

8.3 汉字现行盲文

现行盲文是用于拼写汉语普通话的表音文字,由中华人民共和国教育部于 1953 年发布并在全国推广。尽管后来推出了汉语双拼盲文方案,现行盲文在中国大陆仍为主流。它以一至三方盲符表示一个汉语音节,分别对应声母、韵母和声调。

声母

图 8.4 汉字盲文声母部分

韵母

图 8.5 汉字盲文韵母部分

声调

图 8.6 汉字盲文声母部分

8.4 符号盲文

英文标点符号

图 8.7 英文标点符号盲文

中文标点符号

图 8.8 中文标点符号盲文

9. 夏多密码(曲折加密)

夏多密码(Shadok Cipher)是麦克斯韦·格兰特在中篇小说《死亡之链》塑造夏多这一英雄人物中所自创的密码,整个夏多密码由两部分组成。

码表

图 9.1 夏多密码对应表

旋转方向

1.纸张上端朝上 2.上端朝右 3.上端朝下 4.上端朝左,这四个符号可以出现在密文中的任意位置,用于指示接下来的密文应以指定方向旋转纸张进行读取。

图 9.2 夏多密码旋转指示表

案例

信文:I AM IN DANGER.SEND HELP(我有危险,速来增援)可以加密成

图 9.3 夏多密码案例

其中第一个符号为旋转字符,告诉要把页面上端朝右,再进行解密,直到遇到下一个旋转符号(第一排第六个),告诉要把页面上端朝上,直到遇到下一个旋转符号为止。

10. 狄德拉字符

狄德拉字符(Daedric Alphabet)出自游戏《上古卷轴》系列。它是泰姆瑞尔大陆中迪德拉(Daedra)和暗精灵(Dunmer)使用的书写形式,出现在游戏的古代书籍,如《深海圣经》《亡灵之书》中。

图 10.1 狄德拉字符表

11. 龙语

11.1 Dragon Language

龙语(Dragon Language)是 Bethesda 专门为《上古卷轴5:天际》打造的语言,包含 34 个字母和数百个常用词语。主角可以利用龙语和巨龙交流或是发动龙吼技能,每 3 个单词可组成个龙吼技能,比如经典的“Fus, Ro, Dah”代表的是“力量,平衡,推动”,触发的是一个用力推动敌人效果,玩家可以试着组合不同的单词来获得丰富的技能。

图 11.1 Dragon Language 字符表

11.2 Draconic language

龙语(Draconic)源自游戏《龙与地下城:被遗忘的国度》中的龙族语言,拥有独特的字母表,称为 Iokharic。

图 11.2 Draconic language 字符表

12. 外星文字

12.1 外星人文字

外星人文字出自马特・格罗宁创作、大卫・X・科恩参与编剧的经典美国动画《Futurama》(《飞出个未来》)。

图 12.1 外星人文字表

12.2 外星空间语言

源自 creativemarket 的一种外星太空语言,使用圆圈和点来识别字母形式。

图 12.2 外星空间语言文字表

13. 克林贡语

克林贡语(Klingon)是为电影《星际旅行》中外星种族克林贡人设定的人工语言,由语言学家 Marc Okrand 设计。该语言采用宾—谓—主(OVS)语序。1985 年,Okrand 发布《克林贡语字典》,至今销量已超过 25 万册。

图 13.1 克林贡语对应表

14. 多斯拉克语

多斯拉克语字母表(Dothraki Modern Font)出自《权力的游戏》中的游牧民族“多斯拉克人”设计的人工语言,作者为语言学家 David J. Peterson。

图 14.1 多斯拉克语对应表

15. 模拟语

模拟语(Simlish)是一种由《模拟人生》游戏开发团队设计的艺术语言,由 Will Wright 构思。其目的是为游戏角色创造一种既无法被玩家完全理解、又富有表现力的交流方式,既保留神秘感,又通过语气和语调传达情绪。

图 15.1 模拟语对应表

16. 神奇宝贝密码

神奇宝贝密码来源于掌机游戏系列《宝可梦》中登场的超能力属性宝可梦:未知图腾,身体像是古代文字,拥有 28 种不同形态,分别对应 26 种拉丁字母和感叹号、问号。

图 16.1 未知图腾对应表

17. 音符加密

音乐密码(Music Cipher)是一种将明文加密为音乐符号或声音的算法。

17.1 半音替换密码

基于半音音阶的音乐密码(Chromatic substitution ciphers)通过为 7 个全音阶音高加入升号和降号,扩展出 21 个独特的音符,能更灵活地对应字母表中的字母。迈克尔·海顿(Michael Haydn)密码是这一加密方式的代表例之一。

图 17.1 半音音阶音乐密码表

17.2 复合密码

1804 年,约翰·比金(Johann Bücking)设计了一种复合型音乐密码,可在 G 大调中以小步舞曲形式生成乐曲。该密码将字母表中的每个字母对应为一小节音乐,每小节由典型的风格动机和 3 至 6 个音符构成。

图 17.2 复合型音乐密码表

18. Zuish 文字

Zuish 语言是 Zu 民的古老语言。它具有字母、数字和符号,用于解决游戏《FEZ》中的许多难题。

图 18.2 Zuish 对应表

19. 精灵语

J.R.R.托尔金是英国作家、语言学家和诗人,被誉为第一个发明了系统的艺术语言的人,他创作了《霍比特人》《魔戒》《精灵宝钻》等严肃奇幻文学经典,为其构建的中土世界设计了一整套精灵语言体系,涵盖语音、语法、词汇、书写系统及语言演变历程。精灵语为表音文字,其核心分支包括:

  • 昆雅语(Quenya):精灵的“高等语言”,灵感来自芬兰语,音韵优美、结构严谨,具有庄重典雅的气质,多用于仪式、诗歌和古文典籍。
  • 辛达林语(Sindarin):灰精灵的“通用语”,借鉴威尔士语的语音特征,发音柔和自然,是中土世界中使用最广泛的精灵语种。
  • 其他分支:包括帖勒瑞林语(Telerin)、早期的诺多林语(Noldorin,后与辛达林融合)等,共同构成精灵语言的演化谱系,反映了精灵族群的迁徙历史与文化变迁。
图 19.1 《魔戒》精灵语演化谱系

19.1 昆雅语

下面是 Quenya 语的 Tengwar 字体。

图 19.2 昆雅语对应表

标点符号

图 19.3 昆雅语标点符号对应表

数字

数字从右到左书写

图 19.4 昆雅语数字对应表

19.2 辛达林语

下面是 Sindarin 语的 Tengwar 字体。

图 19.5 辛达林语对应表

数字

数字从右向左书写,并使用 12 进制

图 19.6 辛达林语数字对应表

20. 亚特兰蒂斯语

亚特兰蒂斯语(Atlantean language)是在迪士尼动画电影《亚特兰蒂斯:失落的帝国》里出现的一种作为历史语言使用的人造语言。

图 20.1 亚特兰蒂斯语对应表

21. 古代字母

来自 wikimedia 的 Runic code 作者构造的虚构语言。

图 21.1 古代字母对应表

22. Zentradi 语言

出自日本动画《超时空要塞》(Macross)系列,主要反派 Zentradi 人(ゼントラーディ人)的语言。

图 22.1 Zentradi 对应表

23. Covenant 字体

Covenant 是由 Alex Joystikx 设计的笔刷风格字体,含 239 个定义字符和 122 个独特字形,兼具手工刻字质感与几何无衬线特点。

图 23.1 Covenant 字体对应表

24. Betamaze 密码

Betamaze 密码由加利福尼亚州的美国艺术学生 Terrana Cliff 创作的。受迷宫启发设计出 Betamaze Cipher,所有字母都连接在一起时可以形成路径。

图 24.1 Betamaze 密码对应表

25. 电线上的鸟

电线上的鸟(Birds on a Wire Cipher)由栖息在电线上的鸟组成的加密实际上是用(鸟的)图画代替的字母表。根据对应关系,每只鸟代表拉丁字母表中的一个字母(从 A 到 Z 到 26 个字母)。

图 25.1 Betamaze 密码对应表

26. 匕首字母表

匕首字母表(Daggers’ Alphabet)由绘制的匕首组组成,每组匕首对应于拉丁字母表中的一个字母。

图 26.1 匕首字母表

27. Dotsies Font

Dotsies 是一种像素化的字母表,26 个字母中的每一个都被一个由 5 个点组成的竖线替换,这些点可以是黑色或白色/空的。

图 27.1 Dotsies 字母表

28. Dorabella Cipher

Dorabella 密码是作曲家 Edward Elgar 于 1897 年 7 月 14 日在给 Dora Penny 的一封信中发送的信息的名称。该消息采用 86 个字符(包含 24 个不同的字符)的形式。

图 28.1 Dorabella 字母表

29. Enochian alphabet

以诺字母表(Enochian alphabet)最早出现在 16 世纪。由宫廷占星家和魔术师约翰·迪博士(1527-1608 年)和他的助手爱德华·凯利爵士(1555-1597 年)创作。

图 29.1 以诺字母表

30. 原神文字

在提瓦特大陆各处,比如秘境、宝箱、遗迹等等,总能见到一些奇怪的文字,你能解密吗?

图 30.1 原神字母表

31. Minimoys 字母表

Minimoys 字母加密基于用 Minimoy 符号替换字母。26 个字母中的每一个都与一个 Minimoys 字母符号相关联。

图 31.1 Minimoys 字母表

32. Bill Symbol

Bill Cipher 源自迪士尼动画《怪诞小镇》(Gravity Falls)系列的主要反派,他在某些剧集和书中使用了一个由符号组成的密码形式的代码来编写信息。

图 32.1 Bill 符号表

33. Hexahue Alphabet

Hexahue 是一种由 2×3 矩形排列的彩色方块组成的字母系统,旨在构建一个基于鲜艳色彩的书写方式。该系统仅使用 9 种标准 HTML 颜色。

图 33.1 Hexahue 符号表

34. 西多会数字

西多会数字(Cistercian numerals)是中世纪西多会修道院于 13 世纪初设计的一套数字系统。相比阿拉伯数字和罗马数字,西多会数字更为紧凑,单个符号即可表示 1 到 9,999 之间的任意整数。

图 34.1 西多会数字表

35. 《塞尔达传说》文字

《塞尔达传说》系列中有多种独特的文字,构建了丰富的游戏世界,其中包括海拉尔文、格鲁多文、希卡文等。

35.1 海利亚语

海利亚语(Hylian Language)是《塞尔达传说》系列中逐步演化出的架空文字系统,自《时之笛》(1998)首次登场以来,基于日文五十音,仅包含清音,缺少复杂音变;到《风之律动》时,引入浊音和半浊音,接近片假名;而《暮光公主》则转为以英文字母为基础设计,使得文字系统更简洁易用,减少了音变的复杂性。这里只展示《暮光公主》之后的海利亚文字。

《暮光公主》(2006)时期

图 35.1 《暮光公主》海利亚语字母表

《天空之剑》(2011)时期

图 35.2 《天空之剑》海利亚语字母表

《荒野之息》(2017)时期

图 35.3 《荒野之息》海利亚语字母表

35.2 希卡语

希卡语(Sheikah Language)在《荒野之息》等作品中出现,是与古老的希卡科技相关的文字。常出现在 Sheikah 建筑和文物上,例如在古代神殿内。它主要用作拉丁字母的密码。

图 35.4 希卡语字母表

35.3 格鲁多语

格鲁多语(Gerudo Language)是格鲁多小镇的口语与书面语言,最早出现在《时之笛》中。该语言包含 26 个字符,直接对应现代拉丁字母系统。

图 35.5 格鲁多语字母表

36. 小猫密码

猫咪可爱捏,小猫+字母还是很好分辨的。

图 36.1 小猫密码字母表

37. Aurebesh 文字

Aurebesh Alphabet 出自《星球大战》系列,用于转录 Galactic Basic Standard的虚构字母表。

图 37.1 Aurebesh 字母表

38. 氪星符号

氪星符号(Krypton Key)是 DC 漫画《超人》中氪星人使用的文字系统。为配合未来 DCEU 的世界观构建,由英属哥伦比亚大学人类语言学副教授 Christine Schreyer 设计的一套全新的氪星语。

图 38.1 氪星符号表

39. 瓦坎达文字

瓦坎达语(Wakandan Language)是由汉娜·比奇勒 (Hannah Beachler) 设计的字母表,用于 2018 年的电影《黑豹》。它基于 Nsibidi 符号(公元 400 年至 1400 年间在尼日利亚东南部使用的一种符号系统)。

图 39.1 瓦坎达文字表

参考

参考资料

摩尔斯电码 维基百科

带你了解“摩尔斯电码到密码学”

国家通用盲文 维基百科

CTF中的一些图形密码

有趣的图形密码

Draconic language | Forgotten Realms Wiki | Fandom

克林贡语 知乎百科

Daggers’ Alphabet

Dotsies Font

Betamaze Cipher - Online Beta Maze Decoder, Encoder, Translator

Birds on a Wire Cipher

Gravity Falls Bill Cipher

Aurebesh Alphabet

《塞尔达传说荒野之息》席卡、海利亚及格鲁德文字标识解读

[古典密码] 隐写式单表替换密码

http://dstbp.com/2025/07/14/steg-sub/

作者

DSTBP

发布于

2025-07-14

更新于

2025-08-01

许可协议

CC BY 4.0

评论

微信二维码