DH问题汇总
本节内容主要转载于:弄清楚DL,D-H,CDH problem,CDH assumption,DDH,BDDH,BCDH。
DLP(Discrete Logarithm Problem)
在乘法群\((G,*)\)中:
离散对数问题:就是给出两个群元素\(P,Q\),求整数\(n\in Z_q^*\)是困难的,满足\(Q=P^n\)
DH密钥交换协议
具体请参考:计算困难假设(Computational hardness assumption),DH密钥交换
基于DLP( 离散对数问题)的困难性。
DDHP(Decision Diffie-Hellman Problem)
给出任意\((a,b,c)\), 有多项式时间算法能将\((g^a,g^b,g^{ab})\) 和\((g^a,g^b,g^c)\)两者明显的区分开来。说白了就是区分\(ab\)和\(c\),仍然是基于DLP。
BDDHP(bilinear decisional Diffie-Hellman Problem)
给出任意\((a,b,c,d)\), 有多项式时间算法能\((g^a,g^b,g^c,g^{abc}))\)和\((g^a,g^b,g^c,g^d)\)两者区分开来是困难的。
CDHP(Computational Diffie-Hellman Problem)
给出任意的\(g^a,g^b\),当数值较大时,求\(g^{ab}\)是困难的。
CDHP又分为两种:
Inv-CDHP(Inverse Computational Diffie-Hellman Problem)
求逆:对于\(a ∈ Z_q^*\), 给出\(P, P^a\),计算\(P^{a^{-1}}\)是困难的.
Squ-CDHP(Square Computational Diffie-Hellman Problem)
求平方:对于\(a ∈ Z_q^*\), 给出\(P, P^a\),计算\(P^{a^{2}}\)是困难的.
BCDHP(Bilinear Computational Diffie-Hellman problem )
任意选取\((a,b,c)\),在多项式时间内计算出\(g^{abc}\)是困难的
GHP群(Gap Diffie-Hellman group)
在一个群中,DDHP是容易的但CDHP很难的就被称为GDH。通过双线性对(bilinear pairing),我们可以得到GDH群,这种群在有限域上的supersingular 椭圆曲线或者hyperelliptic 椭圆曲线上可以找到,双线性对来自Weil 或者 Tate pairing。
可以看出BDDHP和BCDHP比DDHP和CDHP多了一个变量,为什么要多加一个变量?
因为,如果存在一个\(GxG\to G'\)(\(G,G'\)都是群)的双线性对的话, DDH问题是可以被快速解决的。所以就有了BDDH,故即使存在双线性对,BDDH问题仍然是难以计算的。
参考
1、An Efficient Signature Scheme from Bilinear Pairings and Its Applications
DH问题汇总的更多相关文章
- x86汇编知识点汇总
目录: 1.进制转换 2.原码.反码.补码 3.寄存器 4.存储器的段结构 5.堆栈 6.传送类指令 7.算术运算类指令(不含乘除) 8.位操作类指令 9.标志位操作指令 10.标识符.常量与变量 1 ...
- vim命令汇总
文章首发:http://www.cnblogs.com/sprying/p/3864631.html 上一次学习vim还是快一年了,倒腾了一个月之后就没碰过.现在重新汇总下vim命令. 1.有些命令回 ...
- 常用 Gulp 插件汇总 —— 基于 Gulp 的前端集成解决方案(三)
前两篇文章讨论了 Gulp 的安装部署及基本概念,借助于 Gulp 强大的 插件生态 可以完成很多常见的和不常见的任务.本文主要汇总常用的 Gulp 插件及其基本使用,需要读者对 Gulp 有一个基本 ...
- 异常处理汇总 ~ 修正果带着你的Net飞奔吧!
经验库开源地址:https://github.com/dunitian/LoTDotNet 异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983 ...
- UWP开发必备:常用数据列表控件汇总比较
今天是想通过实例将UWP开发常用的数据列表做汇总比较,作为以后项目开发参考.UWP开发必备知识点总结请参照[UWP开发必备以及常用知识点总结]. 本次主要讨论以下控件: GridView:用于显示数据 ...
- Oracle手边常用70则脚本知识汇总
Oracle手边常用70则脚本知识汇总 作者:白宁超 时间:2016年3月4日13:58:36 摘要: 日常使用oracle数据库过程中,常用脚本命令莫不是用户和密码.表空间.多表联合.执行语句等常规 ...
- Oracle 数据库知识汇总篇
Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...
- Vertica 数据库知识汇总篇
Vertica 数据库知识汇总篇(更新中..) 1.Vertica 集群软件部署,各节点硬件性能测试 2.Vertica 创建数据库,创建业务用户测试 3.Vertica 数据库参数调整,资源池分配 ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
随机推荐
- mysql行锁、表锁。乐观锁,悲观锁
锁定用于确保事务完整性和数据库一致性. 锁定可以防止用户读取其他用户正在更改的数据,并防止多个用户同时更改相同的数据. 如果不使用锁定,数据库中的数据可能在逻辑上变得不正确,而针对这些数据进行查询可能 ...
- 如何通过HibernateDaoSupport将Spring和Hibernate 结合起来?
用 Spring 的 SessionFactory 调用 LocalSessionFactory.集成过程分三步: 配置 the Hibernate SessionFactory. 继承 Hibern ...
- 前端每日实战:133# 视频演示如何用 CSS 和 GSAP 创作有多个关键帧的连续动画
效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/eLMKJG 可交互视频 此视频是可 ...
- C#枚举-通过值获取名字,通过名称获取值
public enum ProtoType { Move = 1, Enter = 2, Leave = 3, Attack, Die, } print("ProtoType.Move:&q ...
- Mybatis实现简单增删改查
Mybatis的简单应用 学习内容: 需求 环境准备 代码 总结: 学习内容: 需求 使用Mybatis实现简单增删改查(以下是在IDEA中实现的,其他开发工具中,代码一样) jar 包下载:http ...
- EMS邮箱数据库常用命令(二)
1.查询邮箱数据库的使用空间 查询Exchange环境中所有邮箱数据库. 键入以下命令 Get-MailboxDatabase -Status | FL name,DatabaseSize 命令执行后 ...
- vue上拉加载下拉加载
npm i vue-scroller <scroller :on-refresh="refresh" :on-infinite="infinite" :n ...
- FastAPI(七十)实战开发《在线课程学习系统》接口开发--留言功能开发
在之前的文章:FastAPI(六十九)实战开发<在线课程学习系统>接口开发--修改密码,这次分享留言功能开发 我们能梳理下对应的逻辑 1.校验用户是否登录 2.校验留言的用户是否存在 3. ...
- Servlet学习记录
个人认为servlet属于一种控制程序,可以处理浏览器的请求并做出对应的回应.我们经常使用的是让一个类去继承HttpServlet,然后在doget或者dopost里面写东西. 目前我个人常在doge ...
- Unity中制作血条2.0
##1.血量显示 不必像之前那样添加Slider组件 直接创建Image 在添加Source Image之后,将Image Type 修改为Filled 通过修改Fill Mode就可以显示不同效果 ...