结论:
采用自定义的字符集作为密码的明文,对提高系统抗破解的能力理论上会有提升,但效果不明显 ,实际操作的时候对系统强度反而会可能削弱。
历史:
类似的脑洞在历史上曾经出现过:二战时期,美军在太平洋战场上,启用纳瓦霍族人作为通讯员,利用他们独特而罕见的方言,给通讯进行第二层加密。由于纳瓦霍族的语言没有外人能懂,因此即使通信内容被日本人截获解密,也不会泄露。
这个史实后来被吴宇森拍摄成电影《风语者》
据说中越自卫反击战中也曾用温州话进行类似的加密防护。
上图是美剧《盲点》,我是从来没听说过什么恶魔之语,不知道他们是从哪个唐人街的都市传说听来的。
现实:
既然过去的战争中多次采用类似的办法进行通讯加密,那自定义“明文字符/语音集”是很有效的办法吗?很可惜,随着密码技术的进步,这种办法被证明是低效且不安全的。
自定义明文集或者自定义加密算法是加密理论和技术不成熟年代的产物,其中的核心思想是:如果我的明文集和加密算法攻击者不知道,那么破解难度就会非常大。
这个假设有几个问题:
1.攻击者不会永远不知道,甚至可以说迟早会知道。
2.即使攻击者不知道,也不代表不能破解。
3.做安全设计的时候如果假设攻击者不知道,会导致整个设计出现更多的疏忽,此时一旦攻击者真的知道了,破解起来就势如破竹。
之所以说攻击者迟早会知道,是由于:我们不能保证攻击者拿不到加密算法和明文集,我方可能有叛徒或内奸、传送加密算法和字符集的时候可能被窃听、包含加密算法和字符集的机器/软件可能被窃取和破解等等。电影《模拟游戏》中,图灵用来破解德国加密算法的英格玛样机,和《猎杀U-571》里被美国海军抢走的德军密码机,都是前车之鉴。
那为什么说攻击者在事先不知道加密算法或者明文集的时候也可以进行破解呢?我们拿本题作为例子来试着说明下:假设题主确实发明了几十个新字符用来作为密码,这时候后台的加密算法仍然使用MD5,那么攻击者需要知道新字符集才能破解密码吗?不需要,因为MD5明文和密文之间是多对一的关系,攻击者不需要得到题主所设定的明文,只需要得到任意一个符合MD5散列的明文组(这被称为等效明文),就可以登录服务器,而多个等效明文组中肯定包括了至少一组常规字符的组合。这种情况下,其实加密强度并没有增加(然而成本却上升了很多倍)
有人可能会说:采用私有的加密算法,就不会出现MD5密文撞击的问题了。那么你需要知道一个事实:设计开发一个从理论到实践都足够健壮的加密算法,是一件极具挑战的工作,在99.99%的情况下,新设计的私有加密算法都会严重降低系统的安全性。
过去的几年中,由于采用了私有的算法或者协议,过于自信,反而在管理或者其他方面产生疏漏,结果出现重大安全事故的例子也是屡见不鲜。看过《风语者》电影的同学也一定还记得,最后尼古拉斯凯奇对于是不是应该履行自己的职责,杀掉可能被俘的纳瓦霍通讯员,而产生了犹豫,差点造成纳瓦霍语加密方法被日军获得。而在电影《模拟游戏》里,德军也是因为对恩格玛加密机的强度和私密性过于自信,在明文管理上出现了重大失误,被盟军牵着鼻子打。
总结
以上,随着数学和计算机学的进步,在密码领域,脑洞可以用于一时,长期来看还是经过充分数学论证和大量实际检验的办法才是更可靠的办法。
1、只包含字母和数字的密码通常认为是弱密码。
2、键盘上也没有中文……
有几点我想说一下:
1,某些人拿李世民重修氏族志来说事,我不知道他们啥脑回路,重修氏族志将崔姓降为三等本身就是李世民瞧不上老牌士族的表现啊这有错吗,某些精神世家也不必挽尊了吧。
2,说世家不是比官职的我又哪一句说世家是比官职的了(当然在贞观朝你也没啥官职可比了,只好比谁家女儿卖的贵)?但李世民看的是官职你酸也没用啊(当然即便北魏定士族时官爵也是一个最重要的考量,很奇怪一个割据半壁的少数民族政权在某些人眼里倒比李唐合法性更高)。官职代表的是功劳才能,你无功于天下,亦无才势可依仗还有啥可豪横的?新中国都建立了你口口声声祖上八大铁帽子王不觉的搞笑么?
3,五姓七宗们口口声声祖上多牛掰也许在那个时代很唬人,可我们站在五千年历史的尽头回望,也就那样。他们可查的祖宗在他们生存的时代大多也不算什么一流人物甚至有些恐怕正史都无传且也不乏泥腿子出身,那后人有什么资格瞧不起别的泥腿子的?某些精神五姓,怕也说不出自家的精神祖上是谁吧?
4,关于李虎家族,目前的说法有陇西李旁支(人家也没说自己是嫡系啊),赵郡李旁支(陈寅恪考证),胡姓改(法琳和尚说的,因为出家人不打妄语?李世民没杀他,因为李世民心虚?)。第三种说法你爱信就信不解释。就说旁支难道就没资格称郡望了么?世家强大靠的不是什么祖宗荣光,而是家学渊源及人多势众,而这两者都不看什么嫡系不嫡系的,你又不是皇家有一个皇位要继承,当然要开枝散叶人越多越好,否则郡望之下不会又分各房,甚至同姓之间如陇西李赵郡李,清河崔博陵崔本出同源是不是也要分一个庶嫡?你五姓七宗数百年间人才代出,难道全是一脉单传?
因为李世民首先嫌弃了他们,所以才有了世家酸溜溜的瞧不上李家,至于什么血统,旁系,破落户,都只是一个理由而非原因。
联姻也好,封官也罢,李世民看的只有才能功劳,说白了就是官爵,在新王朝建立和建设中有功绩起作用的人,自然身居高位,也自然是皇家的结亲对象,这其中既有老牌世家,也有新兴勋爵,所以出身在李世民眼里不重要,才能功劳才重要。
至于说世家瞧不上李家更扯淡了,崔卢李郑王,李家起码排第三,哪怕李虎一支是旁系,但从李虎开始历西魏北周大隋三代公爵即便崔卢也拿不出几个人敢比吧?郑王以下就更别说了。至于南朝的世家,刘宋,萧齐,陈家建国时全是布衣出身怎么没见世家瞧不起?北朝宇文家,外族;高家,精神外族;杨家,精神高门,怎么也没见世家瞧不起?到李唐这真的贵族上位了,确切地说到李世民这世家就瞧不起李家了,为啥?无非是在李世民这里拿不到好处,酸葡萄心理作祟罢了。往前几百年,南边北边,不管谁作皇帝,都要与世家共天下,所以哪怕江山治理一团糟,一堆几十年的短命王朝割据势力,但最后泥腿子出身的皇家倒都摇身一变也跻身世家了,李唐到李渊这也还是这样,还割据一方就已经到处封官许愿滥赏无数了,这些躺赢的世家照例也很满意。但李世民上位后就不一样了,大刀阔斧精简机构一大批无才无功的二世祖不能再寄生于国家公器当然就动了世家利益了,但这些靠祖辈积累的世家确实在新朝中都是边缘人物没什么权重,又不能硬气一点不食周粟,只能酸溜溜的说些敝帚自珍的话了,可笑现在倒有人还真被唬住当了真了。典型的例子如氏族中排名第一的崔家,族长在贞观朝不过是一个小小的五品官,他要有能力有势力他不至于只是个五品,他要有气节也不会去作这个五品,李世民要想向他示好也不会只让他当这个五品,李世民也没必要跟一个门不当户不对的五品官联姻。
所谓人言可畏,譬如明朝时曲阜孔家,瞧不上江西张家道士气,瞧不上凤阳朱家暴发户,多少人当了真还真以为衍圣公霸气外露,其实不过私底下过嘴瘾,你让他当面说啊?当面指不定是受了啥气呢?