密码 计算安全性 可证明安全性 无条件安全性

一个密码系统的安全性主要与两个方面的因素有关。
(1)一个是所使用密码算法本身的保密强度。密码算法的保密强度取决于密码设计水平、破译技术等。可以说一个密码系统所使用密码算法的保密强度是该系统安全性的技术保证。
(2)另外一个方面就是密码算法之外的不安全因素。
因此,密码算法的保密强度并不等价于密码系统整体的安全性。—个密码系统必须同时完善技术与管理要求,才能保证整个密码系统的安全。本教材仅讨论影响一个密码系统安全性的技术因素,即密码算法本身。 评估密码系统安全性主要有三种方法:
(1)无条件安全性
这种评价方法考虑的是假定攻击者拥有无限的计算资源,但仍然无法破译该密码系统。
(2)计算安全性
这种方法是指使用目前最好的方法攻破它所需要的计算远远超出攻击者的计算资源水平,则可以定义这个密码体制是安全的。
(3)可证明安全性
这种方法是将密码系统的安全性归结为某个经过深入研究的数学难题(如大整数素因子分解、计算离散对数等),数学难题被证明求解困难。这种评估方法存在的问题是它只说明了这个密码方法的安全性与某个困难问题相关,没有完全证明问题本身的安全性,并给出它们的等价性证明。
对于实际应用中的密码系统而言,由于至少存在一种破译方法,即强力攻击法,因此都不能满足无条件安全性,只提供计算安全性。密码系统要达到实际安全性,就要满足以下准则:
(1)破译该密码系统的实际计算量(包括计算时间或费用)十分巨大,以致于在实际上是无法实现的。
(2)破译该密码系统所需要的计算时间超过被加密信息有用的生命周期。例如,战争中发起战斗攻击的作战命令只需要在战斗打响前需要保密;重要新闻消息在公开报道前需要保密的时间往往也只有几个小时。
(3)破译该密码系统的费用超过被加密信息本身的价值。
如果一个密码系统能够满足以上准则之一,就可以认为是满足实际安全性的。

你可能感兴趣的:(密码学)