System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于ZSS的线性网络编码签名方法技术_技高网

一种基于ZSS的线性网络编码签名方法技术

技术编号:40963331 阅读:4 留言:0更新日期:2024-04-18 20:42
本发明专利技术提出一种基于ZSS的线性网络编码签名方法,线性网络的源节点先将待签名文件分割成若干个文件块,并表示成一个素域上的k维向量,之后通过增广来转换为一组线性无关的向量,再对以该组向量为基生成的子空间进行签名,生成子空间的标签及对每个基向量的签名,并把标签,每个基向量及其签名装载到一个数据包,发送给下游节点;由中间路由或信宿节点在接收到数据包后对来自同一源节点的数据包进行签名验证;然后中间路由会将所有通过验证的数据包进行线性组合,形成新的数据包发送给下游节点;当信宿节点收到达到预定量且通过验证的数据包后,解析出源节点发送的原始数据;本发明专利技术能保障数据在传输过程中的完整性和真实性,同时提升了计算效率。

【技术实现步骤摘要】

本专利技术涉及信息安全中的数据认证,尤其是一种基于zss的线性网络编码签名方法。


技术介绍

1、随着通信网络的不断发展和创新,网络编码已成为一项重要的网络通信技术,广泛地应用于无线通信,卫星通信,移动边缘计算,云存储和分布式系统等。网络编码技术可以提高数据传输的可靠性和容错性。网络编码技术允许网络节点在转发信息前对传输的信息内容进行编码处理,从而有效提高网络吞吐量和增强网络稳定性。然而,基于网络编码技术的通信网络容易受到污染攻击。污染攻击是指攻击者入侵一些网络节点,恶意地把篡改或伪造后的信息注入到网络中。这些被注入的错误信息经中间路由编码转发后,在网络中迅速传播造成大面积污染而导致信宿节点不能正确接收真实的信息。

2、为了解决网络编码中的污染攻击问题,boneh和freeman在2009年公钥密码会议上首次提出了线性同态签名的概念。与传统的数字签名以单个消息为签名单位不同,线性同态签名是对一个向量子空间进行签名。它要求将待签名的文件分割成若干个文件块{m′1,m′2,...,m′n},并表示成一个素域上的k维向量m′i=(m′i1,m′i2,...,m′ik),之后进行增广,变成一组线性无关的向量{m1,m2,...,mn};对以该组向量为基生成的子空间v进行签名,生成子空间的标签τ及对每个基向量的签名{σ1,σ2,...,σn},并把标签,每个基向量及其签名装载到一个数据包,发送给下游节点;中间路由或信宿节点在接收到数据包后对来自同一源节点的数据包进行签名验证;中间路由会把验证为假的数据包丢弃,而将所有通过验证的数据包进行线性组合,形成新的数据包发送给下游节点。这样一来,不仅信宿节点可以过滤掉被损坏的数据包,并在拥有达到预定量且通过验证的数据包之后可以解析出源节点发送的原始数据,中间节点也可以对收到的数据包进行验证,并将被污染的数据包丢弃,从而有效预防污染攻击。

3、目前已经有很多关于线性同态签名的研究,大多数方案都是基于具有同态特性的rsa签名或bls签名构造的。rsa签名和bls签名是密码学领域中最常用的两种签名机制。rsa签名是基于rsa算法的数字签名方案,其安全性主要取决于密钥长度的选择。在rsa签名中,密钥长度越长,安全性越高,但相应地,签名的长度也会增加,运算速度会变慢。而bls签名是一种基于椭圆曲线密码学的短消息签名机制。在相同的安全条件下,与rsa签名相比,bls签名生成的签名长度更短。例如,当模数的位数为1024bits时,rsa的签名长度是1024bits,而bls的签名长度大约是160bits。bls签名机制生成的签名之所以短,不仅是因为它使用了双线性运算,可以将多个签名进行聚合生成一个更短的签名,还采用了一种特殊的哈希函数,即maptopoint函数,将输入值映射为椭圆曲线上的一个点。这种哈希函数的设计充分利用了椭圆曲线的特性,使得签名长度得以大幅减小。然而,双线性配对运算是密码算法中最耗时的运算之一。此外,对于特定的椭圆曲线和哈希函数,maptopoint函数可能需要进行多次计算和搜索,才能找到满足特定条件的点。由于maptopoint函数是概率性的,在找到满足条件的点中存在一定的失败率。尽管已有学者尝试提高maptopoint函数的效率,但提高其效率仍然是一个具有挑战性的问题。因此,如果有一个线性同态签名方案既能保证短签名的特性,又能减少双线性配对和maptopoint哈希函数的使用,那么其计算效率可以得到明显提升。


技术实现思路

1、本专利技术提出一种基于zss的线性网络编码签名方法,能保障数据在传输过程中的完整性和真实性,在解决网络编码中的污染攻击问题及在确保短签名的前提下不仅减少了双线性配对运算,还消除了maptopoint哈希函数的使用。

2、本专利技术采用以下技术方案。

3、一种基于zss的线性网络编码签名方法,所述方法中,线性网络的源节点先将待签名文件分割成若干个文件块,并表示成一个素域上的k维向量,之后通过增广来转换为一组线性无关的向量,再对以该组向量为基生成的子空间进行签名,生成子空间的标签及对每个基向量的签名,并把标签,每个基向量及其签名装载到一个数据包,发送给下游节点;由中间路由或信宿节点在接收到数据包后对来自同一源节点的数据包进行签名验证;然后中间路由会将所有通过验证的数据包进行线性组合,形成新的数据包发送给下游节点;当信宿节点收到达到预定量且通过验证的数据包后,解析出源节点发送的原始数据。

4、所述方法具体包括以下步骤;

5、步骤一、生成系统参数,具体为:

6、输入安全参数λ和大整数n,参数生成器生成系统参数并广播给系统用户,其中是阶为大素数q的循环群,是一个非对称双线性映射,是一个同构映射,g是群的随机生成元,g1,···,gn是群中的元素,h是群的随机生成元,是两个抗碰撞的哈希函数;

7、步骤二、生成用户密钥,具体为:

8、用户u首先从素域中随机选取一个元素,并计算对其的承诺,最后设置自己的私钥sk和对应的公钥pk;

9、步骤三、生成签名,具体为:

10、用户u首先对待签名文件m进行预处理,将文件m分成n块{m′1,m′2,...,m′n},每块表示成k维向量接下来进行增广,使其成为线性无关的n+k维向量依次给每个向量后附加n维单位向量e1,e2,...,en中的一个,其中ei=(vi(k+1),...,vi(k+n));增广后的向量组生成的n维子空间记为v;然后,用户u随机选择vid∈{0,1}*作为子空间的唯一标识符,计算子空间v的标签τ,并使用自己的私钥对子空间v中基向量{m1,m2,...,mn}的每一个向量进行签名;最后,用户u作为源节点,将子空间标签τ,向量mi及其对应的签名σi封装到一个数据包中,并发送给下游节点;增广后的向量最大维数不超过n;

11、步骤四、签名验证,具体为:

12、中间路由或信宿节点首先验证所收到的数据包中子空间标签τ的有效性,如果τ无效,那么该数据包并非由源节点发送的,否则继续验证对其向量签名;如果向量签名没有通过验证,则该数据包是被污染的假数据包,将其丢弃,否则该数据包是正确的数据包,通过验证;对于信宿节点而言,只有接收到达到预定量的正确的数据包,才能够解析出源节点发送的原始数据;

13、步骤五、导出签名,具体为:

14、中间路由对所有收到的数据包进行验证后,将来自同一源节点且通过验证的数据包进行任意的线性组合,导出同一子空间中另一向量及其对应的签名并将其与子空间标签τ一起合成新的数据包转发给下一个节点。

15、所述步骤二中用户密钥按照如下方式生成:根据系统参数用户u从素域中随机选取一个元素x作为自己的私钥sk,并计算对应的公钥

16、所述步骤三中按照如下方式生成签名:

17、步骤3.1、用户u首先将待签名文件m分割分成n块{m′1,m′2,...,m′n},每块表示成k维向量1≤i≤n;

18、步骤3本文档来自技高网...

【技术保护点】

1.一种基于ZSS的线性网络编码签名方法,其特征在于:所述方法中,线性网络的源节点先将待签名文件分割成若干个文件块,并表示成一个素域上的k维向量,之后通过增广来转换为一组线性无关的向量,再对以该组向量为基生成的子空间进行签名,生成子空间的标签及对每个基向量的签名,并把标签,每个基向量及其签名装载到一个数据包,发送给下游节点;由中间路由或信宿节点在接收到数据包后对来自同一源节点的数据包进行签名验证;然后中间路由会将所有通过验证的数据包进行线性组合,形成新的数据包发送给下游节点;当信宿节点收到达到预定量且通过验证的数据包后,解析出源节点发送的原始数据。

2.根据权利要求1所述的一种基于ZSS的线性网络编码签名方法,其特征在于:所述方法具体包括以下步骤;

3.根据权利要求2所述的一种基于ZSS的线性网络编码签名方法,其特征在于:所述步骤二中用户密钥按照如下方式生成:根据系统参数用户U从素域中随机选取一个元素x作为自己的私钥sk,并计算对应的公钥

4.根据权利要求2所述的一种基于ZSS的线性网络编码签名方法,其特征在于:所述步骤三中按照如下方式生成签名

5.根据权利要求2所述的一种基于ZSS的线性网络编码签名方法,其特征在于:所述步骤四中按照如下方式进行签名验证:

6.根据权利要求2所述的一种基于ZSS的线性网络编码签名方法,其特征在于:所述步骤五中按照如下方式导出签名:

7.根据权利要求1、2、3、4、5或6所述的一种基于ZSS的线性网络编码签名方法,其特征在于:所述方法中的符号及定义具体说明如下:

...

【技术特征摘要】

1.一种基于zss的线性网络编码签名方法,其特征在于:所述方法中,线性网络的源节点先将待签名文件分割成若干个文件块,并表示成一个素域上的k维向量,之后通过增广来转换为一组线性无关的向量,再对以该组向量为基生成的子空间进行签名,生成子空间的标签及对每个基向量的签名,并把标签,每个基向量及其签名装载到一个数据包,发送给下游节点;由中间路由或信宿节点在接收到数据包后对来自同一源节点的数据包进行签名验证;然后中间路由会将所有通过验证的数据包进行线性组合,形成新的数据包发送给下游节点;当信宿节点收到达到预定量且通过验证的数据包后,解析出源节点发送的原始数据。

2.根据权利要求1所述的一种基于zss的线性网络编码签名方法,其特征在于:所述方法具体包括以下步骤;

3.根据权利...

【专利技术属性】
技术研发人员:张福泰田金梅杨文杰黄奕炽
申请(专利权)人:福建师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1