CN113935347B - 一种基于防伪图片置乱解密的商品防伪码识别方法 - Google Patents

一种基于防伪图片置乱解密的商品防伪码识别方法 Download PDF

Info

Publication number
CN113935347B
CN113935347B CN202111185838.9A CN202111185838A CN113935347B CN 113935347 B CN113935347 B CN 113935347B CN 202111185838 A CN202111185838 A CN 202111185838A CN 113935347 B CN113935347 B CN 113935347B
Authority
CN
China
Prior art keywords
matrix
column
commodity
counterfeiting
elements
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111185838.9A
Other languages
English (en)
Other versions
CN113935347A (zh
Inventor
盛苏英
刘焰森
陆国平
吴新华
张小美
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nantong University
Original Assignee
Nantong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nantong University filed Critical Nantong University
Priority to CN202111185838.9A priority Critical patent/CN113935347B/zh
Publication of CN113935347A publication Critical patent/CN113935347A/zh
Application granted granted Critical
Publication of CN113935347B publication Critical patent/CN113935347B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10009Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
    • G06K7/10257Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves arrangements for protecting the interrogation against piracy attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/001Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Electromagnetism (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Credit Cards Or The Like (AREA)
  • Inspection Of Paper Currency And Valuable Securities (AREA)

Abstract

本发明公开了一种基于防伪图片置乱解密的商品防伪码识别方法,包括:将商品彩色防伪图片分解的三基色矩阵分别进行二进制转换和拼接,得到组合三维二进制矩阵
Figure DDA0003299170150000011
并将商品彩色商标图片、商品标识码进行转换处理;混沌系统迭代得到混沌序列Y1、Y2以及矩阵行移位和列移位的参数;根据混沌序列Y1和Y2的排序置乱规则,以及矩阵行移位和列移位的参数,对矩阵
Figure DDA0003299170150000012
依次进行置乱拼接、列移位、回填反置乱,再置乱拼接、行移位和回填反置乱操作,进而生成彩色图片CC,判断彩色图片CC与商品彩色商标图片是否一致以识别商品真伪。本发明所提的基于防伪图片置乱解密的商品防伪码识别方法简单可行、不易破解,商品防伪码的识别具有“安全性和可识别性”。

Description

一种基于防伪图片置乱解密的商品防伪码识别方法
技术领域
本发明属于数码防伪技术领域,特别涉及一种基于防伪图片置乱解密的商品防伪码识别方法。
背景技术
目前市场上常用的防伪技术主要有纸纹防伪技术、激光全息防伪技术、化学油墨防伪技术、核径迹防伪技术、电码防伪技术,以及数码防伪技术等等。传统的防伪技术由于其制作工艺复杂、防伪标签鉴别不便等局限性,难以广泛应用于所有商品的真伪识别,仅局限于高端产品的真伪鉴别。由于传统防伪技术的种种缺点,数码防伪技术应运而生,已经成为了防伪行业中运用最为广泛的技术之一,在防伪领域起着举足轻重的作用。
数码防伪技术包括制码和识别两部分,现今数码识别方式有多种,如一维码、二维码、RFID识别等。传统的一维码存在譬如可靠性不好、信息存储量不足、改正能力低等缺点,二维码的出现可以有效地解决上述问题,在众多领域得到应用。同时混沌信号作为一种天然的密码,引入到商品防伪码的制码和数码识别过程中,具有更高的安全性。
发明内容
本发明的目的是为了解决现有技术中的不足,提供一种基于防伪图片置乱解密的商品防伪码识别方法,利用混沌映射产生混沌信号序列以及矩阵行移位和列移位的参数,根据混沌序列的排序置乱规则以及矩阵行移位和列移位的参数,对商品彩色防伪图片转换并拼接而得的组合三维二进制矩阵依次进行置乱拼接、列移位、回填反置乱,再置乱拼接、行移位和回填再反置乱操作,进而生成彩色图片CC,判断彩色图片CC与商品彩色商标图片是否一致以识别商品真伪,以此保证所提的商品防伪码识别方法简单可行、不易破解,商品防伪码的识别具有“安全性和可识别性”。
本发明提供了一种基于防伪图片置乱解密的商品防伪码识别方法,包括如下几个步骤:
(1)转码
首先,将商品防伪二维码进行解析,得到表征某件商品唯一身份信息的商品彩色商标图片和商品标识码,以及表征商品防伪信息的彩色防伪图片,
然后,将商品彩色商标图片分解出红、绿、蓝三基色,分别表示为矩阵R、G和B,并将矩阵R、G和B中元素分别逐个转换成8位二进制,得到三维二进制矩阵
Figure BDA0003299170130000011
Figure BDA0003299170130000012
接着,将商品标识码,表示为字符串A1A2,...,AL-1AL,逐个字符转换为数值型数据,得到数值序列
Figure BDA0003299170130000013
再将数值序列P中元素逐个转换成8位二进制,得到二进制序列
Figure BDA0003299170130000014
最后,将彩色防伪图片分解出红、绿、蓝三基色,分别表示为矩阵C_R、C_G和C_B,并将矩阵C_R、C_G和C_B中元素分别逐个转换成8位二进制,得到三维二进制矩阵
Figure BDA0003299170130000021
Figure BDA0003299170130000022
并将三维二进制矩阵
Figure BDA0003299170130000023
Figure BDA0003299170130000024
依次上下拼接,得到组合三维二进制矩阵
Figure BDA0003299170130000025
其中商品彩色商标图片的大小为M×N,矩阵R、G和B的大小均为M×N,三维二进制矩阵
Figure BDA0003299170130000026
Figure BDA0003299170130000027
的行数为M、列数为N、层数为8,商品标识码来自于GBK编码的字符,商品标识码的长度为L,数值序列P的长度为
Figure BDA0003299170130000028
二进制序列PB的长度为
Figure BDA0003299170130000029
Figure BDA00032991701300000210
彩色防伪图片的大小为M×N,矩阵C_R、C_G和C_B的大小均为M×N,三维二进制矩阵
Figure BDA00032991701300000211
Figure BDA00032991701300000212
的行数为M、列数为N、层数为8,组合三维二进制矩阵
Figure BDA00032991701300000213
的行数为3M、列数为N、层数为8;
(2)产生混沌序列
首先利用外部解密密钥(α,β),按照如下(1)-(4)公式分别计算得到混沌系统的初值x1、参数λ、抽取开始位置δ1和δ2,令
Figure BDA00032991701300000214
则可得,
x1=mod(Key_inner-α,0.999)+0.001, (1)
λ=2+mod(-Key_inner+β,29), (2)
Figure BDA00032991701300000215
Figure BDA00032991701300000216
其中,α∈(0,1),β∈(0,100),[{PB8i-7,PB8i-6,...,PB8i-1,PB8i}]0表示统计二进制序列{PB8i-7,PB8i-6,...,PB8i-1,PB8i}中存在二进制‘0’的个数,
Figure BDA00032991701300000217
Figure BDA00032991701300000218
分别表示统计三维二进制矩阵
Figure BDA00032991701300000219
的第i行、第j列、第1~8层中存在二进制‘1’的个数,
然后由初值x1、参数λ,对如下公式(5)所示的Chebyshev混沌系统进行迭代,k表示迭代次数,xk+1表示第k次迭代得到的混沌信号,其中k=1,2,…,从而得到混沌序列X,
xk+1=cos(λ·arccos(xk)) (5)
接着从混沌序列X中抽取第δ1个元素,按照如下公式(6)分别计算得到矩阵行移位的行数H_number以及重置抽取开始位置δ1
Figure BDA0003299170130000031
从混沌序列X中抽取第δ1个元素,按照如下公式(7)分别计算得到矩阵行移位的方向H_direction、重置抽取开始位置δ1,以及行移位矩阵的层面参数H_CM,
Figure BDA0003299170130000032
从混沌序列X中第δ1+2个元素开始连续抽取8个,得到长度为8的混沌序列
Figure BDA0003299170130000033
Figure BDA0003299170130000034
最后从混沌序列X中抽取第δ2个元素,按照如下公式(8)分别计算得到矩阵列移位的列数L_number以及重置抽取开始位置δ2
Figure BDA0003299170130000035
从混沌序列X中抽取第δ2个元素,按照如下公式(9)分别计算得到矩阵列移位的方向L_direction、重置抽取开始位置δ2,以及列移位矩阵的层面参数L_CM,
Figure BDA0003299170130000036
从混沌序列X中第δ2+2个元素开始连续抽取8个,得到长度为8的混沌序列
Figure BDA0003299170130000037
Figure BDA0003299170130000038
(3)列移位的置乱解密
首先,将混沌序列Y2按降序排序,根据序列Y2排序前、后的位置变化置乱规则,对组合三维二进制矩阵
Figure BDA0003299170130000039
元素按层进行置乱,得到置乱后的三维二进制矩阵
Figure BDA00032991701300000310
根据列移位矩阵的层面参数L_CM,进行如下拼接操作,
如果L_CM=0,则将置乱后的三维二进制矩阵
Figure BDA0003299170130000041
中元素逐层左右拼接,得到待列移位矩阵LRGB,表示为
Figure BDA0003299170130000042
Figure BDA0003299170130000043
如果L_CM=1,则将置乱后的三维二进制矩阵
Figure BDA0003299170130000044
中元素逐列左右拼接,得到列移位矩阵LRGB,表示为
Figure BDA0003299170130000045
其中待列移位矩阵LRGB的大小为3M×8N,
然后,根据矩阵列移位的列数L_number以及方向L_direction,进行如下整列移位操作,
如果L_direction=0,则将待列移位矩阵LRGB整列循环右移L_number行,得到列移位后的矩阵
Figure BDA0003299170130000046
如果L_direction=1,则将待列移位矩阵LRGB整列循环左移L_number行,得到列移位后的矩阵
Figure BDA0003299170130000047
最后,根据列移位矩阵的层面参数L_CM,进行如下回填操作,
如果L_CM=1,则将列移位后的矩阵
Figure BDA0003299170130000048
中元素逐层回填至一个行数为3M、列数为N、层数为8的三维二进制矩阵中,得到列移位后的三维二进制矩阵BL,表示为
Figure BDA0003299170130000049
Figure BDA00032991701300000410
Figure BDA00032991701300000411
Figure BDA00032991701300000412
如果L_CM=0,则将列移位后的矩阵
Figure BDA00032991701300000413
中元素逐列回填至一个行数为3M、列数为N、层数为8的三维二进制矩阵中,得到列移位后的三维二进制矩阵BL,表示为
Figure BDA00032991701300000414
Figure BDA00032991701300000415
Figure BDA00032991701300000416
将混沌序列Y2按升序排序,根据序列Y2排序前、后的位置变化置乱规则,对列移位后的三维二进制矩阵BL中元素按层进行反置乱,得到反置乱后的列移位三维二进制矩阵
Figure BDA0003299170130000051
(4)行移位的置乱解密
首先,将混沌序列Y1按降序排序,根据序列Y1排序前、后的位置变化置乱规则,对列移位三维二进制矩阵
Figure BDA0003299170130000052
中元素按层进行置乱,得到置乱后的列移位三维二进制矩阵
Figure BDA0003299170130000053
根据行移位矩阵的层面参数H_CM,进行如下拼接操作,
如果H_CM=0,则将列移位三维二进制矩阵
Figure BDA0003299170130000054
中元素逐层上下拼接,得到待行移位矩阵HRGB,表示为
Figure BDA0003299170130000055
如果H_CM=1,则将列移位三维二进制矩阵
Figure BDA0003299170130000056
中元素逐行上下拼接,得到待行移位矩阵HRGB,表示为
Figure BDA0003299170130000057
其中待行移位矩阵HRGB的大小为24M×N,
然后,根据矩阵行移位的行数H_number以及方向H_direction,进行如下整行移位操作,
如果H_direction=0,则将待行移位矩阵HRGB整行循环下移H_number行,得到行移位后矩阵
Figure BDA0003299170130000058
如果H_direction=1,则将待行移位矩阵HRGB整行循环上移H_number行,得到行移位后矩阵
Figure BDA0003299170130000059
最后,根据行移位矩阵的层面参数H_CM,进行如下回填操作,
如果H_CM=1,则将行移位后的矩阵
Figure BDA00032991701300000510
中元素逐层回填至一个行数为3M、列数为N、层数为8的三维二进制矩阵中,得到行列移位三维二进制矩阵BHL,表示为
Figure BDA00032991701300000511
Figure BDA00032991701300000512
Figure BDA00032991701300000513
Figure BDA00032991701300000514
如果H_CM=0,则将行移位后的矩阵
Figure BDA0003299170130000061
中元素逐行回填至一个行数为3M、列数为N、层数为8的三维二进制矩阵中,得到行列移位三维二进制矩阵BHL,表示为
Figure BDA0003299170130000062
Figure BDA0003299170130000063
Figure BDA0003299170130000064
将混沌序列Y1按升序排序,根据序列Y1排序前、后的位置变化置乱规则,对行列移位三维二进制矩阵BHL元素按层进行反置乱,得到反置乱后的行列移位三维二进制矩阵
Figure BDA0003299170130000065
(5)商品防伪二维码的生成
由反置乱后的行列移位三维二进制矩阵
Figure BDA0003299170130000066
分别得到数值矩阵
Figure BDA0003299170130000067
从而生成彩色图片CC,其中矩阵
Figure BDA0003299170130000068
的大小均为M×N,彩色图片CC的大小为M×N,再比较彩色图片CC与商品二维码解析而得的商品彩色商标图片是否一致,如一致,则商品识别为真品;如不一致,则商品识别为赝品。
进一步地,一种基于防伪图片置乱解密的商品防伪码识别方法里步骤(1)中所述的将矩阵R、G和B中元素分别逐个转换成8位二进制,是指将矩阵R中元素逐个采用
Figure BDA0003299170130000069
运算得到三维二进制矩阵
Figure BDA00032991701300000610
将矩阵G中元素逐个采用
Figure BDA00032991701300000611
运算得到三维二进制矩阵
Figure BDA00032991701300000612
将矩阵B中元素逐个采用
Figure BDA00032991701300000613
运算得到三维二进制矩阵
Figure BDA00032991701300000614
进一步地,一种基于防伪图片置乱解密的商品防伪码识别方法里步骤(1)中所述的将商品标识码,表示为字符串A1A2,...,AL-1AL,逐个字符转换为数值型数据,是指将商品标识码中字符逐个采用unicode2native(·)函数转换为数值型数据,即对于双字节字符的转换表示为
Figure BDA00032991701300000615
对于单字节字符的转换表示为
Figure BDA00032991701300000616
从而得到数值序列
Figure BDA00032991701300000619
进一步地,一种基于防伪图片置乱解密的商品防伪码识别方法里步骤(1)中所述的将数值序列P中元素逐个转换成8位二进制,是指将数值序列P中元素逐个采用PB(8i-7:8i)=dec2bin(Pi,8)运算,得到二进制序列
Figure BDA00032991701300000617
Figure BDA00032991701300000618
进一步地,一种基于防伪图片置乱解密的商品防伪码识别方法里步骤(1)中所述的将矩阵C_R、C_G和C_B中元素分别逐个转换成8位二进制,是指将矩阵C_R中元素逐个采用
Figure BDA0003299170130000071
运算得到三维二进制矩阵
Figure BDA0003299170130000072
将矩阵C_G中元素逐个采用
Figure BDA0003299170130000073
运算得到三维二进制矩阵
Figure BDA0003299170130000074
将矩阵C_B中元素逐个采用
Figure BDA0003299170130000075
运算得到三维二进制矩阵
Figure BDA0003299170130000076
进一步地,一种基于防伪图片置乱解密的商品防伪码识别方法里步骤(5)中所述的由反置乱后的行列移位三维二进制矩阵
Figure BDA0003299170130000077
分别得到数值矩阵
Figure BDA0003299170130000078
从而生成彩色图片CC,表示如下步骤:
步骤①将三维二进制矩阵
Figure BDA0003299170130000079
中第1~M行、第1~N列、第1~8层二进制元素,以某行某列1~8层的二进制元素为单位分别采用运算
Figure BDA00032991701300000710
转换为某个数值型数据并填入矩阵
Figure BDA00032991701300000711
中,其中i=1,2,...,M,j=1,2,...,N,继而可得数值矩阵
Figure BDA00032991701300000712
表示如下,
Figure BDA00032991701300000713
步骤②将三维二进制矩阵
Figure BDA00032991701300000714
中第M+1~2M行、第1~N列、第1~8层二进制元素,以某行某列1~8层的二进制元素为单位分别采用运算
Figure BDA00032991701300000715
转换为某个数值型数据并填入矩阵
Figure BDA00032991701300000716
中,其中i=1,2,...,M,j=1,2,...,N,继而可得数值矩阵
Figure BDA00032991701300000717
表示如下,
Figure BDA00032991701300000718
步骤③将三维二进制矩阵
Figure BDA00032991701300000719
中第2M+1~3M行、第1~N列、第1~8层二进制元素,以某行某列1~8层的二进制元素为单位分别采用运算
Figure BDA00032991701300000720
转换为某个数值型数据并填入矩阵
Figure BDA00032991701300000721
中,其中i=1,2,...,M,j=1,2,...,N,继而可得数值矩阵
Figure BDA00032991701300000722
表示如下,
Figure BDA00032991701300000723
步骤④将数值矩阵
Figure BDA0003299170130000081
分别表征彩色图片的红、绿、蓝三基色,利用
Figure BDA0003299170130000082
函数将矩阵
Figure BDA0003299170130000083
转换为彩色图片,从而生成彩色图片CC,其中彩色图片CC的大小为M×N。
有益效果:本发明中将商品防伪二维码进行解析,得到表征某件商品唯一身份信息的商品彩色商标图片和商品标识码,以及表征商品防伪信息的彩色防伪图片,根据混沌序列的排序置乱规则以及矩阵行移位和列移位的参数,对商品彩色防伪图片转换并拼接而得的组合三维二进制矩阵依次进行置乱拼接、列移位、回填反置乱,再置乱拼接、行移位和回填再反置乱操作,进而生成彩色图片CC,判断彩色图片CC与商品彩色商标图片是否一致以识别商品真伪,以此保证所提的商品防伪码识别方法简单可行、不易破解,商品防伪码的识别具有“安全性和可识别性”。
附图说明
图1为本发明的一种基于防伪图片置乱解密的商品防伪码识别流程示意图;
图2本发明实施例1中商品彩色商标图片的红、绿、蓝三基色图片;
图3本发明实施例1中商品彩色防伪图片的红、绿、蓝三基色图片;
图4本发明提供的基于防伪图片置乱解密的商品防伪码识别方法在实施例1中得到的彩色图片CC的红、绿、蓝三基色图片。
具体实施方式
为了使本领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种基于防伪图片置乱解密的商品防伪码识别方法,包括如下几个步骤:
(1)转码
首先,将商品防伪二维码进行解析,得到表征某件商品唯一身份信息的商品彩色商标图片和商品标识码,以及表征商品防伪信息的彩色防伪图片,
然后,将商品彩色商标图片分解出红、绿、蓝三基色,分别表示为矩阵R、G和B,并利用dec2bin(·,8)函数将矩阵R、G和B中元素分别逐个转换成8位二进制,得到三维二进制矩阵
Figure BDA0003299170130000084
Figure BDA0003299170130000085
接着,将商品标识码,表示为字符串A1A2,...,AL-1AL,逐个字符采用unicode2native(·)函数转换为数值型数据,即对于双字节字符的转换表示为
Figure BDA0003299170130000086
对于单字节字符的转换表示为
Figure BDA0003299170130000087
得到数值序列
Figure BDA0003299170130000088
Figure BDA0003299170130000091
再将数值序列P中元素逐个逐个采用PB(8i-7:8i)=dec2bin(Pi,8)运算,得到二进制序列
Figure BDA0003299170130000092
Figure BDA0003299170130000093
最后,将彩色防伪图片分解出红、绿、蓝三基色,分别表示为矩阵C_R、C_G和C_B,并利用dec2bin(·,8)函数将矩阵C_R、C_G和C_B中元素分别逐个转换成8位二进制,得到三维二进制矩阵
Figure BDA0003299170130000094
Figure BDA0003299170130000095
并将三维二进制矩阵
Figure BDA0003299170130000096
Figure BDA0003299170130000097
依次上下拼接,得到组合三维二进制矩阵
Figure BDA0003299170130000098
其中商品彩色商标图片的大小为M×N,矩阵R、G和B的大小均为M×N,三维二进制矩阵
Figure BDA0003299170130000099
Figure BDA00032991701300000910
的行数为M、列数为N、层数为8,商品标识码来自于GBK编码的字符,商品标识码的长度为L,数值序列P的长度为
Figure BDA00032991701300000911
二进制序列PB的长度为
Figure BDA00032991701300000912
Figure BDA00032991701300000913
彩色防伪图片的大小为M×N,矩阵C_R、C_G和C_B的大小均为M×N,三维二进制矩阵
Figure BDA00032991701300000914
Figure BDA00032991701300000915
的行数为M、列数为N、层数为8,组合三维二进制矩阵
Figure BDA00032991701300000916
的行数为3M、列数为N、层数为8;
(2)产生混沌序列
首先利用外部解密密钥(α,β),按照如下所示公式分别计算得到混沌系统的初值x1、参数λ、抽取开始位置δ1和δ2,令
Figure BDA00032991701300000917
则可得,
x1=mod(Key_inner-α,0.999)+0.001,
λ=2+mod(-Key_inner+β,29),
Figure BDA00032991701300000918
Figure BDA00032991701300000919
其中,α∈(0,1),β∈(0,100),[{PB8i-7,PB8i-6,...,PB8i-1,PB8i}]0表示统计二进制序列{PB8i-7,PB8i-6,...,PB8i-1,PB8i}中存在二进制‘0’的个数,
Figure BDA00032991701300000920
Figure BDA00032991701300000921
分别表示统计三维二进制矩阵
Figure BDA0003299170130000101
的第i行、第j列、第1~8层中存在二进制‘1’的个数,
然后由初值x1、参数λ,对如下公式所示的Chebyshev混沌系统进行迭代,k表示迭代次数,xk+1表示第k次迭代得到的混沌信号,其中k=1,2,…,从而得到混沌序列X,
xk+1=cos(λ·arccos(xk))
接着从混沌序列X中抽取第δ1个元素,按照如下公式分别计算得到矩阵行移位的行数H_number以及重置抽取开始位置δ1
Figure BDA0003299170130000102
从混沌序列X中抽取第δ1个元素,按照如下公式分别计算得到矩阵行移位的方向H_direction、重置抽取开始位置δ1,以及行移位矩阵的层面参数H_CM,
Figure BDA0003299170130000103
从混沌序列X中第δ1+2个元素开始连续抽取8个,得到长度为8的混沌序列
Figure BDA0003299170130000104
Figure BDA0003299170130000105
最后从混沌序列X中抽取第δ2个元素,按照如下公式分别计算得到矩阵列移位的列数L_number以及重置抽取开始位置δ2
Figure BDA0003299170130000106
从混沌序列X中抽取第δ2个元素,按照如下公式分别计算得到矩阵列移位的方向L_direction、重置抽取开始位置δ2,以及列移位矩阵的层面参数L_CM,
Figure BDA0003299170130000107
从混沌序列X中第δ2+2个元素开始连续抽取8个,得到长度为8的混沌序列
Figure BDA0003299170130000108
Figure BDA0003299170130000111
(3)列移位的置乱解密
首先,将混沌序列Y2按降序排序,根据序列Y2排序前、后的位置变化置乱规则,对组合三维二进制矩阵
Figure BDA0003299170130000112
元素按层进行置乱,得到置乱后的三维二进制矩阵
Figure BDA0003299170130000113
根据列移位矩阵的层面参数L_CM,进行如下拼接操作,
如果L_CM=0,则将置乱后的三维二进制矩阵
Figure BDA0003299170130000114
中元素逐层左右拼接,得到待列移位矩阵LRGB,表示为
Figure BDA0003299170130000115
Figure BDA0003299170130000116
如果L_CM=1,则将置乱后的三维二进制矩阵
Figure BDA0003299170130000117
中元素逐列左右拼接,得到列移位矩阵LRGB,表示为
Figure BDA0003299170130000118
其中待列移位矩阵LRGB的大小为3M×8N,
然后,根据矩阵列移位的列数L_number以及方向L_direction,进行如下整列移位操作,
如果L_direction=0,则将待列移位矩阵LRGB整列循环右移L_number行,得到列移位后的矩阵
Figure BDA0003299170130000119
如果L_direction=1,则将待列移位矩阵LRGB整列循环左移L_number行,得到列移位后的矩阵
Figure BDA00032991701300001110
最后,根据列移位矩阵的层面参数L_CM,进行如下回填操作,
如果L_CM=1,则将列移位后的矩阵
Figure BDA00032991701300001111
中元素逐层回填至一个行数为3M、列数为N、层数为8的三维二进制矩阵中,得到列移位后的三维二进制矩阵BL,表示为
Figure BDA00032991701300001112
Figure BDA00032991701300001113
Figure BDA00032991701300001114
Figure BDA00032991701300001115
如果L_CM=0,则将列移位后的矩阵
Figure BDA00032991701300001116
中元素逐列回填至一个行数为3M、列数为N、层数为8的三维二进制矩阵中,得到列移位后的三维二进制矩阵BL,表示为
Figure BDA0003299170130000121
Figure BDA0003299170130000122
Figure BDA0003299170130000123
将混沌序列Y2按升序排序,根据序列Y2排序前、后的位置变化置乱规则,对列移位后的三维二进制矩阵BL中元素按层进行反置乱,得到反置乱后的列移位三维二进制矩阵
Figure BDA0003299170130000124
(4)行移位的置乱解密
首先,将混沌序列Y1按降序排序,根据序列Y1排序前、后的位置变化置乱规则,对列移位三维二进制矩阵
Figure BDA0003299170130000125
中元素按层进行置乱,得到置乱后的列移位三维二进制矩阵
Figure BDA0003299170130000126
根据行移位矩阵的层面参数H_CM,进行如下拼接操作,
如果H_CM=0,则将列移位三维二进制矩阵
Figure BDA0003299170130000127
中元素逐层上下拼接,得到待行移位矩阵HRGB,表示为
Figure BDA0003299170130000128
如果H_CM=1,则将列移位三维二进制矩阵
Figure BDA0003299170130000129
中元素逐行上下拼接,得到待行移位矩阵HRGB,表示为
Figure BDA00032991701300001210
其中待行移位矩阵HRGB的大小为24M×N,
然后,根据矩阵行移位的行数H_number以及方向H_direction,进行如下整行移位操作,
如果H_direction=0,则将待行移位矩阵HRGB整行循环下移H_number行,得到行移位后矩阵
Figure BDA00032991701300001211
如果H_direction=1,则将待行移位矩阵HRGB整行循环上移H_number行,得到行移位后矩阵
Figure BDA00032991701300001212
最后,根据行移位矩阵的层面参数H_CM,进行如下回填操作,
如果H_CM=1,则将行移位后的矩阵
Figure BDA00032991701300001213
中元素逐层回填至一个行数为3M、列数为N、层数为8的三维二进制矩阵中,得到行列移位三维二进制矩阵BHL,表示为
Figure BDA00032991701300001214
Figure BDA0003299170130000131
Figure BDA0003299170130000132
Figure BDA0003299170130000133
如果H_CM=0,则将行移位后的矩阵
Figure BDA0003299170130000134
中元素逐行回填至一个行数为3M、列数为N、层数为8的三维二进制矩阵中,得到行列移位三维二进制矩阵BHL,表示为
Figure BDA0003299170130000135
Figure BDA0003299170130000136
Figure BDA0003299170130000137
将混沌序列Y1按升序排序,根据序列Y1排序前、后的位置变化置乱规则,对行列移位三维二进制矩阵BHL元素按层进行反置乱,得到反置乱后的行列移位三维二进制矩阵
Figure BDA0003299170130000138
(5)商品防伪二维码的生成
由反置乱后的行列移位三维二进制矩阵
Figure BDA0003299170130000139
分别得到数值矩阵
Figure BDA00032991701300001310
从而生成彩色图片CC,表示如下步骤,
步骤①将三维二进制矩阵
Figure BDA00032991701300001311
中第1~M行、第1~N列、第1~8层二进制元素,以某行某列1~8层的二进制元素为单位分别采用运算
Figure BDA00032991701300001312
转换为某个数值型数据并填入矩阵
Figure BDA00032991701300001313
中,其中i=1,2,...,M,j=1,2,...,N,继而可得数值矩阵
Figure BDA00032991701300001314
表示如下,
Figure BDA00032991701300001315
步骤②将三维二进制矩阵
Figure BDA00032991701300001316
中第M+1~2M行、第1~N列、第1~8层二进制元素,以某行某列1~8层的二进制元素为单位分别采用运算
Figure BDA00032991701300001317
转换为某个数值型数据并填入矩阵
Figure BDA00032991701300001318
中,其中i=1,2,...,M,j=1,2,...,N,继而可得数值矩阵
Figure BDA00032991701300001319
表示如下,
Figure BDA00032991701300001320
步骤③将三维二进制矩阵
Figure BDA0003299170130000141
中第2M+1~3M行、第1~N列、第1~8层二进制元素,以某行某列1~8层的二进制元素为单位分别采用运算
Figure BDA0003299170130000142
转换为某个数值型数据并填入矩阵
Figure BDA0003299170130000143
中,其中i=1,2,...,M,j=1,2,...,N,继而可得数值矩阵
Figure BDA0003299170130000144
表示如下,
Figure BDA0003299170130000145
步骤④将数值矩阵
Figure BDA0003299170130000146
分别表征彩色图片的红、绿、蓝三基色,利用
Figure BDA0003299170130000147
函数将矩阵
Figure BDA0003299170130000148
转换为彩色图片,从而生成彩色图片CC,其中彩色图片CC的大小为M×N,
再比较彩色图片CC与商品二维码解析而得的商品彩色商标图片是否一致,如一致,则商品识别为真品;如不一致,则商品识别为赝品。
下面结合具体的实施例对本发明作进一步说明:
实施例1
按照上述一种基于防伪图片置乱解密的商品防伪码识别方法,步骤如下:
(1)首先,将商品防伪二维码进行解析,得到表征某件商品唯一身份信息的商品彩色商标(其红、绿、蓝三基色图片如图2所示)和商品标识码‘123-123456-2021年08月11日-12345678’,以及表征商品防伪信息的彩色防伪图片(其红、绿、蓝三基色图片如图3所示),
然后,将商品彩色商标图片分解出红、绿、蓝三基色,分别表示为矩阵R、G和B,并将矩阵R、G和B中元素分别逐个转换成8位二进制,得到三维二进制矩阵
Figure BDA0003299170130000149
Figure BDA00032991701300001410
接着,将表征某件商品基本信息的商品标识码,即字符串‘123-123456-2021年08月11日-12345678’,逐个字符转换为数值型数据,得到数值序列P={49,50,51,45,49,50,51,52,53,54,45,50,48,50,49,196,234,48,56,212,194,49,49,200,213,45,49,50,51,52,53,54,55,56},再将数值序列P中元素逐个转换成8位二进制,得到二进制序列PB={0,0,1,1,0,0,0,1,0,0,1,1,0,0,1,0,0,0,1,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,0,1,0,0,1,1,0,0,1,0,0,0,1,1,0,0,1,1,0,0,1,1,0,1,0,0,0,0,1,1,0,1,0,1,0,0,1,1,0,1,1,0,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,0,0,0,1,1,0,0,0,1,1,1,0,0,0,1,0,0,1,1,1,0,1,0,1,0,0,0,1,1,0,0,0,0,0,0,1,1,1,0,0,0,1,1,0,1,0,1,0,0,1,1,0,0,0,0,1,0,0,0,1,1,0,0,0,1,0,0,1,1,0,0,0,1,1,1,0,0,1,0,0,0,1,1,0,1,0,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,0,1,0,0,1,1,0,0,1,0,0,0,1,1,0,0,1,1,0,0,1,1,0,1,0,0,0,0,1,1,0,1,0,1,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,0,0,1,1,1,0,0,0},
最后,将彩色防伪图片分解出红、绿、蓝三基色,分别表示为矩阵C_R、C_G和C_B,并将矩阵C_R、C_G和C_B中元素分别逐个转换成8位二进制,得到三维二进制矩阵
Figure BDA0003299170130000151
Figure BDA0003299170130000152
并将三维二进制矩阵
Figure BDA0003299170130000153
Figure BDA0003299170130000154
依次上下拼接,得到组合三维二进制矩阵
Figure BDA0003299170130000155
其中商品彩色商标图片的大小为76×76,矩阵R、G和B的大小均为76×76,三维二进制矩阵
Figure BDA0003299170130000156
Figure BDA0003299170130000157
Figure BDA0003299170130000158
的行数为76、列数为76、层数为8,商品标识码来自于GBK编码的字符,商品标识码的长度为L=31,数值序列P的长度为
Figure BDA0003299170130000159
二进制序列PB的长度为8×34=272,彩色防伪图片的大小为76×76,矩阵C_R、C_G和C_B的大小均为76×76,三维二进制矩阵
Figure BDA00032991701300001510
Figure BDA00032991701300001511
的行数为76、列数为76、层数为8,组合三维二进制矩阵
Figure BDA00032991701300001512
的行数为228、列数为76、层数为8;
(2)首先利用外部加密密钥(α=0.12345,β=6.54321),按照如下公式分别计算得到混沌系统的初值x1、参数λ、抽取开始位置δ1和δ2,令
Figure BDA00032991701300001513
则可得,
x1=mod(0.060894100521666-0.12345,0.999)+0.001=0.937444100521666,
λ=2+mod(-0.060894100521666+6.54321,29)=8.482315899478333,
δ1=mod(5410052166,89)+1=89,
δ2=mod(55410052166,109)+1=49,
然后由初值x1、参数λ,对Chebyshev混沌系统进行迭代,得到混沌序列X,
接着从混沌序列X中抽取第89个元素,计算得到矩阵行移位的行数H_number=mod(92893772299309,24×76)=1509以及重置抽取开始位置δ1=89+mod(1509,123)=122,
从混沌序列X中抽取第122个元素,计算得到矩阵行移位的方向H_direction=1、重置抽取开始位置δ1=122+59=181,以及行移位矩阵的层面参数H_CM=0,
从混沌序列X中第183个元素开始连续抽取8个,得到长度为8的混沌序列Y1={0.640718053979319,0.415847546804130,-0.966038615644033,0.763729419664320,0.945741379717408,-0.944554589219226,0.245645345982807,0.221380205639024},
最后从混沌序列X中抽取第49个元素,计算得到矩阵列移位的列数L_number=mod(37849618864901,8×76)=414以及重置抽取开始位置δ2=49+mod(414,123)=94,
从混沌序列X中抽取第94个元素,计算得到矩阵列移位的方向L_direction=0、重置抽取开始位置δ2=94+53=147,以及列移位矩阵的层面参数L_CM=1,
从混沌序列X中第149个元素开始连续抽取8个,得到长度为8的混沌序列Y2={-0.726970140964423,0.191422875691690,0.640096385770775,0.409593790562923,-0.949360784579567,0.366344995675700,-0.753331087148370,-0.139552787306207};
(3)首先,将混沌序列Y2按降序排序,根据序列Y2排序前、后的位置变化置乱规则{3,4,6,2,8,1,7,5},对组合三维二进制矩阵
Figure BDA0003299170130000161
元素按层进行置乱,得到置乱后的三维二进制矩阵
Figure BDA0003299170130000162
则将置乱后的三维二进制矩阵
Figure BDA0003299170130000163
中元素逐层左右拼接,得到待列移位矩阵LRGB,表示为
Figure BDA0003299170130000164
然后,将待列移位矩阵LRGB整列循环右移414行,得到列移位后的矩阵
Figure BDA0003299170130000165
最后,将列移位后的矩阵
Figure BDA0003299170130000166
中元素逐列回填至一个行数为228、列数为76、层数为8的三维二进制矩阵中,得到列移位后的三维二进制矩阵BL,表示为
Figure BDA0003299170130000167
Figure BDA0003299170130000168
Figure BDA0003299170130000169
将混沌序列Y2按升序排序,根据序列Y2排序前、后的位置变化置乱规则{5,7,1,8,2,6,4,3},对列移位后的三维二进制矩阵BL中元素按层进行反置乱,得到反置乱后的列移位三维二进制矩阵
Figure BDA00032991701300001610
(4)将混沌序列Y1按降序排序,根据序列Y1排序前、后的位置变化置乱规则{5,4,1,2,7,8,6,3},对列移位三维二进制矩阵
Figure BDA00032991701300001611
中元素按层进行置乱,得到置乱后的列移位三维二进制矩阵
Figure BDA00032991701300001612
将列移位三维二进制矩阵
Figure BDA00032991701300001613
中元素逐行上下拼接,得到待行移位矩阵HRGB,表示为
Figure BDA00032991701300001614
其中待行移位矩阵HRGB的大小为1824×76,
然后,将待行移位矩阵HRGB整行循环上移1509行,得到行移位后矩阵
Figure BDA00032991701300001615
最后,将行移位后的矩阵
Figure BDA0003299170130000171
中元素逐层回填至一个行数为228、列数为76、层数为8的三维二进制矩阵中,得到行列移位三维二进制矩阵BHL,表示为
Figure BDA0003299170130000172
Figure BDA0003299170130000173
Figure BDA0003299170130000174
Figure BDA0003299170130000175
将混沌序列Y1按升序排序,根据序列Y1排序前、后的位置变化置乱规则{3,6,8,7,2,1,4,5},对行列移位三维二进制矩阵BHL元素按层进行反置乱,得到反置乱后的行列移位三维二进制矩阵
Figure BDA0003299170130000176
(5)由反置乱后的行列移位三维二进制矩阵
Figure BDA0003299170130000177
分别得到数值矩阵
Figure BDA0003299170130000178
从而生成彩色图片CC(其红、绿、蓝三基色图片如图4所示),其中矩阵
Figure BDA0003299170130000179
的大小均为76×76,彩色图片CC的大小为76×76,再比较彩色图片CC与商品二维码解析而得的商品彩色商标图片,发现两者是一致的,则商品识别为真品。
实施例2
按照上述基于防伪图片置乱解密的商品防伪码识别方法,某件商品的商品防伪二维码(解析可得商品彩色商标、商品标识码以及彩色防伪图片)及其商品防伪码识别步骤与具体实施例1相似,仅某个外部解密密钥发生细微变化:α=0.12345000000001;或β=6.54321000000001,商品防伪码的识别结果如表1所示。由下表可见:一旦外部解密密钥即使发生细微变化,商品防伪码的识别结果会发生极大的变化,由此可见本专利所提一种基于防伪图片置乱解密的商品防伪码识别方法具有密钥敏感性。
表1外部解密密钥发生微变时,商品防伪码的识别结果
Figure BDA00032991701300001710
Figure BDA0003299170130000181
实施例3
按照上述基于防伪图片置乱解密的商品防伪码识别方法,某件商品的商品防伪二维码解析可得的商品彩色商标图片和彩色防伪图片、外部解密密钥及其商品防伪码识别步骤与具体实施例1相似,仅商品防伪二维码解析可得的商品标识码发生微变:‘723-123456-2021年08月11日-12345678’;或者‘123-123456-2021年03月11日-12345678’;或者‘123-123456-2021年08月11日-12345876’,商品防伪码的识别结果如表2所示。由下表可见:一旦商品标识码即使发生细微变化,商品防伪码的识别结果会发生极大的变化,由此可见本专利所提一种基于防伪图片置乱解密的商品防伪码识别方法对于商品标识码具有敏感性。
表2商品标识码发生微变时,商品防伪码的识别结果
Figure BDA0003299170130000191
实施例4
按照上述基于防伪图片置乱解密的商品防伪码识别方法,某件商品的商品防伪二维码解析可得的商品标识码和彩色防伪图片、外部解密密钥及其商品防伪码识别步骤与具体实施例1相似,仅商品防伪二维码解析可得的商品彩色商标图片发生微变:商品彩色商标图片中红基色某点像素发生微变,如R(1,1)=mod(R(1,1)+1,256);或者商品彩色商标图片中绿基色某点像素发生微变,如G(M,1)=mod(G(M,1)-1,256);或者商品彩色商标图片中蓝基色某点像素发生微变,如B(M,N)=mod(B(M,N)+1,256),商品防伪码的识别结果如表3所示。由下表可见:一旦商品彩色商标图片即使发生细微变化,商品防伪码的识别结果会发生极大的变化,由此可见本专利所提一种基于防伪图片置乱解密的商品防伪码识别方法对于商品彩色商标图片具有敏感性。
表3商品彩色商标图片发生微变时,商品防伪码的识别结果
Figure BDA0003299170130000192
Figure BDA0003299170130000201
实施例5
按照上述基于防伪图片置乱解密的商品防伪码识别方法,某件商品的商品防伪二维码解析可得的商品标识码和彩色商标图片、外部解密密钥及其商品防伪码识别步骤与具体实施例1相似,仅商品防伪二维码解析可得的商品彩色防伪图片发生微变:商品彩色防伪图片中各点像素发生微变,如C-R(1,1)=mod(C-R(1,1)+1,256),C-G(1,1)=mod(C-G(1,1)+1,256),C-B(1,1)=mod(C-B(1,1)+1,256);或如C-R(1,1)=mod(C-R(1,1)-1,256),C-G(1,1)=mod(C-G(1,1)-1,256),C-B(1,1)=mod(C-B(1,1)-1,256);或如C-R(1,1)=mod(C-R(1,1)+55,256),C-G(1,1)=mod(C-G(1,1)+55,256),C-B(1,1)=mod(C-B(1,1)+55,256),商品防伪码的识别结果如表4所示。由下表可见:一旦商品彩色防伪图片即使发生细微变化,商品防伪码的识别结果会发生极大的变化,由此可见本专利所提一种基于防伪图片置乱解密的商品防伪码识别方法对于商品彩色防伪图片具有敏感性。
表4商品彩色防伪图片发生微变时,商品防伪码的生成结果
Figure BDA0003299170130000202
Figure BDA0003299170130000211
由上述具体实施例2~5分析可知,本专利所提一种基于防伪图片置乱解密的商品防伪码识别方法所识别的商品真伪不仅与外部解密密钥、商品唯一身份信息(商品彩色商标和商品标识码)密切相关,而且依赖于表征商品防伪信息的彩色防伪图片,因此本专利所提的一种基于防伪图片置乱解密的商品防伪码识别方法具有很强的安全性,可以较好地抵抗唯密文攻击,不易破解。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (6)

1.一种基于防伪图片置乱解密的商品防伪码识别方法,其特征在于,包括如下几个步骤:
(1)转码
首先,将商品防伪二维码进行解析,得到表征某件商品唯一身份信息的商品彩色商标图片和商品标识码,以及表征商品防伪信息的彩色防伪图片,
然后,将商品彩色商标图片分解出红、绿、蓝三基色,分别表示为矩阵R、G和B,并将矩阵R、G和B中元素分别逐个转换成8位二进制,得到三维二进制矩阵
Figure FDA0003594516510000011
Figure FDA0003594516510000012
接着,将商品标识码,表示为字符串A1A2,...,AL-1AL,逐个字符转换为数值型数据,得到数值序列
Figure FDA0003594516510000013
再将数值序列P中元素逐个转换成8位二进制,得到二进制序列
Figure FDA0003594516510000014
最后,将彩色防伪图片分解出红、绿、蓝三基色,分别表示为矩阵C_R、C_G和C_B,并将矩阵C_R、C_G和C_B中元素分别逐个转换成8位二进制,得到三维二进制矩阵
Figure FDA0003594516510000015
Figure FDA0003594516510000016
并将三维二进制矩阵
Figure FDA0003594516510000017
Figure FDA0003594516510000018
依次上下拼接,得到组合三维二进制矩阵
Figure FDA0003594516510000019
其中商品彩色商标图片的大小为M×N,矩阵R、G和B的大小均为M×N,三维二进制矩阵
Figure FDA00035945165100000110
Figure FDA00035945165100000111
的行数为M、列数为N、层数为8,商品标识码来自于GBK编码的字符,商品标识码的长度为L,数值序列P的长度为
Figure FDA00035945165100000112
二进制序列PB的长度为
Figure FDA00035945165100000113
Figure FDA00035945165100000114
彩色防伪图片的大小为M×N,矩阵C_R、C_G和C_B的大小均为M×N,三维二进制矩阵
Figure FDA00035945165100000115
Figure FDA00035945165100000116
的行数为M、列数为N、层数为8,组合三维二进制矩阵
Figure FDA00035945165100000117
的行数为3M、列数为N、层数为8;
(2)产生混沌序列
首先利用外部解密密钥(α,β),按照如下(1)-(4)公式分别计算得到混沌系统的初值x1、参数λ、抽取开始位置δ1和δ2,令
Figure FDA00035945165100000118
则可得,
x1=mod(Key_inner-α,0.999)+0.001, (1)
λ=2+mod(-Key_inner+β,29), (2)
Figure FDA0003594516510000021
Figure FDA0003594516510000022
其中,α∈(0,1),β∈(0,100),[{PB8i-7,PB8i-6,...,PB8i-1,PB8i}]0表示统计二进制序列{PB8i-7,PB8i-6,...,PB8i-1,PB8i}中存在二进制‘0’的个数,
Figure FDA0003594516510000023
Figure FDA0003594516510000024
分别表示统计三维二进制矩阵
Figure FDA0003594516510000025
的第i行、第j列、第1~8层中存在二进制‘1’的个数,
然后由初值x1、参数λ,对如下公式(5)所示的Chebyshev混沌系统进行迭代,k表示迭代次数,xk+1表示第k次迭代得到的混沌信号,其中k=1,2,…,从而得到混沌序列X,
xk+1=cos(λ·arccos(xk)) (5)
接着从混沌序列X中抽取第δ1个元素,按照如下公式(6)分别计算得到矩阵行移位的行数H_number以及重置抽取开始位置δ1
Figure FDA0003594516510000026
从混沌序列X中抽取第δ1个元素,按照如下公式(7)分别计算得到矩阵行移位的方向H_direction、重置抽取开始位置δ1,以及行移位矩阵的层面参数H_CM,
Figure FDA0003594516510000027
从混沌序列X中第δ1+2个元素开始连续抽取8个,得到长度为8的混沌序列
Figure FDA0003594516510000028
Figure FDA0003594516510000029
最后从混沌序列X中抽取第δ2个元素,按照如下公式(8)分别计算得到矩阵列移位的列数L_number以及重置抽取开始位置δ2
Figure FDA00035945165100000210
从混沌序列X中抽取第δ2个元素,按照如下公式(9)分别计算得到矩阵列移位的方向L_direction、重置抽取开始位置δ2,以及列移位矩阵的层面参数L_CM,
Figure FDA0003594516510000031
从混沌序列X中第δ2+2个元素开始连续抽取8个,得到长度为8的混沌序列
Figure FDA0003594516510000032
Figure FDA0003594516510000033
(3)列移位的置乱解密
首先,将混沌序列Y2按降序排序,根据序列Y2排序前、后的位置变化置乱规则,对组合三维二进制矩阵
Figure FDA0003594516510000034
元素按层进行置乱,得到置乱后的三维二进制矩阵
Figure FDA0003594516510000035
根据列移位矩阵的层面参数L_CM,进行如下拼接操作,
如果L_CM=0,则将置乱后的三维二进制矩阵
Figure FDA0003594516510000036
中元素逐层左右拼接,得到待列移位矩阵LRGB,表示为
Figure FDA0003594516510000037
Figure FDA0003594516510000038
如果L_CM=1,则将置乱后的三维二进制矩阵
Figure FDA0003594516510000039
中元素逐列左右拼接,得到列移位矩阵LRGB,表示为
Figure FDA00035945165100000310
其中待列移位矩阵LRGB的大小为3M×8N,
然后,根据矩阵列移位的列数L_number以及方向L_direction,进行如下整列移位操作,
如果L_direction=0,则将待列移位矩阵LRGB整列循环右移L_number行,得到列移位后的矩阵
Figure FDA00035945165100000311
如果L_direction=1,则将待列移位矩阵LRGB整列循环左移L_number行,得到列移位后的矩阵
Figure FDA00035945165100000312
最后,根据列移位矩阵的层面参数L_CM,进行如下回填操作,
如果L_CM=1,则将列移位后的矩阵
Figure FDA00035945165100000313
中元素逐层回填至一个行数为3M、列数为N、层数为8的三维二进制矩阵中,得到列移位后的三维二进制矩阵BL,表示为
Figure FDA0003594516510000041
Figure FDA0003594516510000042
Figure FDA0003594516510000043
Figure FDA0003594516510000044
如果L_CM=0,则将列移位后的矩阵
Figure FDA0003594516510000045
中元素逐列回填至一个行数为3M、列数为N、层数为8的三维二进制矩阵中,得到列移位后的三维二进制矩阵BL,表示为
Figure FDA0003594516510000046
Figure FDA0003594516510000047
Figure FDA0003594516510000048
将混沌序列Y2按升序排序,根据序列Y2排序前、后的位置变化置乱规则,对列移位后的三维二进制矩阵BL中元素按层进行反置乱,得到反置乱后的列移位三维二进制矩阵
Figure FDA0003594516510000049
(4)行移位的置乱解密
首先,将混沌序列Y1按降序排序,根据序列Y1排序前、后的位置变化置乱规则,对列移位三维二进制矩阵
Figure FDA00035945165100000410
中元素按层进行置乱,得到置乱后的列移位三维二进制矩阵
Figure FDA00035945165100000411
根据行移位矩阵的层面参数H_CM,进行如下拼接操作,
如果H_CM=0,则将列移位三维二进制矩阵
Figure FDA00035945165100000412
中元素逐层上下拼接,得到待行移位矩阵HRGB,表示为
Figure FDA00035945165100000413
如果H_CM=1,则将列移位三维二进制矩阵
Figure FDA00035945165100000414
中元素逐行上下拼接,得到待行移位矩阵HRGB,表示为
Figure FDA00035945165100000415
其中待行移位矩阵HRGB的大小为24M×N,
然后,根据矩阵行移位的行数H_number以及方向H_direction,进行如下整行移位操作,
如果H_direction=0,则将待行移位矩阵HRGB整行循环下移H_number行,得到行移位后矩阵
Figure FDA0003594516510000051
如果H_direction=1,则将待行移位矩阵HRGB整行循环上移H_number行,得到行移位后矩阵
Figure FDA0003594516510000052
最后,根据行移位矩阵的层面参数H_CM,进行如下回填操作,
如果H_CM=1,则将行移位后的矩阵
Figure FDA0003594516510000053
中元素逐层回填至一个行数为3M、列数为N、层数为8的三维二进制矩阵中,得到行列移位三维二进制矩阵BHL,表示为
Figure FDA0003594516510000054
Figure FDA0003594516510000055
Figure FDA0003594516510000056
Figure FDA0003594516510000057
如果H_CM=0,则将行移位后的矩阵
Figure FDA0003594516510000058
中元素逐行回填至一个行数为3M、列数为N、层数为8的三维二进制矩阵中,得到行列移位三维二进制矩阵BHL,表示为
Figure FDA0003594516510000059
Figure FDA00035945165100000510
Figure FDA00035945165100000511
将混沌序列Y1按升序排序,根据序列Y1排序前、后的位置变化置乱规则,对行列移位三维二进制矩阵BHL元素按层进行反置乱,得到反置乱后的行列移位三维二进制矩阵
Figure FDA00035945165100000512
(5)商品防伪二维码的生成
由反置乱后的行列移位三维二进制矩阵
Figure FDA00035945165100000513
分别得到数值矩阵
Figure FDA00035945165100000514
从而生成彩色图片CC,其中矩阵
Figure FDA00035945165100000515
的大小均为M×N,彩色图片CC的大小为M×N,再比较彩色图片CC与商品二维码解析而得的商品彩色商标图片是否一致,如一致,则商品识别为真品;如不一致,则商品识别为赝品。
2.根据权利要求1所述的一种基于防伪图片置乱解密的商品防伪码识别方法,其特征在于,步骤(1)中所述的将矩阵R、G和B中元素分别逐个转换成8位二进制,是指将矩阵R中元素逐个采用
Figure FDA00035945165100000516
运算得到三维二进制矩阵
Figure FDA00035945165100000517
将矩阵G中元素逐个采用
Figure FDA00035945165100000518
运算得到三维二进制矩阵
Figure FDA00035945165100000519
将矩阵B中元素逐个采用
Figure FDA00035945165100000520
运算得到三维二进制矩阵
Figure FDA00035945165100000521
3.根据权利要求1所述的一种基于防伪图片置乱解密的商品防伪码识别方法,其特征在于,步骤(1)中所述的将商品标识码,表示为字符串A1A2,...,AL-1AL,逐个字符转换为数值型数据,是指将商品标识码中字符逐个采用unicode2native(·)函数转换为数值型数据,即对于双字节字符的转换表示为
Figure FDA0003594516510000061
对于单字节字符的转换表示为
Figure FDA0003594516510000062
从而得到数值序列
Figure FDA0003594516510000063
4.根据权利要求1所述的一种基于防伪图片置乱解密的商品防伪码识别方法,其特征在于,步骤(1)中所述的将数值序列P中元素逐个转换成8位二进制,是指将数值序列P中元素逐个采用PB(8i-7:8i)=dec2bin(Pi,8)运算,得到二进制序列
Figure FDA0003594516510000064
Figure FDA0003594516510000065
5.根据权利要求1所述的一种基于防伪图片置乱解密的商品防伪码识别方法,其特征在于,步骤(1)中所述的将矩阵C_R、C_G和C_B中元素分别逐个转换成8位二进制,是指将矩阵C_R中元素逐个采用
Figure FDA0003594516510000066
运算得到三维二进制矩阵
Figure FDA0003594516510000067
将矩阵C_G中元素逐个采用
Figure FDA0003594516510000068
运算得到三维二进制矩阵
Figure FDA0003594516510000069
将矩阵C_B中元素逐个采用
Figure FDA00035945165100000610
运算得到三维二进制矩阵
Figure FDA00035945165100000611
6.根据权利要求1所述的一种基于防伪图片置乱解密的商品防伪码识别方法,其特征在于,步骤(5)中所述的由反置乱后的行列移位三维二进制矩阵
Figure FDA00035945165100000612
分别得到数值矩阵
Figure FDA00035945165100000613
从而生成彩色图片CC,表示如下步骤:
步骤①将三维二进制矩阵
Figure FDA00035945165100000614
中第1~M行、第1~N列、第1~8层二进制元素,以某行某列1~8层的二进制元素为单位分别采用运算
Figure FDA00035945165100000615
转换为某个数值型数据并填入矩阵
Figure FDA00035945165100000616
中,其中i=1,2,...,M,j=1,2,...,N,继而可得数值矩阵
Figure FDA00035945165100000617
表示如下,
Figure FDA00035945165100000618
步骤②将三维二进制矩阵
Figure FDA00035945165100000619
中第M+1~2M行、第1~N列、第1~8层二进制元素,以某行某列1~8层的二进制元素为单位分别采用运算
Figure FDA00035945165100000620
转换为某个数值型数据并填入矩阵
Figure FDA00035945165100000621
中,其中i=1,2,...,M,j=1,2,...,N,继而可得数值矩阵
Figure FDA00035945165100000622
表示如下,
Figure FDA0003594516510000071
步骤③将三维二进制矩阵
Figure FDA0003594516510000072
中第2M+1~3M行、第1~N列、第1~8层二进制元素,以某行某列1~8层的二进制元素为单位分别采用运算
Figure FDA0003594516510000073
转换为某个数值型数据并填入矩阵
Figure FDA0003594516510000074
中,其中i=1,2,...,M,j=1,2,...,N,继而可得数值矩阵
Figure FDA0003594516510000075
表示如下,
Figure FDA0003594516510000076
步骤④将数值矩阵
Figure FDA0003594516510000077
分别表征彩色图片的红、绿、蓝三基色,利用
Figure FDA0003594516510000078
函数将矩阵
Figure FDA0003594516510000079
Figure FDA00035945165100000710
转换为彩色图片,从而生成彩色图片CC,其中彩色图片CC的大小为M×N。
CN202111185838.9A 2021-10-12 2021-10-12 一种基于防伪图片置乱解密的商品防伪码识别方法 Active CN113935347B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111185838.9A CN113935347B (zh) 2021-10-12 2021-10-12 一种基于防伪图片置乱解密的商品防伪码识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111185838.9A CN113935347B (zh) 2021-10-12 2021-10-12 一种基于防伪图片置乱解密的商品防伪码识别方法

Publications (2)

Publication Number Publication Date
CN113935347A CN113935347A (zh) 2022-01-14
CN113935347B true CN113935347B (zh) 2022-06-21

Family

ID=79278303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111185838.9A Active CN113935347B (zh) 2021-10-12 2021-10-12 一种基于防伪图片置乱解密的商品防伪码识别方法

Country Status (1)

Country Link
CN (1) CN113935347B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109889686A (zh) * 2019-01-28 2019-06-14 郑州轻工业学院 基于h分形结构和动态自可逆矩阵的图像加密方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011142133A1 (ja) * 2010-05-11 2011-11-17 エイシップ・ソリューションズ株式会社 誤り訂正符号処理方法及びその装置
US20140321643A1 (en) * 2013-04-27 2014-10-30 Li Liu Method of generating multi-dimensional key
CN112116046B (zh) * 2020-09-28 2022-01-11 江苏工程职业技术学院 一种基于分层加密的垃圾分类二维码生成方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109889686A (zh) * 2019-01-28 2019-06-14 郑州轻工业学院 基于h分形结构和动态自可逆矩阵的图像加密方法

Also Published As

Publication number Publication date
CN113935347A (zh) 2022-01-14

Similar Documents

Publication Publication Date Title
Zhang et al. Reference sharing mechanism for watermark self-embedding
CN112001467B (zh) 一种基于图片加解密的商品防伪码生成与识别方法
CN111382452B (zh) 一种汉字转图片的加密方法
CN112884104B (zh) 一种基于混沌加密的商品防伪二维码生成方法
JPH11507141A (ja) 数字コーディングされた情報単位からなるシーケンスの符号化方法
CN112001468B (zh) 一种字符型商品防伪码生成与识别方法
CN112884105B (zh) 一种基于移位加密的商品防伪二维码生成方法
CN110475038B (zh) 一种结合最小闭包编码的字符画生成式隐藏及恢复方法
CN113255860B (zh) 一种基于分层加密的商品防伪二维码生成方法
CN113052286A (zh) 一种基于置乱加密的商品防伪二维码生成方法
CN113962839A (zh) 一种基于tmqir的多色彩模式量子图像盲水印方法
WO2022131965A1 (ru) Способ кодирования и декодирования цифровой информации в виде многомерного нанобар-кода
CN107203798B (zh) 一种限制访问型图形背景二维码的生成和识别方法
CN113935347B (zh) 一种基于防伪图片置乱解密的商品防伪码识别方法
RU2656734C2 (ru) Способ кодирования и декодирования цифровой информации в виде ультрасжатого нанобар-кода (варианты)
CN113159252A (zh) 一种基于不同置乱规则的商品防伪二维码生成方法
CN112217627A (zh) 一种分层加密的商品防伪码生成方法
Singh et al. Detection of seal and signature entities with hierarchical recovery based on watermark self embedding in tampered digital documents
CN105205777B (zh) 一种隐形图像密码的编码方法
CN113935345B (zh) 一种基于字符串转图片加密的商品防伪码批量生成方法
CN113947096A (zh) 一种基于图片转字符串解密的商品防伪码识别方法
CN113935346B (zh) 一种基于商标图片置乱加密的商品防伪码生成方法
Li et al. A recoverable chaos‐based fragile watermarking with high PSNR preservation
CN115379066A (zh) 基于自适应压缩编码的加密图像可逆数据加密解密方法
Hemida et al. Block-DCT based alterable-coding restorable fragile watermarking scheme with superior localization

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant