密码系统的安全性(二)

在设计和评估密码系统时还应当遵循公开设计原则,这就是著名柯克霍夫斯(Kerckhoffs)原则。其核心内容是:即使密码系统中的算法为密码分析者所知,也难以从截获的密文推导出明文或密钥。也就是说,密码体制的安全性仅应依赖于对密钥的保密,而不依赖对算法的保密。只有在假设攻击者对密码算法有充分的研究,并且拥有足够的计算资源的情况下仍然安全的密码才是安全的密码系统。
不把密码系统的安全性建立在算法的保密上意味着密码算法可以公开,也可以被分析,即使攻击者知道密码算法也没有关系。对于商用密码系统而言,公开密码算法的优点包括以下几个方面:

  1. 有利于对密码算法的安全性进行公开测试评估;
  2. 防止密码算法设计者在算法中隐藏后门;
  3. 易于实现密码算法的标准化;
  4. 有利于使用密码算法产品的规模化生产,实现低成本和高性能。

但是必须要指出的是,密码设计的公开原则并不等于所有的密码算法在应用时都一定要公开密码算法。
一个提供机密性服务的密码系统是实际可用的,必须满足如下的基本要求:

  1. 系统的保密性不依赖于对加密体制或算法的保密,而仅依赖于密钥的安全性。“一切秘密寓于密钥之中”是密码系统设计的一个重要原则。
  2. 满足实际安全性,使破译者取得密文后在有效时间和成本范围内,确定密钥或相应明文在计算上是不可行的。
  3. 加密和解密算法应适用于明文空间、密钥空间中的所有元素。
  4. 加密和解密算法能有效地计算,密码系统易于实现和使用。
本作品采用《CC 协议》,转载必须注明作者和本文链接
Hacking
讨论数量: 1

666 :+1:,厉害,写这么多关于密码学的知识

3年前 评论
Lois (楼主) 3年前
Alex27933 (作者) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!