1.一种抗几何变换攻击的空域矢量地理空间数据数字水印方法,包括以下步骤:
1)水印信息预处理,生成一维二值水印序列;
2)基于数据节点,定义节点距离比,作为水印载体;
3)定义节点标识,基于节点标识,从水印序列中选取一个水印位,作为嵌入节点的水印位;
4)利用最低有效位方法将所选取水印位嵌入节点距离比中;
5)提取水印信息;
6)验证水印信息。
2.根据权利要求1所述的抗几何变换攻击的空域矢量地理空间数据数字水印方法,其特征在于,所述步骤1)的具体步骤为:
1-1)将原始水印信息转换成一维二进制水印序列;
1-2)对二进制水印序列进行置乱操作,得到置乱二值水印序列:W={wi|wi∈(0,1)},(i=1,2,...,N)上式中,N为水印序列W的长度。
3.根据权利要求2所述的抗几何变换攻击的空域矢量地理空间数据数字水印方法,其特征在于,所述步骤2)的具体步骤为:
2-1)逐一读取矢量空间数据集中的地物要素f,得到构成地物要素f的节点集合f={v1,v2,...,vn},n为f中的节点数量,vk=(xk,yk),(k=1,2,...,n),xk、yk分别为节点vk的横坐标和纵坐标;
2-2)求出f中相距最远的两点,分别记为vfrom,vto,且有xfrom≤xto,记由vfrom,vto确定的直线为Lfrom,to,直线Lfrom,to的直线方程记为Ax+By+C=0;
2-3)求出f中相距直线Lfrom,to最远的节点,记为vvertical,记vvertical到直线Lfrom,to的距离为dvertical;
2-4)过vvertical向Lfrom,to作垂线,垂足记为vverfoot;
2-5)记f中除vfrom,vto及vvertical之外的节点为vk′,求出vk′到直线Lfrom,to的距离,记为dk′;
2-6)对于节点vk′,定义其节点距离比ck′如下式:ck′即为水印位的嵌入域。
4.根据权利要求3所述的抗几何变换攻击的空域矢量地理空间数据数字水印方法,其特征在于,所述步骤3)的具体步骤为:
3-1)对于地物要素f中的任一节点vk,过vk向直线Lfrom,to作垂线,垂足记为vkfoot;
3-2)记vfrom与vto之间的距离为dfrom,to,vfrom与vkfoot之间的距离为dfrom,kfoot;
3-3)定义中间变量idk如下式:
3-4)定义节点标识:对于节点vk,取idk最高h有效位作为节点标识,计算公式如下:vidk=hsb(idk,h)
上式中vidk为节点vk的标识,hsb为取最高有效位截断函数,h为最高有效位位数;
3-5)计算节点的消息验证码MAC:对于节点vk,根据下式计算其MAC:MAC(k)=H(K||H(vidk||K))上式中,H()是安全Hash函数,||是连接操作符,K是水印秘钥;
3-6)利用每个节点对应的消息验证码,计算待嵌入节点中的水印位在水印序列中的索引号:对于节点vk,待嵌入水印位在水印序列中的索引号bitIndex(vk)如下式计算:bitIndex(vk)=MAC(k)mod N上式中mod为模运算函数,N为水印序列长度,记待嵌入节点vk中的水印位为 则有W为步骤1-2)中定义的水印序列数组。
5.根据权利要求4所述的抗几何变换攻击的空域矢量地理空间数据数字水印方法,其特征在于,所述步骤4)的具体步骤为:
4-1)基于最低有效位方法在节点vk′的节点距离比ck′中嵌入水印位 即通过修改ck′的第ξ位最低有效位的值来嵌入 得到嵌入水印后的节点距离比c′k′,c′k′的第ξ位最低有效位的值根据下式计算:上式中,LSBξ(ck′),LSBξ(c′k′)分别表示ck′,c′k′的第ξ位最低有效位的值;
4-2)计算节点距离比ck′的改变值
4-3)计算节点vk′的xk′坐标的改变值上式中,xvertical、yvertical分别是节点vvertical的横坐标和纵坐标;xverfoot、yverfoot分别是节点vverfoot的横坐标和纵坐标;
4-4)计算节点vk′的yk′坐标的改变值
4-5)计算嵌入水印位 后的节点坐标v′k′,v′k′=(x′k′,y′k′):经过上述步骤,即完成将水印位 嵌入节点vk′中,得到水印节点v′k′;循环对每个地物要素的每个节点嵌入相应水印位,即完成对整个矢量空间数据集添加水印。
6.根据权利要求5所述的抗几何变换攻击的空域矢量地理空间数据数字水印方法,其特征在于,所述步骤4-1)中,ξ值的确定方法为:
4-1-1)记矢量空间数据集的数据精度为τ,τ为水印节点与原始节点之间所允许的最大偏移,ξ值的大小根据 的有效位数来确定。
7.根据权利要求6所述的抗几何变换攻击的空域矢量地理空间数据数字水印方法,其特征在于,所述步骤5)的具体步骤为:
5-1)定义待提取初始水印序列W′={w′i=0}(i=1,2,...,N);
5-2)定义两个与水印序列等长的整数序列 和 (i=
1,2,...,N);
5-3)记加了水印的矢量地理空间数据集中的地物要素为f′,f′={v′1,v′2,...,v′n},n为构成f′的节点数量,v′k=(x′k,y′k)(k=1,2,...,n),为构成f′的节点;
5-4)求出f′中相距最远的两点,分别记为v′from,v′to,且有x′from≤x′to,其中v′from,v′to中都不含水印,记v′from与v′to之间的距离为d′from,to,由v′from,v′to确定的直线记为L′from,to;
5-5)求出f′中相距直线L′from,to最远的节点,记为v′vertical,v′vertical中不含水印,记v′vertical到直线L′from,to的距离为d′vertical;
5-6)依序从f′的水印化节点v′k′中,基于最低有效位方法提取一个水印位,记为
5-7)计算 在水印序列中的索引号bitIndex(v′k′);
5-8)更新 及 的值:
5-9)循环5-3)到5-8)的步骤,直到处理完数据集中所有的地物要素;然后对待提取水印序列W′进行如下更新:
8.根据权利要求7所述的抗几何变换攻击的空域矢量地理空间数据数字水印方法,其特征在于,所述步骤5-6)中,从节点v′k′中基于最低有效位方法提取水印位 的过程如下:
5-6-1)求出v′k′到直线L′from,to的距离,记为d′k′;
5-6-2)计算节点v′k′的节点距离比c′k′:
5-6-3)根据c′k′的第ξ位最低有效位的值提取出水印位 提取方法如下:上式中,LSBξ(c′k′)表示c′k′的第ξ位最低有效位的值。
9.根据权利要求8所述的抗几何变换攻击的空域矢量地理空间数据数字水印方法,其特征在于,所述步骤5-7)中, 在水印序列中的索引号bitIndex(v′k′)的计算步骤如下:
5-7-1)对于节点v′k′,过v′k′向直线L′from,to作垂线,垂足记为v′k′foot;
5-7-2)记v′from与v′k′foot之间的距离为d′from,k′foot;
5-7-3)定义中间变量id′k′如下式:
5-7-4)计算节点v′k′的标识:取id′k′最高h有效位作为节点标识,计算公式如下:vid′k′=hsb(id′k′,h)
5-7-5)计算节点v′k′的消息验证码MAC′(k′),计算公式如下:MAC′(k′)=H(K||H(vid′k′||K))上式中,H()是安全Hash函数,||是连接操作符,K是水印秘钥;
5-7-6)计算 在水印序列中的索引号bitIndex(v′k′),计算方法如下:bitIndex(v′k′)=MAC′(k′)mod N上式中mod为模运算函数,N为水印序列长度。
10.根据权利要求9所述的抗几何变换攻击的空域矢量地理空间数据数字水印方法,其特征在于,所述步骤6)的具体步骤为:
6-1)对提取出的水印序列W′,进行逆置乱操作后,转换成水印信息;
6-2)计算W与W′的相关性Rc,计算方法如下式:上式中,XNOR表示异或非运算,N为水印序列长度;
当两者相关性大于给定阈值时,则认为正确提取出了水印信息。