密码学 - 1密码学基础

Source

密码编码学

密码编码学主要研究如何对信息编码以实现信息和通信安全,主要分为保密体制认证体制

保密体制

保证消息不被攻击者窃取,具体由加密体制实现。一个保密体制由明文、密文、加密密钥、解密密钥、加密算法和解密算法六部分组成。

认证体制

可分为消息认证&实体认证
消息认证:确保消息真实可靠
实体认证:确保参与实体的是可信的,与他们宣称的身份相符。
认证体制模型种类:无仲裁者认证系统模型、有仲裁者认证系统模型

现代密码体制的分类

对称密码体制:加密密钥和解密密钥相同,或者虽然不同,但是由其中的任意一个可以很容易的推出另一个

非对称密码体制:加密密钥和解密密钥不相同,虽然两者存在一定的数学关系,但是从一个很难推出另一个,又称公开密钥体制,分公钥和私钥;

密码分析学

密码分析学是研究如何分析或破解各种密码体制的一门科学。
柯克霍夫原则:密码系统的安全性不应该取决于不易改变的算法,而应取决于可随时改变的密钥。

密码系统安全性

无条件安全性:密码分析者无论知道多少密文以及采用何种方法都得不到明文或密钥的信息。
拥有无限计算资源的密码分析者也无法破译整个密码系统
无条件安全性与攻击者的计算能力和时间无关
1949年香农证明一次一密体制(密钥长度至少和明文一样长)是无条件安全的。

有条件安全性:计算安全性、实际安全性
计算安全性:若破解一个密码系统是可行的,但已知的算法和现有计算工具不肯能完成攻击所要求的计算量。
实际安全性:在实际中攻击能力会受到如下限制
①破解密码系统的成本不能超过被加密信息本身的价值
②破译密码系统的时间不能超过被加密信息的有效生命周期
在上面的约束条件下, 攻击者无法破译密码体制,称其满足实际安全性

密码攻击方式

  • 唯密文攻击
  • 已知明文攻击
  • 选择明文攻击
  • 选择密文攻击

攻击密码体制的方法

  • 穷举攻击
  • 统计分析攻击
  • 数学分析攻击

算法复杂度

通过算法复杂度对密码算法及技术进行对比,然后确定他们的安全性
分为时间复杂度T和空间复杂度S,用O(*)来表示
在这里插入图片描述