[发明专利]基于自嵌入水印的G-code文件认证与恢复方法在审
申请号: | 202111109077.9 | 申请日: | 2021-09-22 |
公开(公告)号: | CN113934989A | 公开(公告)日: | 2022-01-14 |
发明(设计)人: | 李震宇;巩道福;谭磊;罗向阳;刘粉林;杨春芳;杜少勇;杨忠信;张昕;张明亮;范文同 | 申请(专利权)人: | 中国人民解放军战略支援部队信息工程大学 |
主分类号: | G06F21/16 | 分类号: | G06F21/16;G06F21/64 |
代理公司: | 郑州大通专利商标代理有限公司 41111 | 代理人: | 张立强 |
地址: | 450000 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 嵌入 水印 code 文件 认证 恢复 方法 | ||
1.一种基于自嵌入水印的G-code文件认证与恢复方法,其特征在于,包括:
步骤1,将G-code文件中的G0和G1命令行划分为代码块并利用函数P进行置乱;
步骤2,选择水印嵌入域:将置乱后的每个代码块划分为两部分,部分I为第一个命令行,部分II为剩余的命令行,部分I中的X和Y坐标用于生成认证水印和恢复水印,部分II中的X和Y坐标用于承载恢复水印;
步骤3,将X和Y转换为二进制表示;
步骤4,将每个代码块的部分I中的X和Y坐标的最高若干位比特信息分别输入到FNV哈希函数生成认证水印,并嵌入认证水印至代码块本身;
步骤5,在映射块内嵌入恢复水印,代码块的恢复水印为嵌入认证水印前的该代码块的部分I的比特信息;
步骤6,在嵌入认证水印和恢复水印后,X和Y坐标从二进制表示再转换为与原始精度相同的十进制表示;
步骤7,当3D打印机接收到一个G-code文件,首先检查其是否被篡改;如果未检测到篡改,则根据恢复水印恢复由认证水印引起的失真;如果G-code文件被篡改,则利用恢复水印和相邻代码块的几何信息进行部分恢复。
2.根据权利要求1所述的基于自嵌入水印的G-code文件认证与恢复方法,其特征在于,所述步骤3包括:
将所有X和Y坐标的数字向左平移三位,得到一个十进制整数;而后,将十进制整数转换为长度为p的二进制整数,记作和其中i=1,2,...,N,其中N是G-code文件中G0和G1命令行的总数。
3.根据权利要求2所述的基于自嵌入水印的G-code文件认证与恢复方法,其特征在于,所述步骤4包括:
对于置乱后的代码块的部分I,n为每个代码块包含的代码行数;其中X坐标的二进制表示记作而最高p-6位的比特信息则输入到FNV哈希函数中并生成6位的认证水印而后,的最低6位比特则替换为得到以上步骤同样应用于Y坐标。
4.根据权利要求3所述的基于自嵌入水印的G-code文件认证与恢复方法,其特征在于,所述步骤5包括:
代码块的恢复水印为嵌入认证水印前的该代码块的部分I的比特信息和代码块的映射块部分II中的X和Y坐标的最低位替换为代码块的恢复水印;置乱序列中最后一个代码块的恢复水印嵌入在该序列第一个代码块中。
5.根据权利要求4所述的基于自嵌入水印的G-code文件认证与恢复方法,其特征在于,所述步骤7包括:
将接收的G-code文件中的G0和G1命令行划分为代码块并利用函数P进行置乱;将置乱后的每个代码块划分为两部分,部分I为第一个命令行,部分II为剩余的命令行;得到每个代码块X和Y坐标的二进制表示;计算每个代码块的认证水印如果分别与的最低6位相同,那么认为代码块未被篡改,否则认为被篡改过;如果G-code文件中所有代码块都未被篡改,则该文件通过认证;
如果G-code文件通过认证,那么每个代码块的部分I则通过其对应映射块中嵌入的恢复水印进行恢复;即的原始比特可以通过组合的最低m位比特得到;
如果G-code文件未通过认证,则部分恢复被篡改的命令行。
6.根据权利要求5所述的基于自嵌入水印的G-code文件认证与恢复方法,其特征在于,所述如果G-code文件未通过认证,则部分恢复被篡改的命令行包括:
1)代码块被篡改,其映射块未被篡改;
的部分I基于中嵌入的恢复水印完整恢复,的部分II则按照式(1),具体基于代码块和其相邻块的几何信息进行估计:
其中k=1,2,...,n-1;和分别为和中经过恢复的部分I中的X坐标的十进制表示;
2)代码块和都被篡改;
通过前后的代码块,即和中的几何信息进行估计,代码块中的X坐标可以通过式(2)估计:
其中k=1,2,...,n;和分别为和的恢复后的部分I的X坐标的十进制表示;
同理可得代码块中Y坐标的估计。
7.根据权利要求1所述的基于自嵌入水印的G-code文件认证与恢复方法,其特征在于,在所述步骤7之后,还包括:
按照式(3)衡量G-code文件被恢复的效果;
其中为原始G-code文件,为恢复后含水印G-code文件,N为G-code文件中G0和G1命令行的总数,xi、yi是中第i个命令行中X、Y坐标,x′i和y′i则是中相应内容,x、y为中X、Y坐标的集合,IQR(·)表示数据的四分位距。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军战略支援部队信息工程大学,未经中国人民解放军战略支援部队信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111109077.9/1.html,转载请声明来源钻瓜专利网。