欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 202011038775X
申请人: 江苏工程职业技术学院
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-01-05
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

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),并将身份显示码逐个字符转换成数值型数据,得到对应的数值序列 同时将身份隐藏码逐个字符转换成数值型数据,得到对应的数值序列最后,依次将数值序列P1中元素P1i逐个转换成8bits的二进制序列{PB1i1,PB1i2,PB1i3,PB1i4,PB1i5,PB1i6,PB1i7,PB1i8}、将数值序列P2中元素P2i逐个转换成8bits的二进制序列{PB2i1,PB2i2,PB2i3,PB2i4,PB2i5,PB2i6,PB2i7,PB2i8},并将 个二进制序列{PB1i1,PB1i2,PB1i3,PB1i4,PB1i5,PB1i6,PB1i7,PB1i8}从左往右逐列填入矩阵B1中,其中矩阵某行对应于各二进制序列的某位,从而得到组合二进制矩阵B1:

同时将 个二进制序列{PB2i1,PB2i2,PB2i3,PB2i4,PB2i5,PB2i6,PB2i7,PB2i8}从左往右逐列填入矩阵B2中,其中 矩阵某行对应于各二进制序列的某位,从而得到组合二进制矩阵B2:

其中,垃圾袋身份码包括GB2312字符集中双字节编码的汉字和ASCLL码值∈[32,126]的可见字符,垃圾袋身份码长度为k+L+p+n+6,数值序列P1的长度为数值序列P2的长度为

组合二进制矩阵B1的大小为 组合

二进制矩阵B2的大小为

(2)组合二进制矩阵B2的置乱

首先,利用数值序列P1及其转换而成的组合二进制矩阵B1,数值序列P2转换而成的组合二进制矩阵B2,以及外部密钥α和β,按照如下(1)‑(5)公式分别计算得到Logistic混沌映射的初值x1和参数μ、抽取开始位置m,以及抽取间隔数n1、n2,令

x1=α+mod(α+kp,1‑α),                                                 (1)μ=β+mod(β‑kp,4‑β),                                                 (2)其中,表示组合二进制矩阵B1第i列或者二进制序列{PB1i1,PB1i2,...,PB1i7,PB1i8}中二进制位‘1’的个数,表示组合二进制矩阵B2中二进制位‘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个元素以形成长度为8的混沌信号序列Y={Y1,Y2,...,Y7,Y8},同时从序列X中第m个元素开始依次间 隔n 2个 元素取 1个 元素以 形成 长度 为 的混 沌 信号序 列最后,将混沌信号序列Y按降序排序,根据混沌信号序列Y排序前、后的位置变化置乱规则,对二进制矩阵B2进行行置乱,得到行置乱后二进制矩阵 再将混沌信号序列Z按降序排序,根据混沌信号序列Z排序前、后的位置变化置乱规则,对行置乱后二进制矩阵 进行列置乱,得到表示如下的行列置乱后二进制矩阵(3)行列置乱后二进制矩阵 的按层分组、重组首先,对行列置乱后二进制矩阵 进行按层分组,将二进制矩阵 中第1、3、5、7层元素分为1组,将二进制矩阵 中第2、4、6、8层元素分为另1组,得到分层后的两组二进制矩阵BF1和BF2,表示为如下:

然后,将分层后的两组二进制矩阵BF1和BF2,按列进行如下重组操作:S0:设两个大小为 元素均为二进制‘0’的二进制矩阵BZ1和BZ2,令i=1,给定密钥k_switch,其中k_switch的取值为整数0、1、2或者3;

S1:判断k_switch的数值,

如果k_switch=0,则给二进制矩阵BZ1和BZ2的第i列元素分别赋值,表示为BZ1(1:8,T T T T

i)=['010',(BF1(1:4,i)) ,'1'],BZ2(1:8,i)=['011',(BF2(1:4,i)) ,'0'],如果k_switch=1,则给二进制矩阵BZ1和BZ2的第i列元素分别赋值,表示为BZ1(1:8,T T T T

i)=['011',(BF1(1:4,i)) ,'0'],BZ2(1:8,i)=['01',(BF2(1:4,i)) ,'10'],如果k_switch=2,则给二进制矩阵BZ1和BZ2的第i列元素分别赋值,表示为BZ1(1:8,T T T T

i)=['01',(BF1(1:4,i)) ,'10'],BZ2(1:8,i)=['01',(BF2(1:4,i)) ,'01'],如果k_switch=3,则给二进制矩阵BZ1和BZ2的第i列元素分别赋值,表示为BZ1(1:8,T T T T

i)=['01',(BF1(1:4,i)) ,'01'],BZ2(1:8,i)=['010',(BF2(1:4,i)) ,'1'];

S2:将重组后的二进制矩阵BZ1和BZ2的第i列元素分别转换成数值型数据 和表示为

且令i=i+1,接着判断i的大小,如果 则转入步骤S1,否则转入步骤S3;

S3:结束二进制序列的重组操作,从而得到重组后的二进制矩阵BZ1和BZ2,以及数值序列

(4)转码

将数值序列 逐个元素转换为ASCII码值属于[32,126]的可见字符,得到字符序列 同时将数值序列逐个元素转换为ASCII码值属于[32,126]的可见字符,得到字符序列 然后将字符序列C1和C2顺序连接得到垃圾分类号C,即 最后将垃圾袋身份

显示码(M1M2...MkMk+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字符集中双字节编码的汉字转换为两个数值型数据,从而得到对应的数值序列

3.根据权利要求1所述的一种基于分层加密的垃圾分类二维码生成方法,其特征在于:步骤(1)中所述的将身份隐藏码逐个字符转换成数值型数据,是指将身份隐藏码逐个字符采用unicode2native()函数将ASCII码值属于[32,126]的可见字符转换为单个数值型数据,或将GB2312字符集中双字节编码的汉字转换为两个数值型数据,从而得到对应的数值序列

4.根据权利要求1所述的一种基于分层加密的垃圾分类二维码生成方法,其特征在于:步骤(1)中所述的将数值序列P1中元素P1i逐个转换成8bits的二进制序列{PB1i1,PB1i2,PB1i3,PB1i4,PB1i5,PB1i6,PB1i7,PB1i8},是指采用dec2bin(P1i,8)函数得到二进制序列{PB1i1,PB1i2,PB1i3,PB1i4,PB1i5,PB1i6,PB1i7,PB1i8}。

5.根据权利要求1所述的一种基于分层加密的垃圾分类二维码生成方法,其特征在于:步骤(1)中所述的将数值序列P2中元素P2i逐个转换成8bits的二进制序列{PB2i1,PB2i2,PB2i3,PB2i4,PB2i5,PB2i6,PB2i7,PB2i8},是指采用dec2bin(P2i,8)函数得到二进制序列{PB2i1,PB2i2,PB2i3,PB2i4,PB2i5,PB2i6,PB2i7,PB2i8}。

6.根据权利要求1所述的一种基于分层加密的垃圾分类二维码生成方法,其特征在于:步骤(4)中所述的将数值序列 逐个元素转换为ASCII码值属于[32,126]的可见字符,是指逐个元素采用char()函数,即得到字符序列

7.根据权利要求1所述的一种基于分层加密的垃圾分类二维码生成方法,其特征在于:步骤(4)中所述的将数值序列 逐个元素转换为ASCII码值属于[32,126]的可见字符,是指逐个元素采用char()函数,即得到字符序列

8.根据权利要求1所述的一种基于分层加密的垃圾分类二维码生成方法,其特征在于:步骤(4)中所述的将垃圾袋身份显示码(M1M2…MkMk+L+p+1Mk+L+p+2…Mk+L+p+nMk+L+p+n+1Mk+L+p+n+2)和垃圾分类号进行组合,是指采用垃圾袋身份显示码和垃圾分类号插入连接的组合方式,表示为 其中

M1M2…Mk、Mk+L+p+1Mk+L+p+2…Mk+L+p+n、 与Mk+L+p+n+1Mk+L+p+n+2之间相互用英文空格间隔。