本文部分摘取自:https://blog.csdn.net/xjhhjx/article/details/81603107

序言

密码技术的目的很明确,就是为了解决信息安全问题。
就本人从事行业来说,可以用客户端与服务器端的数据通讯过程举例(考虑客户端与服务器端通讯的双向性)。

信息安全可分为四类特性:

1、数据保密性:为了防止通讯过程中信息被窃听,对应的密码技术有对称加密非对称加密。(用户敏感数据不应明文传输)

2、数据完整性:为了防止通讯过程中信息被篡改,对应的密码技术有单向散列函数、消息认证码、数字签名。

3、认证:为了防止攻击者伪装成真正的发送者,对应的密码技术有消息认证码和数字签名。

4、数据抗抵赖:为了防止发送者事后否认自己没有做过,对应的密码技术为数字签名。

2.保证数据完整性

消息摘要
  消息摘要函数是一种用于判断数据完整性的算法,也称为散列函数或哈希函数,函数的返回值是散列值,散列值又称为消息摘要或者指纹。

这种算法是不可逆的,即无法通过消息摘要反向推导出消息,因此又称为单向散列函数。

常见算法:

MD5 SHA-1 SHA-2(SHA-224,SHA-256,SHA-384,SHA-512)
国密SM3(安全性及效率与SHA-256相当)
  
值得注意的是,现阶段有些系统会使用MD5或者base64当做应用层的加密手段。姑且不论MD5和base64根本不可称之为加密算法,实际就目前而言,MD5和SHA1已被破解,base64只是作为一种转码算法。目前相对安全的哈希算法需达到SHA256及以上级别

例:

当我们使用某一软件时,下载完成后需要确认是否是官方提供的完整版,是否被人篡改过。通常软件提供方会提供软件的散列值,用户下载软件之后,在本地使用相同的散列算法计算散列值,并与官方提供的散列值向对比。如果相同,说明软件完整,未被修改过。
  
下图是使用Windows命令行查看本地某Apk文件签名信息的运行结果,如果App具备自校验签名机制,当我们对该apk文件进行重签名之后,安装重签名的Apk文件并运行,过程中会失败

keytool -list -printcert -jarfile F:\1.apk

优点:

可以保证数据的完整性。

缺点:

无法保证数据的真实性,即不能确定数据和散列值是来自发送方的,因为攻击者完全可以将数据和散列值一起替换。

问题:

如何验证发送的数据确实来自于发送方?

密码学篇(数据完整性)相关推荐

  1. 【密码学篇】虚拟专用网技术原理与应用(商密)

    [密码学篇]虚拟专用网(VPN)技术原理与应用(商密) VPN技术不是洪水猛兽,其普遍应用于网络通信安全和网络接入控制,可通过服务器.硬件.软件等多种方式实现.-[蘇小沐] 文章目录 [密码学篇]虚拟 ...

  2. 【密码学篇】商用密码产品的密钥体系结构小结

    [密码学篇]商用密码产品的密钥体系结构小结 商用密码产品的密钥体系结构笔记小结-[蘇小沐] 文章目录 [密码学篇]商用密码产品的密钥体系结构小结 1.商用密码产品密钥体系结构 (一)服务器密码机密钥体 ...

  3. 【密码学篇】密码行业标准汇总(GM)

    [密码学篇]密码行业标准汇总(GM) 截止到2023年03月10日,共130个密码行业标准,适用商用密码应用与安全性评估等密码行业,可点击链接预览或下载标准-[蘇小沐] 文章目录 [密码学篇]密码行业 ...

  4. 【密码学篇】GM密码行业标准下载方法

    [密码学篇]GM密码行业标准下载方法 截止到2023年07月08日,密码行业标准化技术委员会共发布了144个密码行业标准,可点击链接预览或使用IDM下载器下载标准,此外该方法很多场景都适用,自行尝试- ...

  5. WhaleCTF 密码学篇~

    WhaleCTF 密码学篇~ Death_Chain 先有什么 检查符号 德军密码 密钥生成 规则很公平 数学小问题 此处应写 栅栏加密 小明入侵 RSA破解 RSA分解 只有密文 算法问题 大家来解 ...

  6. 程序猿成长之路之密码学篇-DES介绍

    上一篇讲到了密码学的定义和发展历史,讲到了一些基础理论如扩散(明文的一位可以影响密文的多位)和混淆(密钥和密文的对应关系复杂化),如信息安全系统三要素CIA(机密性.完整性.可用性)等,并简要的介绍了 ...

  7. 网络安全CTF夺旗赛入门到入狱-密码学下篇

    哈喽大家好,我是菜鸡林某.今天给大家带来CTF夺旗赛入门的第一步密码学篇下半部分(干货部分)不了解什么是CTF和密码学的可以看上一篇 传送门: 网络安全CTF夺旗赛入门到入狱-入门介绍篇 网络安全CT ...

  8. 前景无限的golang,分分钟高薪offer

    文章目录 前景无限的golang,正是企业必争之地! 全球企业纷纷抢滩布局,数千家golang创业公司竞相成立 万亿市场,技术人才极度缺乏,谁先入行,谁就成长更快! 没有对比就没有伤害,不是所有潮流技 ...

  9. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第39篇]侧信道攻击和故障攻击有什么区别

    这是一系列博客文章中最新的一篇,该文章列举了"每个博士生在做密码学时应该知道的52件事":一系列问题的汇编是为了让博士生们在第一年结束时知道些什么. 侧信道攻击(Side-chan ...

最新文章

  1. IIS目录禁止执行权限
  2. Linux下shell颜色配置
  3. VS 配置外部DLL的引用路径【可执行文件的环境路径】
  4. Game as a Service —— 开源云游戏搭载WebRTC
  5. java三判式,Java编程设计模式,第 3 部分
  6. [读码时间] 记住密码提示框
  7. CCF 2014-3-1 相反数
  8. mssql 数据库“查询处理器用尽了内部资源,无法生成查询计划。”问题的处理...
  9. Python之常用模块(3)
  10. 通过smtplib和email发送验证码到电子邮箱(Python3.7.X)
  11. 编程必会的100个代码大全,建议收藏
  12. ZUL页面注解语法与Java注解语法
  13. Java 之父 James Gosling 最新访谈:JIT 很好,但不适合所有语言
  14. px和毫米之间的转换
  15. mac HBuX连接夜神模拟器,连接真机
  16. sql-in查询-元素超过1000条解决方案
  17. 陈莉君教授: 回望踏入Linux内核之旅(下篇)
  18. 【海洋科学】高精度地形数据画出的水深图
  19. 人脸识别——OpenCV调取摄像头识别人脸
  20. Globally and Locally Consistent Image Completion 实验记录

热门文章

  1. 微机原理与接口技术系列笔记(一)
  2. 音乐平台程序源码分享
  3. AD9361 介绍 (中)
  4. ChessBoard棋盘覆盖问题
  5. java中String优化之intern()方法
  6. virtual Box与Vagrant的安装与踩坑
  7. System.InvalidOperationException:“ConnectionString 属性尚未初始化。” 连接字符串的根本解决办法
  8. 在局域网中搭建自己的网站
  9. linux 的 ip 命令 和 ifconfig 命令
  10. 【jiasuba】分享:键盘失灵烦恼多 教你轻松禁用原键盘