專(zhuān)利名稱(chēng):一種用于身份真?zhèn)舞b別的幻方簽名方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于身份真?zhèn)舞b別的幻方簽名方法,特別是指一種由幻方簽名、加密與洗牌方法構(gòu)成的注冊(cè)信息可公開(kāi)的身份雙向動(dòng)態(tài)認(rèn)證方法,以及一種編碼算法與數(shù)據(jù)庫(kù)均可公開(kāi)的幻方數(shù)碼防偽方法。
背景技術(shù):
身份認(rèn)證是網(wǎng)絡(luò)信息安全系統(tǒng)中的首要環(huán)節(jié),是電子商務(wù)與電子政務(wù)的基礎(chǔ)。身份認(rèn)證的一般原理是將被驗(yàn)證方所能提供的某些特殊信息或具有某些特殊的計(jì)算能力與驗(yàn)證方所持有的相應(yīng)信息或能力進(jìn)行比較。網(wǎng)絡(luò)身份認(rèn)證的方法有很多,最常用的一種是將用戶帳號(hào)與密碼結(jié)合起來(lái),先用帳號(hào)識(shí)別“你是誰(shuí)”,再用密碼驗(yàn)證“你確實(shí)是誰(shuí)”。這種身份認(rèn)證方法操作簡(jiǎn)單,但不安全,帳號(hào)和密碼容易被竊取。目前較為安全的身份認(rèn)證方法是采用“一次一密”口令技術(shù)的查詢/應(yīng)答式訪問(wèn)令牌身份認(rèn)證方法。其認(rèn)證原理如下用戶持有某一特殊函數(shù)編程的認(rèn)證卡,認(rèn)證服務(wù)器相應(yīng)保存該特殊函數(shù)的副本。當(dāng)用戶登錄主機(jī)系統(tǒng)時(shí),主機(jī)詢問(wèn)認(rèn)證服務(wù)器如何驗(yàn)證用戶,認(rèn)證服務(wù)器告知主機(jī)以查詢/應(yīng)答非同步方式驗(yàn)證,并告知此次驗(yàn)證的查詢隨機(jī)數(shù)。主機(jī)將查詢隨機(jī)數(shù)傳給用戶終端,用戶以該隨機(jī)數(shù)作為其特殊函數(shù)的輸入值計(jì)算其響應(yīng)值,并將該響應(yīng)值發(fā)送給主機(jī)。主機(jī)將響應(yīng)值傳回認(rèn)證服務(wù)器,并與根據(jù)同一查詢隨機(jī)數(shù)由特殊函數(shù)的副本計(jì)算出的結(jié)果相比較,如果兩數(shù)相等則可確認(rèn)用戶為合法用戶。認(rèn)證過(guò)程中的特殊函數(shù)一般采用散列函數(shù)或加密算法實(shí)現(xiàn),如DES算法,每個(gè)用戶具有同一加密算法模塊但其密鑰是唯一的。因此,對(duì)詢問(wèn)隨機(jī)數(shù)的轉(zhuǎn)換過(guò)程即為加密過(guò)程,采用對(duì)稱(chēng)加密算法的查詢/應(yīng)答式訪問(wèn)令牌的安全性與加密密鑰的安全性一樣。盡管DES是一種加密過(guò)程極其復(fù)雜的算法,但由于對(duì)DES密鑰攻擊的窮舉次數(shù)為256=72,057,594,037,927,936,在當(dāng)今飛速發(fā)展的計(jì)算技術(shù)條件下,較短時(shí)間內(nèi)就可以完成對(duì)DES的窮舉攻擊;另外基于DES內(nèi)部工作的上下文算法,NSA可在3到5分鐘內(nèi)破譯DES。此外,如果掌握了大量的明文與密文,NSA的專(zhuān)家能很容易地得到相關(guān)的密鑰。因此,這種采用DES算法的系統(tǒng)的安全性也難以滿足要求。現(xiàn)代公鑰密碼系統(tǒng)可以較好地解決私鑰密碼系統(tǒng)的一些缺點(diǎn),如業(yè)務(wù)密鑰的公鑰加密傳輸,其中典型代表就是RSA。但RSA公鑰密碼系統(tǒng)存在以下缺點(diǎn)1)產(chǎn)生密鑰很麻煩,受到素?cái)?shù)產(chǎn)生技術(shù)的限制,因而難以做到一次一密;2)分組長(zhǎng)度太大,為保證安全性,分組長(zhǎng)度至少要在600bits以上,致使運(yùn)算代價(jià)太高,尤其速度較慢,較對(duì)稱(chēng)密碼算法慢幾個(gè)數(shù)量級(jí);且隨著大數(shù)分解技術(shù)的發(fā)展,這個(gè)長(zhǎng)度還在增加,加密效率還要下降,且不利于數(shù)據(jù)格式的標(biāo)準(zhǔn)化;3)存在針對(duì)RSA的選擇密文攻擊方法與公共模數(shù)攻擊方法;4)公鑰雖然可以公開(kāi),但容易被人調(diào)換,對(duì)公鑰的確認(rèn)需要復(fù)雜的認(rèn)證系統(tǒng)。更令人擔(dān)心的是,目前人們已能分解140多個(gè)十進(jìn)制位的大整數(shù)。
本申請(qǐng)人的在先專(zhuān)利“幻方身份雙向認(rèn)證與密鑰傳輸一體化方法”中將一個(gè)隨機(jī)幻方均勻隨機(jī)地分割為兩個(gè)互補(bǔ)缺陷矩陣,分別作為注冊(cè)信息與認(rèn)證信息存儲(chǔ)于認(rèn)證服務(wù)器和用戶認(rèn)證卡中,可構(gòu)成一把幻方數(shù)字鎖。認(rèn)證雙方將缺陷矩陣均勻隨機(jī)洗牌后安全傳送至對(duì)方,雙方均以能否恢復(fù)幻方來(lái)確認(rèn)對(duì)方。密鑰元組由一方從幻方中隨機(jī)可重復(fù)地選擇,并將其位置向量傳給對(duì)方,對(duì)方可據(jù)此恢復(fù)密鑰元組。幻方身份雙向認(rèn)證與密鑰傳輸過(guò)程融為一體,認(rèn)證成功則密鑰傳輸成功,反之亦然?;梅缴矸菡J(rèn)證方法雖然安全可靠而且效率高,但客戶注冊(cè)信息不能公開(kāi)。
本申請(qǐng)人在先專(zhuān)利“幻方數(shù)碼防偽方法”中,為每一商品按序分配一個(gè)唯一性編號(hào)并隨機(jī)產(chǎn)生一個(gè)五階以上幻方。此幻方經(jīng)一個(gè)元素為0或1的隨機(jī)洗牌方陣分割為兩個(gè)互補(bǔ)的缺陷幻方(M1,M2),缺陷幻方M1和M2中的數(shù)字按序構(gòu)成一個(gè)真?zhèn)涡?yàn)向量V2,并存儲(chǔ)于防偽數(shù)據(jù)中心;將洗牌矩陣轉(zhuǎn)化為十進(jìn)制數(shù)作為該商品身份的防偽碼;為商品制作含有商品身份編號(hào)和防偽碼的標(biāo)簽,并將防偽碼掩蓋;用戶通過(guò)輸入裝置將商品編號(hào)和防偽碼送至真?zhèn)涡r?yàn)中心,以此恢復(fù)幻方。若能恢復(fù)幻方且屬首次查詢,則是真品,否則為假。該幻方數(shù)碼防偽方法具有編碼算法可公開(kāi)、防偽數(shù)據(jù)庫(kù)可公開(kāi)、防偽編碼獨(dú)立、雙向防偽、易于實(shí)施等優(yōu)點(diǎn),但未經(jīng)置換的幻方洗牌方法存在內(nèi)部數(shù)據(jù)的局部相關(guān)性,而未經(jīng)幻方簽名的防偽編碼可以私自產(chǎn)生。
發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種用于身份真?zhèn)舞b別的幻方簽名方法。
本發(fā)明的另一目的是提供一種注冊(cè)信息可公開(kāi)的幻方身份雙向動(dòng)態(tài)認(rèn)證方法。
本發(fā)明的再一目的是提供一種幻方數(shù)碼防偽方法,這種幻方數(shù)碼防偽方法具有算法可公開(kāi)、數(shù)據(jù)庫(kù)可公開(kāi)、防偽編碼獨(dú)立、可雙向防偽、防內(nèi)外勾結(jié)造假等諸多優(yōu)點(diǎn)。
為實(shí)現(xiàn)上述目的,本發(fā)明用于身份真?zhèn)舞b別的幻方簽名方法,包括以下步驟1)隨機(jī)構(gòu)造一個(gè)n(≥5)階以上的幻方作為簽名幻方D,簽名幻方D保密;2)根據(jù)物品特征信息產(chǎn)生一n階隨機(jī)幻方M,將隨機(jī)幻方M與簽名幻方D的元素按位進(jìn)行模(n2+1)和,得到一個(gè)簽名矩陣H,此簽名矩陣H作為物品身份的識(shí)別信息;3)將簽名矩陣H傳給擁有簽名幻方D的識(shí)別設(shè)備中,計(jì)算簽名矩陣H與簽名幻方D的模差矩陣M*;4)驗(yàn)證矩陣M*是否為幻方,如果M*是幻方,則擁有簽名矩陣H的身份為真,否則為假。
上述的幻方簽名方法,所述步驟(2)中,簽名矩陣H根據(jù)幻方置換表P置換成置換簽名矩陣W,置換簽名矩陣W作為物品身份的識(shí)別信息;步驟(3)中將置換簽名矩陣W傳給擁有簽名幻方D與置換表P的識(shí)別設(shè)備中,矩陣W根據(jù)置換表P反置換成簽名矩陣H,簽名矩陣H再與簽名幻方D按位進(jìn)行模(n2+1)差得到矩陣M*;一種注冊(cè)信息可公開(kāi)的幻方身份雙向動(dòng)態(tài)認(rèn)證方法,包括如下步驟1)用戶注冊(cè)步驟(固定并保密簽名幻方D與置換表P)a1、注冊(cè)服務(wù)器為注冊(cè)用戶隨機(jī)產(chǎn)生一n階幻方M;a2、注冊(cè)服務(wù)器將幻方M均勻隨機(jī)分割為兩個(gè)互補(bǔ)缺陷幻方M1和缺陷幻方M2,其中缺陷幻方M1和M2中缺陷位置填0,缺陷幻方M2存儲(chǔ)于用戶認(rèn)證(智能)卡中;a3、缺陷幻方M1與簽名幻方D按位相加取模(n2+1)得到模和矩陣H,再將模和矩陣H按置換表P置換得到矩陣MS1;a4、將矩陣MS1作為用戶注冊(cè)信息存儲(chǔ)于可公開(kāi)的認(rèn)證數(shù)據(jù)庫(kù)中或?yàn)橛脩舫钟小?br>
2)認(rèn)證服務(wù)器確認(rèn)注冊(cè)用戶的步驟b1、用戶登錄認(rèn)證服務(wù)器;b2、認(rèn)證服務(wù)器產(chǎn)生一均勻隨機(jī)0-1洗牌矩陣B并傳給用戶;b3、用戶將洗牌矩陣B輸入認(rèn)證卡;b4、認(rèn)證卡根據(jù)洗牌矩陣B由洗牌算法將缺陷幻方M2轉(zhuǎn)換成向量V,并將V傳回用戶;b5、用戶將向量V傳給認(rèn)證服務(wù)器;b6、認(rèn)證服務(wù)器將用戶注冊(cè)身份信息MS1、向量V與相應(yīng)洗牌矩陣B一起傳給校驗(yàn)芯片;b7、校驗(yàn)芯片根據(jù)置換表P與簽名幻方D解密用戶注冊(cè)身份信息MS1得到缺陷幻方M1;然后按缺陷幻方洗牌恢復(fù)算法根據(jù)缺陷幻方M1、向量V與洗牌矩陣B合成矩陣M*;最后驗(yàn)證矩陣M*的幻方性質(zhì)是否滿足,并將驗(yàn)證結(jié)果傳給認(rèn)證服務(wù)器。
上述幻方身份雙向動(dòng)態(tài)認(rèn)證方法還包括用戶確認(rèn)注冊(cè)服務(wù)器的步驟c1、認(rèn)證服務(wù)器向用戶發(fā)送一認(rèn)證請(qǐng)求信息,即要求用戶產(chǎn)生一均勻隨機(jī)0-1洗牌矩陣B;c2、用戶產(chǎn)生一均勻隨機(jī)0-1洗牌矩陣B并傳給認(rèn)證服務(wù)器作為響應(yīng);c3、認(rèn)證服務(wù)器將洗牌矩陣B傳送至身份校驗(yàn)芯片;c4、身份校驗(yàn)芯片根據(jù)洗牌矩陣B將解密用戶注冊(cè)身份信息MS1后所得缺陷矩陣M1洗牌成向量V,并將向量V送回認(rèn)證服務(wù)器;c5、認(rèn)證服務(wù)器將向量V發(fā)送至用戶;
c6、用戶將向量V與洗牌矩陣B輸入認(rèn)證卡;c7、認(rèn)證卡根據(jù)缺陷幻方洗牌恢復(fù)算法將表示用戶身份信息的缺陷幻方M2、向量V與洗牌矩陣B合成完整矩陣M*;最后,驗(yàn)證該矩陣M*的幻方性質(zhì)是否滿足,并將驗(yàn)證結(jié)果返回用戶。
上述確認(rèn)注冊(cè)用戶的步驟中,步驟b4可用步驟b4*代替,同時(shí),步驟b7則用步驟b7*代替b4*認(rèn)證(智能)卡以原始洗牌矩陣B作為細(xì)胞自動(dòng)機(jī)的初態(tài),并前向運(yùn)行三步以上得到此次洗牌矩陣B*;然后根據(jù)洗牌矩陣B*由洗牌算法將缺陷幻方M2轉(zhuǎn)換成向量V,并將V傳回用戶;b7*身份校驗(yàn)芯片根據(jù)置換表P與簽名幻方D解密用戶注冊(cè)身份信息MS1得到缺陷幻方M1;以原始洗牌矩陣B作為細(xì)胞自動(dòng)機(jī)的初態(tài),并前向運(yùn)行相同步數(shù)得到此次洗牌矩陣B*;然后,由洗牌恢復(fù)算法根據(jù)缺陷幻方M1、向量V與洗牌矩陣B*合成完整矩陣M*;最后,驗(yàn)證該矩陣M*的幻方性質(zhì)是否滿足,并將驗(yàn)證結(jié)果返回用戶。
上述用戶確認(rèn)注冊(cè)服務(wù)器的步驟中,步驟c4可用步驟c4*代替,同時(shí),步驟c7則用步驟c7*代替c4*身份校驗(yàn)芯片以原始洗牌矩陣B作為細(xì)胞自動(dòng)機(jī)的初態(tài),并前向運(yùn)行三步以上得到此次洗牌矩陣B*;然后根據(jù)洗牌矩陣B*將解密用戶注冊(cè)身份信息MS1后所得缺陷矩陣M1洗牌成向量V,并將向量V送回認(rèn)證服務(wù)器;c7*認(rèn)證(智能)卡以洗牌矩陣B作為細(xì)胞自動(dòng)機(jī)的初態(tài),并前向運(yùn)行相同步數(shù)得到此次洗牌矩陣B*;然后,由洗牌恢復(fù)算法根據(jù)缺陷幻方M2、向量V與洗牌矩陣B*合成完整矩陣M*;最后,驗(yàn)證該矩陣M*的幻方性質(zhì)是否滿足,并將驗(yàn)證結(jié)果返回用戶。
一種幻方數(shù)碼防偽方法,包括以下步驟d1、按序?yàn)槊恳簧唐樊a(chǎn)生一個(gè)唯一性身份碼N;d2、為每一商品N產(chǎn)生一個(gè)5階以上隨機(jī)幻方M與一個(gè)隨機(jī)0-1洗牌矩陣S,按自左至右、從上至下的順序?qū)⑾磁凭仃嘢轉(zhuǎn)化為二進(jìn)制數(shù),然后再轉(zhuǎn)換為一個(gè)十進(jìn)制數(shù)碼,作為該商品身份的防偽碼Vt;d3、以洗牌矩陣S直接作為產(chǎn)生雙向校驗(yàn)卡的幻方分割矩陣C;d4、根據(jù)分割矩陣C分割幻方M得到缺陷幻方M1X,缺陷幻方M1中數(shù)字對(duì)應(yīng)分割矩陣C中相應(yīng)元素1,然后將M1印刷成雙向校驗(yàn)卡片,并將身份碼N印刷在卡片上;d5、以幻方置換表P置換幻方M,得到置換矩陣W;
d6、根據(jù)洗牌矩陣S將置換矩陣W分割為兩個(gè)互補(bǔ)缺陷置換矩陣(W1、W2),缺陷矩陣W1中數(shù)字與洗牌矩陣中相應(yīng)元素1對(duì)應(yīng),缺陷矩陣W2中數(shù)字與洗牌矩陣中相應(yīng)元素0對(duì)應(yīng);d7、按自左至右、從上至下的順序?qū)⑷毕菥仃嘩1中的數(shù)字與其互補(bǔ)缺陷矩陣M2中的數(shù)字按序排成兩行,然后首尾相接構(gòu)成一個(gè)防偽碼的校驗(yàn)向量V2;將商品身份碼N與校驗(yàn)向量V2存儲(chǔ)于防偽數(shù)據(jù)中心中;d8、在商品上制作含有商品身份碼N和防偽碼V1的標(biāo)簽,并將防偽碼V1掩蓋。
上述幻方數(shù)碼防偽方法中,采用固定并保密的簽名幻方D、幻方置換表P以及不可逆細(xì)胞自動(dòng)機(jī),步驟d3可用步驟d3*代替,步驟d5可用步驟d5*代替,即d3*、以洗牌矩陣S為不可逆細(xì)胞自動(dòng)機(jī)的初始狀態(tài),向前迭代k=3步以上得到幻方分割矩陣C;d5*、以簽名幻方D簽名隨機(jī)幻方M,得到簽名矩陣H;再以幻方置換表P置換簽名矩陣H,得到置換簽名矩陣W。
本注冊(cè)信息可公開(kāi)的幻方身份雙向動(dòng)態(tài)認(rèn)證方法所具有的優(yōu)點(diǎn)1)由幻方模和與幻方置換組合而成的幻方加密技術(shù)確保了用戶注冊(cè)信息可以公開(kāi),克服了現(xiàn)有認(rèn)證方法中認(rèn)證數(shù)據(jù)庫(kù)泄密可能導(dǎo)致的災(zāi)難性結(jié)果;2)“一次一密”的動(dòng)態(tài)身份認(rèn)證方法可防止重用過(guò)時(shí)的認(rèn)證信息,提高了認(rèn)證的安全性;3)幻方身份認(rèn)證協(xié)議與算法可在公開(kāi)網(wǎng)絡(luò)中實(shí)現(xiàn)由洗牌矩陣與洗牌向量組成的動(dòng)態(tài)認(rèn)證信息不可能推導(dǎo)出未加密之前的身份信息M1與認(rèn)證(智能)卡中的身份信息M2;即使通過(guò)搭線竊聽(tīng)方式,無(wú)論收集多少洗牌矩陣與洗牌向量對(duì),也不可能推導(dǎo)出身份信息M1與M2。
4)認(rèn)證協(xié)議與算法均可公開(kāi),簽名幻方與置換表固化在身份校驗(yàn)卡芯片中;5)細(xì)胞自動(dòng)機(jī)的不可逆性可防止預(yù)先設(shè)計(jì)攻擊方式,提高了身份認(rèn)證的安全性;6)幻方身份認(rèn)證算法簡(jiǎn)單,便于邏輯芯片實(shí)現(xiàn),成本低;7)幻方身份認(rèn)證協(xié)議與算法效率高,可避免認(rèn)證高峰時(shí)刻的處理效率瓶頸問(wèn)題。
本幻方數(shù)碼防偽方法具有如下優(yōu)點(diǎn)1)編碼算法公開(kāi)幻方置換、洗牌與簽名技術(shù)確保算法可以公開(kāi)。
2)數(shù)據(jù)庫(kù)可公開(kāi)幻方洗牌與置換技術(shù)確保由校驗(yàn)碼推算不出防偽碼,即使公開(kāi)簽名幻方與置換表(密鑰),由校驗(yàn)碼仍然推算不出防偽碼;幻方簽名技術(shù)確保私自無(wú)法插入合法校驗(yàn)碼;3)防偽編碼獨(dú)立防偽編碼是隨機(jī)獨(dú)立的,由每對(duì)防偽編碼的校驗(yàn)碼得到其相應(yīng)的防偽碼都必須獨(dú)立破解。如果想由一個(gè)校驗(yàn)碼推算其相應(yīng)的防偽碼,采用100臺(tái)目前主頻最高的PC機(jī)聯(lián)合計(jì)算平均需要9年時(shí)間。
4)實(shí)現(xiàn)雙向防偽系統(tǒng)可以驗(yàn)證商品真?zhèn)?,同時(shí)用戶也可以校驗(yàn)防偽系統(tǒng)的真?zhèn)危?)核心模塊固化簽名幻方與置換表存貯在Flash芯片中,核心算法固化成FPGA芯片,確保不能讀出,既安全可靠又高效;將防偽編碼的最終合法權(quán)限集中至可更改的PCI編碼卡初始化口令,合法權(quán)限硬件化杜絕了防偽中心工作人員私自插入非法防偽數(shù)碼的職務(wù)犯罪行為;6)中央授權(quán)編碼編碼系統(tǒng)每次生成的防偽編碼數(shù)目必須由授權(quán)認(rèn)證系統(tǒng)進(jìn)行遠(yuǎn)程中央授權(quán),利用幻方身份雙向動(dòng)態(tài)認(rèn)證與細(xì)胞自動(dòng)機(jī)原理,可以使得任何編碼系統(tǒng)只能生產(chǎn)已授權(quán)數(shù)量的防偽編碼,而且不同企業(yè)之間的防偽編碼不能混用。
7)編碼校驗(yàn)簡(jiǎn)單只需簡(jiǎn)單加法運(yùn)算,消費(fèi)者和計(jì)算機(jī)都可驗(yàn)證真?zhèn)?,普通PC機(jī)每秒可校驗(yàn)一萬(wàn)次;
附圖1互補(bǔ)缺陷幻方填充原理。
附圖2隨機(jī)幻方模和分解原理。
附圖3互補(bǔ)缺陷簽名矩陣原理。
附圖4幻方置換表。
附圖5幻方加密與解密過(guò)程。
附圖6幻方洗牌恢復(fù)原理。
附圖7缺陷矩陣洗牌過(guò)程。
附圖8缺陷矩陣洗牌恢復(fù)過(guò)程。
附圖9細(xì)胞自動(dòng)機(jī)以洗牌矩陣S為初態(tài)得到洗牌矩陣S*。
附圖10隨機(jī)幻方M、洗牌矩陣S*、缺陷幻方M1與互補(bǔ)缺陷幻方M2。
附圖11存儲(chǔ)在芯片中的簽名幻方D與置換表P。
附圖12用戶Alice的注冊(cè)幻方M(Alice)、缺陷幻方M1(Alice)與互補(bǔ)缺陷幻方M2(Alice)。
附圖13加密M1(Alice)得到MS1(Alice)。
附圖14服務(wù)器確認(rèn)用戶Alice身份的過(guò)程。
附圖15用戶Alice確認(rèn)服務(wù)器身份的過(guò)程。
附圖16身份缺陷幻方M2(Alice)的洗牌過(guò)程。
附圖17Alice注冊(cè)身份信息MS1(Alice)的解密過(guò)程。。
附圖18身份缺陷幻方M2(Alice)的洗牌恢復(fù)過(guò)程。
附圖19注冊(cè)缺陷幻方M1(Alice)的洗牌過(guò)程。
附圖20注冊(cè)缺陷幻方M1(Alice)洗牌恢復(fù)過(guò)程。
附圖22細(xì)胞自動(dòng)機(jī)以B(Web,t)為初態(tài)得到新洗牌矩陣B*(Web,t)。
附圖22細(xì)胞自動(dòng)機(jī)以B(Alice,t)為初態(tài)得到新洗牌矩陣B*(Alice,t)。
附圖23隨機(jī)幻方M、洗牌矩陣S與防偽碼轉(zhuǎn)換。
附圖24細(xì)胞自動(dòng)機(jī)以洗牌矩陣S為初態(tài)得到幻方分割矩陣C。
附圖25隨機(jī)幻方M、幻方分割矩陣C與缺陷幻方M1。
附圖26隨機(jī)幻方M、簽名幻方D、簽名矩陣H與置換簽名矩陣W。
附圖27置換簽名矩陣W、洗牌矩陣S、缺陷矩陣W1與互補(bǔ)缺陷矩陣W2。
附圖28由缺陷矩陣W1與互補(bǔ)缺陷矩陣W2形成校驗(yàn)向量V2。
附圖29雙向校驗(yàn)數(shù)字(互補(bǔ)缺陷幻方M2)獲取流程。
具體實(shí)施例方式
缺陷幻方填充原理將一個(gè)隨機(jī)構(gòu)造的幻方均勻隨機(jī)分割為兩個(gè)互補(bǔ)缺陷幻方,目前理論上還不存在有效的統(tǒng)一計(jì)算方法,使得由僅含一半數(shù)字的缺陷幻方恢復(fù)出另一半數(shù)字的位置,使之仍然構(gòu)成一個(gè)幻方,反之亦然。我們稱(chēng)該問(wèn)題為缺陷幻方填充問(wèn)題,此問(wèn)題是一個(gè)公開(kāi)的數(shù)學(xué)難題,如圖1所示。一般地,如果將其中任意一個(gè)缺陷幻方作為鎖,另一個(gè)則可作為相應(yīng)的鑰匙,二者互為鎖與鑰匙。由“鎖”推不出相應(yīng)的“鑰匙”,由“鑰匙”推不出相應(yīng)的“鎖”,“鎖”可以公開(kāi)。7階幻方即可構(gòu)造1034把幻方數(shù)字鎖,已知“鎖”時(shí),相應(yīng)“鑰匙”的窮舉次數(shù)為25!≈1.55×1025。
幻方模和原理將兩個(gè)n階隨機(jī)幻方的元素按位相加取模n2+1得到一個(gè)模n2+1內(nèi)自然數(shù)的矩陣,判斷該矩陣是否為兩個(gè)n階隨機(jī)幻方之和在計(jì)算上是不可判定的;一般地,將k≥2個(gè)隨機(jī)構(gòu)造的n階幻方的矩陣元素按位相加再取模n2+1,得到一個(gè)模n2+1內(nèi)自然數(shù)的矩陣,判斷該矩陣是否可分解為k個(gè)n階隨機(jī)幻方之和在計(jì)算上是不可判定的。該原理可應(yīng)用于密鑰管理、身份認(rèn)證、多方身份認(rèn)證、微支付以及數(shù)碼防偽等領(lǐng)域,并且具有安全強(qiáng)度高、驗(yàn)證效率高、易于邏輯芯片實(shí)現(xiàn)等優(yōu)點(diǎn)。舉例說(shuō)明,如圖2所示,如果僅知道隨機(jī)幻方模和矩陣,在計(jì)算上不可能把幻方模和分解為隨機(jī)幻方1與隨機(jī)幻方2。
由幻方模和原理直接得到幻方簽名技術(shù)。隨機(jī)構(gòu)造一個(gè)幻方作為不公開(kāi)的簽名幻方(相當(dāng)于簽名私鑰),任一隨機(jī)幻方與該簽名幻方模和之后得到一個(gè)簽名矩陣,該簽名矩陣與簽名幻方的模差必然是一個(gè)幻方,以此可以驗(yàn)證簽名矩陣的真?zhèn)?。通過(guò)驗(yàn)證簽名矩陣的真?zhèn)慰梢耘袛啾缓灻碾S機(jī)幻方是否由己方產(chǎn)生,而非他方偽造。一般地,幻方的簽名矩陣是唯一的,即不存在兩個(gè)不同的幻方,相對(duì)同一簽名幻方其簽名矩陣是相等的?;梅胶灻夹g(shù)也可以稱(chēng)為幻方加密技術(shù)。
由幻方簽名技術(shù)可以進(jìn)一步將缺陷幻方填充問(wèn)題推廣至缺陷簽名矩陣填充問(wèn)題。將一個(gè)簽名矩陣隨機(jī)抽去一半左右的數(shù)字,很難由剩下的一半數(shù)字推出被抽去的另一半數(shù)字,使之仍然構(gòu)成一個(gè)合法的簽名矩陣。由簽名矩陣的唯一性可以知道缺陷簽名矩陣的填充問(wèn)題也是唯一的,即不可能存在兩組不同的數(shù)字,使之與已知的一半數(shù)字均構(gòu)成合法簽名矩陣。如圖3所示。
幻方置換原理設(shè)計(jì)一個(gè)一一對(duì)應(yīng)的矩陣元素置換表,將n×n矩陣中每一元素映射至同等規(guī)模的另一矩陣中新的元素位置上,使得原矩陣中任意兩個(gè)同行或同列或同一對(duì)角線上的元素被映射后不再處于同行或同列或同一對(duì)角線,該置換過(guò)程稱(chēng)為幻方置換,其中置換表稱(chēng)為幻方置換表。
所謂一一對(duì)應(yīng)的置換表,如圖4所示。舉例如下,將一個(gè)6×6的矩陣元素映射為另一個(gè)6×6的矩陣元素,其中,(i,j)表示將原矩陣中相應(yīng)位置上的元素映射至新矩陣中第i行與第j列交叉位置,如左上角元素(5,1)表示將原矩陣中左上角元素即第0行與0列交叉位置上的元素,映射到新矩陣中第5行與第1列交叉位置上,如此類(lèi)推,一一映射,無(wú)一重復(fù),稱(chēng)這一幻方置換過(guò)程為正置換。如果將置換表中某二元元素(i,j)理解為把矩陣中第i行與第j列上的元素映射至新矩陣中該二元元素(i,j)所在位置上,則該幻方置換過(guò)程稱(chēng)為反置換。因此,同一幻方置換表即可作為正置換也可作為反置換,二者互為逆過(guò)程。
如果對(duì)幻方使用置換過(guò)程,可以使幻方數(shù)字元素之間失去相關(guān)性。
幻方加密與解密原理如圖5所示,固定一幻方與幻方置換表作為加密密鑰,任一隨機(jī)構(gòu)成的幻方(明文)先與該固定幻方進(jìn)行模和得到簽名矩陣,再將該簽名矩陣按置換表進(jìn)行置換,得到一數(shù)字矩陣(密文),該過(guò)程稱(chēng)為幻方加密過(guò)程,相應(yīng)的逆過(guò)程稱(chēng)為幻方解密過(guò)程。不論已知多少對(duì)隨機(jī)幻方(明文)與其加密結(jié)果(密文),在計(jì)算上很難推導(dǎo)出其固定簽名幻方與置換表?;梅郊用茉砜捎糜诰W(wǎng)絡(luò)身份認(rèn)證、訪問(wèn)控制與微支付等領(lǐng)域。
洗牌原理從一組具有內(nèi)部數(shù)學(xué)關(guān)系的可校驗(yàn)的n個(gè)有序數(shù)字序列中按序隨機(jī)抽取其中約一半數(shù)字,按先后次序排成一組數(shù)字序列,并將該序列置于所剩數(shù)字序列之后,構(gòu)成一個(gè)新的數(shù)字序列,稱(chēng)該數(shù)字序列的重組過(guò)程為隨機(jī)洗牌過(guò)程,重組數(shù)字序列稱(chēng)為洗牌結(jié)果,其中按序均勻隨機(jī)抽取數(shù)字的方案可由一n元0-1二進(jìn)制表示,并稱(chēng)之為洗牌方案。僅由洗牌結(jié)果是不可能恢復(fù)原有序可校驗(yàn)數(shù)字序列的,洗牌結(jié)果僅可由洗牌方案直接恢復(fù)成原有序可校驗(yàn)數(shù)字序列,這就是數(shù)字序列的洗牌原理。
幻方洗牌恢復(fù)原理構(gòu)造一個(gè)n階隨機(jī)幻方M,按某一公開(kāi)置換表P將該隨機(jī)幻方置換成另一隨機(jī)矩陣X;構(gòu)造一個(gè)n×n的均勻隨機(jī)0-1洗牌矩陣S(該洗牌矩陣可以轉(zhuǎn)化為一個(gè)十進(jìn)制數(shù)),根據(jù)洗牌矩陣將通過(guò)置換得到的隨機(jī)矩陣X分割為兩個(gè)互補(bǔ)缺陷矩陣,其中一個(gè)缺陷矩陣X1中的數(shù)字與洗牌矩陣中相應(yīng)元素1對(duì)應(yīng),另一個(gè)互補(bǔ)缺陷矩陣X2中的數(shù)字與洗牌矩陣中相應(yīng)元素0對(duì)應(yīng);再將兩個(gè)互補(bǔ)缺陷矩陣按序轉(zhuǎn)化為長(zhǎng)度為n2的數(shù)字向量V。即使公開(kāi)幻方置換表P,由長(zhǎng)度為n2的數(shù)字向量V很難恢復(fù)出原隨機(jī)幻方M,也就是由數(shù)字向量V在計(jì)算上很難推導(dǎo)出洗牌矩陣S。如圖6所示,由長(zhǎng)度為36元素的數(shù)字向量V與置換表P在計(jì)算上很難推導(dǎo)出隨機(jī)幻方M或洗牌矩陣S互補(bǔ)缺陷矩陣洗牌與恢復(fù)算法設(shè)大小為n×n的矩陣M被均勻隨機(jī)分割為兩個(gè)互補(bǔ)缺陷矩陣M1與M2,向量V的長(zhǎng)度為n2,V中各元素初始化為0,均勻隨機(jī)洗牌矩陣 bij∈{0,1}。
如圖7所示,缺陷矩陣M2的洗牌轉(zhuǎn)換算法的基本過(guò)程是,首先按序?qū)⑴cB中元素1對(duì)應(yīng)的M2中非零數(shù)字寫(xiě)入向量V,然后按序?qū)⑴cB中元素0對(duì)應(yīng)的M2中非零數(shù)字寫(xiě)入向量V,所得向量V即為洗牌結(jié)果,可表示為M2+B→1V.]]>假設(shè)6×6的矩陣M被分割為兩部分M1與M2,從左上角元素開(kāi)始,按自左至右、從上至下的規(guī)則直至右下角元素,順序?qū)⑴cB中元素l對(duì)應(yīng)的M2中非零數(shù)字寫(xiě)入向量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);然后,從左上角元素開(kāi)始,按自左至右、從上至下的規(guī)則直至右下角元素,按序?qū)⑴cB中元素0對(duì)應(yīng)的M2中的非零數(shù)字,緊按當(dāng)前向量指針寫(xiě)入向量V中,得到洗牌結(jié)果V。
缺陷矩陣的洗牌恢復(fù)算法是洗牌算法的逆過(guò)程,如圖8所示,其中M1相當(dāng)于此逆運(yùn)算過(guò)程中的“密鑰”。洗牌恢復(fù)算法根據(jù)洗牌結(jié)果向量V、洗牌矩陣B以及互補(bǔ)缺陷矩陣M1?;謴?fù)出原矩陣M,可表示為V+B→M1M.]]>洗牌恢復(fù)算法的基本過(guò)程是,首先恢復(fù)與洗牌矩陣B中元素1對(duì)應(yīng)的矩陣數(shù)字,從左上角元素開(kāi)始,按自左至右、從上而下的規(guī)則直至右下角元素,分別考慮與B中元素1對(duì)應(yīng)的M1中元素,如果該元素非零,則置恢復(fù)矩陣M中相應(yīng)位置為該數(shù)字否則,置恢復(fù)矩陣M中相應(yīng)位置為向量V中當(dāng)前元素,同時(shí)向量V的指針前進(jìn)一位,如此反復(fù)直至B的右下角元素。然后,向量V從當(dāng)前指針開(kāi)始,恢復(fù)與B中元素0對(duì)應(yīng)的矩陣元素,即從左上角元素開(kāi)始,按自左至右、從上而下的規(guī)則直至右下角元素,分別考慮與B中元素0對(duì)應(yīng)的M1中元素,如果該元素非零,則置恢復(fù)矩陣中相應(yīng)位置為該數(shù)字;否則,置恢復(fù)矩陣M中相應(yīng)位置為向量V中當(dāng)前元素,同時(shí)向量V的指針前進(jìn)一位,如此反復(fù)直至B的右下角元素,最后得到原矩陣M。
當(dāng)矩陣M為隨機(jī)幻方時(shí),互補(bǔ)缺陷矩陣洗牌與恢復(fù)算法可用于基于隨機(jī)幻方的動(dòng)態(tài)身份認(rèn)證技術(shù)。
細(xì)胞自動(dòng)機(jī)細(xì)胞自動(dòng)機(jī)是由Ulam與Von Neumann在上世紀(jì)40年代晚期提出的通用并行計(jì)算模型。細(xì)胞自動(dòng)機(jī)的細(xì)胞與其鄰域的互動(dòng)關(guān)系,使得局部細(xì)胞狀態(tài)可隨時(shí)間在空間上傳播,這一特點(diǎn)使細(xì)胞自動(dòng)機(jī)表現(xiàn)出非常復(fù)雜的宏觀時(shí)空演化行為。一般地,一個(gè)細(xì)胞自動(dòng)機(jī)的全局狀態(tài)可能具有一個(gè)以上的前置狀態(tài),也就是在同一細(xì)胞自動(dòng)機(jī)規(guī)則下可能有一個(gè)以上的全局狀態(tài)通過(guò)一步映射可轉(zhuǎn)移至該狀態(tài)。一般地,細(xì)胞自動(dòng)機(jī)是不可逆的,即不能由后向狀態(tài)推出其前置狀態(tài)。
如圖9所示,洗牌矩陣S可以看成是細(xì)胞自動(dòng)機(jī)的全局狀態(tài),如果按某一細(xì)胞自動(dòng)機(jī)規(guī)則將該洗牌矩陣向前迭代運(yùn)行數(shù)步(k步),得到一新的洗牌矩陣S*。根據(jù)細(xì)胞自動(dòng)機(jī)的不可逆性,即使在公開(kāi)該細(xì)胞自動(dòng)機(jī)規(guī)則的條件下,由洗牌矩陣S*是不可能推導(dǎo)出其前置k步的洗牌矩陣S的。
如圖10所示,利用洗牌矩陣S對(duì)置換簽名矩陣洗牌,然后根據(jù)某一固定細(xì)胞自動(dòng)機(jī)規(guī)則由洗牌矩陣S前推k步得到新的洗牌矩陣S*,由新的洗牌矩陣S*作為分割矩陣C分割隨機(jī)幻方M,得到互補(bǔ)缺陷幻方M1與M2,可以實(shí)現(xiàn)雙向驗(yàn)證。
本發(fā)明用于身份認(rèn)證的一個(gè)實(shí)施例假設(shè)用戶Alice與認(rèn)證服務(wù)器之間須進(jìn)行雙向身份動(dòng)態(tài)認(rèn)證,D為簽名幻方,P為幻方置換表,如圖11所示,簽名幻方與置換表存儲(chǔ)于身份校驗(yàn)芯片中。
用戶Alice的注冊(cè)步驟如下a1、注冊(cè)服務(wù)器為注冊(cè)用戶Alice隨機(jī)產(chǎn)生一5階以上的幻方M(Alice),以6階為例;a2、注冊(cè)服務(wù)器將M(Alice)隨機(jī)均勻分割為兩個(gè)互補(bǔ)缺陷幻方M1(Alice)與M2(Alice),其中缺陷元素填0;M2(Alice)直接作為Alice的身份校驗(yàn)信息存入認(rèn)證(智能)卡中,并且認(rèn)證卡以PIN碼保護(hù),如圖12所示;a3、缺陷幻方M1(Alice)與簽名幻方D按位相加取模(n2+1)得到模和矩陣H,再將模和矩陣H按置換表P置換得到置換矩陣MS1(Alice),如圖13所示;a4、將MS1(Alice)作為用戶的注冊(cè)身份信息存儲(chǔ)于可公開(kāi)的認(rèn)證服務(wù)器數(shù)據(jù)庫(kù)中,也可由用戶自己持有。
認(rèn)證服務(wù)器確認(rèn)用戶Alice身份的過(guò)程如下,如圖14所示b1、用戶Alice登錄認(rèn)證服務(wù)器;b2、認(rèn)證服務(wù)器產(chǎn)生一均勻隨機(jī)0-1矩陣B(Web,t)并傳給用戶Alice;b3、用戶Alice將B(Web,t)輸入認(rèn)證卡;b4、認(rèn)證卡根據(jù)洗牌矩陣B(Web,t)按缺陷矩陣洗牌算法將缺陷幻方M2(Alice)轉(zhuǎn)換成認(rèn)證向量V(Alice,t),并將V(Alice,t)傳回用戶Alice,如圖15所示;b5、用戶Alice將向量V(Alice,t)傳給認(rèn)證服務(wù)器;b6、認(rèn)證服務(wù)器將MS1(Alice)、V(Alice,t)與相應(yīng)的洗牌矩陣B(Web,t)一起傳給校驗(yàn)芯片;b7、校驗(yàn)芯片根據(jù)置換表P與簽名幻方D解密MS1(Alice)得到缺陷幻方M1(Alice),如圖16所示;然后根據(jù)缺陷矩陣洗牌恢復(fù)算法將M1(Alice)、V(Alice,t)與B(Web,t)合成矩陣M*,如圖17所示;最后驗(yàn)證矩陣M*的幻方性質(zhì)是否滿足,并將驗(yàn)證結(jié)果傳給認(rèn)證服務(wù)器。
用戶Alice確認(rèn)認(rèn)證服務(wù)器身份的過(guò)程如下,如圖18所示c1、認(rèn)證服務(wù)器向用戶Alice發(fā)送一認(rèn)證請(qǐng)求信息,即要求用戶Alice產(chǎn)生一均勻隨機(jī)0-1洗牌矩陣B(Alice,t);c2、用戶Alice產(chǎn)生一均勻隨機(jī)0-1洗牌矩陣B(Alice,t)并傳給認(rèn)證服務(wù)器作為響應(yīng);c3、認(rèn)證服務(wù)器將B(Alice,t)傳送至校驗(yàn)芯片;c4、校驗(yàn)芯片根據(jù)B(Alice,t)將解密MS1(Alice)后所得缺陷幻方M1(Alice)按缺陷矩陣洗牌算法轉(zhuǎn)換成認(rèn)證向量V(Web,t),并將V(Web,t)送回認(rèn)證服務(wù)器,如圖19所示;c5、認(rèn)證服務(wù)器將V(Web,t)發(fā)送至用戶Alice;c6、用戶Alice將向量V(Web,t)與洗牌矩陣B(Alice,t)輸入認(rèn)證卡;c7、認(rèn)證卡根據(jù)缺陷矩陣洗牌恢復(fù)算法將M2(Alice)、V(Web,t)與B(Alice,t)合成完整矩陣M*,如圖20所示;最后,驗(yàn)證該矩陣M*的幻方性質(zhì)是否滿足,并將驗(yàn)證結(jié)果返回用戶Alice。
上述實(shí)施例的步驟b4與b7中,可用同一細(xì)胞自動(dòng)機(jī)以B(Web,t)作為初態(tài),并前向迭代三步得到新洗牌矩陣B*(Web,t),如圖21所示,再用新洗牌矩陣B*(Web,t)進(jìn)行洗牌;步驟c4與c7中,可用同一細(xì)胞自動(dòng)機(jī)以B(Alice,t)作為初態(tài),并前向迭代三步得到新洗牌矩陣B*(Alice,t),如圖22所示,再用新洗牌矩陣B*(Alice,t)進(jìn)行洗牌。根據(jù)細(xì)胞自動(dòng)機(jī)的不可逆性,即使在公開(kāi)該細(xì)胞自動(dòng)機(jī)的條件下,由洗牌矩陣B*(Web,t)是不可能推導(dǎo)出其前置洗牌矩陣B(Web,t),由洗牌矩陣B*(Alice,t)也是不可能推導(dǎo)出其前置洗牌矩陣B(Alice,t),因而可防止對(duì)該幻方身份雙向動(dòng)態(tài)認(rèn)證方法可能進(jìn)行的預(yù)先設(shè)計(jì)式攻擊。
本發(fā)明用于數(shù)碼防偽的一個(gè)實(shí)施例首先構(gòu)造一個(gè)5階以上的隨機(jī)幻方D作為簽名幻方,并隨機(jī)生成一個(gè)置換表P作為幻方置換表,如圖11所示,以6階幻方為例。簽名幻方D與置換表P固化在PCI編碼卡與校驗(yàn)卡的Flash存儲(chǔ)芯片中。
商品數(shù)碼防偽方法包括以下步驟d1、按序?yàn)槊恳簧唐樊a(chǎn)生一個(gè)唯一性身份碼N,如N=2789502342;d2、為每一商品N產(chǎn)生一個(gè)5階以上隨機(jī)幻方M與一個(gè)均勻隨機(jī)0-1洗牌矩陣S,按自左至右、從上至下的順序?qū)⑾磁凭仃嘢轉(zhuǎn)化為二進(jìn)制數(shù),再轉(zhuǎn)換為一個(gè)十進(jìn)制數(shù)碼23564 019279,作為該商品身份的防偽碼V1,如圖23所示;d3、以洗牌矩陣S作為不可逆細(xì)胞自動(dòng)機(jī)的初始狀態(tài),向前迭代k=3步以上得到幻方分割矩陣C,如圖24所示;(CAM可以公開(kāi),如CAM=01010101……010101)d4、根據(jù)分割矩陣C分割幻方M得到缺陷幻方M1,缺陷幻方M1中數(shù)字對(duì)應(yīng)分割矩陣C中相應(yīng)元素1,然后將M1印刷成雙向校驗(yàn)卡片,并將身份碼N印刷在卡片上,如圖25所示;
d5、以簽名幻方D對(duì)隨機(jī)幻方M進(jìn)行簽名,得到簽名矩陣H,再以幻方置換表P對(duì)簽名矩陣H進(jìn)行置換,得到置換簽名矩陣W,如圖26所示;該過(guò)程在編碼PCI卡FPGA中完成;d6、根據(jù)洗牌矩陣S將置換簽名矩陣W分割為兩個(gè)互補(bǔ)缺陷置換簽名矩陣(W1與W2),缺陷矩陣W1中數(shù)字與洗牌矩陣中相應(yīng)元素1對(duì)應(yīng),缺陷矩陣W2中數(shù)字與洗牌矩陣中相應(yīng)元素0對(duì)應(yīng),如圖27所示;d7、按自左至右、從上至下的順序?qū)⑷毕菥仃嘩1中的數(shù)字與其互補(bǔ)缺陷矩陣M2中的數(shù)字按序構(gòu)成一個(gè)真?zhèn)涡r?yàn)向量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與相應(yīng)校驗(yàn)向量V2存儲(chǔ)于防偽數(shù)據(jù)中心中,如圖28所示;d8、在商品上制作含有商品身份碼N和防偽碼V1標(biāo)簽,并將防偽碼V1掩蓋。
商品真?zhèn)尾樵冞^(guò)程用戶通過(guò)電話、短信與網(wǎng)站將商品上的商品身份碼N和防偽碼V1送至真?zhèn)涡r?yàn)中心,真?zhèn)涡r?yàn)中心根據(jù)商品身份碼N從防偽數(shù)據(jù)庫(kù)取出相應(yīng)的真?zhèn)涡r?yàn)向量V2,利用防偽碼V1和真?zhèn)涡r?yàn)向量V2恢復(fù)置換簽名矩陣W,再根據(jù)幻方置換表P與簽名幻方D對(duì)置換簽名矩陣W進(jìn)行反置換與模減,得到矩陣M*(此過(guò)程在PCI校驗(yàn)卡中實(shí)現(xiàn));若M*是幻方且屬首次查詢,則是真品,同時(shí)根據(jù)防偽碼V1由細(xì)胞自動(dòng)機(jī)得到幻方分解矩陣C,由幻方M與幻方分解矩陣C得到雙向校驗(yàn)卡上缺陷幻方M1的互補(bǔ)缺陷幻方M2,最后將互補(bǔ)缺陷幻方M2的數(shù)字按序傳給用戶;反之,若M*不是幻方,則商品是假品。真?zhèn)涡r?yàn)與獲取雙向校驗(yàn)數(shù)字M2的流程如圖29所示。
權(quán)利要求
1.一種用于身份真?zhèn)舞b別的幻方簽名方法,其特征在于,包括以下步驟1)隨機(jī)構(gòu)造一個(gè)n(≥5)階以上的幻方作為簽名幻方(D),簽名幻方(D)保密;2)根據(jù)物品特征信息產(chǎn)生一n階隨機(jī)幻方(M),將隨機(jī)幻方(M)與簽名幻方(D)的元素按位進(jìn)行模(n2+1)和,得到一個(gè)簽名矩陣(H),此簽名矩陣(H)作為物品身份的識(shí)別信息;3)將簽名矩陣(H)傳給擁有簽名幻方(D)的識(shí)別設(shè)備中,計(jì)算簽名矩陣(H)與簽名幻方(D)的模差矩陣(M*);4)驗(yàn)證矩陣(M*)是否為幻方,如果矩陣(M*)是幻方,則擁有簽名矩陣(H)的身份為真,否則為假。
2.根據(jù)權(quán)利要求1所述的一種用于身份真?zhèn)舞b別的幻方簽名方法,其特征在于所述步驟(2)中,簽名矩陣(H)根據(jù)矩陣置換表(P)置換成置換簽名矩陣(W),置換簽名矩陣(W)作為物品身份的識(shí)別信息;步驟(3)中將置換簽名矩陣(W)傳給擁有簽名幻方(D)與置換表(P)的識(shí)別設(shè)備中,矩陣(W)根據(jù)置換表(P)反置換成簽名矩陣(H),簽名矩陣(H)再與簽名幻方(D)按位進(jìn)行模(n2+1)差得到矩陣(M*);
3.一種注冊(cè)信息可公開(kāi)的幻方身份雙向動(dòng)態(tài)認(rèn)證方法,其特征在于,包括以下步驟1)用戶注冊(cè)步驟a1、注冊(cè)服務(wù)器為注冊(cè)用戶隨機(jī)產(chǎn)生一n階幻方(M);a2、注冊(cè)服務(wù)器將幻方(M)均勻隨機(jī)分割為兩個(gè)互補(bǔ)缺陷幻方(M1)和缺陷幻方(M2),其中缺陷幻方(M1)和(M2)中缺陷位置填0,缺陷幻方(M2)存儲(chǔ)于用戶認(rèn)證卡中;a3、缺陷幻方(M1)與簽名幻方(D)按位相加取模(n2+1)得到模和矩陣(H),再將模和矩陣(H)按置換表(P)置換得到矩陣(MS1);a4、將矩陣(MS1)作為用戶注冊(cè)信息存儲(chǔ)于可公開(kāi)的認(rèn)證數(shù)據(jù)庫(kù)中或?yàn)橛脩舫钟小?)認(rèn)證服務(wù)器確認(rèn)注冊(cè)用戶的步驟b1、用戶登錄認(rèn)證服務(wù)器;b2、認(rèn)證服務(wù)器產(chǎn)生一均勻隨機(jī)0-1洗牌矩陣(B)并傳給用戶;b3、用戶將洗牌矩陣(B)輸入認(rèn)證卡;b4、認(rèn)證卡根據(jù)洗牌矩陣(B)由洗牌算法將缺陷幻方(M2)轉(zhuǎn)換成向量(V),并將(V)傳回用戶;b5、用戶將向量(V)傳給認(rèn)證服務(wù)器;b6、認(rèn)證服務(wù)器將用戶注冊(cè)身份信息(MS1)、向量(V)與相應(yīng)洗牌矩陣(B)一起傳給校驗(yàn)芯片;b7、校驗(yàn)芯片根據(jù)置換表(P)與簽名幻方(D)解密用戶注冊(cè)身份信息(MS1)得到缺陷幻方(M1);然后按缺陷幻方洗牌恢復(fù)算法根據(jù)缺陷幻方(M1)、向量(V)與洗牌矩陣(B)合成矩陣(M*);最后驗(yàn)證矩陣(M*)的幻方性質(zhì)是否滿足,并將驗(yàn)證結(jié)果傳給認(rèn)證服務(wù)器。
4.根據(jù)權(quán)利要求3所述的一種注冊(cè)信息可公開(kāi)的幻方身份雙向動(dòng)態(tài)認(rèn)證方法,其特征在于還包括用戶確認(rèn)注冊(cè)服務(wù)器的步驟c1、認(rèn)證服務(wù)器向用戶發(fā)送一認(rèn)證請(qǐng)求信息,即要求用戶產(chǎn)生一均勻隨機(jī)0-1洗牌矩陣(B);c2、用戶產(chǎn)生一均勻隨機(jī)0-1洗牌矩陣(B)并傳給認(rèn)證服務(wù)器作為響應(yīng);c3、認(rèn)證服務(wù)器將洗牌矩陣(B)傳送至身份校驗(yàn)芯片;c4、身份校驗(yàn)芯片根據(jù)洗牌矩陣B將解密用戶注冊(cè)身份信息(MS1)后所得缺陷矩陣(M1)洗牌成向量(V),并將向量(V)送回認(rèn)證服務(wù)器;c5、認(rèn)證服務(wù)器將向量(V)發(fā)送至用戶;c6、用戶將向量(V)與洗牌矩陣(B)輸入認(rèn)證卡;c7、認(rèn)證卡根據(jù)缺陷幻方洗牌恢復(fù)算法將表示用戶身份信息的缺陷幻方(M2)、向量(V)與洗牌矩陣(B)合成完整矩陣(M*);最后,驗(yàn)證該矩陣(M*)的幻方性質(zhì)是否滿足,并將驗(yàn)證結(jié)果返回用戶。
5.根據(jù)權(quán)利要求3所述的一種注冊(cè)信息可公開(kāi)的幻方身份雙向動(dòng)態(tài)認(rèn)證方法,其特征在于步驟b4還可用b4*步驟代替b4*認(rèn)證卡以原始洗牌矩陣(B)作為細(xì)胞自動(dòng)機(jī)的初態(tài),并前向運(yùn)行三步以上得到此次洗牌矩陣(B*);然后根據(jù)洗牌矩陣(B*)由洗牌算法將缺陷幻方(M2)轉(zhuǎn)換成向量(V),并將(V)傳回用戶;同時(shí),步驟b7則用b7*步驟代替b7*身份校驗(yàn)芯片根據(jù)置換表(P)與簽名幻方(D)解密用戶注冊(cè)身份信息(MS1)得到缺陷幻方(M1);以原始洗牌矩陣(B)作為細(xì)胞自動(dòng)機(jī)的初態(tài),并前向運(yùn)行相同步數(shù)得到此次洗牌矩陣(B*);然后,由洗牌恢復(fù)算法根據(jù)缺陷幻方(M1)、向量(V)與洗牌矩陣(B*)合成完整矩陣(M*);最后,驗(yàn)證該矩陣(M*)的幻方性質(zhì)是否滿足,并將驗(yàn)證結(jié)果返回用戶。
6.根據(jù)權(quán)利要求4所述的一種注冊(cè)信息可公開(kāi)的幻方身份雙向動(dòng)態(tài)認(rèn)證方法,其特征在于步驟c4還可用c4*步驟代替c4*身份校驗(yàn)芯片以原始洗牌矩陣(B)作為細(xì)胞自動(dòng)機(jī)的初態(tài),并前向運(yùn)行三步以上得到此次洗牌矩陣(B*);然后根據(jù)洗牌矩陣(B*)將解密用戶注冊(cè)身份信息(MS1)后所得缺陷矩陣(M1)洗牌成向量(V),并將向量(V)送回認(rèn)證服務(wù)器;同時(shí),步驟c7則用c7*步驟代替c7*認(rèn)證卡以洗牌矩陣B作為細(xì)胞自動(dòng)機(jī)的初態(tài),并前向運(yùn)行相同步數(shù)得到此次洗牌矩陣(B*);然后,由洗牌恢復(fù)算法根據(jù)缺陷幻方(M2)、向量(V)與洗牌矩陣(B*)合成完整矩陣(M*);最后,驗(yàn)證該矩陣(M*)的幻方性質(zhì)是否滿足,并將驗(yàn)證結(jié)果返回用戶。
7.一種幻方數(shù)碼防偽方法,包括以下步驟d1、按序?yàn)槊恳簧唐樊a(chǎn)生一個(gè)唯一性身份碼N;d2、為每一商品N產(chǎn)生一個(gè)5階以上隨機(jī)幻方(M)與一個(gè)隨機(jī)0-1洗牌矩陣(S),按自左至右、從上至下的順序?qū)⑾磁凭仃?S)轉(zhuǎn)化為二進(jìn)制數(shù),然后再轉(zhuǎn)換為一個(gè)十進(jìn)制數(shù)碼,作為該商品身份的防偽碼(V1);d3、以洗牌矩陣(S)直接作為產(chǎn)生雙向校驗(yàn)卡的幻方分割矩陣(C);d4、根據(jù)分割矩陣(C)分割幻方(M)得到缺陷幻方(M1),缺陷幻方(M1)中數(shù)字對(duì)應(yīng)分割矩陣(C)中相應(yīng)元素1,然后將(M1)印刷成雙向校驗(yàn)卡片,并將身份碼(N)印刷在卡片上;d5、以幻方置換表(P)置換幻方(M),得到置換矩陣(W);d6、根據(jù)洗牌矩陣S將置換矩陣W分割為兩個(gè)互補(bǔ)缺陷置換矩陣(W1、W2),缺陷矩陣W1中數(shù)字與洗牌矩陣中相應(yīng)元素1對(duì)應(yīng),缺陷矩陣W2中數(shù)字與洗牌矩陣中相應(yīng)元素0對(duì)應(yīng);d7、按自左至右、從上至下的順序?qū)⑷毕菥仃?W1)中的數(shù)字與其互補(bǔ)缺陷矩陣(M2)中的數(shù)字按序排成兩行,然后首尾相接構(gòu)成一個(gè)防偽碼的校驗(yàn)向量(V2);將商品身份碼(N)與校驗(yàn)向量(V2)存儲(chǔ)于防偽數(shù)據(jù)中心中;d8、在商品上制作含有商品身份碼(N)和防偽碼(V1)的標(biāo)簽,并將防偽碼(V1)掩蓋。
8.根據(jù)權(quán)利要求7所述的幻方數(shù)碼防偽方法,其特征在于采用固定并保密的簽名幻方(D)與置換表(P)以及不可逆細(xì)胞自動(dòng)機(jī),步驟d3可用d3*代替,步驟d5可用d5*代替,即d3*、以洗牌矩陣(S)為不可逆細(xì)胞自動(dòng)機(jī)的初始狀態(tài),向前迭代k=3步以上得到幻方分割矩陣(C);d5*、以簽名幻方(D)簽名隨機(jī)幻方(M),得到簽名矩陣(H);再以幻方置換表(P)置換簽名矩陣(H),得到置換簽名矩陣(W)。
全文摘要
本發(fā)明公開(kāi)一種用于身份真?zhèn)舞b別的幻方簽名方法,以及該方法在網(wǎng)絡(luò)身份雙向動(dòng)態(tài)認(rèn)證與幻方數(shù)碼防偽方法中的具體應(yīng)用。為每一物品隨機(jī)產(chǎn)生一個(gè)n階幻方(M),將隨機(jī)幻方(M)與簽名幻方(D)的元素按位相加再取模(n
文檔編號(hào)H04L9/08GK1773906SQ20041004692
公開(kāi)日2006年5月17日 申請(qǐng)日期2004年11月10日 優(yōu)先權(quán)日2004年11月10日
發(fā)明者謝濤 申請(qǐng)人:謝道裕