专利名称:一种用于身份真伪鉴别的幻方签名方法
技术领域:
本发明涉及一种用于身份真伪鉴别的幻方签名方法,特别是指一种由幻方签名、加密与洗牌方法构成的注册信息可公开的身份双向动态认证方法,以及一种编码算法与数据库均可公开的幻方数码防伪方法。
背景技术:
身份认证是网络信息安全系统中的首要环节,是电子商务与电子政务的基础。身份认证的一般原理是将被验证方所能提供的某些特殊信息或具有某些特殊的计算能力与验证方所持有的相应信息或能力进行比较。网络身份认证的方法有很多,最常用的一种是将用户帐号与密码结合起来,先用帐号识别“你是谁”,再用密码验证“你确实是谁”。这种身份认证方法操作简单,但不安全,帐号和密码容易被窃取。目前较为安全的身份认证方法是采用“一次一密”口令技术的查询/应答式访问令牌身份认证方法。其认证原理如下用户持有某一特殊函数编程的认证卡,认证服务器相应保存该特殊函数的副本。当用户登录主机系统时,主机询问认证服务器如何验证用户,认证服务器告知主机以查询/应答非同步方式验证,并告知此次验证的查询随机数。主机将查询随机数传给用户终端,用户以该随机数作为其特殊函数的输入值计算其响应值,并将该响应值发送给主机。主机将响应值传回认证服务器,并与根据同一查询随机数由特殊函数的副本计算出的结果相比较,如果两数相等则可确认用户为合法用户。认证过程中的特殊函数一般采用散列函数或加密算法实现,如DES算法,每个用户具有同一加密算法模块但其密钥是唯一的。因此,对询问随机数的转换过程即为加密过程,采用对称加密算法的查询/应答式访问令牌的安全性与加密密钥的安全性一样。尽管DES是一种加密过程极其复杂的算法,但由于对DES密钥攻击的穷举次数为256=72,057,594,037,927,936,在当今飞速发展的计算技术条件下,较短时间内就可以完成对DES的穷举攻击;另外基于DES内部工作的上下文算法,NSA可在3到5分钟内破译DES。此外,如果掌握了大量的明文与密文,NSA的专家能很容易地得到相关的密钥。因此,这种采用DES算法的系统的安全性也难以满足要求。现代公钥密码系统可以较好地解决私钥密码系统的一些缺点,如业务密钥的公钥加密传输,其中典型代表就是RSA。但RSA公钥密码系统存在以下缺点1)产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密;2)分组长度太大,为保证安全性,分组长度至少要在600bits以上,致使运算代价太高,尤其速度较慢,较对称密码算法慢几个数量级;且随着大数分解技术的发展,这个长度还在增加,加密效率还要下降,且不利于数据格式的标准化;3)存在针对RSA的选择密文攻击方法与公共模数攻击方法;4)公钥虽然可以公开,但容易被人调换,对公钥的确认需要复杂的认证系统。更令人担心的是,目前人们已能分解140多个十进制位的大整数。
本申请人的在先专利“幻方身份双向认证与密钥传输一体化方法”中将一个随机幻方均匀随机地分割为两个互补缺陷矩阵,分别作为注册信息与认证信息存储于认证服务器和用户认证卡中,可构成一把幻方数字锁。认证双方将缺陷矩阵均匀随机洗牌后安全传送至对方,双方均以能否恢复幻方来确认对方。密钥元组由一方从幻方中随机可重复地选择,并将其位置向量传给对方,对方可据此恢复密钥元组。幻方身份双向认证与密钥传输过程融为一体,认证成功则密钥传输成功,反之亦然。幻方身份认证方法虽然安全可靠而且效率高,但客户注册信息不能公开。
本申请人在先专利“幻方数码防伪方法”中,为每一商品按序分配一个唯一性编号并随机产生一个五阶以上幻方。此幻方经一个元素为0或1的随机洗牌方阵分割为两个互补的缺陷幻方(M1,M2),缺陷幻方M1和M2中的数字按序构成一个真伪效验向量V2,并存储于防伪数据中心;将洗牌矩阵转化为十进制数作为该商品身份的防伪码;为商品制作含有商品身份编号和防伪码的标签,并将防伪码掩盖;用户通过输入装置将商品编号和防伪码送至真伪校验中心,以此恢复幻方。若能恢复幻方且属首次查询,则是真品,否则为假。该幻方数码防伪方法具有编码算法可公开、防伪数据库可公开、防伪编码独立、双向防伪、易于实施等优点,但未经置换的幻方洗牌方法存在内部数据的局部相关性,而未经幻方签名的防伪编码可以私自产生。
发明内容
本发明的目的在于提出一种用于身份真伪鉴别的幻方签名方法。
本发明的另一目的是提供一种注册信息可公开的幻方身份双向动态认证方法。
本发明的再一目的是提供一种幻方数码防伪方法,这种幻方数码防伪方法具有算法可公开、数据库可公开、防伪编码独立、可双向防伪、防内外勾结造假等诸多优点。
为实现上述目的,本发明用于身份真伪鉴别的幻方签名方法,包括以下步骤1)随机构造一个n(≥5)阶以上的幻方作为签名幻方D,签名幻方D保密;2)根据物品特征信息产生一n阶随机幻方M,将随机幻方M与签名幻方D的元素按位进行模(n2+1)和,得到一个签名矩阵H,此签名矩阵H作为物品身份的识别信息;3)将签名矩阵H传给拥有签名幻方D的识别设备中,计算签名矩阵H与签名幻方D的模差矩阵M*;4)验证矩阵M*是否为幻方,如果M*是幻方,则拥有签名矩阵H的身份为真,否则为假。
上述的幻方签名方法,所述步骤(2)中,签名矩阵H根据幻方置换表P置换成置换签名矩阵W,置换签名矩阵W作为物品身份的识别信息;步骤(3)中将置换签名矩阵W传给拥有签名幻方D与置换表P的识别设备中,矩阵W根据置换表P反置换成签名矩阵H,签名矩阵H再与签名幻方D按位进行模(n2+1)差得到矩阵M*;一种注册信息可公开的幻方身份双向动态认证方法,包括如下步骤1)用户注册步骤(固定并保密签名幻方D与置换表P)a1、注册服务器为注册用户随机产生一n阶幻方M;a2、注册服务器将幻方M均匀随机分割为两个互补缺陷幻方M1和缺陷幻方M2,其中缺陷幻方M1和M2中缺陷位置填0,缺陷幻方M2存储于用户认证(智能)卡中;a3、缺陷幻方M1与签名幻方D按位相加取模(n2+1)得到模和矩阵H,再将模和矩阵H按置换表P置换得到矩阵MS1;a4、将矩阵MS1作为用户注册信息存储于可公开的认证数据库中或为用户持有。
2)认证服务器确认注册用户的步骤b1、用户登录认证服务器;b2、认证服务器产生一均匀随机0-1洗牌矩阵B并传给用户;b3、用户将洗牌矩阵B输入认证卡;b4、认证卡根据洗牌矩阵B由洗牌算法将缺陷幻方M2转换成向量V,并将V传回用户;b5、用户将向量V传给认证服务器;b6、认证服务器将用户注册身份信息MS1、向量V与相应洗牌矩阵B一起传给校验芯片;b7、校验芯片根据置换表P与签名幻方D解密用户注册身份信息MS1得到缺陷幻方M1;然后按缺陷幻方洗牌恢复算法根据缺陷幻方M1、向量V与洗牌矩阵B合成矩阵M*;最后验证矩阵M*的幻方性质是否满足,并将验证结果传给认证服务器。
上述幻方身份双向动态认证方法还包括用户确认注册服务器的步骤c1、认证服务器向用户发送一认证请求信息,即要求用户产生一均匀随机0-1洗牌矩阵B;c2、用户产生一均匀随机0-1洗牌矩阵B并传给认证服务器作为响应;c3、认证服务器将洗牌矩阵B传送至身份校验芯片;c4、身份校验芯片根据洗牌矩阵B将解密用户注册身份信息MS1后所得缺陷矩阵M1洗牌成向量V,并将向量V送回认证服务器;c5、认证服务器将向量V发送至用户;
c6、用户将向量V与洗牌矩阵B输入认证卡;c7、认证卡根据缺陷幻方洗牌恢复算法将表示用户身份信息的缺陷幻方M2、向量V与洗牌矩阵B合成完整矩阵M*;最后,验证该矩阵M*的幻方性质是否满足,并将验证结果返回用户。
上述确认注册用户的步骤中,步骤b4可用步骤b4*代替,同时,步骤b7则用步骤b7*代替b4*认证(智能)卡以原始洗牌矩阵B作为细胞自动机的初态,并前向运行三步以上得到此次洗牌矩阵B*;然后根据洗牌矩阵B*由洗牌算法将缺陷幻方M2转换成向量V,并将V传回用户;b7*身份校验芯片根据置换表P与签名幻方D解密用户注册身份信息MS1得到缺陷幻方M1;以原始洗牌矩阵B作为细胞自动机的初态,并前向运行相同步数得到此次洗牌矩阵B*;然后,由洗牌恢复算法根据缺陷幻方M1、向量V与洗牌矩阵B*合成完整矩阵M*;最后,验证该矩阵M*的幻方性质是否满足,并将验证结果返回用户。
上述用户确认注册服务器的步骤中,步骤c4可用步骤c4*代替,同时,步骤c7则用步骤c7*代替c4*身份校验芯片以原始洗牌矩阵B作为细胞自动机的初态,并前向运行三步以上得到此次洗牌矩阵B*;然后根据洗牌矩阵B*将解密用户注册身份信息MS1后所得缺陷矩阵M1洗牌成向量V,并将向量V送回认证服务器;c7*认证(智能)卡以洗牌矩阵B作为细胞自动机的初态,并前向运行相同步数得到此次洗牌矩阵B*;然后,由洗牌恢复算法根据缺陷幻方M2、向量V与洗牌矩阵B*合成完整矩阵M*;最后,验证该矩阵M*的幻方性质是否满足,并将验证结果返回用户。
一种幻方数码防伪方法,包括以下步骤d1、按序为每一商品产生一个唯一性身份码N;d2、为每一商品N产生一个5阶以上随机幻方M与一个随机0-1洗牌矩阵S,按自左至右、从上至下的顺序将洗牌矩阵S转化为二进制数,然后再转换为一个十进制数码,作为该商品身份的防伪码Vt;d3、以洗牌矩阵S直接作为产生双向校验卡的幻方分割矩阵C;d4、根据分割矩阵C分割幻方M得到缺陷幻方M1X,缺陷幻方M1中数字对应分割矩阵C中相应元素1,然后将M1印刷成双向校验卡片,并将身份码N印刷在卡片上;d5、以幻方置换表P置换幻方M,得到置换矩阵W;
d6、根据洗牌矩阵S将置换矩阵W分割为两个互补缺陷置换矩阵(W1、W2),缺陷矩阵W1中数字与洗牌矩阵中相应元素1对应,缺陷矩阵W2中数字与洗牌矩阵中相应元素0对应;d7、按自左至右、从上至下的顺序将缺陷矩阵W1中的数字与其互补缺陷矩阵M2中的数字按序排成两行,然后首尾相接构成一个防伪码的校验向量V2;将商品身份码N与校验向量V2存储于防伪数据中心中;d8、在商品上制作含有商品身份码N和防伪码V1的标签,并将防伪码V1掩盖。
上述幻方数码防伪方法中,采用固定并保密的签名幻方D、幻方置换表P以及不可逆细胞自动机,步骤d3可用步骤d3*代替,步骤d5可用步骤d5*代替,即d3*、以洗牌矩阵S为不可逆细胞自动机的初始状态,向前迭代k=3步以上得到幻方分割矩阵C;d5*、以签名幻方D签名随机幻方M,得到签名矩阵H;再以幻方置换表P置换签名矩阵H,得到置换签名矩阵W。
本注册信息可公开的幻方身份双向动态认证方法所具有的优点1)由幻方模和与幻方置换组合而成的幻方加密技术确保了用户注册信息可以公开,克服了现有认证方法中认证数据库泄密可能导致的灾难性结果;2)“一次一密”的动态身份认证方法可防止重用过时的认证信息,提高了认证的安全性;3)幻方身份认证协议与算法可在公开网络中实现由洗牌矩阵与洗牌向量组成的动态认证信息不可能推导出未加密之前的身份信息M1与认证(智能)卡中的身份信息M2;即使通过搭线窃听方式,无论收集多少洗牌矩阵与洗牌向量对,也不可能推导出身份信息M1与M2。
4)认证协议与算法均可公开,签名幻方与置换表固化在身份校验卡芯片中;5)细胞自动机的不可逆性可防止预先设计攻击方式,提高了身份认证的安全性;6)幻方身份认证算法简单,便于逻辑芯片实现,成本低;7)幻方身份认证协议与算法效率高,可避免认证高峰时刻的处理效率瓶颈问题。
本幻方数码防伪方法具有如下优点1)编码算法公开幻方置换、洗牌与签名技术确保算法可以公开。
2)数据库可公开幻方洗牌与置换技术确保由校验码推算不出防伪码,即使公开签名幻方与置换表(密钥),由校验码仍然推算不出防伪码;幻方签名技术确保私自无法插入合法校验码;3)防伪编码独立防伪编码是随机独立的,由每对防伪编码的校验码得到其相应的防伪码都必须独立破解。如果想由一个校验码推算其相应的防伪码,采用100台目前主频最高的PC机联合计算平均需要9年时间。
4)实现双向防伪系统可以验证商品真伪,同时用户也可以校验防伪系统的真伪;5)核心模块固化签名幻方与置换表存贮在Flash芯片中,核心算法固化成FPGA芯片,确保不能读出,既安全可靠又高效;将防伪编码的最终合法权限集中至可更改的PCI编码卡初始化口令,合法权限硬件化杜绝了防伪中心工作人员私自插入非法防伪数码的职务犯罪行为;6)中央授权编码编码系统每次生成的防伪编码数目必须由授权认证系统进行远程中央授权,利用幻方身份双向动态认证与细胞自动机原理,可以使得任何编码系统只能生产已授权数量的防伪编码,而且不同企业之间的防伪编码不能混用。
7)编码校验简单只需简单加法运算,消费者和计算机都可验证真伪,普通PC机每秒可校验一万次;
附图1互补缺陷幻方填充原理。
附图2随机幻方模和分解原理。
附图3互补缺陷签名矩阵原理。
附图4幻方置换表。
附图5幻方加密与解密过程。
附图6幻方洗牌恢复原理。
附图7缺陷矩阵洗牌过程。
附图8缺陷矩阵洗牌恢复过程。
附图9细胞自动机以洗牌矩阵S为初态得到洗牌矩阵S*。
附图10随机幻方M、洗牌矩阵S*、缺陷幻方M1与互补缺陷幻方M2。
附图11存储在芯片中的签名幻方D与置换表P。
附图12用户Alice的注册幻方M(Alice)、缺陷幻方M1(Alice)与互补缺陷幻方M2(Alice)。
附图13加密M1(Alice)得到MS1(Alice)。
附图14服务器确认用户Alice身份的过程。
附图15用户Alice确认服务器身份的过程。
附图16身份缺陷幻方M2(Alice)的洗牌过程。
附图17Alice注册身份信息MS1(Alice)的解密过程。。
附图18身份缺陷幻方M2(Alice)的洗牌恢复过程。
附图19注册缺陷幻方M1(Alice)的洗牌过程。
附图20注册缺陷幻方M1(Alice)洗牌恢复过程。
附图22细胞自动机以B(Web,t)为初态得到新洗牌矩阵B*(Web,t)。
附图22细胞自动机以B(Alice,t)为初态得到新洗牌矩阵B*(Alice,t)。
附图23随机幻方M、洗牌矩阵S与防伪码转换。
附图24细胞自动机以洗牌矩阵S为初态得到幻方分割矩阵C。
附图25随机幻方M、幻方分割矩阵C与缺陷幻方M1。
附图26随机幻方M、签名幻方D、签名矩阵H与置换签名矩阵W。
附图27置换签名矩阵W、洗牌矩阵S、缺陷矩阵W1与互补缺陷矩阵W2。
附图28由缺陷矩阵W1与互补缺陷矩阵W2形成校验向量V2。
附图29双向校验数字(互补缺陷幻方M2)获取流程。
具体实施例方式
缺陷幻方填充原理将一个随机构造的幻方均匀随机分割为两个互补缺陷幻方,目前理论上还不存在有效的统一计算方法,使得由仅含一半数字的缺陷幻方恢复出另一半数字的位置,使之仍然构成一个幻方,反之亦然。我们称该问题为缺陷幻方填充问题,此问题是一个公开的数学难题,如图1所示。一般地,如果将其中任意一个缺陷幻方作为锁,另一个则可作为相应的钥匙,二者互为锁与钥匙。由“锁”推不出相应的“钥匙”,由“钥匙”推不出相应的“锁”,“锁”可以公开。7阶幻方即可构造1034把幻方数字锁,已知“锁”时,相应“钥匙”的穷举次数为25!≈1.55×1025。
幻方模和原理将两个n阶随机幻方的元素按位相加取模n2+1得到一个模n2+1内自然数的矩阵,判断该矩阵是否为两个n阶随机幻方之和在计算上是不可判定的;一般地,将k≥2个随机构造的n阶幻方的矩阵元素按位相加再取模n2+1,得到一个模n2+1内自然数的矩阵,判断该矩阵是否可分解为k个n阶随机幻方之和在计算上是不可判定的。该原理可应用于密钥管理、身份认证、多方身份认证、微支付以及数码防伪等领域,并且具有安全强度高、验证效率高、易于逻辑芯片实现等优点。举例说明,如图2所示,如果仅知道随机幻方模和矩阵,在计算上不可能把幻方模和分解为随机幻方1与随机幻方2。
由幻方模和原理直接得到幻方签名技术。随机构造一个幻方作为不公开的签名幻方(相当于签名私钥),任一随机幻方与该签名幻方模和之后得到一个签名矩阵,该签名矩阵与签名幻方的模差必然是一个幻方,以此可以验证签名矩阵的真伪。通过验证签名矩阵的真伪可以判断被签名的随机幻方是否由己方产生,而非他方伪造。一般地,幻方的签名矩阵是唯一的,即不存在两个不同的幻方,相对同一签名幻方其签名矩阵是相等的。幻方签名技术也可以称为幻方加密技术。
由幻方签名技术可以进一步将缺陷幻方填充问题推广至缺陷签名矩阵填充问题。将一个签名矩阵随机抽去一半左右的数字,很难由剩下的一半数字推出被抽去的另一半数字,使之仍然构成一个合法的签名矩阵。由签名矩阵的唯一性可以知道缺陷签名矩阵的填充问题也是唯一的,即不可能存在两组不同的数字,使之与已知的一半数字均构成合法签名矩阵。如图3所示。
幻方置换原理设计一个一一对应的矩阵元素置换表,将n×n矩阵中每一元素映射至同等规模的另一矩阵中新的元素位置上,使得原矩阵中任意两个同行或同列或同一对角线上的元素被映射后不再处于同行或同列或同一对角线,该置换过程称为幻方置换,其中置换表称为幻方置换表。
所谓一一对应的置换表,如图4所示。举例如下,将一个6×6的矩阵元素映射为另一个6×6的矩阵元素,其中,(i,j)表示将原矩阵中相应位置上的元素映射至新矩阵中第i行与第j列交叉位置,如左上角元素(5,1)表示将原矩阵中左上角元素即第0行与0列交叉位置上的元素,映射到新矩阵中第5行与第1列交叉位置上,如此类推,一一映射,无一重复,称这一幻方置换过程为正置换。如果将置换表中某二元元素(i,j)理解为把矩阵中第i行与第j列上的元素映射至新矩阵中该二元元素(i,j)所在位置上,则该幻方置换过程称为反置换。因此,同一幻方置换表即可作为正置换也可作为反置换,二者互为逆过程。
如果对幻方使用置换过程,可以使幻方数字元素之间失去相关性。
幻方加密与解密原理如图5所示,固定一幻方与幻方置换表作为加密密钥,任一随机构成的幻方(明文)先与该固定幻方进行模和得到签名矩阵,再将该签名矩阵按置换表进行置换,得到一数字矩阵(密文),该过程称为幻方加密过程,相应的逆过程称为幻方解密过程。不论已知多少对随机幻方(明文)与其加密结果(密文),在计算上很难推导出其固定签名幻方与置换表。幻方加密原理可用于网络身份认证、访问控制与微支付等领域。
洗牌原理从一组具有内部数学关系的可校验的n个有序数字序列中按序随机抽取其中约一半数字,按先后次序排成一组数字序列,并将该序列置于所剩数字序列之后,构成一个新的数字序列,称该数字序列的重组过程为随机洗牌过程,重组数字序列称为洗牌结果,其中按序均匀随机抽取数字的方案可由一n元0-1二进制表示,并称之为洗牌方案。仅由洗牌结果是不可能恢复原有序可校验数字序列的,洗牌结果仅可由洗牌方案直接恢复成原有序可校验数字序列,这就是数字序列的洗牌原理。
幻方洗牌恢复原理构造一个n阶随机幻方M,按某一公开置换表P将该随机幻方置换成另一随机矩阵X;构造一个n×n的均匀随机0-1洗牌矩阵S(该洗牌矩阵可以转化为一个十进制数),根据洗牌矩阵将通过置换得到的随机矩阵X分割为两个互补缺陷矩阵,其中一个缺陷矩阵X1中的数字与洗牌矩阵中相应元素1对应,另一个互补缺陷矩阵X2中的数字与洗牌矩阵中相应元素0对应;再将两个互补缺陷矩阵按序转化为长度为n2的数字向量V。即使公开幻方置换表P,由长度为n2的数字向量V很难恢复出原随机幻方M,也就是由数字向量V在计算上很难推导出洗牌矩阵S。如图6所示,由长度为36元素的数字向量V与置换表P在计算上很难推导出随机幻方M或洗牌矩阵S互补缺陷矩阵洗牌与恢复算法设大小为n×n的矩阵M被均匀随机分割为两个互补缺陷矩阵M1与M2,向量V的长度为n2,V中各元素初始化为0,均匀随机洗牌矩阵 bij∈{0,1}。
如图7所示,缺陷矩阵M2的洗牌转换算法的基本过程是,首先按序将与B中元素1对应的M2中非零数字写入向量V,然后按序将与B中元素0对应的M2中非零数字写入向量V,所得向量V即为洗牌结果,可表示为M2+B→1V.]]>假设6×6的矩阵M被分割为两部分M1与M2,从左上角元素开始,按自左至右、从上至下的规则直至右下角元素,顺序将与B中元素l对应的M2中非零数字写入向量V中,得到向量V=(27,6,11,1,26,10,17,35,31,3,34,19,21,2,15,13,7,24,22,0,0,0,…,0);然后,从左上角元素开始,按自左至右、从上至下的规则直至右下角元素,按序将与B中元素0对应的M2中的非零数字,紧按当前向量指针写入向量V中,得到洗牌结果V。
缺陷矩阵的洗牌恢复算法是洗牌算法的逆过程,如图8所示,其中M1相当于此逆运算过程中的“密钥”。洗牌恢复算法根据洗牌结果向量V、洗牌矩阵B以及互补缺陷矩阵M1。恢复出原矩阵M,可表示为V+B→M1M.]]>洗牌恢复算法的基本过程是,首先恢复与洗牌矩阵B中元素1对应的矩阵数字,从左上角元素开始,按自左至右、从上而下的规则直至右下角元素,分别考虑与B中元素1对应的M1中元素,如果该元素非零,则置恢复矩阵M中相应位置为该数字否则,置恢复矩阵M中相应位置为向量V中当前元素,同时向量V的指针前进一位,如此反复直至B的右下角元素。然后,向量V从当前指针开始,恢复与B中元素0对应的矩阵元素,即从左上角元素开始,按自左至右、从上而下的规则直至右下角元素,分别考虑与B中元素0对应的M1中元素,如果该元素非零,则置恢复矩阵中相应位置为该数字;否则,置恢复矩阵M中相应位置为向量V中当前元素,同时向量V的指针前进一位,如此反复直至B的右下角元素,最后得到原矩阵M。
当矩阵M为随机幻方时,互补缺陷矩阵洗牌与恢复算法可用于基于随机幻方的动态身份认证技术。
细胞自动机细胞自动机是由Ulam与Von Neumann在上世纪40年代晚期提出的通用并行计算模型。细胞自动机的细胞与其邻域的互动关系,使得局部细胞状态可随时间在空间上传播,这一特点使细胞自动机表现出非常复杂的宏观时空演化行为。一般地,一个细胞自动机的全局状态可能具有一个以上的前置状态,也就是在同一细胞自动机规则下可能有一个以上的全局状态通过一步映射可转移至该状态。一般地,细胞自动机是不可逆的,即不能由后向状态推出其前置状态。
如图9所示,洗牌矩阵S可以看成是细胞自动机的全局状态,如果按某一细胞自动机规则将该洗牌矩阵向前迭代运行数步(k步),得到一新的洗牌矩阵S*。根据细胞自动机的不可逆性,即使在公开该细胞自动机规则的条件下,由洗牌矩阵S*是不可能推导出其前置k步的洗牌矩阵S的。
如图10所示,利用洗牌矩阵S对置换签名矩阵洗牌,然后根据某一固定细胞自动机规则由洗牌矩阵S前推k步得到新的洗牌矩阵S*,由新的洗牌矩阵S*作为分割矩阵C分割随机幻方M,得到互补缺陷幻方M1与M2,可以实现双向验证。
本发明用于身份认证的一个实施例假设用户Alice与认证服务器之间须进行双向身份动态认证,D为签名幻方,P为幻方置换表,如图11所示,签名幻方与置换表存储于身份校验芯片中。
用户Alice的注册步骤如下a1、注册服务器为注册用户Alice随机产生一5阶以上的幻方M(Alice),以6阶为例;a2、注册服务器将M(Alice)随机均匀分割为两个互补缺陷幻方M1(Alice)与M2(Alice),其中缺陷元素填0;M2(Alice)直接作为Alice的身份校验信息存入认证(智能)卡中,并且认证卡以PIN码保护,如图12所示;a3、缺陷幻方M1(Alice)与签名幻方D按位相加取模(n2+1)得到模和矩阵H,再将模和矩阵H按置换表P置换得到置换矩阵MS1(Alice),如图13所示;a4、将MS1(Alice)作为用户的注册身份信息存储于可公开的认证服务器数据库中,也可由用户自己持有。
认证服务器确认用户Alice身份的过程如下,如图14所示b1、用户Alice登录认证服务器;b2、认证服务器产生一均匀随机0-1矩阵B(Web,t)并传给用户Alice;b3、用户Alice将B(Web,t)输入认证卡;b4、认证卡根据洗牌矩阵B(Web,t)按缺陷矩阵洗牌算法将缺陷幻方M2(Alice)转换成认证向量V(Alice,t),并将V(Alice,t)传回用户Alice,如图15所示;b5、用户Alice将向量V(Alice,t)传给认证服务器;b6、认证服务器将MS1(Alice)、V(Alice,t)与相应的洗牌矩阵B(Web,t)一起传给校验芯片;b7、校验芯片根据置换表P与签名幻方D解密MS1(Alice)得到缺陷幻方M1(Alice),如图16所示;然后根据缺陷矩阵洗牌恢复算法将M1(Alice)、V(Alice,t)与B(Web,t)合成矩阵M*,如图17所示;最后验证矩阵M*的幻方性质是否满足,并将验证结果传给认证服务器。
用户Alice确认认证服务器身份的过程如下,如图18所示c1、认证服务器向用户Alice发送一认证请求信息,即要求用户Alice产生一均匀随机0-1洗牌矩阵B(Alice,t);c2、用户Alice产生一均匀随机0-1洗牌矩阵B(Alice,t)并传给认证服务器作为响应;c3、认证服务器将B(Alice,t)传送至校验芯片;c4、校验芯片根据B(Alice,t)将解密MS1(Alice)后所得缺陷幻方M1(Alice)按缺陷矩阵洗牌算法转换成认证向量V(Web,t),并将V(Web,t)送回认证服务器,如图19所示;c5、认证服务器将V(Web,t)发送至用户Alice;c6、用户Alice将向量V(Web,t)与洗牌矩阵B(Alice,t)输入认证卡;c7、认证卡根据缺陷矩阵洗牌恢复算法将M2(Alice)、V(Web,t)与B(Alice,t)合成完整矩阵M*,如图20所示;最后,验证该矩阵M*的幻方性质是否满足,并将验证结果返回用户Alice。
上述实施例的步骤b4与b7中,可用同一细胞自动机以B(Web,t)作为初态,并前向迭代三步得到新洗牌矩阵B*(Web,t),如图21所示,再用新洗牌矩阵B*(Web,t)进行洗牌;步骤c4与c7中,可用同一细胞自动机以B(Alice,t)作为初态,并前向迭代三步得到新洗牌矩阵B*(Alice,t),如图22所示,再用新洗牌矩阵B*(Alice,t)进行洗牌。根据细胞自动机的不可逆性,即使在公开该细胞自动机的条件下,由洗牌矩阵B*(Web,t)是不可能推导出其前置洗牌矩阵B(Web,t),由洗牌矩阵B*(Alice,t)也是不可能推导出其前置洗牌矩阵B(Alice,t),因而可防止对该幻方身份双向动态认证方法可能进行的预先设计式攻击。
本发明用于数码防伪的一个实施例首先构造一个5阶以上的随机幻方D作为签名幻方,并随机生成一个置换表P作为幻方置换表,如图11所示,以6阶幻方为例。签名幻方D与置换表P固化在PCI编码卡与校验卡的Flash存储芯片中。
商品数码防伪方法包括以下步骤d1、按序为每一商品产生一个唯一性身份码N,如N=2789502342;d2、为每一商品N产生一个5阶以上随机幻方M与一个均匀随机0-1洗牌矩阵S,按自左至右、从上至下的顺序将洗牌矩阵S转化为二进制数,再转换为一个十进制数码23564 019279,作为该商品身份的防伪码V1,如图23所示;d3、以洗牌矩阵S作为不可逆细胞自动机的初始状态,向前迭代k=3步以上得到幻方分割矩阵C,如图24所示;(CAM可以公开,如CAM=01010101……010101)d4、根据分割矩阵C分割幻方M得到缺陷幻方M1,缺陷幻方M1中数字对应分割矩阵C中相应元素1,然后将M1印刷成双向校验卡片,并将身份码N印刷在卡片上,如图25所示;
d5、以签名幻方D对随机幻方M进行签名,得到签名矩阵H,再以幻方置换表P对签名矩阵H进行置换,得到置换签名矩阵W,如图26所示;该过程在编码PCI卡FPGA中完成;d6、根据洗牌矩阵S将置换签名矩阵W分割为两个互补缺陷置换签名矩阵(W1与W2),缺陷矩阵W1中数字与洗牌矩阵中相应元素1对应,缺陷矩阵W2中数字与洗牌矩阵中相应元素0对应,如图27所示;d7、按自左至右、从上至下的顺序将缺陷矩阵W1中的数字与其互补缺陷矩阵M2中的数字按序构成一个真伪校验向量V235,35,29,16,20,34,11,4,15,15,36,33,30,16,16,18,33,23,28,26,1,31,35,15,32,3,3,36,3,2,0,21,9,7,13,19;将商品身份码N与相应校验向量V2存储于防伪数据中心中,如图28所示;d8、在商品上制作含有商品身份码N和防伪码V1标签,并将防伪码V1掩盖。
商品真伪查询过程用户通过电话、短信与网站将商品上的商品身份码N和防伪码V1送至真伪校验中心,真伪校验中心根据商品身份码N从防伪数据库取出相应的真伪校验向量V2,利用防伪码V1和真伪校验向量V2恢复置换签名矩阵W,再根据幻方置换表P与签名幻方D对置换签名矩阵W进行反置换与模减,得到矩阵M*(此过程在PCI校验卡中实现);若M*是幻方且属首次查询,则是真品,同时根据防伪码V1由细胞自动机得到幻方分解矩阵C,由幻方M与幻方分解矩阵C得到双向校验卡上缺陷幻方M1的互补缺陷幻方M2,最后将互补缺陷幻方M2的数字按序传给用户;反之,若M*不是幻方,则商品是假品。真伪校验与获取双向校验数字M2的流程如图29所示。
权利要求
1.一种用于身份真伪鉴别的幻方签名方法,其特征在于,包括以下步骤1)随机构造一个n(≥5)阶以上的幻方作为签名幻方(D),签名幻方(D)保密;2)根据物品特征信息产生一n阶随机幻方(M),将随机幻方(M)与签名幻方(D)的元素按位进行模(n2+1)和,得到一个签名矩阵(H),此签名矩阵(H)作为物品身份的识别信息;3)将签名矩阵(H)传给拥有签名幻方(D)的识别设备中,计算签名矩阵(H)与签名幻方(D)的模差矩阵(M*);4)验证矩阵(M*)是否为幻方,如果矩阵(M*)是幻方,则拥有签名矩阵(H)的身份为真,否则为假。
2.根据权利要求1所述的一种用于身份真伪鉴别的幻方签名方法,其特征在于所述步骤(2)中,签名矩阵(H)根据矩阵置换表(P)置换成置换签名矩阵(W),置换签名矩阵(W)作为物品身份的识别信息;步骤(3)中将置换签名矩阵(W)传给拥有签名幻方(D)与置换表(P)的识别设备中,矩阵(W)根据置换表(P)反置换成签名矩阵(H),签名矩阵(H)再与签名幻方(D)按位进行模(n2+1)差得到矩阵(M*);
3.一种注册信息可公开的幻方身份双向动态认证方法,其特征在于,包括以下步骤1)用户注册步骤a1、注册服务器为注册用户随机产生一n阶幻方(M);a2、注册服务器将幻方(M)均匀随机分割为两个互补缺陷幻方(M1)和缺陷幻方(M2),其中缺陷幻方(M1)和(M2)中缺陷位置填0,缺陷幻方(M2)存储于用户认证卡中;a3、缺陷幻方(M1)与签名幻方(D)按位相加取模(n2+1)得到模和矩阵(H),再将模和矩阵(H)按置换表(P)置换得到矩阵(MS1);a4、将矩阵(MS1)作为用户注册信息存储于可公开的认证数据库中或为用户持有。2)认证服务器确认注册用户的步骤b1、用户登录认证服务器;b2、认证服务器产生一均匀随机0-1洗牌矩阵(B)并传给用户;b3、用户将洗牌矩阵(B)输入认证卡;b4、认证卡根据洗牌矩阵(B)由洗牌算法将缺陷幻方(M2)转换成向量(V),并将(V)传回用户;b5、用户将向量(V)传给认证服务器;b6、认证服务器将用户注册身份信息(MS1)、向量(V)与相应洗牌矩阵(B)一起传给校验芯片;b7、校验芯片根据置换表(P)与签名幻方(D)解密用户注册身份信息(MS1)得到缺陷幻方(M1);然后按缺陷幻方洗牌恢复算法根据缺陷幻方(M1)、向量(V)与洗牌矩阵(B)合成矩阵(M*);最后验证矩阵(M*)的幻方性质是否满足,并将验证结果传给认证服务器。
4.根据权利要求3所述的一种注册信息可公开的幻方身份双向动态认证方法,其特征在于还包括用户确认注册服务器的步骤c1、认证服务器向用户发送一认证请求信息,即要求用户产生一均匀随机0-1洗牌矩阵(B);c2、用户产生一均匀随机0-1洗牌矩阵(B)并传给认证服务器作为响应;c3、认证服务器将洗牌矩阵(B)传送至身份校验芯片;c4、身份校验芯片根据洗牌矩阵B将解密用户注册身份信息(MS1)后所得缺陷矩阵(M1)洗牌成向量(V),并将向量(V)送回认证服务器;c5、认证服务器将向量(V)发送至用户;c6、用户将向量(V)与洗牌矩阵(B)输入认证卡;c7、认证卡根据缺陷幻方洗牌恢复算法将表示用户身份信息的缺陷幻方(M2)、向量(V)与洗牌矩阵(B)合成完整矩阵(M*);最后,验证该矩阵(M*)的幻方性质是否满足,并将验证结果返回用户。
5.根据权利要求3所述的一种注册信息可公开的幻方身份双向动态认证方法,其特征在于步骤b4还可用b4*步骤代替b4*认证卡以原始洗牌矩阵(B)作为细胞自动机的初态,并前向运行三步以上得到此次洗牌矩阵(B*);然后根据洗牌矩阵(B*)由洗牌算法将缺陷幻方(M2)转换成向量(V),并将(V)传回用户;同时,步骤b7则用b7*步骤代替b7*身份校验芯片根据置换表(P)与签名幻方(D)解密用户注册身份信息(MS1)得到缺陷幻方(M1);以原始洗牌矩阵(B)作为细胞自动机的初态,并前向运行相同步数得到此次洗牌矩阵(B*);然后,由洗牌恢复算法根据缺陷幻方(M1)、向量(V)与洗牌矩阵(B*)合成完整矩阵(M*);最后,验证该矩阵(M*)的幻方性质是否满足,并将验证结果返回用户。
6.根据权利要求4所述的一种注册信息可公开的幻方身份双向动态认证方法,其特征在于步骤c4还可用c4*步骤代替c4*身份校验芯片以原始洗牌矩阵(B)作为细胞自动机的初态,并前向运行三步以上得到此次洗牌矩阵(B*);然后根据洗牌矩阵(B*)将解密用户注册身份信息(MS1)后所得缺陷矩阵(M1)洗牌成向量(V),并将向量(V)送回认证服务器;同时,步骤c7则用c7*步骤代替c7*认证卡以洗牌矩阵B作为细胞自动机的初态,并前向运行相同步数得到此次洗牌矩阵(B*);然后,由洗牌恢复算法根据缺陷幻方(M2)、向量(V)与洗牌矩阵(B*)合成完整矩阵(M*);最后,验证该矩阵(M*)的幻方性质是否满足,并将验证结果返回用户。
7.一种幻方数码防伪方法,包括以下步骤d1、按序为每一商品产生一个唯一性身份码N;d2、为每一商品N产生一个5阶以上随机幻方(M)与一个随机0-1洗牌矩阵(S),按自左至右、从上至下的顺序将洗牌矩阵(S)转化为二进制数,然后再转换为一个十进制数码,作为该商品身份的防伪码(V1);d3、以洗牌矩阵(S)直接作为产生双向校验卡的幻方分割矩阵(C);d4、根据分割矩阵(C)分割幻方(M)得到缺陷幻方(M1),缺陷幻方(M1)中数字对应分割矩阵(C)中相应元素1,然后将(M1)印刷成双向校验卡片,并将身份码(N)印刷在卡片上;d5、以幻方置换表(P)置换幻方(M),得到置换矩阵(W);d6、根据洗牌矩阵S将置换矩阵W分割为两个互补缺陷置换矩阵(W1、W2),缺陷矩阵W1中数字与洗牌矩阵中相应元素1对应,缺陷矩阵W2中数字与洗牌矩阵中相应元素0对应;d7、按自左至右、从上至下的顺序将缺陷矩阵(W1)中的数字与其互补缺陷矩阵(M2)中的数字按序排成两行,然后首尾相接构成一个防伪码的校验向量(V2);将商品身份码(N)与校验向量(V2)存储于防伪数据中心中;d8、在商品上制作含有商品身份码(N)和防伪码(V1)的标签,并将防伪码(V1)掩盖。
8.根据权利要求7所述的幻方数码防伪方法,其特征在于采用固定并保密的签名幻方(D)与置换表(P)以及不可逆细胞自动机,步骤d3可用d3*代替,步骤d5可用d5*代替,即d3*、以洗牌矩阵(S)为不可逆细胞自动机的初始状态,向前迭代k=3步以上得到幻方分割矩阵(C);d5*、以签名幻方(D)签名随机幻方(M),得到签名矩阵(H);再以幻方置换表(P)置换签名矩阵(H),得到置换签名矩阵(W)。
全文摘要
本发明公开一种用于身份真伪鉴别的幻方签名方法,以及该方法在网络身份双向动态认证与幻方数码防伪方法中的具体应用。为每一物品随机产生一个n阶幻方(M),将随机幻方(M)与签名幻方(D)的元素按位相加再取模(n
文档编号H04L9/08GK1773906SQ20041004692
公开日2006年5月17日 申请日期2004年11月10日 优先权日2004年11月10日
发明者谢涛 申请人:谢道裕