Processing math: 7%
  • 中国精品科技期刊
  • CCF推荐A类中文期刊
  • 计算领域高质量科技期刊T1类
高级检索

支持一般电路的高效安全基于属性签名

黄振杰, 林志伟

黄振杰, 林志伟. 支持一般电路的高效安全基于属性签名[J]. 计算机研究与发展, 2023, 60(2): 351-361. DOI: 10.7544/issn1000-1239.202110920
引用本文: 黄振杰, 林志伟. 支持一般电路的高效安全基于属性签名[J]. 计算机研究与发展, 2023, 60(2): 351-361. DOI: 10.7544/issn1000-1239.202110920
Huang Zhenjie, Lin Zhiwei. Efficient and Secure Attribute-Based Signatures for General Circuits[J]. Journal of Computer Research and Development, 2023, 60(2): 351-361. DOI: 10.7544/issn1000-1239.202110920
Citation: Huang Zhenjie, Lin Zhiwei. Efficient and Secure Attribute-Based Signatures for General Circuits[J]. Journal of Computer Research and Development, 2023, 60(2): 351-361. DOI: 10.7544/issn1000-1239.202110920
黄振杰, 林志伟. 支持一般电路的高效安全基于属性签名[J]. 计算机研究与发展, 2023, 60(2): 351-361. CSTR: 32373.14.issn1000-1239.202110920
引用本文: 黄振杰, 林志伟. 支持一般电路的高效安全基于属性签名[J]. 计算机研究与发展, 2023, 60(2): 351-361. CSTR: 32373.14.issn1000-1239.202110920
Huang Zhenjie, Lin Zhiwei. Efficient and Secure Attribute-Based Signatures for General Circuits[J]. Journal of Computer Research and Development, 2023, 60(2): 351-361. CSTR: 32373.14.issn1000-1239.202110920
Citation: Huang Zhenjie, Lin Zhiwei. Efficient and Secure Attribute-Based Signatures for General Circuits[J]. Journal of Computer Research and Development, 2023, 60(2): 351-361. CSTR: 32373.14.issn1000-1239.202110920

支持一般电路的高效安全基于属性签名

基金项目: 福建省自然科学基金项目(2019J01750,2019J01752,2020J01814)
详细信息
    作者简介:

    黄振杰: 1964年生.博士,教授,硕士生导师.主要研究方向为公钥密码和区块链技术

    林志伟: 1992年生.硕士,助理工程师.主要研究方向为基于属性密码和外包安全

  • 中图分类号: TP309

Efficient and Secure Attribute-Based Signatures for General Circuits

Funds: This work was supported by the Natural Science Foundation of Fujian Province (2019J01750, 2019J01752, 2020J01814).
  • 摘要:

    基于属性签名(attribute-based signature,ABS)是一种重要的密码原语,具有广泛的应用背景,得到众多学者的关注,是密码学的研究热点.为了提高基于属性签名的安全性、表达力和效率,使用多线性映射作为工具,提出一个支持一般电路的具有完善隐私性的基于属性签名方案.引入节点权重概念并采用“从上到下”递归,显著减少生成签名的计算开销;利用左右孩子节点的对称性,缩短门节点的密钥长度.所提出的方案将不可伪造性从“选定消息且选定属性攻击下存在不可伪造”提升到更强的“自适应选择消息但选定属性攻击下存在不可伪造”;将访问结构从特殊电路拓展到一般电路,可以支持任意访问结构,达到任意的访问控制粒度;在保持签名仅为1个群元素的前提下,显著缩短主公钥、主私钥和签名钥的大小和显著降低签名密钥生成、签名生成和验证的计算开销.分析表明:所提出的方案在性能和效率方面均有明显优势,是一个实用的方案.

    Abstract:

    Attribute-based signature is an important cryptographic primitive and has attracted the attention of many scholars. Because of its good properties, attribute-based signature has found significant applications in many fields, such as message delivery, anonymous authentication, leaking secrets, trust negotiations, private access control, anonymous credentials, etc. To improve the security, expressiveness, and efficiency of attribute-based signature, an efficient and secure attribute-based signature scheme with perfect privacy for general circuits is proposed by using multi-linear mapping. By introducing the concept of node weight and adopting the "top-down" recursive, the computation cost of signature generation is reduced. The sizes of the keys of the gate nodes are reduced by using the symmetry of the left and right child nodes. Compared with the previous scheme, the proposed scheme improves the unforgeability from "existential unforgeable under selective message and selective attribute attack" to "existential unforgeable under adaptive chosen message but selective attribute attack." The proposed scheme extends the access structure from special circuits to general circuits, which can support arbitrary access structures and achieve arbitrary access control granularity. The proposed scheme keeps the signature as only one group element, shortens the sizes of the master public key, master private key, and signing key markedly, and reduces the computation overheads of signing key generation, signature generation, and signature verification significantly. The analysis shows that the proposed scheme has obvious advantages in performance and efficiency and is practical.

  • 基于属性签名(attribute-based signature,ABS)[1]是一种特殊数字签名体制,可以为用户提供细粒度的隐私保护,在多个领域有重要应用,因此成为密码学的研究热点.

    ABS的隐私保护控制是通过属性和属性集上定义的访问结构实现的.根据访问结构使用位置的不同,基于属性签名分为密钥策略ABS(key-policy attribute-based signature,KP-ABS)和签名策略ABS(signature-policy attribute-based signature,SP-ABS).在KP-ABS中,用户从属性机构(attribute authority,AA)处获得其所拥有的访问结构所对应的签名密钥,之后可用其对属性满足其访问结构的消息进行签名.签名可以确保消息是由拥有能被指定属性满足的访问结构的用户签发的(不可伪造性),但不能辨认出签名人所拥有的具体访问结构,更不能辨认出签名人的身份(隐私性).SP-ABS则相反,用户从属性机构处获得其所拥有的属性所对应的签名密钥,然后对具有其属性所满足的访问结构的消息进行签名.

    举个简单的说明性例子:ABS可为教学管理系统提供匿名评价功能.假设每个课程都表示为“课程名称、开课教师姓名、开课年份、开课学期”,那么每位学生所选的课程组可以表示成(C1T1Y1S1)∨(C2T2Y2S2)∨···∨(CkTkYkSk),其中Ci, Ti, Yi, Si分别表示课程名称、开课教师姓名、开课年份和开课学期.在学生选定其课程组后,系统根据其所选课程组所对应的访问结构为其发放签名密钥,此后,学生可以使用其签名密钥匿名发表课程评价.ABS的不可伪造性保证只有选修的学生才能对课程进行评价,其隐私性保证任何人都不能辨认出评价出自哪位学生.不可伪造性保证评价来源的合法性,隐私性保障评价者的隐私权.

    由于其良好的性质,ABS在许多领域有重要的应用,如匿名凭证(anonymous credentials)、消息传递(message delivery)、匿名认证(anonymous authentication)、秘密泄露(leaking secrets)、信任协商(trust negotiations)、隐私接入控制(private access control)等等[1-2].

    自ABS被提出以来,众多学者先后提出许多支持各种不同访问结构的方案.Shahandashti等人[2]、Li等人[3]、Herranz等人[4]和Gagne等人[5]各自提出支持门限(threshold)访问结构的ABS方案;Maji等人[1]和Gu等人[6-7]各自提出支持单调(monotone)访问结构的ABS方案;Okamoto等人[8-9]提出支持非单调(non-monotone)访问结构的ABS方案;Tang等人[10]和Sakai等人[11]各自提出电路(circuits)访问结构的ABS方案;Kaafarani等人[12]提出无界电路(unbounded circuits)访问结构的ABS方案;Zhang等人[13]提出支持内积(inner-product)访问结构的ABS方案;Datta等人[14]提出无界算术分支程序(unbounded arithmetic branching programs)访问结构的ABS方案.

    为了克服ABS单个属性机构带来的瓶颈和信任过度集中的问题,Maji等人[1]和Okamoto等人[15]分别提出多属性机构(multi-authority)ABS和去中心(decentralized)ABS.为了克服ABS计算开销过大,不适用于资源受限场景的缺点,学者们将外包技术引入到ABS中来,Chen等人[16]提出外包(outsourced)ABS,Mo等人[17]和Sun等人[18]分别提出新的外包ABS方案. Huang等人[19] 指出已有外包ABS方案的隐私性缺陷,进而提出具有完善隐私性的外包ABS方案. Ren等人[20]进一步提出可验证(verifiable)外包ABS;Cui等人[21]和Xiong等人[22]研究了服务器辅助(server-aided)ABS;Wang等人[23]提出服务器辅助验证(server-aided verification)ABS.

    此外,学者们还研究了具有附加性质的ABS,如基于属性环签名(attribute-based ring signature)[24]、基于属性代理签名(attribute-based proxy signature)[25]、基于属性签密(attribute-based signcryption)[26]、基于属性净化签名(attribute-based sanitizable signature)[27]等.

    ABS研究的主要目标是更高的安全性、更高的效率和更强的访问结构表达力.电路是最富表达力的访问结构之一.目前已知有3个ABS方案支持电路访问结构:Tang等人[10]的方案、Sakai等人[11]的方案和Kaafarani等人[12]的方案.文献[1112]方案的效率都很低,签名的长度都与电路的输入成线性关系.Tang等人[10]的方案的签名仅为1个群元素,效率最高,但在安全性和访问结构表达力方面却比较弱:

    1)Tang等人[10]方案的不可伪造性是很弱的,只是在选定消息和选定属性攻击下存在不可伪造,只能防止敌手伪造特定消息的签名.

    2)Tang等人[10]的方案仅支持特殊电路,要求兄弟节点的深度必须相同,且都是其父节点的深度加1;要求所有输入节点的深度相同.

    本文改进了Tang等人[10]的方案,提高了安全性、丰富了访问结构表达力、缩短了数据长度并降低了计算开销.本文的主要贡献包括3个方面:

    1)增强方案的安全性.从“选定消息和选定属性攻击下存在不可伪造(existentially unforgeable under selective message attack and selective attribute, EUF-sA-sMA)”提升到“自适应选择消息但选定属性攻击下存在不可伪造(existentially unforgeable under adaptive chosen message but selective attribute attack, EUF-sA-CMA)”.EUF-sA-CMA比EUF-sA-sMA强很多,能防止敌手伪造任何自适应选择消息的签名.

    2)丰富了访问结构表达力,将访问结构从特殊电路拓展到一般电路.去掉原有的所有限制,允许兄弟节点的深度不同;允许孩子节点的深度比其父节点的深度大于1,即可以跳层;允许输入节点的深度不同.另外,任意电路都可以通过德·摩根(De Morgan)定律转换成非叶子节点为“或门”或“与门”,“非门”只出现在叶子节点的电路.如果将带“非门”的叶子节点定义为1个新属性(比如“不是教授”)作为1个新的输入,就可以支持非单调电路.一般电路的极强表达能力使得方案可支持任意访问结构,达到任意的访问控制粒度.

    3)缩短了数据长度并降低了计算开销.在保持签名大小仅为1个群元素的前提下,将主公钥、主私钥和签名钥的大小都显著缩短;将签名密钥生成、签名生成和签名验证的计算开销都显著降低.

    本文使用的符号和参数的含义如表1所示.

    表  1  符号释义
    Table  1.  Symbols Interpretation
    符号含义
    λ系统安全参数
    k多线性映射的级数
    p(2λ1,2λ)中的素数
    Zp模素数p的整数集
    aRA从集合A中随机选取a
    Gi乘法循环群
    gi乘法循环群Gi的生成元
    e多线性映射(含双线性映射)
    e(A)输入为A时多线性映射e的值
    f电路
    n电路的输入数
    q电路的门节点数
    电路的最大深度
    I电路的输入节点集
    G电路的门节点集
    N电路的节点集
    L(w)门节点w的左孩子
    R(w)门节点w的右孩子
    GT(w)门节点类型函数,输出w的门类型
    D(w)=iw节点w的深度
    Ω电路的输入
    f(Ω)输入为Ω时电路f的输出
    fw(Ω)输入为Ωf中门节点w的输出
    Ww(Ω)输入为Ωf中节点w的权重
    [1,n]表示集合{1,2,,n}
    {0,1}n长度为n的比特串集合
    {0,1}任意长度比特串的集合
    M消息
    σ签名
    下载: 导出CSV 
    | 显示表格

    多线性映射. G(1λ,k)为群生成算法,输入安全参数λ和多线性映射级数k,输出素数p阶群序列G1,G2,,Gk和相应的生成元g1,g2,,gk,以及双线性映射序列 ei,jGi×GjGi+j1, 1\le j \le k-1, i+j\le k, 满足

    {e_{i,j}}\left( {g_i^a,g_j^b} \right) = g_{i + j}^{a\times b}:\forall a,b \in {\mathbb{Z}_p}.

    多线性映射定义为

    e\left( {{a_1},{a_2}, … ,{a_n}} \right) = e\left( {{a_1},e\left( {{a_2}, … ,e\left( {{a_{n - 1}},{a_n}} \right) … } \right)} \right)\text{,}

    其中右侧的e为其输入所对应的双线性映射{e_{i,j}}.

    k-MCDH(k-multilinear computational Diffie-Hellman)问题. 给定(p,{{\mathbb{G}}_1},{{\mathbb{G}}_2}, … ,{{\mathbb{G}}_k},e,{g^{{c_1}}},{g^{{c_2}}}, … , {g^{{c_k}}}),计算g_{k - 1}^{\mathop \prod\limits_{i = 1}^k {c_i}},其中{c_1},{c_2}, … ,{c_k}{ \in _{\text{R}}}{\mathbb{Z}_p}.

    k-MCDH假设. 任意概率多项式时间算法\mathcal{A}成功解k-MCDH问题的概率都是可忽略的.

    假设电路有n个输入节点,q个门节点,记输入节点集合为I = {1, 2, ···, n},门节点集合为G = \{ {w_{n + 1}}, {w_{n + 2}}, … ,{w_{n + q}}\},所有节点集合为N = I \cup G,其中{w_{{\text{top}}}} = {w_{n + q}}为头部节点.门节点w的左、右孩子节点分别记为L\left( w \right)R\left( w \right).GT\left( w \right)表示门节点w的类型,即“AND”或“OR”.电路记为f = \left( {n,q,L,R,GT} \right).

    D\left( w \right)表示节点w的深度.头部节点的深度为0,其他节点的深度为其到头部节点的最长路的长度.f\left( \varOmega \right)表示输入为\varOmega \in {\left\{ {0,1} \right\}^n}时,电路f的输出.当f\left( \varOmega \right) = 1时,称\varOmega 满足f;否则,称\varOmega 不满足f.类似地,{f_w}\left( \varOmega \right)表示输入为\varOmega时,电路f中门节点w的输出.

    为了有效降低计算开销,本文为电路引入节点权重的概念,用{W_w}\left( \varOmega \right)表示在输入为\varOmega 时节点w的权重,其计算方法如1)~3):

    1)输入节点.

    ① 输入为1的节点, {W_w}\left( \varOmega \right) = n - 1

    ② 输入为0的节点, {W_w}\left( \varOmega \right) = \infty .

    2)或门.

    ① 如果{f_w}(\varOmega ) = 0,则{W_w}\left( \varOmega \right) = \infty

    ② 否则{W_w}\left( \varOmega \right) = \min \{ {W_{L(w)}}\left( \varOmega \right),{W_{R(w)}}\left( \varOmega \right)\} + 2.

    3)与门.

    ① 如果{f_w}(\varOmega ) = 0,则{W_w}\left( \varOmega \right) = \infty

    ② 否则:

    如果D\left( {L(w)} \right) = D\left( {R(w)} \right),则

    {W_w}\left( \varOmega \right) = {W_{L(w)}}\left( \varOmega \right) + {W_{R(w)}}\left( \varOmega \right) + 2\text{;}

    如果D\left( {L(w)} \right) \ne D\left( {R(w)} \right),则

    {W_w}\left( \varOmega \right) = {W_{L(w)}}\left( \varOmega \right) + {W_{R(w)}}\left( \varOmega \right) + 3.

    这样定义的节点权重其实就是使用本文方案生成签名时,使用该节点所需要计算的对运算的数量.对运算越少,效率就越高.

    图1给出一个一般电路的说明性例子:

    图  1  一般电路示例
    Figure  1.  Example of general circuit

    本节给出访问结构为电路的密钥策略ABS的定义和安全模型.

    电路访问结构密钥策略ABS方案由1)~4)算法组成:

    1)Setup({1^\lambda }, n, \ell ).输入安全参数\lambda 、电路输入数n和最大深度\ell ,输出系统公开参数pp和系统主私钥msk.

    2)KeyGen(pp, msk, f).输入系统公开参数pp、系统主私钥msk和电路f,输出电路f所对应的签名密钥S{K_f}.

    3)Sign(pp,S{K_f}, M, \varOmega ).输入公开参数pp、签名密钥S{K_f}、消息M及其属性 \varOmega ,输出关于(M, \varOmega )的签名\sigma .

    4)Verify(pp, M, \varOmega , \sigma ).输入公开参数pp、消息M、属性\varOmega 和签名\sigma .如果\sigma 是关于(M, \varOmega )的有效签名,输出1;否则,输出0.

    定义1. 正确性.一个电路访问结构的密钥策略ABS方案是正确的,如果对于任意的消息M和满足f(\varOmega ) = 1的任意属性\varOmega 与电路f都有概率,则

    \begin{aligned} &Pr\left(Verify\left(M,\varOmega ,\sigma \right) = 1\left|\begin{aligned} &\left(pp,msk\right) \leftarrow Setup\left({1}^{\lambda },n, \ell \right),\\ &S{K}_{f} \leftarrow KeyGen\left(pp,msk,f\right),\\ &\sigma \leftarrow Sign\left(pp,S{K}_{f},M,\varOmega \right)\end{aligned}\right.\right) = 1.\end{aligned}

    不可伪造性.大多数ABS的文献使用如下不可伪造性定义,其形式化模型如Game1:

    Game1 (EUF-sA-CMA).

    1)Initialization.敌手\mathcal{F}选择挑战属性{\varOmega ^*}并发送给挑战者\mathcal{C}.

    2)Setup.挑战者\mathcal{C}生成系统公开参数pp并发送给敌手\mathcal{F}.

    3)KeyGen Oracle.敌手\mathcal{F}提交电路f给挑战者\mathcal{C}.\mathcal{C}返回电路f的密钥S{K_f}\mathcal{F}.

    4)Sign Oracle.敌手\mathcal{F}提交消息M和属性\varOmega 给挑战者\mathcal{C}.\mathcal{C}返回(M, \varOmega )的签名\sigma \mathcal{F}.

    5)Forgery.敌手\mathcal{F}输出({\sigma ^{\text{*}}},{M^{\text{*}}},{\varOmega ^*}).

    如果下面①~③都满足,称敌手赢得Game1.

    {\sigma ^{\text{*}}}是关于消息{M^{\text{*}}}和属性{\varOmega ^{\text{*}}}的有效签名;

    ② ({M^{\text{*}}},{\varOmega ^{\text{*}}})没有被询问过Sign Oracle;

    ③ 任何询问过KeyGen Oracle的电路f都使 f({\varOmega ^*}) = 0 .

    敌手\mathcal{F}的优势 Ad{v}_{\text{ABS}, ℱ}^{\text{EUF-sA-CMA}} 定义为其赢得Game 1的概率.

    定义2. 一个电路访问结构密钥策略ABS方案称为自适应选择消息但选定属性攻击下存在不可伪造的;如果对于任何多项式时间敌手\mathcal{F},其赢得Game 1的优势Adv_{{\text{ABS}},\mathcal{F}}^{{\text{EUF - sA - CMA}}}是可忽略的.

    Tang等人[10]方案的不可伪造性是很弱的“选定消息和选定属性攻击下存在不可伪造”,其Game和Game1基本相同,只是Initialization应改为:

    Initialization. 敌手\mathcal{F}选择并发送挑战消息{M^*}和挑战属性{\varOmega ^*}给挑战者\mathcal{C}.

    完善隐私性.本文方案和Tang等人[10]方案都实现了完善隐私性,任何敌手即使拥有无限的计算能力也无法识别用于生成签名的电路.

    定义3. 如果对于任何 M \varOmega 和满足{f_0}\left( \varOmega \right) = {f_1}\left( \varOmega \right) = 1{f_0},{f_1},使用 {f}_{0}和{f}_{1} 所产生的签名分布

    {\sigma }_{0}\leftarrow Sign (S{K_{{f_0}}},M,\varOmega ),
    {\sigma _1} \leftarrow Sign(S{K_{{f_1}}},M,\varOmega )

    是信息论意义不可区分的,则称该电路访问结构密钥策略ABS方案具有完善隐私性.

    本节提出一个支持一般电路的密钥策略ABS方案.

    本文方案是基于Tang等人[10]方案改进而来的,改进的主要思想如1)~4)所描述:

    1)以唯一的头部节点为参照原点,其他节点都参照它进行定位,以便支持一般电路.而Tang等人[10]方案采用叶子(输入)节点为参照原点,所以需要假设所有输入节点均有相同的深度.

    2)引入节点权重的概念并采用“从上到下”递归的方式计算签名,只计算必须计算的且权重较小的节点的{E_w}.而Tang等人[10]方案“自下而上”计算所有输出为1的节点的{E_w},许多不必要的{E_w}也计算了,浪费了计算资源.

    3)充分利用左右孩子节点的对称性,将孩子节点同深度的门节点的密钥都减少了1个分量,“或门”的密钥减少了25%,“与门”的密钥减少了33.33%.孩子节点有不同深度的门节点的密钥没有减少,只是为了在安全性证明中方便仿真密钥.实际使用时同深度和不同深度的门节点可不加区别,都减少1个分量.

    4)通过使用安全Hash函数,将不可伪造性提升到“自适应选择消息但选定属性攻击下存在不可伪造”,同时将主公钥和主私钥长度各减少2m个元素(m为消息的长度).

    本文所提出的一般电路密钥策略ABS方案的算法为:

    Setup. 输入安全参数\lambda 、电路最大深度\ell 和电路输入数n.

    1)运行 \mathcal{G}({1^\lambda },k = n + \ell + 3) 得到阶为素数p的群序列{{\mathbb{G}}_1},{{\mathbb{G}}_2}, … ,{{\mathbb{G}}_k}和对应的生成元序列{g_1}(g=g_1),{g_2}, \cdots {g_k},以及其上的多线性映射e.

    2)随机选取{a_{i,\beta }}{ \in _{R}}{\mathbb{Z}_p}i \in \left[ {1,n} \right],\beta \in \left\{ {0,1} \right\},计算{A_{i,\beta }} = {g^{{a_{i,\beta }}}}.记a = \left\{ {{a_{1,0}},{a_{1,1}},{a_{2,0}},{a_{2,1}}, … ,{a_{n,0}},{a_{n,1}}} \right\}A = \{ {A_{1,0}},{A_{1,1}}, {A_{2,0}},{A_{2,1}}, … ,{A_{n,0}},{A_{n,1}}\} .

    3)随机选取\alpha { \in _{R}}{\mathbb{Z}_P},计算Y = g_{\ell + 2}^\alpha .

    4)选取防碰撞Hash函数H:{\left\{ {0,1} \right\}^*} \to {\mathbb{G}_1}.

    输出系统公开参数pp = \{ Y,A,n,\ell ,p,{{\mathbb{G}}_1},{{\mathbb{G}}_2}, … , {{\mathbb{G}}_k},{g_1},{g_2}, … ,{g_k},e,H\}和主私钥msk =\{ \alpha ,a}.

    KeyGen. 输入系统公开参数pp、系统主私钥msk和电路f = (n, q, L, R, GT).

    1)令{v_{{w_{{\text{top}}}}}} = \alpha ,随机选取{v_w}{ \in _{R}}{\mathbb{Z}_p}, w\in N \backslash \{{w}_{\text{top}}\}{z_w}{ \in _{R}}{\mathbb{Z}_p}, w\in G .

    2)采用“自下而上”的方式计算密钥组成部分{K_w}.

    ① 输入节点. w \in I = \left[ {1,n} \right]D\left( w \right) = {i_w},计算

    {K_w} = g_{\ell - {i_w} + 2}^{{v_w}\times{a_{w,1}}}.

    ② 或门. w \in GGT\left( w \right) = {\text{OR}}D\left( w \right) = {i_w}.

    (i)如果D\left( {L(w)} \right) = D\left( {R(w)} \right), 即{i_{L(w)}} = {i_{R(w)}},计算

    {K_{w,1}} = g_{{i_{L(w)}} - {i_w}}^{{z_w}},
    {K_{w,2}} = g_{\ell - {i_w} + 1}^{{v_w} - {z_w}\times{v_{L\left( w \right)}}},
    {K_{w,3}} = g_{\ell - {i_w} + 1}^{{v_w} - {z_w}\times{v_{R\left( w \right)}}}.

    {K_w} = \left( {{K_{w,1}},{K_{w,2}},{K_{w,3}}} \right).

    (ii)如果D\left( {L(w)} \right) \ne D\left( {R(w)} \right), 选取{z_w'}{ \in _{R}}{\mathbb{Z}_p}, 计算

    {K_{w,1}} = g_{{i_{L(w)}} - {i_w}}^{{z_w}},
    {K_{w,1}'} = g_{{i_{R(w)}} - {i_w}}^{{{z}_w'}}\text{,}
    {K_{w,2}} = g_{\ell - {i_w} + 1}^{{v_w} - {z_w}\times{v_{L\left( w \right)}}},
    {K_{w,3}} = g_{\ell - {i_w} + 1}^{{v_w} - {{z}_w'}\times{v_{R\left( w \right)}}}.

    {K_w} = \left( {{K_{w,1}},{{K}_{w,1}'},{K_{w,2}},{K_{w,3}}} \right).

    ③ 与门. w \in GGT\left( w \right) = {\text{AND}}D\left( w \right) = {i_w}.

    (i)如果D\left( {L(w)} \right) = D\left( {R(w)} \right), 即{i_{L(w)}} = {i_{R(w)}},计算

    {K_{w,1}} = g_{{i_{L(w)}} - {i_w}}^{{z_w}},
    {K_{w,2}} = g_{\ell - {i_w} + 1}^{{v_w} - {z_w}\left( {{v_{L\left( w \right)}} + {v_{R\left( w \right)}}} \right)} .

    {K_w} = \left( {{K_{w,1}},{K_{w,2}}} \right).

    (ii)如果D\left( {L(w)} \right) \ne D\left( {R(w)} \right), 选取{z_w'}{ \in _{R}}{\mathbb{Z}_p}, 计算

    {K_{w,1}} = g_{{i_{L(w)}} - {i_w}}^{{z_w}},
    {K_{w,1}'} = g_{{i_{R(w)}} - {i_w}}^{{{z}_w'}}\text{,}
    {K_{w,2}} = g_{\ell - {i_w} + 1}^{{v_w} - ({z_w}\times{v_{L\left( w \right)}} + {{z}_w'}\times{v_{R\left( w \right)}})} .

    {K_w} = \left( {{K_{w,1}},{{K}_{w,1}'},{K_{w,2}}} \right).

    3)输出签名密钥S{K_f} = {\left\{ {{K_w}} \right\}_{w \in N}}.

    Sign. 输入公开参数pp、签名密钥S{K_f}、消息M和属性\varOmega = ({\varOmega _1},{\varOmega _2}, … ,{\varOmega _n}) \in {\{ 0,1\} ^n},计算f(\varOmega )和各节点的权重.如果f\left( \varOmega \right) = 0,无法签名,停止;如果f\left( \varOmega \right) = 1,按“从上到下”递归方法计算必要节点的 {E_w} .

    1)计算E = e({\{ {A_{i,{\varOmega _i}}}\} _{i \in [1,n]}}).

    2)或门. w \in GGT\left( w \right) = {\text{OR}}.

    如果{W_{L(w)}}\left( \varOmega \right) \leqslant {W_{R(w)}}\left( \varOmega \right),调用其左孩子节点的 {E_{L\left( w \right)}} ,计算

    {E_w} = e\left( {{E_{L\left( w \right)}},{K_{w,1}}} \right) e\left( {{K_{w,2}},E} \right) .

    否则,调用其右孩子节点的 {E_{R\left( w \right)}} .

    如果 D(L(w)) = D(R(w)) ,计算

    {E_w} = e\left( {{E_{R\left( w \right)}},{K_{w,1}}} \right) e\left( {{K_{w,3}},E} \right) \text{;}

    如果 D(L(w)) \ne D(R(w)) ,计算

    {E_w} = e\left( {{E_{R\left( w \right)}},{{K'}_{w,1}}} \right) e\left( {{K_{w,3}},E} \right) .

    3)与门. w \in GGT\left( w \right) = {{\rm{AND}}} ,调用其孩子节点的 {E_{L\left( w \right)}} {E_{R\left( w \right)}} .

    如果 D(L(w)) = D(R(w)) ,计算

    {E_w} = e\left( {{E_{L\left( w \right)}}{E_{R\left( w \right)}},{K_{w,1}}} \right) e\left( {{K_{w,2}},E} \right)\text{;}

    如果 D(L(w)) \ne D(R(w)) ,计算

    {E_w} = e\left( {{E_{L\left( w \right)}},{K_{w,1}}} \right) e\left( {{E_{R\left( w \right)}},{{K'}_{w,1}}} \right) e\left( {{K_{w,2}},E} \right).

    4)输入节点. w \in I. 计算

    {E_w} = e\left( {{K_w},{{\{ {A_{i,{\varOmega _i}}}\} }_{i \in \left[ {1,n} \right]\backslash w}}} \right) .

    5)计算并输出签名

    \sigma = e\left( {H\left( M \right),{E_{{w_{{\text{top}}}}}}} \right).

    Verify. 输入待验证的签名\sigma 及相应的消息M和属性\varOmega .如果等式

    e\left( {\sigma ,g} \right) = e\left( {H\left( M \right),Y,{{\{ {A_{i,{\varOmega _i}}}\} }_{i \in \left[ {1,n} \right]}}} \right)

    成立,输出1;否则,输出0.

    本节证明所提出方案的安全性,并分析其性能和效率.

    定理1.本文所提出的一般电路密钥策略基于属性签名方案是正确的.

    证明.容易知道,在签名递归过程所有被计算的节点都有{f_w}\left( \varOmega \right) = 1.下面,用数学归纳法证明签名生成过程中所有的{E_w}都有{E_w} = g_{n + \ell - {i_w} + 1}^{{v_w}\times \varrho \left( \varOmega \right)},其中\varrho \left( \varOmega \right) = {\prod\limits_{i \in \left[ {1,n} \right]}}{a_{i,{\varOmega _i}}}.

    1)当w为输入节点时,即w \in ID\left( w \right) = {i_w},有

    \begin{aligned} {E_w} =& e\left( {{K_w},{{\{ {A_{i,{\varOmega _i}}}\} }_{i \in \left[ {1,n} \right]\backslash w}}} \right)= e\left({g}_{\ell -{i}_{w}+2}^{{v}_{w}\times {a}_{w,1}},{g}_{n-1}^{\prod\limits_{i\in \left[1,n\right]\backslash w}{a}_{i,{\varOmega }_{i}}}\right) g_{n + \ell - {i_w} + 1}^{{v_w}\times \varrho \left( \varOmega \right)}.\end{aligned}

    2)假设{E_{L(w)}} = g_{n + \ell - {i_{L\left( w \right)}} + 1}^{{v_{L\left( w \right)}}\times \varrho \left( \varOmega \right)}{E_{R(w)}} = g_{n + \ell - {i_{R\left( w \right)}} + 1}^{{v_{R\left( w \right)}}\times \varrho \left( \varOmega \right)}成立,那么有{E_w} = g_{n + \ell - {i_w} + 1}^{{v_w}\times \varrho \left( \varOmega \right)}成立.

    ① 或门. w \in GGT\left( w \right) = {\text{OR}}.

    (i)如果是调用左孩子节点,有

    \begin{aligned}{E}_{w}=&e\left({E}_{L\left(w\right)},{K}_{w,1}\right) e\left({K}_{w,2},E\right)= \\ & e\left( {g_{n + \ell - {i_{L\left( w \right)}} + 1}^{{v_{L\left( w \right)}}\times \varrho \left( \varOmega \right)},g_{{i_{L(w)}} - {i_w}}^{{z_w}}} \right)e\left( {g_{\ell - {i_w} + 1}^{{v_w} - {z_w}\times{v_{L\left( w \right)}}},g_n^{\varrho \left( \varOmega \right)}} \right) = g_{n + \ell - {i_w} + 1}^{{v_w}\times \varrho \left( \varOmega \right)}.\end{aligned}

    (ii)如果是调用右孩子节点,且D(L(w)) = D(R(w)),有

    \begin{aligned}{E}_{w}=&e\left({E}_{R\left(w\right)},{K}_{w,1}\right)e\left({K}_{w,3},E\right)=\\ &e\left( {g_{n + \ell - {i_{R\left( w \right)}} + 1}^{{v_{R\left( w \right)}}\times \varrho \left( \varOmega \right)},g_{{i_{R(w)}} - {i_w}}^{{z_w}}} \right)e\left( {g_{\ell - {i_w} + 1}^{{v_w} - {z_w}\times{v_{R\left( w \right)}}},g_n^{\varrho \left( \varOmega \right)}} \right) ={g}_{n+\ell -{i}_{w}+1}^{{v}_{w}\times \varrho \left(\varOmega \right)} .\end{aligned}

    (iii)如果是调用右孩子节点,但 D(L(w)) \ne D(R(w)) ,有

    \begin{aligned}{E}_{w}=&e\left({E}_{L\left(w\right)},{{K}^{\prime }}_{w,1}\right)e\left({K}_{w,3},E\right)=\\ &e\left( {g_{n + \ell - {i_{R\left( w \right)}} + 1}^{{v_{R\left( w \right)}}\times \varrho \left( \varOmega \right)},g_{{i_{R(w)}} - {i_w}}^{{{z_w'}}}} \right)e\left( {g_{\ell - {i_w} + 1}^{{v_w} - {{z_w'}}\times {v_{R\left( w \right)}}},g_n^{\varrho \left( \varOmega \right)}} \right) ={g}_{n+\ell -{i}_{w}+1}^{{v}_{w}\times \varrho \left(\varOmega \right)} . \end{aligned}

    ② 与门. w \in GGT\left( w \right) = {\text{AND}}.

    (i)如果 D(L(w)) = D(R(w)) ,即{i_{L(w)}} = {i_{R(w)}}, 有

    \begin{aligned} {E_w} =&e\left( {{E_{L\left( w \right)}}{E_{R\left( w \right)}},{K_{w,1}}} \right)e\left( {{K_{w,2}},E} \right)= \\ &e\left( {g_{n + \ell - {i_{L\left( w \right)}} + 1}^{{v_{L\left( w \right)}}\times \varrho \left( \varOmega \right)}g_{n + \ell - {i_{R\left( w \right)}} + 1}^{{v_{R\left( w \right)}}\times \varrho \left( \varOmega \right)},g_{{i_{L(w)}} - {i_w}}^{{z_w}}} \right) {\text{ }}e\left( {g_{\ell - {i_w} + 1}^{{v_w} - {z_w}\times ({v_{L\left( w \right)}} + {v_{R\left( w \right)}})},g_n^{\varrho \left( \varOmega \right)}} \right)=\\ & g_{n + \ell - {i_w} + 1}^{{v_w}\times \varrho \left( \varOmega \right)} .\end{aligned}

    (ii)如果 D(L(w)) \ne D(R(w)) ,有

    \begin{aligned} {E_w} =&e\left( {{E_{L\left( w \right)}},{K_{w,1}}} \right)e\left( {{E_{R\left( w \right)}},{{K'}_{w,1}}} \right)e\left( {{K_{w,2}},E} \right)=\\ &e\left( {g_{n + \ell - {i_{L\left( w \right)}} + 1}^{{v_{L\left( w \right)}}\times \varrho \left( \varOmega \right)},g_{{i_{L(w)}} - {i_w}}^{{z_w}}} \right)e\left( {g_{n + \ell - {i_{R\left( w \right)}} + 1}^{{v_{R\left( w \right)}}\times \varrho \left( \varOmega \right)},g_{{i_{R(w)}} - {i_w}}^{{{z_w'}}}} \right) \times \\ &e\left( {g_{\ell - {i_w} + 1}^{{v_w} - ({z_w}\times {v_{L\left( w \right)}} + {{z_w'}}\times {v_{R\left( w \right)}})},g_n^{\varrho \left( \varOmega \right)}} \right)= g_{n + \ell - {i_w} + 1}^{{v_w}\times \varrho \left( \varOmega \right)} .\end{aligned}

    由数学归纳法可知:{E_w} = g_{n + \ell - {i_w} + 1}^{{v_w}\times \varrho \left( \varOmega \right)}对所有被计算的节点都成立.

    w = {w_{{\text{top}}}}时,有{v_w} = \alpha {i_w} = D\left( w \right) = 0,所以有

    {E_{{w_{{\text{top}}}}}} = g_{n + \ell + 1}^{\alpha \times \varrho \left( \varOmega \right)} \in {\mathbb{G}_{n + \ell + 1}} .

    从而有

    \begin{aligned}e\left(\sigma ,g\right)=&e\left(e\left(H\left(M\right),{E}_{{w}_{\text{top}}}\right),g\right)= e\left(e\left(H\left(M\right),{g}_{n+\ell +1}^{\alpha \times \varrho \left(\varOmega \right)}\right),g\right)=\\ &e\left(H\left(M\right),{g}_{\ell +2}^{\alpha },{g}_{n}^{\varrho \left(\varOmega \right)}\right)= e\left(H\left(M\right),Y,{\left\{{A}_{i,{\varOmega }_{i}}\right\}}_{i\in \left[1,n\right]}\right) .\end{aligned}

    验证方程成立,所提出的方案是正确的. 证毕.

    定理2. 如果k-MCDH假设成立,则所提出的一般电路密钥策略ABS方案是自适应选择消息但选定属性攻击下存在不可伪造的.

    证明.假设\mathcal{F}是具有优势 \varepsilon 的EUF-sA-CMA敌手,\mathcal{C}k-MCDH问题的挑战者,我们构建如下的算法\mathcal{B},利用\mathcal{F}来解k-MCDH问题.

    \mathcal{B}维护一个初始化为空的列表{\mathbb{L}_H}.令{q_{\text{s}}}为查询Sign Oracle的最大次数.

    k-MCDH Gen.

    1)\mathcal{C}运行\mathcal{G}\left( {{1^\lambda },k = n + \ell + 3} \right)得到阶为素数p的群序列{{\mathbb{G}}_1},{{\mathbb{G}}_2}, … ,{{\mathbb{G}}_k}和对应的生成元序列{g_1},{g_2}, … {g_k},以及其上的多线性映射e.

    2)随机选取{g^{{c_1}}},{g^{{c_2}}}, … ,{g^{{c_k}}} \in {\mathbb{G}_1}.

    3)发送(n,\ell ,p,{{\mathbb{G}}_1},{{\mathbb{G}}_2}, … ,{{\mathbb{G}}_k},{g_1}(g=g_1),{g_2}, … ,{g_k},e, {g^{{c_1}}}, {g^{{c_2}}}, … , {g^{{c_k}}})\mathcal{B}.

    Initialization. 敌手\mathcal{F}选取并发送挑战属性 {\varOmega ^*} = \left( {\varOmega _1^*,\varOmega _2^*, … ,\varOmega _n^*} \right) \mathcal{B}.

    Setup.

    1)令Y = e\left( {{g^{{c_{n + 1}}}},{g^{{c_{n + 2}}}}, … ,{g^{{c_{n + \ell + 2}}}}} \right). 这里隐含地令\alpha = {c_{n + 1}}{c_{n + 2}} … {c_{n + \ell + 2}}.

    2)选取{a_i}{ \in _{R}}{\mathbb{Z}_p},并令

    {A}_{i,\beta }=\left\{\begin{aligned} &{g}^{{c}_{i}},{\varOmega }_{i}^{*}=\beta \text{,}\\ &{g}^{{a}_{i}},{\varOmega }_{i}^{*}\ne \beta \text{,}\end{aligned} \right. i \in \left[ {1,n} \right],\beta \in \left\{ {0,1} \right\}\text{,}
    A = {\{ {A_{i,\beta }}\} _{i \in \left[ {1,n} \right],\beta \in \left\{ {0,1} \right\}}} .

    \varOmega _i^* = \beta 时,隐含地令{a_{i,\beta }} = {c_i}.

    3)\mathcal{B}发送公开参数pp = \{ Y,A,n,\ell ,p, {{\mathbb{G}}_1}, {{\mathbb{G}}_2}, … , {{\mathbb{G}}_k},{g_1},{g_2}, … ,{g_k},e\}给敌手\mathcal{F}.

    KeyGen Oracle. 当敌手\mathcal{F}询问关于电路f = (n, q, L, R, GT)的密钥时,如果f({\varOmega ^*}) = 1,拒绝;否则,采用“自下而上”的方式计算密钥组成部分{K_w}.

    1)输入节点. w \in ID\left( w \right) = {i_w}.

    ① 如果\varOmega _w^* = 1,选取{v_w}{ \in _{R}}{\mathbb{Z}_p},计算

    {K_w} = e{\left( {{g_{\ell - {i_w} + 1}},{A_{w,1}}} \right)^{{v_w}}} = g_{\ell - {i_w} + 2}^{{v_w}\times {a_{w,1}}} .

    ② 如果\varOmega _w^* = 0,选取{\eta _w}{ \in _{R}}{\mathbb{Z}_p},计算

    \begin{aligned} {K_w} =& {\left( {e({g^{{c_{n + 1}}}},{g^{{c_{n + 2}}}}, … ,{g^{{c_{n + \ell - {i_w} + 2}}}})g_{\ell - {i_w} + 2}^{{\eta _w}}} \right)^{{a_w}}}=\\ &{g}_{\ell -{i}_{w}+2}^{\left({c}_{n+1}\times {c}_{n+2}\times … \times {c}_{n+\ell -{i}_{w}+2}+{\eta }_{w}\right){a}_{w,1}}= g_{\ell - {i_w} + 2}^{{v_w}\times {a_{w,1}}} . \end{aligned}

    这里隐含地令{v_w} = {c_{n + 1}}\times {c_{n + 2}} \times … \times {c_{n + \ell - {i_w} + 2}} + {\eta _w}.

    2)或门. w \in GGT\left( w \right) = {\text{OR}}D\left( w \right) = {i_w}.

    ① 如果{f_w}({\varOmega ^*}) = 1,选取{z_w},{v_w}{ \in _{R}}{\mathbb{Z}_p}.

    (i)计算{K_{w,1}} = g_{{i_{L(w)}} - {i_w}}^{{z_w}}.

    (ii)如果D\left( {L(w)} \right) \ne D\left( {R(w)} \right), 选取{z'_w}{ \in _{R}}{\mathbb{Z}_p}, 计算{K'_{w,1}} = g_{{i_{R(w)}} - {i_w}}^{{{z'}_w}}.

    (iii)如果{f_{L\left( w \right)}}({\varOmega ^*}) = 1,计算{K_{w,2}}= g_{\ell - {i_w} + 1}^{{v_w} - {z_w}\times {v_{L\left( w \right)}}}.

    (iv)如果{f_{L\left( w \right)}}({\varOmega ^*}) = 0,此时{v_{L\left( w \right)}} = {c_{n + 1}}\times {c_{n + 2}} \times … \times {c_{n + \ell - {i_{L(w)}} + 2}}+ {\eta _{L\left( w \right)}},计算

    \begin{aligned} {K}_{w,2}=&{g}_{\ell -{i}_{w}+1}^{{v}_{w}-{\eta }_{L\left(w\right)}\times {z}_{w}} e\left({g}^{{c}_{n+1}},{g}^{{c}_{n+2}},… ,{g}^{{c}_{n+\ell -{i}_{L(w)}+2}},{g}_{{i}_{L(w)}-{i}_{w}-1}^{-{z}_{w}}\right)=\\ &{g}_{\ell -{i}_{w}+1}^{{v}_{w}-{z}_{w}\left({c}_{n+1}\times {c}_{n+2}\times … \times {c}_{n+\ell -{i}_{L(w)}+2}+{\eta }_{L\left(w\right)}\right)}= {g}_{\ell -{i}_{w}+1}^{{v}_{w}-{z}_{w}\times {v}_{L\left(w\right)}} .\end{aligned}

    (v)如果{f_{R\left( w \right)}}({\varOmega ^*}) = 1,计算

    {K_{w,3}} = \left\{ \begin{aligned} &g_{\ell - {i_w} + 1}^{{v_w} - {z_w}\times {v_{R\left( w \right)}}},D\left( {L(w)} \right) = D\left( {R(w)} \right), \\ &g_{\ell - {i_w} + 1}^{{v_w} - {{z_w'}}\times {v_{R\left( w \right)}}},D\left( {L(w)} \right) \ne D\left( {R(w)} \right). \\ \end{aligned} \right.

    (vi)如果{f_{R\left( w \right)}}({\varOmega ^*}) = 0,此时{v_{R\left( w \right)}} = {c_{n + 1}}\times {c_{n + 2}}\times … \times {c_{n + \ell - {i_{R(w)}} + 2}} + {\eta _{R\left( w \right)}}.如果D\left( {L(w)} \right) = D\left( {R(w)} \right),使用{z_w};否则,使用{z'_w},计算

    \begin{aligned} {K}_{w,3}=&{g}_{\ell -{i}_{w}+1}^{{v}_{w}-{\eta }_{R\left(w\right)}\times {z}_{w}} e\left({g}^{{c}_{n+1}},{g}^{{c}_{n+2}},… ,{g}^{{c}_{n+\ell -{i}_{R(w)}+2}},{g}_{{i}_{R(w)}-{i}_{w}-1}^{-{z}_{w}}\right)=\\ &{g}_{\ell -{i}_{w}+1}^{{v}_{w}-{z}_{w}\left({c}_{n+1}\times {c}_{n+2}\times … \times {c}_{n+\ell -{i}_{w}+2}+{\eta }_{R\left(w\right)}\right)}= g_{\ell - {i_w} + 1}^{{v_w} - {z_w}\times {v_{R\left( w \right)}}}.\end{aligned}

    ② 如果{f_w}({\varOmega ^*}) = 0,则{f_{L\left( w \right)}}({\varOmega ^*}) = {f_{R\left( w \right)}}({\varOmega ^*}) = 0,有{v_{L\left( w \right)}} \;=\; {c_{n + 1}} \times {c_{n + 2}}\times … \times {c_{n + \ell - {i_{L(w)}} + 2}} + {\eta _{L\left( w \right)}}{v_{R\left( w \right)}} \;=\; {c_{n + 1}} \times {c_{n + 2}} \times … \times {c_{n + \ell - {i_{R(w)}} + 2}} + {\eta _{R\left( w \right)}}.选取{\psi _w},{\eta _w}{ \in _{R}}{\mathbb{Z}_p}(如果w = {w_{{\text{top}}}} = {w_{n + q}},令{\eta _{n + q}} = 0,下同).

    (i)如果D\left( {L(w)} \right) = D\left( {R(w)} \right), 即{i_{L(w)}} = {i_{R(w)}},计算

    \begin{aligned}{K}_{w,1} =e\left({g}^{{c}_{n+\ell -{i}_{L(w)}+3}},{g}^{{c}_{n+\ell -{i}_{L(w)}+4}},… ,{g}^{{c}_{n+\ell -{i}_{w}+2}}\right){g}_{{i}_{L(w)}-{i}_{w}}^{{\psi }_{w}}= {g}_{{i}_{L(w)}-{i}_{w}}^{{z}_{w}},\end{aligned}
    \begin{aligned} {K_{w,2}} = & g_{\ell - {i_w} + 1}^{{\eta _w}}e\left( {{g^{{c_{n + \ell - {i_{L(w)}} + 3}}}}, … ,{g^{{c_{n + \ell - {i_w} + 2}}}},g_{\ell - {i_{L(w)}} + 1}^{ - {\eta _{L\left( w \right)}}}} \right)\times\\ &{\left( {e\left( {{g^{{c_{n + 1}}}},{g^{{c_{n + 2}}}}, … ,{g^{{c_{n + \ell - {i_{L(w)}} + 2}}}},{g_{{i_{L(w)}} - {i_w} - 1}}} \right)g_{\ell - {i_w} + 1}^{{\eta _{L\left( w \right)}}}} \right)^{ - {\psi _w}}}= \\ & g_{\ell - {i_w} + 1}^{{\eta _w} - ({c_{n + \ell - {i_{L(w)}} + 3}} \times … \times {c_{n + \ell - {i_w} + 2}}){\eta _{L\left( w \right)}} - {\psi _w}\left( {{c_{n + 1}}\times {c_{n + 2}}\times … \times {c_{n + \ell - {i_{L(w)}} + 2}}} \right) - {\psi _w}\times {\eta _{L\left( w \right)}}}=\\ &g_{\ell - {i_w} + 1}^{\left( {{c_{n + 1}}\times {c_{n + 2}} \times … \times {c_{n + \ell - {i_{L(w}}) + 2}} + {\eta _w}} \right)}\times \\ &g_{\ell - {i_w} + 1}^{ - \left( {{c_{n + \ell - {i_{L(w)}} + 3}} \times … \times {c_{n + \ell - {i_w} + 2}} + {\psi _w}} \right)\left( {{c_{n + 1}} \times {c_{n + 2}} \times … \times {c_{n + \ell - {i_{L(w)}} + 2}} + {\eta _{L\left( w \right)}}} \right)}= \\ &{g}_{\ell -{i}_{w}+1}^{{v}_{w}-{z}_{w}\times {v}_{L\left(W\right)}} . \end{aligned}

    {K_{w,3}}的仿真同{K_{w,2}},只是得将L(w)改为R(w).

    这里隐含地令{z_w} = {c_{n + \ell - {i_{L(w)}} + 3}}\times {c_{n + \ell - {i_{L(w)}} + 4}} \times … \times {c_{n + \ell - {i_w} + 2}} + {\psi _w}, {v_w} = {c_{n + 1}}\times {c_{n + 2}} \times … \times {c_{n + \ell - {i_w} + 2}} + {\eta _w}.

    (ii)如果D\left( {L(w)} \right) \ne D\left( {R(w)} \right), {K_{w,1}} ,{K_{w,2}}, {K_{w,3}}的仿真同(i)中的{K_{w,1}},{K_{w,2}},{K_{w,3}}

    \begin{aligned} {{K_{w,1}'}} = e\left( {{g^{{c_{n + \ell - {i_{R(w)}} + 3}}}},{g^{{c_{n + \ell - {i_{R(w)}} + 4}}}}, … ,{g^{{c_{n + \ell - {i_w} + 2}}}}} \right)g_{{i_{R(w)}} - {i_w}}^{{\psi _w}} = g_{{i_{R(w)}} - {i_w}}^{{{z_w'}}}. \end{aligned}

    这里隐含地令{z_w} = {c_{n + \ell - {i_{L(w)}} + 3}}\times{c_{n + \ell - {i_{L(w)}} + 4}}\times …\times {c_{n + \ell - {i_w} + 2}}+{\psi _w}, {z'_w} = {c_{n + \ell - {i_{R(w)}} + 3}}\times{c_{n + \ell - {i_{R(w)}} + 4}} \times…\times{c_{n + \ell - {i_w} + 2}}+{\psi _w}{v_W} = {c_{n + 1}}\times{c_{n + 2}} \times…\times {c_{n + \ell - {i_w} + 2}} + {\eta _w}.

    (i)和(ii)的区别在于{i_{L(w)}}{i_{R(w)}}是否相等,如果相等则{z_w}{z'_w}相同,不必区别处理;否则必须区别处理.

    ③ 如果D\left( {L(w)} \right) = D\left( {R(w)} \right),令{K_w} = \{ {K_{w,1}}, {K_{w,2}},{K_{w,3}}\} ;否则,令 {K_w} = \{ {K_{w,1}},{K'_{w,1}},{K_{w,2}}, {K_{w,3}}\} .

    3)与门. w \in GGT\left( w \right) = {\text{AND}}D\left( w \right) = {i_w}.

    ① 如果{f_w}\left( {{\varOmega ^*}} \right) = 1D\left( {L(w)} \right) = D\left( {R(w)} \right), 选取{z_w}, {v_w}{ \in _{R}}{\mathbb{Z}_p},计算

    {K_{w,1}} = g_{{i_{L(w)}} - {i_w}}^{{z_w}}\text{,}
    {K}_{w,2}={g}_{\ell -{i}_{w}+1}^{{v}_{w}-{z}_{w}\left({v}_{L\left(w\right)}+{v}_{R\left(w\right)}\right)} .

    ② 如果{f_w}\left( {{\varOmega ^*}} \right) = 1D\left( {L(w)} \right) \ne D\left( {R(w)} \right), 选取{z_w}, {z'_w},{v_w}{ \in _{R}}{\mathbb{Z}_p}, 计算

    {K_{w,1}} = g_{{i_{L(w)}} - {i_w}}^{{z_w}},
    {K'_{w,1}} = g_{{i_{R(w)}} - {i_w}}^{{{z_w'}}},
    {K}_{w,2}={g}_{\ell -{i}_{w}+1}^{{v}_{w}-({z}_{w} \times {v}_{L\left(w\right)}+{z_w'} \times {v}_{R\left(w\right)})} .

    ③ 如果{f_{L\left( w \right)}}\left( {{\varOmega ^*}} \right) = {f_{R\left( w \right)}}\left( {{\varOmega ^*}} \right) = 0,此时有{v_{L\left( w \right)}} = {c_{n + 1}} \times {c_{n + 2}} \;\times\;…\;\times\; {c_{n + \ell - {i_{L(w)}} + 2}}+{\eta _{L\left( w \right)}}{v_{R\left( w \right)}} \;=\; {c_{n + 1}}\;\times\;{c_{n + 2}}\;\times\; … \;\times {c_{n + \ell - {i_{R(w)}} + 2}} + {\eta _{R\left( w \right)}}.选取{\psi _w},{\eta _w}{ \in _{R}}{\mathbb{Z}_p}.

    (i)如果D\left( {L(w)} \right) = D\left( {R(w)} \right), 即{i_{L(w)}} = {i_{R(w)}}, 计算

    {K}_{w,1}=e{\left({g}^{{c}_{n+\ell -{i}_{L(w)}+3}},… ,{g}^{{c}_{n+\ell -{i}_{w}+2}}\right)}^{{2}^{-1}}{g}_{{i}_{L(w)}-{i}_{w}}^{{\psi }_{w}}= {g}_{{i}_{L(w)}-{i}_{w}}^{{z}_{w}},
    \begin{aligned} {K_{w,2}} =& g_{\ell - {i_w} + 1}^{{\eta _w} - {\psi _w}\left( {{\eta _{L\left( w \right)}} + {\eta _{R\left( w \right)}}} \right)} e\left( {{g^{{c_{n + \ell - {i_{L(w)}} + 3}}}}, … ,{g^{{c_{n + \ell - {i_w} + 2}}}},g_{\ell - {i_{L(w)}} + 1}^{ - {2^{ - 1}}({\eta _{L\left( w \right)}} + {\eta _{R\left( w \right)}})}} \right)\times \\ &e{\left({g}_{}^{{c}_{n+1}},{g}_{}^{{c}_{n+2}},… ,{g}_{}^{{c}_{n+\ell -{i}_{L(w)}+2}},{g}_{{i}_{L(w)}-{i}_{w}-1}\right)}^{-2{\psi }_{w}}=\\ &g_{\ell - {i_w} + 1}^{{\eta _w} - {\psi _w}({\eta _{L\left( w \right)}} + {\eta _{R\left( w \right)}}) - {2^{ - 1}}({c_{n + \ell - {i_{L(w)}} + 3}} \times … \times {c_{n + \ell - {i_w} + 2}})({\eta _{L\left( w \right)}} + {\eta _{R\left( w \right)}})} \times\\ &{g}_{\ell -{i}_{w}+1}^{-2{\psi }_{w}({c}_{n+1}\times{c}_{n+2}\times…\times {c}_{n+\ell -{i}_{L(w)}+2})}= {g}_{\ell -{i}_{w}+1}^{\left({c}_{n+1}\times{c}_{n+2}\times…\times {c}_{n+\ell -{i}_{w}+2+}{\eta }_{w}\right)}\times\\ &g_{\ell - {i_w} + 1}^{ - \left( {{2^{ - 1}}({c_{n + \ell - {i_{L(w)}} + 3}} \times … \times {c_{n + \ell - {i_w} + 2}}) + {\psi _w}} \right)\left( {2{c_{n + 1}}\times{c_{n + 2}}\times …\times {c_{n + \ell - {i_{L(w)}} + 2}} + {\eta _{L\left( w \right)}} + {\eta _{R\left( w \right)}}} \right)}=\\ & g_{\ell - {i_w} + 1}^{{v_w} - {z_w}\left( {{v_{L\left( w \right)}} + {v_{R\left( w \right)}}} \right)}.\end{aligned}

    这里隐含地令{z_w} = {2^{ - 1}}({c_{n + \ell - {i_{L(w)}} + 3}} \times… \times{c_{n + \ell - {i_w} + 2}}) + {\psi _w}, {v_w} = {c_{n + 1}}\times{c_{n + 2}} \times…\times {c_{n + \ell - {i_w} + 2}} + {\eta _w}.

    (ii)如果D\left( {L(w)} \right) \ne D\left( {R(w)} \right), 选取 {z'_w}{ \in _{R}}{\mathbb{Z}_p} ,计算

    {K}_{w,1}=e\left({g}^{{c}_{n+\ell -{i}_{L(w)}+3}},… ,{g}^{{c}_{n+\ell -{i}_{w}+2}}\right){g}_{{i}_{L(w)}-{i}_{w}}^{{\psi }_{w}} ={g}_{{i}_{L(w)}-{i}_{w}}^{{z}_{w}},
    {{K_{w,1}'}}={g}_{{i}_{R(w)}-{i}_{w}}^{{z_w'}},
    \begin{aligned} {K_{w,2}} =& g_{\ell - {i_w} + 1}^{{\eta _w} - {\psi _w}\times {\eta _{L\left( w \right)}}} e\left( {{g^{{c_{n + \ell - {i_{L(w)}} + 3}}}}, … ,{g^{{c_{n + \ell - {i_w} + 2}}}},g_{\ell - {i_{L(w)}} + 1}^{ - {\eta _{L\left( w \right)}}}} \right)\times \\ &e{\left({g}_{}^{{c}_{n+1}},{g}_{}^{{c}_{n+2}},… ,{g}_{}^{{c}_{n+\ell -{i}_{L(w)}+2}},{g}_{{i}_{L(w)}-{i}_{w}-1}\right)}^{-{\psi }_{w}}\times \\ &{\left( {e\left( {g_{}^{{c_{n + 1}}},g_{}^{{c_{n + 2}}}, … ,g_{}^{{c_{n + \ell - {i_{R(w)}} + 2}}},{g_{{i_{R(w)}} - {i_w} - 1}}} \right)g_{\ell - {i_w} + 1}^{{\eta _{R\left( w \right)}}}} \right)^{ - {{z_w'}}}}=\\ & g_{\ell - {i_w} + 1}^{{\eta _w} - {\psi _w}\times {\eta _{L\left( w \right)}} - ({c_{n + \ell - {i_{L(w)}} + 3}} \times … \times {c_{n + \ell - {i_w} + 2}}){\eta _{L\left( w \right)}}} \times\\ &g_{\ell - {i_w} + 1}^{ - {\psi _w}({c_{n + 1}}\times {c_{n + 2}} \times … \times {c_{n + \ell - {i_{L(w)}} + 2}})} g_{\ell - {i_w} + 1}^{ - ({c_{n + 1}}\times {c_{n + 2}} \times … \times {c_{n + \ell - {i_{R(w)}} + 2}} + {\eta _{R\left( w \right)}}){{z_w'}}}=\\ &{g}_{\ell -{i}_{w}+1}^{\left({c}_{n+1}\times{c}_{n+2}\times…\times {c}_{n+\ell -{i}_{w}+2}+{\eta }_{w}\right)} \times\\ & g_{\ell - {i_w} + 1}^{ - ({c_{n + \ell - {i_{L(w)}} + 3}}\times … \times {c_{n + \ell - {i_w} + 2}} + {\psi _w})({c_{n + 1}}\times{c_{n + 2}}\times … \times{c_{n + \ell - {i_{L(w)}} + 2}} + {\eta _{L\left( w \right)}})}\times\\ &g_{\ell - {i_w} + 1}^{ - ({c_{n + 1}}\times{c_{n + 2}} \times… \times{c_{n + \ell - {i_{R(w)}} + 2}} + {\eta _{R\left( w \right)}}){{z_w'}}}= g_{\ell - {i_w} + 1}^{{v_w} - ({z_w}\times {v_{L\left( w \right)}} + {{z_w'}}\times {v_{R\left( w \right)}})}.\end{aligned}

    这里隐含地令{z_w} = {c_{n + \ell - {i_{L(w)}} + 3}} \times … \times {c_{n + \ell - {i_w} + 2}} + {\psi _w}{v_w} = {c_{n + 1}}\times {c_{n + 2}} \times…\times {c_{n + \ell - {i_w} + 2}} + {\eta _w}.

    ④ 如果{f_{L\left( w \right)}}\left( {{\varOmega ^*}} \right) = 0{f_{R\left( w \right)}}\left( {{\varOmega ^*}} \right) = 1.

    (i)如果D\left( {L(w)} \right) = D\left( {R(w)} \right), 即{i_{L(w)}} = {i_{R(w)}}, 选取{\psi _w},{\eta _w}{ \in _{R}}{\mathbb{Z}_p},计算

    \begin{aligned} {K}_{w,1}=&e\left({g}^{{c}_{n+\ell -{i}_{L(w)}+3}},… ,{g}^{{c}_{n+\ell -{i}_{w}+2}}\right){g}_{{i}_{L(w)}-{i}_{w}}^{{\psi }_{w}} ={g}_{{i}_{L(w)}-{i}_{w}}^{{z}_{w}}, \\ {K_{w,2}}=& g_{\ell - {i_w} + 1}^{{\eta _w} - {\psi _w}\left( {{\eta _{L\left( w \right)}} + {v_{R\left( w \right)}}} \right)} e\left( {{g^{{c_{n + \ell - {i_{L(w)}} + 3}}}}, … ,{g^{{c_{n + \ell - {i_w} + 2}}}},g_{\ell - {i_{L(w)}} + 1}^{ - ({\eta _{L\left( w \right)}} + {v_{R\left( w \right)}})}} \right)\times \\ &e{\left({g}_{}^{{c}_{n+1}},{g}_{}^{{c}_{n+2}},… ,{g}_{}^{{c}_{n+\ell -{i}_{L(w)}+2}},{g}_{{i}_{L(w)}-{i}_{w}-1}\right)}^{-{\psi }_{w}}=\\ & g_{\ell - {i_w} + 1}^{{\eta _w} - {\psi _w}({\eta _{L\left( w \right)}} + {v_{R\left( w \right)}}) - ({c_{n + \ell - {i_{L(w)}} + 3}} \times … \times {c_{n + \ell - {i_w} + 2}})({\eta _{L\left( w \right)}} + {v_{R\left( w \right)}})}\times \\ &g_{\ell - {i_w} + 1}^{ - {\psi _w}({c_{n + 1}}\times{c_{n + 2}} \times…\times {c_{n + \ell - {i_{L(w)}} + 2}})}={g}_{\ell -{i}_{w}+1}^{\left({c}_{n+1}\times{c}_{n+2}\times…\times {c}_{n+\ell -{i}_{w}+2}+{\eta }_{w}\right)}\times\end{aligned}
    \begin{aligned} & g_{\ell - {i_w} + 1}^{ - ({c_{n + \ell - {i_{L(w)}} + 3}} \times … \times {c_{n + \ell - {i_w} + 2}} + {\psi _w})({c_{n + 1}}\times{c_{n + 2}} \times… \times{c_{n + \ell - {i_{L(w)}} + 2}} + {\eta _{L\left( w \right)}} + {v_{R\left( w \right)}})}=\\ &g_{\ell - {i_w} + 1}^{{v_w} - {z_w}\left( {{v_{L\left( w \right)}} + {v_{R\left( w \right)}}} \right)}. \end{aligned}

    这里隐含地令{z_w} = {c_{n + \ell - {i_{L(w)}} + 3}}\times … \times {c_{n + \ell - {i_w} + 2}}{\text{ + }}{\psi _w}, {v_w} = {c_{n + 1}}\times {c_{n + 2}}\times …\times {c_{n + \ell - {i_w} + 2 }}+{\eta _w}.

    (ii)如果D\left( {L(w)} \right) \ne D\left( {R(w)} \right), 选取 {z'_w}{ \in _{R}}{\mathbb{Z}_p} ,计算

    \begin{aligned} {K}_{w,1}=e\left({g}^{{c}_{n+\ell -{i}_{L(w)}+3}},… ,{g}^{{c}_{n+\ell -{i}_{w}+2}}\right){g}_{{i}_{L(w)}-{i}_{w}}^{{\psi }_{w}} ={g}_{{i}_{L(w)}-{i}_{w}}^{{z}_{w}},\end{aligned}
    {{K_{w,1}'}}={g}_{{i}_{R(w)}-{i}_{w}}^{{{z_w'}}},
    \begin{aligned} {K_{w,2}} =& g_{\ell - {i_w} + 1}^{{\eta _w} - {\psi _w}\times {\eta _{L\left( w \right)}}}g_{\ell - {i_w} + 1}^{ - {{z_w'}}\times {v_{R\left( w \right)}}} e\left( {{g^{{c_{n + \ell - {i_{L(w)}} + 3}}}}, … ,{g^{{c_{n + \ell - {i_w} + 2}}}},g_{\ell - {i_{L(w)}} + 1}^{ - {\eta _{L\left( w \right)}}}} \right)\times \\ &e{\left({g}_{}^{{c}_{n+1}},{g}_{}^{{c}_{n+2}},… ,{g}_{}^{{c}_{n+\ell -{i}_{L(w)}+2}},{g}_{{i}_{L(w)}-{i}_{w}-1}\right)}^{-{\psi }_{w}}= \\ &g_{\ell - {i_w} + 1}^{{\eta _w} - {\psi _w}\times {\eta _{L\left( w \right)}} - ({c_{n + \ell - {i_{L(w)}} + 3}}\times … \times {c_{n + \ell - {i_w} + 2}}){\eta _{L\left( w \right)}}}\times\\ &g_{\ell - {i_w} + 1}^{ - {\psi _w}({c_{n + 1}}\times{c_{n + 2}} \times…\times {c_{n + \ell - {i_{L(w)}} + 2}})}g_{\ell - {i_w} + 1}^{ - {{z_w'}}\times {v_{R\left( w \right)}}}=\\ &{g}_{\ell -{i}_{w}+1}^{\left({c}_{n+1}\times{c}_{n+2}\times…\times {c}_{n+\ell -{i}_{w}+2}+{\eta }_{w}\right)}\times\\ &g_{\ell - {i_w} + 1}^{ - ({c_{n + \ell - {i_{L(w)}} + 3}}\times … \times {c_{n + \ell - {i_w} + 2}} + {\psi _w})({c_{n + 1}}\times{c_{n + 2}}\times …\times {c_{n + \ell - {i_{L(w)}} + 2}} + {\eta _{L\left( w \right)}})}\times\\ &g_{\ell - {i_w} + 1}^{ - {{z_w'}}\times {v_{R\left( w \right)}}}= g_{\ell - {i_w} + 1}^{{v_w} - ({z_w}\times {v_{L\left( w \right)}} + {{z_w'}}\times {v_{R\left( w \right)}})}.\end{aligned}

    这里隐含地令{z_w} = {c_{n + \ell - {i_{L(w)}} + 3}}\times … \times{c_{n + \ell - {i_w} + 2}}{\text{ + }}{\psi _w}, {v_w} = {c_{n + 1}}\times {c_{n + 2}} \times…\times {c_{n + \ell - {i_w} + 2 }}+ {\eta _w}.

    ⑤ 如果{f_{L\left( w \right)}}\left( {{\varOmega ^*}} \right) = 1{f_{R\left( w \right)}}\left( {{\varOmega ^*}} \right) = 0,与{f_{L\left( w \right)}}\left( {{\varOmega ^*}} \right) = 0{f_{R\left( w \right)}}\left( {{\varOmega ^*}} \right) = 1类似,只是得将L(w)改为R(w).

    ⑥ 如果D\left( {L(w)} \right) = D\left( {R(w)} \right),令{K_w} = \{ {K_{w,1}}, {K_{w,2}}\} ;否则,令 {K_w} = \{ {K_{w,1}},{K'_{w,1}},{K_{w,2}}\} .

    4)最后,返回S{K_f} = {\left\{ {{K_w}} \right\}_{w \in N}}给敌手\mathcal{F}.

    H-Oracle. 当敌手\mathcal{F}询问消息{M_i}的Hash值时,如果{M_i}{\mathbb{L}_H}中,则返回相应的{h_i};否则,\mathcal{B}响应如1)~4):

    1)选取{\rho _i} \in \{ 0,1\} ,使{\rho _i} = 0的概率为{\left( {{q_{\text{s}}} + 1} \right)^{ - 1}}.

    2)如果{\rho _i} = 1,选取{r_i}{ \in _{R}}{\mathbb{Z}_p},令{h_i} = {g^{{r_i}}}.

    3)如果{\rho _i} = 0,令{h_i} = {g^{{c_{n + \ell + 3}}}}{r_i} = \bot .

    4)返回{h_i}给敌手\mathcal{F},添加\left( {{M_i},{h_i},{r_i},{\rho _i}} \right){\mathbb{L}_H}.

    Sign Oracle. 当敌手\mathcal{F}询问关于消息{M_j}和属性{\varOmega _j}的签名时,\mathcal{B}先请求关于消息{M_j}的H-Oracle服务,从{\mathbb{L}_H}中得到相应的{r_j}{\rho _j}.如果{\rho _j} = 0,则中止;否则,计算并返回

    \begin{aligned}\sigma =&e{\left(Y,{\left\{{A}_{i,{\varOmega }_{i}}\right\}}_{i\in \left[1,n\right]}\right)}^{{r}_{j}}= e{\left({g}_{\ell +2}^{{c}_{n+1}\times{c}_{n+2}\times…\times {c}_{n+\ell +2}},{g}_{n}^{\prod\limits_{i\in \left[1,n\right]}{a}_{i,{\varOmega }_{i}}}\right)}^{{r}_{j}}=\\ &e\left({g}^{{r}_{j}},{g}_{n+\ell +1}^{\alpha \prod\limits_{i\in \left[1,n\right]}{a}_{i,{\varOmega }_{i}}}\right)= e\left(H\left(M\right),{g}_{n+\ell +1}^{\alpha \times \varrho \left(\varOmega \right)}\right) .\end{aligned}

    Forgery. 敌手\mathcal{F}输出关于\left( {{M^*},{\varOmega ^*}} \right)的签名{\sigma ^*}.

    Output. 从{\mathbb{L}_H}中找到与{M^*}对应的{r_i}^* {\rho _i}^* .如果{\rho _i}^* = 1,则中止;否则,\mathcal{B}输出{\sigma ^*}作为给定k-MCDH问题的解.

    {\rho _i}^* = 0并且{\sigma ^*}是关于\left( {{M^*},{\varOmega ^*}} \right)的有效签名时,则

    \begin{aligned}e\left({\sigma }^{*},g\right)=&e\left(H\left({M}^{*}\right),Y,{\left\{{A}_{i,{\varOmega }_{i}^{*}}\right\}}_{i\in \left[1,n\right]}\right)=\\ & e\left({g}^{{c}_{n+\ell +3}},{g}_{\ell +2}^{{c}_{n+1}\times{c}_{n+2}\times…\times {c}_{n+\ell +2}},{g}_{n}^{\prod\limits_{i\in \left[1,n\right]}{a}_{i,{\varOmega }_{i}^{*}}}\right)=\\ & {g}_{n+\ell +3}^{\prod\limits_{i\in \left[1,n+\ell +3\right]}{c}_{i}}= e\left({g}_{k-1}^{{\prod\limits_{i\in [1,k]}{c}_{i}}},g\right) ,\end{aligned}

    因此,{\sigma ^*} = g_{k - 1}^{\prod\limits_{i \in [1,k]} {{c_i}} }k-MCDH问题的解.

    由于上述Setup,KeyGen,H-Oracle, Sign Oralce的仿真都是完善的,如果\mathcal{B}没有中止,\mathcal{F}输出1个有效签名的概率至少为 \varepsilon .

    因为{\rho _i} = 0的概率是 {({q_{\text{s}}} + 1)^{ - 1}} \mathcal{B}在Sign Oralce中不中止的概率至少为 {(1 - {({q_{\text{s}}} + 1)^{ - 1}})^{{q_{\text{s}}}}} ,因此,\mathcal{B}k-MCDH问题的概率至少为

    \frac{1}{{q}_{\text{s}}+1}{\left(1-\frac{1}{{q}_{\text{s}}+1}\right)}^{{q}_{\text{s}}}\varepsilon=\frac{1}{{q}_{\text{s}}}{\left(1-\frac{1}{{q}_{\text{s}}+1}\right)}^{{q}_{\text{s}}+1}\varepsilon .

    n \to \infty 时,概率等于\dfrac{1}{\text{e}{q}_{\text{s}}}\varepsilon,因此,在k-MCDH假设下,所提出的一般电路密钥策略基于属性签名方案是自适应选取消息但选定属性攻击下存在不可伪造的. 证毕.

    定理3. 所提出的一般电路密钥策略基于属性签名方案具有完善隐私性.

    证明.对于任何M,\varOmega 和满足{f_0}\left( \varOmega \right) = {f_1}\left( \varOmega \right) = 1{f_0},{f_1},对应于{f_0},{f_1}的签名分布{\sigma _0} \leftarrow Sign\left( {S{K_{{f_0}}},M,\varOmega } \right){\sigma _1} \leftarrow Sign\left( {S{K_{{f_1}}},M,\varOmega } \right)分别为

    \left\{ {{\sigma _0}{\text{|}}{\sigma _0} = e\left( {H\left( M \right),g_{n + \ell + 2}^{\alpha \times \varrho \left( \varOmega \right)}} \right)} \right\}\text{,}
    \left\{ {{\sigma _1}{\text{|}}{\sigma _1} = e\left( {H\left( M \right),g_{n + \ell + 2}^{\alpha \times \varrho \left( \varOmega \right)}} \right)} \right\}.

    分布\{\sigma _0\} \{\sigma _1\} 是完全一样的, 因此是信息论意义不可区分的,所以所提出的方案具有完善隐私性.证毕.

    与已有方案相比,本文方案有2个显著优点:一是访问结构的表达能力达到最强,可以支持任意访问结构;二是签名只有1个群元素,长度达到最短.

    正前文所指出的,目前只有3个支持电路访问结构的基于属性签名方案:Tang等人[10]方案、Sakai等人[11]方案和Kaafarani等人[12]方案.文献[11-12]方案的签名的长度都与电路的大小成线性增长关系,效率都很低,Tang等人[10]方案的签名大小也仅为1个群元素.

    将本文方案与Tang等人[10]方案进行比较,结果如表2所示.本文方案在安全性和访问结构的表达力方面都有明显优势.

    表  2  方案性能比较
    Table  2.  Performance Comparison of Schemes
    性质Tang等人[10]方案本文方案
    不可伪造性EUF-sA-sMAEUF-sA-CMA
    隐私性完善隐私性完善隐私性
    访问结构特殊电路一般电路
    下载: 导出CSV 
    | 显示表格

    因为不同的电路会有不同的数据规模和计算开销,本文以图1的电路和1个输入为n = 64 的电路为例进行效率比较,结果如表3所示.当n = 64,属性的数量是264(>7.38×1019),电路f的数量更是不受限制,因此能完全满足应用需要.

    表  3  方案效率对比(m = 160)
    Table  3.  Efficiency Comparison of Schemes with m Equals 160
    属性数n比较项Tang等人[10]方案本文方案指标比值%
    64主公钥大小449 |{\mathbb{G}}| 129 |{\mathbb{G}}| 28.73
    主私钥大小449 |{\mathbb{Z} }| 129 |{\mathbb{Z} }| 28.73
    签名钥大小285 |{\mathbb{G}}| 222 |{\mathbb{G}}| 77.89
    签名钥生成开销285 E222 E77.89
    签名生成开销2401 P1508 P62.81
    签名验证开销225 P66 P29.33
    6主公钥大小333 |{\mathbb{G}}| 13 |{\mathbb{G}}| 3.90
    主私钥大小333 |{\mathbb{G}}| 13 |{\mathbb{G}}| 3.90
    签名钥大小30 |{\mathbb{G}}| 25 |{\mathbb{G}}| 83.33
    签名钥生成开销30 E25 E83.33
    签名生成开销194 P18 P9.28
    签名验证开销167 P8 P4.79
    注:|{\mathbb {G} }||{\mathbb {Z} }|分别表示群{ {\mathbb {G} }_i}和集合{\mathbb{Z}_p}中元素的长度;E和P分别表示1次幂指数运算和1次双线性对运算开销;指标比值是本文方案指标与Tang等人[10]方案指标的比值.
    下载: 导出CSV 
    | 显示表格

    比较结果表明:本文方案在数据长度和计算开销2方面性能都具有优势.

    ABS能提供灵活的隐私保护,在许多场景有重要应用.本文使用多线性映射构造了一个密钥策略的ABS方案,可支持一般电路作为访问结构.与同类方案相比,本文方案在安全性、访问结构表达力、数据长度和计算开销等方面都有明显优势.

    进一步研究的方向将是提出自适应选择消息且自适应选择属性攻击下存在不可伪造的方案,且在标准模型下证明其安全性.

    作者贡献声明:黄振杰负责方案设计、安全性证明和定稿;林志伟负责方案设计、性能分析和初稿撰写.

  • 图  1   一般电路示例

    Figure  1.   Example of general circuit

    表  1   符号释义

    Table  1   Symbols Interpretation

    符号含义
    \lambda 系统安全参数
    k多线性映射的级数
    p({2^{\lambda - 1}},{2^\lambda })中的素数
    {\mathbb{Z}_p}模素数p的整数集
    a{ \in _{R}}A从集合A中随机选取a
    { { \mathbb{G} }_i}乘法循环群
    {g_i}乘法循环群G_i 的生成元
    e多线性映射(含双线性映射)
    e(A)输入为A时多线性映射e的值
    f电路
    n电路的输入数
    q电路的门节点数
    \ell 电路的最大深度
    I电路的输入节点集
    G电路的门节点集
    N电路的节点集
    L\left( w \right)门节点w的左孩子
    R\left( w \right)门节点w的右孩子
    GT\left( w \right)门节点类型函数,输出w的门类型
    D\left( w \right)={i_w}节点w的深度
    \varOmega电路的输入
    f\left( \varOmega \right)输入为\varOmega时电路f的输出
    {f_w}\left( \varOmega \right)输入为\varOmegaf中门节点w的输出
    {W_w}\left( \varOmega \right)输入为\varOmegaf中节点w的权重
    [1,n]表示集合\left\{ {1,2, \cdots ,n} \right\}
    {\{ 0,1\} ^n}长度为n的比特串集合
    \{ 0,1\} ^*任意长度比特串的集合
    M消息
    \sigma 签名
    下载: 导出CSV

    表  2   方案性能比较

    Table  2   Performance Comparison of Schemes

    性质Tang等人[10]方案本文方案
    不可伪造性EUF-sA-sMAEUF-sA-CMA
    隐私性完善隐私性完善隐私性
    访问结构特殊电路一般电路
    下载: 导出CSV

    表  3   方案效率对比(m = 160)

    Table  3   Efficiency Comparison of Schemes with m Equals 160

    属性数n比较项Tang等人[10]方案本文方案指标比值%
    64主公钥大小449 |{\mathbb{G}}| 129 |{\mathbb{G}}| 28.73
    主私钥大小449 |{\mathbb{Z} }| 129 |{\mathbb{Z} }| 28.73
    签名钥大小285 |{\mathbb{G}}| 222 |{\mathbb{G}}| 77.89
    签名钥生成开销285 E222 E77.89
    签名生成开销2401 P1508 P62.81
    签名验证开销225 P66 P29.33
    6主公钥大小333 |{\mathbb{G}}| 13 |{\mathbb{G}}| 3.90
    主私钥大小333 |{\mathbb{G}}| 13 |{\mathbb{G}}| 3.90
    签名钥大小30 |{\mathbb{G}}| 25 |{\mathbb{G}}| 83.33
    签名钥生成开销30 E25 E83.33
    签名生成开销194 P18 P9.28
    签名验证开销167 P8 P4.79
    注:|{\mathbb {G} }||{\mathbb {Z} }|分别表示群{ {\mathbb {G} }_i}和集合{\mathbb{Z}_p}中元素的长度;E和P分别表示1次幂指数运算和1次双线性对运算开销;指标比值是本文方案指标与Tang等人[10]方案指标的比值.
    下载: 导出CSV
  • [1]

    Maji H, Prabhakaran M, Rosulek M. Attribute-based signatures[G] //LNCS 6558: Proc of the Cryptographers’ Track at the RSA Conf 2011. Berlin: Springer, 2011: 376−392

    [2]

    Shahandashti S, Safavi-naini R. Threshold attribute-based signatures and their application to anonymous credential systems[G] //LNCS 5580: Proc of the 2nd Int Conf on Cryptology in Africa. Berlin: Springer, 2009: 198−216

    [3]

    Li Jin, Au M, Susilo W, et al. Attribute-based signature and its applications[C] //Proc of the 5th Int Symp on Information, Computer and Communications Security (ASIACCS 2010). New York: ACM, 2010: 60−69

    [4]

    Herranz J, Laguillaumie F, Libert B, et al. Short attribute-based signatures for threshold predicates[G] //LNCS 7178: Proc of the Cryptographers’ Track at the RSA Conf 2012. Berlin: Springer, 2012: 51−67

    [5]

    Gagne M, Narayan S, Safavi-naini R. Short pairing-efficient threshold attribute-based signature[G] //LNCS 7708: Proc of the 5th Int Conf on Pairing-Based Cryptography. Berlin: Springer, 2012: 295−313

    [6]

    Gu Ke, Jia Weijia, Wang Guojun, et al. Efficient and secure attribute-based signature for monotone predicates[J]. Acta Informatica, 2017, 54(5): 521−541 doi: 10.1007/s00236-016-0270-5

    [7]

    Gu Ke, Wang Keming, Yang Lulu. Traceable attribute-based signature[J]. Journal of Information Security and Applications, 2019, 49: 1−13

    [8]

    Okamoto T, Takashima K. Efficient attribute-based signatures for non-monotone predicates in the standard model[G] //LNCS 6571: Proc of the 14th Int Conf on Practice and Theory in Public Key Cryptography. Berlin: Springer, 2011: 35−52

    [9]

    Okamoto T, Takashima K. Efficient attribute-based signatures for non-monotone predicates in the standard model[J]. IEEE Transactions on Cloud Computing, 2014, 8(3): 35−52

    [10]

    Tang Fei, Li Hongda, Liang Bei. Attribute-based signatures for circuits from multilinear maps[G] //LNCS 8783: Proc of the 17th Int Conf on Information Security. Berlin: Springer, 2014: 54−71

    [11]

    Sakai Y, Attrapadung N, Hanaoka G. Attribute-based signatures for circuits from bilinear map[G] //LNCS 9614: Proc of the 19th IACR Int Conf on Practice and Theory in Public-Key Cryptography. Berlin: Springer, 2016: 283−300

    [12]

    Kaafarani A, Katsumata S. Attribute-based signatures for unbounded circuits in the ROM and efficient instantiations from lattices[G] //LNCS 10770: Proc of the 21st IACR Int Conf on Practice and Theory of Public-Key Cryptography. Berlin: Springer, 2018: 89−119

    [13]

    Zhang Yanhua, Liu Ximeng, Hu Yupu, et al. Attribute-based signatures for inner-product predicate from lattices[G] //LNCS 11982: Proc of the 11th Int Symp on Cyberspace Safety and Security. Berlin: Springer, 2019: 173−185

    [14]

    Datta P, Okamoto T, Takashima K. Efficient attribute-based signatures for unbounded arithmetic branching programs[J]. IEICE Transactions on Fundamentals of Electronics Communications and Computer Sciences, 2021, E104. A(1): 25−57

    [15] Okamoto T, Takashima K. Decentralized attribute-based encryption and signatures[J]. IEICE Transactions on Fundamentals of Electronics Communications and Computer Sciences, 2020, E103. A(1): 41−73
    [16]

    Chen Xiaofeng, Li Jin, Huang Xinyi, et al. Secure outsourced attribute-based signatures[J]. IEEE Transactions on Parallel and Distributed Systems, 2014, 25(12): 3285−3294 doi: 10.1109/TPDS.2013.2295809

    [17]

    Mo Ruo, Ma Jianfeng, Liu Ximeng, et al. EOABS: Expressive outsourced attribute-based signature[J]. Peer-to-Peer Networking and Applications, 2018, 11(5): 979−988 doi: 10.1007/s12083-017-0626-9

    [18]

    Sun Jiameng, Su Ye, Qin Jing, et al. Outsourced decentralized multi-authority attribute based signature and its application in IoT[J]. IEEE Transactions on Cloud Computing, 2021, 9(3): 1195−1209 doi: 10.1109/TCC.2019.2902380

    [19]

    Huang Zhenjie, Lin Zhiwei, Chen Qunshan, et al. Outsourced attribute-based signatures with perfect privacy for circuits in cloud computing[J]. Concurrency and Computation: Practice and Experience, 2021, 30(10): e6173

    [20]

    Ren Yanli, Jiang Tiejin. Verifiable outsourced attribute-based signature scheme[J]. Multimedia Tools and Applications, 2018, 77(14): 18105−18115 doi: 10.1007/s11042-017-4539-7

    [21]

    Cui Hui, Deng R, Liu J, et al. Server-aided attribute-based signature with revocation for resource-constrained industrial-Internet-of-things devices[J]. IEEE Transactions on Industrial Informatics, 2018, 14(8): 3724−3732 doi: 10.1109/TII.2018.2813304

    [22]

    Xiong Hu, Bao Yangyang, Nie Xuyun, et al. Server-aided attribute-based signature supporting expressive access structures for industrial internet of things[J]. IEEE Transactions on Industrial Informatics, 2020, 16(2): 1013−1023 doi: 10.1109/TII.2019.2921516

    [23]

    Wang Zhiwei, Xie Ruirui, Wang Shaohui. Attribute-based server-aided verification signature[J]. Applied Mathematics & Information Sciences, 2014, 8(6): 3183−3190

    [24] 陈少真,王文强,彭书娟. 高效的基于属性的环签名方案[J]. 计算机研究与发展,2010,47(12):2075−2082

    Chen Shaozhen, Wang Wenqiang, Peng Shujuan. Efficient attribute-based ring signature schemes[J]. Journal of Computer Research and Development, 2010, 47(12): 2075−2082 (in Chinese)

    [25]

    Sun Changxia, Liu Yi, Zeng Xia, et al. Provable secure attribute-based proxy signature[J]. Journal of Intelligent & Fuzzy Systems, 2020, 38(1): 337−343

    [26]

    Song Yun, Li Zhihui, Li Yongming, et al. Attribute-based signcryption scheme based on linear codes[J]. Information Sciences, 2017, 417: 301–309

    [27] 李继国,朱留富,刘成东,等. 标准模型下证明安全的可追踪属性基净化签名方案[J]. 计算机研究与发展,2021,58(10):2253−2264

    Li Jiguo, Zhu Liufu, Liu Chengdong, et al. Provably secure traceable attribute-based sanitizable signature scheme in the standard model[J]. Journal of Computer Research and Development, 2021, 58(10): 2253−2264 (in Chinese)

  • 期刊类型引用(1)

    1. 李明祥,王洪涛. 基于属性的全同态签名方案. 武汉大学学报(理学版). 2024(06): 733-742 . 百度学术

    其他类型引用(1)

图(1)  /  表(3)
计量
  • 文章访问数:  130
  • HTML全文浏览量:  16
  • PDF下载量:  68
  • 被引次数: 2
出版历程
  • 收稿日期:  2021-09-08
  • 修回日期:  2022-04-18
  • 网络出版日期:  2023-02-10
  • 刊出日期:  2023-01-31

目录

/

返回文章
返回