对安全性证明中DH BDH等相关假设的理解(安全)

这篇具有很好参考价值的文章主要介绍了对安全性证明中DH BDH等相关假设的理解(安全)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

密码学的安全本质上依赖于数学问题中的未解“难题”。注意,这些“难题”到目前为止还未找到一种多项式的解决算法,至于这种算法是否存在,未来能否被找到则是无法证明的。既然目前不存在一种多项式算法来解决某一难题,那我们就可以假设这个问题很难,在多项式时间内无法被解决。实际上,CDH DDH等假设正是基于这种考虑,就是在假设所对应的CDH DDH问题很难不能在多项式时间内解决。如果你不同意我的假设,你就需要提供存在一种多项式解法(很难的啦)。

为什么要强调多项式时间?因为任何“难题”都只是说没有快速的解法,而非不可解。毕竟在不考虑时间成本时,暴力法是所有问题的通用解法。当然,运气法也可以。

在安全性分析中,当我们想通过某一假设来证明方案的安全性时,我们首先需要将方案的安全性问题归约为对应的问题上。之后,我们可以得出结论:如果假设A成立(引用别人的假设文献作为定理),那么任何攻击者都无法在多项式时间内破解我们的方案,因为任何攻击者都无法在多项式时间内解决问题A。结论是基于假设的,而假设是具有时效性的。例如,如果某一天某个天才破解了问题A,那么上述的推断就不成立了。因此,在未来的某一天,我们现在提出的假设都可能被推翻。

定义

DH假设

DH问题来自于1976年提出的Diffie-Hellman密钥交换协议,其数学定义可以描述为:

给定 < g , p , g a   ( m o d   p ) , g b   ( m o d   p ) > <g,p,g^a\ (mod\ p),g^b\ (mod\ p)> <g,p,ga (mod p),gb (mod p)>,攻击者能否在多项式时间内计算出 g a b   ( m o d   p ) g^{ab}\ (mod\ p) gab (mod p)

该问题依赖的数学难题是离散对数问题(Discrete Logarithm Problem,DLP)。DH假设的就是在说DLP问题很难,因此DH问题也很难。很明显,这是成立的,因为离散对数问题至今仍未被解决。想要推翻这个假设你就得解决DLP问题,总不能拿不出证据又不承认。

CDH假设和DDH假设

CDH假设(Computational Diffie-Hellman Assumption)和DDH假设(Decisional Diffie-Hellman Assumption)是DH假设的变体,将线性离散问题转移到群论离散问题。我们说过,假设都是对应问题的,两者所对应的问题分别为:

Computational Diffie-Hellman Problem(CDHP):
对于循环群 G G G和生成元 g g g,给定 < G , g , g a , g b > <G,g,g^a,g^b> <G,g,ga,gb>,攻击者能否在多项式时间计算 g a b g^{ab} gab?

Decisional Diffie-Hellman Problem(DDHP):
对于循环群 G G G和生成元 g g g,给定 < G , g , g a , g b , g c > <G,g,g^a,g^b,g^c> <G,g,ga,gb,gc>,攻击者能否在多项式时间判断 g c = ? g a b g^c\overset{\text{?}}{=}g^{ab} gc=?gab?

类似的,CDH假设就是认为CDHP无多项式时间解,而DDH假设是认为DDHP无多项式时间解。

问题1,CDHP和DDHP的差异在哪?哪个更难解决?从上面的问题定义中可以看出,两者主要差异是对攻击者的要求,前者要求攻击者计算出结果,而后者要求攻击者判断一个结果对不对。那么哪个更难呢?答案是CDHP难于DDHP,因为如果你能解决CDHP,那你就能解决DDHP。试想,你都能算出 g a b g^{ab} gab了,还能不知道 g c = ? g a b g^c\overset{\text{?}}{=}g^{ab} gc=?gab。但是反过来不行啊,你不能说我知道了 g c ≠ g a b g^c\ne g^{ab} gc=gab我就知道了 g a b g^{ab} gab。DDHP可以看作是CDHP的放松版,简单点说就是,你算不出来不要紧,我给你个数,你验证一下是不是正确解就完事了。所以,我们得出:在问题难度方面, C D H P ≥ D D H P CDHP\ge DDHP CDHPDDHP。我们再把DLP也算上。同样的道理,解决了DLP就能解决CDHP,但是解决了CDHP不一定能解决DLP,因此我们可以得出结论:在问题难度方面, D L P ≥ C D H P ≥ D D H P DLP\ge CDHP\ge DDHP DLPCDHPDDHP

问题2,是否问题越难,所对应的假设越强?答案是否。假设的强度与问题的难度相反,问题越难,假设越弱。注意,这里的强弱是指安全等级,因为假设是用在安全分析上的,不是说假设越弱越容易被推翻,因为所有的假设都是基于离散问题的,都是成立的,都是难解的“难题”,切勿误解。试想一下,如果我们的系统A在数学上满足DDH假设,也就是说没有人能够在多项式时间内解决DDHP。你连最简单的DDHP都解决不了,就更不可能解决CDHP了。就好比你连加法都不会,还想学高等数学?反过来,如果我们的系统B在数学上只满足CDH假设,也就意味着攻击者能够解决DDHP。对比而言,攻击者在B上能做的计算更多,所以我们说A系统强于B系统。因为A系统依赖于DDH假设,B系统依赖于CDH假设,所以,我们说在安全强弱方面: D D H ≥ C D H DDH\ge CDH DDHCDH。在一般的论文分析中,为了体现设计的方案足够安全,普遍采用的是Decisonal版本的假设,即DDH假设,下面的BDH系列也是。

CBDH假设和DBDH假设

CBDH假设(Computational Bilinear Diffie-Hellman Assumption)和DBDH假设(Decisional Bilinear Diffie-Hellman Assumption)是CDH的变体。前面提CDH假设和DDH假设时说的是将DH中的线性离散问题转移到群论离散问题,那么CBDH假设和DBDH假设就是将CDH和DDH中的群论离散问题转移到双线性映射中的椭圆曲线离散问题。

双线性映射操作的也是循环群,但是是满足特定属性的循环群,通常会使用椭圆曲线理论来得到这样的循环群。有趣的是,椭圆曲线理论最早用于椭圆曲线加密法(ECC)中,而双线性映射是在破解ECC的过程中发现的,之后人们发现这个性质太适合用于加密了。数学上计算出满足这种性质的循环群是比较难的,目前主流的库包括python的pypbc(这玩意儿依赖于PBC库,这个库只支持Linux系统)和Java里面的jpbc(听过没用过)。

都是群论离散问题,为什么有CDH和DDH不用又要提出还要提出新的假设呢?因为循环群的属性增加了,之前的假设无法保证新增的属性不会带来安全问题。实际上,现存的假设远不止这些,比如,我还在其他论文中看到过一种名为 l l l-DCBDH(Decisional l l l-Combined Bilinear Diffie-Hellman)的变体。只能说具体场景具体分析。

同样,我们给出两个假设对应的问题

Computational Bilinear Diffie-Hellman Problem(CBDHP):
对于循环群 G 1 , G 2 G_1,G_2 G1,G2,生成元 g g g和映射函数 e e e,给定 < G 1 , G 2 , e , g , g a , g b , g c > <G_1,G_2,e,g,g^a,g^b,g^c> <G1,G2,e,g,ga,gb,gc>,攻击者能否在多项式时间计算 e ( g , g ) a b c e(g,g)^{abc} e(g,g)abc?

Decisional Bilinear Diffie-Hellman Problem(DBDHP):
对于循环群 G 1 , G 2 G_1,G_2 G1,G2,生成元 g g g和映射函数 e e e,给定 < G 1 , G 2 , e , g , g a , g b , g c , e ( g , g ) d > <G_1,G_2,e,g,g^a,g^b,g^c,e(g,g)^d> <G1,G2,e,g,ga,gb,gc,e(g,g)d>,攻击者能否在多项式时间判断 e ( g , g ) d = ? e ( g , g ) a b c e(g,g)^d\overset{\text{?}}{=}e(g,g)^{abc} e(g,g)d=?e(g,g)abc?

同样,CBDH假设认为CBDHP无多项式解,DBDH假设认为DBDHP无多项式解。Computational版本和Decisional版本的差异和上面是一样的,此处就不再重复。也是同样的道理,在安全性分析中我们常用的是DBDH假设。文章来源地址https://www.toymoban.com/news/detail-454639.html

到了这里,关于对安全性证明中DH BDH等相关假设的理解(安全)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 加密数据安全性的两大安全护盾-前向安全性与后向安全性详解

    在数字安全的世界里,加密技术是用来保护数据不被未经授权访问的重要机制。然而,即使使用了最强的加密算法,也不能保证永远是安全的。攻击者可能会在未来某个时间点获得了解密密钥,从而能够解密拦截的密文。为了解决这个问题,密码学引入了前向安全性(Forwar

    2024年02月04日
    浏览(46)
  • 云计算:云计算安全性有哪些?_云计算技术的安全性,这些知识你必须拿下

    先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新网络安全全套学习资料》

    2024年04月23日
    浏览(38)
  • 什么是前端安全性(front-end security)?列举一些前端安全性的最佳实践

    聚沙成塔·每天进步一点点 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而

    2024年02月05日
    浏览(45)
  • 《网络安全0-100》低层协议安全性

    对于网络层,IP协议是其中一个非常重要的协议。网络层的IP地址相当于数据链路层的Mac地址。协议字段如下,每行4字节,总共4*5=20字节。   IP协议安全性:IP协议不能保证数据就是从数据包中给定的源地址发出的,你绝对不能靠对源地址的有效性检验来判断数据包的好坏。

    2024年02月11日
    浏览(33)
  • 数据库——安全性

    智能2112杨阳 1 、设计用户子模式 2 、根据实际需要创建用户 角色 及 用户, 并 授权 3 、针对不同级别的用户定义不同的 视图 ,以保证系统的安全性 先创建四类用户 角色 : 管理员 角色 Cusm 、 客户 角色 Supp 、供货商 角色 Admin 、商家销售工作人员 角色 Salor 。 源码: cre

    2024年02月04日
    浏览(45)
  • 线程的安全性

    你或许会感到奇怪,线程或者锁在并发编程中的作用,类似于铆钉和工字梁在土木工程中的作用。要建筑一座坚固的桥梁,必须正确地使用大量的铆钉和工字梁。同理,在构建稳健的并发程序时,必须正确地使用线程和锁。但这些终归只是一些机制。要编写线程安全的代码,

    2024年02月07日
    浏览(59)
  • 线程简介及安全性

    1. 线程的优点 发挥多处理器的强大功能 建模的简单性 为模型中的每种类型任务都分配一个专门的线程 异步事件的简化处理 响应更灵敏的用户界面 2. 线程带来的风险 安全性问题 活跃性问题 如发生死锁,无限等待 性能问题 如频繁的上下文切换:保存与恢复上下文,丢失局

    2023年04月17日
    浏览(51)
  • 【MySQL】-安全性控制

    用户(User) MySQL创建用户: create user 用户名 identified by 用户登录密码; 通常用户名可包含域名,限定用户在该域名内登录再有效。 alter user语句可重置用户密码: ALTER USER user IDENTIFIED BY ‘new_password’; 权限 MySQL常用的权限有: all: 所有权限(grant option除外) alter: alter table权限 a

    2023年04月26日
    浏览(35)
  • 商用密码安全性评估

    商用密码应用安全性评估(简称“密评”)指在采用商用密码技术、产品和服务集成建设的网络和信息系统中,对其密码应用的合规性、正确性和有效性等进行评估。 01办理依据 GM/T0054-2018《信息系统密码应用基本要求》 《信息系统密码测评要求(试行)》 《商用密码应用安

    2024年02月06日
    浏览(31)
  • 智能合约开发~~安全性

    最低安全限度: ~ 所有代码应该被存在于一个版本控制系统当中,例如 git ~ 所有的代码修改都应该通过拉取请求来进行 ~ 所有的拉取请求都应该有至少一个审核员。 如果这是一个个人项目,请考虑寻找另一位个人作者和一个交易代码审核员。 ~ 使用开发以太坊环境(请参阅

    2024年01月17日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包