明文(Plaintext/Message):未加密的数据或解密还原后的数据
密文(Ciphertext):加密后的数据
加密(Encryption):对数据进行密码变换以生产密文的过程
解密(Decryption):加密过程对应的逆过程
加密算法(Encryption Algorithm):对明文进行加密时采用的一组规则
解密算法(Decryption Algorithm):对密文进行解密时采用的一组规则
加密和解密算法的操作在一组密钥的控制下进行,分别为加密密钥和解密密钥
一个密码体制可以描述为一个五元组(M,C,K,E,D)
M:明文有限集合
C:密文
K:密钥
E:加密空间
D:解密空间
密码学的属性:
1.信息机密性(confidentiality)
2.信息真实性(Authentication)
保证信息来源可靠,没有被伪造和篡改。密码中的安全认证技术是为了保证信息的真实性。这些技术包括数字签名、消息认证码和身份认证协议。非法用户无法伪造印章
3.数据完整性(Integerity)
指数据没有受到非授权的篡改和破坏。密码哈希算法可以方便实现数据完整性,只要有一点修改哈希值就会改变,哈希算法通过数学原理从文件中计算唯一的特征信息,称为摘要
4.行为不可否认性(Non-repudiation)
指一个已经发生的操作行为无法否认,一旦签署了数字前面,就不能抵赖,不可否认
密码体制分类:
1.对称密码:
又称为单钥体制既加密和解密用同一个密钥的密码算法。这个对称加密的密钥尤其重要保护它就是保护加密刚跟算法无关。因为密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。所以算法可以公布但是密钥不可以。如何产生满足保密要求的密钥和如何将密钥安全可靠地分配给通信双方很关键。密钥的产生分配存储和销毁统称为密钥管理。
对称密码对明文消息加密有两种方式:
1.流密码:明文消息按字符逐位加密
2.分组密码:将明文分组,逐组来加密
2.非对称密码:
有两对密钥分别称为公钥和私钥,公钥用来加密私钥用来解密。数字认证用来确定公钥是否是属于这个私钥的或者反着来。可以实现多个人发给一个人,也可以一个人发个多个人。
非对称加密可以解决对称加密中密钥管理的很多问题。只要掌握了自己的私钥一切都有救。
在数字前面中,消息的发送者要使用自己的私钥对消息进行签名,大家可以用自己的公钥进行验证,同上可以用公钥进行前面
密码分析:
研究如何破解或攻击信息。在没有加密密钥的情况下攻击密文,目的是得到明文或者密钥。但是前提是在已知道加密算法的基础
对一个保密通信系统截获密文进行分析的方法称为被动攻击(防不了),主动向系统注入假消息称为主动攻击
有以下四类:
1.唯密文攻击(Ciphertext-only attack):只用密文来密码分析
2.已经明文攻击(Know-Plaintext Attack):利用大量相互队友的明文和密文
3.选择明文攻击(Choose-Plaintext Attack,CPA)选择特定明文和对于密文分析
4.选择密文攻击:选择特定密文和对应明文进行密码分析