嵌入式系统设计师学习笔记二十四:网络安全基础③——数字签名与消息摘要

嵌入式系统设计师学习笔记二十四:网络安全基础③——数字签名与消息摘要

认证-基本概念

在网络的应用中,鉴别是网络安全中的一个很重要的问题。认证和加密并不相同。
认证是要验证通信的双方的确是自己所要通信的对象,而不是其他的冒充者。

实体认证,是识别通信对方的身份,防止假冒。数字签名

消息认证,即所收到的报文的确是报文的发送者所发送的,而不是其他人伪造的或篡改的。报文摘要

数字签名-数字签名的实现


为了进行签名:
①A用其私钥SKa对报文X进行D运算,从而得到了某周不可读的密文。
②A把经过D运算得到的密文传送给B。
③B为了核实签名,用A的公钥PKa进行E运算,还原出明文X。

上述过程仅对报文进行了签名。对报文X本身却未保密。因为截获到密文DSKa(x),并指导发送者身份的任何人,都可以获得发送者的公钥PKa,因而能知道报文的内容。

数字签名-具有保密性的数字签名


由于B的公钥,所有用户都能截取到,因此A用户可以将自己的签名过的密文用B的公钥进行加密,然后发送给B用户,B用户自己拥有自己的私钥能够将被B的公钥加密过的密文进行解密,但是其他用户虽然能获取该密文,但是没有B的私钥,因此无法进行解密。

消息摘要

对很长的报文进行数字签名会使计算机增加很大的负担(需要进行很长时间的运算),因此,我们传送不需要加密的报文时,应当使接收者能用很简单的方法鉴别报文的真伪。

报文摘要(信息摘要):是进行报文认证的简单方法。
常用的算法有MD5(消息摘要算法),**SHA(安全散列算法)**等,市场上广泛使用的MD5,SHA算法的散列值分别为128和160位,由于SHA通常采用的密钥长度较长,因此安全性高于MD5,但计算起来要慢些。

消息摘要算法

消息摘要是主要的数字签名算法,它利用散列(Hash)函数(哈希函数、杂凑函数)进行数据的加密。

单向Hash函数提供了这样一种计算过程:输入一个长度不固定的字符串,返回一串定长的字符串,这个返回的字符串称为消息摘要,也称为Hash值或列值。

特点
①首先,在某一特定时间内,无法查找经Hash操作后生成特定的Hash值的原消息;

②其次,无法查找两个经Hash操作后生成相同Hash值的不同消息;

③这样,在数字签名中就可以解决验证签名、用户身份认证和不可抵赖性的问题。

消息摘要的实现


优点:仅对短得多的定长报文摘要H进行数字签名要比对整个长报文进行数字签名要简单的多,所耗费的计算资源也小得多。

使用报文摘要算法生成报文摘要的主要目的是防止发送的报文被篡改。

全部评论

相关推荐

后端实习中的 “好需求”,核心定义是能支撑面试深度讨论、可向外延伸多维度知识点的需求—— 本质是能让你在面试官拷打时,有足够空间展现技术积累、解决问题的能力,而非仅完成简单 CRUD。结合面试反推逻辑,具体可分为三类,且都具备 “可延伸、有讨论点” 的共性。本质上是这个需求要支撑你能给面试官吹牛逼。典型的垃圾需求:或许有的同学可能还不理解什么叫做可以吹牛逼的需求,我举一个最简单的反例,很多同学写苍穹外卖的时候,总爱把一个需求写到简历上:  基于OSS处理用户上传图片,获取OSS返回URL,实现用户远程上传图片。这就是个最典型的垃圾需求。因为你发现论代码链路,他没什么可讲的。论各种新潮技术,他也...
反装笔大队长:分情况吧。需求分业务需求和技术需求,技术需求你说的是对的。像CRM、OA、NC等等,这些业务系统很多时候对技术要求并不高的,不可否认的是 这些需求还是很不错的。 NC系统的进销存。实际上只是对仓库、库位、库存量、入库出库单价、数据报表等数据的统计与计算。CRM的市场活动、人面画像分析与统计、客户信息管理等,这些无非都是一些增删改查。对于业务需求面试官通常都是问你对业务的理解与过往对该业务的处理方案,并不会死磕技术。技术肯定是多多益善,但在业务开发中 正在有意义的是你的经历。
投递字节跳动等公司10个岗位
点赞 评论 收藏
分享
大野鸡:其实就是量,但是时间有限,1000题只要不是全中等简单,简单中等困难1-2-1,大概能打打比赛了(前20%),10000题就是下一个灵神
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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