首页 > 其他分享 >信息安全工程师(19)HASH函数与数字签名

信息安全工程师(19)HASH函数与数字签名

时间:2024-09-26 23:21:20浏览次数:13  
标签:HASH 函数 数字签名 摘要 发送 19 消息 哈希

一、Hash函数

1、定义

       Hash函数,又称散列函数或哈希函数,是一种将任意长度的输入(称为预映射或消息)通过散列算法变换成固定长度输出(称为散列值或哈希值)的函数。这种转换是单向的,即不能从哈希值反向推导出原始输入。

2、特性

  • 单向性:难以根据哈希值反向求出原始数据。
  • 抗碰撞性:计算上几乎不可能找到两个不同的输入产生相同的哈希值。
  • 均匀分布:理想的哈希函数产生的输出看似随机且均匀分布。

3、应用

  1. 数据完整性验证:通过比较数据的哈希值,可以判断数据是否被篡改。
  2. 安全存储信息:如密码的存储,通常存储密码的哈希值而非明文密码。
  3. 防篡改时间戳:将文档的哈希值与时间信息一起存储,证明数据在特定时间点的存在性和未更改性。
  4. 区块链技术:区块链中的每个区块都包含前一个区块的哈希值,确保数据结构的完整性和顺序。

二、数字签名

1、定义

       数字签名是一种用于验证电子文档或消息的真实性和完整性的方法,通过加密技术提供验证数据来源和防止数据篡改的功能。

2、生成过程

  1. 生成消息摘要:使用哈希函数对原始消息生成固定长度的消息摘要。
  2. 签名加密:发送方使用自己的私钥对消息摘要进行加密,生成数字签名。
  3. 发送:将原始消息和数字签名一起发送给接收方。

3、验证过程

  1. 接收消息:接收方收到原始消息和数字签名。
  2. 生成消息摘要:使用相同的哈希函数对原始消息生成新的消息摘要。
  3. 签名解密:使用发送方的公钥对数字签名进行解密,得到发送方加密前的消息摘要。
  4. 比较摘要:将解密得到的消息摘要与接收方计算的消息摘要进行比较,如果两者一致,则签名有效,消息未被篡改。

4、特性

  • 真实性:验证消息的来源,确保发送方的身份真实性。
  • 完整性:验证消息在传输过程中未被篡改。
  • 不可否认性:发送方无法否认已发送的消息,因为只有发送方拥有生成数字签名的私钥。

5、应用

       数字签名广泛应用于电子邮件、软件分发、金融交易和其他需要高安全性的通信领域。它确保了数据的真实性、完整性和不可抵赖性。

总结 

       综上所述,Hash函数和数字签名是信息安全领域的两个重要工具,它们共同构成了现代电子通信和数据传输的基石。Hash函数为数据完整性验证提供了基础,而数字签名则进一步增强了数据的真实性和不可抵赖性。

 结语    

一个人有两个我

一个在黑暗中醒着

一个在光明中睡着

!!!

标签:HASH,函数,数字签名,摘要,发送,19,消息,哈希
From: https://blog.csdn.net/m0_73399576/article/details/142580076

相关文章

  • SSRF类型的CTF题目[De1CTF 2019]SSRF Me1
    启动BUUCTF靶场,先查看一下提示:显示出flag的文件路径是/flag.txt发现是一段python代码,整理一下:#!/usr/bin/envpython#encoding=utf-8fromflaskimportFlaskfromflaskimportrequestimportsocketimporthashlibimporturllibimportsysimportosimportjson......
  • 信息学奥赛复赛复习04-CSP-J2019-04-加工零件-位运算、整数映射0或1、结构体、初始化
    PDF文档回复:20240926<12019CSP-J题目4加工零件[题目描述]凯凯的工厂正在有条不紊地生产一种神奇的零件,神奇的零件的生产过程自然也很神奇。工厂里有n位工人,工人们从1∼n编号。某些工人之间存在双向的零件传送带。保证每两名工人之间最多只存在一条传送带如果......