密码系统安全性评估方法

TIME:2019-03-21   click: 518 次

评估(衡量)密码系统安全性主要有三种方法:无条件安全性、计算安全性和可证明安全性。

1.无条件安全性

假如破译者即使具有无限的资源(包括时刻、金钱、能源、人员、设备、速度等全部可能的要素)也无法破译一种密码算法,那么,该密码体系是“无条件安全的”。也就是说不管密码破译者截获了多少密文、花费多少时间和用什么办法进行攻击都不能破解一个密码体系,那么就称该密码体系是肯定不被破解的。这是密码体系安全性的最高境地,也是密码体系设计目标。即仅当密钥至少和明文相同长时,才能到达无条件安全。不过,现在已知的理论上不被破解的密码体系只有 “一次一密密码体系(每个密钥只运用一次)”这一种。

但是考虑到密钥产生和管理上的困难,“一次一密密码体制”其实是不实用的。理论上,如果能够拥有足够多的资源,只要采用穷举密钥攻击法进行暴力破解(也称为蛮力攻击),即逐个尝试每种可能的密钥,并且检查所得的明文是否有意义即可,那么除了次一密密码体制外,其他任何实际可以使用的密码系统都是可以被破解的。所以说,在理论上,除了一次一密密码体制外,再无其他的加密方案是无条件安全的。

2.计算安全性

由于现实中的任何密码系统都还无法真正做到“无条件安全性”。因此,在实际应用中,相比“无条件安全性”来说,人们更关注“计算上安全的”密码算法。对于我们来说,计算上的安全性是密码系统常见的和可实现的、实用的安全要求。

如果一个密码算法不能被密码分析者根据目前实际可以利用的所有资源、在相对有限的合理时间内破解,则称该算法是计算上安全的或者也可以称为该算法是计算上不可破解的。

计算安全性是从破译一个密码体系(密码体系,密码算法)所需的计算量来衡量密码体系的安全性。这种办法是指运用现在最好的办法攻破它所需求的计算远远超出攻击者能够利用的计算资源水平,则能够定义这个密码体系是安全的。

一般地,如果一个密码体系能够满意以下两条原则之一,就能够认为是满意实践安全性的。

译密文的代价(费用)超越被加密信息自身的价值。

破译密文所花的时间超越被加密信息的有用期。

3.可证明安全性

由于公钥密码算法的安全性一般都是基于特定的数学难题的,因此,这种方法是将密码系统的安全性归结为某个经过深入研究也无法解决的数学难题(如大整数素因子分解、计算离散对数等被证明求解困难的数学难题)。如果破译一种密码算法能够等价于解决一个经过深入研究也无法解决的数学难题,那么,人们自然也有理由相信,该密码系统至少在目前是安全的。这种评估方法存在的问题是它只说明了这个密码方法的安全性与某个困难问题相关,没有完全证明问题本身的安全性,并给出它们的等价性证明。

 

上一篇:序列密码和分组密码区别 下一篇:同步序列密码的特点