无线传感器网络中基于校验码的数据可靠性保护方法_2

文档序号:9353343阅读:来源:国知局
数据;
[0039] 3)若接收数据有误,则根据步骤五中分离字符二进制数串sepchar_binstr及步 骤五中分离重要程度二进制数串sepimport_binstr,以每7位字符二进制数串尾随1位重 要二进制数串的方式,生成待校验二进制数串waitcheck_binstr;
[0040] 4)根据待校验二进制数串waitcheck_binstr,以每15字符为一组的方式进 行分组,得到分组待检验二进制数串groupwaitcheck_binstr,即waitcheck_binstr= Egroupwaitcheck_binstr;
[0041] 5)根据分组待检验数据groupwaitcheck_binstr,利用步骤二中校验数计算公 式,可得每个分组所相应的校验数groupwaitchecknum;
[0042] 6)根据每个字符分组所得到的校验数groupwaitchecknum,以每个校验数用相应 4位二进制数替换的方式,生成校验码二进制数串groupfinishcheck_binstr;
[0043] 7)根据校验码二进制数串groupfinishcheck_binstr、步骤五中分离校验码二进 制数串sepcheck_binstr及步骤五中分离重要程度二进制数串sepimport_binstr,利用信 任度计算算法,计算出信任度X。fg任度计算算法如下:
[0044]
[0045]
Outputs [/];//输出信任度
[0046] 8)根据计算出信任度X和预存信任度阈值Y,若X不小于Y,则数据被破坏的影响 程度不大,且可靠性在可接受范围内,根据步骤五中分离字符二进制数串sepchar_binstr, 以在每7位之前添加1位0的方式还原字符ASCII码,并由此还原数据,否则丢弃该数据。
[0047] 与现有技术相比,本发明的有益效果是:本发明主要针对无线传感器网络中的数 据完整性和可靠性,提出了一种基于校验码的数据可靠性保护方法。本发明将数字水印技 术和校验码技术相结合,形成一个高效的数据安全保障算法,能判断出在任何情况下的数 据是否丢失或窜改,从而保证数据的正确可靠。本发明在数据有误的情况下,可根据预存数 据特征码和信任度阈值,结合数据实际情况,计算出数据信任度,若高于预存阈值,则还原 数据信息,有效地避免了重发,起到节约耗能的作用,延长了网络的生命周期。
【附图说明】
[0048] 图1是本发明中源节点数据处理过程流程图;
[0049] 图2是本发明中基站节点数据处理过程流程图;
[0050] 图3是本发明中源节点嵌入水印和校验码过程示意图;
[0051] 图4是本发明中基站节点在无数据破坏的情况下验证及还原数据过程示意图;
[0052] 图5是本发明中基站节点在有数据破坏的情况下验证及还原数据过程示意图。
【具体实施方式】
[0053] 下面将结合本发明实施例及附图,对本发明实施例中的技术方案进行清楚、完整 地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本 发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实 施例,都属于本发明保护的范围。
[0054] 请参阅图1和图2,本发明实施例中,一种无线传感器网络数据中基于校验码的数 据可靠性保护方法,其特征在于,所述的无线传感器网络中设有若干个传感器节点,所述传 感器节点分为基站节点和源节点,均在其可通信范围内,基站节点中预设信任度阈值Y及 源节点中预存数据特征码;
[0055] 一、数据生成步骤如下:
[0056] 1)每个源节点向其周围采集数据;
[0057] 2)根据采集数据,以每两个字符为一个字符分组的方式进行分组,并将采集数据 与预存数据特征码对比,得其相应1位重要程度布尔值(1代表重要、〇代表不重要);
[0058] 3)根据采集数据,以去除每字符所对应8位二进制数首位冗余0的方式进行优化, 即每个字符表示为7位二进制数;
[0059] 4)根据每个字符分组,将其相应1位重要程度布尔值存于分组后面,生成15位字 符分组二进制数串group_binstr;
[0060] 5)根据分组二进制数串group_binstr,将所有字符分组二进制数串合并,生成字 符二进制数串char_binstr=Egroup_binstr;
[0061] 二、校验码生成步骤如下:
[0062] 1)根据步骤一中生成的字符分组二进制数串group_binstr,利用校验数计算公 式,可得每个字符分组所相应的校验数groupchecknum。所述校验数计算公式如下:
[0063]
[0064] 其中groupchecknum表示字符分组二进制数串所相应的校验数,Weight表示字符 权值,CharNum表示校验数集;
[0065]2)根据每个字符分组所相应的校验数groupchecknum,以每个校验数用相应4位 二进制数替换的方式,生成相应校验码二进制数串groupcheck_binstr;
[0066] 三、水印生成步骤如下:
[0067] 1)根据步骤一中的字符分组二进制数串group_binstr和步骤二中相应的校验码 二进制数串groupcheck_binstr,合并成链接二进制数串mergegroup_binstr= {group_ binstr,groupcheck_binstr};
[0068] 2)根据链接二进制数串mergegroup_binstr,将所有字符分组链接二进制数串 mergegroup_binstr合并,生成合并二进制数串merge_binstr=Emergegroup_binstr;
[0069] 3)根据合并二进制数串merge_binstr,利用哈希函数F(merge_binstr)生成16 位水印信息二进制数串wminfo_binstr;
[0070] 四、字符转换步骤如下:
[0071] 1)根据步骤三中合并二进制数串merge_binstr和步骤三中水印信息二进制数串 wminfo_binstr,合并成数据二进制数串data_binstr= {merge_binstr,wminfo_binstr};
[0072] 2)根据数据二进制数串data_binstr,以在其尾部补足{8-strlen(data_binstr) M0D8}个1的方式,生成安全二进制数串security_binstr;
[0073] 3)根据安全二进制数串security_binstr,以每8位二进制数转换为1个无符号 字符方式,生成安全字符串security_uchar;
[0074] 五、数据分离步骤如下:
[0075] 1)基站节点接收每个源节点发送的安全字符串,将其转换为接收二进制数串 receive_binstr;
[0076] 2)根据接收二进制数串receivejDinstr,利用数据分离算法,可得分离字符二进 制数串sepchar_binstr,分离重要程度二进制数串sepimport_binstr,分离校验码二进制 数串sepcheck_binstr及分离水印信息二进制数串sepwminfo_binstr。其中数据分离算法 如下:
[0077]
[0078]
[0079] 3)根据分离字符二进制数串sepchar_binstr,分离重要程度二进制数串 sepimport_binstr和分离校验码二进制数串sepcheck_binstr,合并成分离数据二进制数 串sepdata_binstr;
[0080] 4)根据分离数据二进制数串sepdata_binstr,利用哈希函数F(sepdata_binstr) 生成16位数据水印二进制数串datawminfo_binstr;
[0081] 六、数据校验步骤如下:
[0082] 1)根据步骤五中数据水印二进制数串datawminfo_binstr和据步骤五中分离水 印信息二进制数串sepwminfo_binstr进行对比验证,若完全相同,则接收数据可靠无误, 否则接收数据不可靠有误;
[0083] 2)若接收数据无误,则根据步骤五中分离字符二进制数串sepchar_binstr,转换 为字符串,即还原数据;
[0084] 3)若接收数据有误,则根据步骤五中分离字符二进制数串sepchar_binstr及步 骤五中分离重要程度二进制数串sepimport_binstr,以每7位字符二进制数串尾随1位重 要二进制数串的方式,生成待校验二进制数串waitcheck_binstr;
[0085] 4)根据待校验二进制数串waitcheck_binstr,以每15字符为一组的方式进 行分组,得到分组待检验二进制数串groupwaitcheck_binstr,即waitcheck_binstr= E groupwaitcheck-binstr ;
[0086] 5)根据分组待检验数据groupwaitcheck_binstr,利用步骤二中校验数计算公 式,可得每个分组所相
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1