加密方式不论在刚出现时宣称有多么牢不可破,但随着时间的迁移,它总会暴露出弱点,从一个强大的加密方式变成一个较弱的加密方式。而如今人们在使用目前流行的加密方式时,也会有这样的忧虑,担心目前所使用的看似无懈可击的加密手段在可控的时间内就被暴力破解。

一次性密钥加密算法存在了近百年未被破解

就算目前所使用的那些还没有被破解的加密方式,在不断升级的CPU时钟频率前提下,暴力破解所需的时间也越来越短了。在加密算法的发展过程中,有很多算法都已经被破解或被证明不够安全,唯有一种加密算法一直存在了93年,这种算法叫做一次性密钥(one-time pad)。在1917年, Gilbert Vernam开发了一种叫做Vernam Cipher 的加密方法,使用电传技术,通过打有密钥的纸带进行数据加密和解密,结果便出现了当时最强的对称加密技术。

依次性密钥加密方式有时不太方便

这是真正随机产生的密钥,不会有任何重复的可能,因此Vernam cipher可以做到更强大的效果。于是,基于纸带密钥的方法,在一沓纸上印有随即字母或数字,作为密钥的加密算法出现了。一次性密钥加密方式有时候非常不方便,因此现在很少有人在用这种加密方式。而正是由于这种不便性,我们实际需要的是一些理论上有些弱的加密方式,比如AES/Rijndael 以及Twofish 。

一次性密钥在加密时需要双方拥有完全一样的密钥数据

由于一次性密钥是一种对称加密方式,进行加密通信的双方需要拥有完全一样的密钥数据。而在某些环境下,这种条件是无法实现的,因为要想让双方都拥有这个密钥,就意味着必须有一种足够安全的方式让双方共享或传递密钥数据,而如果有了这样的安全环境,也就不需要再使用一次性密钥了。一次性密钥必须和所加密内如一样长,这意味着,如果你要对一个3GB的文件进行加密,就需要有一个3GB的一次性密钥。

当使用过一次性密钥后,不能再使用这个密钥对其它要发送的数据进行加密。如果通信的双方分别位于地球的两端,那么这种通信方式会让人抓狂。

如果要找一个绝对安全有效不可能被破解的加密方式,那么只有使用一次性密钥系统了,前提是正确的使用它,即密钥只使用一次。

小知识之对称加密:

采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。