区块链的加密算法__一,从维吉尼亚到RSA(未完待续)

密码学源于数学。处于一些特殊的需要,自从数学有所发展的时候,就有了加密者与解密者。

一开始的密码学加密法都是对称加密法,这种情况一直到上个世纪中叶RSA加密法诞生。如今区块链所使用的各种各样的加密法都为不对称加密,而最早的不对称加密法就是RSA加密法,是它开启了公钥密码学的新时代,以及如今的区块链技术革命。本文主要写的是区块链加密法,但写此之前还要从维吉尼亚讲起。

维吉尼亚加密法属于对称加密法,所谓的“对称加密法”就是加密解密的密钥都是同一个的。而维吉尼亚加密法在过去的几个世纪里一度被认为是“不可破解的加密法”,从加密算法来看维吉尼亚实际上是从凯撒加密法演变而来的,凯撒加密法采用一个int类型的数据作为密钥,而维吉尼亚则是使用一个长度不限的字符串,多为string类型(或者是char数组)作为密钥。现在这里的密钥设置为njust,而被加密的句子是‘a friend in need is a friend indeed’。维吉尼亚的加密算法示意图如下:

a   f   r   i   e   n   d   i   n   n   e   e   d   i    s   a   f   r    i   e   n   d   i    n   i   n   d   e   e   d

n   j   u  s   t   n    j   u   s   t    n   j    u   s   t    n   j   u   s   t   n    j   u   s   t   n    j    u   s   t

除去空格后将上下两行对应字母进行对应加密运算(这里直接将字母对应的数字相加,采用凯撒加密法的机制,其中a至z分别对应0至25,不区分大小写)。

但不要想着用破解凯撒加密法的方式去破解维吉尼亚,因为密钥每增加一个字母那可能的密钥数目将乘以26(而且这是只有英文字母,且在不区分大小写的情况下)。一旦密钥长度足够长,若使用先前用于破解凯撒加密法的暴力破解的话,计算机将花费数年时间。而在维吉尼亚问世的几个世纪后终于有人找到破解维吉尼亚的客观方法———这个人是大名鼎鼎的巴贝奇,于是破译方法被命名为“巴贝奇攻击”。“巴贝奇攻击”主要思想是运用概率分析:首先,分析了牛津词典上的所有英文单词,记录每个字母在单词上的出现频率,即一个字母出现在一个单词里时就对应加一,最后统计所有的字母出现次数,并从高到低降序排列,得到的结果是:etaoinshrdlcumwfgypbvkjxqz,用前六个字母简记为“ETAOIN”。接着分析密文的各个字母出现频率并同样进行降序排列,并与“ETAOIN”对应起来。并分析密文里经常出现的字母序列,应为这些字母序列对应着相同的英文单词。列出这些经常出现的密文序列,并用之前所对应的序列进行尝试。注意,这种方法一般是密文较长的时候才进行使用,因为密文较短时密钥也会很短,频率分析对较短的密文并不起效,此时还是使用用于破解凯撒的那套暴力法较为明智。于是曾经号称“不可破解”的维吉尼亚也被证明是一种 “不可靠的加密”,不仅如此,至此整个“对称加密法”都已功亏一篑。于是,一种看似更安全的,称为RSA的加密法出现了,公钥密码学的发展也随之开始了。(未完待续)

 

    原文作者:维吉尼亚加密问题
    原文地址: https://blog.csdn.net/qq_41938259/article/details/83350108
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞