密码学数学基础,群,阿贝尔群,阶,双线性对,哈希函数,消息认证码概述
目录
- 抽象代数基础
- 群
- 阿贝尔群(Abelian Group)
- 阶(Order)
- 循环群(Cyclic Group)
- 双线性对
- 哈希函数H
- 消息认证码MAC
抽象代数基础
群
定义 群(Group),设集合G,和二元运算·,称为群(G,·)如果满足下列条件:
- 封闭率:对任意a,b属于G,有(a,b)属于G
- 结合率:对任意a,b,c属于G,有(a·b)·c = a·(b·c)
- 单位元:存在单位元e,使得对于任意a属于G,都有a·e = e·a = a
- 逆元:对任意a属于G,都有逆元a-1,使得a-1·a = a·a-1=e
阿贝尔群(Abelian Group)
对任意a,b属于G,都有a·b = b·a,称G为阿贝尔群或交换群
阶(Order)
群中元素的个数叫做该群的阶,用|G|表示。若|G|是有限的,称G为有限群,否则称为无限群。
循环群(Cyclic Group)
若存在一个元素g属于G,使得对于任意b属于G都存在一个整数i属于Z,满足b = gi,称G为一个循环群。其中,g称为G的生成元(generator)。特别地,如果群G的阶为素数,那么该群中任意非单位元均为生成元。
双线性对
目前已知双线性对,可利用修改椭圆曲线上的Weil对或者Tate对得到
哈希函数H
- 习惯上用h表示计算结果是数,数属于Zq* ,用H表示计算结果是点,点属于G
- 哈希函数是确定性算法,如MD5,SHA等。可将任意长度的比特串输入x属于{0,1}*映射到一个定长比特串,
即:H:{0,1}* --> {0,1}n。
满足如下性质: - 可有效计算性:存在多项式时间算法,输入x,输出H(x)
- 单向性:给定一个哈希值h,找到一个原像输入x,使得H(x)=h在计算上是不可行的。
- 抗强碰撞性:找到两个不同的输入x和y,使得H(x)=H(y),在计算上是不可行的。
- 抗弱碰撞性:给定一个输入x,找出另一个不同的输入y,使得H(x)=H(y)在计算上是不可行的
- 雪崩:微小的输入偏差,都会造成哈希结果的完全不同。
消息认证码MAC
- 在密码学中,MAC(message authentication code)为消息认证码,主要作用有:
1) 进行消息认证,证明消息的真实性,如消息确实来源于所声称的sender
2)保护消息数据的完整性,拥有密钥的receiver(或verifier)可发现
发送方使用一些公开已知的MAC算法,输入消息和密钥K和产生一个MAC值。
类似于哈希,MAC函数也压缩任意输入,输出固定长度。
区别是,MAC使用密钥在压缩。接收者使用消息和共享密钥K重新计算MAC值。以检查和接收到的MAC是否相等
- MAC的缺陷:
1)需要预先进行密钥K共享
2)无法提供不可抵赖性(Non-Repudiation),因无法区分一条MAC消息是sender生成的还是receiver生成的,因为二者拥有的是相同的密钥。而公钥数字签名技术可提供不可抵赖性。
密码学数学基础,群,阿贝尔群,阶,双线性对,哈希函数,消息认证码概述相关推荐
- [密码学] 消息认证码构造方法
文章目录 基于Hash函数的消息认证码 KeyedHash=Hash(Key||Message) HMAC与NMAC HAMC CMAC 基于分组密码的MAC DAA 主要实现方法: ①带 ...
- 【学习笔记】密码学入门(2) 单向散列函数,消息认证码,数字签名,证书
[学习笔记]密码学入门(2) 单向散列函数,消息认证码,数字签名,证书 学习笔记 2 – 混合密码系统 在密码学入门(1)中提到了基本的密码形式,对称密码和公钥密码以及混合密码系统. 这一部分将学习到 ...
- 烤仔TVのCCW丨密码学通识(五)消息认证码
大家好,欢迎收看 CCW. 在上期视频中,烤仔为大家讲解了在面对攻击能力更强的选择密文攻击时,可以利用消息认证码,如在解密时先检查消息认证码正确与否,如果不正确就拒绝解密,从而实现对选择密文攻击的防范 ...
- 密码学入门(6):消息认证码
密码学入门(6):消息认证码 文章目录 密码学入门(6):消息认证码 什么是消息认证码? 消息认证码的实现方式 HMAC 认证加密 重放攻击 防御重放攻击的方式 消息认证码无法解决的问题 参考 上次讲 ...
- 密码学数学基础——群、环、域
在密码学中,很多密码学知识都涉及大不少数学知识,其中群.环.域这三种集合经常会被许多概念提及,在此做以总结. 一.基础概念 幺元 ,若对于一个二元运算+(+并不是指一般意义的加法,它可以指代任何二元运 ...
- [密码学] 消息认证码基础
这里写目录标题 定义: 目的: 构成: 使用步骤: 性质: MAC的理想安全强度 抗伪造攻击: 抗密钥恢复攻击: 定义: 消息认证码又称消息鉴别码,是经过特定算法后产生的一小段信息,检查某段消 ...
- 哈希函数在密码学中的应用
本文出自 AC.HASH 团队,AC<=>Adaptive Creator,适应性创作者,旨在于能够在未来新领域下创造出新的哈希算法以应对未来局面. 产出本文的成员: 中原工学院大二在校生 ...
- 密码学小知识(6):变色龙哈希函数(Chameleon Hash)
本篇博文将介绍变色龙哈希函数. 在介绍变色龙哈希函数之前,我们先简单回顾一下经典的哈希函数,这样就能对比它们之间的差别. 文章目录预览 本篇博文将介绍变色龙哈希函数. 一.哈希函数 二.变色龙哈希函数 ...
- 1.1 密码学哈希函数
我们需要理解的第一个密码学的基础知识是密码学哈希函数,哈希函数是一个数学函数,具有以下三个特性: ● 其输入可为任意大小的字符串. ● 它产生固定大小的输出.为使本章讨论更具体,我们假设输出值大小为2 ...
最新文章
- TSM备份Windows数据
- 结构事物 java uml,UML考试试题及答案7讲解
- java实现快速排序
- 没有c语言基础可以学python吗-没有c语言基础,能不能学好python?
- 64 大小_32位和64位Windows系统差别在哪里
- Android 侧滑多层view显示
- Cisco 3560 配置DHCP Relay实例
- 日本东北大学改进单阶段人脸检测—兼具速度与精度优势
- php输出位置最右,php动态读取数据清除最右边距的方法
- html微博分享功能,js页面文字选中后分享到新浪微博实现
- 自动驾驶路径规划算法学习-RRT算法及matlab实现
- 在线cron时间表达式转换
- 在宿舍的同学们,只要你有本本,就可以免费无线上网~~
- cJSON遍历Json数据的key
- 电容(3)——晶振电路的电容选择
- python画动态小黄鸭_抖音小黄鸭跳舞表情包gif-小黄鸭跳舞表情包动态图片下载无水印完整版-西西软件下载...
- IDEA下载源码报错 Cannot reconnect.
- python中bttext什么意思_Python实现解析Bit Torrent种子文件内容的方法
- 微信小程序仿照微信拖动缩放图片和截取头像
- 什么是Nofollow