文章更新日志
2020年10月24日 发布文章整体框架
2020年10月26日 增加DES
2020-1024=? 快乐
对称加密算法:加密和解密用同一个秘钥
优点:加解密速度快,性能开销小 [适合加密大量数据]
缺点:密钥分发难(如果通讯方数量庞大,实现共享秘钥困难),不能实现抗抵赖性(缺少签名机制),存在被抓包破解的风险
非对称加密算法:加密和解密用不同的秘钥
公钥加密的数据只能用私钥解密,用私钥加密的数据只能用公钥解密。私钥永远能掌握在自己手中。
优点:秘钥分发容易(存在对外公开的公钥,和永远不对外公开的私钥,无法从一个密钥推导出另一个),可实现抗抵赖性
缺点:速度慢,效率低(计算复杂|性能开销大),不适合加密大量数据
数字信封
- A获得收件人的公钥
- A创建一个随机的对称秘钥
- A使用加密秘钥和对称秘钥算法将明文数据转换为密文数据
- A使用B的公钥将机密秘钥转换为密文机密秘钥
- A将密文数据和密文机密秘钥一起发送给收件人
- B使用私钥将密文机密秘钥转换为明文
- B使用明文机密密码将密文数据转换为明文数据
缺点:对于B来说完整性无法校验,身份无法验证
可引入签名机制解决问题
引入签名的秘钥交换
- A本地产生会话秘钥(123)
- 用B的公钥加密123(会话秘钥)
- 对原始数据(Huawei)数据进行哈希运算(hash)
- A用私钥加密hash得到abc
- A发送密文Huawei,密文对称秘钥,签名abc
- B用私钥解密123(密文会话秘钥)
- B用解密后的123解密Huawei,得到明文Huawei
- B对解密后的Huawei做哈希,后使用A的公钥解密abc,会得到一个hash,如果数据一样则没有被篡改,真的是A发的
数字签名必须具备的条件:
- 一个用户能够对一个信息进行签名
- 其他用户能够对呗签名的信息进行认证该消息签名的真伪性
- 任何人不能伪造该签名
- 如果一个用户否认该签名真实性,则可通过第三方机构来解决争议(如CA机构)
公钥加密用私钥解密叫加密
私钥加密用公钥解密叫签名
DES
算法是由IBM公司在1970年左右开发的,1977年成为美国国家标准。DES建议的秘钥长度是64位,但在批准为标准时被修改为56位。现在56位的DES算法已经被认为是经不起攻击的。
个人思考
常见的对称加密算法
DES、3DES、AES
除了RSA还有什么非对称加密算法?
DSA,ECC,背包算法
非对称怎么满足可靠性、完整性?
可靠性:双方需要线具备对方的公钥,通过对方的公钥加密,只有对方的私钥才能解密,而私钥永远掌握在自己手中,通过公私钥加解密,即实现了数据加密也实现了数据源认证,确保了可靠性
完整性:通过签名,用私钥加密一个HASH值,对方收到以后,用自己的公钥解密,解密出来之后再计算HASH值,可以认证数据的完整性
如何实现源认证和完整性认证?证书申请方式
证书申请方式:1.在线2.离线
对称秘钥和非对称秘钥算法有哪些?
对称加密算法DES\3DES\AES等;非对称加密算法:RSA DSA ECC
Hash函数有特点?[※重要 全文背诵 XD]
(1)不可逆推(2)相同输入得到相同输出(3)定长输出(4)雪崩效应[少量信息位变化引起信息摘要许多位变化]
SM3是对称还是非对称?
国密算法!既不是对称也不是非对称,是一种hash函数!
什么是签名?私钥有什么特点?
签名:私钥加密的HASH值。跟公钥成对出现
举几个使用非对称秘钥算法的场景?
电商场景|网上银行|HTTPS
DES使用的秘钥是多少位?
用56位的秘钥加密64位的明文
现行的单项加密算法?
MD2、MD5、SHA等
——————————————————————
我华为面试时就考到了这个.....
面试官大概问的就是:通过采取"签名"介入的方法还会遇到什么安全问题?如何解决?
我的回答:第一个问题我忘记怎么回答的了。解决方案是通过接入一个中立机构,如CA机构。
随后面试官追问:如果引入了CA机构,那还会遇到什么问题?
我回答:必须保证CA机构的真实性
云云雨雨云云
2020-1024=
996明年997加油