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

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

时间:2024-09-26 23:21:20浏览次数:9  
标签: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

相关文章

  • HashMap和ConcurrentHashMap的区别
    1.是什么    HashMap和ConcurrentHashMap都是Java集合框架中的成员,它们用于存储键值对,但它们在并发场景下的表现和行为有很大的不同。以下是它们之间的一些主要区别:1.并发安全性HashMap: HashMap不是线程安全的。如果多个线程同时访问HashMap,并且至少有一个线程在结......
  • JDK7和JDK8中的HashMap有什么区别?
            在JDK7和JDK8中,HashMap的实现有显著的不同,主要体现在以下几个方面:1.数据结构JDK7:在JDK7中,HashMap使用数组+链表的数据结构来存储键值对。当发生哈希冲突时,即多个键映射到同一个桶(bucket)时,这些键值对会以链表的形式存储。JDK8:在JDK8中,当链表的......
  • 【刷题笔记】2019 CSP-J
    2019CSP-J题目整理B-公交换乘思路梳理先想暴力算法,一遇到公交车,就在已出现过的优惠卷中寻找价格大于等于公交车票价,并且出现时间最早且没有用过的优惠卷,时间复杂度为\(O(n^2)\),必然会炸。但是注意题目中给到的特殊性质,要求如果优惠卷有效,则\[t_{bus}-t_{subway}\le45\]并......
  • SSRF类型的CTF题目[De1CTF 2019]SSRF Me1
    启动BUUCTF靶场,先查看一下提示:显示出flag的文件路径是/flag.txt发现是一段python代码,整理一下:#!/usr/bin/envpython#encoding=utf-8fromflaskimportFlaskfromflaskimportrequestimportsocketimporthashlibimporturllibimportsysimportosimportjson......
  • C# Linq.FirstOrDefault、Linq.Where、Linq.AsParallel、List.Exists、List.Find、Dic
    C#Linq.FirstOrDefault、Linq.Where、Linq.AsParallel、List.Exists、List.Find、Dictionar.TryGetValue、HashSet.Contains性能的比较 今天我们来比较一下集合检索方法性能更优问题,测试代码publicclassEntity{publicintId{get;set;}publicintNo{......
  • 信息学奥赛复赛复习04-CSP-J2019-04-加工零件-位运算、整数映射0或1、结构体、初始化
    PDF文档回复:20240926<12019CSP-J题目4加工零件[题目描述]凯凯的工厂正在有条不紊地生产一种神奇的零件,神奇的零件的生产过程自然也很神奇。工厂里有n位工人,工人们从1∼n编号。某些工人之间存在双向的零件传送带。保证每两名工人之间最多只存在一条传送带如果......
  • COMM1190 Data, Insights and Decisions
    COMM1190 Data, Insightsand DecisionsAssessment 1:InitialreportTelcomCochurnrate projectThe General Manager (GM) at TelcomCo is mandated to deliver a customer retention update to the Board of Directors. To prepare, the GM in......
  • 信息学奥赛复赛复习04-CSP-J2019-04-加工零件-位运算、整数映射0或1、结构体、初始化
    PDF文档公众号回复关键字:2024092612019CSP-J题目4加工零件[题目描述]凯凯的工厂正在有条不紊地生产一种神奇的零件,神奇的零件的生产过程自然也很神奇。工厂里有n位工人,工人们从1∼n编号。某些工人之间存在双向的零件传送带。保证每两名工人之间最多只存在一条传送带......
  • Windows Server 2019 Web服务器之IIS的安装与基本配置
    准备工作:选择一台服务器作为WEB-IIS服务器在WindowsServer2019系统中,IIS角色是可选组件,默认情况下是没有安装的。1.在windows服务器中安装IIS1)打开【服务器管理器】,单击【添加角色和功能】。2)默认选择【基于角色或基于功能的安装】,点击【下一步】。3)默认选项,继续下一步。......
  • TreeMap实现一致性hash
    usingSystem.Security.Cryptography;usingSystem.Text;namespaceConsoleApp7{internalclassProgram{staticvoidMain(string[]args){varservers=newList<string>{......