论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
数据库
›
SqlServer
›
【常见开源库的二次开发】基于openssl的加密与解密—— ...
【常见开源库的二次开发】基于openssl的加密与解密——单向散列函数(四) ...
水军大提督
金牌会员
|
2024-7-19 14:12:39
|
显示全部楼层
|
阅读模式
楼主
主题
651
|
帖子
651
|
积分
1953
目次:
目次:
一、什么是单项散列函数?
1.1 如何验证文件是否被修改过
1.2 单项散列函数:
二、单向hash抗碰撞
2.1 弱抗碰撞(Weak Collision Resistance)
2.2 强抗碰撞(Strong Collision Resistance)
2.3 安全性问题
2.4 当前推荐使用的哈希函数
三、单向hash应用场景
3.1 文件完整性(查抄下载的软件是否被篡改):
3.2 口令加密:
3.3 消息认证(确保消息未被篡改):
3.4 伪随机数生成器(PRNG):
3.5 数字署名和非对称加密:
3.6 比特币的工作量证明(Proof of Work, PoW):
四、常用hash算法
4.1 MD5:
4.2 SHA1:
4.3 SHA2:
4.4 SHA-256:
4.5 SHA3:
一、什么是单项散列函数?
1.1 如何验证文件是否被修改过
当文件初次创建或被以为是处于可信状态时,
这个已存储的文件在传输文件过程中由于安全性原因大概会中途被攻击者篡改信息
,当我们拿到文件后如何知道信息是否被篡改保证信息的安全性呢?
这里我们起首将已存储的文件先做一个
已存储文件副本
,当我们已存储文件传输到我们这里时,我们想要知道信息是否完整,我们可以通过
与之前的已存储文件副本进行比对
,
校验确认完整性
。
已存储文件在形成已存储文件副本和传输文件时,我们可以以为
这个过程的安全性都是相同的
,都是有大概篡改的,而且在
形成与校验过程中开销相对来说也是比力大的
。
用
指纹代替文件比对
,
将已存储文件形成一个指纹文件,
指纹文件比力小,对于指纹文件的安全管理相对变得容易,而且开销也相对文件来说会小很对
。
我们可以用一台可信服务器来放我们的安全属性,如许安全保存的本钱更低,获取指纹的开销也比力小。
这里指纹必要满意的特点:
计算开销小、存储空间开销小、已存储文件改变之后指纹文件跟着改变
1.2 单项散列函数:
根据指纹所必要满意的特点,解决如许的问题,我们就用到的
单项散列函数
单项散列函数
也称为
哈希函数
,
是一种从输入数据(通常称为“消息”)生成固定巨细输出(通常称为“哈希值”或“哈希码”)的算法。
单向散列函数的关键特性之一是它们的单向性和抗碰撞性,这意味着从哈希值反推原始数据黑白常困难的,并且找到两个不同的输入数据,使其产生相同的哈希值也非常困难。
(1)任意长度数据 => 固定长度散列
:无论输入数据的巨细或长度如何,
哈希函数都会输出一个固定长度的哈希值。
这使得哈希函数非常适用于处理惩罚大型数据集
(2)减少匹配开销
:
通过比力两个哈希值,而不是两个完整的数据集
,可以大大减少匹配开销。这在比如文件完整性查抄、数据库索引创建等场景中非常有效。
(3)快速计算
:哈希函数通常设计得非常高效,可以快速计算出输入数据的哈希值。
(4)快速验证
:由于哈希值的
固定巨细
,验证哈希值比验证原始数据更快更简单。
(5)消息厘革=>散列值厘革
:哈希函数的另一个关键特性是,
纵然输入数据的微小厘革也会导致哈希值的大幅度厘革
。这就意味着,如果文件或消息被修改,哈希值也会改变,从而可以通过比力哈希值来检测修改。
(6)验证修改
:通过
对比文件或消息的原始哈希值和新的哈希值
,可以验证它们是否被修改过。
(7)单向不可逆
:从
哈希值无法(或至少在计算上不可行)反推出原始输入数据
,这是哈希函数的关键安全特性之一。
(8)抗碰撞:
找到两个不同的输入,它们产生相同的哈希值黑白常困难的。
这称为哈希函数的抗碰撞性。这是哈希函数在众多用途,如暗码学、数据完整性校验等方面的关键属性。
二、单向hash抗碰撞
2.1 弱抗碰撞(Weak Collision Resistance)
弱抗碰撞是指对于一个给定的输入
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
水军大提督
金牌会员
这个人很懒什么都没写!
楼主热帖
MySQL高可用架构搭建实战
让软件飞——“X+”技术揭秘 ...
使用 OpenTelemetry 和 Loki 实现高效 ...
哈希算法-SHA-256-过程详解
DQL语句(一) -----简单select查询 ...
可观测性和传统监控的三大区别 ...
TP 判断IP是否在国内
camunda工作流实战项目(表单设计器+流 ...
SQL99相较于SQL92在多表查询时的新语法 ...
Docker(11)-- DockerFile详解
标签云
挺好的
服务器
快速回复
返回顶部
返回列表