我在上一篇的密码学讨论中说了一些方法,随后我寄出了一封明信片并得到了回信。在这过程中我发现了一些问题,并针对这些提出了一些解决方法。
实践
首先贴出我寄出的和我收到的回信:
发出:
hello:
emmm
感谢你的明信片和卷子,这是作为回信/TCP协议的第二次握手,如果你能再回复一次作为TCP协议的最后一次握手,那么就可以建立一条TCP链接了。
说起来这还是鄙人第一次寄信呢,不知道能不能送到2333
回复:
skyblond
utf?8
吾辈依旧不明V2Ray
今至图书馆借周易浅说一本
sha1
f8aecf98ad9fdda7bf8fc3445bc0eaad709fbc23Δ
66504198420125dcb9219904899b54c323311b9Δ
原杈哈希算法不可逆
问题
最明显的问题就是在书写上一点也不方便。我得在手机上敲好回信,转成base64,然后再手抄到明信片上,万一抄错了一个,或者抄少了一个,那基本上就废掉了。而读取也同样麻烦,要一个一个敲到解码器里面,同样也不能敲错敲少,有点累人。
其次就是时间上的问题。回信可以看到是9.29到邮局的,30号递送,如果中间有人拿走去解码,然后再拿回来,也不是不可能,因为编码不涉及加密,加密要依靠事先约定好的密钥才行。因此使用编码的时候应该选择最不为人知的编码方式。像是烂大街的摩尔斯电码、Base64,基本上就不灵了。像是我一开头发出去的,是国际手旗信号。而对于中文,我国古人曾经发明过一种密码,然而早已被人知晓,因此我称它编码。
反切码
反切码的来源、创始人等信息都无从考证,而其在公众眼中出现的次数也少之又少。我得知这个东西是拜电视剧《金水桥边》所赐。要使用反切码,首先得背两个东西:
柳边求气低,波他争日时。莺蒙语出喜,打掌与君知。
春花香,秋山开,嘉宾欢歌须金杯,孤灯光辉烧银缸。
之东郊,过西桥,鸡声催初天,奇梅歪遮沟。
反切码的结构是 a-b-c,其中a代表1-20之间的数字,含义是上文第一行对应字的声母:l b q q d b t zh r sh y m y ch x d zh y j zh;b代表1-36之间的字,含义是后两行对应字的韵母:un ua iang iu an ai ia in uan e v in ei u eng uang ui ao in ang i ong iao uo i iao I eng ui u ian I ei ai e ou;c代表1-4之间的数字,含义是现代汉语的四个音调。当然,这个古老的编码方式也有它的弊端,比如声母没有g、k、h这样的音,其解决方法也有很多,比如追加句子什么的,或者改变原有的规则,发展处你自己的反切码,这样就因人而异了。
【歪门邪道】基于邮政明信片的隐私通讯的实践与改进 由 天空 Blond 采用 知识共享 署名 - 非商业性使用 - 相同方式共享 4.0 国际 许可协议进行许可。
本许可协议授权之外的使用权限可以从 https://skyblond.info/about.html 处获得。
感觉触及到了我的知识盲区...
OωO
才发现上面用的那套安徒生童话邮票我也有一堆……
emmmmmm
才发现上面用的那套安徒生童话邮票我也有一堆……
基于哈希算法的隐私通讯magnet:?xt=urn:btih:42CC5937A822902174AA13EDC287870407874F9B@(滑稽)
嘀 穴深卡
这也下不下来啊2333