三. 散列算法概述与部分详解

2.2 散列算法介绍

2.2.1 散列算法(函数)

概念

散列函数没有密钥,散列函数就是把可变输入长度串(叫做预映射, Pre-image)转换成固定长度输出串(叫做散列值)的一种函数。
散列函数又可称为压缩函数、杂凑函数、消息摘要、指纹、密码校验和、信息完整性检验(DIC)、操作认证码(Message Authentication Code, MAC)。 哈希消息验证码(HMAC)

用法:

可以利用散列函数进行数据文件的完整性校验。 
数字签名(见PKI)

常用的消息摘要算法有:
MD5算法
SHA算法
RIPEMD算法

MAC:

消息认证码(带密钥的Hash函数)。密码学中,通信实体双方使用的一种验证机制,保证消息数据完整性的一种工具。

安全性依赖于Hash函数,故也称带密钥的Hash函数。消息认证码是基于密钥和消息摘要【hash】所获得的一个值,可用于数据源发认证和完整性校验。

1. 发送者通过MAC算法计算出消息的MAC值,并和消息一起发给收信者

2. 收信者用同样的MAC算法计算收到的消息的MAC值,并对比两者。

HMAC:

Hash-based message authentication code,利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。

a specific construction for calculating a message authentication code (MAC) involving a cryptographic hash function in combination with a secret cryptographic key. As with any MAC, it may be used to simultaneously verify both the data integrity and the authenticity of a message.【主要是为了能让人对对方身份正确性和消息有效性进行验证,与消息摘要的最大不同,就是有签名密钥!】

方法:

HMAC(K,m) = H((K ⊕ opad) ∥ H((K ⊕ ipad) ∥ m))

https://www.cnblogs.com/songhan/archive/2012/07/29/2613898.html中有MAC和HMAC的具体区别。

HMAC是需要一个密钥的。所以,HMAC_SHA1也是需要一个密钥的,MD5,SHA1不需要。

2.2.2 数字签名(见PKI)

数字签名协同条件:

散列函数:散列函数是数字签名的一个重要辅助工具, 应用散列函数可以生成一个文件的,具有固定长度的文件摘要,从而使数字签名可以迅速有效地签名一个任意长度的文件。一般地,对文件的任意小改动,都会改变文件的散列值,从而,秘密的散列函数可以用来检测病毒等对文件的破坏。
对签名的攻击:对数字签名有各种各样的欺骗存在,重复使用是一个典型欺骗,如电子支票,重复的使用具有可怕后果,阻止这种欺骗的有效方法是签名中包含时间日期标志。

数字签名方案:

-直接数字签名

-需仲裁的数字签名 
--使用单钥技术的仲裁数字签名
--使用双钥技术的仲裁数字签名

(0)

相关推荐

  • PHP的Hash信息摘要扩展框架

    PHP的Hash信息摘要扩展框架 今天我们主要学习的是 PHP 中一些 Hash 散列加密相关的扩展函数的使用,而不是 Hash 算法,这种加密其实也只是一种更复杂一些的密钥算法,与 Hash 算法类 ...

  • Python入门 Python值hashlib详解

    Python入门 Python值hashlib详解 编程玉子2021-02-19 17:05:19 阅读目录 一.hashlib的基本概念 二.如何产生hash值之三个阶段 三.校验文件的一致性(如何 ...

  • PHP密码散列算法的学习

    PHP密码散列算法的学习 不知道大家有没有看过 Laravel 的源码.在 Laravel 源码中,对于用户密码的加密,使用的是 password_hash() 这个函数.这个函数是属于 PHP 密码 ...

  • [PHP小课堂]PHP密码散列算法的学习

    [PHP小课堂]PHP密码散列算法的学习

  • 一德:水地比卦六二(比之自内,贞吉)、六三(比之匪人)详解

    编辑 六二:比之自内,贞吉. [译文]从内部亲比,守正吉祥. 象曰:比之自内,不自失也. [译文]从内部亲比,是行正道自己没有失误. [辨证]下卦又称内卦,六二在内卦之中: 柔爻居柔位,位正: 与九五 ...

  • 假阴K线的三种经典反包板战法详解

    假阴真阳K线定义: 当天K线的最高价和最低价都比前一天的高,开盘价大于收盘价,K线是阴线,是一根假阴实阳的上涨K线.(当天K线的最高价和最低价都比前一天的低,开盘价低于收盘价,K线是阳线,是一根假阳真 ...

  • 论文写作┃三种教学论文的写作方法详解

    三种教学论文的写作方法详解 如果从内容的角度对目前常见的中小学教育教学论文进行分类( 不包括课堂实录.案例设计.叙事类手记.教育散文等) ,大体上可以分为以下三类: 方法型.观点型.随笔型.教研论文, ...

  • 【推荐】三种教学论文的写作方法详解

    ☞课题论文一对一指导修改☜ 海量免费课题论文资源请关注↓ 小课题研究 专为中小学及幼儿园教师提供小课题研究专业指导,推送小课题研究专业文章,提供教育科研指导视频课程,手把手教您做小课题,打造教育科学草 ...

  • 唐朝杨均松着三元三合地理分金秘笈详解

    廿四山天机详解 一:周天三百六十度 一圆分三百六十度,分配甘四山,每山十五度正针甘四山配一百甘分金,一山五个分金,一个分金占三度,每山十五度,中间九度是下卦范围.余为替卦(起星)范围. 十万元拥有高颜 ...

  • 三款电阻分压采样电路设计原理图详解

    电阻分压采样电路图(一) 音量控制的实质是由电阻构成的分压电路,其原理就是电阻串联分压的知识,其典型的电路如图1-1. 输入电路由信号源Ui.电阻R1和电阻R2构成.分压电路输出电压U0算公式为 从公 ...

  • 周易第三卦屯卦六二爻详解 屯如邅如,乘马班如。匪寇婚媾,女子贞不字,十年乃字。原文解释翻译

    周易第三卦详解 第三卦初九爻详解 第三卦六二爻详解 第三卦六三爻详解 第三卦六四爻详解 第三卦九五爻详解 第三卦上六爻详解 六二爻辞 六二.屯如邅如,乘马班如.匪寇婚媾,女子贞不字,十年乃字. 象曰: ...