合数阶群与素数阶群的双线性映射
合数阶群双线性映射
令Ψ\PsiΨ是群的生成算法, 输入安全参数λ\lambdaλ输出参数(p1,p2,p3,G,GT,e)(p_1, p_2, p_3, G, G_T, e)(p1,p2,p3,G,GT,e), 其中, p1,p2,p3p_1, p_2, p_3p1,p2,p3表示3个不同的大素数, GGG和GTG_TGT表示两个NNN阶循环群 (N=p1p2p3N = p_1p_2p_3N=p1p2p3), e:G×G→GTe: G \times G → G_Te:G×G→GT表示双线性映射当且仅当满足以下3个条件:
(1) 双线性: ∀u,v∈G\forall u, v \in G∀u,v∈G 和 a,b∈ZNa,b \in Z_Na,b∈ZN, 等式e(ua,vb)=e(u,v)abe(u^a, v^b) = e(u, v)^{ab}e(ua,vb)=e(u,v)ab成立.
(2) 非退化性: ∃g∈G,st.e(g,g)\exists g \in G, st.~e(g, g)∃g∈G,st. e(g,g) 在GTG_TGT中阶为NNN.
(3) 可计算性: 对于∀u,v∈G\forall u, v \in G∀u,v∈G, ∃\exists∃计算e(u, v)的多项式时间算法.
衍生结论: 假设群Gp1,Gp2,Gp3G_{p_1}, G_{p_2}, G_{p_3}Gp1,Gp2,Gp3分别是群GGG中阶为p1,p2,p3p_1, p_2, p_3p1,p2,p3的子群. 取参数hi∈Gpi,hj∈Gpj,i≠jh_i \in G_{p_i}, h_j \in G_{p_j}, i \neq jhi∈Gpi,hj∈Gpj,i=j, 则必有e(hi,hj)=1e(h_i, h_j) = 1e(hi,hj)=1.
证明:
基于一个基本观察, gp1p2g^{p_1p_2}gp1p2是群Gp3G_{p_3}Gp3的生成元. 这样考虑, 令t=gp1p2t = g^{p_1p_2}t=gp1p2, 在群GGG中, gp1p2p3g^{p_1p_2p_3}gp1p2p3是生成元, 所以tp3t^{p_3}tp3是Gp3G_{p_3}Gp3的生成元. 同理gp1p3g^{p_1p_3}gp1p3是群Gp2G_{p_2}Gp2的生成元, gp2p3g^{p_2p_3}gp2p3是群Gp1G_{p_1}Gp1的生成元.
所以可以用生成元表示, hi=giαi,hj=gjαjh_i = g_i^{\alpha_i}, h_j = g_j^{\alpha_j}hi=giαi,hj=gjαj, 其中gk=gpmpn,k,m,n∈{1,2,3},m≠n,m≠k,n≠kg_k = g^{p_mp_n}, k,m,n \in \{1,2,3\}, m \neq n, m \neq k, n \neq kgk=gpmpn,k,m,n∈{1,2,3},m=n,m=k,n=k.
则e(hi,hj)=e(giαi,gjαj)=e(gαi,gplαj)p1p2p3=1,l∈{1,2,3}e(h_i, h_j) = e(g_i^{\alpha_i}, g_j^{\alpha_j}) = e(g^{\alpha_i}, g^{p_l \alpha_j})^{p_1p_2p_3} = 1, l \in \{1,2,3\}e(hi,hj)=e(giαi,gjαj)=e(gαi,gplαj)p1p2p3=1,l∈{1,2,3}
素数阶群双线性映射
令Ψ\PsiΨ是群的生成算法, 输入安全参数λ\lambdaλ输出参数(p,G1,G2,GT,e,g,g~)(p, G_1, G_2, G_T, e, g, \tilde{g})(p,G1,G2,GT,e,g,g~), 其中, ppp表示大素数, G1,G2G1, G_2G1,G2和GTG_TGT表示3个ppp阶循环群, g,g~g, \tilde{g}g,g~分别表示G1,G2G1, G_2G1,G2的生成元, e:G1×G2→GTe: G_1 \times G_2 → G_Te:G1×G2→GT表示双线性映射当且仅当满足以下3个条件:
(1) 双线性: ∀u∈G1,v∈G2\forall u \in G_1, v \in G_2∀u∈G1,v∈G2 和 a,b∈Zpa,b \in Z_pa,b∈Zp, 等式e(ua,vb)=e(u,v)abe(u^a, v^b) = e(u, v)^{ab}e(ua,vb)=e(u,v)ab成立.
(2) 非退化性: ∃g∈G1,g~∈G2,st.e(g,g~)\exists g \in G_1, \tilde{g} \in G_2, st.~e(g, \tilde{g})∃g∈G1,g~∈G2,st. e(g,g~) 在GTG_TGT中阶为ppp.
(3) 可计算性: 对于∀u∈G1,v∈G2\forall u \in G_1, v \in G_2∀u∈G1,v∈G2, ∃\exists∃计算e(u, v)的多项式时间算法.
补充:
若G1≠G2G_1 \neq G_2G1=G2, 称该映射为非对称双线性映射,
G1=G2G_1 = G_2G1=G2, 则是对称双线性映射.
合数阶群与素数阶群的双线性映射相关推荐
- 素数p阶群乘法循环群啥意思_如何证明素数阶群都是abel群?
这个证明需要分两步: 1.首先证明素数阶群都是循环群 2.其次证明循环群一定是abel群 我先来证明1,过程如下: 首先我们假设p为任意素数,存在一个群G,群G的阶数是|G|=p. 根据拉格朗日定理我 ...
- 粒子群算法(1)----粒子群简要
一.历史粒子群算法 从复杂适应系统衍生PSO算法(Complex Adaptive System,CAS).CAS理论于1994年正式提出,CAS中的成员称为主体.比方研究鸟群系统,每一个鸟在这个系 ...
- 【代数结构】群 ( 群的定义 | 群的基本性质 | 群的证明方法 | 交换群 )
文章目录 群的定义 群的分类 群的证明方法 交换群的证明方法 数集回顾 群的证明 群的定义 群 的 定义 : 一个 非空 集合 GGG 中 , 如果 定义了 一个 "乘法" 运算 ...
- Redis数据库搭建集群(集群概念、redis集群、搭建集群(配置机器1、2、创建集群、数据操作验证)、Python与redis集群交互)
1. 集群的概念 集群是一组相互独立的.通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理.一个客户与集群相互作用时,集群像是一个独立的服务器.集群配置是用于提高可用性和可缩放性. ...
- canvas贝塞尔曲线爱心_canvas实现高阶贝塞尔曲线(N阶贝塞尔曲线生成器)
写在最前 由于原生的Canvas最高只支持到三阶贝塞尔曲线,那么我想添加多个控制点怎么办呢?(即便大部分复杂曲线都可以用3阶贝塞尔来模拟)与此同时,关于贝塞尔控制点的位置我们很难非常直观的清楚到底将控 ...
- zookeeper+kafka集群部署+storm集群
zookeeper+kafka集群部署+storm集群 一.环境安装前准备: 准备三台机器 操作系统:centos6.8 jdk:jdk-8u111-linux-x64.gz zookeeper:zo ...
- 水平集群和垂直集群的区别!
什么是水平集群.什么是垂直集群. 垂直集群就是一台机器上安装多个应用服务器.或者说在同一台服务器上做集群,大概就是这样: 水平集群就是多台机器上安装多个应用服务器,或者说在多台硬件服务器了,大概就是这 ...
- Android 将Openfire中的MUC改造成类似QQ群一样的永久群
将Openfire中的MUC改造成类似QQ群一样的永久群 转载于:https://www.cnblogs.com/zhujiabin/p/5814914.html
- 近世代数--群--怎么判断是不是群?
近世代数--群--怎么判断是不是群? 基本定义 左单位元 左逆元 xa=bxa=bxa=b ay=b有解ay=b有解ay=b有解 满足左.右消去律的有限半群是群 含幺半群的可逆元构成群 博主是初学近世 ...
- 互动赠书 | 云上云下K8s多集群如何实现集群管理和安全治理的一致体验?
作者|郝树伟(流生) 以 Kubernetes 为代表的云原生技术不仅屏蔽了各个云厂商和数据中心在基础设施上的差异性,还使得应用可以在不同的云上使用标准化的方式描述和部署运行.在此基础之上,我们才可以 ...
最新文章
- 华为怎么改输入法皮肤_搜狗输入法皮肤挑花眼?这次皮肤效果也能划着看了
- 在Spring3中,配置DataSource的方法有五种
- Python学习之路 (一)开发环境搭建
- containerd设置上网代理
- 在vscode中用tsc编译ts文件的时候报错,tsc : 无法加载文件,因为在此系统上禁止运行脚本;SecurityError
- python语言打印菱形_Python打印菱形
- linux 添加本地源,linux 添加本地yum源
- devops 应用_如何在DevOps中应用系统思考
- leetcode 45 python
- react ssr php,一文吃透 React SSR 服务端渲染和同构原理
- 语言怎么得到直流电压并采样_250V10A高频直流电源/大电流直流稳压稳流电源
- Maven--Cargo远程部署
- 所有浏览器的 CSS selectors 兼容性
- 注册机是如何获取序列号的?
- SG3525matlab,基于SG3525的BOOST变换器
- 光模块有什么用?什么是SFP光模块?
- 英文经典老歌列表~~~~
- 给你个使用NAS私有云服务器的理由
- iOS 高德地图实现大头针展示,分级大头针,自定制大头针,在地图上画线,线和点共存,路线规划(驾车路线规划),路线导航,等一些常见的使用场景
- 使用Python来模拟鼠标的点击; 模拟键盘
热门文章
- Linux源码安装包快速升级方法
- python进阶-argparse
- Linux文件压缩解压命令
- 【转】目前为止最详细、最简单的亚马逊Kindle Fire破解ROOT方法教程(增加一键root方法)2011.12.19...
- 写给初学者,一文搞懂大数据学习、岗位、面试及简历
- 【Plesk经验分享】无法创建备份怎么办?
- 平板计算机触摸屏失灵修复小技巧,触摸屏失灵有哪些修复小技巧?
- Windows下搭建SVN服务器 - Visual SVN server
- DB2 SQLCODE 异常大全编辑(三)
- 现代控制理论(一)控制系统的状态空间描述