利索能及
我要发布
收藏
专利号: 2020109735761
申请人: 南通大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-05-14
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种分层加密的商品防伪码生成方法,其特征在于,包括如下几个步骤:

(1)转码:

首先,将表征某件商品唯一身份信息的商品标识码A,逐个符号转换为数值型数据[Pi1,Pi2],得到高位数值序列P1={P11,P21,...,Pi1,....,PL1}和低位数值序列P2={P12,P22,...,Pi2,....,PL2},然后,将高位数值序列P1逐个元素Pi1转换成8bits的二进制序列{PB1i1,PB1i2,PB1i3,PB1i4,PB1i5,PB1i6,PB1i7,PB1i8},并按二进制数据的高低位排列分为8层,得到相应8个高位二进制分层序列,表示为{PB111,PB121,...,PB1i1,...,PB1(L-1)1,PB1L1}、{PB112,PB122,...,PB1i2,...,PB1(L-1)2,PB1L2}、{PB113,PB123,...,PB1i3,...,PB1(L-1)3,PB1L3}、{PB114,PB124,...,PB1i4,...,PB1(L-1)4,PB1L4}、{PB115,PB125,...,PB1i5,...,PB1(L-1)5,PB1L5}、{PB116,PB126,...,PB1i6,...,PB1(L-1)6,PB1L6}、{PB117,PB127,...,PB1i7,...,PB1(L-1)7,PB1L7}、{PB118,PB128,...,PB1i8,...,PB1(L-1)8,PB1L8},同时,将低位数值序列P2逐个元素Pi2转换成8bits的二进制序列{PB2i1,PB2i2,PB2i3,PB2i4,PB2i5,PB2i6,PB2i7,PB2i8},并按二进制数据的高低位排列分为8层,得到相应8个低位二进制分层序列,表示为{PB211,PB221,...,PB2i1,...,PB2(L-1)1,PB2L1}、{PB212,PB222,...,PB2i2,...,PB2(L-1)2,PB2L2}、{PB213,PB223,...,PB2i3,...,PB2(L-1)3,PB2L3}、{PB214,PB224,...,PB2i4,...,PB2(L-1)4,PB2L4}、{PB215,PB225,...,PB2i5,...,PB2(L-1)5,PB2L5}、{PB216,PB226,...,PB2i6,...,PB2(L-1)6,PB2L6}、{PB217,PB227,...,PB2i7,...,PB2(L-1)7,PB2L7}、{PB218,PB228,...,PB1i8,...,PB2(L-1)8,PB2L8},最后,取第6-8个高位二进制分层序列和第4-8个低位二进制分层序列,组合形成二进制矩阵PB,表示如下,其中,商品标识码A包括GB2312字符集中的中文标点符号、GB2312字符集中双字节编码的汉字,商品标识码A的长度表示为L,数值序列P1和P2的长度均为L,8个高位二进制分层序列以及8个低位二进制分层序列的长度均为L,二进制矩阵PB的大小为8×L;

(2)二进制矩阵PB的置乱:

首先,利用高位数值序列P1、低位数值序列P2及其逐个元素转换而得的二进制序列{PB1i1,PB1i2,...,PB1i8}、{PB2i1,PB2i2,…,PB2i8},以及外部密钥α和β,按照如下(1)-(5)公式分别计算得到Logistic混沌映射的初值x1和参数μ、抽取开始位置m,以及抽取间隔数n1、n2,令

x1=0.000001+mod(α-kp1,0.999999),                    (1)μ=β+mod(kp1,4-β),                                  (2)其中,=bin2dec([PB1i1,...,PB1i5]),=bin2dec([PB1i6,PB1i7,PB1i8]),=bin2dec([PB2i1,PB2i2,PB2i3]),=bin2dec([PB2i4,...,PB2i8]),外部密钥满足α∈(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个元素以形成长度为L的混沌信号序列X1={X11,X12,...,X1L},同时从序列X中第m个元素开始依次间隔n2个元素取1个元素以形成长度为8的混沌信号序列X2={X21,X22,...,X28},最后,将混沌信号序列X1按降序排序,根据混沌信号序列X1排序前、后的位置变化置乱规则,对二进制矩阵PB按列进行置乱,得到列置乱后的二进制矩阵 再将混沌信号序列X2按降序排序,根据混沌信号序列X2排序前、后的位置变化置乱规则,对列置乱后的二进制矩阵PB按行进行置乱,得到置乱后的二进制矩阵 表示如下,(3)置乱后二进制矩阵 的分层、分组、重组:

首先,对置乱后二进制矩阵 按行进行分层,得到相应8个二进制分层序列,表示为然后,将上述8个二进制分层序列正向依次并行抽取1个元素进行分组,得到分组后的二进制分层序列,表示为BF1{1},BF1{2},...,BF1{i},...BF1{L},以及BF2{1},BF2{2},...,BF2{i},...BF2{L},其中,接着,将每一个分组后的二进制分层序列BF1{i}和BF2{i},其中i=1,2,3,...,L,依次进行如下重组操作:令tmp1{i}=dec2bin(bin2dec([PB1i1,PB1i2,PB1i3,PB1i4,PB1i5])+2,5),将分组后的二进制分层序列BF1{i}的最前面添上二进制序列tmp1{i},表示为其中bin2dec(·)函数表示将二进制序列转换为数值型数据,而dec2bin(·)函数表示将数值型数据转换为二进制序列,同时令tmp2{i}={PB2i1,PB2i2,PB2i3},将分组后的二进制分层序列BF2{i}的最前面添上二进制序列tmp2{i},表示为从而得到二进制重组序列,表示为 以及

最后,利用bin2dec(·)函数,依次将每一个二进制重组序列 转换成数值型数据同时依次将每一个二进制重组序列 转换成数值型数据 其中i=1,2,

3,...,L,从而得到数值序列 和

(4)转码:

将数值序列 和 对应元素依

次组合并进行数值与汉字的转换,得到汉字序列C,即为商品防伪号,其中汉字序列C的长度为L,并将商品标识码A和商品防伪号进行组合,生成商品防伪码。

2.根据权利要求1所述的一种分层加密的商品防伪码生成方法,其特征在于:步骤(1)中所述的将表征某件商品唯一身份信息的商品标识码A,逐个符号转换为数值型数据[Pi1,Pi2],是指将商品标识码A中逐个符号采用unicode2native(·)函数转换为数值型数据,即[Pi1,Pi2]=unicode2native(Ai),从而得到高位数值序列P1={P11,P21,...,Pi1,....,PL1}和低位数值序列P2={P12,P22,...,Pi2,....,PL2}。

3.根据权利要求1所述的一种分层加密的商品防伪码生成方法,其特征在于:步骤(4)中所述的将数值序列 和 对应元素依次组合并进行数值与汉字的转换,是指将数值序列 和 中每个对应元素进行组合,即 并依次进行如下操作,且设汉字序列C=[],如果 则将汉字序列C中添加1个中文空格符号,即C=[C,native2unidoce

([161,161])],其中中文空格符号可用native2unidoce([161,161])表示,同时令如果 则将汉字序列C中添加1个中文符号‘·’,即C=[C,native2unidoce([161,164])],其中中文符号‘·’可用native2unidoce([161,164])表示,同时令如果 则将汉字序列C中添加1个中文符号‘,’,即C=[C,native2unidoce([163,172])],其中中文符号‘,’可用native2unidoce([163,172])表示,同时令如果 且 则将汉字序列C中添加1个中文符号‘、’,即C=[C,native2unidoce([161,162])],其中中文符号‘、’可用native2unidoce([161,162])表示,同时令接着采用native2unicode(·)函数将数值型数据 转换成汉字,并将其添

加至汉字序列C,即

循环以上步骤,直至数值序列 和 中最后1个对应元素,即

从而得到汉字序列C,即为商品防伪号。

4.根据权利要求1所述的一种分层加密的商品防伪码生成方法,其特征在于:步骤(4)中所述的将商品标识码A和商品防伪号进行组合,生成商品防伪码,是指采用商品标识码A和商品防伪号直接顺序连接,或者直接逆序连接,或者间隔插序连接的组合方式。