[发明专利]一种验证数据传输完整性的方法及系统有效
申请号: | 202111171129.5 | 申请日: | 2021-10-08 |
公开(公告)号: | CN114006733B | 公开(公告)日: | 2023-10-20 |
发明(设计)人: | 陈明志;张瑞;翁才杰;许春耀;翁齐昌;黄小丽;叶城 | 申请(专利权)人: | 北卡科技有限公司 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;H04L9/32 |
代理公司: | 福州君越知识产权代理事务所(普通合伙) 35299 | 代理人: | 梁锦平 |
地址: | 350100 福建省福州市高新*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 验证 数据传输 完整性 方法 系统 | ||
1.一种验证数据传输完整性的方法,其特征在于,包括:
数据发送端计算待进行传输的目标数据的完整性验证码;
将完整性验证码与所述目标数据进行捆绑,将捆绑后的数据发送至目标数据接收端;
所述接收端接收所述数据,提取验证码;
所述数据接收端基于提取的验证码与计算得到的验证码对所述目标数据的完整性进行验证。
2.根据权利要求1所述的方法,其特征在于,所述将完整性验证码与所述目标数据进行捆绑,包括:
通过SM3摘要算法计算目标数据的完整性验证码Hash;其中,所述完整性验证码Hash的数据长度为H字节,所述目标数据的实际长度为P字节;
计算采用可逆隐藏方法将完整性验证码Hash嵌入载体数据时所需的载体数据最小长度M字节,其中,M=L,L为载体数据的理论上的最大长度;
当P≤M时,将验证码Hash的H字节直接拼接在目标数据之后,此时得到拼接后的数据长度为:P+H;
当P>M时,
若L-P>2*H+B,则将验证码Hash的H字节直接拼接在目标数据之后,此时得到的拼接后的目标数据长度为:P+H;其中,B为目标数据中填充数据的个数,B∈[8,255];
若H+B<L-P≤2*H+B,则先将验证码Hash的H字节拼接于目标数据之后,再在尾部填充B个字节B,此时得到的拼接后的数据长度为:P+H+B;
当0≤L-P≤H+B时,采用可逆信息隐藏方法将验证码Hash的H字节隐藏于目标数据中,此时得到的捆绑后的数据长度不变。
3.根据权利要求1或2所述的方法,其特征在于,所述接收端接收所述数据,提取验证码,包括:
当P≤M+H时,截取数据尾部的H个字节为验证码Hash,得到原目标数据的长度为P-H;
当P>M+H时,
若L-P>H+B,则截取数据尾部的H字节为验证码Hash,得到原目标数据的长度P-H;
若H<L-P≤H+B或L-P=0,则采用可逆信息隐藏方法提取H个字节的验证码Hash,并恢复原目标数据,P值不变;
若0<L-P≤H,则获取数据最末尾的一个字节B:
如果尾部B个字节不全为B,则采用可逆信息隐藏的方法提取H个字节的验证码Hash,并恢复原目标数据,P值不变;
如果尾部B个字节全为B,截取尾部H+B个字节,前H个字节作为验证码Hash,原目标数据的长度为P-H-B。
4.根据权利要求3所述的方法,其特征在于,所述数据接收端基于提取的验证码与计算得到的验证码对所述目标数据的完整性进行验证,包括:
计算原目标数据的验证码hash,并与提取的验证码Hash进行比较,如果相同,则表明数据完整,如果不同,则表明数据不完整。
当0<L-P≤H时,如果尾部B个字节全为B,如果计算结果为数据不完整,则重新对接收的数据进行可逆信息隐藏提取H个字节的验证码Hash,并恢复数据,数据长度不变,再次计算数据的验证码hash,并与提取的验证码Hash进行比较,如果相同,则表明数据完整,如果不同,则表明数据不完整。
5.一种验证数据传输完整性的系统,其特征在于,所述系统,包括:
数据发送端,用于计算待进行传输的目标数据的完整性验证码;
将完整性验证码与所述目标数据进行捆绑,将捆绑后的数据发送至目标数据接收端;
数据接收端,用于接收所述数据,提取验证码;
所述数据接收端基于提取的验证码与计算得到的验证码对所述目标数据的完整性进行验证。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1-5任一所述的验证数据传输完整性的方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北卡科技有限公司,未经北卡科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111171129.5/1.html,转载请声明来源钻瓜专利网。