当前位置:网站首页>非对称加密——网络安全
非对称加密——网络安全
2022-08-11 05:31:00 【爱吃西瓜爱吃肉】
非对称加密:
A给B发信件,A对信件使用摘要算法对信件原文进行摘要(摘要算法HASH一旦内容发生轻微的变动,摘要会发生巨大的改变),A使用私钥对摘要进行加密(即数字签名),将加密后的摘要附在信的原文下面。B取到信件后使用公钥对加密的摘要进行解密,对信件进行摘要,与该摘要进行对比,如果对比成功即可确定是A发送的信件,且没有更改
其中:公钥是公共的。如何保证黑客没有使用公钥解密篡改呢?
当黑客获取到公钥时进行解密篡改,此时没有私钥,私钥保存在A服务器中,二公钥时公共的。此时无法对摘要进行加密,当B接到信件后发现无法利用公钥对摘要进行解密,即确定非A信件或者已经被篡改
黑客可以伪造公钥,怎么判断公钥的真实性?
数字证书信息(包含:xx的公钥,证书认证机构CA颁发)利用HASH生成Message Digest,通过CA的私钥加密后生成签名,放到数字证书信息上,生成数字证书,和加密摘要一样一同附带在信件上寄给B。
取出信件的证书利用CA的公钥解密证书,对原信件获取数字证书,两者进行对比,如果一致则取出A的公钥,再进行以上步骤,利用公钥解密摘要
http协议——网页加密
网站使用http协议,需要向CA申请数字证书,CA使用私钥加密数字证书并签名,数字证书中存有网站公钥一并颁发数字证书。场景:
此时有浏览器向该网站发送加密请求——
网站响应加密网页以及数字证书,浏览器使用CA的公钥对数字证书进行解密(CA的公钥默认安装在操作系统中)客户端也会判度当前访问的网页和数字证书的信息中持有者是否一致,如果不一致则是伪造的;先判断是否是CA颁布的证书,如果不是或者非正规的或者过期,网站提示不安全是否继续访问。判断完成后,即可从证书中取出网站公钥,就可以与网站进行通信了
边栏推荐
猜你喜欢
随机推荐
【LeetCode-278】第一个错误的版本
three.js基础学习
Lua 快速入门(三)——表(Table)
无效的修订:3.18.1-g262b901-dirty
Manufacturer Push Platform-Huawei Access
C语言-7月31日-指针的总结以及typedef关键字
Day 76
C-动态内存管理
解决npm warn config global `--global`, `--local` are deprecated. use `--location=global` instead.
Day 69
js 学习进阶(事件高级 pink老师教学笔记)
【LeetCode-69】x的平方根
OpenGL中glGenBuffers glBindBuffer glBufferData的理解
Byte (byte) and bit (bit)
【转】Unity C# 关于Attribute的使用(超实用)
一文看懂注解与反射
jdbc接口文档参考,jdbc接口方法逻辑探究
Day 84
Content Size Fitter的使用
JS事件循环机制