0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

数据完整性问题的解决办法——校验和

如意 来源:读芯术微信公众号 作者:读芯术微信公众号 2020-08-31 15:13 次阅读

数据完整性是指系统中信息的准确性、合法性和一致性。在发送信息时,尤其是使用不可靠媒介时,数据完整性可以确保该信息未被篡改。

非法数据的潜在成因是什么?

数据完整性能防止出现数据违背系统的指令被篡改等系列问题。其中一些潜在的问题包括:

物理故障:用不好的媒介传输大量数据可能会毁坏数据。例如,无线信号可能会暂时丢失,或者线路可能遭到噪声电信号的干扰。

数据问题:负责传达信息的软件可能有一些漏洞,无意间使信息的子集发生变异。

恶意篡改:可能有中间人正在更改信息,以迷惑通讯员或者学习有价值的信息。

解决办法-校验和

校验和可以解决以上三个潜在的数据完整性问题。校验和是从信息数据中衍生出的一个确定值,可以单独传输,这意味着给定信息的校验和总是相同的。

信息接受者可以从该信息中生成校验和,如果生成的校验和与发送信息的校验和匹配,那么发送的信息就不会被篡改。

需要注意的是,如果获取校验和的媒介不可靠,那么信息和校验和都可能被中间人篡改。通常较好的做法是在校验和上签署数字签名,数字签名就能证明校验和的发送者的身份。

什么是好的校验和?

校验和的类型很多,但是最好的校验和通常是加密哈希函数。哈希函数能生成很好地校验和验证数据的完整性,以下是它的性质:

确定性:同一信息的哈希值始终相同,不存在随机性。

速度快:无需使用不必要的资源计算校验和(KDF是一种低效的校验和)。

几乎不重合:两条不同的信息生成相同的校验和的可能性几乎为零。

精简:哈希的结果(又称“摘要”)应该很简短,无需浪费大量数据。

SHA-256哈希函数通常用于创建校验和摘要。

示例 –验证实际的校验和

校验和的常见用例是对下载的验证。在本例中,我们将下载比特币核心节点软件并验证其完整性。假设你使用的是Mac OS,对于其他OS(操作系统),请按照下载页面的说明进行操作。

下载程序:https://bitcoincore.org/bin/bitcoin-core-0.19.1/bitcoin-0.19.1-osx.dmg?ref=hackernoon.com

下载校验和:https://bitcoin.org/bin/bitcoin-core-0.19.1/SHA256SUMS.asc?ref=hackernoon.com

打开终端并下载文件夹:

cd ~/Downloads

计算并打印下载的dmg文件的校验和:

shasum -a 256 bitcoin-0.19.1-osx.dmg

应该打印:

206d8d92189d22e735393abebeb7a2e7237a119dd448b4a40df8c357da1287b2 bitcoin-0.19.1-osx.dmg

然后打印下载的(预期的)校验和:

catSHA256SUMS.asc | grep bitcoin-0.19.1-osx.dmg

应该匹配:

206d8d92189d22e735393abebeb7a2e7237a119dd448b4a40df8c357da1287b2 bitcoin-0.19.1-osx.dmg

如果能够匹配,那么恭喜你!你的下载已经通过验证。你下载的程序没有经过恶意篡改。

此外,请记住,要验证提供给你的校验和未被篡改,你还需要验证GPG签名。
责编AJX

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6786

    浏览量

    88705
  • 校验和
    +关注

    关注

    0

    文章

    3

    浏览量

    6540
  • 数据完整性
    +关注

    关注

    0

    文章

    13

    浏览量

    5092
收藏 人收藏

    评论

    相关推荐

    常见的信号完整性问题及解决方案

    在实际的应用场景中,会遇到多种信号完整性问题,典型问题有如下几种:反射、串扰,电源/地噪,时序等。其中,发射和串扰是引起信号完整性问题的两大主要原因。
    发表于 10-09 10:56 4039次阅读

    电源完整性问题是指什么?电源完整性分析

    电源的作用是为系统提供稳定的电压及电流。电源完整性问题是指电源的电压、纹波及噪声不满足系统的工作要求,通过合理的电源供电网络设计可以减小电源塌陷等电源完整性问题,提高系统的稳定性。
    的头像 发表于 02-22 10:09 6111次阅读
    电源<b class='flag-5'>完整性问题</b>是指什么?电源<b class='flag-5'>完整性</b>分析

    3G网络与PCB信号完整性问题

    更坏。 信号完整性解决办法 对芯片设计,通常采用两种方法解决信号完整性问题。其RF解决方案集中于传输线,常在封装边界上使用阻抗匹配办法,而数字(即宽带)解决方案则强调选择封装,控制同
    发表于 12-05 17:44

    时序分析-- 信号完整性问题(SI)

    时序分析-- 信号完整性问题(SI)
    发表于 05-16 10:44

    高速电路设计中的信号完整性问题是什么?怎么解决这些问题?

    本文分析了高速电路设计中的信号完整性问题,提出了改善信号完整性的一些措施,并结合一个VGA视频分配器系统的设计过程,具体分析了改善信号完整性的方法。
    发表于 06-03 06:22

    高速DSP 数据采集的信号完整性问题

    深入研究高速数字电路设计中的信号完整性问题;分析电路中破坏信号完整性的原因;结合一个实际的DSP 数据采集系统, 阐述实现信号完整性的具体方法。
    发表于 04-15 09:08 16次下载

    高速DSP 数据采集的信号完整性问题

    深入研究高速数字电路设计中的信号完整性问题;分析电路中破坏信号完整性的原因;结合一个实际的DSP 数据采集系统, 阐述实现信号完整性的具体方法。
    发表于 05-18 13:24 17次下载

    在高速设计中,如何解决信号的完整性问题

    在高速设计中,如何解决信号的完整性问题? 信号完整性基本上是阻抗匹配的问题。而影响阻抗匹配的因素有信号源的架构和输出阻
    发表于 01-02 11:15 1176次阅读
    在高速设计中,如何解决信号的<b class='flag-5'>完整性问题</b>?

    数字电路设计的信号完整性问题探讨

    文章介绍了数字电路设计中的信号完整性问题, 探讨了振铃、边沿畸变、反射、地弹、串扰和抖动等各种信号完整性问题的成因和抑制措施。针对常见的反射和串扰给出了较为详细的分
    发表于 09-07 16:14 104次下载
    数字电路设计的信号<b class='flag-5'>完整性问题</b>探讨

    识别和修复pcb信号完整性问题

    在PCB信号完整性问题可以很容易地定位和固定使用HyperLynx®。出口你的设计从PCB布局之后,可以以批处理方式运行模拟和/或交互模式发现信号完整性问题。内置的终结者向导可以分析一个拓扑和建议
    的头像 发表于 10-12 07:08 2806次阅读

    什么因素导致信号完整性问题?

    在这里,我们将讨论潜在的信号完整性问题,它们的来源,理解它们的重要性,以及我们如何分析和解决这些问题。关于电气设计,信号完整性应该集中在两个主要方面:定时和信号质量。
    的头像 发表于 09-26 09:22 8427次阅读

    信号完整性问题与PCB设计

    信号完整性问题与PCB设计说明。
    发表于 03-23 10:57 0次下载
    信号<b class='flag-5'>完整性问题</b>与PCB设计

    PCB设计中的信号完整性问题

    信号传输并非严格针对网络设计师,您的PCB设计可能会遇到相同类型的问题。由于您无需费力地摆弄耳朵,因此防止电源完整性和信号完整性问题对于您的PCB设计流畅且无静电至关重要。
    的头像 发表于 11-08 17:25 692次阅读
    PCB设计中的信号<b class='flag-5'>完整性问题</b>

    在高速设计中,如何解决信号的完整性问题

    在高速设计中,如何解决信号的完整性问题? 在高速设计中,信号完整性问题是一个至关重要的考虑因素。它涉及信号在整个设计系统中的传输、接收和响应过程中是否能够维持其原始形态和性能指标。信号完整性问题可能
    的头像 发表于 11-24 14:32 599次阅读

    高速PCB信号和电源完整性问题的建模方法研究

    高速PCB信号和电源完整性问题的建模方法研究
    发表于 09-21 14:13 0次下载