本文来自微信公众号:果壳(ID:Guokr42),作者:清洁工,编辑:栗子,原文标题:《<御赐小仵作>里的反切密码,原理像汉语拼音一样简单?》,头图来自:《御赐小仵作》
最近播出的剧集《御赐小仵作》中有这样一个桥段:在晚唐的乱世,驸马萧恒设计了一套“反切密码”来传递某种信息。
从声部诗里取一字(的声母),从韵部诗里取一字(的韵母),可以拼出另一个字(的读音)丨《御赐小仵作》
他写了一首声母诗,一首韵母诗,声母拼韵母,拼出一篇“拼音”文,并用数字(苏州码子)加密。
请放心,本文不是来剧透的,仅仅想从技术上讨论一下:假如咱们谁也穿越到古代,用这个思路设计密码可行吗,瞒得住别人吗?
反切法:佛教带来的“拼音”
如今的我们,即便上过这么多年学,也总会遇到汉字读音问题,比如:
这扇门卡住了,推不动。
“卡”该怎么读?在字典上,“卡”的默认读音是qiǎ,只有在音译词(比如卡片、卡车、卡路里……)、拟声词或方言词中有时读kǎ。
本文不讨论字典对错,那是另一个很复杂的问题。此处要说的是,现今我们至少可以利用汉语拼音来记录字的读法。但在近代发明各类拼音以前,古人会怎样描述这两个音呢?
直音法
“直音法”名字很高端,道理很简单,其实就是找同音字。比如《西游记》里有个“井木犴”。不会读,怎么办?找个同音字:
犴,音“岸”。
理想的同音字要满足两个条件:①比被注音的字简单;②自己最好不是多音字。可是实践中,别说理想同音字了,就连不理想的,有时也找不到。
就拿kǎ与qiǎ来说吧。“卡”读kǎ时能有什么同音字?“咔唑”(kǎzuò)的“咔”不仅是多音字(“咔嚓”(kāchā)的“咔”),想认识它你还需要先听几节有机化学。读qiǎ时就更要命了,它的同音字,比如“酠”和“跒”,一般字典上都不见得有。
仅在现代汉语3500常用字中,类似的情况还有一百多例:“大、水、北、口、牛、猫、胖、肉、打、走、说、跑、扔、弄、扛……”[1]更何况,谁和谁是同音字,在不同方言中往往也不相同。所以说,“直音法”常常不好用。
譬况法
古人一计不成,又生一计,发明了譬况法。譬况就是比喻,找近音字打比方。比如《淮南子·地形训》说西方“其地宜黍,多旄犀。”会读“旄”吗?不会也别急,有请古人解释给你听:
“旄”读“绸缪”之“缪”,急气言乃得之。
图丨乾隆五十三年武进庄氏咸宁官舍刊本《淮南子》书影
“旄”的读法就是把“缪”字“急”着“气”读。看官您有没有恍然大悟,豁然开朗的感觉呢?反正我在研究中每次碰到这样的注音都会气急败坏,浑身上下脑袋疼。甚至就连古代那些大名鼎鼎的顶级语言学家,往往会也读得一脑袋问号。
反切法
在很长一段时间里,上面的这些缺陷一直困扰着古人。直到后来,佛教的传入意外地解决了这一难题。
自西汉末年至东汉初年,佛教逐步传入中国,顺便还产生了一个副产品,那就是带动了中国人学外语的热情。很多人学习了梵语,而梵文是一种字母文字。字母捅破了古人脑中的一层窗户纸:原来人类平时说的一个个音节是可以继续往下拆的!
把一个音节拆开丨作者供图
于是,中国也有了声和韵的概念,难题迎刃而解:别管哪个音,与它声母相同或者韵类相同的常用字总有一大堆(有个别反例,比如普通话的“而”与“二”,但比例非常非常小)。到东汉后期,古人最终发明了反切法。
反切是用两个字给一个字注音。比如说“布”,它的反切可以是“博故切”。
布的读音=博的声母+故的韵类丨作者供图
这条反切碰巧按照现代汉语普通话也能读通。上字“博”声母是b,下字“故”韵类是ù,合起来,b+ù=bù。不过,由于反切一般都是古人按古音设计的,像这样能直接用现代汉语切出来的情况比较少见。对现代人来说,利用古人留下的反切来推知读音是一项需要系统学习、反复训练才能掌握的专业技能。
但在创立之初,反切法对古人来说易懂好用,慢慢就流行了起来。此后,一直到近代社会出现各种各样的拼音以前,反切法一直是汉语世界最主流的注音方法,地位略似现在的汉语拼音方案。但凡会读点经史要籍,会查字典的古人,大概没有哪个是没接触过反切的。
反语梗:古人说烂梗也挨打
古人非常爱反切,以至于单独形成了一类梗,一般称作“反语”。钱钟书《管锥编》上有一段很有名的总结:“三国至唐,利口嘲弄,深文吹索,每出此途。”[2]
反语梗的地位有点类似今天的谐音梗:有人爱得深沉,遇到人就讲;有人烦得痛切,听到了就打。它也分好多类,最常见的是这样:找个双音节词,比如“AB”吧,古人用“AB切”切出一个C,再用“BA切”切出另一个D,CD就是AB的“反语”。
比如我们知道《玉树后庭花》的作者是陈后主陈叔宝。这位活宝经常作死,是陈国的亡国之君。《二十四史》中的《南史》就说:“叔宝”这个名字本来就不太行,因为“叔宝切”可以谐音“少”,“宝叔切”恰好等于“福”。“叔宝”的“反语”近似“少福”,早晚要倒霉。
“叔宝”与“少福”丨作者供图
不过陈叔宝自己肯定也觉得冤枉:当时的“少”属于心母宵部,而“叔宝切”理论上是书母豪部,无论声、韵还是介音都不完全一样,这么七拐八拐就把自己的福拐少了,谐音梗真是太害人了!
而隋朝灭陈,名义上的总司令是隋朝王子杨广,他本来叫杨英。后来他老爸隋文帝杨坚说:“杨英”的反语不太吉利,谐音“赢殃”。“赢”有遭受的意思,“赢殃”就是遭殃。
“杨英”与“赢殃”丨作者供图
想到这,老爸杨坚赶紧给他改名杨广。可好名字并没有带来好运。杨坚死后十四年,杨广在距离陈叔宝亡国之地不远的江都宫中被手下勒死,与他一起毁灭的还有整个大隋王朝。他就是隋炀帝。
很多人因反语而改名,可能还有人为反语而挨打。《太平广记》卷二五五《嘲诮三》引《启颜录》记载,唐玄宗时期,派了个牙掉光了的人去当安陵县(在今湖南永兴)的县令。
“唐安陵人善嘲”丨民国影嘉靖本《太平广记》 书影
当时,安陵人擅长玩梗。县令就很担心别人玩梗嘲笑自己的口腔问题,可他只听到了赞美声。比如有个手下就夸他写文章超快。
这是说他业务能力强呀!县令听完也超开心。没想到几个月后,那位手下有个仇人跑来对县令打小报告:那是在拐着弯骂您呀!
何以见得呢?仇人说:写文快,可以总结成“奔墨”。
所以呢?仇人接着解释:“奔墨”的反语是“北门”。
图丨作者供图
古代建筑坐北朝南便于采光,有个北门说明房屋后面有个缺口,这叫“缺后”。
然后,仇人又开始反语了:“缺后”的反语是“口穴”。
图丨作者供图
“口穴”就是说嘴里没牙,是个大窟窿呀!
梗埋这样深,都可以挖出石油了吧?县令气得把那个夸过他的手下痛揍一顿。这一切悲剧都源于手下夸县令写文快。所以说,古人的智慧告诉我们:写文快不是好事,多拖稿才是正道。
反切密码:反切这么流行,能当密码嘛?
古人看书、查字典要看反切,考试前要背反切,平时斗嘴还要用反切。反切这样流行,还能当密码吗?
剧里的办法,好像不行
剧里给了一首声部诗,一首韵部诗,最后用苏州码子加密。我们分开讨论。
1. 声部诗与韵部诗
故事发生在晚唐。其实唐朝和现在一样,各地都有方言。我不知道角色老家是哪,姑且按照唐朝官方推荐的超复杂《切韵》音系和一般认为比较接近晚唐时期共同语口语的“朱翱音系”来讨论。
先看声母。《切韵》音系有37个声母(据邵荣芬《切韵研究》[3],下同),而剧中的声部诗只有23字,不仅数量少,规律性也很弱,分属19个不同声母,“桃”与“荡”“微”与“媚”“采”与“清”“旁”与“浮”声母相同。
声部诗,并非“字字声部皆不同”丨《御赐小仵作》
声部诗中出现的字在《切韵》音系的声母分布。黄色表示出镜一次,红色表示出镜两次。下同丨作者供图
若按朱翱音系,情况会稍好一点。朱翱音系只有36个声母(据张慧美《朱翱反切新考》[4],下同),而且“微”与“媚”“旁”与“浮”都不再属于同一个声母了。此时那23字对应21个声母,占所有声母的7/12。
韵母的问题则会更大一些。剧中韵部诗一共只有35字,可《切韵》音系一共有206小韵,光韵部就分95类。而且,韵部诗中“穷”与“中”“谢”与“灞”“伤”与“相”“秋”与“愁”还是同小韵的。它只能覆盖31小韵。
韵部诗,并非“字字韵部皆不同”丨《御赐小仵作》
韵部诗中的字在《切韵》音系当中的小韵分布。这是滑动图,下滑查看完整表格丨作者供图
若按朱翱音系,虽然韵与韵部的数量会大幅减少,但是撞车问题也会随之更加严重:唐代口语中“阳韵”与“唐韵”根本不分,会出现“光”“伤”“相”三字同韵的问题。
2. 苏州码子
看过英剧《神夏》的人可能都还记得,剧中有一套来自古老中国的数码字,叫作“苏州码子”。在《御赐小仵作》中,这套数码字被用于加密数字。但苏州码子在唐朝还没有出现。
苏州码子0-9丨 Voidvector
驸马留下的苏州码子丨 《御赐小仵作》
有种说法认为,古代中国数学不太辉煌,都怪没有发明好用的数码字。用汉字列竖式,想想就鬼畜。这其实是因果倒置:多数古人不太重视数学,社会需求小,所以数码字才不流行。毕竟和复杂的数学难题相比,设计几个数字显然简单得多了。
目前我们能看到的最古老的中国数码字是敦煌出土的唐代《立成算经》(斯·三九〇)。它基本就是把算筹的摆法画了下来,满眼“—”和“丨”,没有零。
唐代《立成算经》书影。每一小列最下面那些横线、竖线就是数码字丨《敦煌宝藏》第七册第555页,台湾新文丰出版公司1986
到了宋元之际,秦九韶(还记得怎么用三角形三边长求面积吗?)、李治、杨辉(还记得杨辉三角形吗?)等人陆续改进了数码字,甚至愉快地用它列出了方程。再到明清时期,商人们逐步改编出了现在我们看到的苏州码子。[5]
南宋数码1到0十个数丨钱宝琮《中国数学史》第173页
回到剧情。唐朝的数码字还在画算筹时代,如果抢先用上几百年后的苏州码子,敌人也可能意识不到这是数字。不过,具体到剧中这套密码,依主角讲述的加密规则,可能也很难对应到剧中的声部诗和韵部诗上。
剧里的不行,应该怎么办?
假如我们有幸或者不幸穿越到晚唐乱世,该怎么利用反切设计一套密码呢?Zhijie xie fanqie de jiami xiaoguo hui he zhe ju hua yiyang cha,我们需要更复杂的设计。
就用贴近晚唐口语的朱翱音系举例吧。这个音系有36种声母,59种韵部,4个声调。在追求简便易懂的前提下,我们需要四位数字来表示一个音节。
前两位代表声母和声调,后两位代表韵部丨作者供图
声母有36个,不过由于好多声母各有自己相好的韵母,彼此没有交集。如果掌握规律,需要区分的只有22类。
需要区分的22类声母丨《七音略》书影
就是第一行这22个字(不含“喻”)。穿越前抄一遍,过去以后直接抄作业就行。
声调一共四个,分别叫平、上、去、入,其中入声自己算一类韵部,我们需要区分的是平、上、去三类。22×3=66,前两位编码只需66个数。
后两位表韵部。当时有59个韵部,不满百,直接编号即可。
当然,假如你以前学过一些简单的古典密码替换、移项的技巧,最好再完善一下这个密码。简单的加密也有机会大幅增强破译难度。
至于选择哪种数字,算筹可能太简单了,苏州码子又有点穿越。如果想留点线索让博学的晚唐名侦探们有的玩,可以用当时已经存在的梵文数字或早期藏文数字。
八到十世纪的藏文数字0-9,感谢南开大学中文系博士生诺桑翻译、讲解丨江·普琼《略谈藏族传统数字的演变》
市面上大多数资料都说,戚继光(或陈第)真的发明过一套反切密码,其实这种看法证据不足。[6]但现实中确实存在过一些叫“反切秘密语”的黑话,主要是黑社会、算命摊贩之类的人用。[7]后人把“黑话”称为“切口”,就来自这种现象。
一种可能的、基于普通话的反切秘密语。有关反切秘密语的详细介绍可参考赵元任先生经典论文《反切语八种》丨作者供图
你在垃圾桶发现追踪已久的江洋大盗交流的纸条(如上图),能推断出什么信息?现实中,反切秘密语一般不会这样巧妙,往往只是对“抢”“宝石”“警察”等关键词做奇奇怪怪的加密。
不过它们的保密性一般也就那么回事。与其它社会方言一样,它们存在的主要目的其实是强化内向认同:咱们说一样的话,咱们是混一个圈的。
这也不是黑社会的专利。君不见饭圈、学术圈、互联网圈,也是圈圈都有自己的怪话。
参考文献
[1] 孔祥卿.现代汉语的独字音节及其成因[J].南开语言学刊,2015(02):122-130.
[2] 钱钟书著.管锥编 2 下[M].北京:生活·读书·新知三联书店.2001:658.
[3] 邵荣芬著.切韵研究[M].北京:中国社会科学出版社.1982.
[4] 张慧美著.中国语言文字研究辑刊 二编 第18册 朱翱反切新考[M].新北:花木兰文化出版社.2012.
[5] 钱宝琮主编.中国数学史[M].北京:商务印书馆.2019:171-173.
[6] 李如龙,王升魁校注.戚林八音校注[M].福州:福建人民出版社.2001.
[7] 赵元任著;吴宗济,赵新那编.赵元任语言学论文集[M].北京:商务印书馆.2002: 362-404.
本文来自微信公众号:果壳(ID:Guokr42),作者:清洁工,编辑:栗子