好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 ongp1347 于 2020-9-9 11:12 编辑
这是一种序列式(流式)数据加解密算法,名为“虎符"。为什么叫虎符呢?因为它的原理是用两个有256个密键的密键表做密键,轮着做密键,就好像虎符一样有两块。其中,每个密键表由256个相异2字节数据组成,选择不重复的从0到65535的数据值共512个。采用了本人原创的随机数算法,名为”均态分布“随机数算法。何谓”均态分布“呢?指数在数轴不同位置上无序排放,每个值只出现一次不重复。就好像玩扑克牌中的洗牌一样,”均"指每个数的出现概率相等,“态"指每个数在数轴上的不同位置出现。密键表数据根据口令按均态分布来进行随机设置。当然,这种均态分布不是真”均态分布“随机算法,是伪均态分布随机算法。因为它的数是有限的,总密键值是65536个(从0到65535),并不是无穷大。如果是无穷大的数,才是真均态分布随机数。因为无穷大数没有尽头,它的值也就不会出现重复,符合定义的描述。这是一种可以复现的无限接近自然随机数算法,而真的自然随机数是不能复现。就好比宇宙的诞生一样,每个星球的几何尺寸、空间位置都是自然随机数。请问谁有能力去复现这个自然随机数算法?!就是月球被小行星撞击的时间和地点也是一个自然随机数过程,请问谁有本事得到月球下一次被撞击的时间和地点的准确数据呢!?哪怕是登陆火星的火星车,它的着落地点和时间也是个自然随机过程,您能算出来吗。
为什么说是革命性的数据加解密算法?因为它彻底解决了香农大神老师(虽然他不知道有我这个学生)的一次性密码的缺陷--同一个口令不能两次用在两个相同长度而内容不同的文件上。因为有 明文(P1) 异或 口令(K) = 密文(C1K),明文(P2) 异或 口令(K) = 密文(C2K)。当密文(C1K) 异或 密文(C2K) = 密文(P1P2)(暂且叫密文)时,再将 密文(P1P2) 异或 明文(P2) 就得到明文(P1),就这样给破解了(天下谱庆啊,就SB也是破解密码精英了,肯定把香农大神老师气得复现呐,他的论调不是说“一次一密"天下无敌不能破解吗!!!)。而我呢,也是用异或加密,但我把加密后的密文扩大了两倍,即先把一个字节明文查密键表1扩充为两个字节的数据,然后用这个伪数据与另一个密键表2进行加密得出密文。解密时,把对应的密键表2两个字节的伪数据和密文进行异或还原为一个字节的明文数据。这样子,就是同一个口令两次用在两个相同长度而内容不同的文件上也不会给破解了,而且天然地抵御了线性分析法和差分分析法的攻击。其实底层原理还是香农大神老师的一次一密,我只不过把他缺陷修补了(开心呐,到我发布源码时,世上还没有像我这个算法的原理。不知道是真没有人发现,还是有高人知道了没发表.。像我这个宇宙钝胎也跻身于密码行列。)。
源码网址:https://www.github.com/Yaohui-Wu/TigerToken |
本帖被以下淘专辑推荐:
- · 学习及教程|主题: 1127, 订阅: 1119
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|