1.格上多权威的密钥策略基于属性的加密方法,其特征在于,具体按照以下步骤实施:步骤1、系统建立,具体按照以下步骤实施:
步骤(1.1)、给定安全参数λ,设属性上界l,属性集记为[l]={1,2,…l};
步骤(1.2)、中心属性权威CA选择一个秩为n,维数为m>2nlogq的格,其中q>2是一个素数;
步骤(1.3)、中心属性权威CA选择均匀随机向量步骤(1.4)、中心属性权威CA公开全局公共参数GP={l,q,n,m,s};
λ
步骤(1.5)、对于每一个属性i(i∈[l]),属性i的权威利用陷门生成算法TrapGen(1)生成n×m维的矩阵Ai∈Zn×m以及随机均匀满秩的m维矩阵 使得 以及最后公开Ai∈Zn×m作为属性i的公钥,保存 作为属性i的私钥;
步骤(1.6)、中心权威CA公开Apk=({Ai}i∈[l])作为系统的公钥;
步骤2、密钥生成,具体按照以下步骤实施:
步骤(2.1)、首先输入公共参数GP、系统公钥Apk=({Ai}i∈[l])以及访问策略policy,中心权威CA利用线性秘密共享技术(LSSS),将访问策略policy转换成对应的线性秘密共享矩l×θ阵L∈Z ,指派线性秘密共享矩阵L的第i行对应属性i∈[l],这里的属性是指二元属性,列j∈[1,θ]是从1到θ的数,其中θ≤l是policy的函数, 对于二元属性列表 当且仅当Attrib′中属性对应的矩阵L的行所张成的行向量空间中包含向量[1,0,…0]∈Zθ时,二元属性列表 满足该访问策略L;
步骤(2.2)、中心权威CA随机选择向量 使得u1=(s1,u12,u13,…u1θ)T;u2=(s2,u22,…,u2θ)T…;ul=(sl,ul2,…,ulθ)T,其中s1,s2,…sl∈Zq是 的对应分量,ui,j∈Zq(i=1,…l;j=1,2,…,θ)是随机选择的,其中 包含在公共参数GP={l,q,n,m,s}中;
步骤(2 .3)、中心权威CA计算线性秘密共享矩阵L与向量ui的乘积,令其中L是访问策略policy的线性秘密共享生成矩阵;
步骤(2.4)、中心权威CA发送 给拥有属性i的权威,其中i=1,…l.;
步骤 (2 .5) 、拥有属性i的权威使用私钥 通过原像抽样算法抽取密钥 使得 其中
步骤(2.6)、属性i关于访问线性秘密共享矩阵L的解密密钥为 由上述步骤(2.5)知 根据原像抽样
算法 得到的 的概率分布统计接近于分布 且以
压倒性概率使得 成立;
步骤3、消息加密;
步骤4、消息解密。
2.根据权利要求1所述的格上多权威的密钥策略基于属性的加密方法,其特征在于,所述步骤3具体按照以下步骤实施:步骤(3.1)、输入属性公钥、属性列表 以及消息比特Msg∈{0,1},随机均匀选择向量步骤(3.2)、根据高斯噪声参数分布 随机选择低范数的高斯噪声标量χ0∈Zq,对于每一个属性Attribi∈Attrib根据参数分布 随机选择各分量间独立同分布的高斯噪声向量步骤(3.3)、根据属性列表Attrib构造向量 设置向量f的第i个分量为si,这里(1≤i≤l),其中si对应公共参数GP中s=(s1,s2,…,sl)T的第i个分量si,如果属性i包含在属性列表 中,即i∈Attrib;当属性i不被包含在属性列表 即 时,设置向量f的第i个分量为0;并且设置向量f的第i(l+1≤i≤n)个分量为0,这里(l+1≤i≤n);
步骤(3.4)、根据属性列表 加密消息比特Msg∈{0,1}得步骤(3.5)、最终输出密文为C=(C0,Ci),
3.根据权利要求1所述的格上多权威的密钥策略基于属性的加密方法,其特征在于,所述步骤4具体按照以下步骤实施:步骤(4.1)、输入密文C=(C0,Ci), 属性公钥Apk以及一组属性在访问策略policy下解密密钥usk,要求该组属性属于 且满足访问策略policy;
步骤(4.2)、找到向量g=(g1,…,gl)T∈{0,1}l使得gT·L=(1,0,…,0); (gi=0)∨((i∈Attrib)∧gi)≠0,即找到线性秘密共享矩阵L行的线性组合张成向量(1,0,…,0),其中属性列表Attrib满足policy;
步骤(4.3)、令usk={uski,i∈[l]∧i∈Attrib∧gi≠0},其中 是属性i的在访问策略policy下解密密钥;
步骤(4.4)、计算 如果gj=0,那么
步骤(4.5)、输出消息比特,如果 则输出0,否则输出1。