密码学及其应用

密码学及其应用

​ 本次分享主要讲两个部分一个是加密,另外一个是认证

1.密码

1.1 加密算法及其分类

​ 根据秘钥的使用可以分为对称加密算法和非对称加密算法(也称公钥加密算法,以下都称非对称加密)

在这里插入图片描述
​ 加密解密过程

​ 当加密密钥和解密密钥一致时,被称为加密加密算法,常见的算法有AES、DES、3DES,其中AES加密算法是美国联邦政府采用的加密标准。

​ 当加密密钥和解密密钥不一致时,称为公钥加密算法。常见的算法有RSA、DSA、ECC,其中RSA是目前最有影响力的公钥加密算法,现已被ISO推荐为公钥加密标准。

1.2 对称加密加密原理

编码

​ 将现实世界中的东西映射为比特序列,执行加密就是将明文的比特序列转换为密文的比特序列

异或

​ 对同一个值异或两次还是原来的结果
A ⨁ B ⨁ B = A A\bigoplus B\bigoplus B=A ABB=A

对称算法特点

密钥管理:比较难,不适合互联网,一般用于内部系统

安全性:中

加密速度:快,适合大数据量的加解密处理

1.3 非对称加密算法过程

在这里插入图片描述

非对称算法特点

密钥管理:密钥容易管理

安全性:高

加密速度:比较慢,适合小数据量加解密或数据签名

2.认证

​ 密码技术不仅能够提供机密性,还可以验证消息的完整性、认证功能。

2.1 单向散列函数-获得消息的指纹

​ 单项散列函数有一个输出和一个输入,其中输入称为消息,输出称为散列值,把任意长的输入消息串变化成固定长的输出串且由输出串难以得到输入串的一种函数,常见函数有MD5(128b),SHA1(160b)。
在这里插入图片描述
​ 单向散列函数

​ 为了防止软件被篡改,有安全意识的软件发布者会在发布软件同时发布该软件的散列值,散列值就是通过单向散列函数计算出来的数值。单向散列函数说保证的并不是机密性而是完整性,完整性指的是数据是正牌的而不是伪造的,使用单向散列函数就可以检测出数据是否被篡改过。

在这里插入图片描述
​ 单项散列函数

单项散列函数的性质

  1. 根据任意长度计算出固定长度的散列值
  2. 能够快速计算出散列值
  3. 消息不同,散列值也不同
  4. 具备单向性

2.2 消息认证码-消息被正确传送了吗

​ 消息认证码(message authentication code)是一种确认完整性并进行认证的技术,其包括任意长度的消息和一个发送者与接收者之间共享的密钥,他可以输出固定长度的数据。
在这里插入图片描述

​ 为了确认消息是否来自所期望的通信对象,可以使用消息认证码,消息认证码不仅能保证完整性,还能提供认证机制。

​ 缺点无法防止否认,因为共享一个密钥的,消息双方都可以

2.3 数字签名-消息到底是谁写的

​ 数字签名能够防止伪装、篡改和否认,是一种将现实世界中的签名和盖章移植到数字世界中。主要使用非对加密算法,使用私钥对数据进行签名,然后发送信息,然后接受方,那公布的公钥来验证,从而确认消息是不是由真正的发送方发送。

在这里插入图片描述

2.4 伪随机数-不可预测性的源泉

伪随机数生成器具有“内部状态“,并根据外部输入的”种子“来生成伪随机序列。
在这里插入图片描述

总结

在这里插入图片描述

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值