1700508973
如果密钥没有泄露,在信道上截获密文时,只能使用穷举法来破解。如果要全部穷举这些数据,假设每秒验算100万次,需要大约2285年才能完成。不过,现在大规模计算集群越来越普及,这种密码的可靠性实际上每年都在降低。因为密钥的副本不仅在服务器端有,在终端也要保存,所以,如果密钥在终端直接泄露,那就完全谈不上安全了。
1700508974
1700508975
2.非对称加密
1700508976
1700508977
相比之下,RSA比DES要安全许多。RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的,于1987年首次公布。当时他们都在麻省理工学院工作,“RSA”就是由他们三人姓氏的首字母组成的。
1700508978
1700508979
与DES不同,RSA每次会同时生成一对密钥,即一个公钥(Public Key)和一个私钥(Private Key)。公钥是可以公开的,而私钥由生成方保存。RSA加密的步骤如下。
1700508980
1700508981
(1)随意选择两个大的质数p和q,p不等于q,然后计算N=pq。
1700508982
1700508983
(2)令r=(p-1)(q-1)。
1700508984
1700508985
(3)选择一个整数e,满足e<r,使e与r互质。再求d,使ed mod r=1。
1700508986
1700508987
(4)销毁p和q。
1700508988
1700508989
这时得到的(N, e)就是公钥,(N, d)就是私钥。
1700508990
1700508991
如果要加密,可以把每个字符的unicode码u做以下变换:
1700508992
1700508993
1700508994
1700508995
1700508996
然后,把每个c都传给解密方。
1700508997
1700508998
解密方得到c,要想得到u,则有
1700508999
1700509000
1700509001
1700509002
1700509003
由于这些都是正整数,所以对只会做加法的电子计算机来说,还是能比较容易地得到解。
1700509004
1700509005
但是,要在破解公钥(本来就是公开的)的情况下拿到密文c来破解u,就只能根据
1700509006
1700509007
1700509008
1700509009
1700509010
来计算,也就是通过截获的N来分解质因数,得到p和q。
1700509011
1700509012
这个计算量在512位的RSA密钥上大概需要计算8000个MIPS(8)年才能破解。而随着电子计算机计算能力增加,在加密时只需要加长RSA密钥的位数就可以了。
1700509013
1700509014
一般来说,不论加密还是解密,RSA的运算成本比DES要高。所以,必须使用RSA这种级别算法的加密场合在对保密性要求不高的情况下很少见。
1700509015
1700509017
12.2.4 压缩问题
1700509018
1700509019
在日志收集中还有一个问题需要考虑,就是数据压缩问题。
1700509020
1700509021
在互联网环境中,带宽的价格是比较昂贵的,如果CPU资源相对过剩,而带宽资源又比较紧张的话,可以考虑压缩后再将数据上传。如果上传的是日志文件,可以直接使用压缩软件或者自己编写的压缩算法进行压缩,然后通过FTP上传。
1700509022
[
上一页 ]
[ :1.700508973e+09 ]
[
下一页 ]