CN112183698B - 一种汉字垃圾分类二维码生成方法 - Google Patents

一种汉字垃圾分类二维码生成方法 Download PDF

Info

Publication number
CN112183698B
CN112183698B CN202011038789.1A CN202011038789A CN112183698B CN 112183698 B CN112183698 B CN 112183698B CN 202011038789 A CN202011038789 A CN 202011038789A CN 112183698 B CN112183698 B CN 112183698B
Authority
CN
China
Prior art keywords
sequence
binary
code
garbage classification
chinese character
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
CN202011038789.1A
Other languages
English (en)
Other versions
CN112183698A (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 CN202011038789.1A priority Critical patent/CN112183698B/zh
Publication of CN112183698A publication Critical patent/CN112183698A/zh
Application granted granted Critical
Publication of CN112183698B publication Critical patent/CN112183698B/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
    • 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)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Document Processing Apparatus (AREA)
  • Processing Of Solid Wastes (AREA)

Abstract

本发明公开了一种汉字垃圾分类二维码生成方法,包括如下步骤:从垃圾袋身份码中提取出身份显示码和隐藏码并分别进行数据转换及组合操作,得到组合二进制矩阵B以及高、低位组合二进制序列B1、B2;计算得到混沌系统的初值和参数、抽取开始位置、抽取间隔数,利用混沌迭代所得混沌序列Y和Z的降序排序前、后的位置变化规则,对二进制序列B1、B2分别进行置乱;将置乱后二进制序列
Figure DDA0002705940590000011
分别依次正向以6个元素为单位进行分组,再将分组序列分别进行扩散,从而生成垃圾分类号,进而组合生成汉字垃圾分类二维码。本发明的汉字垃圾分类二维码生成方法简单可行,具有很强的安全性、不易破解,生成的垃圾分类码具有“唯一性、安全性和垃圾分类引导性”。

Description

一种汉字垃圾分类二维码生成方法
技术领域
本发明涉及垃圾分类技术领域,特别涉及一种汉字垃圾分类二维码生成方法。
背景技术
随着科技和经济社会的高速发展、城市化进程的进一步推进,目前我国城市生活垃圾年产量过亿吨,许多城市正面临“垃圾围城”的严峻形势。“垃圾围城”已成为中国城市发展的绊脚石。破解“垃圾围城”的难题,首先是从源头上减少城市生活垃圾的产生,其次,将垃圾资源化处理也是一个必不可少的关键环节,因此推行垃圾分类迫在眉睫。早在1992年,我国宜昌市首次提出了推行“垃圾装袋分类”,并首次提出了制定专项立法来管理城市生活垃圾分类。随后垃圾分类逐渐在全国范围内开展开来,自上世纪九十年代垃圾分类推行以来,我国城市垃圾分类的理论研究已取得了明显的成效,由于目前城市居民缺乏垃圾分类知识、环境保护意识不足、活动参与热情不高。此外,垃圾回收站的基础设施过于简陋、垃圾回收运输过程太过粗放、居民对于垃圾袋个人隐私信息暴露的担忧而消极甚至不愿参与等种种问题逐渐显露,显然,我国城市垃圾分类的实施正面临着许多困难和挑战。针对上述问题,当务之急是研发一种安全可靠的垃圾分类码生成方法,从源头上保障生成具有“唯一性、安全性和垃圾分类引导性”垃圾分类码,促进垃圾分类工作的有效开展。
发明内容
发明目的:本发明的目的是为了解决现有技术中的不足,提供一种汉字垃圾分类二维码生成方法,从垃圾袋身份码中提取出身份显示码和隐藏码,依赖身份显示码和隐藏码而计算得到混沌系统的初值和参数、抽取开始位置和抽取间隔,利用混沌映射产生混沌信号序列,对垃圾袋身份隐藏码转换以及二进制组合而成的高、低位二进制序列分别进行置乱,并将置乱后的二进制序列分别依次正向以6个元素为单位进行分组,再将分组序列分别进行扩散,从而生成汉字垃圾分类号,进而组合生成汉字垃圾分类二维码。本发明所提一种汉字垃圾分类二维码生成方法简单可行,具有很强的安全性、不易破解,生成的汉字垃圾分类码具有“唯一性、安全性和垃圾分类引导性”。
技术方案:一种汉字垃圾分类二维码生成方法,包括如下几个步骤:
(1)转码
首先,将某件垃圾袋的身份信息编码生成唯一的中英文字符型垃圾袋身份码,表示为M1M2...MkMk+1Mk+2...Mk+LMk+L+1Mk+L+2...Mk+L+pMk+L+p+1Mk+L+p+2...Mk+L+p+nMk+L+p+n+1Mk+L+p+n+2,其中M1M2...Mk为省市区,Mk+1Mk+2...Mk+L为具体居住地址,Mk+L+1Mk+L+2...Mk+L+p为联系人和联系电话,Mk+L+p+1Mk+L+p+2...Mk+L+p+n为制码年月日,Mk+L+p+n+1Mk+L+p+n+2为垃圾分类颜色信息,相互用英文空格间隔;
然后,从垃圾袋身份码中抽取出身份显示码(M1M2...MkMk+L+p+1Mk+L+p+2...Mk+L+p+ nMk+L+p+n+1Mk+L+p+n+2)和身份隐藏码(Mk+1Mk+2...Mk+LMk+L+1Mk+L+2...Mk+L+p),并将身份显示码逐个字符转换成数值型数据,得到对应的数值序列
Figure BDA0002705940570000021
同时将身份隐藏码逐个字符转换成数值型数据[Pi1,Pi2],得到高位数值序列P1={P11,P12,…,P1L+p,P1L+p+1}={P11,P21,…,P(L+p)1,P(L+p+1)1}和低位数值序列P2={P21,P22,…,P2L+p,P2L+p+1}={P12,P22,…,P(L+p)2,P(L+p+1)2};
最后,依次将数值序列S中元素Si逐个转换成8bits的二进制序列{BSi1,BSi2,BSi3,BSi4,BSi5,BSi6,BSi7,BSi8}、将数值序列P1中元素P1i逐个转换成8bits的二进制序列{BP1i1,BP1i2,BP1i3,BP1i4,BP1i5,BP1i6,BP1i7,BP1i8}、将数值序列P2中元素P2i逐个转换成8bits的二进制序列{BP2i1,BP2i2,BP2i3,BP2i4,BP2i5,BP2i6,BP2i7,BP2i8},
并将
Figure BDA0002705940570000022
个二进制序列{BSi1,BSi2,BSi3,BSi4,BSi5,BSi6,BSi7,BSi8}进行组合,其中
Figure BDA0002705940570000023
从而得到组合二进制矩阵B:
Figure BDA0002705940570000024
同时将L+p+1个二进制序列{BP1i1,BP1i2,BP1i3,BP1i4,BP1i5,BP1i6,BP1i7,BP1i8}进行组合,其中i=1,2,...,L+p,L+p+1,从而得到高位组合二进制序列B1={B11,B12,...,B18L+8p+7,B18L+8p+8}={BP111,BP112,BP113,BP114,BP115,BP116,BP117,BP118,BP121,BP122,...,BP127,BP128,...,BP1i1,BP1i2,...,BP1i7,BP1i8,...,BP1L+p+11,BP1L+p+12,BP1L+p+13,BP1L+p+14,BP1L+p+15,BP1L+p+16,BP1L+p+17,BP1L+p+18},并将L+p+1个二进制序列{BP2i1,BP2i2,BP2i3,BP2i4,BP2i5,BP2i6,BP2i7,BP2i8}进行组合,其中i=1,2,...,L+p,L+p+1,从而得到低位组合二进制序列B2={B21,B22,...,B28L+8p+7,B28L+8p+8}={BP211,BP212,BP213,BP214,BP215,BP216,BP217,BP218,BP221,BP222,...,BP227,BP228,...,BP2i1,BP2i2,...,BP2i7,BP2i8,...,BP2L+p+11,BP2L+p+12,BP2L+p+13,BP2L+p+14,BP2L+p+15,BP2L+p+16,BP2L+p+17,BP2L+p+18};
其中,垃圾袋身份码包括GB2312字符集中双字节编码的汉字和ASCLL码值∈[32,126]的可见字符,垃圾袋身份码长度为k+L+p+n+6,数值序列S的长度为
Figure BDA0002705940570000025
Figure BDA0002705940570000031
数值序列P1、P2的长度为L+p+1,组合二进制矩阵B的大小为
Figure BDA0002705940570000032
组合二进制序列B1、B2的长度为8L+8p+8;
(2)组合二进制序列B1、B2的置乱
首先,利用数值序列S及其转换成的二进制矩阵B,数值序列P1、P2转换成的二进制序列B1、B2,以及外部密钥α和β,按照如下(1)-(5)公式分别计算得到Logistic混沌映射的初值x1和参数μ、抽取开始位置m,以及抽取间隔数n1、n2
Figure BDA0002705940570000033
Figure BDA0002705940570000038
Figure BDA0002705940570000034
x1=α+mod(α+kp,1-α), (1)
μ=β+mod(β+2×kp,4-β), (2)
Figure BDA0002705940570000035
Figure BDA0002705940570000036
Figure BDA0002705940570000037
其中,<B1,i,B2,i,B3,i,B4,i,B5,i,B6,i,B7,i,B8,i>表示二进制矩阵B第i列或者二进制序列{BSi1,BSi2,BSi3,BSi4,BSi5,BSi6,BSi7,BSi8}中二进制位‘1’的个数,<B11,B12,...,B18L+8p+7,B18L+8p+8>表示二进制序列{B11,B12,...,B18L+8p+7,B18L+8p+8}中二进制位‘1’的个数,<B21,B22,...,B28L+8p+7,B28L+8p+8>表示二进制序列{B21,B22,...,B28L+8p+7,B28L+8p+8}中二进制位‘1’的个数,外部密钥满足α∈(0,1)、β∈(3.57,4);
然后,由混沌映射的初值x1和外部密钥μ,对如下公式(6)所示Logistic混沌映射进行迭代,式中k表示迭代次数(k=1,2,...)、xk+1表示第k次迭代得到的混沌信号,
xk+1=μ×xk×(1-xk) (6)
得到混沌信号序列X={x1,x2,...},从序列X中第m个元素开始依次间隔n1个元素取1个元素以形成长度为8L+8p+8的混沌信号序列
Figure BDA0002705940570000041
同时从序列X中第m个元素开始依次间隔n2个元素取1个元素以形成长度为8L+8p+8的混沌信号序列Z={Z1,Z2,...,Z8L+8p+7,Z8L+8p+8};
最后,将混沌信号序列Y按降序排序,根据混沌信号序列Y排序前、后的位置变化置乱规则,对高位组合二进制序列B1进行置乱,得到置乱后高位二进制序列
Figure BDA0002705940570000042
同时将混沌信号序列Z按降序排序,根据混沌信号序列Z排序前、后的位置变化置乱规则,对低位组合二进制序列B2进行置乱,得到置乱后低位二进制序列
Figure BDA0002705940570000043
(3)置乱后二进制序列
Figure BDA0002705940570000044
的分组、扩散
首先,令LB=mod(6-mod(8L+8p+8,6),6),将置乱后高位二进制序列
Figure BDA0002705940570000045
的末尾添加LB个二进制位‘0’,将置乱后低位二进制序列
Figure BDA0002705940570000046
的末尾添加LB个二进制位‘1’,得到二进制序列
Figure BDA0002705940570000047
Figure BDA0002705940570000048
和二进制序列
Figure BDA0002705940570000049
Figure BDA00027059405700000410
其中
Figure BDA00027059405700000411
对二进制序列
Figure BDA00027059405700000412
Figure BDA00027059405700000413
分别进行分组,将二进制序列
Figure BDA00027059405700000414
中元素从头到尾依次正向以6个元素为单位进行分组,得到分组后的二进制序列,表示为
Figure BDA00027059405700000415
同时将二进制序列
Figure BDA00027059405700000416
中元素从头到尾依次正向以6个元素为单位进行分组,得到分组后的二进制序列,表示为
Figure BDA00027059405700000417
其中每一个二进制分组序列均包含6个二进制位,且
Figure BDA00027059405700000418
然后,将每一个二进制分组序列BF1{i}、BF2{i},依次进行如下扩散操作:
S0:令i=1,且
k1_switch=mod(3×<B11,B12,...,B18L+8p+7,B18L+8p+8>+2×(8L+8p+8-<B11,B12,...,B18L+8p+7,B18L+8p+8>),8),
k2_switch=mod(3×<B21,B22,...,B28L+8p+7,B28L+8p+8>-2×(8L+8p+8-<B21,B22,...,B28L+8p+7,B28L+8p+8>),25),
S1:将二进制分组序列BF1{i}、BF2{i},按如下公式(7)、(8)进行计算,
CP1i=bin2dec(BF1{i})+176+k1_switch, (7)
CP2i=bin2dec(BF2{i})+161+k2_switch, (8)
S2:利用二进制分组序列BF1{i}计算而得的数值型数据CP1i,以及二进制分组序列BF2{i}计算而得的数值型数据CP2i,计算k1_switch=mod(CP1i+2×CP2i+3×k1_switch,8)、k2_switch=mod(CP2i+2×CP1i+3×k2_switch,25),且令i=i+1,接着判断i的大小,如果
Figure BDA00027059405700000419
则转入步骤S1,否则转入步骤S3;
S3:结束二进制分组序列的扩散操作,从而得到扩散后的数值序列CP1和CP2,表示为
Figure BDA0002705940570000051
(4)转码
将数值序列
Figure BDA0002705940570000052
逐个元素组合并转换为汉字字符,得到汉字序列
Figure BDA0002705940570000053
即为汉字垃圾分类号,其中汉字序列C的长度为
Figure BDA0002705940570000054
并将垃圾袋身份显示码(M1M2...MkMk+L+p+1Mk+L+p+2...Mk+L+p+ nMk+L+p+n+1Mk+L+p+n+2)和汉字垃圾分类号进行组合,生成汉字垃圾分类码,接着生成QR Code,即汉字垃圾分类二维码。
进一步地,一种汉字垃圾分类二维码生成方法里步骤(1)中所述的将身份显示码逐个字符转换成数值型数据,是指将身份显示码逐个字符采用unicode2native()函数将ASCII码值属于[32,126]的可见字符转换为单个数值型数据,或将GB2312字符集中双字节编码的汉字转换为两个数值型数据,从而得到对应的数值序列
Figure BDA0002705940570000055
进一步地,一种汉字垃圾分类二维码生成方法里步骤(1)中所述的将身份隐藏码逐个字符转换成数值型数据[Pi1,Pi2],是指将身份隐藏码逐个字符采用unicode2native()函数将ASCII码值属于[32,126]的可见字符转换为单个数值型数据并进行重组,表示为[Pi1,Pi2]=[0,unicode2native(Mi)],或将GB2312字符集中双字节编码的汉字转换为两个数值型数据,表示为[Pi1,Pi2]=unicode2native(Mi),从而得到高位数值序列P1={P11,P12,…,P1L+p,P1L+p+1}={P11,P21,…,P(L+p)1,P(L+p+1)1}和低位数值序列P2={P21,P22,…,P2L+p,P2L+p+1}={P12,P22,…,P(L+p)2,P(L+p+1)2}。
进一步地,一种汉字垃圾分类二维码生成方法里步骤(1)中所述的将数值序列S中元素Si逐个转换成8bits的二进制序列{BSi1,BSi2,BSi3,BSi4,BSi5,BSi6,BSi7,BSi8},是指采用dec2bin(Si,8)函数得到二进制序列{BSi1,BSi2,BSi3,BSi4,BSi5,BSi6,BSi7,BSi8}。
进一步地,一种汉字垃圾分类二维码生成方法里步骤(1)中所述的将数值序列P1中元素P1i逐个转换成8bits的二进制序列{BP1i1,BP1i2,BP1i3,BP1i4,BP1i5,BP1i6,BP1i7,BP1i8},是指采用dec2bin(P1i,8)函数得到二进制序列{BP1i1,BP1i2,BP1i3,BP1i4,BP1i5,BP1i6,BP1i7,BP1i8}。
进一步地,一种汉字垃圾分类二维码生成方法里步骤(1)中所述的将数值序列P2中元素P2i逐个转换成8bits的二进制序列{BP2i1,BP2i2,BP2i3,BP2i4,BP2i5,BP2i6,BP2i7,BP2i8},是指采用dec2bin(P2i,8)函数得到二进制序列{BP2i1,BP2i2,BP2i3,BP2i4,BP2i5,BP2i6,BP2i7,BP2i8}。
进一步地,一种汉字垃圾分类二维码生成方法里步骤(4)中所述的将数值序列
Figure BDA0002705940570000056
逐个元素组合并转换为汉字字符,是指先逐个元素组合[CP1i,CP2i],然后再转换为汉字字符,即Ci=native2unicode([CP1i,CP2i])。
进一步地,一种汉字垃圾分类二维码生成方法里步骤(4)中所述的将垃圾袋身份显示码(M1M2...MkMk+L+p+1Mk+L+p+2...Mk+L+p+nMk+L+p+n+1Mk+L+p+n+2)和汉字垃圾分类号进行组合,生成汉字垃圾分类码,是指采用垃圾袋身份显示码和汉字垃圾分类号插入连接的组合方式,表示为
Figure BDA0002705940570000062
其中M1M2...Mk、Mk+L+p+1Mk+L+p+2...Mk+L+p+n
Figure BDA0002705940570000063
与Mk+L+p+n+1Mk+L+p+n+2之间相互用英文空格间隔。
有益效果:本发明依赖从垃圾袋身份码中提取的身份显示码和隐藏码,而计算所得混沌系统初值和参数、抽取开始位置和抽取间隔,利用混沌映射产生混沌信号序列,对垃圾袋身份隐藏码转换以及二进制组合而成的高、低位二进制序列B1、B2分别进行置乱,并将置乱后的二进制矩阵分别依次正向以6个元素为单位进行分组,再将分组序列分别进行扩散,从而生成汉字垃圾分类号,进而组合生成汉字垃圾分类二维码,以此保证所提一种汉字垃圾分类二维码生成方法简单可行,具有很强的安全性、不易破解,生成的垃圾分类码具有“唯一性、安全性和垃圾分类引导性”。
附图说明
图1为本发明的一种汉字垃圾分类二维码生成流程示意图;
图2为本发明的汉字垃圾分类二维码示意图,中间含有“可回收”绿色背景标志。
具体实施方式
如图1所示的一种汉字垃圾分类二维码生成方法,包括如下几个步骤:
(1)转码
首先,将某件垃圾袋的身份信息编码生成唯一的中英文字符型垃圾袋身份码,表示为M1M2...MkMk+1Mk+2...Mk+LMk+L+1Mk+L+2...Mk+L+pMk+L+p+1Mk+L+p+2...Mk+L+p+nMk+L+p+n+1Mk+L+p+n+2,其中M1M2...Mk为省市区,Mk+1Mk+2...Mk+L为具体居住地址,Mk+L+1Mk+L+2...Mk+L+p为联系人和联系电话,Mk+L+p+1Mk+L+p+2...Mk+L+p+n为制码年月日,Mk+L+p+n+1Mk+L+p+n+2为垃圾分类颜色信息,相互用英文空格间隔,
然后,从垃圾袋身份码中抽取出身份显示码(M1M2...MkMk+L+p+1Mk+L+p+2...Mk+L+p+ nMk+L+p+n+1Mk+L+p+n+2)和身份隐藏码(Mk+1Mk+2...Mk+LMk+L+1Mk+L+2...Mk+L+p),并将身份显示码逐个字符采用unicode2native()函数将ASCII码值属于[32,126]的可见字符转换为单个数值型数据,或将GB2312字符集中双字节编码的汉字转换为两个数值型数据,从而得到对应的数值序列
Figure BDA0002705940570000061
同时将身份隐藏码逐个字符采用unicode2native()函数将ASCII码值属于[32,126]的可见字符转换为单个数值型数据并进行重组,表示为[Pi1,Pi2]=[0,unicode2native(Mi)],或将GB2312字符集中双字节编码的汉字转换为两个数值型数据,表示为[Pi1,Pi2]=unicode2native(Mi),从而得到高位数值序列P1={P11,P12,…,P1L+p,P1L+p+1}={P11,P21,…,P(L+p)1,P(L+p+1)1}和低位数值序列P2={P21,P22,…,P2L+p,P2L+p+1}={P12,P22,…,P(L+p)2,P(L+p+1)2},
最后,依次将数值序列S中元素Si逐个采用dec2bin(Si,8)函数转换成8bits的二进制序列{BSi1,BSi2,BSi3,BSi4,BSi5,BSi6,BSi7,BSi8}、将数值序列P1中元素P1i逐个采用dec2bin(P1i,8)函数转换成8bits的二进制序列{BP1i1,BP1i2,BP1i3,BP1i4,BP1i5,BP1i6,BP1i7,BP1i8}、将数值序列P2中元素P2i逐个采用dec2bin(P2i,8)函数转换成8bits的二进制序列{BP2i1,BP2i2,BP2i3,BP2i4,BP2i5,BP2i6,BP2i7,BP2i8},
并将
Figure BDA0002705940570000071
个二进制序列{BSi1,BSi2,BSi3,BSi4,BSi5,BSi6,BSi7,BSi8}进行组合,其中
Figure BDA0002705940570000072
从而得到组合二进制矩阵B,
Figure BDA0002705940570000073
同时将L+p+1个二进制序列{BP1i1,BP1i2,BP1i3,BP1i4,BP1i5,BP1i6,BP1i7,BP1i8}进行组合,其中i=1,2,...,L+p,L+p+1,从而得到高位组合二进制序列B1={B11,B12,...,B18L+8p+7,B18L+8p+8}={BP111,BP112,BP113,BP114,BP115,BP116,BP117,BP118,BP121,BP122,...,BP127,BP128,...,BP1i1,BP1i2,...,BP1i7,BP1i8,...,BP1L+p+11,BP1L+p+12,BP1L+p+13,BP1L+p+14,BP1L+p+15,BP1L+p+16,BP1L+p+17,BP1L+p+18},并将L+p+1个二进制序列{BP2i1,BP2i2,BP2i3,BP2i4,BP2i5,BP2i6,BP2i7,BP2i8}进行组合,其中i=1,2,...,L+p,L+p+1,从而得到低位组合二进制序列B2={B21,B22,...,B28L+8p+7,B28L+8p+8}={BP211,BP212,BP213,BP214,BP215,BP216,BP217,BP218,BP221,BP222,...,BP227,BP228,...,BP2i1,BP2i2,...,BP2i7,BP2i8,...,BP2L+p+11,BP2L+p+12,BP2L+p+13,BP2L+p+14,BP2L+p+15,BP2L+p+16,BP2L+p+17,BP2L+p+18},
其中垃圾袋身份码包括GB2312字符集中双字节编码的汉字和ASCLL码值∈[32,126]的可见字符,垃圾袋身份码长度为k+L+p+n+6,数值序列S的长度为
Figure BDA0002705940570000074
数值序列P1、P2的长度为L+p+1,组合二进制矩阵B的大小为
Figure BDA0002705940570000075
组合二进制序列B1、B2的长度为8L+8p+8;
(2)组合二进制序列B1、B2的置乱
首先,利用数值序列S及其转换成的二进制矩阵B,数值序列P1、P2转换成的二进制序列B1、B2,以及外部密钥α和β,按照如下所示公式分别计算得到Logistic混沌映射的初值x1和参数μ、抽取开始位置m,以及抽取间隔数n1、n2
Figure BDA0002705940570000081
Figure BDA0002705940570000082
Figure BDA0002705940570000083
x1=α+mod(α+kp,1-α),
μ=β+mod(β+2×kp,4-β),
Figure BDA0002705940570000084
Figure BDA0002705940570000085
Figure BDA0002705940570000086
其中,<B1,i,B2,i,B3,i,B4,i,B5,i,B6,i,B7,i,B8,i>表示二进制矩阵B第i列或者二进制序列{BSi1,BSi2,BSi3,BSi4,BSi5,BSi6,BSi7,BSi8}中二进制位‘1’的个数,<B11,B12,...,B18L+8p+7,B18L+8p+8>表示二进制序列{B11,B12,...,B18L+8p+7,B18L+8p+8}中二进制位‘1’的个数,<B21,B22,...,B28L+8p+7,B28L+8p+8>表示二进制序列{B21,B22,...,B28L+8p+7,B28L+8p+8}中二进制位‘1’的个数,外部密钥满足α∈(0,1)、β∈(3.57,4),
然后,由混沌映射的初值x1和外部密钥μ,对如下公式所示Logistic混沌映射进行迭代,式中k表示迭代次数(k=1,2,...)、xk+1表示第k次迭代得到的混沌信号,
xk+1=μ×xk×(1-xk)
得到混沌信号序列X={x1,x2,...},从序列X中第m个元素开始依次间隔n1个元素取1个元素以形成长度为8L+8p+8的混沌信号序列
Figure BDA0002705940570000087
同时从序列X中第m个元素开始依次间隔n2个元素取1个元素以形成长度为8L+8p+8的混沌信号序列Z={Z1,Z2,...,Z8L+8p+7,Z8L+8p+8},
最后,将混沌信号序列Y按降序排序,根据混沌信号序列Y排序前、后的位置变化置乱规则,对高位组合二进制序列B1进行置乱,得到置乱后高位二进制序列
Figure BDA0002705940570000088
同时将混沌信号序列Z按降序排序,根据混沌信号序列Z排序前、后的位置变化置乱规则,对低位组合二进制序列B2进行置乱,得到置乱后低位二进制序列
Figure BDA0002705940570000091
(3)置乱后二进制序列
Figure BDA0002705940570000092
的分组、扩散
首先,令LB=mod(6-mod(8L+8p+8,6),6),将置乱后高位二进制序列
Figure BDA0002705940570000093
的末尾添加LB个二进制位‘0’,将置乱后低位二进制序列
Figure BDA0002705940570000094
的末尾添加LB个二进制位‘1’,得到二进制序列
Figure BDA0002705940570000095
Figure BDA0002705940570000096
和二进制序列
Figure BDA0002705940570000097
Figure BDA0002705940570000098
其中
Figure BDA0002705940570000099
对二进制序列
Figure BDA00027059405700000910
Figure BDA00027059405700000911
分别进行分组,将二进制序列
Figure BDA00027059405700000912
中元素从头到尾依次正向以6个元素为单位进行分组,得到分组后的二进制序列,表示为
Figure BDA00027059405700000913
同时将二进制序列
Figure BDA00027059405700000914
中元素从头到尾依次正向以6个元素为单位进行分组,得到分组后的二进制序列,表示为
Figure BDA00027059405700000915
其中每一个二进制分组序列均包含6个二进制位,且
Figure BDA00027059405700000916
然后,将每一个二进制分组序列BF1{i}、BF2{i},依次进行如下扩散操作:
S0:令i=1,且
k1_switch=mod(3×<B11,B12,...,B18L+8p+7,B18L+8p+8>+2×(8L+8p+8-<B11,B12,...,B18L+8p+7,B18L+8p+8>),8),
k2_switch=mod(3×<B21,B22,...,B28L+8p+7,B28L+8p+8>-2×(8L+8p+8-<B21,B22,...,B28L+8p+7,B28L+8p+8>),25),
S1:将二进制分组序列BF1{i}、BF2{i},按如下所示公式进行计算,
CP1i=bin2dec(BF1{i})+176+k1_switch,
CP2i=bin2dec(BF2{i})+161+k2_switch,
S2:利用二进制分组序列BF1{i}计算而得的数值型数据CP1i,以及二进制分组序列BF2{i}计算而得的数值型数据CP2i,计算k1_switch=mod(CP1i+2×CP2i+3×k1_switch,8)、k2_switch=mod(CP2i+2×CP1i+3×k2_switch,25),且令i=i+1,接着判断i的大小,如果
Figure BDA00027059405700000917
则转入步骤S1,否则转入步骤S3,
S3:结束二进制分组序列的扩散操作,从而得到扩散后的数值序列CP1和CP2,表示为
Figure BDA00027059405700000918
(4)转码
将数值序列
Figure BDA00027059405700000919
先逐个元素组合[CP1i,CP2i],再转换为汉字字符,表示为Ci=native2unicode([CP1i,CP2i]),即为汉字垃圾分类号,其中汉字序列C的长度为
Figure BDA0002705940570000101
并将垃圾袋身份显示码(M1M2...MkMk+L+p+1Mk+L+p+2...Mk+L+p+nMk+L+p+n+1Mk+L+p+n+2)和汉字垃圾分类号采用插入连接的组合方式,表示为
Figure BDA0002705940570000102
其中M1M2...Mk、Mk+L+p+1Mk+L+p+2...Mk+L+p+n
Figure BDA0002705940570000103
与Mk+L+p+n+1Mk+L+p+n+2之间相互用英文空格间隔,生成汉字垃圾分类码,接着生成QR Code,即汉字垃圾分类二维码。
下面结合具体的实施例对本发明作进一步说明:
实施例1
按照上述一种汉字垃圾分类二维码生成方法,步骤如下:
(1)转码
首先,将某件垃圾袋的身份信息编码生成唯一的中英文字符型垃圾袋身份码,为“江苏省-南通市-海门区中南世纪城-12#1201李晓强15005709999 2020-08-01 01”,长度为k+L+p+n+6=11+13+14+10+6=54,其中“江苏省-南通市-崇川区”为省市区,“中南世纪城-12#1201”为具体居住地址(如小区-门牌),“李晓强15005709999”为联系人和联系电话,“2020-08-01”为制码年月日,“01”为垃圾分类颜色信息(如绿色的可回收垃圾);
然后,从垃圾袋身份码中分别抽取出身份显示码(江苏省-南通市-海门区2020-08-01 01)和身份隐藏码(中南世纪城-12#1201李晓强15005709999),并将身份显示码逐个字符转换成数值型数据,得到对应的数值序列S={189,173,203,213,202,161,45,196,207,205,168,202,208,45,186,163,195,197,199,248,32,50,48,50,48,45,48,56,45,48,49,32,48,49},同时将身份隐藏码逐个字符转换成数值型数据,得到对应的高位数值序列P1={214,196,202,188,179,0,0,0,0,0,0,0,0,0,192,207,199,0,0,0,0,0,0,0,0,0,0,0}和低位数值序列P2={208,207,192,205,199,45,49,50,35,49,50,48,49,32,238,254,191,49,53,48,48,53,55,48,57,57,57,57},其中数值序列S的长度为
Figure BDA0002705940570000104
数值序列P1、P2的长度为L+p+1=13+14+1=28,
最后,依次将数值序列S中元素Si逐个转换成8bits的二进制序列,将数值序列P1中元素P1i逐个转换成8bits的二进制序列,将数值序列P2中元素P2i逐个转换成8bits的二进制序列,
并将34个二进制序列{BSi1,BSi2,BSi3,BSi4,BSi5,BSi6,BSi7,BSi8}进行组合,从而得到组合二进制矩阵B,
Figure BDA0002705940570000111
同时将28个二进制序列{BP1i1,BP1i2,BP1i3,BP1i4,BP1i5,BP1i6,BP1i7,BP1i8}进行组合,从而得到高位组合二进制序列B1={B11,B12,...,B1223,B1224}={1,1,0,1,0,1,1,0,1,1,0,0,0,1,0,0,1,1,0,0,1,0,1,0,1,0,1,1,1,1,0,0,1,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
将28个二进制序列{BP2i1,BP2i2,BP2i3,BP2i4,BP2i5,BP2i6,BP2i7,BP2i8}进行组合,从而得到低位组合二进制序列B2={B21,B22,...,B2223,B2224}={1,1,0,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,1,1,1,0,0,0,1,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,0,0,0,1,1,0,0,1,1,0,0,0,1,0,0,1,1,0,0,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,0,0,1,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1,0,0,1,1,0,0,0,1,0,0,1,1,0,1,0,1,0,0,1,1,0,0,0,0,0,01,1,0,0,0,0,0,0,1,1,0,1,0,1,0,0,1,1,0,1,1,1,0,0,1,1,0,0,0,0,0,0,1,1,1,0,0,1,0,0,1,1,1,0,0,1,0,0,1,1,1,0,0,1,0,0,1,1,1,0,0,1};
(2)组合二进制序列B1、B2的置乱
首先,利用数值序列S及其转换成的二进制矩阵B,数值序列P1、P2转换成的二进制序列B1、B2,以及外部密钥α=0.12345和β=3.75,按照如下所示公式分别计算得到Logistic混沌映射的初值x1和参数μ、抽取开始位置m,以及抽取间隔数n1、n2
Figure BDA0002705940570000112
x1=0.12345+mod(0.12345+0.466857806235239,1-0.12345)=0.713757806235239,
μ=3.75+mod(3.75+2×0.466857806235239,4-3.75)=3.933715612470478,
m=987+mod(73418705716,67)=1044,
n1=1+mod(73418705716,57)=41,
n2=1+mod(73418705716,47)=30,
然后,由混沌映射的初值x1和外部密钥μ,对如下公式所示Logistic混沌映射进行迭代,式中k表示迭代次数(k=1,2,...)、xk+1表示第k次迭代得到的混沌信号,
xk+1=μ×xk×(1-xk)
得到混沌信号序列X={x1,x2,...},从序列X中第1044个元素开始依次间隔41个元素取1个元素以形成长度为224的混沌信号序列Y={Y1,Y2,...,Y223,Y224},同时从序列X中第1044个元素开始依次间隔30个元素取1个元素以形成长度为224的混沌信号序列Z={Z1,Z2,...,Z223,Z224},
最后,将混沌信号序列Y按降序排序,根据混沌信号序列Y排序前、后的位置变化置乱规则,对高位组合二进制序列B1进行置乱,得到置乱后高位二进制序列
Figure BDA0002705940570000121
Figure BDA0002705940570000122
Figure BDA0002705940570000123
同时将混沌信号序列Z按降序排序,根据混沌信号序列Z排序前、后的位置变化置乱规则,对低位组合二进制序列B2进行置乱,得到置乱后低位二进制序列
Figure BDA0002705940570000124
(3)置乱后二进制序列
Figure BDA0002705940570000125
的分组、扩散
首先,令LB=mod(6-mod(224,6),6)=4,将置乱后高位二进制序列
Figure BDA0002705940570000126
的末尾添加4个二进制位‘0’,将置乱后低位二进制序列
Figure BDA0002705940570000127
的末尾添加4个二进制位‘1’,得到二进制序列
Figure BDA0002705940570000128
Figure BDA0002705940570000129
和二进制序列
Figure BDA00027059405700001210
将二进制序列
Figure BDA0002705940570000131
中元素从头到尾依次正向以6个元素为单位进行分组,得到分组后的二进制序列,BF1{1}={0,0,0,0,0,0},BF1{2}={0,0,0,1,0,0},…,BF1{19}={0,0,0,0,0,0},…,BF1{37}={0,0,0,1,0,0},BF1{38}={0,0,0,0,0,0},同时将二进制序列
Figure BDA0002705940570000132
中元素从头到尾依次正向以6个元素为单位进行分组,得到分组后的二进制序列,BF2{1}={1,1,0,0,1,0},BF2{2}={1,1,0,0,0,0},…,BF2{19}={0,1,1,0,0,0},…,BF2{37}={0,0,0,0,0,1},BF2{38}={0,1,1,1,1,1},
然后,将每一个二进制分组序列BF1{i}、BF2{i}依次进行扩散操作,从而得到扩散后的数值序列CP1={179,186,181,177,230,192,176,227,179,192,186,176,176,181,212,181,184,210,176,192,209,191,180,185,177,180,188,178,182,186,194,226,188,182,212,182,186,178}和CP2={233,216,188,211,230,212,168,232,238,235,218,228,170,225,188,186,205,204,188,196,225,206,210,166,216,170,181,205,201,175,205,178,181,234,197,247,167,196};
(4)转码
将数值序列
Figure BDA0002705940570000133
先逐个元素组合[CP1i,CP2i],再转换为汉字字符,得到汉字垃圾分类号为“抽贺导庇骀涝皑汨愁离黑颁蔼滇约岛竿姨凹滥厌课匆功必椽嫉餐渡函峦獠嫉蛾耘恩骇材”,并将垃圾袋身份显示码(江苏省-南通市-海门区2020-08-01 01)和汉字垃圾分类号采用插入连接的组合方式,生成汉字垃圾分类码为“江苏省-南通市-海门区2020-08-01抽贺导庇骀涝皑汨愁离黑颁蔼滇约岛竿姨凹滥厌课匆功必椽嫉餐渡函峦獠嫉蛾耘恩骇材01”,接着生成QR Code,即汉字垃圾分类二维码,如图2所示。
实施例2
按照上述一种汉字垃圾分类二维码生成方法,某件垃圾袋的身份隐藏码、外部密钥及其汉字垃圾分类二维码生成步骤与具体实施例1相似,仅某件垃圾袋的身份显示码中省市区或制码年月日信息发生细微变化:“工苏省-南通市-海门区2020-08-01 01”;或“江苏省-南通市-海们区2020-08-01 01”;或“江苏省-南通市-海门区2020-08-11 01”,汉字垃圾分类(二维)码的生成结果如表1所示。由下表可见:垃圾袋身份码中身份显示码(省市区或制码年月日)的细微变化会引起垃圾袋的汉字垃圾分类号发生很大的变化,由此可见本专利所提一种汉字垃圾分类二维码生成方法对垃圾袋身份显示码具有敏感性。
表1垃圾袋身份显示码中省市区或制码年月日信息发生微变时,汉字垃圾分类二维码的生成结果
Figure BDA0002705940570000134
Figure BDA0002705940570000141
Figure BDA0002705940570000151
实施例3
按照上述一种汉字垃圾分类二维码生成方法,某件垃圾袋的身份隐藏码、外部密钥及其汉字垃圾分类二维码生成步骤与具体实施例1、2相似,对于垃圾袋身份码(“江苏省-南通市-海门区中南世纪城-12#1201李晓强15005709999 2020-08-01 01”,或者“工苏省-南通市-海门区中南世纪城-12#1201李晓强15005709999 2020-08-01 01”,或者“江苏省-南通市-海们区中南世纪城-12#1201李晓强15005709999 2020-08-01 01”,或者“江苏省-南通市-海门区中南世纪城-12#1201李晓强15005709999 2020-08-11 01”),仅原垃圾袋身份信息中的垃圾分类颜色信息(“01”)发生细微变化:“02”;或“03”;或“04”,汉字垃圾分类二维码的生成结果如表2所示。由下表可知,垃圾袋身份码中垃圾分类颜色信息的细微变化会引起汉字垃圾分类二维码发生很大的变化,由此可见本专利所提一种汉字垃圾分类二维码生成方法对垃圾袋身份信息中垃圾分类颜色信息具有敏感性。
表2垃圾分类颜色信息发生微变时,汉字垃圾分类二维码的生成结果
Figure BDA0002705940570000152
Figure BDA0002705940570000161
Figure BDA0002705940570000171
Figure BDA0002705940570000181
实施例4
按照上述一种汉字垃圾分类二维码生成方法,某件垃圾袋的身份显示码、外部密钥及其汉字垃圾分类二维码生成步骤与具体实施例1、2相似,对于垃圾袋身份码(“江苏省-南通市-海门区中南世纪城-12#1201李晓强15005709999 2020-08-01 01”,或者“工苏省-南通市-海门区中南世纪城-12#1201李晓强15005709999 2020-08-01 01”,或者“江苏省-南通市-海们区中南世纪城-12#1201李晓强15005709999 2020-08-01 01”,或者“江苏省-南通市-海门区中南世纪城-12#1201李晓强15005709999 2020-08-11 01”),仅原垃圾袋身份信息中的身份隐藏码(“中南世纪城-12#1201李晓强15005709999”)发生细微变化:“钟南世纪城-12#1201李晓强15005709999”;或“中南世纪城-12#1211李晓强1500570999”;或“中南世纪城-12#1201李晓强15005709998”,汉字垃圾分类二维码的生成结果如表3所示。由下表可知,垃圾袋身份码中身份隐藏码的细微变化会引起汉字垃圾分类二维码发生很大的变化,由此可见本专利所提一种汉字垃圾分类二维码生成方法对垃圾袋身份信息中隐藏部分(即垃圾袋身份隐藏码)具有敏感性。
表3垃圾袋身份隐藏码发生微变时,汉字垃圾分类二维码的生成结果
Figure BDA0002705940570000182
Figure BDA0002705940570000191
Figure BDA0002705940570000201
Figure BDA0002705940570000211
实施例5
按照上述一种汉字垃圾分类二维码生成方法,某件垃圾袋的身份码(身份显示码与隐藏码)及其汉字垃圾分类二维码生成步骤与具体实施例1、2相似,对于垃圾袋身份码(“江苏省-南通市-海门区中南世纪城-12#1201李晓强15005709999 2020-08-01 01”,或者“工苏省-南通市-海门区中南世纪城-12#1201李晓强15005709999 2020-08-01 01”,或者“江苏省-南通市-海们区中南世纪城-12#1201李晓强15005709999 2020-08-01 01”,或者“江苏省-南通市-海门区中南世纪城-12#1201李晓强15005709999 2020-08-11 01”),仅单个外部密钥发生细微变化:α=0.123450000000001;或β=3.750000000000001,汉字垃圾分类码的生成结果如表4所示。由下表可见:一旦外部密钥发生即使细微变化,即“失之毫厘”,生成的汉字垃圾分类二维码会“差之千里”,由此可见本专利所提一种汉字垃圾分类二维码生成方法具有密钥敏感性。
表4外部密钥发生微变时,汉字垃圾分类二维码的生成结果
Figure BDA0002705940570000212
Figure BDA0002705940570000221
Figure BDA0002705940570000231
由上述具体实施例1-5分析可知,本专利所提一种汉字垃圾分类码生成方法所生成的汉字垃圾分类码不仅与外部密钥密切相关,而且依赖于垃圾袋身份信息(即垃圾袋身份显示码和垃圾袋身份隐藏码),因此本专利所提的一种汉字垃圾分类码生成方法具有很强的安全性,以保证生成的汉字垃圾分类码具有“唯一性、安全性和垃圾分类引导性”。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (8)

1.一种汉字垃圾分类二维码生成方法,其特征在于:包括如下几个步骤:
(1)转码
首先,将某件垃圾袋的身份信息编码生成唯一的中英文字符型垃圾袋身份码,表示为M1M2…Mk Mk+1Mk+2...Mk+L Mk+L+1Mk+L+2...Mk+L+p Mk+L+p+1Mk+L+p+2...Mk+L+p+n Mk+L+p+n+1Mk+L+p+n+2,其中M1M2...Mk为省市区,Mk+1Mk+2...Mk+L为具体居住地址,Mk+L+1Mk+L+2...Mk+L+p为联系人和联系电话,Mk+L+p+1Mk+L+p+2...Mk+L+p+n为制码年月日,Mk+L+p+n+1Mk+L+p+n+2为垃圾分类颜色信息,相互用英文空格间隔;
然后,从垃圾袋身份码中抽取出身份显示码(M1M2...Mk Mk+L+p+1Mk+L+p+2...Mk+L+p+nMk+L+p+n+1Mk+L+p+n+2)和身份隐藏码(Mk+1Mk+2...Mk+L Mk+L+1Mk+L+2...Mk+L+p),并将身份显示码逐个字符转换成数值型数据,得到对应的数值序列
Figure FDA0002705940560000011
同时将身份隐藏码逐个字符转换成数值型数据[Pi1,Pi2],得到高位数值序列P1={P11,P12,…,P1L+p,P1L+p+1}={P11,P21,…,P(L+p)1,P(L+p+1)1}和低位数值序列P2={P21,P22,…,P2L+p,P2L+p+1}={P12,P22,…,P(L+p)2,P(L+p+1)2};
最后,依次将数值序列S中元素Si逐个转换成8bits的二进制序列{BSi1,BSi2,BSi3,BSi4,BSi5,BSi6,BSi7,BSi8}、将数值序列P1中元素P1i逐个转换成8bits的二进制序列{BP1i1,BP1i2,BP1i3,BP1i4,BP1i5,BP1i6,BP1i7,BP1i8}、将数值序列P2中元素P2i逐个转换成8bits的二进制序列{BP2i1,BP2i2,BP2i3,BP2i4,BP2i5,BP2i6,BP2i7,BP2i8};
并将
Figure FDA0002705940560000012
个二进制序列{BSi1,BSi2,BSi3,BSi4,BSi5,BSi6,BSi7,BSi8}进行组合,其中
Figure FDA0002705940560000013
从而得到组合二进制矩阵B:
Figure FDA0002705940560000014
同时将L+p+1个二进制序列{BP1i1,BP1i2,BP1i3,BP1i4,BP1i5,BP1i6,BP1i7,BP1i8}进行组合,其中i=1,2,...,L+p,L+p+1,从而得到高位组合二进制序列B1={B11,B12,...,B18L+8p+7,B18L+8p+8}={BP111,BP112,BP113,BP114,BP115,BP116,BP117,BP118,BP121,BP122,...,BP127,BP128,...,BP1i1,BP1i2,...,BP1i7,BP1i8,...,BP1L+p+1 1,BP1L+p+1 2,BP1L+p+1 3,BP1L+p+1 4,BP1L+p+1 5,BP1L+p+1 6,BP1L+p+1 7,BP1L+p+1 8},并将L+p+1个二进制序列{BP2i1,BP2i2,BP2i3,BP2i4,BP2i5,BP2i6,BP2i7,BP2i8}进行组合,其中i=1,2,...,L+p,L+p+1,从而得到低位组合二进制序列B2={B21,B22,...,B28L+8p+7,B28L+8p+8}={BP211,BP212,BP213,BP214,BP215,BP216,BP217,BP218,BP221,BP222,...,BP227,BP228,...,BP2i1,BP2i2,...,BP2i7,BP2i8,...,BP2L+p+1 1,BP2L+p+1 2,BP2L+p+1 3,BP2L+p+1 4,BP2L+p+1 5,BP2L+p+1 6,BP2L+p+1 7,BP2L+p+1 8};
其中,垃圾袋身份码包括GB2312字符集中双字节编码的汉字和ASCLL码值∈[32,126]的可见字符,垃圾袋身份码长度为k+L+p+n+6,数值序列S的长度为
Figure FDA0002705940560000021
Figure FDA0002705940560000022
数值序列P1、P2的长度为L+p+1,组合二进制矩阵B的大小为
Figure FDA0002705940560000023
组合二进制序列B1、B2的长度均为8L+8p+8;
(2)组合二进制序列B1、B2的置乱
首先,利用数值序列S及其转换成的二进制矩阵B,数值序列P1、P2转换成的二进制序列B1、B2,以及外部密钥α和β,按照如下(1)-(5)公式分别计算得到Logistic混沌映射的初值x1和参数μ、抽取开始位置m,以及抽取间隔数n1、n2
Figure FDA0002705940560000024
Figure FDA0002705940560000025
x1=α+mod(α+kp,1-α), (1)
μ=β+mod(β+2×kp,4-β), (2)
Figure FDA0002705940560000026
Figure FDA0002705940560000027
Figure FDA0002705940560000028
其中,<B1,i,B2,i,B3,i,B4,i,B5,i,B6,i,B7,i,B8,i>表示组合二进制矩阵B第i列或者二进制序列{BSi1,BSi2,BSi3,BSi4,BSi5,BSi6,BSi7,BSi8}中二进制位‘1’的个数,<B11,B12,...,B18L+8p+7,B18L+8p+8>表示组合二进制序列{B11,B12,...,B18L+8p+7,B18L+8p+8}中二进制位‘1’的个数,<B21,B22,...,B28L+8p+7,B28L+8p+8>表示组合二进制序列{B21,B22,...,B28L+8p+7,B28L+8p+8}中二进制位‘1’的个数,外部密钥满足α∈(0,1)、β∈(3.57,4);
然后,由混沌映射的初值x1和外部密钥μ,对如下公式(6)所示Logistic混沌映射进行迭代,式中k表示迭代次数(k=1,2,...)、xk+1表示第k次迭代得到的混沌信号,
xk+1=μ×xk×(1-xk) (6)
得到混沌信号序列X={x1,x2,...},从序列X中第m个元素开始依次间隔n1个元素取1个元素以形成长度为8L+8p+8的混沌信号序列
Figure FDA0002705940560000031
同时从序列X中第m个元素开始依次间隔n2个元素取1个元素以形成长度为8L+8p+8的混沌信号序列Z={Z1,Z2,...,Z8L+8p+7,Z8L+8p+8};
最后,将混沌信号序列Y按降序排序,根据混沌信号序列Y排序前、后的位置变化置乱规则,对高位组合二进制序列B1进行置乱,得到置乱后高位二进制序列
Figure FDA0002705940560000032
同时将混沌信号序列Z按降序排序,根据混沌信号序列Z排序前、后的位置变化置乱规则,对低位组合二进制序列B2进行置乱,得到置乱后低位二进制序列
Figure FDA0002705940560000033
(3)置乱后二进制序列
Figure FDA0002705940560000034
的分组、扩散
首先,令LB=mod(6-mod(8L+8p+8,6),6),将置乱后高位二进制序列
Figure FDA0002705940560000035
的末尾添加LB个二进制位‘0’,将置乱后低位二进制序列
Figure FDA00027059405600000318
的末尾添加LB个二进制位‘1’,得到二进制序列
Figure FDA0002705940560000036
Figure FDA0002705940560000037
和二进制序列
Figure FDA0002705940560000038
Figure FDA0002705940560000039
其中
Figure FDA00027059405600000310
对二进制序列
Figure FDA00027059405600000311
Figure FDA00027059405600000312
分别进行分组,将二进制序列
Figure FDA00027059405600000313
中元素从头到尾依次正向以6个元素为单位进行分组,得到分组后的二进制序列,表示为
Figure FDA00027059405600000314
同时将二进制序列
Figure FDA00027059405600000315
中元素从头到尾依次正向以6个元素为单位进行分组,得到分组后的二进制序列,表示为
Figure FDA00027059405600000316
其中每一个二进制分组序列均包含6个二进制位,且
Figure FDA00027059405600000317
然后,将每一个二进制分组序列BF1{i}、BF2{i},依次进行如下扩散操作:
S0:令i=1,且
k1_switch=mod(3×<B11,B12,...,B18L+8p+7,B18L+8p+8>+2×(8L+8p+8-<B11,B12,...,B18L+8p+7,B18L+8p+8>),8),
k2_switch=mod(3×<B21,B22,...,B28L+8p+7,B28L+8p+8>-2×(8L+8p+8-<B21,B22,...,B28L+8p+7,B28L+8p+8>),25),
S1:将二进制分组序列BF1{i}、BF2{i},按如下公式(7)、(8)进行计算,
CP1i=bin2dec(BF1{i})+176+k1_switch, (7)
CP2i=bin2dec(BF2{i})+161+k2_switch, (8)
S2:利用二进制分组序列BF1{i}计算而得的数值型数据CP1i,以及二进制分组序列BF2{i}计算而得的数值型数据CP2i,计算k1_switch=mod(CP1i+2×CP2i+3×k1_switch,8)、k2_switch=mod(CP2i+2×CP1i+3×k2_switch,25),且令i=i+1,接着判断i的大小,如果
Figure FDA0002705940560000041
则转入步骤S1,否则转入步骤S3;
S3:结束二进制分组序列的扩散操作,从而得到扩散后的数值序列CP1和CP2,表示为
Figure FDA0002705940560000042
(4)转码
将数值序列
Figure FDA0002705940560000043
逐个元素组合并转换为汉字字符,得到汉字序列
Figure FDA0002705940560000044
即为汉字垃圾分类号,其中汉字序列C的长度为
Figure FDA0002705940560000045
并将垃圾袋身份显示码(M1M2...Mk Mk+L+p+1Mk+L+p+2...Mk+L+p+nMk+L+p+n+1Mk+L+p+n+2)和汉字垃圾分类号进行组合,生成汉字垃圾分类码,接着生成QR Code,即汉字垃圾分类二维码。
2.根据权利要求1所述的一种汉字垃圾分类二维码生成方法,其特征在于:步骤(1)中所述的将身份显示码逐个字符转换成数值型数据,是指将身份显示码逐个字符采用unicode2native()函数将ASCII码值属于[32,126]的可见字符转换为单个数值型数据,或将GB2312字符集中双字节编码的汉字转换为两个数值型数据,从而得到对应的数值序列
Figure FDA0002705940560000046
3.根据权利要求1所述的一种汉字垃圾分类二维码生成方法,其特征在于:步骤(1)中所述的将身份隐藏码逐个字符转换成数值型数据[Pi1,Pi2],是指将身份隐藏码逐个字符采用unicode2native()函数将ASCII码值属于[32,126]的可见字符转换为单个数值型数据并进行重组,表示为[Pi1,Pi2]=[0,unicode2native(Mi)],或将GB2312字符集中双字节编码的汉字转换为两个数值型数据,表示为[Pi1,Pi2]=unicode2native(Mi),从而得到高位数值序列P1={P11,P12,…,P1L+p,P1L+p+1}={P11,P21,…,P(L+p)1,P(L+p+1)1}和低位数值序列P2={P21,P22,…,P2L+p,P2L+p+1}={P12,P22,…,P(L+p)2,P(L+p+1)2}。
4.根据权利要求1所述的一种汉字垃圾分类二维码生成方法,其特征在于:步骤(1)中所述的将数值序列S中元素Si逐个转换成8bits的二进制序列{BSi1,BSi2,BSi3,BSi4,BSi5,BSi6,BSi7,BSi8},是指采用dec2bin(Si,8)函数得到二进制序列{BSi1,BSi2,BSi3,BSi4,BSi5,BSi6,BSi7,BSi8}。
5.根据权利要求1所述的一种汉字垃圾分类二维码生成方法,其特征在于:步骤(1)中所述的将数值序列P1中元素P1i逐个转换成8bits的二进制序列{BP1i1,BP1i2,BP1i3,BP1i4,BP1i5,BP1i6,BP1i7,BP1i8},是指采用dec2bin(P1i,8)函数得到二进制序列{BP1i1,BP1i2,BP1i3,BP1i4,BP1i5,BP1i6,BP1i7,BP1i8}。
6.根据权利要求1所述的一种汉字垃圾分类二维码生成方法,其特征在于:步骤(1)中所述的将数值序列P2中元素P2i逐个转换成8bits的二进制序列{BP2i1,BP2i2,BP2i3,BP2i4,BP2i5,BP2i6,BP2i7,BP2i8},是指采用dec2bin(P2i,8)函数得到二进制序列{BP2i1,BP2i2,BP2i3,BP2i4,BP2i5,BP2i6,BP2i7,BP2i8}。
7.根据权利要求1所述的一种汉字垃圾分类二维码生成方法,其特征在于:步骤(4)中所述的将数值序列
Figure FDA0002705940560000051
逐个元素组合并转换为汉字字符,是指先逐个元素组合[CP1i,CP2i],然后再转换为汉字字符,即Ci=native2unicode([CP1i,CP2i])。
8.根据权利要求1所述的一种汉字垃圾分类二维码生成方法,其特征在于:步骤(4)中所述的将垃圾袋身份显示码(M1M2...Mk Mk+L+p+1Mk+L+p+2...Mk+L+p+n Mk+L+p+n+1Mk+L+p+n+2)和汉字垃圾分类号进行组合,生成汉字垃圾分类码,是指采用垃圾袋身份显示码和汉字垃圾分类号插入连接的组合方式,表示为M1M2...Mk Mk+L+p+1Mk+L+p+2...Mk+L+p+n
Figure FDA0002705940560000053
Mk+L+p+n+ 1Mk+L+p+n+2,其中M1M2...Mk、Mk+L+p+1Mk+L+p+2...Mk+L+p+n
Figure FDA0002705940560000052
与Mk+L+p+n+1Mk+L+p+n+2之间相互用英文空格间隔。
CN202011038789.1A 2020-09-28 2020-09-28 一种汉字垃圾分类二维码生成方法 Active CN112183698B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011038789.1A CN112183698B (zh) 2020-09-28 2020-09-28 一种汉字垃圾分类二维码生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011038789.1A CN112183698B (zh) 2020-09-28 2020-09-28 一种汉字垃圾分类二维码生成方法

Publications (2)

Publication Number Publication Date
CN112183698A CN112183698A (zh) 2021-01-05
CN112183698B true CN112183698B (zh) 2022-05-03

Family

ID=73945200

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011038789.1A Active CN112183698B (zh) 2020-09-28 2020-09-28 一种汉字垃圾分类二维码生成方法

Country Status (1)

Country Link
CN (1) CN112183698B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284803A (zh) * 2018-11-19 2019-01-29 南通大学 一种商品防伪二维码生成方法
CN109933755A (zh) * 2019-03-21 2019-06-25 江苏工程职业技术学院 一种垃圾分类码的生成方法
CN109977371A (zh) * 2019-03-21 2019-07-05 江苏工程职业技术学院 一种字符型垃圾分类码的生成方法
CN109995504A (zh) * 2019-03-21 2019-07-09 南通大学 一种字符串的加密和解密方法
CN110033066A (zh) * 2019-03-21 2019-07-19 江苏工程职业技术学院 一种彩色垃圾分类二维码的生成方法
CN111382452A (zh) * 2020-02-25 2020-07-07 南通大学 一种汉字转图片的加密方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1467512B1 (en) * 2003-04-07 2008-07-23 STMicroelectronics S.r.l. Encryption process employing chaotic maps and digital signature process

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284803A (zh) * 2018-11-19 2019-01-29 南通大学 一种商品防伪二维码生成方法
CN109933755A (zh) * 2019-03-21 2019-06-25 江苏工程职业技术学院 一种垃圾分类码的生成方法
CN109977371A (zh) * 2019-03-21 2019-07-05 江苏工程职业技术学院 一种字符型垃圾分类码的生成方法
CN109995504A (zh) * 2019-03-21 2019-07-09 南通大学 一种字符串的加密和解密方法
CN110033066A (zh) * 2019-03-21 2019-07-19 江苏工程职业技术学院 一种彩色垃圾分类二维码的生成方法
CN111382452A (zh) * 2020-02-25 2020-07-07 南通大学 一种汉字转图片的加密方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
垃圾分类二维码制码系统的研究与设计;吴新华;《信息技术与信息化》;20190725;第58页-60页 *

Also Published As

Publication number Publication date
CN112183698A (zh) 2021-01-05

Similar Documents

Publication Publication Date Title
CN112116046B (zh) 一种基于分层加密的垃圾分类二维码生成方法
CN110033066B (zh) 一种彩色垃圾分类二维码的生成方法
CN109933755B (zh) 一种垃圾分类码的生成方法
CN100447812C (zh) 一种文档数字水印嵌入方法
CN100377173C (zh) 一种基于十六进制编码的构建二维码的方法
CN109995504A (zh) 一种字符串的加密和解密方法
CN112149773B (zh) 一种基于汉字加密的商品防伪码生成方法
CN112183698B (zh) 一种汉字垃圾分类二维码生成方法
CN108418683A (zh) 一种基于汉字结构特征的无载体文本隐写方法
CN109977371B (zh) 一种字符型垃圾分类码的生成方法
CN113052286A (zh) 一种基于置乱加密的商品防伪二维码生成方法
CN101639828B (zh) 一种基于xml电子文档的水印隐藏和提取方法
CN101527030A (zh) 基于边信息的安全水印方法
CN112183697B (zh) 一种垃圾分类二维码批量生成方法
CN105528345A (zh) 终端、服务器和补字方法
CN115358362A (zh) 一种基于混沌加密的垃圾分类二维码生成方法
CN111382820A (zh) 一种四宫格纯色商品防伪码生成方法
CN102968596A (zh) 一种基于删除标记的oox文档数字水印方法
CN109981246A (zh) 一种字符串的加密方法和解密方法
CN113159252A (zh) 一种基于不同置乱规则的商品防伪二维码生成方法
CN115358361A (zh) 一种基于组合加密的垃圾分类码生成方法
CN114997353A (zh) 一种基于分组加密的垃圾分类二维码生成方法
CN106485305A (zh) 一种彩色二维码的实现方法
CN102509058B (zh) 基于冗余位替换的点类型gis矢量数据伪装与还原方法
RU2437148C1 (ru) Способ сжатия и восстановления сообщений в системах обработки, передачи и хранения текстовой информации

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