密码学与网络安全
密码学要解决信息的机密性、完整性、认证和不可否认性
- 机密性:对传送的信息进行加密就可以实现加密性,保证信息不泄露给为授权的人
- 完整性:防止信息被未经授权的人篡改,保证信息不被篡改
- 认证:对创建信息的用户或系统的身份进行验证
- 不可否认性:能够保证信息行为人不能否认其信息行为
密码学基本算法
-
对称密码算法——典型:AES
- 特点:在加密和解密时使用同一密钥
- 优点:加密或解密运算速度快,加密强度高,算法公开
- 缺点:密钥分发难,更新周期长,不便于管理
对称密码算法——分组密码模式:
- 分组密码算法:每次只能处理特定长度的一块数据的一类密码算法
- 分组:特定长度的一块数据被称为分组
- 分组长度:分组的数据长度,如AES的分组长度为128比特
- 模式:当明文长度超过分组密码的分组长度,就可能要对分组密码产生迭代,这里迭代方式称为分组密码模式
-
非对称密码算法
-
特点:密钥分为加密密钥和解密密钥。发送者使用加密密钥(公钥)对信息加密,接受者使用解密密钥(私钥)对密文进行解密,公钥和私钥一一对应,形成密钥对。
对称密码算法 非对称密码算法 优点 1、效率高,算法简单,系统开销小
2、适合加密大量数据
3、明文长度和密文长度相等1、解决密钥传递的问题
2、大大减少密钥持有量
3、提供了对称密码技术无法或很难提供的服务(数字证书)缺点 1、需要以安全方式进行密钥交换
2、密钥管理复杂1、计算复杂、耗用资源大,不合适大量数据加密
2、非对称会导致得到的密文变长
3、公钥的可信度问题
-
-
混合加密系统(对称+非对称)
-
单向散列函数
- 又称为哈希算法,杂凑算法,是一种把任意长度的输入变换成固定长度的输出的算法
- 根据任意长度的消息计算出固定长度的散列值
- 计算速度快
- 强抗碰撞性
- 单向
密码学应用
消息认证码
- 是一种确认完整性并进行认证的技术
- 输入包括任意长度消息和一个发送者与接收者之间共享的密钥,输出固定的长度数据
数字签名
- 发送者使用私钥对自己的数据(消息/文件)签名,接收人或者第三方使用公钥验签
消息认证码 | 数字签名 | |
---|---|---|
发送者 | 用共享密钥计算MAC值 | 用私钥生成签名 |
接收者 | 用共享密钥计算MAC值 | 用公钥验证签名 |
密钥配送问题 | 存在 | 不存在,公钥需要另外认证 |
完整性 | 存在 | 存在 |
认证 | 存在(仅限通信对象双方) | 存在(可适用于任何第三方) |
防止否认 | 不存在 | 存在 |
数字证书
- 公钥证书:记又加密对象属性的基本信息,同时由认证机构对称施加数字签名