目录

  • 抽象代数基础
      • 阿贝尔群(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生成的,因为二者拥有的是相同的密钥。而公钥数字签名技术可提供不可抵赖性。

密码学数学基础,群,阿贝尔群,阶,双线性对,哈希函数,消息认证码概述相关推荐

  1. [密码学] 消息认证码构造方法

    文章目录 基于Hash函数的消息认证码 KeyedHash=Hash(Key||Message) HMAC与NMAC   HAMC   CMAC 基于分组密码的MAC DAA 主要实现方法:   ①带 ...

  2. 【学习笔记】密码学入门(2) 单向散列函数,消息认证码,数字签名,证书

    [学习笔记]密码学入门(2) 单向散列函数,消息认证码,数字签名,证书 学习笔记 2 – 混合密码系统 在密码学入门(1)中提到了基本的密码形式,对称密码和公钥密码以及混合密码系统. 这一部分将学习到 ...

  3. 烤仔TVのCCW丨密码学通识(五)消息认证码

    大家好,欢迎收看 CCW. 在上期视频中,烤仔为大家讲解了在面对攻击能力更强的选择密文攻击时,可以利用消息认证码,如在解密时先检查消息认证码正确与否,如果不正确就拒绝解密,从而实现对选择密文攻击的防范 ...

  4. 密码学入门(6):消息认证码

    密码学入门(6):消息认证码 文章目录 密码学入门(6):消息认证码 什么是消息认证码? 消息认证码的实现方式 HMAC 认证加密 重放攻击 防御重放攻击的方式 消息认证码无法解决的问题 参考 上次讲 ...

  5. 密码学数学基础——群、环、域

    在密码学中,很多密码学知识都涉及大不少数学知识,其中群.环.域这三种集合经常会被许多概念提及,在此做以总结. 一.基础概念 幺元 ,若对于一个二元运算+(+并不是指一般意义的加法,它可以指代任何二元运 ...

  6. [密码学] 消息认证码基础

    这里写目录标题 定义: 目的: 构成: 使用步骤: 性质: MAC的理想安全强度  抗伪造攻击:  抗密钥恢复攻击: 定义:   消息认证码又称消息鉴别码,是经过特定算法后产生的一小段信息,检查某段消 ...

  7. 哈希函数在密码学中的应用

    本文出自 AC.HASH 团队,AC<=>Adaptive Creator,适应性创作者,旨在于能够在未来新领域下创造出新的哈希算法以应对未来局面. 产出本文的成员: 中原工学院大二在校生 ...

  8. 密码学小知识(6):变色龙哈希函数(Chameleon Hash)

    本篇博文将介绍变色龙哈希函数. 在介绍变色龙哈希函数之前,我们先简单回顾一下经典的哈希函数,这样就能对比它们之间的差别. 文章目录预览 本篇博文将介绍变色龙哈希函数. 一.哈希函数 二.变色龙哈希函数 ...

  9. 1.1 密码学哈希函数

    我们需要理解的第一个密码学的基础知识是密码学哈希函数,哈希函数是一个数学函数,具有以下三个特性: ● 其输入可为任意大小的字符串. ● 它产生固定大小的输出.为使本章讨论更具体,我们假设输出值大小为2 ...

最新文章

  1. TSM备份Windows数据
  2. 结构事物 java uml,UML考试试题及答案7讲解
  3. java实现快速排序
  4. 没有c语言基础可以学python吗-没有c语言基础,能不能学好python?
  5. 64 大小_32位和64位Windows系统差别在哪里
  6. Android 侧滑多层view显示
  7. Cisco 3560 配置DHCP Relay实例
  8. 日本东北大学改进单阶段人脸检测—兼具速度与精度优势
  9. php输出位置最右,php动态读取数据清除最右边距的方法
  10. html微博分享功能,js页面文字选中后分享到新浪微博实现
  11. 自动驾驶路径规划算法学习-RRT算法及matlab实现
  12. 在线cron时间表达式转换
  13. 在宿舍的同学们,只要你有本本,就可以免费无线上网~~
  14. cJSON遍历Json数据的key
  15. 电容(3)——晶振电路的电容选择
  16. python画动态小黄鸭_抖音小黄鸭跳舞表情包gif-小黄鸭跳舞表情包动态图片下载无水印完整版-西西软件下载...
  17. IDEA下载源码报错 Cannot reconnect.
  18. python中bttext什么意思_Python实现解析Bit Torrent种子文件内容的方法
  19. 微信小程序仿照微信拖动缩放图片和截取头像
  20. 什么是Nofollow

热门文章

  1. Unity Android手机触屏事件
  2. 注册kaggle帐号及kaggle绑定手机收不到验证码的问题
  3. Z字型变幻,整数反转
  4. js 公历日期转农历带节假日
  5. js时间转换的一些方法,时间转换天数,获取商品活动时间
  6. 【Dilated Conv】《Multi-Scale Context Aggregation by Dilated Convolutions》
  7. 头部导航栏和底部 图片pic 字体图标设置文字大小
  8. 我的测试工程师之路--测试人员不看后悔
  9. 微信小程序和抖音小程序的区别?如何选择?
  10. 力扣每日一题(九——保持城市天际线)