一种基于置乱加密的商品防伪二维码生成方法与流程

专利2022-05-09  51



1.本发明涉及数码防伪技术领域,特别涉及一种基于置乱加密的商品防伪二维码生成方法。


背景技术:

2.数码防伪技术是基于日益猖獗的假冒伪劣产品所应运而生的,现代的数码防伪是一种综合利用数字编码技术、加密技术、数据库技术、计算机网络,交互式语音处理(irv)等技术的新型高科技防伪技术。由于传统防伪技术的种种缺点,综观其数码防伪技术的发展过程,并根据防伪码生成方式的不同数码防伪技术主要经历了随机条码防伪模型、加密有序流水号防伪模型以及综合防伪模型三个阶段。在各方人士的不懈努力之下,数码防伪技术已经成为了防伪行业中运用最为广泛的技术之一,在产品防伪领域起着举足轻重的作用。
3.随着社会不断进步,市场日益发展。对于企业来说,数码防伪能保持品牌好的口碑。同时,“一物一码”的防伪方式,大大增加了造假者的造假成本,可以记录产品的定位信息,统计产品查询次数和查询方式,根据企业要求设置查询警戒线。目前智能终端已成为人们日常生活中重要的组成部分,而数码防伪技术也逐渐融入互联网,用户通过智能终端扫描商品防伪二维码进行“一键式”真伪查询,互联网的发展和普及为数码防伪系统的落地奠定了良好的基础。
4.数码防伪中最根本的部分就是利用加密算法生成商品防伪码,其中加密算法的选择就变得尤为重要。由于混沌系统具有高随机性和参数敏感性,产生的混沌信号对加密信号的扩散性和置乱性有很大的影响,混沌信号作为一种天然的密码而被引入数码防伪的加密中,用混沌密码技术进行商品信息的加密是一个很好的选择。在此情况下,利用混沌密码技术,提出一种基于置乱加密的商品防伪二维码生成方法,以生成具有“唯一性和不可伪造性”的商品防伪二维码,具有很好的实际应用推广价值。


技术实现要素:

5.发明目的:本发明的目的是为了解决现有技术中的不足,提供一种基于置乱加密的商品防伪二维码生成方法,利用混沌映射迭代并抽取产生的混沌序列,对商品标识码转换而成的组合二进制矩阵分别按行、按列进行置乱,并将行列置乱后二进制矩阵中每列元素转换而成的数值型数据依次填入表征灰度图片的矩阵中,生成一幅灰度图像,进而组合生成商品防伪二维码,以此保证所提基于置乱加密的商品防伪二维码生成方法简单可行,具有很强的安全性、不易破解,生成的商品防伪二维码具有“唯一性和不可伪造性”。
6.技术方案:一种基于置乱加密的商品防伪二维码生成方法,其特征在于,包括如下几个步骤:
7.(1)转码
8.首先,将表征某件商品唯一身份信息的商品标识码a,逐个字符转换为数值型数
据,得到数值序列
9.然后,依次将数值序列p中元素p
i
逐个转换成8bits的二进制序列{pb
i1
,pb
i2
,pb
i3
,pb
i4
,pb
i5
,pb
i6
,pb
i7
,pb
i8
},并将个二进制序列{pb
i1
,pb
i2
,pb
i3
,pb
i4
,pb
i5
,pb
i6
,pb
i7
,pb
i8
}从左往右逐列填入矩阵b中,其中矩阵某行对应于各二进制序列的某位,从而得到组合二进制矩阵b,
[0010][0011]
其中商品标识码a为gbk编码的字符,商品标识码a的长度表示为数值序列p的长度为组合二进制矩阵b的大小为且
[0012]
(2)混沌序列的产生
[0013]
首先,利用数值序列p及其转换的组合二进制矩阵b,以及外部密钥α和β,按照如下公式(1)

(3)分别计算得到bernoulli混沌映射的初值x1和参数λ以及初次抽取位置n,
[0014]
令则
[0015]
x1=0.02 mod(α kp,0.98),
ꢀꢀꢀꢀ
(1)
[0016]
λ=0.01 mod(β kp,0.99),
ꢀꢀꢀꢀꢀ
(2)
[0017][0018]
其中,<b>表示组合二进制矩阵b中含有二进制位
‘0’
的个数,外部密钥满足α∈(0,1),β∈(0,1),表示对某数取整且取整后的值不大于该数,
[0019]
然后,由混沌映射的初值x1和参数λ,对如下公式(4)所示bernoulli混沌映射进行迭代,式中k表示迭代次数(k=1,2,...)、x
k 1
表示第k次迭代得到的混沌信号,
[0020][0021]
得到混沌序列x={x1,x2,...},
[0022]
最后,对混沌序列x={x1,x2,...}进行如下操作:
[0023]
s10.令混沌序列y为空序列,且i=1,
[0024]
s11.从混沌序列x中抽取第n个元素,并放入混沌序列y中,即y=[y,x
n
],
[0025]
s12.比较i与的大小,若则对抽取位置n按照如下公式(5)进行调整,且令i=i 1,随后转向步骤s11,
[0026][0027]
若则停止操作,从而得到混沌序列
[0028]
(3)组合二进制矩阵b的行、列置乱
[0029]
首先,从混沌序列中第1个元素开始连续抽取8个元素,得到混沌序列y1={y11,y12,...,y17,y18}={y1,y2,...,y7,y8},按降序排序,根据混沌序列y1排序前、后的位置变化置乱规则,对组合二进制矩阵b按行进行置乱,得到行置乱后的二进制矩阵其中混沌序列y1排序前、后的位置变化置乱规则可表示为{t11,t12,...,t17,t18},
[0030][0031]
然后,从混沌序列中第9个元素开始连续抽取个元素,得到混沌序列按降序排序,根据混沌序列y2排序前、后的位置变化置乱规则,对行置乱后的二进制矩阵按列进行置乱,得到行列置乱后的二进制矩阵其中混沌序列y2排序前、后的位置变化置乱规则可表示为
[0032][0033]
最后,利用bin2dec(
·
)函数,依次将行列置乱后的二进制矩阵的每列元素转换成数值型数据其中表示为从而得到数值序列
[0034]
(4)二维码的生成
[0035][0036]
其中,表示对某数取整且取整后的值不小于该数,
[0037]
然后,按照自定义的矩阵数据填放规则,将数值序列中元素依次填放入表征灰度图片的矩阵m中,从而生成灰度图片c,其中矩阵m的大小为h
×
l,灰度图片c的大小为30h
×
30l,
[0038]
最后,将商品标识码a和生成的灰度图片c进行组合,并利用二维码生成器将组合的商品标识码和灰度图片转换为二维码,从而得到商品防伪二维码。
[0039]
进一步地,一种基于置乱加密的商品防伪二维码生成方法里步骤(1)中所述的将表征某件商品唯一身份信息的商品标识码a,逐个字符转换为数值型数据,是指将商品标识
码a中逐个字符采用unicode2native(
·
)函数转换为数值型数据,即对于双字节字符的转换表示为对于单字节字符的转换表示为从而得到数值序列
[0040]
进一步地,一种基于置乱加密的商品防伪二维码生成方法里步骤(1)中所述的依次将数值序列p中元素p
i
逐个转换成8bits的二进制序列{pb
i1
,pb
i2
,pb
i3
,pb
i4
,pb
i5
,pb
i6
,pb
i7
,pb
i8
},是指采用dec2bin(p
i
,8)函数,即[pb
i1
,pb
i2
,pb
i3
,pb
i4
,pb
i5
,pb
i6
,pb
i7
,pb
i8
]=dec2bin(p
i
,8)。
[0041]
进一步地,一种基于置乱加密的商品防伪二维码生成方法里步骤(4)中所述的按照自定义的矩阵数据填放规则,将数值序列中元素依次填放入表征灰度图片的矩阵m中,是指按如下三个步骤进行:
[0042]
步骤1.判断数值序列的长度是否小于数值h
×
l,
[0043]
如果是,则在数值序列的尾端增补上个元素,数值大小为0且最后一个元素大小为得到增补后的数值序列即
[0044]
如果不是,则令增补后的数值序列等于数值序列即
[0045]
步骤2.从表征灰度图片的矩阵m的左上角位置开始,按行且每行从左往右,依次将增补后的数值序列中元素填放入矩阵m中,表示如下,
[0046][0047]
步骤3.将矩阵m中各元素分别用小矩阵块代替,小矩阵块的矩阵大小为30
×
30、元素数值均与m中该元素数值一致,表示如下,
[0048]
[0049]
将矩阵mc转换为灰度图片,从而生成灰度图片c,其中灰度图片c的大小为30h
×
30l。
[0050]
进一步地,一种基于置乱加密的商品防伪二维码生成方法里步骤(4)中所述的将商品标识码a和生成的灰度图片c进行组合,是指将生成的灰度图片c与商品标识码a上下连接的组合方式,即将商品标识码a放在生成的灰度图片c正下方。
[0051]
有益效果:本发明利用混沌映射迭代并抽取产生的混沌序列,对商品标识码转换而成的组合二进制矩阵分别按行、按列进行置乱,并将行列置乱后二进制矩阵中每列元素转换而成的数值型数据依次填入表征灰度图片的矩阵中,生成一幅灰度图像,进而组合生成商品防伪二维码,以此保证所提基于置乱加密的商品防伪二维码生成方法简单可行,具有很强的安全性、不易破解,生成的商品防伪二维码具有“唯一性和不可伪造性”。
附图说明
[0052]
图1为本发明的一种基于置乱加密的商品防伪二维码生成流程示意图;
[0053]
图2为本发明的实施例1中的灰度图片c;
[0054]
图3为本发明的实施例1中的商品防伪二维码。
具体实施方式
[0055]
如图1所示的一种基于置乱加密的商品防伪二维码生成方法,包括如下几个步骤:
[0056]
(1)转码
[0057]
首先,将表征某件商品唯一身份信息的商品标识码a,逐个字符采用unicode2native(
·
)函数转换为数值型数据,即对于双字节字符的转换表示为对于单字节字符的转换表示为从而得到数值序列到数值序列
[0058]
然后,采用dec2bin(p
i
,8)函数,依次将数值序列p中元素p
i
逐个转换成8bits的二进制序列{pb
i1
,pb
i2
,pb
i3
,pb
i4
,pb
i5
,pb
i6
,pb
i7
,pb
i8
},并将个二进制序列{pb
i1
,pb
i2
,pb
i3
,pb
i4
,pb
i5
,pb
i6
,pb
i7
,pb
i8
}从左往右逐列填入矩阵b中,其中矩阵某行对应于各二进制序列的某位,从而得到组合二进制矩阵b,
[0059]
[0060]
其中商品标识码a为gbk编码的字符,商品标识码a的长度表示为数值序列p的长度为组合二进制矩阵b的大小为且
[0061]
(2)混沌序列的产生
[0062]
首先,利用数值序列p及其转换的组合二进制矩阵b,以及外部密钥α和β,按照如下所示公式分别计算得到bernoulli混沌映射的初值x1和参数λ以及初次抽取位置n,
[0063]
令则
[0064]
x1=0.02 mod(α kp,0.98),
[0065]
λ=0.01 mod(β kp,0.99),
[0066][0067]
其中,<b>表示组合二进制矩阵b中含有二进制位
‘0’
的个数,外部密钥满足α∈(0,1),β∈(0,1),表示对某数取整且取整后的值不大于该数,
[0068]
然后,由混沌映射的初值x1和参数λ,对如下公式所示的bernoulli混沌映射进行迭代,式中k表示迭代次数(k=1,2,...)、x
k 1
表示第k次迭代得到的混沌信号,
[0069][0070]
得到混沌序列x={x1,x2,...},
[0071]
最后,对混沌序列x={x1,x2,...}进行如下操作:
[0072]
s10.令混沌序列y为空序列,且i=1,
[0073]
s11.从混沌序列x中抽取第n个元素,并放入混沌序列y中,即y=[y,x
n
],
[0074]
s12.比较i与的大小,若则对抽取位置n按照如下所示公式进行调整,且令i=i 1,随后转向步骤s11,
[0075][0076]
若则停止操作,从而得到混沌序列
[0077]
(3)组合二进制矩阵b的行、列置乱
[0078]
首先,从混沌序列中第1个元素开始连续抽取8个元素,得到混沌序列y1={y11,y12,...,y17,y18}={y1,y2,...,y7,y8},按降序排序,根据混沌序列y1排序前、后的位置变化置乱规则,对组合二进制矩阵b按行进行置乱,得到行置乱后的二进制矩阵其中混沌序列y1排序前、后的位置变化置乱规则可表示为{t11,t12,...,t17,t18},
[0079][0080]
然后,从混沌序列中第9个元素开始连续抽取个元素,得到混沌序列按降序排序,根据混沌序列y2排序前、后的位置变化置乱规则,对行置乱后的二进制矩阵按列进行置乱,得到行列置乱后的二进制矩阵其中混沌序列y2排序前、后的位置变化置乱规则可表示为
[0081][0082][0083]
最后,利用bin2dec(
·
)函数,依次将行列置乱后的二进制矩阵的每列元素转换成数值型数据其中表示为从而
得到数值序列
[0084]
(4)二维码的生成
[0085]
首先,确定灰度图片的大小,令行数为h,列数为l,其中列数行数h满足如下,
[0086][0087]
其中,表示对某数取整且取整后的值不小于该数,
[0088]
然后,依次按如下步骤进行:
[0089]
步骤

.判断数值序列的长度是否小于数值h
×
l,
[0090]
如果是,则在数值序列的尾端增补上个元素,数值大小为0且最后一个元素大小为得到增补后的数值序列即
[0091]
如果不是,则令增补后的数值序列等于数值序列即
[0092]
步骤

.从表征灰度图片的矩阵m的左上角位置开始,按行且每行从左往右,依次将增补后的数值序列中元素填放入矩阵m中,表示如下,
[0093][0094]
步骤

.将矩阵m中各元素分别用小矩阵块代替,小矩阵块的矩阵大小为30
×
30、元素数值均与m中该元素数值一致,表示如下,
[0095]
[0096]
将矩阵mc转换为灰度图片,从而生成灰度图片c,其中灰度图片c的大小为30h
×
30l,
[0097]
最后,将生成的灰度图片c与商品标识码a上下连接的组合方式,即将商品标识码a放在生成的灰度图片c正下方,并利用二维码生成器将组合的商品标识码和灰度图片转换为二维码,从而得到商品防伪二维码。
[0098]
下面结合具体的实施例对本发明作进一步说明:
[0099]
实施例1
[0100]
按照上述一种基于置乱加密的商品防伪二维码生成方法,步骤如下:
[0101]
(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的长度表示为数值序列p的长度为
[0102]
然后,依次将数值序列p中元素p
i
逐个转换成8bits的二进制序列,并从左往右逐列填入二进制矩阵b中,从而得到组合二进制矩阵b,
[0103][0104]
(2)混沌序列的产生
[0105]
首先,利用数值序列p及其转换的二进制矩阵b,以及外部密钥α=0.12345和β=0.54321,按照如下所示的公式分别计算得到bernoulli混沌映射的初值x1和参数λ以及初次抽取位置n,
[0106]
令则
[0107]
x1=0.02 mod(0.12345 0.320977516596008,0.98)=0.464427516596008,
[0108]
λ=0.01 mod(0.54321 0.320977516596008,0.99)=0.874187516596008,
[0109][0110]
然后,由混沌映射的初值x1=0.464427516596008和参数λ=0.874187516596008,对如下公式所示的bernoulli混沌映射进行迭代,得到混沌序列x={x1,x2,...},
[0111][0112]
最后,对混沌序列x={x1,x2,...}进行如下操作:
[0113]
s10.令混沌序列y为空序列,且i=1,
[0114]
s11.从混沌序列x中抽取第n个元素,并放入混沌序列y中,即y=[y,x
n
],
[0115]
s12.比较i与93的大小,若i<93,则对抽取位置n按照如下所示公式进行调整,且令i=i 1,随后转向步骤s11,
[0116][0117]
若i=93,则停止操作,从而得到混沌序列y={y1,y2,...,y
92
,y
93
};
[0118]
(3)组合二进制矩阵b的行、列置乱
[0119]
首先,从混沌序列y={y1,y2,...,y
92
,y
93
}中第1个元素开始连续抽取8个元素,得到混沌序列y1={y1,y2,...,y7,y8},按降序排序,根据混沌序列y1排序前、后的位置变化置乱规则,对组合二进制矩阵b按行进行置乱,得到行置乱后的二进制矩阵其中混沌序列y1排序前、后的位置变化置乱规则可表示为{8,5,3,7,1,6,4,2},
[0120]
[0121]
然后,从混沌序列y={y1,y2,...,y
92
,y
93
}中第9个元素开始连续抽取85个元素,得到混沌序列y2={y21,y22,...,y2
84
,y2
85
},按降序排序,根据混沌序列y2排序前、后的位置变化置乱规则,对行置乱后的二进制矩阵按列进行置乱,得到行列置乱后的二进制矩阵其中混沌序列y2排序前、后的位置变化置乱规则可表示为{51,25,32,43,1,6,14,41,67,20,12,22,11,7,48,13,80,16,10,72,2,57,19,17,36,74,60,9,33,61,70,27,73,3,15,53,47,30,84,54,62,42,34,18,46,28,44,37,38,58,5,71,26,55,76,39,40,59,66,24,81,21,85,45,63,64,68,4,50,83,49,52,78,8,69,79,23,56,31,65,35,29,75,82,77},
[0122][0123]
最后,依次将行列置乱后的二进制矩阵的每列元素转换成数值型数据从而得到数值序列而得到数值序列
[0124]
(4)二维码的生成
[0125]
首先,确定灰度图片的大小,得到行数为h=9,列数为l=10
[0126]
然后,依次按如下步骤进行:
[0127]
步骤

.在数值序列的尾端增补上5个元素,数值大小为0且最后一个元素大小为85,得到增补后的数值序列为85,得到增补后的数值序列
[0128]
步骤

.从表征灰度图片的矩阵m的左上角位置开始,按行且每行从左往右,依次将增补后的数值序列中元素填放入矩阵m中,其中矩阵m的大小为9
×
10,表示如下,
[0129][0130]
步骤

.将矩阵m中各元素分别用小矩阵块代替,小矩阵块的矩阵大小为30
×
30、元素数值均与m中该元素数值一致,表示如下,
[0131][0132]
随后将矩阵mc转换为灰度图片,从而生成灰度图片c,如图2所示,其中灰度图片c的大小为270
×
300。
[0133]
最后,将生成的灰度图片c与商品标识码a上下连接的组合方式,即将商品标识码a放在生成的灰度图片c正下方,并利用二维码生成器将组合的商品标识码和灰度图片转换为二维码,从而得到商品防伪二维码,如图3所示。
[0134]
实施例2
[0135]
按照上述一种基于置乱加密的商品防伪二维码生成方法,某件商品的商品标识码字符串a及其商品防伪二维码生成步骤与具体实施例1相似,仅某个外部密钥发生细微变化:α=0.12345000000001;或β=0.54321000000001,商品防伪二维码的生成结果如表1所示。由下表可见:一旦外部密钥即使发生细微变化,生成的商品防伪二维码会发生极大的变化,由此可见本专利所提一种基于置乱加密的商品防伪二维码生成方法具有密钥敏感性。
[0136]
表1外部密钥发生微变时,商品防伪二维码的生成结果
[0137]
[0138]
[0139][0140]
实施例3
[0141]
按照上述一种基于置乱加密的商品防伪二维码生成方法,外部密钥及其商品防伪二维码生成步骤与具体实施例1相似,仅某件商品的商品标识码字符串a发生细微变化“冮苏省##集团
××
公司

****商品生产日期2021

01

01生产线ⅱ01生产序号123456”;或者“江苏省##集团
××
公司

****商品生产日期2021

11

01生产线ⅱ01生产序号123456”;或者“江苏省##集团
××
公司

****商品生产日期2021

01

01生产线ⅱ02生产序号123465”,商品防伪二维码的生成结果如表2所示。由下表可见:一旦表征某件商品唯一身份信息的商品标识码字符串即使发生细微变化,生成的商品防伪二维码会发生极大的变化,由此可见本专利所提一种基于置乱加密的商品防伪二维码生成方法对商品身份信息(即商品标识码)具有敏感性。
[0142]
表2商品标识码发生微变时,商品防伪二维码的生成结果
[0143]
[0144]
[0145]
[0146]
[0147][0148]
由上述具体实施例2和例3分析可知,本专利所提一种基于置乱加密的商品防伪二维码生成方法所生成商品防伪二维码不仅与外部密钥密切相关,而且依赖于表征某件商品唯一身份信息的商品标识码,因此本专利所提的一种基于置乱加密的商品防伪二维码生成方法具有很强的安全性,可以较好地抵抗已知/选择明文攻击,不易破解,以保证生成的商品防伪二维码具有“唯一性和不可伪造性”。
[0149]
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

技术特征:
1.一种基于置乱加密的商品防伪二维码生成方法,其特征在于,包括如下几个步骤:(1)转码首先,将表征某件商品唯一身份信息的商品标识码a,逐个字符转换为数值型数据,得到数值序列然后,依次将数值序列p中元素p
i
逐个转换成8bits的二进制序列{pb
i1
,pb
i2
,pb
i3
,pb
i4
,pb
i5
,pb
i6
,pb
i7
,pb
i8
},并将个二进制序列{pb
i1
,pb
i2
,pb
i3
,pb
i4
,pb
i5
,pb
i6
,pb
i7
,pb
i8
}从左往右逐列填入矩阵b中,其中矩阵某行对应于各二进制序列的某位,从而得到组合二进制矩阵b,其中商品标识码a为gbk编码的字符,商品标识码a的长度表示为数值序列p的长度为组合二进制矩阵b的大小为且(2)混沌序列的产生首先,利用数值序列p及其转换的组合二进制矩阵b,以及外部密钥α和β,按照如下公式(1)

(3)分别计算得到bernoulli混沌映射的初值x1和参数λ以及初次抽取位置n,令则x1=0.02 mod(α kp,0.98),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)λ=0.01 mod(β kp,0.99),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中,<b>表示组合二进制矩阵b中含有二进制位
‘0’
的个数,外部密钥满足α∈(0,1),β∈(0,1),表示对某数取整且取整后的值不大于该数,然后,由混沌映射的初值x1和参数λ,对如下公式(4)所示bernoulli混沌映射进行迭代,式中k表示迭代次数(k=1,2,...)、x
k 1
表示第k次迭代得到的混沌信号,
得到混沌序列x={x1,x2,...},最后,对混沌序列x={x1,x2,...}进行如下操作:s10.令混沌序列y为空序列,且i=1,s11.从混沌序列x中抽取第n个元素,并放入混沌序列y中,即y=[y,x
n
],s12.比较i与的大小,若则对抽取位置n按照如下公式(5)进行调整,且令i=i 1,随后转向步骤s11,若则停止操作,从而得到混沌序列(3)组合二进制矩阵b的行、列置乱首先,从混沌序列中第1个元素开始连续抽取8个元素,得到混沌序列y1={y11,y12,...,y17,y18}={y1,y2,...,y7,y8},按降序排序,根据混沌序列y1排序前、后的位置变化置乱规则,对组合二进制矩阵b按行进行置乱,得到行置乱后的二进制矩阵其中混沌序列y1排序前、后的位置变化置乱规则可表示为{t11,t12,...,t17,t18},然后,从混沌序列中第9个元素开始连续抽取个元素,得到混沌序列按降序排序,根据混沌序列y2排序前、后的位置变化置乱规则,对行置乱后的二进制矩阵按列进行置乱,得到行列置乱后的二进制矩阵其中混沌序列y2排序前、后的位置变化置乱规则可表示为
最后,利用bin2dec(
·
)函数,依次将行列置乱后的二进制矩阵的每列元素转换成数值型数据其中表示为从而得到数值序列(4)二维码的生成首先,确定灰度图片的大小,令行数为h,列数为l,其中列数行数h满足如下,其中,表示对某数取整且取整后的值不小于该数,然后,按照自定义的矩阵数据填放规则,将数值序列中元素依次填放入表征灰度图片的矩阵m中,从而生成灰度图片c,其中矩阵m的大小为h
×
l,灰度图片c的大小为30h
×
30l,最后,将商品标识码a和生成的灰度图片c进行组合,并利用二维码生成器将组合的商品标识码和灰度图片转换为二维码,从而得到商品防伪二维码。2.根据权利要求1所述的一种基于置乱加密的商品防伪二维码生成方法,其特征在于:
步骤(1)中所述的将表征某件商品唯一身份信息的商品标识码a,逐个字符转换为数值型数据,是指将商品标识码a中逐个字符采用unicode2native(
·
)函数转换为数值型数据,即对于双字节字符的转换表示为对于单字节字符的转换表示为从而得到数值序列3.根据权利要求1所述的一种基于置乱加密的商品防伪二维码生成方法,其特征在于:步骤(1)中所述的依次将数值序列p中元素p
i
逐个转换成8bits的二进制序列{pb
i1
,pb
i2
,pb
i3
,pb
i4
,pb
i5
,pb
i6
,pb
i7
,pb
i8
},是指采用dec2bin(p
i
,8)函数,即[pb
i1
,pb
i2
,pb
i3
,pb
i4
,pb
i5
,pb
i6
,pb
i7
,pb
i8
]=dec2bin(p
i
,8)。4.根据权利要求1所述的一种基于置乱加密的商品防伪二维码生成方法,其特征在于:步骤(4)中所述的按照自定义的矩阵数据填放规则,将数值序列中元素依次填放入表征灰度图片的矩阵m中,是指按如下三个步骤进行:步骤1.判断数值序列的长度是否小于数值h
×
l,如果是,则在数值序列的尾端增补上个元素,数值大小为0且最后一个元素大小为得到增补后的数值序列即如果不是,则令增补后的数值序列等于数值序列即步骤2.从表征灰度图片的矩阵m的左上角位置开始,按行且每行从左往右,依次将增补后的数值序列中元素填放入矩阵m中,表示如下,步骤3.将矩阵m中各元素分别用小矩阵块代替,小矩阵块的矩阵大小为30
×
30、元素数值均与m中该元素数值一致,表示如下,
将矩阵mc转换为灰度图片,从而生成灰度图片c,其中灰度图片c的大小为30h
×
30l。5.根据权利要求1所述的一种基于置乱加密的商品防伪二维码生成方法,其特征在于:步骤(4)中所述的将商品标识码a和生成的灰度图片c进行组合,是指将生成的灰度图片c与商品标识码a上下连接的组合方式,即将商品标识码a放在生成的灰度图片c正下方。
技术总结
本发明公开了一种基于置乱加密的商品防伪二维码生成方法,包括如下步骤:将表征某件商品唯一身份信息的商品标识码,进行数值型数据以及8位二进制转换,得组合二进制矩阵B;实时调整抽取位置,混沌迭代并抽取产生混沌序列Y1和Y2;利用序列Y1降序排序前、后位置变化规则,对矩阵B按行进行置乱,再利用序列Y2降序排序前、后位置变化规则,对行置乱后二进制矩阵按列进行置乱,得行列置乱后二进制矩阵将矩阵中每列元素转换而成的数值型数据填入表征灰度图片的矩阵中,生成一幅灰度图像,进而组合生成商品防伪二维码。本发明所提基于置乱加密的商品防伪二维码生成方法简单可行,具有很强的安全性、不易破解,生成的商品防伪二维码具有“唯一性和不可伪造性”。。。


技术研发人员:盛苏英 吴新华 陆国平 张小美 张振娟 任洁 朱建红 刘焰森
受保护的技术使用者:南通大学
技术研发日:2021.04.02
技术公布日:2021/6/29

转载请注明原文地址:https://doc.8miu.com/read-24299.html

最新回复(0)