对安全性证明中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日
    浏览(66)
  • 云计算:云计算安全性有哪些?_云计算技术的安全性,这些知识你必须拿下

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

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

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

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

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

    2024年02月11日
    浏览(40)
  • 【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日
    浏览(40)
  • 线程的安全性

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

    2024年02月07日
    浏览(65)
  • 商用密码安全性评估

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

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

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

    2024年01月17日
    浏览(40)
  • 线程简介及安全性

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

    2023年04月17日
    浏览(57)
  • 信息安全性测试

    信息安全性测试是确保产品或系统能够有效地保护信息和数据,使得用户、其他产品或系统的访问权限与其授权类型和级别相一致的一系列检查过程。信息安全性测试也应该是一个持续的过程,确保信息系统能够抵御恶意攻击,并保护数据的完整性、可用性和保密性。通常与

    2024年02月20日
    浏览(38)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包