1997年,郑玉良教授[提出的签密能够在一个合理的逻辑步骤内同时实现公钥加密和数字签名两项功能,且其计算量和通信成本远远低于传统的先签名后加密的方法.此后,签密[得到了快速发展,成为密码学研究领域的重要研究方向.2010年,刘振华等人[提出的标准模型下的无证书签密方案是不安全的,具体攻击见文献[.同年,朱辉等人[设计的没有对的无证书签密方案的描述中,将密文σ看作消息是错误的,而且安全性证明中的区分者选择的标志位c和发送者为接收者计算的密文中一个参数同名,使得整个证明过程的可读性受到影响.另外,定理1中的部分私钥和私钥提取询问中没有考虑标志位的值,实际上,标志位的值为1的情况下,区分者只能放弃游戏的执行而不是计算出相应的部分私钥和秘密值.

公钥环境中的签密使用公钥技术实现公钥加密和数字签名的过程,但公钥签密通常要求被传输的消息取自某个特定的集合,这样就限制了其应用范围.为了解决这个问题,Dent使用KEM-DEM结构给出了混合签密方案[使用了tag-KEM,他们用一个随机标签作为输入因子,避免了接收者直接通过密钥封装来恢复对称密钥,从而接收者不可能任意伪造所选消息的密文.后来,学者们将身份密码学和混合签密结合在一起,构建了身份混合签密方案

本文将身份混合签密和双线性映射结合在一起,设计了一个新颖的使用ECC的身份混合签密(IBHS)方案.我们也证明了该方案在随机预言模型以及co-CDH问题和co-BDH问题的难解性下是语义安全的.通过分析发现,这是一个算法简单并安全实用的身份混合签密方案.

1 相关知识

本节首先回顾椭圆曲线上的双线性对和一些复杂性假设,然后给出使用ECC的身份签密tag-KEM和使用ECC的IBHS方案的形式化定义,以及使用ECC的IBHS方案的安全模型.

1.1 安全假设

,

,

是3个阶为素数p的乘法循环群,

,

分别是

的生成元.存在从

的同构并且ψ(

)=

.映射e:

x

是满足以下条件的双线性映射:

(1) 双线性:对任意的P∈

,Q∈

和a,b∈${\Bbb Z}$p,e(Pa,Qb)=e(P,Q)ab;

(2) 非退化性:e(

,

)¹1.

Co-bilinear Diffie-Hellman (co-BDH) problem: 给定P,Pa,Pb∈

,Q∈

,对任意未知的a,b∈${\Bbb Z}$p,co-BDH问题是计算e(P,Q)ab∈

.如果:

Pr[A(P,Pa,Pb,Q)=e(P,Q)ab|a,bÎ$\mathbb{Z}$p]≥ε,

则有一个概率多项式时间的敌手A至少以概率ε解决co-BDH问题.

定义1(Co-BDH假设). 如果没有任何概率多项式时间的敌手A以一个至少是ε的概率解决co-BDH问题,我们就说co-BDH假设是成立的.

Co-decisional bilinear Diffie-Hellman (co-DBDH) problem: 给定P,Pa,Pb∈

,Q∈

和u∈

,对任意未知的a,b∈${\Bbb Z}$p,co-DBDH问题是判断是否e(P,Q)ab=u.如果:

Pr[A(P,Pa,Pb,Q,u)=1|a,bÎ$\mathbb{Z}$p]-Pr[A(P,Pa,Pb,Q,e(P,Q)ab)=1|a,bÎ$\mathbb{Z}$p]≥ε,

则有一个概率多项式时间的敌手A至少以概率ε解决co-DBDH问题.

定义2(Co-DBDH假设). 如果没有任何概率多项式时间的敌手A以一个至少是ε的概率解决co-DBDH问题,我们就说co-DBDH假设是成立的.

Co-computational Diffie-Hellman (co-CDH) problem: 给定P,Pa∈

,Q∈

,对任意未知的a∈${\Bbb Z}$p,co-CDH问题是计算Qa∈

.如果:

Pr[A(P,Pa,Q)=Qa|aÎ$\mathbb{Z}$p]≥ε,

则有一个概率多项式时间的敌手A至少以概率ε解决co-CDH问题.

定义3(Co-CDH假设). 如果没有任何概率多项式时间的敌手A以一个至少是ε的概率解决co-CDH问题,我们就说co-CDH假设是成立的.

1.2 使用ECC的身份签密tag-KEM

本节给出了一种使用ECC身份签密tag-KEM方案的算法模型,包括设置算法Setup、密钥产生算法KeyGen、对称密钥产生算法Sym、密钥封装算法Encap和解封装算法Decap.使用ECC的身份签密tag-KEM有3个参与方:私钥生成器(PKG)、身份为ida的发送者和身份为idb的接收者.每个算法模块的设计和实现描述如下:

• Setup:输入安全参数k,PKG执行这个设置算法并产生系统参数pm以及主密钥x.最后,PKG公布系统参数并保留主密钥;

• KeyGen:输入pm,x和某实体的身份idi,PKG执行这个密钥生成算法并输出该实体的私钥si和公钥yi;

• Sym:输入pm、发送者的公私钥对(ya,sa)以及接收者的身份idb和公钥yb,身份为ida的发送者执行这个对称密钥生成算法并输出对称密钥κ和内部状态信息ω;

• Encap:输入标签c和状态信息ω,身份为ida的发送者执行这个密钥封装算法并输出对称密钥封装Φ;

• Decap:输入pm、标签c、对称密钥封装Φ、发送者的身份ida和公钥ya以及接收者的公私钥对(yb,sb),身份为idb的接收者执行这个解封装算法并输出对称密钥κ或表示解封装失败的符号⊥.

1.3 使用ECC的IBHS方案

一个使用ECC的IBHS方案由使用ECC的身份签密tag-KEM和DEM[两个方案组成.使用ECC的IBHS方案的4个概率多项式算法的细节描述如下:

• Setup:与使用ECC的身份签密tag-KEM方案相同;

• KeyGen:与使用ECC的身份签密tag-KEM方案相同;

• Signcrypt:给定(pm,ida,idb,m,sa,ya,yb),发送者按照下列步骤执行这种签密算法:

(1) 计算(κ,ω)¬Sym(pm,ida,idb,sa,ya,yb);

(2) 计算c¬DEM.Enc(κ,m);

(3) 计算Φ¬Encap(c,ω);

(4) 输出密文σ¬(c,Φ);

• Unsigncrypt:给定(pm,ida,idb,σ,sb,ya,yb),接收者按照下列步骤执行这种解签密算法:

(1) 计算κ¬Decap(pm,Φ,ida,idb,sb,ya,yb).

(2) 输出m¬DEM.Dec(κ,c).

(3) 如果验证等式成立,接收消息m;否则,输出符号⊥.

1.4 使用ECC的IBHS方案的安全模型

本文基于下面的安全模型对使用ECC的IBHS方案的安全性给出随机预言模型下的安全证明.我们的模型中不允许发送者和接收者身份相同的询问.

1.4.1 保密性

保密性是指攻击者从一个密文中获取任何明文信息在计算上是不可行的.对于使用ECC的IBHS方案的保密性,我们采用适应性选择密文攻击下的不可区分性(IND-CCA2)安全模型.这个模型是由文献[中的安全模型修改得到.具体描述中,需考虑下面挑战者C和敌手A之间进行的一个交互游戏:

初始化. C运行设置算法得到系统参数和主密钥,并发送系统参数给敌手A但保留主密钥.

阶段1. A在这个阶段执行多项式有界次适应性询问,适应性是指每次询问都依赖于以前询问的应答:

Ø 私钥询问:A选择一个身份idi并询问这个身份的私钥,C运行相关算法并将作为结果的私钥si发送给A;

Ø 签密询问:当接收到关于(m,ida,idb)的签密询问时,C计算密文σ并将这个密文发送给A;

Ø 解签密询问:当接收到关于(σ,ida,idb)的解签密询问时,C运行解签密算法并将结果发送给A.

挑战. 当阶段1结束时,A生成两个等长的消息m0与m1以及希望挑战的两个身份$id_a^*$与$id_b^*$,这里,$id_a^*,id_b^*$分别是发送者和接收者的身份.在阶段1,身份$id_b^*$的私钥不能被询问.挑战者C从{0,1}中选择一个随机位t,计

算:

${\sigma ^*} \leftarrow Signcrypt(pm,id_a^*,id_b^*,{m_t},s_a^*,y_a^*,y_b^*)$,

并发送挑战密文σ*给A.

阶段2. A在这个阶段,像阶段1那样自适应地执行多项式有界次询问.C像阶段1那样做出应答,但是A不能询问身份$id_b^*$的私钥,也不能对关于$id_a^*$与$id_b^*$的σ*进行解签密询问.

当游戏结束的时候,敌手A输出t的一个猜测值t*.假如t*=t*,那么敌手A赢得上述游戏.A赢得游戏的优势定义为Adv(A)=|2Pr[t*=t]-1|,这里,Pr[t*=t]表示t*=t的概率.

定义4. 如果任意多项式有界的敌手A赢得上面游戏的优势是可忽略的,则称一个使用ECC的IBHS方案,在适应性选择密文攻击下具有不可区分性.

1.4.2 不可伪造性

不可伪造性是指发送者不能否认对消息签名的事实.对于所提方案的不可伪造性,我们采用适应性选择明文攻击下的不可伪造性(sUF-CMA)安全模型.具体描述中,需考虑挑战者C和伪造者F之间执行的一个交互 游戏:

初始化. C运行设置算法得到系统参数和主密钥,并返回系统参数但保留主密钥.

训练. F在这个阶段像定义4中的阶段1那样执行多项式有界次的适应性询问,所涉及到的询问与应答和定义4中的阶段1完全相同.

伪造. 当训练阶段结束的时候,F输出伪造的三元组$(id_a^*,id_b^*,{\sigma ^*})$,这里,$id_a^*,id_b^*$分别是发送者和接收者的身份.在训练阶段,身份$id_a^*$的私钥不能被询问,并且σ*不能是来自F的任何签密询问的应答.

如果解签密的结果不是符号⊥,则伪造者F就赢得上述游戏.F赢得游戏的优势定义为Adv(F)=Pr[win].

定义5. 如果任意多项式有界的伪造者F赢得上面游戏的优势是可忽略的,则称一个使用ECC的IBHS方案在适应性选择消息攻击下具有不可伪造性.

2 方案描述

本节给出具体的使用ECC的身份混合签密(IBHS)方案.这个方案由4个概率多项式算法模块组成,每个算法模块的细节描述如下:

2.1 Setup

给定安全参数k,PKG按以下步骤执行这种算法:

(1) 选择一个k比特的大素数p,定义与第1.1节中相同的

,

,

,e,P∈

是循环群

的生成元;

(2) 选择一个随机数x∈${\Bbb Z}$p作为主密钥,计算系统公钥y=Px∈

;

(3) 选择如下密码学安全的哈希函数:H1:{0,1}*→

,H2:

x

→{0,1}n,${H_3}:{\{ 0,1\} ^n} \times {{\Bbb G}_1} \times {\Bbb G}_2^2 \times {{\Bbb G}_3} \to {{\Bbb Z}_p}$和${H_4}:{\{ 0,1\} ^n} \times {{\Bbb G}_1} \times {\Bbb G}_2^2 \times {{\Bbb G}_3} \to {{\Bbb G}_2}$.这里,n是DEM的密钥长度;

(4) 保密主密钥x,并公布系统参数pm=(p,

,

,

,P,y,n,H1,H2,H3,H4).

2.2 KeyGen

给定(pm,x),PKG计算身份为idi的实体的公钥yi=H1(idi)∈

和私钥${s_i} = y_i^x \in {{\Bbb G}_2}$.显而易见,发送者和接收者的公私钥对分别是(ya,sa)和(yb,sb).

2.3 Signcrypt

给定(pm,ida,idb,m,sb,ya,yb),发送者选择随机数u∈${\Bbb Z}$p,并通过以下步骤为接收者生成密文σ:

(1) 计算r=Pu∈

;

(2) 计算u=e(yu,yb)∈

;

(3) 计算κ=H2(r,u)∈{0,1}n;

(4) 计算c=DEM.Enc(κ,m);

(5) 计算h=H3((m,r,ya,yb,u)∈${\Bbb Z}$p;

(6) 计算ρ=H4(m,r,ya,yb,u)∈

;

(7) 计算$s = s_a^h{\rho ^u} \in {{\Bbb G}_2}$;

(8) 输出σ=(r,c,s).

2.4 Unsigncrypt

给定(pm,ida,idb,σ,sb,ya,yb),接收者按如下步骤执行这种算法.

(1) 计算u=e(r,sb);

(2) 计算κ=H2(r,u);

(3) 计算m=DEM.Dec(κ,c);

(4) 计算h=H3(m,r,ya,yb,u);

(5) 计算ρ=H4(m,r,ya,yb,u);

(6) 如果e(P,s)=e(yh,ya)e(r,ρ)成立,接收消息m;否则,输出符号⊥.

上述方案的解密算法和签密算法的一致性可以通过以下等式验证:

$\eqalign{

& \upsilon = e(r,{s_b}) = e({P^u},y_b^x) = e({y^u},{y_b}),\cr

& e(P,s) = e(P,s_a^h{\rho ^r}) = e(P,s_a^h)e(P,{\rho ^r}) = e({y^h},{y_a})e(r,\rho ). \cr} $

3 安全性分析

定理1. 在随机预言模型下,如果存在一个IND-CCA2敌手A经过最多qi次对Hi的询问(i=1~4)以及qk次私钥询问后,能够以不可忽略的优势ε赢得定义4中的游戏,那么就存在一种算法C,能够至少以优势ε/eq2qk解决co-BDH问题.

证明:设C得到一个co-BDH问题的随机实例(P,Pa,Pb,Q).为了利用A的能力得到co-BDH问题实例的解答e(P,Q)ab∈

,C运行设置算法后,将生成的系统参数(p,

,

,

,P,y=Pa,H1~H4)发送给A.C将A作为子程序并扮演其挑战者,与之在游戏中进行交互.C从q1个身份中选择第t个身份作为挑战身份idt,但是不会泄露idt给A.假设某个δ是idi=idt的概率,这个δ的值后面确定.为了避免发生对子程序A的适应性询问的非连续性应答,C维护5张列表L1~L4和Lk,这些列表初始化为空.L1~L4和Lk分别用于跟踪H1~H4预言机和私钥提取预言机.

阶段1.在这个阶段,A执行下面多项式有界次适应性询问.

• H1询问.

当收到关于身份idi的H1询问时,C先检查列表L1中是否含有元组(idi,yi,li).

Ø 如果含有,返回公钥yi;

Ø 否则,C做出如下反应:(1) 如果idi¹idt,C选择一个随机值yi∈

,返回公钥${y_i} = {P^{{l_i}}}$并且储存(idi,yi,li)到列表L1中;(2) 如果idi=idt,C设置yi=Q,返回公钥yi并且储存(idi,yi,-)到列表L1中.

• H2询问.

当收到A的H2询问时,C先检查列表L2中是否存在元组(z,u,κ):若存在,返回对称密钥κ;否则,C返回任意选择的κ∈{0,1}n并且储存(z,u,κ)到列表L2中.

• H3询问.

当收到A的H3询问时,C先检查列表L3中是否存在匹配元组:若存在,C返回相关值;否则,C返回任意选择的h∈${\Bbb Z}$p并且储存(m,r,ya,yb,u,h)到列表L3中.

• H4询问.

当收到A的H4询问时,C先检查列表L4中是否存在匹配元组.

Ø 若存在,C返回相关值;

Ø 否则,假设进行H4询问之前已经询问过H1预言机,C做出如下反应:(1) 如果ida¹idt,C设置ρ=ya,返回ρ并且储存(m,r,ya,yb

,u,ρ)到列表L1中;(2) 如果ida=idt,C设置ρ=Q,返回ρ并且储存(m,r,ya,yb,u,ρ)到列表L4中.

• 私钥询问.

A可以请求一系列身份所对应的私钥(根据H1询问可知,最多有q1个身份).当收到身份idi的私钥询问时,C 先检查列表Lk中是否存在条目(idi,si).

Ø 如果存在,返回私钥si;

Ø 否则,C做出如下反应:(1) 如果idi¹idt,C询问H1预言机得到li,计算${s_i} = {({P^a})^{{l_i}}}$,返回私钥si并且储存(idi,si)到列表Lk中;(2) 如果idi=idt,C放弃模拟.

• 签密询问.

设在签密询问之前C已经询问过H1预言机和私钥提取预言机,当收到关于(m,ida,idb)的签密询问时,C做出如下反应:如果ida¹idt,C正常运行签密算法生成密文σ并将此结果发送给A;否则,它通过下列方式生成密文σ:

Ø 选择u,β∈R${\Bbb Z}$p,计算$r = {P^u}y_a^{ - \beta }$;

Ø 计算u=e(r,sb);

Ø 计算κ=H2(r,u),储存(r,u,κ)到列表L2中;

Ø 计算c=DEM.Enc(κ,m);

Ø 设置h=β∈${\Bbb Z}$p,储存(m,r,ya,yb,u,h)到列表L3中;

Ø 设置r=Q∈

,储存(m,r,ya,yb,u,ρ)到列表L4中;

Ø 计算s=Pu∈

;

Ø 输出σ=(r,c,s).

此密文的有效性能够通过敌手A的验证,因为验证等式是成立的.

$e({y^h},{y_a})e(r,\rho ) = e({y^h},{y_a})e({P^u}y_a^{ - \beta },\rho ) = e({y^h},Q)e(P,{\rho ^u})e({({P^a})^{ - h}},\rho ) = e({y^h},Q)e(P,{\rho ^u})e({y^{ - h}},\rho ) = e(P,s).$

• 解签密询问.

当收到关于(Ø,ida,idb)的解签密询问时,C做出如下反应:如果idb¹idt,C正常运行解签密算法并将运行结果发送给A;否则,C做出如下反应.

Ø 检索列表L2寻找针对不同u值的元组(r,u,κ),当询问(y,r,Q,u)时,使得co-DBDH预言机返回1.如果有这种情况,则挑战者使用来自(r,u,κ)的对称密钥κ恢复m=DEM.Dec(κ,c);

Ø 调用H1,H3和H4预言机分别得到h,ρ与ya;

Ø 如果e(P,s)=e(yh,ya)e(r,ρ)成立,接收m;否则,输出⊥.

挑战. 当阶段1结束时,A生成两个等长度的消息m0与m1,以及希望被挑战的两个身份$id_a^*$与$id_b^*$,这里,$id_a^*,id_b^*$分别是发送者和接收者的身份.在阶段1,身份$id_b^*$的私钥不能被询问.如果$id_b^* \ne i{d_t}$,C放弃模拟;否则,C通过调用H1预言机和私钥提取预言机分别获得$(y_a^*,y_b^*)$与$s_a^*$,然后通过下列步骤计算挑战密文σ*.

• 设置r*=Pb∈

,随机选择u*∈

;

• 计算κ1=H2(r*,u*),将(r*,u*,κ1)储存到列表L2中;

• 从使用ECC的IBHS方案的密钥空间中选择任意的对称密钥κ0,并且从{0,1}中选择一个随机位t;

• 计算c*=DEM.Dec(κt,mt);

• 计算${h^*} = {H_3}({m_t},{r^*},y_a^*,y_b^*,{\upsilon ^*})$,储存$({m_t},{r^*},y_a^*,y_b^*,{\upsilon ^*},{h^*})$到列表L3中;

• 设置${\rho ^*} = y_a^* \in {{\Bbb G}_2}$,储存$({m_t},{r^*},y_a^*,y_b^*,{\upsilon ^*},{\rho ^*})$到列表L4中;

• 计算${s^*} = {(s_a^*)^{h*}}{({P^b})^{l_a^*}}$;

• 输出σ*=(r*,c*,s*).

阶段2. A在这个阶段像在阶段1一样自适应地进行多项式有界次询问,C也像在阶段1一样做出应答.但是敌手不能询问身份$id_b^*$的私钥,也不能对关于$id_a^*$与$id_b^*$的σ进行解签密询问.

猜测. 根据上述证明过程,敌手一定以(r*,u*)询问过H2预言机,列表L2中也必然存在q2个相关的询问与应答值.这也意味着:列表L2中,存储有q2个相关元组中的其中一个元组中必含有co-BDH问题实例的解答u*.C从列表L2中随机选择u*,输出:

${\upsilon ^*} = e({y^{u*}},y_b^*) = e{(y,Q)^b} = e{(P,Q)^{ab}}.$

下面我们分析C在上面游戏中得到co-BDH问题实例解答的成功概率.

已知敌手最多进行qk次私钥询问,那么C在阶段1或阶段2不放弃仿真的概率是${\delta ^{{q_k}}}.$C在挑战阶段不放弃仿真的概率是1-δ.于是,C不放弃游戏执行的概率是${\delta ^{{q_k}}}(1 - \delta )$,这个值在$\delta = 1 - \left( {\frac{1}{{1 + {q_k}}}} \right)$时达到最大.因而,C不放弃这个游戏的执行的概率至少是1/eqk,即:

$\begin{align}

& {{\delta }^{{{q}_{k}}}}(1-\delta )={{\left( 1-\frac{1}{1+{{q}_{k}}} \right)}^{{{q}_{k}}}}\left( \frac{1}{1+{{q}_{k}}} \right) \\

& \text{ }={{\left( 1-\frac{1}{1+{{q}_{k}}} \right)}^{(1+{{q}_{k}})}}\left( \frac{1}{{{q}_{k}}} \right) \\

& \text{ }\ge \left( \frac{1}{e} \right)\left( \frac{1}{{{q}_{k}}} \right). \\

\end{align}$

C从列表L2中均匀随机地选择u*作为co-BDH问题实例解答的概率至少是1/q2,因此,C解决co-BDH问题的概率至少为ε/eq2qk.

定理2. 在随机预言模型下,如果存在一个sUF-CMA伪造者F经过最多qi次对Hi的询问(i=1~4)以及qk次私钥询问后,能够以不可忽略的优势ε赢得定义5中的游戏,那么就存在一个算法C,能够至少以优势ε/eqk解决co-CDH问题.

证明:设C得到一个co-CDH问题的随机实例(P,Pa,Q).为了利用敌手F的能力得到co-CDH问题实例的解答Qa∈

,C运行设置算法后,将生成的系统参数(p,

,

,

,P,y=Pa,H1~H4)发送给F.C将F作为子程序并扮演其挑战者与之在游戏中进行交互.C从q1个身份中选择第t个身份作为挑战身份idt,但是不会泄露idt给F.假设idi=idt的概率为某个δ,这个δ的值后面确定.为了避免发生对子程序F的适应性询问的非连续性应答,C维护5张列表L1~L4和Lk,这些列表起初为空.L1~L4和Lk分别用于跟踪H1~H4预言机和私钥提取预言机.

训练. F在这个阶段自适应地发起多项式有界次询问,所涉及到的询问与应答和定理1的阶段1完全相同.

伪造. 当F决定训练阶段结束的时候,F发送给C关于发送者身份$id_a^*$和接收者身份$id_b^*$的伪造密文σ*.训练阶段,身份$id_a^*$的私钥不能被询问,并且σ*不能是来自F的任何签密询问的应答.C检查是否$id_a^* \ne i{d_t}$:如果是,C放弃对游戏的执行;相反,C利用预言重放技术输出另一密文σ**=(r*,c**,s**).C调用H4预言机得到ρ=Q,故有${s^*} = {(s_a^*)^{{h^*}}}{Q^u}$和${s^{**}} = {(s_a^*)^{{h^{**}}}}{Q^u}$.通过调用H1预言机可得ya=Q,故可推导出co-CDH问题实例的解答,即:

${Q^a} = s_a^* = {\left( {\frac{{{s^{**}}}}{{{s^*}}}} \right)^{{{({h^{**}} - {h^*})}^{ - 1}}}}.$

下面我们分析C在上述游戏中得到co-CDH问题实例解答的成功概率.

已知伪造者最多进行qk次私钥询问,则C在阶段1或阶段2不放弃模拟的的概率是${\delta ^{{q_k}}},$C在挑战阶段不放弃仿真的概率是1-δ.于是,C不放弃这个游戏的概率是${\delta ^{{q_k}}}(1 - \delta ),$这个值在δ=1-1/(1+qk)时达到最大.由此可得,C不放弃游戏执行的概率至少是δ=1/eqk.这说明C解决co-CDH问题的概率至少为ε/eqk.

4 性能分析

本节通过计算开销和通信开销两个方面对我们提出的使用ECC的IBHS方案与已有同类方案yp、加法群G上的点乘运算ym,以及乘法群

,

上的指数运算ye.表1中没有考虑双线性对的预运算,计算开销包括签密和解签密两部分:密文长度表示通信开销,|p|表示有限域Zp上一个元素的长度.

Table 1(表1)

Table 1 Comparison of computation and communication overhead表1 计算开销和通信开销比较

方案

签密

解签密

密文长度

yp

ym

ye

yp

ym

ye

文献[中方案

0

1

4

2

1

1

|m|+2|G|

文献[中方案

1

1

4

5

0

1

|m|+|p|

本文方案

0

0

4

1

0

1

|m|+|G1|+|G2|

Table 1 Comparison of computation and communication overhead

表1 计算开销和通信开销比较

从表1可以看出:在密文长度与其他方案相当的情况下,本文方案在签密阶段执行了4个指数运算,在解签密阶段执行了1个对运算和1个指数运算.一般来说,双线性对运算最耗时,其次是指数运算和点乘运算.由此可知,本文方案的总计算开销明显低于已有方案

5 结 语

混合签密的安全性以及计算复杂度直接影响着其实用性.本文提出了一种使用ECC的身份混合签密方案,该方案基于随机预言模型以及co-BDH假设和co-CDH假设被证明具有IND-CCA2安全性和sUF-CMA安全性.所提方案用较小的计算开销实现了较高的安全性,在密码学领域具有良好的应用前景.

oracle ecc 是什么意思,使用ECC的身份混合签密方案相关推荐

  1. ECC 公钥加密 使用相同的ECC公钥对 对 相同的数据进行加密,每次的加密结果是一致的吗?

    ECC 公钥加密 使用相同的ECC公钥对 对 相同的数据进行加密,每次的加密结果是一致的吗? 不一致 里面包装了个临时的点,使用这个增加安全性

  2. ECC原理和RocketChip Cache ECC实现

    一.ECC原理说明 ECC(Error Correcting Code)全称为错误纠正码,用于对存储器的数据进行完整性检查和纠正,主要用在SRAM.DDR.NAND等存储器设备上.ECC可以对数据进行 ...

  3. java 生成ecc证书_升级支持ECC证书指南

    ECC简介 随着分解大整数方法的进步及完善.计算机速度的提高以及计算机网络的发展,为了保障数据的安全,RSA的密钥需要不断增加,但是,密钥长度的增加导致了其加解密的速度大为降低,硬件实现也变得越来越难 ...

  4. linux 服务器 报内存 ecc 错误,解决方法:ECC内存检查错误纠正技术

    ECC的全英文名称是Error Checking and Correcting.从这个名字可以看出,它的主要功能是"发现并纠正错误". 像奇偶校验技术一样,ECC纠错技术也需要额外 ...

  5. 什么是SAP ECC企业控制中心系统 ECC简介

    什么是SAP ECC SAP ECC是全球第二大软件提供商SAP推出的新一代产品,其前身是SAP R/3,包含FI,CO, MM, SD, HR,Basis,PP, PS, PM, TR, IM等多个 ...

  6. ECC证书操作汇总(ECC certificate operations summary)

    背景介绍 项目里用到了ECC的证书使用,有一些证书的常规操作,在此进行汇总说明,以便后浪来踏.ECC的public key长度为65字节,第一个字节是标识符0x04,32字节biginteger X, ...

  7. linux ecc校验原理,Nand ECC校验和纠错原理及ECC代码分析

    校验码生成算法的C语言实现 在Linux内核中ECC校验算法所在的文件为drivers/mtd/nand/nand_ecc.c,其实现有新.旧两种,在2.6.27及更早的内核中使用的程序,从2.6.2 ...

  8. ecc椭圆加密算法c语言,ECC算法介绍 - 椭圆曲线加密算法 - 中国数字证书CHINASSL

    ECC(Elliptic Curves Cryptography)加密算法是一种公钥加密算法,与主流的RSA算法相比,ECC算法可以使用较短的密钥达到相同的安全程度.近年来,人们对ECC的认识已经不再 ...

  9. ecc椭圆加密算法c语言,ECC 椭圆曲线加密算法学习————ECDH与ECDSA

    0x00 前言 之前学习了实数域上的椭圆曲线与有限域$\mathbb {F}_{p}$上的椭圆曲线.详细可以参考ECC椭圆加密算法学习----从实数域到有限域的椭圆曲线. 不难发现,在实数域的标量乘法 ...

最新文章

  1. Java之jdk与jre的区别
  2. 产线数字化软件源码_品质笔记⑥丨卢宇聪:把握数字化趋势,坚定创新发展道路...
  3. Visual Studio调试之断点基础篇
  4. c 语言 二进制转换为十进制,用c/c++语言将二进制转换为十进制,最好有例子。...
  5. 搭建linux环境的tomcat服务器
  6. 书籍:python图像处理 Image Operators - Image Processing in Python - 2019
  7. 会聊天到底有多重要?汽车语音识别大盘点
  8. 3月面经汇总-字节跳动,美团,腾讯算法岗
  9. Java 核心内容相关面试题【4】
  10. 为什么90%的CTO 都做不好绩效管理
  11. java实例成员与类成员区别_Java之实例成员与类成员
  12. C语言——PTA 统计素数并求和
  13. 通俗易懂的Matlab线性规划求解详解
  14. 罗永浩发声:我的努力很可能失败 但好产品一定要赢
  15. 云平台、面向服务的体系结构和云编程
  16. 9月,重磅推出Linux、数据结构、领域驱动等10本程序员新书
  17. 启用计算机的快捷键,电脑启动热键对照表
  18. 【Python数据分析学习实例】篮球运动位置分析
  19. 没有工作经验,没有的究竟是什么?
  20. Tex, LaTex, pdflatex, xelatex, xetex等的区别和关系

热门文章

  1. Web漏洞扫描神器Nikto
  2. 判断浏览器Version等相关参数的js脚本
  3. IEEE VR 2022
  4. 定制净水器市场现状及未来发展趋势
  5. 在office2007中用vba代码写出二维码生成代码
  6. 线上教育app为教育行业带来新的机遇
  7. hypervision理解的记录
  8. 计算机一级a类填空题题库,计算机考试题库:计算机考试练习题(115)
  9. 配电智能运维,有哪些优势?
  10. Launcher3源码分析(LauncherModel加载数据)