一种对于版权保护算法及实现的研究

2018-01-31 11:48徐其江
科教导刊·电子版 2017年34期
关键词:云滴字符字节

徐其江

摘 要 本文给出基于云模型的矢量地图版权算法的具体实现过程。由于云模型本身模糊性及不确定性的特点,增加了对算法的破解难度。在水印嵌入系数的选择上根据DWT的特点,并结合人类视觉特性选择特定的嵌入系数。综合上述两个方面提出了基于云模型的矢量地图版权保护算法。

关键词 版权保护算法 实现研究

中图分类号:TP309 文献标识码:A

1云滴水印的生成

本文中,用户密钥信息设定为四种:图片、汉字、英文、数字。密钥信息可以是其中的某一种也可以是四种的任意组合。针对不同输入的版权信息所进行的处理流程也不尽相同。

对于图片的处理流程如下:

(1)将密钥图像进行Arnlod置乱;

(2)将置乱后的密钥图像读取为二进制流I1

对于汉字的处理流程如下:

(1)将输入密钥汉字信息通过内码转换后得到系统可以识别的内码字符;

(2)将转换后的内码字符分为两个字节分别进行处理;

(3)处理每一个字节,一个字节为8位。对于字节的每一位,判断当前位。如果当前位是1, 将其加‘0字符后存储在字符数组中,如果是0,将其加‘0后也存储在字符数组中。即将每个字符转换成的二进制流I2。

2水印嵌入位置选择

水印信息嵌入位置的选取具有重要的意义。适当的水印嵌入位置既能够保证水印的鲁棒性又能够实现视觉上的不可见性。因而水印信息的嵌入位置逐渐的成为人们的研究热点。小波变换在数字水印技术中的应用主要体现在数字图像水印方面。本文在水印嵌入位置的选择上,综合考虑了四个方面的因素:水印的鲁棒性、水印的不可感知性、人类视觉特性、小波变换的性质。使水印在具有一定不可感知性的前提下具有较强的鲁棒性。

2.1水印嵌入算法

本节在充分考虑上述内容的基础上,给出水印的具体嵌入过程。

2.1.1原始矢量地图数据获取

本算法是在安全容器中实现的,即在Windows底层内存。在底层内存中,读取到的原始矢量地图数据是按照IEEE754浮点数存储的,首先将其转化为实际可用的double型数据。

转换成单精度时公式为:

通过上述公式则得到一个点的double型数值。按照Shape格式将一条线上的点按照数目全部读出并组合成一条线。

2.1.2嵌入位置选择

按照上节嵌入位置选择算法,选择合适的嵌入位置。

(1)对得到的数据进行三级离散小波变换得到若干个子带;

(2)分别对得到的子带进行分块处理,每块大小为8*8;

(3)将高频带中所有分块组成一组,选择子块LL3;

(4)采用Logistic混沌映射选择嵌入块xn=uxn(1 xn);u表示量化系数。量化系数的选择需要通过大量的实验进行获取,本文中通过实验验证当u取4.5时效果最佳。

2.1.3嵌入

将选择出的嵌入位置记为,fi(j),j=1,2,3,…,m并记录其位置。利用嵌入公式4-7将水印二进制流嵌入

fi'(j)= fi(j)+(1 ) (j)

式中: 表示嵌入强度,j=1,2,3,…,m

通过不断的大量实验确定本文的嵌入强度为0.95

(4)将计算得到的fi'(j)代替第i块中的小波系数fi(j)进行DWT逆变换,则得到新的fi'(j)。将所有的fi'(j)按照一条线上点的排列顺序进行组合则得到了含有水印的图像,即嵌入完成。

2.2水印提取算法

水印的提取步骤如下:

(1)矢量地图数据获取:

和水印的嵌入过程(1)类似,首先获取读入到内存中的矢量地图数据。

(2)根据第二节的嵌入位置选择算法找到嵌入位置,利用逆嵌入公式将水印信息提取出来。

(3)将得到的水印信息利用逆向云发生器得到云模型的特征参数。

2.3水印检测标准

根据提取出的云水印作为是否是嵌入云的评价标准,这是本系统的一个创新之处,同时这也是云模型理论需要解决的一个重要问题。

本文的相似度阀值设定为30/n(n为云滴个数)。具体算法如下:

N个云相似性度量方法(本文中N=2):

输入:n云滴数,Ex1,Exn,He1第一个云的特征数,Ex2,En2,He2第二个云的特征数;输出:是否相似 ( 相似为1, 不相似为0)。

步骤:

(1)Dropl(i)=Cloud(Ex1,En1,He1,n)第1个云产生的n个云滴;

(2)Dropl(i)=Cloud(Ex2,En2,He2,n)第2个云产生的n个云滴;

(3)Sort(Drop(1));对第1个云滴进行排序;

(4)Sort(Drop(2));对第2个云滴进行排序;

(5)筛选区间[Ex 3En,Ex+3En]内的云滴,得到云1中云滴个数N1,云2中云滴个数N2,选取后的云滴分别为Drop1',Drop2';

(6)若N1N2則雷同。

(7)分别计算云滴Drop1'j,Drop2'j,的平方差Dis(j);

(8)相似度计算公式Similar=SQRT(∑Dis(j)/C/n);

(9)若Similar<(30/n)则 =1,否则 =0。

通过上述算法,将提取出来的云滴与嵌入的云滴计算相似度,若值为1则表示两个是相似云,即所提取的水印为用户嵌入。否则,则不是。

本章首先对矢量地图访问控制进行了介绍,矢量访问控制是保证矢量地图自我保护实现的关键。然后本章介绍了算法的嵌入模型和提取模型,最后重点介绍算法的具体实现过程。算法的具体实现主要包括云滴水印的生成、嵌入位置的选择、嵌入算法、提取算法、水印检测标准。

猜你喜欢
云滴字符字节
No.8 字节跳动将推出独立出口电商APP
福建九仙山一次佛光的云滴粒子尺度分析*
字符代表几
一种USB接口字符液晶控制器设计
No.10 “字节跳动手机”要来了?
消失的殖民村庄和神秘字符
简谈MC7字节码
云微物理特性及云滴有效半径参数化:一次降水层状云的飞机观测资料结果
云滴谱离散度对气溶胶间接效应影响的研究进展