消息摘要-MD-数字签名

原始文本----哈希函数----消息摘要
消息摘要--私钥-----加密消息摘要
接收--
加密消息摘要---公钥验证---消息摘要
原始文本---单向哈希函数----消息摘要
也就是确保传送的文本不会被修改----额外加入数字签名--两次哈希一致则是一致的

数字签名采用非对称密码体制(公钥密码体制),即发送者 使用 私钥加密数据 ,接收者 使用 对应的公钥 解密数据,它具有以下功能:

① 报文鉴别 : 用于 证明来源 , 接收者 可以 通过签名 确定 是哪个发送者 进行的签名 ;

② 防止抵赖 : 防止 发送者 否认签名 , 发送者 一旦签名 , 标记就打上了 , 无法抵赖 ;

③ 防止伪造 : 防止 接收者 伪造 发送者 的签名 。
全部评论
所以私钥加密仅限于用于数字签名,保证原始文本的消息摘要一致! CA证书是用于确保这个网址的公钥是属于这个网址的!所以浏览器保存官方的CA证书,这样可以保证官方机构的公钥正确,这样就可以解密对应网址的公钥,从而可以通信 https TLS四次握手,先非对称握手,确保后再用对称加密
点赞 回复 分享
发布于 2023-03-24 23:42 日本
所以说并不是说公钥就一定是加密的!公钥私钥本身就是一对,只不过是分出发送给所有外界的才叫公钥,两个都可以互相加密解密,但是通信一般是使用双方的公钥!不然私钥加密,其他所有有公钥的都可以解密
点赞 回复 分享
发布于 2023-03-24 23:39 日本
原文^(p) mod N = 密文 密文^(q) mod N = 原文 也就是说!!公钥加密只能私钥解密,私钥加密只能公钥解密!也就是说实际上自己私钥加密的,所有的公钥全都可以解密!所以说实际上一般双方通信是互相交换公钥,互相用对方的公钥加密通信,只有自己的私钥才可以解密
点赞 回复 分享
发布于 2023-03-24 23:37 日本
MD5无论多大都会生成128bit也就是4bit 16进制-32个
点赞 回复 分享
发布于 2023-03-24 23:25 日本
https://www.51cto.com/article/742131.html
点赞 回复 分享
发布于 2023-03-24 23:11 日本
RSA算法中,公钥和私钥是通过一些数***算生成的,它们之间有一定的数学关系。具体地,公钥由两个参数组成,即模数N和加密指数e;私钥也由两个参数组成,即模数N和解密指数d。这些参数的选择需要满足一些特定的条件,才能保证加密和解密的正确性和安全性。
点赞 回复 分享
发布于 2023-03-24 23:07 日本
假设发送方Alice想要发送一条消息给接收方Bob,并且想要确保消息的完整性和真实性,可以使用数字签名来实现。假设使用RSA算法,数字签名的过程如下: 生成密钥 Alice随机选择两个大质数p=23和q=37,并计算N=p*q=851。然后选择一个整数e=13作为公钥,计算d=757作为私钥。 加密过程 a. Alice使用哈希算法对消息进行摘要,得到消息摘要M=hash("Hello, Bob")=123。 b. Alice使用私钥d对消息摘要进行加密,得到数字签名S=123^757 mod 851=793。 解密过程 a. Bob使用公钥e对数字签名进行解密,得到消息摘要M'=793^13 mod 851=123。 b. Bob再对原始消息进行哈希算法计算,得到消息摘要M=hash("Hello, Bob")=123。 验证 Bob将这两个消息摘要进行比较,发现M=M',说明数字签名是有效的,消息是完整的、真实的。 需要注意的是,数字签名的安全性依赖于私钥的保密性和哈希算法的安全性,因此需要选择足够大的密钥和安全的哈希算法,以及合理的密钥管理方式来保证数字签名的安全性。
点赞 回复 分享
发布于 2023-03-24 23:06 日本

相关推荐

bg双非本科,方向是嵌入式。这次秋招一共拿到了 8 个 offer,最高年包 40w,中间也有一段在海康的实习经历,还有几次国家级竞赛。写这篇不是想证明什么,只是想把自己走过的这条路,尽量讲清楚一点,给同样背景的人一个参考。一、我一开始也很迷茫刚决定走嵌入式的时候,其实并没有一个特别清晰的规划。网上的信息很零散,有人说一定要懂底层,有人说项目更重要,也有人建议直接转方向。很多时候都是在怀疑:1.自己这种背景到底有没有机会2.现在学的东西到底有没有用3.是不是已经开始晚了这些问题,我当时一个都没答案。二、现在回头看,我主要做对了这几件事第一,方向尽早确定,但不把自己锁死。我比较早就确定了嵌入式这个大方向,但具体做哪一块,是在项目、竞赛和实习中慢慢调整的,而不是一开始就给自己下结论。第二,用项目和竞赛去“证明能力”,而不是堆技术名词。我不会刻意追求学得多全面,而是确保自己参与的每个项目,都能讲清楚:我负责了什么、遇到了什么问题、最后是怎么解决的。第三,尽早接触真实的工程环境。在海康实习的那段时间,对我触动挺大的。我开始意识到,企业更看重的是代码结构、逻辑清晰度,以及你能不能把事情说清楚,而不只是会不会某个知识点。第四,把秋招当成一个需要长期迭代的过程。简历不是一次写完的,面试表现也不是一次就到位的。我会在每次面试后复盘哪些问题没答好,再针对性补。三、我踩过的一些坑现在看也挺典型的:1.一开始在底层细节上纠结太久,投入产出比不高2.做过项目,但前期不会总结,导致面试表达吃亏3.早期有点害怕面试,准备不充分就去投这些弯路走过之后,才慢慢找到节奏。四、给和我背景相似的人一点建议如果你也是双非,准备走嵌入式,我觉得有几件事挺重要的:1.不用等“准备得差不多了”再投2.项目一定要能讲清楚,而不是做完就算3.不要只盯着技术,多关注表达和逻辑很多时候,差的不是能力,而是呈现方式。五、写在最后这篇总结不是标准答案,只是我个人的一次复盘。后面我会陆续把自己在嵌入式学习、竞赛、实习和秋招中的一些真实经验拆开来讲,希望能对后来的人有点帮助。如果你正好也在这条路上,希望你能少走一点弯路。
x_y_z1:蹲个后续
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务