通过上两次密码方面学习的经验,能够得到一些更进一步的设想。
我们可以把密码用数字或者字母代替,形成一种机器人一样的数字密码语言。但如果用这个办法代替一门传统的文字语言,这是很麻烦的。
就好比,没有人说话的时候,会把“你今天怎么样”替换为“28105992927”这种数字读出来。不仅难记,转换费力,而且难以破解,识读也费力。最重要的是,没有隐蔽性,任何旁观的第三双眼睛,都知道你在说一个不想被别人听到的秘密。
而这种来自于传统语言文字,基于人与人实时沟通,不依赖计算机加密解密的密码特征也就在这里。
第一,时效性的问题,也是加密和识读的问题。你不可能让人拿着草稿本计算半个小时加密,再让对方在草稿本上解密半个小时,最终得出“你去哪里”“我去厕所”这种充满喜剧色彩的话。
第二,隐蔽性的问题。不仅不能让人及时知道密码的本意,更不能让他们知道这是密码。对于第三双眼睛来说,你表达了你正在规避监视,那你就很危险了。
第三,通用性的问题。用只有两个人才知道的各种加密手段,当然安全,且更加迅速,但也限制了传播性。想要和传统语言一样具备较强的传播性,就必须通用。
对于符合上述要求的语言来说,要从以下几个方向考虑。
第一,不需要搞太多的词汇和字。
第二,不奢望完美的安全,而在于时效的安全
第三,利用偶然性,让随机事件成为秘密的核心
第四,一一对应还是打乱顺序,加密逻辑
第五,快速加密和解读的密钥,识读性的重要性
第六,加密后的文字和语言,必须再回到正常的伪装下,成为正常的语言。这是最难的,因为前五个都是在做加法,就像把画面弄乱,提高隐蔽性。可以后一步要做规整,要把这个乱七八糟的结果合理化,正常化。这就不得不从一开始就予以设计。
下一篇会论述这几点的思考感悟