CN104917617B - 一种加密群签名的混淆方法 - Google Patents
一种加密群签名的混淆方法 Download PDFInfo
- Publication number
- CN104917617B CN104917617B CN201510275377.2A CN201510275377A CN104917617B CN 104917617 B CN104917617 B CN 104917617B CN 201510275377 A CN201510275377 A CN 201510275377A CN 104917617 B CN104917617 B CN 104917617B
- Authority
- CN
- China
- Prior art keywords
- msub
- mrow
- msup
- mover
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Storage Device Security (AREA)
- Peptides Or Proteins (AREA)
Abstract
本发明涉及一种加密群签名的混淆方法,用以保护群内成员的签名私钥,包括以下步骤:1)群主构建签名群,根据setup算法获取群参数序列pub、主私钥MK和追踪秘钥TK;2)信息接收者根据群参数序列pub通过EKGen算法获取各自的加密公钥PKe和解密私钥SKe;3)群主通过Enroll算法获取群内成员的签名追踪信息sID和与各自ID对应的签名密钥KID,并将签名密钥KID发送给对应的群内成员;4)根据混淆算法Obf将群内成员的初始加密群签名算法EGS以及群内成员的签名密钥KID进行混淆处理,得到混淆后的加密群签名算法;5)对待发送的信息M进行信息签名加密后产生加密密文C,并将加密密文C发送给信息接收者。与现有技术相比,本发明具有适用于保护私钥的情况、保密效果好等优点。
Description
技术领域
本发明涉及密码学、群签名和混淆理论领域,尤其是涉及一种加密群签名的混淆方法。
背景技术
群签名是为一组成员设计的特别的数字签名,最初是由Cham和Heyst提出的。群签名中,有一个群管理者和许多成员。每个群有一个群公钥用来认证。每个群成员有独立的私钥用于产生群签名,且能被群公钥检测出其签名。群管理者有一个主密钥。假设一个签名,群管理员可以用主密钥知道哪个群成员产生的这个签名。这就是可追踪性。另外,没有主密钥的其他群成员不能知道这个签名是哪个群成员产生的,这叫做可匿名性。实际上,群签名有以下4点性质:1)只有群成员能签名,2)接受着可以证实签名是否有效,3)可匿名性,4)可追踪性。
现有的群签名信息的签名加密方法包括:
1、setup:群主构建签名群,并确定管理员后,获取群参数序列pub、主私钥MK和追踪秘钥TK;
2、信息接收者根据群参数序列pub通过EKGen算法获取各自的加密公钥PKe和解密私钥SKe;
3、群主根据群参数序列pub、主私钥MK和群内成员的ID,通过Enroll算法获取群内成员的签名追踪信息sID和与各自ID对应的签名密钥KID,并将签名密钥KID发送给对应的群内成员;
4、EGS:首先对消息M进行Sign,得到六元组(σ1,σ2,σ3,σ4,π1,π2),然后对元组中的六个元素,依次进行Enc,并将结果输出。
Enc:
对系统参数进行解析:首先将pub解析为再将其中的PP进一步解析为(g,h,u,v',v1,…,vm,Ω,A)。系统参数集合pub是在setup时生成的。
计算并输出密文C=(PKe,0 x,PKe,1 y,gx+y·M);其中PKe=(PKe,0,PKe,1)是由算法EKGen生成的公钥,M是输入的明文,x,y∈Zn是算法执行过程中随机产生的元素。
Sign:
对系统参数进行解析:首先将pub解析为再将其中的PP进一步解析为(g,h,u,v',v1,…,vm,Ω,A)。系统参数集合pub是在setup时生成的。
将签名私钥KID解析为(K1,K2,K3);将输入消息M解析为二进制序列μ1,…,μm。
计算并输出(σ1,σ2,σ3,σ4,π1,π2)
其中
s是在Zn中随机选择的元素
其中t1,t2,t3,t4是在Zn中随机选择的元素
近些年,在构建各式各样信息系统的隐私保护方案时,群签名技术得到广泛的使用。但是,传统的群签名技术只能保证在黑盒攻击下的安全,所谓黑盒攻击环境,即是说攻击者只能够控制或知晓密码算法或模块的输入和输出。此时,密码算法的实现本身,特别是其中的私钥,攻击者是无法知晓的,仿佛面对一个“黑盒子”进行攻击。除了黑盒攻击环境之外,在实际应用中,有必要考虑一些更加恶劣的运行环境。其中最为难以应对的,是所谓白盒攻击环境。在白盒攻击环境中,攻击者对密码模块或算法的运行环境有完全的控制权。此时,攻击者可以分析程序实现的代码,对其进行反编译或动态的执行追踪,密码算法的实现对于攻击者而言是完全透明的。攻击者此时是在研究一个毫无遮蔽的“白盒子”。
近年来,随着移动计算和分布式计算的发展,以及高级持续威胁(APT)攻击和各种严重安全漏洞的层出不穷,研究白盒攻击环境下密码技术的安全性已经迫在眉睫。典型的白盒攻击环境例如:一台被入侵并被获取了管理员权限的计算机,在恶意主机上运行的移动代理,一台被窃取的平板电脑或智能手机等(此时,对于专业的黑客,突破访问口令或图形密码并非难事),另外,2014年被曝光的SSL心脏出血漏洞,可以导致攻击者远程获取服务器上的某些内存片段,如果其中存放了签名密钥,后果同样严重。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种适用于保护私钥的情况、保密效果好的加密群签名的混淆方法。
本发明的目的可以通过以下技术方案来实现:
一种加密群签名的混淆方法,用以保护群内成员的签名私钥,包括以下步骤:
1)群主构建签名群,在确定管理员后,根据setup算法获取群参数序列pub、主私钥MK和追踪秘钥TK;
2)信息接收者根据群参数序列pub通过EKGen算法获取各自的加密公钥PKe和解密私钥SKe;
3)群主根据群参数序列pub、主私钥MK和群内成员的ID,通过Enroll算法获取群内成员的签名追踪信息sID和与各自ID对应的签名密钥KID,并将签名密钥KID发送给对应的群内成员;
4)根据混淆算法Obf将群内成员的初始加密群签名算法EGS以及群内成员的签名密钥KID进行混淆处理,得到混淆后的加密群签名算法Rpub,z,PKe;
5)根据混淆后的加密群签名算法Rpub,z,PKe对待发送的信息M进行信息签名加密后产生加密密文C,并将加密密文C发送给信息接收者。
所述的步骤1)中根据setup算法中设定签名消息长度为m比特,且群成员数量不超过2k时,计算出的群参数序列pub、主私钥MK和追踪秘钥TK的表达式为:
PP=(g,h,u,v',v1,…,vm,Ω,A)
MK=(gα,ω)∈G×Zn
n=p·q
Ω=gω
且满足约束条件:k的大小与λ为线性关系,且存在正整数c1和c2,有c1×λ≤log2p≤c2×λ且c1×λ≤log2q≤c2×λ成立,
其中,G,GT为n阶循环群,是G→GT的双线性映射,PP为用于群签密的系列参数,g为G中的随机元素,h为Gq中的随机元素,u、v'和v1,…,vm均为G中 的随机元素,α和ω为Zn中的随机元素,p和q为自然数集合中的元素且均为质数,Zn为模n剩余类环,λ为一元安全参数。
所述的步骤2)中的EKGen算法具体包括以下步骤:
根据在Zn中随机选择的参数a和b,得到加密公钥PKe和解密私钥SKe:
PKe=(ga,gb)
SKe=(a,b)
其中,g为G中的随机元素,由群参数序列pub解析得出。
所述的步骤3)中Enroll算法中KID的计算式为:
KID=(K1,K2,K3)
且ω∈Zn
其中,g和u为G中的随机元素,且由群参数序列pub解析得出,α和ω为Zn中的随机元素,且由主私钥MK解析得出,为模n剩余类环Zn的乘法群。
所述的步骤4)中的混淆算法Obf为:
41)获得解析后的PKe=(PKe,0,PKe,1)、和sk=KID=(K1,K2,K3);
42)分别对sk和PKe进行混淆,并获得混淆后的签名密钥z:
其中,x1,y1,x2,y2,x3,y3为Zn中随机选择的参数,g为G中的随机元素,且由群参数序列pub解析得出。
所述的步骤5)中通过算法进行信息签名后产生加密密文C具体包括以下步骤:
51)判断消息M是否为空,若是,则输出(pub,PKe),若否,则进行步骤52;
52)获取解析后的二进制形式的M=(μ1,…,μm)、PKe=(PKe,0,PKe,1)、和
53)进行信息签名后产生加密密文C:
其中,s、t1,…,t4、x1 *,…,x6 *、y1 *,…,y6 *均为Zn中的随机元素,g为G中的随机元素,h为Gq中的随机元素,v'和v1,…,vm均为G中的随机元素,μi为M中的元素,且g、h、v'和v1,…,vm均由群参数序列pub解析得出。
与现有技术相比,本发明具有以下优点:
一、适用于保护私钥的情况:混淆器输出的混淆后的加密群签密实现,可以在不“显式地”使用群成员的签名私钥的前提下,实现加密群签名功能。
二、保密效果好:本发明在攻击者攻破了运行(混淆后的)加密群签名实现的计算机的情况下,攻击者也几乎无法获得群成员的签名私钥,严格地说,在λ的多项式的时间复杂度内,无论使用何种攻击方法,攻击者获得该私钥的概率,与安全参数λ相比较,是可忽略的,可忽略的数学定义是:对任意的多项式f,攻击成功的概率小于实际上,为了获得较高的安全性,可以取λ=n=1024,此时,对本发明进行攻击,约需要2512的复杂度,所以混淆后的实现具有较高的安全性。
三、执行效率高:混淆后的算法在实际运行时,其效率(复杂度)与原先的加密群签名操作基本相对,并不会对系统的性能带来显著的影响。
附图说明
图1为本发明的方法流程图。
图2为实施例中的签名群方法流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例:
如图1所示,一种加密群签名的混淆方法,用以保护群内成员的签名私钥,包括以下步骤:
1)群主构建签名群,在确定管理员后,根据setup算法获取群参数序列pub、主私钥MK和追踪秘钥TK,在根据setup算法中设定签名消息长度为m比特,且群成员数量不超过2k时,计算出的群参数序列pub、主私钥MK和追踪秘钥TK的表达式为:
PP=(g,h,u,v',v1,…,vm,Ω,A)
MK=(gα,ω)∈G×Zn
n=p·q
Ω=gω
且满足约束条件:k的大小与λ为线性关系,且存在正整数c1和c2,有c1×λ≤log2p≤c2×λ且c1×λ≤log2q≤c2×λ成立,
其中,G,GT为n阶循环群,是G→GT的双线性映射,PP为用于群签密的系列参数,g为G中的随机元素,h为Gq中的随机元素,u、v'和v1,…,vm均为G中的随机元素,α和ω为Zn中的随机元素,p和q为自然数集合中的元素且均为质数,Zn为模n剩余类环,λ为一元安全参数;
2)信息接收者根据群参数序列pub通过EKGen算法获取各自的加密公钥PKe和解密私钥SKe,EKGen算法具体包括以下步骤:
根据在Zn中随机选择的参数a和b,得到加密公钥PKe和解密私钥SKe:
PKe=(ga,gb)
SKe=(a,b)
其中,g为G中的随机元素,由群参数序列pub解析得出;
3)群主根据群参数序列pub、主私钥MK和群内成员的ID,通过Enroll算法获取群内成员的签名追踪信息sID和与各自ID对应的签名密钥KID,并将签名密钥KID发送给对应的群内成员,Enroll算法中KID的计算式为:
KID=(K1,K2,K3)
且ω∈Zn
其中,g和u为G中的随机元素,且由群参数序列pub解析得出,α和ω为Zn中的随机元素,且由主私钥MK解析得出,为模n剩余类环Zn的乘法群;
4)根据混淆算法Obf将群内成员的初始加密群签名算法EGS以及群内成员的签名密钥KID进行混淆处理,得到混淆后的加密群签名算法混淆算法Obf为:
41)获得解析后的PKe=(PKe,0,PKe,1)、和sk=KID=(K1,K2,K3);
42)分别对sk和PKe进行混淆,并获得混淆后的签名密钥z:
其中,x1,y1,x2,y2,x3,y3为Zn中随机选择的参数,g为G中的随机元素,且由群参数序列pub解析得出;
5)根据混淆后的加密群签名算法对待发送的信息M进行信息签名加密后产生加密密文C,并将加密密文C发送给信息接收者,通过算法进行信息签名后产生加密密文C具体包括以下步骤:
51)判断消息M是否为空,若是,则输出(pub,PKe),若否,则进行步骤52;
52)获取解析后的二进制形式的M=(μ1,…,μm)、PKe=(PKe,0,PKe,1)、和
53)进行信息签名后产生加密密文C:
其中,s、t1,…,t4、x1 *,…,x6 *、y1 *,…,y6 *均为Zn中的随机元素,g为G中的随机元素,h为Gq中的随机元素,v'和v1,…,vm均为G中的随机元素,μi为M中的元素,且g、h、v'和v1,…,vm均由群参数序列pub解析得出。
本发明在生成的加密签名,不会暴露具体群成员的身份(除非将签名解密并由群管理员使用Open操作来进行特别调查),在涉及隐私保护的安全方案中有较为广泛的应用前景。
如图2所示,在一个企业中,建立了一个供其内部员工使用的私有云,从而使员工可以分享内部的信息。一般而言,云服务器只需要验证该信息是内部员工上传的,即可予以接纳,这样可以允许员工匿名的提出一些意见且不会暴露身份,当然,如果出现了恶意的诽谤,群管理员可以来进行特殊的调查取证,以发现真正的信息发送者。
应用的具体步骤如下:
1群主对群进行初始化(Setup)
2吸纳群成员
2.1当某人需要加入时,将其身份ID发给群主
2.2群主执行Enroll操作,为该ID分配签名私钥KID
2.3发送KID给混淆器
3混淆
3.1根据标准的群签名算法以及云服务器的加密公钥等,混淆装置生成混淆后的加密群签名算法
3.2将该算法发送给对应的群成员
4执行加密群签名
4.1群成员(内部员工)调用组件执行加密群签名操作(如果需要,可对信息正文同时加密)
4.2群成员(内部员工)加密的签名和信息发送到云服务器
5云服务器端信息处理
5.1云服务器解密并验证签名(以下假设通过了验证)
5.2云服务器发布信息
6签名人身份追踪(需要调查的特殊情况才执行这一系列步骤)
6.1云服务器将解密后的签名发送给群管理员
6.2群管理员执行Open操作,追踪调查该签名对应群成员的ID 。
Claims (1)
1.一种加密群签名的混淆方法,用以保护群内成员的签名私钥,其特征在于,包括以下步骤:
1)群主构建签名群,在确定管理员后,根据setup算法获取群参数序列pub、主私钥MK和追踪秘钥TK,所述的步骤1)中,根据setup算法中设定签名消息长度为m比特,且群成员数量不超过2k时,计算出的群参数序列pub、主私钥MK和追踪秘钥TK的表达式为:
<mrow>
<mi>p</mi>
<mi>u</mi>
<mi>b</mi>
<mo>=</mo>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>,</mo>
<mover>
<mi>e</mi>
<mo>^</mo>
</mover>
<mo>,</mo>
<mi>G</mi>
<mo>,</mo>
<msub>
<mi>G</mi>
<mi>T</mi>
</msub>
<mo>,</mo>
<mi>P</mi>
<mi>P</mi>
<mo>)</mo>
</mrow>
</mrow>
PP=(g,h,u,v',v1,…,vm,Ω,A)
MK=(gα,ω)∈G×Zn
n=p·q
<mrow>
<mi>A</mi>
<mo>=</mo>
<mover>
<mi>e</mi>
<mo>^</mo>
</mover>
<mrow>
<mo>(</mo>
<mi>g</mi>
<mo>,</mo>
<mi>g</mi>
<mo>)</mo>
</mrow>
</mrow>
Ω=gω
且满足约束条件:k的大小与λ为线性关系,且存在正整数c1和c2,有c1×λ≤log2p≤c2×λ且c1×λ≤log2q≤c2×λ成立,
其中,G,GT为n阶循环群,是G→GT的双线性映射,PP为用于群签密的系列参数,g为G中的随机元素,h为Gq中的随机元素,u、v'和v1,…,vm均为G中的随机元素,α和ω为Zn中的随机元素,p和q为自然数集合中的元素且均为质数,Zn为模n剩余类环,λ为一元安全参数;
2)信息接收者根据群参数序列pub通过EKGen算法获取各自的加密公钥PKe和解密私钥SKe,所述的EKGen算法具体包括以下步骤:
根据在Zn中随机选择的参数a和b,得到加密公钥PKe和解密私钥SKe:
PKe=(ga,gb)
SKe=(a,b)
其中,g为G中的随机元素,由群参数序列pub解析得出;
3)群主根据群参数序列pub、主私钥MK和群内成员的ID,通过Enroll算法获取群内成员的签名追踪信息sID和与各自ID对应的签名密钥KID,并将签名密钥KID发送给对应的群内成员,所述的Enroll算法中KID的计算式为:
KID=(K1,K2,K3)
且ω∈Zn
<mrow>
<msub>
<mi>K</mi>
<mn>1</mn>
</msub>
<mo>=</mo>
<msup>
<mrow>
<mo>(</mo>
<msup>
<mi>g</mi>
<mi>&alpha;</mi>
</msup>
<mo>)</mo>
</mrow>
<mfrac>
<mn>1</mn>
<mrow>
<mi>&omega;</mi>
<mo>+</mo>
<msub>
<mi>s</mi>
<mrow>
<mi>I</mi>
<mi>D</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</msup>
</mrow>
<mrow>
<msub>
<mi>K</mi>
<mn>2</mn>
</msub>
<mo>=</mo>
<msup>
<mi>g</mi>
<msub>
<mi>s</mi>
<mrow>
<mi>I</mi>
<mi>D</mi>
</mrow>
</msub>
</msup>
</mrow>
<mrow>
<msub>
<mi>K</mi>
<mn>3</mn>
</msub>
<mo>=</mo>
<msup>
<mi>u</mi>
<msub>
<mi>s</mi>
<mrow>
<mi>I</mi>
<mi>D</mi>
</mrow>
</msub>
</msup>
</mrow>
其中,g和u为G中的随机元素,且由群参数序列pub解析得出,α和ω为Zn中的随机元素,且由主私钥MK解析得出,为模n剩余类环Zn的乘法群;
4)根据混淆算法Obf将群内成员的初始加密群签名算法EGS以及群内成员的签名密钥KID进行混淆处理,得到混淆后的加密群签名算法所述的混淆算法Obf为:
41)获得解析后的PKe=(PKe,0,PKe,1)、和sk=KID=(K1,K2,K3);
42)分别对sk和PKe进行混淆,并获得混淆后的签名密钥z:
<mrow>
<mi>z</mi>
<mo>=</mo>
<mrow>
<mo>(</mo>
<msub>
<mi>C</mi>
<msub>
<mi>x</mi>
<mn>1</mn>
</msub>
</msub>
<mo>,</mo>
<msub>
<mi>C</mi>
<msub>
<mi>y</mi>
<mn>1</mn>
</msub>
</msub>
<mo>,</mo>
<msub>
<mi>C</mi>
<msub>
<mi>x</mi>
<mn>2</mn>
</msub>
</msub>
<mo>,</mo>
<msub>
<mi>C</mi>
<msub>
<mi>y</mi>
<mn>2</mn>
</msub>
</msub>
<mo>,</mo>
<msub>
<mi>C</mi>
<msub>
<mi>x</mi>
<mn>3</mn>
</msub>
</msub>
<mo>,</mo>
<msub>
<mi>C</mi>
<msub>
<mi>y</mi>
<mn>3</mn>
</msub>
</msub>
<mo>,</mo>
<mover>
<msub>
<mi>K</mi>
<mn>1</mn>
</msub>
<mo>~</mo>
</mover>
<mo>,</mo>
<mover>
<msub>
<mi>K</mi>
<mn>2</mn>
</msub>
<mo>~</mo>
</mover>
<mo>,</mo>
<mover>
<msub>
<mi>K</mi>
<mn>3</mn>
</msub>
<mo>~</mo>
</mover>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mover>
<msub>
<mi>K</mi>
<mn>1</mn>
</msub>
<mo>~</mo>
</mover>
<mo>=</mo>
<msup>
<mi>g</mi>
<mrow>
<msub>
<mi>x</mi>
<mn>1</mn>
</msub>
<mo>+</mo>
<msub>
<mi>y</mi>
<mn>1</mn>
</msub>
</mrow>
</msup>
<mo>&CenterDot;</mo>
<msub>
<mi>K</mi>
<mn>1</mn>
</msub>
</mrow>
<mrow>
<mover>
<msub>
<mi>K</mi>
<mn>2</mn>
</msub>
<mo>~</mo>
</mover>
<mo>=</mo>
<msup>
<mi>g</mi>
<mrow>
<msub>
<mi>x</mi>
<mn>2</mn>
</msub>
<mo>+</mo>
<msub>
<mi>y</mi>
<mn>2</mn>
</msub>
</mrow>
</msup>
<mo>&CenterDot;</mo>
<msub>
<mi>K</mi>
<mn>2</mn>
</msub>
</mrow>
<mrow>
<mover>
<msub>
<mi>K</mi>
<mn>3</mn>
</msub>
<mo>~</mo>
</mover>
<mo>=</mo>
<msup>
<mi>g</mi>
<mrow>
<msub>
<mi>x</mi>
<mn>3</mn>
</msub>
<mo>+</mo>
<msub>
<mi>y</mi>
<mn>3</mn>
</msub>
</mrow>
</msup>
<mo>&CenterDot;</mo>
<msub>
<mi>K</mi>
<mn>3</mn>
</msub>
</mrow>
<mrow>
<msub>
<mi>C</mi>
<msub>
<mi>x</mi>
<mn>1</mn>
</msub>
</msub>
<mo>=</mo>
<msup>
<msub>
<mi>PK</mi>
<mrow>
<mi>e</mi>
<mo>,</mo>
<mn>0</mn>
</mrow>
</msub>
<msub>
<mi>x</mi>
<mn>1</mn>
</msub>
</msup>
</mrow>
<mrow>
<msub>
<mi>C</mi>
<msub>
<mi>y</mi>
<mn>1</mn>
</msub>
</msub>
<mo>=</mo>
<msup>
<msub>
<mi>PK</mi>
<mrow>
<mi>e</mi>
<mo>,</mo>
<mn>1</mn>
</mrow>
</msub>
<msub>
<mi>y</mi>
<mn>1</mn>
</msub>
</msup>
</mrow>
<mrow>
<msub>
<mi>C</mi>
<msub>
<mi>x</mi>
<mn>2</mn>
</msub>
</msub>
<mo>=</mo>
<msup>
<msub>
<mi>PK</mi>
<mrow>
<mi>e</mi>
<mo>,</mo>
<mn>0</mn>
</mrow>
</msub>
<msub>
<mi>x</mi>
<mn>2</mn>
</msub>
</msup>
</mrow>
<mrow>
<msub>
<mi>C</mi>
<msub>
<mi>y</mi>
<mn>2</mn>
</msub>
</msub>
<mo>=</mo>
<msup>
<msub>
<mi>PK</mi>
<mrow>
<mi>e</mi>
<mo>,</mo>
<mn>1</mn>
</mrow>
</msub>
<msub>
<mi>y</mi>
<mn>2</mn>
</msub>
</msup>
</mrow>
<mrow>
<msub>
<mi>C</mi>
<msub>
<mi>x</mi>
<mn>3</mn>
</msub>
</msub>
<mo>=</mo>
<msup>
<msub>
<mi>PK</mi>
<mrow>
<mi>e</mi>
<mo>,</mo>
<mn>0</mn>
</mrow>
</msub>
<msub>
<mi>x</mi>
<mn>3</mn>
</msub>
</msup>
</mrow>
<mrow>
<msub>
<mi>C</mi>
<msub>
<mi>y</mi>
<mn>3</mn>
</msub>
</msub>
<mo>=</mo>
<msup>
<msub>
<mi>PK</mi>
<mrow>
<mi>e</mi>
<mo>,</mo>
<mn>1</mn>
</mrow>
</msub>
<msub>
<mi>y</mi>
<mn>3</mn>
</msub>
</msup>
</mrow>
其中,x1,y1,x2,y2,x3,y3为Zn中随机选择的参数,g为G中的随机元素,且由群参数序列pub解析得出;
5)根据混淆后的加密群签名算法对待发送的信息M进行信息签名加密后产生加密密文C,并将加密密文C发送给信息接收者,所述的步骤5)中通过算法进行信息签名后产生加密密文C具体包括以下步骤:
51)判断消息M是否为空,若是,则输出(pub,PKe),若否,则进行步骤52;
52)获取解析后的二进制形式的M=(μ1,…,μm)、PKe=(PKe,0,PKe,1)、和
53)进行信息签名后产生加密密文C:
<mrow>
<mi>C</mi>
<mo>=</mo>
<mo><</mo>
<msup>
<msub>
<mi>C</mi>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
</msub>
<mo>*</mo>
</msup>
<mo>,</mo>
<msup>
<msub>
<mi>C</mi>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
</msub>
<mo>*</mo>
</msup>
<mo>,</mo>
<mover>
<msub>
<mi>&sigma;</mi>
<mi>i</mi>
</msub>
<mo>~</mo>
</mover>
<msub>
<mo>></mo>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mn>2</mn>
<mo>,</mo>
<mn>3</mn>
<mo>,</mo>
<mn>4</mn>
<mo>)</mo>
</mrow>
</msub>
<mo>,</mo>
<mo><</mo>
<msup>
<msub>
<mi>C</mi>
<msub>
<mi>x</mi>
<mn>5</mn>
</msub>
</msub>
<mo>*</mo>
</msup>
<mo>,</mo>
<msup>
<msub>
<mi>C</mi>
<msub>
<mi>y</mi>
<mn>5</mn>
</msub>
</msub>
<mo>*</mo>
</msup>
<mo>,</mo>
<mover>
<msub>
<mi>&pi;</mi>
<mn>1</mn>
</msub>
<mo>~</mo>
</mover>
<mo>></mo>
<mo>,</mo>
<mo><</mo>
<msup>
<msub>
<mi>C</mi>
<msub>
<mi>x</mi>
<mn>6</mn>
</msub>
</msub>
<mo>*</mo>
</msup>
<mo>,</mo>
<msup>
<msub>
<mi>C</mi>
<msub>
<mi>y</mi>
<mn>6</mn>
</msub>
</msub>
<mo>*</mo>
</msup>
<mo>,</mo>
<mover>
<msub>
<mi>&pi;</mi>
<mn>2</mn>
</msub>
<mo>~</mo>
</mover>
<mo>></mo>
</mrow>
<mrow>
<mover>
<msub>
<mi>&pi;</mi>
<mn>1</mn>
</msub>
<mo>~</mo>
</mover>
<mo>=</mo>
<msup>
<mi>g</mi>
<mrow>
<msup>
<msub>
<mi>x</mi>
<mn>5</mn>
</msub>
<mo>*</mo>
</msup>
<mo>+</mo>
<msup>
<msub>
<mi>y</mi>
<mn>5</mn>
</msub>
<mo>*</mo>
</msup>
</mrow>
</msup>
<mo>&CenterDot;</mo>
<msup>
<mi>h</mi>
<mrow>
<msub>
<mi>t</mi>
<mn>1</mn>
</msub>
<msub>
<mi>t</mi>
<mn>2</mn>
</msub>
</mrow>
</msup>
<mo>&CenterDot;</mo>
<msup>
<mrow>
<mo>(</mo>
<mover>
<msub>
<mi>&theta;</mi>
<mn>1</mn>
</msub>
<mo>~</mo>
</mover>
<mo>)</mo>
</mrow>
<msub>
<mi>t</mi>
<mn>2</mn>
</msub>
</msup>
<mo>&CenterDot;</mo>
<msup>
<mrow>
<mo>(</mo>
<mover>
<msub>
<mi>&theta;</mi>
<mn>2</mn>
</msub>
<mo>~</mo>
</mover>
<mi>&Omega;</mi>
<mo>)</mo>
</mrow>
<msub>
<mi>t</mi>
<mn>1</mn>
</msub>
</msup>
</mrow>
<mrow>
<mover>
<msub>
<mi>&pi;</mi>
<mn>2</mn>
</msub>
<mo>~</mo>
</mover>
<mo>=</mo>
<msup>
<mi>g</mi>
<mrow>
<msup>
<msub>
<mi>x</mi>
<mn>6</mn>
</msub>
<mo>*</mo>
</msup>
<mo>+</mo>
<msup>
<msub>
<mi>y</mi>
<mn>6</mn>
</msub>
<mo>*</mo>
</msup>
</mrow>
</msup>
<mo>&CenterDot;</mo>
<msup>
<mi>u</mi>
<msub>
<mi>t</mi>
<mn>2</mn>
</msub>
</msup>
<mo>&CenterDot;</mo>
<msup>
<mi>g</mi>
<mrow>
<mo>-</mo>
<msub>
<mi>t</mi>
<mn>3</mn>
</msub>
</mrow>
</msup>
<mo>&CenterDot;</mo>
<msup>
<mrow>
<mo>(</mo>
<msup>
<mi>v</mi>
<mo>&prime;</mo>
</msup>
<munderover>
<mo>&Pi;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>m</mi>
</munderover>
<msubsup>
<mi>v</mi>
<mi>i</mi>
<msub>
<mi>&mu;</mi>
<mi>i</mi>
</msub>
</msubsup>
<mo>)</mo>
</mrow>
<msub>
<mi>t</mi>
<mn>4</mn>
</msub>
</msup>
</mrow>
<mrow>
<mover>
<msub>
<mi>&sigma;</mi>
<mi>i</mi>
</msub>
<mo>~</mo>
</mover>
<mo>=</mo>
<msup>
<mi>g</mi>
<mrow>
<msup>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<mo>*</mo>
</msup>
<mo>+</mo>
<msup>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
<mo>*</mo>
</msup>
</mrow>
</msup>
<mo>&CenterDot;</mo>
<msub>
<mover>
<mi>&theta;</mi>
<mo>~</mo>
</mover>
<mi>i</mi>
</msub>
<mo>&CenterDot;</mo>
<msup>
<mi>h</mi>
<msub>
<mi>t</mi>
<mi>i</mi>
</msub>
</msup>
</mrow>
<mrow>
<mover>
<msub>
<mi>&theta;</mi>
<mi>i</mi>
</msub>
<mo>~</mo>
</mover>
<mo>=</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mover>
<msub>
<mi>&theta;</mi>
<mn>1</mn>
</msub>
<mo>~</mo>
</mover>
<mo>=</mo>
<mover>
<msub>
<mi>K</mi>
<mn>1</mn>
</msub>
<mo>~</mo>
</mover>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mover>
<msub>
<mi>&theta;</mi>
<mn>2</mn>
</msub>
<mo>~</mo>
</mover>
<mo>=</mo>
<mover>
<msub>
<mi>K</mi>
<mn>2</mn>
</msub>
<mo>~</mo>
</mover>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mtable>
<mtr>
<mtd>
<mrow>
<mover>
<msub>
<mi>&theta;</mi>
<mn>3</mn>
</msub>
<mo>~</mo>
</mover>
<mo>=</mo>
<mover>
<msub>
<mi>K</mi>
<mn>3</mn>
</msub>
<mo>~</mo>
</mover>
<mo>&CenterDot;</mo>
<msup>
<mrow>
<mo>(</mo>
<msup>
<mi>v</mi>
<mo>&prime;</mo>
</msup>
<munderover>
<mo>&Pi;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>m</mi>
</munderover>
<msubsup>
<mi>v</mi>
<mi>i</mi>
<msub>
<mi>&mu;</mi>
<mi>i</mi>
</msub>
</msubsup>
<mo>)</mo>
</mrow>
<mi>s</mi>
</msup>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mn>2</mn>
<mo>,</mo>
<mn>3</mn>
<mo>,</mo>
<mn>4</mn>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mover>
<msub>
<mi>&theta;</mi>
<mn>4</mn>
</msub>
<mo>~</mo>
</mover>
<mo>=</mo>
<msup>
<mi>g</mi>
<mrow>
<mo>-</mo>
<mi>s</mi>
</mrow>
</msup>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msup>
<msub>
<mi>C</mi>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
</msub>
<mo>*</mo>
</msup>
<mo>=</mo>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>PK</mi>
<mrow>
<mi>e</mi>
<mo>,</mo>
<mn>0</mn>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mrow>
<msup>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<mo>*</mo>
</msup>
</mrow>
</msup>
<mo>&CenterDot;</mo>
<msub>
<mi>C</mi>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
</msub>
<mo>,</mo>
<msup>
<msub>
<mi>C</mi>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
</msub>
<mo>*</mo>
</msup>
<mo>=</mo>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>PK</mi>
<mrow>
<mi>e</mi>
<mo>,</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mrow>
<msup>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
<mo>*</mo>
</msup>
</mrow>
</msup>
<mo>&CenterDot;</mo>
<msub>
<mi>C</mi>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mn>2</mn>
<mo>,</mo>
<mn>3</mn>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msup>
<msub>
<mi>C</mi>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
</msub>
<mo>*</mo>
</msup>
<mo>=</mo>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>PK</mi>
<mrow>
<mi>e</mi>
<mo>,</mo>
<mn>0</mn>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mrow>
<msup>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<mo>*</mo>
</msup>
</mrow>
</msup>
<mo>,</mo>
<msup>
<msub>
<mi>C</mi>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
</msub>
<mo>*</mo>
</msup>
<mo>=</mo>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>PK</mi>
<mrow>
<mi>e</mi>
<mo>,</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mrow>
<msup>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
<mo>*</mo>
</msup>
</mrow>
</msup>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>=</mo>
<mn>4</mn>
<mo>,</mo>
<mn>6</mn>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msup>
<msub>
<mi>C</mi>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
</msub>
<mo>*</mo>
</msup>
<mo>&LeftArrow;</mo>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>PK</mi>
<mrow>
<mi>e</mi>
<mo>,</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mrow>
<msup>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<mo>*</mo>
</msup>
</mrow>
</msup>
<mo>&CenterDot;</mo>
<msup>
<msub>
<mi>C</mi>
<msub>
<mi>x</mi>
<mn>1</mn>
</msub>
</msub>
<msub>
<mi>t</mi>
<mn>2</mn>
</msub>
</msup>
<mo>&CenterDot;</mo>
<msup>
<msub>
<mi>C</mi>
<msub>
<mi>x</mi>
<mn>2</mn>
</msub>
</msub>
<msub>
<mi>t</mi>
<mn>1</mn>
</msub>
</msup>
<mo>,</mo>
<msup>
<msub>
<mi>C</mi>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
</msub>
<mo>*</mo>
</msup>
<mo>&LeftArrow;</mo>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>PK</mi>
<mrow>
<mi>e</mi>
<mo>,</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mrow>
<msup>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
<mo>*</mo>
</msup>
</mrow>
</msup>
<mo>&CenterDot;</mo>
<msup>
<msub>
<mi>C</mi>
<msub>
<mi>y</mi>
<mn>1</mn>
</msub>
</msub>
<msub>
<mi>t</mi>
<mn>2</mn>
</msub>
</msup>
<mo>&CenterDot;</mo>
<msup>
<msub>
<mi>C</mi>
<msub>
<mi>y</mi>
<mn>2</mn>
</msub>
</msub>
<msub>
<mi>t</mi>
<mn>1</mn>
</msub>
</msup>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>=</mo>
<mn>5</mn>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
其中,s、t1,…,t4、x1 *,…,x6 *、y1 *,…,y6 *均为Zn中的随机元素,g为G中的随机元素,h为Gq中的随机元素,v'和v1,…,vm均为G中的随机元素,μi为M中的元素,且g、h、v'和v1,…,vm均由群参数序列pub解析得出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510275377.2A CN104917617B (zh) | 2015-05-26 | 2015-05-26 | 一种加密群签名的混淆方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510275377.2A CN104917617B (zh) | 2015-05-26 | 2015-05-26 | 一种加密群签名的混淆方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104917617A CN104917617A (zh) | 2015-09-16 |
CN104917617B true CN104917617B (zh) | 2018-02-09 |
Family
ID=54086349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510275377.2A Active CN104917617B (zh) | 2015-05-26 | 2015-05-26 | 一种加密群签名的混淆方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104917617B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105763322B (zh) * | 2016-04-13 | 2019-01-25 | 同济大学 | 一种可混淆的加密密钥隔离数字签名方法及系统 |
CN106788973A (zh) * | 2016-12-19 | 2017-05-31 | 四川九洲电器集团有限责任公司 | 一种签名方法和发送设备 |
CN106850584B (zh) * | 2017-01-06 | 2018-07-27 | 安徽大学 | 一种面向客户/服务器网络的匿名认证方法 |
CN107070869B (zh) * | 2017-01-06 | 2018-07-27 | 安徽大学 | 一种基于安全硬件的匿名认证方法 |
CN107070662B (zh) * | 2017-03-23 | 2019-10-25 | 西安电子科技大学 | 基于混淆技术的加密盲签名方法 |
CN107276750B (zh) * | 2017-06-12 | 2020-03-31 | 东南大学 | 一种实现身份混淆的水下数据传输方法 |
CN107342859B (zh) * | 2017-07-07 | 2018-04-20 | 安徽大学 | 一种匿名认证方法及其应用 |
CN110278082B (zh) * | 2018-03-14 | 2021-11-16 | 西安西电捷通无线网络通信股份有限公司 | 一种群组数字签名的群组成员发布方法和设备 |
CN108540290A (zh) * | 2018-03-20 | 2018-09-14 | 西安电子科技大学 | 基于点函数混淆器的信息隐藏签名验证方法 |
CN108737383B (zh) * | 2018-04-23 | 2021-05-11 | 同济大学 | 一种可混淆的匿名认证方法 |
CN109660542A (zh) * | 2018-12-25 | 2019-04-19 | 百度在线网络技术(北京)有限公司 | 数据处理方法、装置及终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101800641A (zh) * | 2009-12-29 | 2010-08-11 | 河南城建学院 | 一种适合大群组的群签名方法 |
CN101978651A (zh) * | 2008-03-19 | 2011-02-16 | 株式会社东芝 | 群签名系统、装置以及程序 |
CN102340483A (zh) * | 2010-07-15 | 2012-02-01 | 航天信息股份有限公司 | 民主群签名的生成、验证、追踪方法和民主群签名系统 |
-
2015
- 2015-05-26 CN CN201510275377.2A patent/CN104917617B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101978651A (zh) * | 2008-03-19 | 2011-02-16 | 株式会社东芝 | 群签名系统、装置以及程序 |
CN101800641A (zh) * | 2009-12-29 | 2010-08-11 | 河南城建学院 | 一种适合大群组的群签名方法 |
CN102340483A (zh) * | 2010-07-15 | 2012-02-01 | 航天信息股份有限公司 | 民主群签名的生成、验证、追踪方法和民主群签名系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104917617A (zh) | 2015-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104917617B (zh) | 一种加密群签名的混淆方法 | |
Mathur et al. | AES based text encryption using 12 rounds with dynamic key selection | |
US9571268B2 (en) | Method and system for homomorphicly randomizing an input | |
Herbadji et al. | Colour image encryption scheme based on enhanced quadratic chaotic map | |
CN110235409B (zh) | 使用同态加密被保护的rsa签名或解密的方法 | |
Ali et al. | A novel improvement with an effective expansion to enhance the MD5 hash function for verification of a secure E-document | |
Omolara et al. | Developing a modified hybrid caesar cipher and vigenere cipher for secure data communication | |
Wang et al. | Extended multivariate public key cryptosystems with secure encryption function | |
CN105306194A (zh) | 供加密档案和/或通讯协定的多重加密方法与系统 | |
Gafsi et al. | High securing cryptography system for digital image transmission | |
Liu et al. | Application of AES and RSA Hybrid Algorithm in E-mail | |
Shi et al. | An obfuscatable aggregatable signcryption scheme for unattended devices in IoT systems | |
Kahla et al. | Asymmetric image encryption based on twin message fusion | |
Cheng et al. | A High‐Security Privacy Image Encryption Algorithm Based on Chaos and Double Encryption Strategy | |
Riyadi et al. | The Dynamic Symmetric Four-Key-Generators System for Securing Data Transmission in the Industrial Control System. | |
Dhandabani et al. | Six‐face cubical key encryption and decryption based on product cipher using hybridisation and Rubik's cubes | |
Neforawati et al. | Message Digest 5 (MD-5) Decryption Application using Python-Based Dictionary Attack Technique | |
Al-Attab et al. | Lightweight effective encryption algorithm for securing data in cloud computing | |
Zirra et al. | Cryptographic algorithm using matrix inversion as data protection | |
Krishnan et al. | Modified AES with Random S box generation to overcome the side channel assaults using cloud | |
Khan et al. | An efficient digital confidentiality scheme based on commutative chaotic polynomial | |
Walia et al. | Multi Encryption Approach to Provide Security for Cloud Integrated Internet of Things | |
Amael et al. | Enhancing Industrial Cybersecurity: SoftHSM Implementation on SBCs for Mitigating MITM Attacks | |
Lazaar | A lightweight cryptographic solution to secure digital transmissions on resource-constrained environments. | |
Al-Jubouri et al. | SECURE RSA CRYPTOSYSTEM BASED ON MULTIPLE KEYS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |