CN113255860B - 一种基于分层加密的商品防伪二维码生成方法 - Google Patents

一种基于分层加密的商品防伪二维码生成方法 Download PDF

Info

Publication number
CN113255860B
CN113255860B CN202110326958.XA CN202110326958A CN113255860B CN 113255860 B CN113255860 B CN 113255860B CN 202110326958 A CN202110326958 A CN 202110326958A CN 113255860 B CN113255860 B CN 113255860B
Authority
CN
China
Prior art keywords
matrix
sequence
binary
commodity
counterfeiting
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
CN202110326958.XA
Other languages
English (en)
Other versions
CN113255860A (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.)
Hefei Minglong Electronic Technology Co ltd
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 CN202110326958.XA priority Critical patent/CN113255860B/zh
Publication of CN113255860A publication Critical patent/CN113255860A/zh
Application granted granted Critical
Publication of CN113255860B publication Critical patent/CN113255860B/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
    • 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
    • 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/06046Constructional details

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Credit Cards Or The Like (AREA)

Abstract

本发明公开了一种基于分层加密的商品防伪二维码生成方法,包括如下步骤:将表征某件商品唯一身份信息的商品标识码A,进行数值型数据以及8位二进制转换,得到组合二进制矩阵B;由计算而得的混沌系统初值、参数和初次抽取位置,经混沌映射迭代产生混沌序列;依次利用抽取而得的混沌信号,对矩阵B分层进行循环移位,同时混沌信号的抽取位置随移位后分层数据实时调整,得二进制矩阵
Figure DDA0002995040230000011
随后将矩阵
Figure DDA0002995040230000012
中每列元素转换而成的数值型数据依次填放入表征灰度图片的矩阵中,生成一幅灰度图像,进而组合生成商品防伪二维码。本发明所提基于分层加密的商品防伪二维码生成方法简单可行,具有很强的安全性、不易破解,生成的商品防伪二维码具有“唯一性和不可伪造性”。

Description

一种基于分层加密的商品防伪二维码生成方法
技术领域
本发明涉及数码防伪技术领域,特别涉及一种基于分层加密的商品防伪二维码生成方法。
背景技术
数码防伪技术是基于日益猖獗的假冒伪劣产品所应运而生的,现代的数码防伪是一种综合利用数字编码技术、加密技术、数据库技术、计算机网络,交互式语音处理(IRV)等技术的新型高科技防伪技术。由于传统防伪技术的种种缺点,综观其数码防伪技术的发展过程,并根据防伪码生成方式的不同数码防伪技术主要经历了随机条码防伪模型、加密有序流水号防伪模型以及综合防伪模型三个阶段。在各方人士的不懈努力之下,数码防伪技术已经成为了防伪行业中运用最为广泛的技术之一,在产品防伪领域起着举足轻重的作用。
随着社会不断进步,市场日益发展。对于企业来说,数码防伪能保持品牌好的口碑。同时,“一物一码”的防伪方式,大大增加了造假者的造假成本,可以记录产品的定位信息,统计产品查询次数和查询方式,根据企业要求设置查询警戒线。目前智能终端已成为人们日常生活中重要的组成部分,而数码防伪技术也逐渐融入互联网,用户通过智能终端扫描商品防伪二维码进行“一键式”真伪查询,互联网的发展和普及为数码防伪系统的落地奠定了良好的基础。
数码防伪中最根本的部分就是利用加密算法生成商品防伪码,其中加密算法的选择就变得尤为重要。由于混沌系统具有高随机性和参数敏感性,产生的混沌信号对加密信号的扩散性和置乱性有很大的影响,混沌信号作为一种天然的密码而被引入数码防伪的加密中,用混沌密码技术进行商品信息的加密是一个很好的选择。在此情况下,利用混沌密码技术,提出一种基于分层加密的商品防伪二维码生成方法,以生成具有“唯一性和不可伪造性”的商品防伪二维码,具有很好的实际应用推广价值。
发明内容
发明目的:本发明的目的是为了解决现有技术中的不足,提供一种基于分层加密的商品防伪二维码生成方法,由混沌迭代产生混沌序列,对商品标识码进行数值型数据以及二进制转换而成的组合二进制矩阵B,利用抽取而得的混沌信号,依次分层进行循环移位,同时混沌信号的抽取位置随着移位后分层数据进行实时调整,生成一幅灰度图像,进而组合生成商品防伪二维码,以此保证所提基于分层加密的商品防伪二维码生成方法简单可行,具有很强的安全性、不易破解,生成的商品防伪二维码具有“唯一性和不可伪造性”。
技术方案:一种基于分层加密的商品防伪二维码生成方法,包括如下几个步骤:
(1)转码
首先,将表征某件商品唯一身份信息的商品标识码A,逐个字符转换为数值型数据,得到数值序列
Figure GDA00031618108500000211
然后,依次将数值序列P中元素Pi逐个转换成8bits的二进制序列{PBi1,PBi2,PBi3,PBi4,PBi5,PBi6,PBi7,PBi8},并将
Figure GDA0003161810850000021
个二进制序列{PBi1,PBi2,PBi3,PBi4,PBi5,PBi6,PBi7,PBi8}从左往右逐列填入矩阵B中,其中i=1,2,...,
Figure GDA0003161810850000022
矩阵某行对应于各二进制序列的某位,从而得到组合二进制矩阵B,
Figure GDA0003161810850000023
其中商品标识码A为GBK编码的字符,商品标识码A的长度表示为
Figure GDA0003161810850000024
数值序列P的长度为
Figure GDA0003161810850000025
组合二进制矩阵B的大小为
Figure GDA0003161810850000026
Figure GDA0003161810850000027
(2)混沌序列的产生
首先,利用数值序列P及其转换的组合二进制矩阵B,以及外部密钥α和β,按照如下公式(1)-(3)分别计算得到Bernoulli混沌映射的初值x1和参数λ以及初次抽取位置n,
Figure GDA0003161810850000028
x1=0.01+mod(α-kp,0.99), (1)
λ=0.1+mod(β+kp,0.9), (2)
Figure GDA0003161810850000029
其中,<B>表示组合二进制矩阵B中二进制位‘1’的个数,外部密钥满足α∈(0,1),β∈(0,1),
Figure GDA00031618108500000210
表示对某数取整且取整后的值不大于该数,
然后,由混沌映射的初值x1和参数λ,对如下公式(4)所示Bernoulli混沌映射进行迭代,式中k表示迭代次数(k=1,2,...)、xk+1表示第k次迭代得到的混沌信号,
Figure GDA0003161810850000031
得到混沌序列X={x1,x2,...},
(3)组合二进制矩阵B的分层移位加密
首先,将组合二进制矩阵B中元素分为8层,其中组合二进制矩阵B的第k层表示为
Figure GDA0003161810850000032
k=1,2,...,7,8,
然后,利用混沌序列X={x1,x2,...},对组合二进制矩阵B,逐层进行如下操作:
S10.令二进制矩阵
Figure GDA0003161810850000033
为空矩阵,且i=1,
S11.从混沌序列X中抽取第n个元素xn,按照如下公式(5)、(6)分别计算得到移位方向F_direction和移位个数F_number,
Figure GDA0003161810850000034
Figure GDA0003161810850000035
S12.取组合二进制矩阵B的第i层,得到二进制序列
Figure GDA0003161810850000036
接着判断移位方向F_direction的数值,
如果F_direction=0,则将二进制序列
Figure GDA0003161810850000037
循环左移,移位F_number个二进制,得到移位后的二进制序列
Figure GDA0003161810850000038
如果F_direction=1,则将二进制序列
Figure GDA0003161810850000039
循环右移,移位F_number个二进制,得到移位后的二进制序列
Figure GDA00031618108500000310
随后,将二进制序列
Figure GDA00031618108500000311
从左往右按序存入二进制矩阵
Figure GDA00031618108500000312
的第i行,
S13.比较i与
Figure GDA00031618108500000313
的大小,
若i<8,则对二进制序列
Figure GDA00031618108500000314
进行分组,将二进制序列
Figure GDA00031618108500000315
中元素从左到右依次正向以32个元素为单位进行分组,得到分组后的二进制序列,表示为BF{1},BF{2},...,
Figure GDA00031618108500000316
其中
Figure GDA00031618108500000317
表示对
Figure GDA00031618108500000318
取整且取整后的值不小于
Figure GDA00031618108500000319
再对抽取位置n按照如下公式(7)进行调整,且令i=i+1,随后转向步骤S11,
Figure GDA00031618108500000320
若i=8,则停止操作,从而得到二进制矩阵
Figure GDA00031618108500000321
表示如下,
Figure GDA0003161810850000041
最后,利用bin2dec(·)函数,依次将二进制矩阵
Figure GDA0003161810850000042
的每列元素
Figure GDA0003161810850000043
转换成数值型数据
Figure GDA0003161810850000044
其中
Figure GDA0003161810850000045
表示为
Figure GDA0003161810850000046
从而得到数值序列
Figure GDA0003161810850000047
(4)二维码的生成
首先,确定灰度图片的大小,令行数为H,列数为L,其中列数
Figure GDA0003161810850000048
行数H满足如下,
Figure GDA0003161810850000049
其中,
Figure GDA00031618108500000410
表示对某数取整且取整后的值不小于该数,
然后,按照自定义的矩阵数据填放规则,将数值序列
Figure GDA00031618108500000411
中元素依次填放入表征灰度图片的矩阵M中,从而生成灰度图片C,其中矩阵M的大小为H×L,灰度图片C的大小为30H×30L,
最后,将商品标识码A和生成的灰度图片C进行组合,并利用二维码生成器将组合的商品标识码和灰度图片转换为二维码,从而得到商品防伪二维码。
进一步地,一种基于分层加密的商品防伪二维码生成方法里步骤(1)中所述的将表征某件商品唯一身份信息的商品标识码A,逐个字符转换为数值型数据,是指将商品标识码A中逐个字符采用unicode2native(·)函数转换为数值型数据,即对于双字节字符的转换表示为
Figure GDA00031618108500000412
对于单字节字符的转换表示为
Figure GDA00031618108500000413
从而得到数值序列
Figure GDA00031618108500000414
进一步地,一种基于分层加密的商品防伪二维码生成方法里步骤(1)中所述的依次将数值序列P中元素Pi逐个转换成8bits的二进制序列{PBi1,PBi2,PBi3,PBi4,PBi5,PBi6,PBi7,PBi8},是指是指采用dec2bin(Pi,8)函数,即[PBi1,PBi2,PBi3,PBi4,PBi5,PBi6,PBi7,PBi8]=dec2bin(Pi,8)。
进一步地,一种基于分层加密的商品防伪二维码生成方法里步骤(4)中所述的按照自定义的矩阵数据填放规则,将数值序列
Figure GDA00031618108500000415
中元素依次填放入表征灰度图片的矩阵M中,是指按如下三个步骤进行:
步骤1.判断数值序列
Figure GDA00031618108500000416
的长度
Figure GDA00031618108500000417
是否小于数值H×L,
如果是,则在数值序列
Figure GDA0003161810850000051
的尾端增补上
Figure GDA0003161810850000052
个元素,数值大小为0且最后一个元素大小为
Figure GDA0003161810850000053
得到增补后的数值序列
Figure GDA0003161810850000054
Figure GDA0003161810850000055
如果不是,则令增补后的数值序列
Figure GDA0003161810850000056
等于数值序列
Figure GDA0003161810850000057
Figure GDA0003161810850000058
步骤2.从表征灰度图片的矩阵M的左上角位置开始,按行且每行从左往右,依次将增补后的数值序列
Figure GDA0003161810850000059
中元素填放入矩阵M中,表示如下,
Figure GDA00031618108500000510
步骤3.将矩阵M中各元素分别用小矩阵块代替,小矩阵块的矩阵大小为30×30、元素数值均与M中该元素数值一致,表示如下,
Figure GDA00031618108500000511
将矩阵MC转换为灰度图片,从而生成灰度图片C,其中灰度图片C的大小为30H×30L。
进一步地,一种基于分层加密的商品防伪二维码生成方法里步骤(4)中所述的将商品标识码A和生成的灰度图片C进行组合,是指将生成的灰度图片C与商品标识码A上下连接的组合方式,即将商品标识码A放在生成的灰度图片C正下方。
有益效果:本发明由混沌迭代产生混沌序列,对商品标识码进行数值型数据以及二进制转换而成的组合二进制矩阵B,利用抽取而得的混沌信号,依次分层进行循环移位,同时混沌信号的抽取位置随着移位后分层数据进行实时调整,随后利用灰度图像像素值与数值型数据范围的匹配性,生成一幅灰度图像,进而组合生成商品防伪二维码,以此保证所提基于分层加密的商品防伪二维码生成方法简单可行,具有很强的安全性、不易破解,生成的商品防伪二维码具有“唯一性和不可伪造性”。
附图说明
图1为本发明的一种基于分层移位加密的商品防伪二维码生成流程示意图;
图2为本发明的实施例1中的灰度图片C;
图3为本发明的实施例1中的商品防伪二维码;
图4为本发明的实施例2中的灰度图片C;
图5为本发明的实施例2中的商品防伪二维码;
图6为本发明的实施例3中的灰度图片C;
图7为本发明的实施例3中的商品防伪二维码。
具体实施方式
如图1所示的一种基于分层加密的商品防伪二维码生成方法,包括如下几个步骤:
(1)转码
首先,将表征某件商品唯一身份信息的商品标识码A,逐个字符采用unicode2native(·)函数转换为数值型数据,即对于双字节字符的转换表示为
Figure GDA0003161810850000061
对于单字节字符的转换表示为
Figure GDA0003161810850000062
从而得到数值序列
Figure GDA0003161810850000063
...,unicode2native(Ai),...,unicode2native(AL)},
然后,采用dec2bin(Pi,8)函数,依次将数值序列P中元素Pi逐个转换成8bits的二进制序列{PBi1,PBi2,PBi3,PBi4,PBi5,PBi6,PBi7,PBi8},并将
Figure GDA0003161810850000064
个二进制序列{PBi1,PBi2,PBi3,PBi4,PBi5,PBi6,PBi7,PBi8}从左往右逐列填入矩阵B中,其中i=1,2,...,
Figure GDA0003161810850000065
矩阵某行对应于各二进制序列的某位,从而得到组合二进制矩阵B,
Figure GDA0003161810850000066
其中商品标识码A为GBK编码的字符,商品标识码A的长度表示为
Figure GDA0003161810850000067
数值序列P的长度为
Figure GDA0003161810850000068
组合二进制矩阵B的大小为
Figure GDA0003161810850000069
Figure GDA00031618108500000610
(2)混沌序列的产生
首先,利用数值序列P及其转换的组合二进制矩阵B,以及外部密钥α和β,按照如下所示公式分别计算得到Bernoulli混沌映射的初值x1和参数λ以及初次抽取位置n,
Figure GDA0003161810850000071
x1=0.01+mod(α-kp,0.99),
λ=0.1+mod(β+kp,0.9),
Figure GDA0003161810850000072
其中,<B>表示组合二进制矩阵B中二进制位‘1’的个数,外部密钥满足α∈(0,1),β∈(0,1),
Figure GDA0003161810850000073
表示对某数取整且取整后的值不大于该数,
然后,由混沌映射的初值x1和参数λ,对如下公式所示的Bernoulli混沌映射进行迭代,式中k表示迭代次数(k=1,2,...)、xk+1表示第k次迭代得到的混沌信号,
Figure GDA0003161810850000074
得到混沌序列X={x1,x2,...},
(3)组合二进制矩阵B的分层移位加密
首先,将组合二进制矩阵B中元素分为8层,其中组合二进制矩阵B的第k层表示为
Figure GDA0003161810850000075
k=1,2,...,7,8,
然后,利用混沌序列X={x1,x2,...},对组合二进制矩阵B,逐层进行如下操作:
S10.令二进制矩阵
Figure GDA0003161810850000076
为空矩阵,且i=1,
S11.从混沌序列X中抽取第n个元素xn,按照如下所示公式分别计算得到移位方向F_direction和移位个数F_number,
Figure GDA0003161810850000077
Figure GDA0003161810850000078
S12.取组合二进制矩阵B的第i层,得到二进制序列
Figure GDA0003161810850000079
接着判断移位方向F_direction的数值,
如果F_direction=0,则将二进制序列
Figure GDA00031618108500000710
循环左移,移位F_number个二进制,得到移位后的二进制序列
Figure GDA00031618108500000711
如果F_direction=1,则将二进制序列
Figure GDA0003161810850000081
循环右移,移位F_number个二进制,得到移位后的二进制序列
Figure GDA0003161810850000082
随后,将二进制序列
Figure GDA0003161810850000083
从左往右按序存入二进制矩阵
Figure GDA0003161810850000084
的第i行,
S13.比较i与
Figure GDA0003161810850000085
的大小,
若i<8,则对二进制序列
Figure GDA0003161810850000086
进行分组,将二进制序列
Figure GDA0003161810850000087
中元素从左到右依次正向以32个元素为单位进行分组,得到分组后的二进制序列,表示为BF{1},BF{2},...,
Figure GDA0003161810850000088
其中
Figure GDA0003161810850000089
表示对
Figure GDA00031618108500000810
取整且取整后的值不小于
Figure GDA00031618108500000811
再对抽取位置n按照如下所示公式进行调整,且令i=i+1,随后转向步骤S11,
Figure GDA00031618108500000812
若i=8,则停止操作,从而得到二进制矩阵
Figure GDA00031618108500000813
表示如下,
Figure GDA00031618108500000814
最后,利用bin2dec(·)函数,依次将二进制矩阵
Figure GDA00031618108500000815
的每列元素
Figure GDA00031618108500000816
转换成数值型数据
Figure GDA00031618108500000817
其中
Figure GDA00031618108500000818
表示为
Figure GDA00031618108500000819
从而得到数值序列
Figure GDA00031618108500000820
(4)二维码的生成
首先,确定灰度图片的大小,令行数为H,列数为L,其中列数
Figure GDA00031618108500000821
行数H满足如下,
Figure GDA00031618108500000822
其中,
Figure GDA00031618108500000823
表示对某数取整且取整后的值不小于该数,
然后,依次按如下步骤进行:
步骤①.判断数值序列
Figure GDA00031618108500000824
的长度
Figure GDA00031618108500000825
是否小于数值H×L,
如果是,则在数值序列
Figure GDA00031618108500000826
的尾端增补上
Figure GDA00031618108500000827
个元素,数值大小为0且最后一个元素大小为
Figure GDA00031618108500000828
得到增补后的数值序列
Figure GDA0003161810850000091
Figure GDA0003161810850000092
如果不是,则令增补后的数值序列
Figure GDA0003161810850000093
等于数值序列
Figure GDA0003161810850000094
Figure GDA0003161810850000095
步骤②.从表征灰度图片的矩阵M的左上角位置开始,按行且每行从左往右,依次将增补后的数值序列
Figure GDA0003161810850000096
中元素填放入矩阵M中,表示如下,
Figure GDA0003161810850000097
步骤③.将矩阵M中各元素分别用小矩阵块代替,小矩阵块的矩阵大小为30×30、元素数值均与M中该元素数值一致,表示如下,
Figure GDA0003161810850000098
将矩阵MC转换为灰度图片,从而生成灰度图片C,其中灰度图片C的大小为30H×30L,
最后,将生成的灰度图片C与商品标识码A上下连接的组合方式,即将商品标识码A放在生成的灰度图片C正下方,并利用二维码生成器将组合的商品标识码和灰度图片转换为二维码,从而得到商品防伪二维码。
下面结合具体的实施例对本发明作进一步说明:
实施例1
按照上述一种基于分层加密的商品防伪二维码生成方法,步骤如下:
(1)首先,将表征某件商品唯一身份信息的商品标识码A=“江苏省##集团××公司☆****商品生产日期2021-01-01生产线Ⅱ01生产序号123456”,逐个字符转换为数值型数据,得到数值序列P={189,173,203,213,202,161,163,163,163,163,188,175,205,197,161,193,161,193,185,171,203,190,161,238,42,42,42,42,201,204,198,183,32,201,250,178,250,200,213,198,218,50,48,50,49,45,48,49,45,48,49,32,201,250,178,250,207,223,162,242,163,176,163,177,32,201,250,178,250,208,242,186,197,163,177,163,178,163,179,163,180,163,181,163,182},其中商品标识码A为GBK编码的字符,商品标识码A的长度表示为
Figure GDA0003161810850000101
数值序列P的长度为
Figure GDA0003161810850000102
然后,依次将数值序列P中元素Pi逐个转换成8bits的二进制序列,并从左往右逐列填入矩阵B中,从而得到组合二进制矩阵B,
Figure GDA0003161810850000103
(2)混沌序列的产生
首先,利用数值序列P及其转换的组合二进制矩阵B,以及外部密钥α=0.12345和β=0.54321,按照如下所示公式分别计算得到Bernoulli混沌映射的初值x1和参数λ以及初次抽取位置n,
Figure GDA0003161810850000104
x1=0.01+mod(0.12345-0.321196970964773,0.99)=0.802253029035227,
λ=0.1+mod(0.54321+0.321196970964773,0.9)=0.964406970964773,
Figure GDA0003161810850000111
然后,由混沌映射的初值x1和参数λ,对如下公式所示的Bernoulli混沌映射进行迭代,式中k表示迭代次数(k=1,2,...)、xk+1表示第k次迭代得到的混沌信号,得到混沌序列X={x1,x2,...},
Figure GDA0003161810850000112
(3)组合二进制矩阵B的分层移位加密
首先,将组合二进制矩阵B中元素分为8层,其中组合二进制矩阵B的第k层表示为
Figure GDA0003161810850000113
k=1,2,...,7,8,
然后,利用混沌序列X={x1,x2,...},对组合二进制矩阵B,逐层进行如下操作:
S10.令二进制矩阵
Figure GDA0003161810850000114
为空矩阵,且i=1,
S11.从混沌序列X中抽取第n个元素xn,按照如下所示公式分别计算得到移位方向F_direction和移位个数F_number,
Figure GDA0003161810850000115
Figure GDA0003161810850000116
S12.取组合二进制矩阵B的第i层,得到二进制序列
Figure GDA0003161810850000117
接着判断移位方向F_direction的数值,
如果F_direction=0,则将二进制序列
Figure GDA0003161810850000118
循环左移,移位F_number个二进制,得到移位后的二进制序列
Figure GDA0003161810850000119
如果F_direction=1,则将二进制序列
Figure GDA00031618108500001110
循环右移,移位F_number个二进制,得到移位后的二进制序列
Figure GDA00031618108500001111
随后,将二进制序列
Figure GDA00031618108500001112
从左往右按序存入二进制矩阵
Figure GDA00031618108500001113
的第i行,
S13.比较i与
Figure GDA00031618108500001114
的大小,
若i<8,则对二进制序列
Figure GDA00031618108500001115
进行分组,将二进制序列
Figure GDA00031618108500001116
中元素从左到右依次正向以32个元素为单位进行分组,得到分组后的二进制序列,表示为BF{1},BF{2},...,
Figure GDA00031618108500001117
其中
Figure GDA00031618108500001118
再对抽取位置n按照如下所示公式进行调整,且令i=i+1,随后转向步骤S11,
Figure GDA00031618108500001119
若i=8,则停止操作,从而得到二进制矩阵
Figure GDA0003161810850000121
表示如下,
Figure GDA0003161810850000122
最后,依次将二进制矩阵
Figure GDA0003161810850000123
的每列元素
Figure GDA0003161810850000124
转换成数值型数据
Figure GDA0003161810850000125
从而得到数值序列
Figure GDA0003161810850000126
Figure GDA0003161810850000127
(4)二维码的生成
首先,确定灰度图片的大小,得到行数为H=9,列数为L=10
然后,依次按如下步骤进行:
步骤①.在数值序列
Figure GDA0003161810850000128
的尾端增补上5个元素,数值大小为0且最后一个元素大小为85,得到增补后的数值序列
Figure GDA0003161810850000129
Figure GDA00031618108500001210
Figure GDA00031618108500001211
Figure GDA0003161810850000131
步骤②.从表征灰度图片的矩阵M的左上角位置开始,按行且每行从左往右,依次将增补后的数值序列
Figure GDA0003161810850000132
中元素填放入矩阵M中,表示如下,
Figure GDA0003161810850000133
步骤③.将矩阵M中各元素分别用小矩阵块代替,小矩阵块的矩阵大小为30×30、元素数值均与M中该元素数值一致,表示如下,
Figure GDA0003161810850000134
随后将矩阵MC转换为灰度图片,从而生成灰度图片C,如图2所示,其中灰度图片C的大小为270×300,
最后,将生成的灰度图片C与商品标识码A上下连接的组合方式,即将商品标识码A放在生成的灰度图片C正下方,并利用二维码生成器将组合的商品标识码和灰度图片转换为二维码,从而得到商品防伪二维码,如图3所示。
实施例2
按照上述一种基于分层加密的商品防伪二维码生成方法,某件商品的商品标识码字符串A及其商品防伪二维码生成步骤与具体实施例1相似,仅某个外部密钥发生细微变化:α=0.12345000000001;或β=0.54321000000001,商品防伪二维码的生成结果如表1所示。由下表可见:一旦外部密钥即使发生细微变化,生成的商品防伪二维码会发生极大的变化,由此可见本专利所提一种基于分层加密的商品防伪二维码生成方法具有密钥敏感性。
表1外部密钥发生微变时,商品防伪二维码的生成结果
Figure GDA0003161810850000141
实施例3
按照上述一种基于分层加密的商品防伪二维码生成方法,外部密钥及其商品防伪二维码生成步骤与具体实施例1相似,仅某件商品的商品标识码字符串A发生细微变化“冮苏省##集团××公司☆****商品生产日期2021-01-01生产线Ⅱ01生产序号123456”;或者“江苏省##集团××公司☆****商品生产日期2021-11-01生产线Ⅱ01生产序号123456”;或者“江苏省##集团××公司☆****商品生产日期2021-01-01生产线Ⅱ02生产序号123465”,商品防伪二维码的生成结果如表2所示。由下表可见:一旦表征某件商品唯一身份信息的商品标识码字符串即使发生细微变化,生成的商品防伪二维码会发生极大的变化,由此可见本专利所提一种基于分层加密的商品防伪二维码生成方法对商品身份信息(即商品标识码)具有敏感性。
表2商品标识码发生微变时,商品防伪二维码的生成结果
Figure GDA0003161810850000151
Figure GDA0003161810850000161
由上述具体实施例2和例3分析可知,本专利所提一种基于分层加密的商品防伪二维码生成方法所生成商品防伪二维码不仅与外部密钥密切相关,而且依赖于表征某件商品唯一身份信息的商品标识码,因此本专利所提的一种基于分层加密的商品防伪二维码生成方法具有很强的安全性,可以较好地抵抗已知/选择明文攻击,不易破解,以保证生成的商品防伪二维码具有“唯一性和不可伪造性”。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (5)

1.一种基于分层加密的商品防伪二维码生成方法,其特征在于,包括如下几个步骤:
(1)转码
首先,将表征某件商品唯一身份信息的商品标识码A,逐个字符转换为数值型数据,得到数值序列
Figure FDA0003621403830000011
然后,依次将数值序列P中元素Pi逐个转换成8bits的二进制序列{PBi1,PBi2,PBi3,PBi4,PBi5,PBi6,PBi7,PBi8},并将
Figure FDA0003621403830000012
个二进制序列{PBi1,PBi2,PBi3,PBi4,PBi5,PBi6,PBi7,PBi8}从左往右逐列填入矩阵B中,其中
Figure FDA0003621403830000013
矩阵某行对应于各二进制序列的某位,从而得到组合二进制矩阵B,
Figure FDA0003621403830000014
其中商品标识码A为GBK编码的字符,商品标识码A的长度表示为
Figure FDA0003621403830000015
数值序列P的长度为
Figure FDA0003621403830000016
组合二进制矩阵B的大小为
Figure FDA0003621403830000017
Figure FDA0003621403830000018
(2)混沌序列的产生
首先,利用数值序列P及其转换的组合二进制矩阵B,以及外部密钥α和β,按照如下公式(1)-(3)分别计算得到Bernoulli混沌映射的初值x1和参数λ以及初次抽取位置n,
Figure FDA0003621403830000019
x1=0.01+mod(α-kp,0.99), (1)
λ=0.1+mod(β+kp,0.9), (2)
Figure FDA00036214038300000110
其中,<B>表示组合二进制矩阵B中二进制位‘1’的个数,外部密钥满足α∈(0,1),β∈(0,1),
Figure FDA00036214038300000111
表示对某数取整且取整后的值不大于该数,
然后,由混沌映射的初值x1和参数λ,对如下公式(4)所示Bernoulli混沌映射进行迭代,式中k表示迭代次数,xk+1表示第k次迭代得到的混沌信号,k=1,2,...
Figure FDA0003621403830000021
得到混沌序列X={x1,x2,...},
(3)组合二进制矩阵B的分层移位加密
首先,将组合二进制矩阵B中元素分为8层,其中组合二进制矩阵B的第k层表示为
Figure FDA0003621403830000022
然后,利用混沌序列X={x1,x2,...},对组合二进制矩阵B,逐层进行如下操作:
S10.令二进制矩阵
Figure FDA0003621403830000023
为空矩阵,且i=1,
S11.从混沌序列X中抽取第n个元素xn,按照如下公式(5)、(6)分别计算得到移位方向F_direction和移位个数F_number,
Figure FDA0003621403830000024
Figure FDA0003621403830000025
S12.取组合二进制矩阵B的第i层,得到二进制序列
Figure FDA0003621403830000026
接着判断移位方向F_direction的数值,
如果F_direction=0,则将二进制序列
Figure FDA0003621403830000027
循环左移,移位F_number个二进制,得到移位后的二进制序列
Figure FDA0003621403830000028
如果F_direction=1,则将二进制序列
Figure FDA0003621403830000029
循环右移,移位F_number个二进制,得到移位后的二进制序列
Figure FDA00036214038300000210
随后,将二进制序列
Figure FDA00036214038300000211
从左往右按序存入二进制矩阵
Figure FDA00036214038300000212
的第i行,
S13.比较i与
Figure FDA00036214038300000213
的大小,
若i<8,则对二进制序列
Figure FDA00036214038300000214
进行分组,将二进制序列
Figure FDA00036214038300000215
中元素从左到右依次正向以32个元素为单位进行分组,得到分组后的二进制序列,表示为
Figure FDA00036214038300000216
其中
Figure FDA00036214038300000217
表示对
Figure FDA00036214038300000218
取整且取整后的值不小于
Figure FDA00036214038300000219
再对抽取位置n按照如下公式(7)进行调整,且令i=i+1,随后转向步骤S11,
Figure FDA00036214038300000220
若i=8,则停止操作,从而得到二进制矩阵
Figure FDA00036214038300000221
表示如下,
Figure FDA0003621403830000031
最后,利用bin2dec(·)函数,依次将二进制矩阵
Figure FDA0003621403830000032
的每列元素
Figure FDA0003621403830000033
转换成数值型数据
Figure FDA0003621403830000034
其中
Figure FDA0003621403830000035
表示为
Figure FDA0003621403830000036
从而得到数值序列
Figure FDA0003621403830000037
(4)二维码的生成
首先,确定灰度图片的大小,令行数为H,列数为L,其中列数
Figure FDA0003621403830000038
行数H满足如下,
Figure FDA0003621403830000039
其中,
Figure FDA00036214038300000310
表示对某数取整且取整后的值不小于该数,
然后,按照自定义的矩阵数据填放规则,将数值序列
Figure FDA00036214038300000311
中元素依次填放入表征灰度图片的矩阵M中,从而生成灰度图片C,其中矩阵M的大小为H×L,灰度图片C的大小为30H×30L,
最后,将商品标识码A和生成的灰度图片C进行组合,并利用二维码生成器将组合的商品标识码和灰度图片转换为二维码,从而得到商品防伪二维码。
2.根据权利要求1所述的一种基于分层加密的商品防伪二维码生成方法,其特征在于:步骤(1)中所述的将表征某件商品唯一身份信息的商品标识码A,逐个字符转换为数值型数据,是指将商品标识码A中逐个字符采用unicode2native(·)函数转换为数值型数据,即对于双字节字符的转换表示为
Figure FDA00036214038300000312
对于单字节字符的转换表示为
Figure FDA00036214038300000313
从而得到数值序列
Figure FDA00036214038300000314
3.根据权利要求1所述的一种基于分层加密的商品防伪二维码生成方法,其特征在于:步骤(1)中所述的依次将数值序列P中元素Pi逐个转换成8bits的二进制序列{PBi1,PBi2,PBi3,PBi4,PBi5,PBi6,PBi7,PBi8},是指采用dec2bin(Pi,8)函数,即[PBi1,PBi2,PBi3,PBi4,PBi5,PBi6,PBi7,PBi8]=dec2bin(Pi,8)。
4.根据权利要求1所述的一种基于分层加密的商品防伪二维码生成方法,其特征在于:步骤(4)中所述的按照自定义的矩阵数据填放规则,将数值序列
Figure FDA00036214038300000315
中元素依次填放入表征灰度图片的矩阵M中,是指按如下三个步骤进行:
步骤1.判断数值序列
Figure FDA0003621403830000041
的长度
Figure FDA0003621403830000042
是否小于数值H×L,
如果是,则在数值序列
Figure FDA0003621403830000043
的尾端增补上
Figure FDA0003621403830000044
个元素,数值大小为0且最后一个元素大小为
Figure FDA0003621403830000045
得到增补后的数值序列
Figure FDA0003621403830000046
Figure FDA0003621403830000047
如果不是,则令增补后的数值序列
Figure FDA0003621403830000048
等于数值序列
Figure FDA0003621403830000049
Figure FDA00036214038300000410
步骤2.从表征灰度图片的矩阵M的左上角位置开始,按行且每行从左往右,依次将增补后的数值序列
Figure FDA00036214038300000411
中元素填放入矩阵M中,表示如下,
Figure FDA00036214038300000412
步骤3.将矩阵M中各元素分别用小矩阵块代替,小矩阵块的矩阵大小为30×30、元素数值均与M中该元素数值一致,表示如下,
Figure FDA00036214038300000413
将矩阵MC转换为灰度图片,从而生成灰度图片C,其中灰度图片C的大小为30H×30L。
5.根据权利要求1所述的一种基于分层加密的商品防伪二维码生成方法,其特征在于:步骤(4)中所述的将商品标识码A和生成的灰度图片C进行组合,是指将生成的灰度图片C与商品标识码A上下连接的组合方式,即将商品标识码A放在生成的灰度图片C正下方。
CN202110326958.XA 2021-03-26 2021-03-26 一种基于分层加密的商品防伪二维码生成方法 Active CN113255860B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110326958.XA CN113255860B (zh) 2021-03-26 2021-03-26 一种基于分层加密的商品防伪二维码生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110326958.XA CN113255860B (zh) 2021-03-26 2021-03-26 一种基于分层加密的商品防伪二维码生成方法

Publications (2)

Publication Number Publication Date
CN113255860A CN113255860A (zh) 2021-08-13
CN113255860B true CN113255860B (zh) 2022-08-02

Family

ID=77181132

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110326958.XA Active CN113255860B (zh) 2021-03-26 2021-03-26 一种基于分层加密的商品防伪二维码生成方法

Country Status (1)

Country Link
CN (1) CN113255860B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113935344A (zh) * 2021-10-12 2022-01-14 南通大学 一种基于商标图片置乱加密的商品防伪码批量生成方法
CN113947096A (zh) * 2021-10-12 2022-01-18 南通大学 一种基于图片转字符串解密的商品防伪码识别方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104680220A (zh) * 2015-03-24 2015-06-03 南通大学 一种商品防伪码批量生成方法
CN110299989A (zh) * 2019-06-10 2019-10-01 南通大学 一种中英文字符串的加密、解密方法
CN110650005A (zh) * 2019-09-17 2020-01-03 南通大学 一种中英文字符串加密方法
CN111353166A (zh) * 2020-02-25 2020-06-30 南通大学 一种图片转汉字的加密方法
CN111985591A (zh) * 2020-07-24 2020-11-24 南通大学 一种基于字符串加密的商品防伪码生成方法
CN112001468A (zh) * 2020-07-24 2020-11-27 南通大学 一种字符型商品防伪码生成与识别方法
CN112149773A (zh) * 2020-09-16 2020-12-29 南通大学 一种基于汉字加密的商品防伪码生成方法
CN112149774A (zh) * 2020-09-16 2020-12-29 南通大学 一种汉字商品防伪码生成方法
CN112163230A (zh) * 2020-09-16 2021-01-01 南通大学 一种汉字加密的商品防伪码生成方法
CN112217627A (zh) * 2020-09-16 2021-01-12 南通大学 一种分层加密的商品防伪码生成方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003152706A (ja) * 2001-11-12 2003-05-23 Toshiba Information Systems (Japan) Corp 暗号生成装置、暗号復号装置、暗号生成プログラム、暗号復号プログラム、認証システム、電子装置
CN103532701B (zh) * 2013-10-16 2014-09-10 南通纺织职业技术学院 一种数值型数据的加密、解密方法
CN109284803B (zh) * 2018-11-19 2022-04-05 南通大学 一种商品防伪二维码生成方法
CN112001467B (zh) * 2020-07-24 2021-11-19 南通大学 一种基于图片加解密的商品防伪码生成与识别方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104680220A (zh) * 2015-03-24 2015-06-03 南通大学 一种商品防伪码批量生成方法
CN110299989A (zh) * 2019-06-10 2019-10-01 南通大学 一种中英文字符串的加密、解密方法
CN110650005A (zh) * 2019-09-17 2020-01-03 南通大学 一种中英文字符串加密方法
CN111353166A (zh) * 2020-02-25 2020-06-30 南通大学 一种图片转汉字的加密方法
CN111985591A (zh) * 2020-07-24 2020-11-24 南通大学 一种基于字符串加密的商品防伪码生成方法
CN112001468A (zh) * 2020-07-24 2020-11-27 南通大学 一种字符型商品防伪码生成与识别方法
CN112149773A (zh) * 2020-09-16 2020-12-29 南通大学 一种基于汉字加密的商品防伪码生成方法
CN112149774A (zh) * 2020-09-16 2020-12-29 南通大学 一种汉字商品防伪码生成方法
CN112163230A (zh) * 2020-09-16 2021-01-01 南通大学 一种汉字加密的商品防伪码生成方法
CN112217627A (zh) * 2020-09-16 2021-01-12 南通大学 一种分层加密的商品防伪码生成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《混沌数码防伪技术研究与应用》;盛苏英,陈轶;《微电子学与计算机》;20120831;全文 *
基于混沌的位级图像加密算法研究;吴新华;《微电子学与计算机》;20131231;全文 *

Also Published As

Publication number Publication date
CN113255860A (zh) 2021-08-13

Similar Documents

Publication Publication Date Title
CN112884104B (zh) 一种基于混沌加密的商品防伪二维码生成方法
CN112884105B (zh) 一种基于移位加密的商品防伪二维码生成方法
CN113052286A (zh) 一种基于置乱加密的商品防伪二维码生成方法
CN113255860B (zh) 一种基于分层加密的商品防伪二维码生成方法
CN109472338B (zh) 一种商品防伪二维码的批量生成方法
Zhang et al. Reference sharing mechanism for watermark self-embedding
Dhole et al. Self embedding fragile watermarking for image tampering detection and image recovery using self recovery blocks
CN113159252A (zh) 一种基于不同置乱规则的商品防伪二维码生成方法
CN112001467B (zh) 一种基于图片加解密的商品防伪码生成与识别方法
CN111985591B (zh) 一种基于字符串加密的商品防伪码生成方法
CN112001468B (zh) 一种字符型商品防伪码生成与识别方法
CN112163230B (zh) 一种汉字加密的商品防伪码生成方法
CN110650005B (zh) 一种中英文字符串加密方法
CN112149774B (zh) 一种汉字商品防伪码生成方法
CN109325367A (zh) 信息隐藏方法、装置、设备及计算机可读存储介质
CN112217627B (zh) 一种分层加密的商品防伪码生成方法
CN114465709A (zh) 一种基于分层移位的字符串解密方法
CN111382820B (zh) 一种四宫格纯色商品防伪码生成方法
CN110650006B (zh) 一种中英文字符串的加密和解密方法
CN112101962A (zh) 一种数据安全防伪控制方法
CN113935345B (zh) 一种基于字符串转图片加密的商品防伪码批量生成方法
Saleh et al. Information Hiding for Text Files by Adopting the Genetic Algorithm and DNA Coding
CN1255757C (zh) 用变形字符的位置和个数表示编码特征值的商品多维防伪方法
CN113935343B (zh) 一种基于字符串转图片加密的商品防伪码生成方法
CN113947096A (zh) 一种基于图片转字符串解密的商品防伪码识别方法

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
TR01 Transfer of patent right

Effective date of registration: 20240522

Address after: 230000 B-1015, wo Yuan Garden, 81 Ganquan Road, Shushan District, Hefei, Anhui.

Patentee after: HEFEI MINGLONG ELECTRONIC TECHNOLOGY Co.,Ltd.

Country or region after: China

Address before: 226000 Jiangsu city of Nantong province sik Road No. 9

Patentee before: NANTONG University

Country or region before: China