一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于区块链和网络表示学习推荐的项目管理方法与流程

2022-02-19 11:11:15 来源:中国专利 TAG:


1.本发明属于计算机领域,具体涉及一种基于区块链和网络表示学习推荐的项目管理方法。


背景技术:

2.网络和通信技术的飞速发展使得互联网得到了大规模应用,互联网服务应用极大方便了人们的生活和工作,推动着社会的进步和发展。各种软件项目开发的数量呈现出爆炸性的增长,但同时项目开发过程缺少管理方法,使得大多数项目开发周期长、成本高、维护难度大,这些问题不利于软件项目的开发。因此,利用推荐算法、区块链等新兴技术,构建一种基于区块链和网络表示学习推荐的项目管理方法,能够有效缓解项目开发过程中出现的问题。
3.网络表示学习把网络中每一个节点映射成一个低维稠密实数向量,不仅可以降低时间和空间上的计算开销,而且可以提升节点向量在各种网络分析任务中的性能,比如节点分类、链接预测、社区发现和网络重建等等。传统预测方法的不足即网络用邻接矩阵来表示,每个节点都对应一个高维稀疏向量。这种表示的缺点在于需要消耗大量的运行时间和计算空间,为了进一步提高网络表示效率,本发明提出基于网络表示学习的推荐算法,对特定项目推荐合适的开发人员。
4.区块链技术是指通过去中心化集体维护一个可靠数据库的技术,具有去信任、无中心、多方参与、可靠数据库等共识特征。区块链技术利用非对称加密技术实现区块数据的存储,利用分布式节点共识算法来生成和更新数据。采用分布式数据方法能够保证数据的安全存储,同时不需要依赖于全局可信的第三方,从而能够避免遭受集中的恶意攻击。因此,区块链的这些技术和特点为项目管理中出现的问题提供了解决方案。


技术实现要素:

5.为解决以上现有技术存在的问题,本发明提出了一种基于区块链和网络表示学习推荐的项目管理方法,该方法包括:获取当前项目信息,对当前项目信息进行预处理;将预处理后的信息输入到推荐模型中,得到推荐人员信息;根据推荐人员信息组建项目组,完成项目;
6.构建推荐模型的过程包括:
7.s1:获取历史项目信息和项目开发人员信息,根据获取的信息构建开发人员

开发人员网络;
8.s2:设置时间区间,根据设置的时间区间计算开发人员

开发人员网络中边的权重;
9.s3:根据开发人员

开发人员网络中边的权重采用网络表示学习推荐算法对各个历史项目信息和项目开发人员信息进行低维向量表示;
10.s4:计算项目信息低维向量和项目开发人员信息的低维向量的相似度分数,将相
似度分数上传的区块链网络中;
11.s5:根据得到的相似度分数构建开发人员推荐列表;
12.s6:采用哈希算法对开发人员推荐列表进行加密;并将加密后的数据存储在区块链网络中;
13.s7:采用基于属性加密的区块链数据溯源算法对存储在区块链中的数据进行溯源,得到项目开发的过程。
14.优选的,项目开发人员信息包括项目开发人员的使用记录,即项目u在时间点t由项目人员p参与开发的行为,项目开发人员的使用记录表示为<u,p,t>;项目信息包括项目概要,即项目概要du表示一个项目u的项目开发人员使用记录<u,p,t>的列表,该列表按照使用时间排序,数据集d是所有项目的项目概要的集合,d={du:u∈u}。
15.优选的,构建开发人员

开发人员网络的过程包括:根据项目开发人员信息和项目信息获取开发人员共现次数,获取的开发人员共现为给定一个时间区间δt,对于项目u的项目概要du列表中的每一对项目开发人员使用记录{<u,p
i
,t
i
>,<u,p
j
,t
j
>},若|t
i

t
j
|<δt,则该两个开发人员共现;根据开发人员共现次数构建开发人员

开发人员网络,该网络表示为g=(v,e),其中,g表示开发人员

开发人员网络的加权无向图,v表示网络的节点信息,e表示开发人员和开发人员之间的无向边,t
i
表示项目参与人员p
i
进行项目开发的时间。
16.优选的,开发人员

开发人员网络中边的权重的为:在项目概要du中,将每对开发人员在时间区间δt内的共现次数作为开发人员

开发人员网络中边的权重,开发人员之间所得到的共现次数就是他们之间的权重。
17.优选的,采用网络表示学习推荐算法对各个历史项目信息和项目开发人员信息进行低维向量表示的过程包括:
18.s31:将开发人员

开发人员网络中节点的邻边作为当前节点的上下文信息,即对于节点v
i
共有两个d维的低维向量表示:p
i
,p

i
∈r
d
;其中,p
i
表示节点作为本身的低维向量表示,p

i
表示节点作为上下文时的低维向量表示;
19.s32:获取开发人员

开发人员网络的加权无向图,加权无向图的边为<i,j>;计算由节点v
i
生成上下文v
j
的条件分布概率p(v
j
|v
i
);
20.s33:根据条件分布概率p(v
j
|v
i
)计算经验分布概率
21.s34:采用kl散度的方式最小化条件分布概率p(v
j
|v
i
)和经验分布概率得到最小化目标函数;
22.s35:采用负采样的方法对每条边<i,j>进行负采样,得到负采样最小化目标函数;
23.s36:采用异步随机梯度下降优化算法优化负采样后的目标函数;每一轮迭代中对网络的边进行采样,计算出梯度并更新模型参数;若边<i,j>在优化算法中被采样到,则需要计算节点v
i
本身的低维向量表示p
i
对目标函数的导数;
24.s37:根据项目u的历史项目开发人员使用记录和开发人员的低维向量表示获得项目在时间点t使用偏好的算法;
25.s38:根据项目在时间点t使用偏好的算法构建动态的项目使用人员使用偏好。
26.进一步的,动态的项目使用人员使用偏好表达式为:
[0027][0028]
其中,p
j
是开发人员j本身的低维向量表示,γ(.)是时间衰减函数。
[0029]
优选的,计算项目信息和开发人员的相似度分数的公式为:
[0030]
score(u
i
,p
j
)=u
i,j
.p
j
[0031]
其中,u
i,t
表示项目u
i
在时间t的低维向量表示,p
i
表示开发人员j的低维向量表示。
[0032]
优选的,构建开发人员推荐列表的过程包括:采用knn算法获得top

k的开发人员;
[0033]
s51:用欧氏距离计算输入测试数据与训练数据集的距离;
[0034]
s52:根据得到的距离大小,按升序排序;
[0035]
s53:取前k个距离最小的构建开发人员推荐列表。
[0036]
优选的,采用哈希算法对开发人员推荐列表进行加密的过程包括:
[0037]
s61:预处理:信息填充、将信息分割成m个处理块、为哈希设置初始化值;
[0038]
s62:哈希计算:将预处理完成的数据生成消息摘要,利用对应的哈希函数、相关常熟生成哈希值。
[0039]
优选的,采用基于属性加密的区块链数据溯源算法对存储在区块链中的数据进行溯源的过程包括:
[0040]
步骤1:系统初始化算法通过输入安全参数k和系统属性集u,输出系统公私钥对(pk,msk);
[0041]
步骤2:属性私钥生成算法通过输入系统私钥msk和用户属性集合s,输出用户的属性私钥sk;
[0042]
步骤3:加密算法通过输入明文m、策略更新者身份标识δ及访问控制策略(m,ρ),输出密文ct;其中,m表示访问矩阵,ρ表示映射函数;
[0043]
步骤4:输入密文ct以及关于用户属性集s的私钥sk;如果解密者的属性集s满足访问策略(m,ρ),则输出明文m,否则解密失败;
[0044]
步骤5:密文策略生成算法输入更新者身份δ、保留加密信息en(s)及新访问策略(m

,ρ

),输出新的策略密文{c

δ
,(c

i
,d

i
)
i∈[1,l

]
};其中,c

δ
表示含共享密钥部分,δ表示策略更新者身份标识,(c

i
,d

i
)表示含访问控制策略部分,l

表示访问矩阵m中的元素;
[0045]
步骤6:密文策略更新算法输入更新者身份签名消息<δ>及策略密文信息{c

δ
,(c

i
,d

i
)
i∈[1,l

]
}进行访问策略更新。
[0046]
本发明的有益效果:
[0047]
本发明采用基于网络表示学习的推荐算法对指定项目推荐合适的开发人员;利用区块链不可篡改的特性,并结合时间戳以及共识算法,使项目开发全过程能够安全、精准地记录在区块链中;利用基于属性加密的区块链数据溯源算法,实现对项目开发全过程可追溯,本发明具有良好的容错性和稳定性。
附图说明
[0048]
图1为本发明的一种基于区块链和网络表示学习推荐的项目管理方法的流程图;
[0049]
图2为本发明的项目概要信息图;
[0050]
图3为本发明的开发人员

开发人员网络结构图。
具体实施方式
[0051]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0052]
本发明采用基于网络表示学习的推荐算法对特定项目推荐开发人员;针对开发人员推荐时间的相关特性,首先构建开发人员网络,随后,基于历史项目开发人员使用情况记录和开发人员的低维向量表示,采用一种高效的获取动态的开发人员推荐的算法获取历史项目的低维向量表示,随后针对每个历史项目,利用历史项目和使用的开发人员的低维向量表示通过knn算法得到有序的开发人员推荐列表,并以此针对项目进行开发人员推荐;并且利用区块链的特性将项目开发的全过程记录在区块链上,包括项目和开发人员的相似度分数,进而使得项目开发的真实进度不能被篡改;根据区块链技术的特点设计溯源应用方案,采用单调张成方案完成访问结构向访问矩阵的转换,采用一种基于属性加密的区块链数据溯源算法,从而实现对项目开发过程的溯源。
[0053]
一种基于区块链和网络表示学习推荐的项目管理方法,该方法包括:获取当前项目信息,对当前项目信息进行预处理;将预处理后的信息输入到推荐模型中,得到推荐人员信息;根据推荐人员信息组建项目组,完成项目。
[0054]
构建推荐模型的过程包括:
[0055]
s1:获取历史项目信息和项目开发人员信息,根据获取的信息构建开发人员

开发人员网络;
[0056]
s2:设置时间区间,根据设置的时间区间计算开发人员

开发人员网络中边的权重;
[0057]
s3:根据开发人员

开发人员网络中边的权重采用网络表示学习推荐算法对各个历史项目信息和项目开发人员信息进行低维向量表示;
[0058]
s4:计算项目信息低维向量和项目开发人员信息的低维向量的相似度分数,将相似度分数上传的区块链网络中;;
[0059]
s5:根据得到的相似度分数构建开发人员推荐列表;
[0060]
s6:采用哈希算法对开发人员推荐列表进行加密;并将加密后的数据存储在区块链网络中;
[0061]
s7:采用基于属性加密的区块链数据溯源算法对存储在区块链中的数据进行溯源,得到项目开发的过程。
[0062]
一种基于区块链和网络表示学习推荐的项目管理方法的具体实施方式,如图1所示,该方法包括:
[0063]
s1、获取历史项目开发人员使用记录和项目概要,根据相应的项目开发人员使用记录统计出开发人员对之间的共现次数从而构建出开发人员

开发人员网络;
[0064]
s2、设定时间区间,计算出开发人员

开发人员网络中的边的权重;
[0065]
s3、基于网络表示学习算法通过开发人员

开发人员网络信息获取开发人员和项
目的低维向量表示,最终,计算开发人员和项目的低维向量表示的相关性,获取相似度分数,然后根据相似度分数进行推荐,相似度分数越高优先推荐;
[0066]
s4、基于区块链技术所采用的分布式存储结构,确保信息的真实性和完整性;
[0067]
s5、采用哈希算法,保证输出信息无法反推输入信息;
[0068]
s6、区块头部的merkle hash,保证交易信息永远无法修改,实现区块链不可篡改的特性;其中,merkle hash为merkle哈希认证树;
[0069]
s7、每个区块都记录了一系列的数据,并且每个区块利用时间戳,各个区块在时间上就会有序的进行排列都指向前一个区块从而形成一个链条;
[0070]
s8、根据区块链的特点设计基于区块链技术的项目完工管理系统溯源应用方案;
[0071]
s9、采用单调张成方案完成访问结构向访问矩阵的转换;
[0072]
s10、采用一种基于属性加密的区块链数据溯源算法,可对项目开发全过程溯源。
[0073]
获取历史项目开发人员使用记录和项目概要的过程包括:
[0074]
s11、当给定所有的使用集合,对于每个项目都构造出当前项目的项目概要du,获取所有的项目概要d;
[0075]
具体的,项目开发人员信息包括项目开发人员的使用记录,即项目u在时间点t由项目人员p参与开发的行为,项目开发人员的使用记录表示为<u,p,t>;项目信息包括项目概要,即项目概要du表示一个项目u的项目开发人员使用记录<u,p,t>的列表,该列表按照使用时间排序,数据集d是所有项目的项目概要的集合,d={du:u∈u}。
[0076]
s12、根据相应的项目开发人员使用记录统计出开发人员对之间的共现次数,从而构建出开发人员-开发人员网络。
[0077]
具体的,如图3所示,构建开发人员

开发人员网络的过程包括:根据项目开发人员信息和项目信息获取开发人员共现次数,获取的开发人员共现为给定一个时间区间δt,对于项目u的项目概要du列表中的每一对项目开发人员使用记录{<u,p
i
,t
i
>,<u,p
j
,t
j
>},若|t
i

t
j
|<δt,则该两个开发人员共现;根据开发人员共现次数构建开发人员

开发人员网络,该网络表示为g=(v,e),其中,g表示开发人员

开发人员网络的加权无向图,v表示网络的节点信息,e表示开发人员和开发人员之间的无向边。
[0078]
如图2所示,设置时间区间δt为30天,在构建开发人员—开发人员网络的过程中,分析项目概要中每个开发人员在时间区间内δt的共同项目开发人员参与开发记录,从而获得开发人员

开发人员中边的权重,举例来说,项目2和项目3均在三十天内同时使用了开发人员1和开发人员2,因此在开发人员

开发人员网络中,开发人员1和开发人员2对应节点的边的权重为2,而对于开发人员1和开发人员3而言,虽然项目1和项目2都使用过开发人员1和开发人员3,但是项目2使用开发人员1和开发人员3的时间差超过了30天,因此,开发人员1和开发人员3之间的共现次数仅为1次,对应在开发人员

开发人员网络中的权重为1。
[0079]
在获取开发人员

开发人员网络后利用网络表示学习的相关算法获取开发人员的低维向量表示,假定项目的开发人员推荐是时间相关的,也即项目的开发人员推荐是动态的,会随着时间而产生变化,利用项目u的历史开发人员使用记录和开发人员的低维向量表示可以获得项目在时间点t的开发人员推荐。
[0080]
本实施例对步骤s3进一步说明,包括以下步骤:
[0081]
s31、利用节点的邻边作为当前节点的上下文信息,若两个节点的上下文信息比较
接近,则这两个节点相似。对于节点v
i
,共有两个d维的低维向量表示:p
i
,p

i
∈r
d
。r
d
是d维向量空间,p
i
表示节点作为本身的低维向量表示,p

i
表示节点作为上下文时的低维向量表示。
[0082]
s32、定义对于每一个边<i,j>,由节点v
i
生成上下文v
j
的条件概率,利用softmax函数获得:
[0083][0084]
其中,v
j
表示第j个节点,v
i
表示第i个节点,p
i
表示v
i
节点作为本身的低维向量表示,|v|表示节点个数,p

j
表示v
j
节点作为上下文时的低维向量表示,t表示转置。
[0085]
s33、若两个节点的上下文分布比较近似,则这两个节点比较相似。由此,条件分布p(
·
|v
i
)尽可能地接近其经验分布经验分布可定义为:
[0086][0087]
其中,w
i,j
表示边<i,j>的权重,d
i
表示v
i
节点的度,n(i)表示与节点v
i
相邻的节点。
[0088]
s34、采用最小化这两种分布的kl散度的方式,以保证条件分布p(
·
|vi)和其经验分布尽可能接近。最小化如下目标函数:
[0089][0090]
其中,λ
i
表示节点v
i
在整个网络中的重要程度,d
kl
表示kl散度表达式,v表示节点的集合。
[0091]
消掉常数项进行化简得到如下目标函数:
[0092][0093]
其中,e表示开发人员和开发人员之间的无向边。
[0094]
s35、引入负采样的方法,对每个边<i,j>都根据噪音分布采样几个负边,以此降低时间消耗。对应的目标函数进行负采样后可以转化为:
[0095][0096]
其中,σ(.)是sigmoid函数,可以表示成的形式;k是每条边负采样的数目,p
n
(v)是噪音的分布函数。在目标函数中噪音的分布函数设置为p
n
(v)

(d
v
)
0.75
,d
v
表示节点v的度,v
n
表示节点n,表示数学期望。其含义是每采样开发人员网络中的一条边<i,j>作为正样本,然后从噪音分布p
n
(v)采样k个开发人员节点n,组成k个负样本<i,n>。使用正样本和负样本对目标函数进行优化。
[0097]
s36、针对每一条边使用异步随机梯度下降(asgd)的优化算法优化负采样后的目标函数。每一轮迭代都会采样少量几个网络中的边,算出梯度并更新模型参数。如果边<i,j>在优化算法中被采样到,则需要计算节点v
i
本身的低维向量表示p
i
对目标函数的导数,导
数是边<i,j>的权重w
i,j
和条件概率导数的乘积;计算可得导数如下:
[0098][0099]
s37、在优化的过程中利用加权随机采样的方式,根据边权重的大小获得随机采样的概率大小。在实际的实现中,使用别名表的方式以o(1)的时间复杂度可以获得加权随机采样得到的采样结果。
[0100]
s38、使用一种利用项目u的历史项目开发人员使用记录和开发人员的低维向量表示获得项目在时间点t使用偏好的算法,这种算法的时间复杂度和项目曾经使用的项目开发人员数目成线性相关,这样可以进行开发人员推荐。
[0101]
利用一个d维的向量表示项目的开发人员使用偏好:
[0102]
u
i,t
∈r
d
[0103]
其中,u
i,t
表示项目u
i
在时间t的偏好对应的低维向量表示,项目的向量表示和开发人员的向量表示都是d维,两者在相同的向量空间中。
[0104]
s39、获取项目u
i
在时间t使用的项目开发人员集合,利用时间衰减函数,保证在不同时间点使用的开发人员对项目的开发人员使用偏好影响不同,且距离时间越近使用的开发人员对项目的开发人员使用偏好影响越大。
[0105]
s310、项目概要du是一个按照项目u使用时间t排序的项目开发人员使用记录列表,因此,可以形式化的表示时间相关的动态的项目使用人员使用偏好为:
[0106][0107]
其中,p
j
是开发人员j本身的低维向量表示,γ(.)是时间衰减函数.时间衰减函数γ(t

t
i
)是一个单调递减的函数,也即随着时间差t

t
i
的增加,函数γ(t

t
i
)的值将会减小。
[0108]
为保证时间衰减函数的单调性,利用截断的高斯分布密度函数作为时间衰减函数:
[0109][0110]
其中,σ表示常数参数,为固定值。
[0111]
s311、对于项目u未使用过的开发人员集合中的开发人员均计算出一个分数,这个分数是衡量开发人员和项目u之间的相似度,然后,选择前k个和项目最相关的开发人员推荐给当前的项目,定义开发人员和项目之前的相关性分数为:
[0112]
score(u
i
,p
j
)=u
i,j
.p
j
[0113]
其中,u
i,t
是项目u
i
在时间t的低维向量表示,p
i
是开发人员j的低维向量表示。
[0114]
s312使用l2正则化的方式使得开发人员和项目的低维向量长度均为1,即
[0115]
|u
i,t
|=1,|p
j
|=1
[0116]
s313、利用knn的方法对获取的相关性分数进行排序,得到最适合该项目的开发人员。
[0117]
本实施例对步骤s9进一步说明,包括以下步骤:
[0118]
s91、对于系统属性a,b,c,d及其访问结构f=(a∩(b∪(c∩d)))方案首先将



格式化为
″2″
、将



格式化为
″1″
,然后将属性元素自左向右依次展开。
[0119]
s92、(a∩b)格式化为(a,b,2),表示在属性a,b中需满足2个;(c∪d)格式化为(c,d,1)表示在属性c,d中需满足1个。则f格式化为l=(a,(b,(c,d,2),1)2),访问结构l转换为访问矩阵m的详细过程如表1所示。若f更新f

=(a∩(b∪(c∩d∩e))),则l更新为l

=(a,(b,(c,d,e,3),1),2),更新后的访问矩阵m

的转换过程如表2所示。
[0120][0121]
表1原访问结构与访问矩阵转换
[0122][0123][0124]
表2更新后的访问结构与访问矩阵转换
[0125]
s93、根据线性秘密共享方案,对于满足访问结构f的授权集s={a,c,d}在访问策略(m,ρ)中可以找到一组向量{w
i
}
ρ(i)∈s
={2,2,1},使∑
ρ(i)∈s
wimi=(1,0,0)。同理也可以得到更新后的访问结构f

从而找到向量。其中,w
i
表示一组向量,ρ(i)表示映射函数,将矩阵m的第i行映射到属性,m
i
表示访问矩阵m的第i行。
[0126]
本实施例对步骤s10进一步说明,包括以下步骤:
[0127]
s101、setup(k,u)

(pk,msk)。系统初始化算法通过输入安全参数k和系统属性集u,输出系统公私钥对(pk,msk)。setup表示系统初始化算法。
[0128]
设g1为q阶循环群,g为g1的生成元,双线性映射e:g1×
g1→
g2。随机选择α,β∈z及群g1的元素h1,h2,...,h
u
,其中{1,2,...,u}表示属性集u中对应的属性标号,输出系统密钥对(pk,msk)为pk={g,e(g,g)
α
,g
β
,h1,h2,...,h
u
};msk=g
α
。其中,pk表示系统主公钥,msk表示系统私钥,g表示g1的生成元,α,β均为随机选择的整数,e(g,g)
α
表示双线性映射,g
β
表示g1生成元的β次方。
[0129]
s102、keygen(msk,s)

sk。属性私钥生成算法通过输入系统私钥msk和用户属性集合s,输出用户的属性私钥sk。用户属性s={x1,x2,...,x
n
},选择随机参数t∈z
p
,输出用户的属性私钥sk为sk={k=g
α
,g
βt
,l=g
t
,,keygen表示属性私钥生成算法,k表示系统私钥,z
p
表示随机参数集合,g
βt
表示g1生成元的βt次方,l表示用户属性私钥的元素,g
t
表示g1生成元的t次方,k
x
表示用户属性私钥的元素,表示g1的元素h
x
的t次方。
[0130]
s103、encrypt(m,δ,(m,ρ))

ct。加密算法通过输入明文m、策略更新者身份标识δ及访问控制策略(m,ρ),输出密文ct。加密算法选择随机向量生成密文信息(c,c
δ
),以λ
i
=vm
i
表示秘密共享密钥份额,随机选取r∈z
p
在密文中添加附加信息(c
i
,d
i
)i∈[1,l]作为访问控制策略。创建密文ct为ct={c=me(g,g)
αsδ
,c
δ
=g

,,其中,v表示随机向量,s表示随机向量v的列向量,t
n
表示随机向量v的列向量,c表示密文ct的含明文部分,c
δ
表示密文ct的含共享密钥部分,r表示选取的随机参数,(c
i
,d
i
)表示密文ct的含访问控制策略部分,m表示访问矩阵,ρ表示映射函数,g
βλiδ
表示g1生成元的βλiδ次方,i表示1到l的整数,l表示访问矩阵的行数。
[0131]
s104、decrypt(ct,sk)

m。输入密文ct以及关于用户属性集s的私钥sk。如果解密者的属性集s满足访问策略(m,ρ),则输出明文m,否则解密失败;其中,decrypt表示解密算法。根据单调张成方案和线性秘密共享方案可得解密计算式为
[0132][0133]
其中,i表示索引集{i:ρ(i)∈s},其中s是用户属性集,l表示访问结构,w
i
表示一组向量。
[0134]
最终得到密文信息m=c/e(g,g)
αsδ

[0135]
s105、accgen(en(s),δ,m

,ρ

))

{c

δ
,(c

i
,d

i
)}。密文策略生成算法输入更新者身份δ、保留加密信息en(s)及新访问策略(m

,ρ

),输出新的策略密文{c

δ
,(c

i
,d

i
)
i∈[1,l

]
}。密文策略生成算法通过更新者身份δ对en(s)解密获取s

作为第一个输入值,根据新访问策略(m

,ρ

)选择随机向量计算λ

i
=v

m

i
。然后随机选取r

∈z
p
,对i∈[1,l

]计算更新后的策略密文信息为c

δ
=g
s

δ
,d

i
=g
r

i
。其中,accgen表示密文策略生成算法
[0136]
s106、accupdate(<δ>,c

δ
,(c

i
,d

i
)
i∈[1,l

])

ct

。密文策略更新算法输入更新者
身份签名消息<δ>及策略密文信息{c

δ
,(c

i
,d

i
)
i∈[1,l

]
},进行访问策略更新。验证输出更新后的密文ct

={c

δ
,(c

i
,d

i
)
i∈[1,l

]
}。其中,accupdate表示密文策略更新算法。
[0137]
以上所举实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献