发明名称 一种多重信息加密的二维码防伪方法
摘要 本发明涉及一种多重信息加密的二维码防伪方法,是通过将数字序列号经算法加密生成加密序列号后利用截图的方法获取含有加密序列号的图像,再将含有加密序列号的图像进行尺寸调整、图像灰度化及图像置乱处理得到秘密图像,然后以二维码为载体,利用位运算方法将秘密图像嵌入到载体二维码图像中,得到最终用于印刷的混合二维码;在进行信息验证时,则通过提取二维码中的秘密图像并进行反置乱处理获取加密序列号后,再用解密算法得到解密序列号,通过与原始序列号的对比,辨别信息的真伪。该方法结合简单的信息算法加密、图像变换及图像隐藏方法实现二维码防伪,该方法易于实现,不影响二维码的信息容量,具有很好的防伪性能。
申请公布号 CN103646264A 申请公布日期 2014.03.19
申请号 CN201310548885.4 申请日期 2013.11.06
申请人 杭州电子科技大学;东莞职业技术学院 发明人 胡更生;李小东;付延松
分类号 G06K19/06(2006.01)I;G06Q30/00(2012.01)I 主分类号 G06K19/06(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 1. 一种多重信息加密的二维码防伪方法,其特征在于该方法包括以下步骤:步骤一.二维码生成及原始信息的加密:1.1 利用二维码生成系统将所需要的产品信息生成QR二维码;所述的QR二维码为正方形图像,且图像模式为非二值图像,边长尺寸记为N;1.2 选定需加密的数字字符序列号作为待加密序列号,利用编程开发工具按照数字字符序列号的算法加密规则制作的加密程序对待加密序列号进行加密,得到加密序列号;其中,所述的数字字符序列号的算法加密规则如下:(1)将1~31共31个数字分别用26个大写英文字母A~Z及小写英文字母v、w、x、y、z表示,即将A~Z按英文字母顺序表中的排列顺序依次代表1~26(26个)数字,小写英文字母v、w、x、y、z依次代表27、28、29、30、31(5个)数字;(2)输入数字字符,并判断输入的数字字符的个数;(3)若(2)输入的数字字符个数为偶数,则将输入的数字字符从第一位开始,按2位一组取数,每一组数字字符组成一个两位数; (4)将(3)中得到的每一个两位数分别与从1~31共31个数字中随机选取的数字除以26得到的余数做加法运算,得到新的两位数或三位数;(5)若(4)中得到的为新的两位数,且新的两位数位于1~31之间,则将新的两位数按(1)所述的方法用相应的英文字母表示,若(4)中得到的新的两位数不在1~31之间,则不变;若(4)中得到的为三位数,则将三位数与99做减法运算,再将得到的差按照(1)所述的方法用相应的英文字母表示,并在得到的英文字母的前面添加一个用于表示经(4)过程后得到的数值为三位数的符号“&amp;”;(6)将(5)得到的结果按生成的先后顺序组合起来,得到初步加密处理的序列号;(7)为了能够将(6)得到的初步加密处理的序列号能够被顺利解密,需要将(4)中由1~31共31个数字中选取的随机数字按照(1)所述的方法变换得到相应的英文字母,并将变换得到的相应的英文字母作为前缀和(6)得到的初步加密处理的序列号组合起来,得到二次加密处理的序列号;(8)在二次加密处理的序列号的最前端添加用于表示输入数字字符个数为偶数的符号“#”,得到最终的加密序列号;(9)若(2)输入的数字字符个数为奇数,则先在输入的数字字符最前端添加数字字符“0”,组成新的数字字符组合,然后执行(3)~(7),得到二次加密处理的序列号;(10)在二次加密处理的序列号的最前端添加用于表示输入数字字符个数为奇数的符号“*”,得到最终的加密序列号;1.3 将步骤1.2中生成的加密序列号截图,获得含有加密序列号字样的图片,并将图片保存下来,作为待加密图像;步骤二.待加密图像预处理:2.1 根据Arnold变换的特点,在对待加密图像执行隐藏前首先将步骤1.3中保存的待加密图像进行图像缩放变换,得到与步骤1.1中生成的QR二维码相同尺寸的图像,其中图像缩放变换采用双三次插值方法,双三次插值计算按公式(1)进行:f(x,y)=f(i+u,j+v)=ABC             (1)公式(1)中,A=<img file="2013105488854100001DEST_PATH_IMAGE002.GIF" wi="207" he="25" />,B=<img file="2013105488854100001DEST_PATH_IMAGE004.GIF" wi="375" he="94" />,C=<img file="2013105488854100001DEST_PATH_IMAGE006.GIF" wi="67" he="93" />,s(x) =<img file="2013105488854100001DEST_PATH_IMAGE008.GIF" wi="219" he="95" />,(i,j):原图像的像素坐标,其中,i为原图像像素坐标横向坐标轴方向的坐标值,j为原图像像素坐标纵向坐标轴方向的坐标值;f(i,j):原图像的像素的灰度值;(x,y),(i+u,j+v):缩放变换后新图像的像素坐标,其中,x为缩放变换后新图像像素坐标横向坐标轴方向的坐标值,y为缩放变换后新图像像素坐标轴纵向坐标轴方向的坐标值;f(x,y),f(i+u,j+v): 缩放变换后新图像像素的灰度值;<img file="2013105488854100001DEST_PATH_IMAGE010.GIF" wi="25" he="36" />:图像像素沿x方向离原点的距离;u:待求像素(x,y)周围像素沿x方向离(x,y)的距离;v:待求像素(x,y)周围像素沿y方向离(x,y)的距离;s(x):sin(<img file="2013105488854100001DEST_PATH_IMAGE012.GIF" wi="24" he="19" />·x)/x的逼近多项式,根据x取值的不同,有不同的计算公式,其中,<img file="121609DEST_PATH_IMAGE012.GIF" wi="24" he="19" />为圆周率;2.2 将步骤2.1中得到的经图像缩放变换后的待加密图像进行图像灰度化处理,得到灰度图像,其中对图像灰度化处理按公式(2)进行:Gray =<img file="2013105488854100001DEST_PATH_IMAGE014.GIF" wi="73" he="24" /><img file="DEST_PATH_IMAGE016.GIF" wi="61" he="81" />(2)公式(2)中,Gray:图像灰度化后得到的每一像素点的灰度值;R、G、B:分别为图像每一像素对应的红、绿、蓝颜色值;公式(2)为从人体生理学角度所提出的一种灰度权值方法;2.3 计算出步骤1.1中边长尺寸为N的QR二维码图像的Arnold变换周期,记为T; 2.4 对步骤2.2中得到的灰度图像进行k次Arnold置乱变换,将变换后的图像保存待用,其中Arnold置乱变换按公式(4)进行:<img file="DEST_PATH_IMAGE018.GIF" wi="36" he="54" />=<img file="DEST_PATH_IMAGE020.GIF" wi="56" he="58" /><img file="DEST_PATH_IMAGE022.GIF" wi="36" he="60" />(mod N)          (4)公式(4)中,(x,y):灰度图像的像素点坐标,其中,x为灰度图像像素坐标横向坐标轴方向的坐标值,y为灰度图像像素坐标纵向坐标轴方向的坐标值;(<img file="DEST_PATH_IMAGE024.GIF" wi="38" he="24" />):Arnold置乱变换后新图像的像素点坐标,其中,<img file="DEST_PATH_IMAGE026.GIF" wi="24" he="24" />为Arnold置乱变换后新图像像素坐标横向坐标轴方向的坐标值,<img file="DEST_PATH_IMAGE028.GIF" wi="20" he="26" />为Arnold置乱变换后新图像像素坐标纵向坐标轴方向的坐标值;N:灰度图像的阶数,即灰度图像的尺寸大小;     步骤三.秘密图像隐藏:3.1 将步骤1.1生成的QR二维码图像的最低x位位平面的数据变换为0,得到新的QR二维码载体图像并保存,其中x取值3或4;3.2 将步骤2.4经图像置乱变换后保存的图像高x位位平面数据顺次右移x位,得到待隐藏秘密图像,将新得到的秘密图像进行保存,其中x的取值与步骤3.1中x的取值相同;3.3 将步骤3.1保存的QR二维码载体图像数据与步骤3.2保存的待隐藏秘密图像数据进行按位或运算,实现图像的隐藏并得到最终需要的隐藏有秘密图像的QR二维码,其中所述的QR二维码载体图像数据与待隐藏秘密图像数据按位或运算是指将QR二维码载体图像数据以字节为单位与待隐藏秘密图像数据逐字节进行逻辑运算,当两个对应位上都为1时,结果为1,否则,结果为0,最终返回值为二进制逻辑运算结果对应的十进制数值;    3.4 将步骤3.3保存的隐藏有秘密图像的QR二维码打印制作成产品标签;     步骤四.QR二维码识读:    4.1 直接使用手机或其他二维码可识读设备读取步骤3.4制作的QR二维码标签,获取产品信息;     步骤五.秘密图像提取:    5.1 将步骤3.4制作的QR二维码标签扫描至计算机,并获取QR二维码数字图像;    5.2 将步骤5.1得到的QR二维码数字图像高x位数据变换为0,得到新图像并保存,其中x取值与步骤3.1及3.2中x的取值一致;    5.3 将步骤5.2保存的图像最低x位位平面数据顺次左移x位,即提取得到步骤2.4所保存的图像;     步骤六.秘密图像还原:6.1 将步骤5.3提取得到的图像进行(T﹣k)次Arnold迭代变换,即得到步骤2.2所保存的灰度图像;     步骤七.QR二维码真伪辨别:    7.1 人眼读取步骤6.1所得到的灰度图像上的文本字样;7.2 将步骤7.1得到的文本信息输入与步骤1.2中加密程序所对应的算法解密程序,得到解密文本信息,其中,解密程序的算法解密程序为步骤1.2中数字字符序列号的算法加密规则实现过程(1)~(10)的逆过程,即按照步骤1.2中(10)~(1)的规则顺序利用编程开发工具重新编写程序代码,便得到解密程序;    7.3 将步骤7.2得到的解密文本信息与步骤1.2中加密前的数字字符序列号进行对比,如一致则可确定QR二维码标签为真,否则为假。
地址 310018 浙江省杭州市下沙高教园区2号大街