專利名稱:基于生物特征點拓撲結構的非對稱加解密方法
技術領域:
本發(fā)明涉及密碼學的非對稱加(解)密技術,也涉及基于生物特征點拓撲結構的
生物模式識別技術,尤其涉及基于生物特征點拓撲結構的非對稱加(解)密方法。
背景技術:
非對稱加(解)密方法是分別采用加密密鑰進行加密和解密密鑰解密的方法。由于可通過公開部分密鑰(簡稱公鑰)即可公開地構建經由隱秘密鑰(簡稱私鑰)進行加密通信的信息安全通道,因此該加(解)密方法也稱為公(私)鑰加(解)密方法。
正是非對稱加密方法具有可公開構建安全通信通道的特性,因此自非對稱加密方法問世以來,專家及學者們提出了許多種非對稱加密方法。這些非對稱加密方法的安全性都是基于復雜的數學難題。其中著名的非對稱加(解)密方法是ECC(Elliptic CurveCryptography),它是橢園曲線非對稱加(解)密方法的簡稱,橢園曲線非對稱加(解)密方法是Miller, Koblitz 1985年獨立提出的。 可以把現行的非對稱加(解)密方法稱之為傳統(tǒng)非對稱加(解)密方法。盡管傳
統(tǒng)非對稱加(解)密方法憑借發(fā)布公鑰和隱藏私鑰就可依此公開地構建安全通信通道,但
該公鑰因為并沒能包含表征發(fā)布人生物特征點拓撲結構的信息,從而不能以此認證該發(fā)布
人的生物特征。這不利于構筑基于發(fā)布人公鑰可信身份識別認證的安全通信通道。 獲取發(fā)布人生物特征的生物模式識別技術是基于模式識別的數字圖像預處理技
術。通過使用該技術可獲取人的生物特征點拓撲結構。該技術是已有技術。通過互聯網檢
索可以看到該技術的一個重要而廣泛的應用是基于生物特征的電子護照、電子身份證。 用于生物特征識別認證的生物模式識別技術,是基于生物特征點拓撲結構比對的
生物特征識別技術。通過使用該技術可進行人的生物特征識別認證。該技術也是已有技術。
該技術的一個重要而廣泛的應用是基于生物特征的指紋識別、人臉識別等。 可以例舉人的生物特征有指紋特征、虹膜特征、面相特征、聲音特征、基因特征等,
表征生物特征的特征點拓撲結構即生物特征點拓撲結構,如指紋特征點拓撲結構、面相特
征點拓撲結構等。
發(fā)明內容
本發(fā)明的目的是提供一種基于生物特征點拓撲結構的非對稱加(解)密方法,使
用該方法可產生包含表征發(fā)布人生物特征點拓撲結構信息的公鑰,且憑借發(fā)布公鑰和隱藏
私鑰依此既可公開地構建安全通信通道,又可認證該發(fā)布人的生物特征,從而有利于構筑
基于發(fā)布人公鑰可信認證的安全通信通道。 為了實現本發(fā)明目的,本發(fā)明方案的技術特征包括, 1、設定基于生物特征點拓撲結構的非對稱加(解)密模式;設定該非對稱加(解)密模式中描述生物特征點拓撲結構的數據,為基于該生物特征點拓撲結構的矩陣向量;設定該矩陣向量的元素集合是設定坐標系下基于該生物特征點坐標參數的集合;設定該集合的指定生物特征點坐標參數為該矩陣向量的運算基準,該運算基準包括運算基準點和運算基準方向點,設定具有指定運算基準的矩陣向量為起始運算矩陣向量;設定矩陣向量的基本運算是把該矩陣向量作為該運算的起始運算矩陣向量,并對該矩陣向量按設定運算基準的設定位移、旋轉值進行位移、旋轉的運算;設定矩陣向量的某一輪運算是把該矩陣向量作為該輪運算的起始運算矩陣向量,并對該矩陣向量按該輪運算所設基本運算次數進行位移旋轉的該一輪所設次基本運算,其中該一輪所設次即該一輪所設基本運算次數,該一輪運算所設每次基本運算的位移、旋轉值是該一輪運算所設位移、旋轉步長;設定矩陣向量的若干輪運算是把該矩陣向量作為該若干輪運算的起始運算矩陣向量,并對該矩陣向量按所設若干輪、以及每輪所設基本運算次數、再及每次基本運算所設位移步長和旋轉步長進行位移旋轉的該若干輪所設輪次基本運算,其中該若干輪所設該若干次數值是該若干輪所設輪次;設定加密包括首先把解密方公開的起始運算矩陣向量和經其私設輪次運算過的起始運算矩陣向量作為加密方運算的起始運算矩陣向量,并對該倆矩陣向量按加密方私設輪次進行該輪次運算,然后把該后者運算結果編碼值和待加密值相加,計算該倆值之和作為加密信息值與前者一起發(fā)送給解密方;設定解密包括首先把加密方所公開且經其私設輪次運算的起始運算矩陣向量作為解密方運算的起始運算矩陣向量,并對該矩陣向量按解密方原私設輪次進行該輪次運算,然后把該運算編碼值減去加密方所發(fā)送來的加密信息值,計算該倆值之差作為解密信息值,且該值等于該待加密值。 2、根據l,該特征還包括其實現的步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6) 、 (7) 、 (8) 、 (9)、
(10) 、 (11) 、 (12) 、 (13) 、 (14) 、 (15) 、 (16)。以下即該步驟: (1)設定基于生物特征點拓撲結構的非對稱加(解)密模式 根據l,包括設定該加密模式C和解密模式E如下 設定加密模式C可以是C = {string (Matrix-Vector = J*G) , Cm = [f (Matrix_0P = J*W)+M]},
設定解密模式E可以是E = {matrix(Matrix-String = string(Matrix-Vector = J*G)), Em =Cm-f(Matrix-OP = K*(J*G))},
其中定義 *是本發(fā)明矩陣向量運算符、該運算符的設定實現是步驟(5), G和W是解密方公開的起始運算矩陣向量、該矩陣向量的設定實現是步驟(2)、
(4) 、 (6) 、 (7), J是加密方為設定矩陣向量運算輪次所設的私設輪次值(即加密私鑰),
K是解密方為設定矩陣向量運算輪次所設的私設輪次值(即解密私鑰),
J*G、 J*W是使用J對G和W進行*運算、該運算的設定實現是步驟(3) 、 (5) 、 (6)、(7), K* (J*G)是使用K對(J*G)進行*運算、該運算的設定實現是步驟(3) 、 (5) 、 (6)、(7), string (Matrix-Vector = J*G)是先使用J對G進行*運算然后對包括運算基準的該J*G進行數字串編碼的操作、該操作的設定實現是步驟(8), matrix (Matrix—String = string (Matrix—Vector = J*G)) 是 還 原string (Matrix-Vector = J*G)為該矩陣向量的反操作、該反操作的設定實現是步驟(8),
f (Matrix-OP = J*W)和f (Matrix-OP = K* (J*G))是對該矩陣向量進行相關*運算及散列法運算編碼、該運算及編碼的設定實現是步驟(9),
M是待加密值, Cm是加密方計算f (Matrix-OP = J*W)與M倆值之和作為加密信息值、該計算實現是步驟(15), Em是解密方計算Cm與f (Matrix-OP = K* (J*G))倆值之差作為解密信息值、該計算實現是步驟(16), (2)設定G為基于生物特征點拓撲結構的矩陣向量,G包括子集Gl和G2
根據l和步驟(l),設定該非對稱加密模式中的G,為基于生物特征點拓撲結構矩陣向量;設定G可以是基于指紋特征點拓撲結構的矩陣向量,也可以是基于人臉面相特征點拓撲結構的矩陣向量;G的子集Gl和G2可以分別是該指紋特征點拓撲結構的端點和叉點矩陣向量,也可以分別是該人臉面相眼部和嘴部特征點拓撲結構的矩陣向量;設定G的元素集合可以是設定直角坐標系下基于該生物特征點坐標參數(xGn' yGn)的集合,即G =KxGpyG》(xG2,yG2)." (xG(n—d, yG(n—J (xGn, yGn)},或G = {(xGn, yGn) |n = 1,2,3, ...,n-l,nh其中n是G的元素數; 設定G包括子集G1和G2、即G = {G1,G2,…h(huán)其中
①、Gl是(xGlm, yGlm)的集合、即 Gl = KxGl" yGl》(xGl2, yGl2)…(xGl(邁—0 , yGl(邁—J (xGl邁,yGlm)}或
Gl = KxGl邁,yGl邁)|m = 1,2,3,, m_l, m},其中m是Gl的元素數,
②、G2是(xG2/ , yG2m')的集合、即 G2 = KxG2" yG2》(xG22, yG22)…(xG2(邁'—0 , yG2(邁,—J (xG2邁',yG2邁')}或
G2={(xG2m' , yG2邁')|m' =1,2,3,…,m' _1, m' h其中m'是G2的元素數, 上述Gl和G2的元素數之和應小于等于G的元素數,即m+m'《n ;
設定Gl和G2的指定生物特征點坐標參數為該矩陣向量的起始運算基準,設定該運算基準所包括運算基準點為P和運算基準方向點為D,設定Gl[l]和G2[1]是G1和G2具有指定運算基準PD的起始運算矩陣向量; (3)設定BioTPM[N+l] = f (BioTPM[N] , Move[N] , Round[N] , MRN咖ber[N])
根據1和步驟(1)及(2),設定BioTPM[N]為起始運算矩陣向量、N為大于零的整數(其中N = 1、2、…、N) 、PD為運算基準、MRNumber[N]為基本運算次數、Move[N]為位移步長、Roimd[N]為旋轉步長;設定該矩陣向量的基本運算是設定MRNumber[N]等于1且把BioTPM[N]按PD的Move[N]和Round[N]數值各進行一次位移、旋轉的運算;設定該矩陣向量的某一輪運算為第N輪運算,設定該矩陣向量的第N輪運算是設定MRNumber[N]大于1且把BioTPM[N]按PD的Move[N]和Round [N]數值進行位移、旋轉的MRNumber[N]次基本運算;設該第N輪輪運算結果值為BioTPM[N+l]、且該BioTPM[N+l]由該第N輪的MRNumber[N]次基本運算結果賦值獲取,則可把該第N輪運算用函數表達式表示,即
BioTPM[N+l] = f (BioTPM[N] , Move[N] , Round[N] , MRNumber [N]),
其中MRNumber[N] > 1 ;當MRNumber[N] = 1則該式即為該矩陣向量的基本運算函數表達式; 其中該運算的Move[N]、 Round[N]、 MRNumber[N]設定實現是步驟(10)、 (11)、(13); (4)設定G及子集Gl和G2的第N輪運算 根據1和步驟(1) 、 (2)及(3),設該G = G[l]及Gl = Gl [1]和G2 = G2 [1],設定G1或G2的第N輪運算是把N等于1代入N,把G1[1]或G2[1]分別代入BioTPM[N] 、Gl [2]或G2[2]代入BioTPM[N+l],連同把Move[N]、Round[N]、MRNumber[N]代入BioTPM[N+l]=f (BioTPM[N] , Move[N] , Round [N] , MRNumber[N])進行該第1輪運算,經該第1輪運算分別可得的G1[2]和G2[2]的值;根據G二 {Gl, G2,}、及G = G[l],可得G[2] = {G1 [2],G2[2],};同理由G[N] = (G1[N], G2[N],"]及N二1、2、3、、 N,分別把Gl [N]或G2[N]代入BioTPM[N]、Gl[N+l]或G2[N+1]代入BioTPM[N+l],連同把Move [N] 、Round[N]、MRN咖ber[N]代入BioTPM[N+l] = f(BioTPM[N], Move[N], Round[N], MRNumber[N]),進行該第N輪運算,把經該輪運算的相關結果分別賦值給Gl [N+l]或G2 [N+l],從而由獲取子集G1[N]和G2[N]的值獲得該G[N+1 = {G1 [N+l] , G2 [N+l] ,};
該設定的計算實現是步驟(13); (5)設定BioTPM[K+l] = fK(BioTPM[K] , Move[K], Round[K], MRN咖ber[K])=K*BioTPM[K]根據l和步驟(1)、 (2)、 (3)及(4),設定該矩陣向量的若干輪運算為K輪次運
算,設定起始運算矩陣向量是BioTPM[l],根據步驟(3)對BioTPM[l]進行第l輪運算,該
矩陣向量的第1輪運算結果值為BioTPM[2],同理經過第K輪運算該矩陣向量第K輪運算
結果值為BioTPM[K+l];由此定義該矩陣向量的K輪次運算是根據步驟(3)把BioTPM[l]
進行由第1輪運算連續(xù)到第K輪運算;經過K輪次運算該矩陣向量的K輪次運算結果值為
BioTPM[K+l];把該K輪次運算用函數表達式表示,即BioTPM[K+l] = fK(BioTPM[l] , Move[l] , Round[l] , MRNumber[l]),其中該運算的Move[N] 、 Round[N] 、 MRNumber [N]設定是步驟(10) 、 (11) 、 (13); 定義fK(BioTPM[l] ,Move[l] , Round [1] , MRNumber [l])可表示為K*BioTPM[l],其
中*是步驟(1)所定義;即BioTPM[K+l] = K*BioTPM[l]; (6)設定G及子集Gl和G2的K輪次運算 根據1和步驟(1) 、 (2) 、 (3) 、 (4)及(5),設定G或Gl和G2的K輪次運算,包括分別把G1 = G1[1]和G2二G2[1]代入BioTPM[l]、Gl[K+l]或G2[K+1]代入BioTPM[K+l],由K =1、2、3、4、…、K,連同Move[K]、Round[N]、MRNumber[N]代入BioTPM[K+l] = fK(BioTPM[K],Move[K], Round[K], MRN咖ber[K]) = K*BioTPM[l],即經該K輪運算可得BioTPM[K+l]=K*BioTPM[l],也即分別得G1[K+1] =K*G1[1]或G2[K+1] = K*G2 [1],從而得G[K+1]={G1[K+1],G2[K+1], ...} = {K*G1[1],K*G2[1], ...} = K*G[1];因K*G = K*G[1] ,K*G1 =K*G1 [1] , K*G2 = K*G2 [1],故
K*G = {K*G1, K*G2, ...};
該設定的計算實現是步驟(13);
(7)設定W = K*G、 J*W、 J*G、 K* (J*G)的運算
,G2[1], ...} = {K*G1[1],K*G2[1], ...} = {W1,W2, ...} 其中設定Wl = Wl [1]和W2 = W2 [1], 又可得Wl = Wl [1] = K*G1 [1] = Gl [K+l] W2 = W2 [1] = K*G2 [1] = G2 [K+l], 從而可得W = K*G[1] = G[K+1];
② 、設定J*W = J*{(W1), (W2), ...} = {(J*W1), (J*W2), ...}: 其中根據①設定Wl = Wl [1]和W2 = W2 [1] 又可得:J*W1 = J*W1 [1] = Wl [J+l], J*W2 = J*W2[1] = W2[J+1];
③ 、設定J*G = J*G[1] = J*{G1,G2, ...} = {(J*G1), (J*G2), ".}、 其中根據步驟(2)設定Gl = Gl [1]和G2 = G2[l] 又可得:J*G1 = J*G1 [1] = Gl [J+l], J*G2 = J*G2[1] = G2[J+1];
④ 、設定K氺(,G) = K*{(J*G1), (J*G2),} = {(K*(J*G1)), (K*(J*G2)),}; 其中根據③設定J*G1 = J*G1[1]和J*G2 = J*G2[1] 又可得K氺(,Gl) =K*(J*G1[1]) =K*G1[J+1], K*(J*G2) =K*(J*G2[1]) =K*G2[J+1]; 該設定的計算實現是步驟(13);
(8)設定string (Matrix-Vector)禾口 matrix (Matrix-String) 根據1和步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6)及(7),設定string (Matrix-Vector) 包括把括弧內Matrix-Vector對象按string規(guī)則進行編碼,設定Matrix-Vector對象組成 包括該矩陣向量、還包括該運算基準,設定string編碼規(guī)則可以是按從左到右從上到下的 順序把Matrix-Vector進行編碼、且使之串接成為該集合元素的數字串,設定該數字可以 是十進制數也可以是二進制數,設定串接可以是按運算基準、矩陣向量的順序排列連接為 串;其中Matrix-Vector對象可以是G、 W、 J*G、 J*W、 K* (J*G),也可以是J*W1 、 J*W2,還可以 是K* (J*G1) 、K* (J*G2),艮卩string (Matrix-Vector)可以是string (Matrix-Vector = G或 W或J*G或J*W或K* (J*G)),也可以是string (Matrix-Vector = J*W1或J*W2或K* (J*G1) 或K* (J*G2)),連帶該運算基準PD ; 設定matrix (Matrix-String)包括把括弧內Matrix-String對象按matrix格 式進行還原,設定該Matrix-String對象組成包括該矩陣向量數字串、還包括該運算基 準數字串,設定matrix還原格式可以是按從左到右從上到下的順序把Matrix-String 進行還原,包括把運算基準數字串與矩陣向量數字串分開,包括把二者還原為特征 點坐標參數;其中Matrix-String對象可以是string (Matrix-Vector = G),也可 以是string (Matrix-Vector = W),還可以是string (Matrix-Vector = J*G),艮卩 matrix(Matrix-String) 可 以 是matrix(Matrix-String = string(Matrix-Vector =G)),也可以是matrix (Matrix-String = string (Matrix-Vector = W)),還可以是matrix (Matrix-String = string (Matrix-Vector = J*G)),連帶該運算基準PD ; 該設定的操作實現是步驟(15) 、 (16); (9)設定f (Matrix-OP = J*W)和f (Matrix-OP = K*(J*G)) 根據1和步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6) 、 (7)及(8),設定散列法是f (XORM),設定f (Matrix-OP = J*W)或f (Matrix-OP = K*(J*G))是該子集的f (XORM)運算,該運算包括把括弧內Matrix-OP = (J*W)或(K*(J*G))按f (XORM = (J*W1, J*W2,...))或f (XORM=(K*(J*G1), K*(J*G2),…)),即按設定f(XORM)進行各子集異或散列的運算,該運算值即該編碼值;設定該運算編碼實現包括 ①、設定f (Matrix-OP = J*W)的f (XORM)運算包括
f (Matrix-OP = J*W) = f (XORM = (J*W1, J*W2,...)) 可以設定異或散列法f (XORM = (J*W1, J*W2,…))是各子集按步驟(8)進行編
碼操作,然后進行各子集編碼的異或,異或散列的長度可以是最短子集編碼長度,即 /(XORM= (J*W1, J*W2,)) =/(string (Matrix-Vector==J*Wl)) @/ (string (Matrix-Vector==J*W2 ) ) 也可以設定異或散列法f (XORM = (J*W1, J*W2,…))是各子集各自元素縱橫坐標的異或,即 /(XORM= (J*W1, J*W2,…))=/(XORM=J*Wl)十/(XORM=J*W2) … 其中設定 a、f (XORM = J*W1) = f (XORM = Wl [J+l]),其中 / (XORM=Wl[J+l]) ={ xWl[J+lh十xWl[J+l]2a " xWl[J+l] (m.P xWl[J+l]m} { _yWl[J+l] l[J+l]2 …"W1[J+1] (m-i) "Wl[J+l]m} b、f (XORM = J*W2) = f (XORM = W2 [J+l]),其中 /(XORM=W2[J+l]) ={ ;cW2[J+l]! xW2[J+l]2xW2[J+l] (m.P @;cW2[J+l]m} {少W2[J+lh十少W2[J+1]2十 _yW2[J+l]_yW2[J+l]m } 其中 W1[J+1] = KxWl[J+lL,yWl[J+l]》(xWl[J+l]2,yWl[J+l]2) ... (xWl[J+l](m—",yWl[J+l](『d) (xWl[J+l]m,yWl[J+l]m)}, W2[J+1] = KxW2[J+lL, yW2[J+l]》(xW2[J+l]2, yW2[J+l]2) ... (xW2[J+l](邁'—d,yW2[J+l](邁,—丄))(xW2[J+l]m, ,yW2[J+l]m, )} ②、設定f (Matrix-OP = K* (J*G))的f (XORM)運算包括 f (Matrix_OP = K* (J*G)) = f (XORM = (K* (J*G 1) , K* (J*G2),...)) 可以設定異或散列法f (XORM = (K*(J*G1),K*(J*G2),...))是各子集按步驟(8)
進行編碼操作,然后進行各子集編碼的異或,異或散列的長度可以是最短子集編碼長度,
即 /(XORM= (K* (J*G1), K* (J*G2),))■=/(string (Matrix-Vector=K* (J*G1)) @/(string (Matrix-Vector=K* (J*G2)) 也可以設定異或散列法f(XORM = (K*(J*G1), K*(J*G2),…))是各子集各自元素縱橫坐標的異或,即 /(XORM= (K* G*G1), K* (J*G2),)) =/(XORM=K* (J*G1))
/(XORM=K* (J*G2))
其中設定a、f (XORM = K*(J*G1)) = f (XORM = K*G1 [J+l]),其中 / (XORM=K*Gl[J+l]) ={ ,Gl[J+lh0xK^Gl[J+l]2十… xK*Gl[J+l] xK*Gl[J+l]m} { yK*Gl[J+l] Gl[J+l]2 …"K*G1[J+1] (m-D yK*Gl[J+l]M }b、f (XORM = K*(J*G2)) = f (XORM = K*G2 [J+l]),其中
/XORM=K*G2[J+l])= { xK^G2[J+lh ;cK*G2[J+l]2 @. jcK*G2[J+l](m—" xK*G2[J+l]m}
{ ,G2[J+lh yK*G2[J+l]2 … yK*G2[J+l]"K*G2[J+l]m }
其中 K*G1[J+1] = KxK氺Gl[J+lL, yK氺Gl[J+l]》(xK*Gl[J+l]2, yK*Gl[J+l]2)
... (xK*G 1 [J+1 ] (m—d , yK*G 1 [J+1 ] (m—d) (xK*G 1 [J+1 ]m, yK*G 1 [J+1 ]m)},
K*G2[J+1] = KxK氺G2[J+lL, yK氺G2[J+l]》(xK*G2[J+l]2, yK*G2[J+l]2)
…(xK*G2[J+l](m'—d, yK*G2[J+l](m, —d) (xK*G2[J+l]m, , yK*G2[J+l]m, )},
該設定的計算實現是步驟(15) 、 (16); (10)設定Gl [N] 、 G2 [N]與Move [N] 、 Round [N] 、 MRNumber [N]映射相關 根據1和步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6) 、 (7) 、 (8)及(9),可以設定: ①、Move [N] = f (Matrix-OP = Gl [N]) ②、Round [N] = f (Matr ix_0P = G2 [N])③、MRNumber [N] = f (Matrix-OP = (Gl [N] , G2 [N])) 即設定該第N輪運算的基本運算次數(即MRNumber [N])、位移步長(即Move [N])、 旋轉步長(即Ro皿d[N])可以與步驟(4)所設G1[N]、 G2[N]映射相關,且該映射相關包括 可以設定Move[N]是G1[N]的函數、Round[N]是G2[N]的函數、MRNumber [N]是Gl [N]和 G2[N]的函數; 設定該實現是步驟(11) 、 (12); (11)設定f (Matrix-OP = (G1[N])或(G2[N])或(Gl [N] , G2[N])的f (XORM)運
算 根據1和步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6) 、 (7) 、 (8) 、 (9)及(10),設定散列法是 f (XORM),設定f (Matrix-OP = (Gl [N])或(G2 [N])或(Gl [N] , G2 [N]))是該子集的f (XORM) 運算,該運算包括把括弧內Matrix-OP = (G1[N])或(G2[N])或(Gl [N] , G2[N])對象按 f(X0RM= (J*W1),X0RM= (J*W2),...)或f(XORM二 (K*(J*G1)) ,XORM = (K*(J*G2)),…), 即按設定f (XORM)進行子集各自元素縱橫坐標異或散列的運算;設定該運算實現包括
①、設定f (Matrix-OP = G1[N])子集的f (XORM)運算可以是
f (Matrix-OP = Gl [N]) = f (XORM = Gl [N]) 其中/(XORM=Gl[N〗)={ xGl[Nh ;cGl[N]2 ... xGl[N](昏n @xGl[N]m} j^Jl[Nh一l[N]2①… (m-i) yGl[N]m} ②、設定f (Matrix-OP = G2[N])子集的f (XORM)運算可以是 f (Matrix-OP = G2 [N]) = f (XORM = G2 [N]) 其中/(XORM=G2[N]) ={ xG2[Nh xG2[N]2 $xG2[N] ( '." xG2[N]m-}
@{ j^2[Nh④yG2[N〗2a ><}2[N] (m ;<}2[N]m- }
③、設定f (Matrix-OP = (Gl [N] , G2 [N]))子集的f (XORM)運算可以是:
/(Matrix-OP= (G1[N], G2[N])) =/(/(XORM= Gl[N])) @/(/(XORM= G2[N]));
其中已知 a、Gl[N] = {(xGl [N] n yGl [N]》(xGl [N]2, yGl [N]2) ... (xG 1 [N] (m—d , yG 1 [N] (m—d) (xG 1 [N]m, yG 1 [N]m)}, b 、 G2 [N] = {(xG2 [N]: , yG2 [N]》(xG2 [N] 2 , yG2 [N] 2) ... (xG2[N](m, —d, yG2[N](邁,—d(xG2亂,,yG2[N]邁,)} (12)設定Move [N]、 Round [N]、 MRNumber [N]映射相關值的計算 根據1和步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6) 、 (7) 、 (8) 、 (9) 、 (10)及(11),計算
Move [N] 、 Round [N] 、 MRNumber [N]映射相關值,計算方法包括①、首先由Gl = Gl[l]和G2 = G2[l]計算f (Matrix-OP = Gl [1]) 、f (Matrix-OP
=G2[1]) 、 f (Matrix-OP = (Gl [1] , G2[1])),得 Move[l] = f(Matrix-OP = Gl[l])、Round [N] = f (Matrix_0P = G2 [ 1 ])、MRNumber [N] = f(Matrix—OP = (Gl [1] , G2 [1])), ②、將G1[1]和G2[1]分別代入BioTPM[l]、G1[2]和G2[2]分別代入BioTPM[2],連同Move[l] = f (Matrix-0P = Gl [l]) 、Round[N] = f (Matrix-0P = G2 [1]) 、MRN咖ber [N]=f (Matrix-0P = (Gl [1] , G2[1]))代入BioTPM[2] = f (BioTPM[l] , Move[l] , Round[l],MRNumber [1])經該第1輪運算,分別得Gl [2]和G2 [2]的值,由此獲得Move [2]=f(Matrix-OP = Gl[2])、Round[2] = f(Matrix-OP = G2[2])、MRNumber [2] = f(Matrix-OP=(G1[2],G2[2])); ③、由N = 2、3、4、 …N,將Gl [N]和G2[N]分別代入BioTPM[N] 、 Gl [N+l]和G2[N+1]分別代入BioTPM[N+l],連同Move[N] = f (Matrix-OP = Gl [N]) 、 Round [N]=f (Matrix-OP = G2[N])、MRNumber [N] = f (Matrix—OP = (Gl [N] , G2 [N]))代入BioTPM[N+l]=f(BioTPM[N], Move[N], Round[N], MRNumber[N])經該第N輪運算,分別得G1[N+1]和G2[N+1]的值,由此計算獲得Move[N+l] = f(Matrix-OP = G1[N+1])、 Round[N+l]=f (Matrix-OP = G2 [N+l]) 、 MRNumber [N+l] = f (Matrix-0P = (Gl [N+l] , G2 [N+l]));
該設定的計算實現是步驟(13); (13)計算設定K的G[K] = (G1[K],G2[K],}及其運算參數根據1和步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6) 、 (7) 、 (8) 、 (9) 、 (10) 、 (11)及(12),設
定隨機數為K,可計算G[K] = {G1[K],G2[K],…1及其運算參數,包括 ①、計算設定K = 1、2、3…K的G1[K]、 G2[K],包括計算設定f (Matrix-0P =
G1[K])、 f (Matrix-OP = G2 [K]) 、 f (Matrix—0P = (Gl [K] , G2 [K]))和Move [K] 、 Round [K]、MRNumber[K]; ②、計算設定K和J值相關Wl 、 Wl 、 Gl 、 G2的矩陣向量運算;
③、計算設定string (Matrix-Vector = G、W、 J*G);④、計算設定matrix (Matrix-String = string (Matrix-Vector = G、W、 J*G));
⑤、計算設定f (Matrix-0P = J*W) 、 f (Matrix-OP = K*(J*G))且前后二值相等;
(14)發(fā)布string (Matrix-Veetor = G)禾口 string (Matrix-Vector = W),隱藏私 鑰K 根據1和步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6) 、 (7) 、 (8) 、 (9) 、 (10) 、 (11) 、 (12)及
(13) ,發(fā)布string (G)和string (W),設定解密私鑰是K,隱藏K ; (15)加密計算及發(fā)送加密信息C = {string (Matrix-Vector = J*G) , Cm},隱藏 私鑰J 根據1和步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6) 、 (7) 、 (8) 、 (9) 、 (10) 、 (11) 、 (12) 、 (13) 及(14),設定待加密值M(即明文編碼),加密模式C = {string(Matrix-Vector = J*G), Cm = [f (Matrix-OP = J*W) +M]},設定加密私鑰J,隱藏J,向解密方發(fā)送的加密信息是C = {string(J*G), Cm}; (16)解密計算及解密Em = Cm_f (Matrix-OP = K* (J*G))獲M 根據1和步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6) 、 (7) 、 (8) 、 (9) 、 (10) 、 (11) 、 (12) 、 (13)、
(14) 及(15),設定解密模式E = {matrix (Matrix-String = string (Matrix-Vector = J*G)) , Em = Cm-f (Matrix-OP = K* (J*G))},計算Em得明文編碼M,即 Em = Cm_f(Matrix_0P = K*(J*G)) = [f(Matrix_0P = J*W)+M]_f(Matrix_0P = K*(J*G)) = [f (Matrix-OP = J* (K*G)) +M] -f (Matrix-OP = K* (J*G)) = M,且該值等于該待 加密值。 因步驟(14)所設定的公鑰是string (Matrix-Vector = G)和 string(Matrix-Vector = W),且string(Matrix-Vector = G)禾口 string(Matrix-Vector =W)需根據步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6) 、 (7) 、 (8) 、 (9) 、 (10) 、 (11) 、 (12) 、 (13)由 BioTPM[N+l] = f (BioTPM[N] , Move[N] , Round [N] , MRN咖ber[N])經K輪計算獲得W = K*G、最后由string (Matrix-Vector)經數字串編碼得至U string (Matrix-Vector = G) 和string (Matrix-Vector = W)而獲取,故只要隱藏K就不能由G獲得W,從而不能獲得 string (Matrix—Vector = G)禾口 string (Matrix—Vector = W)。另夕卜由所設定的力口密模式C ={string(Matrix-Vector = J*G) ,Cm = [f (Matrix-OP = J*W)+m]}和所設定的解密模式 E = {matrix (string (Matrix-Vector = J*G)) = J*G, Em = Cm_f (Matrix_0P = K* (J*G))}, 只要隱藏J就難以由G和W計算得J*G、 J*W,從而難以獲取string (Matrix-Vector = J*G)和f (Matrix-OP = J*W),且不知K就難以由J*G計算得K* (J*G),從而難以獲取 f (Matrix-OP = K*(J*G)),另外由于異或散列法運算的性質,僅從f (Matrix-OP = J*W)、 f (Matrix-OP = K*(J*G))難以分析剖獲J*W、 K*(J*G),進而難以由Cm計算出Em。同時, 盡管string (Matrix-Vector = G) 、 string (Matrix-Vector = W) 、 string (Matrix-Vector =J*G)和f (Matrix-OP = J*W) 、 f (Matrix-OP = K*(J*G))各不相同,但該W、 J*G、 J*W、 K*(J*G)矩陣向量所包含生物特征點的拓撲結構與G卻相同,由此使該發(fā)布公鑰既包含表 征發(fā)布人生物特征點拓撲結構信息、以此可認證該發(fā)布人的生物特征,又可憑借發(fā)布公鑰 和隱藏私鑰依此公開地構建安全通信通道,有利于構筑基于發(fā)布人公鑰可信認證的安全通 信通道。值得指出的是步驟(1) 、 (2) 、 (3) 、 (5)為實現步驟(4) 、 (6) 、 (7) 、 (8) 、 (9) 、 (10)、 (11)、 (12)、 (13)、 (14)、 (15)、 (16)的必須步驟,步驟(14)是實現步驟(15)、 (16)的必須步驟,從而完全實現本發(fā)明一種基于生物特征點拓撲結構的非對稱加(解)密方法所要達到的目的。 本發(fā)明可以用于電子證書的公鑰設置,該證書可以是網絡電子證書,也可以是基于生物特征的電子護照、電子身份證。該證書認證中心可以采用已有證書認證技術結合使用基于本發(fā)明的技術,對該證書進行密碼學認證和基于生物特征識別的身份認證,從而可以形成基于本發(fā)明為核心技術的可信PKI技術基礎。
本發(fā)明有五附圖,
如下 圖1是本發(fā)明運算處理流程示意框圖。 圖2是本發(fā)明矩陣向量基本運算圖。 圖3是本發(fā)明矩陣向量第N輪運算流程圖, 圖4是本發(fā)明矩陣向量K輪運算流程圖。 圖5是本發(fā)明矩陣向量運算流程圖。
具體實施例方式實施例 本發(fā)明實施例如圖1所示。為了更充分地公開本發(fā)明內容,以下結合附圖流程序號說明通過實施例進一步說明本發(fā)明。其中 (1)設定基于生物特征點拓撲結構的非對稱加(解)密模式 本發(fā)明實施例根據1和步驟(1),設定加密模式是C = {string (Matrix-Vector = J*G) , Cm = [f (Matrix_0P = J*W)+M]}, 設定解密模式是 E = {matrix(Matrix-String = string(Matrix-Vector = J*G)), Em =Cm-f(Matrix-OP = K*(J*G))}, (2)設定G為基于生物特征點拓撲結構的矩陣向量,G包括子集Gl和G2 本發(fā)明實施例根據1和步驟(1)及(2),設定G是基于指紋特征點拓撲結構的矩陣
向量,G的子集Gl和G2分別是該指紋特征點拓撲結構的端點和叉點矩陣向量; 設定該元素集合是直角坐標系下基于該生物特征點坐標參數的集合,設定G =
{Gl, G2}為了方便僅使用括號分隔元素且省略各元素之間逗號不寫,即G = {(Gl) (G2)};
為了更具體說明本發(fā)明實施例,本發(fā)明者使用已有的指紋模式識別技術,通過采集一真實
的指紋圖像并作相關處理,且把獲取該真實的指紋特征端點和叉點集合賦值給以下G的子
集G1和G2,艮卩 Gl = {(39,39)(195,67)(95,100)(127,117) (108,126) (153,132) (57,208) (158,219) (70,224) (184,225)(65,235)(57,246)(115,253)(194,254)(44,272)(180,287) (65,292) (190,314)}, G2 = {(58,43)(178,80)(113,113)(171,129)(151,162)(200,166)(162,272)},
其中Gl的元素數m = 18, G2的元素數m' = 7, G的元素數是n = m+m' =25;
指定點(xGl5, yGl5)為Gl的運算基準點、該點指向點(xGl6, yGl6)為Gl運算基準方向點,指定點(xG25, yG25)為G2的運算基準點、該點指向點(xG26, yG26)為G2運算基準 方向,設定Gl[l]和G2[1]為G1和G2具有指定運算基準的起始運算矩陣向量;
(3)設定BioTPM[N+l] = f (BioTPM[N] , Move[N] , Round[N] , MRN咖ber[N])
本發(fā)明實施例根據1和步驟(1) 、 (2)及(3)設定BioTPM[N+l] = f (BioTPM[N], Move[N] , Round [N] , MRN咖ber[N])是步驟(3);
(4)設定G或Gl和G2的第N輪運算 本發(fā)明實施例根據1和步驟(1) 、 (2) 、 (3)及(4),設定G或Gl和G2的第N輪運
算是步驟(4); (5)設定BioTPM[K+l] = fK(BioTPM[K] , Move[K], Round[K], MRN咖ber[K])= K*BioTPM[K] 本發(fā)明實施例根據l和步驟(1)、 (2)、 (3)、 (4)及(5),設定BioTPM[K+l]= fK(BioTPM[l],Move[l],Round[l],MRNumber[l]) = K*BioTPM[l]是步驟(5);
(6)設定W及G或Gl禾P G2的K輪次運算 本發(fā)明實施例根據1和步驟(1) 、 (2) 、 (3) 、 (4) 、 (5)及(6)設定W及G或Gl和G2
的K輪次運算是步驟(6); (7)設定W = K*G、 J*W、 J*G、 K* (J*G)的運算 本發(fā)明實施例根據1和步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6)及(7),設定W = K*G、 J*W、J*G、K*(J*G)的運算是步驟(7); (8)設定string (Matrix-Vector)禾口 matrix (Matrix-String)
本發(fā)明實施例根據1和步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6) 、 (7)及(8),設 定string (Matrix—Vector)禾口 matrix (Matrix—String)是步驟(8);例如可設定把 Matrix-Vector對象G = {Gl, G2}串接編碼為數字串的格式是PDC1—C2+m m' +6162,其中 PDei—e2表示該集合的運算基準位置序號,如PDei—e2 = 5、5、6、6即Gl和G2運算基準點P和運 算基準方向點D為該矩陣向量元素集合的第5個和第6個元素,其中m m表示集合數字串 長度,如m m' = 18、7即G1和G2集合數字串長度分別是18和7個元素數,其中G1G2是 該矩陣向量元素集合;又如可設定把該Matrix-String數字串反串接編碼為矩陣向量對象 的格式是G1G2+PD^e2+m m',其中G1G2是該矩陣向量元素集合,其中Dei—e2是集合運算基準 位置序號,如PDei—e2 = 5、5、6、6即為Gl和G2運算基準點和運算基準方向點在該矩陣向量 中都是該集合的第5個和第6個元素,其中m m'是集合數字串長度,如m m' = 18、7即為 Gl和G2集合數字串長度是18和7個元素數; (9)設定f (Matrix-OP = J*W)和f (Matrix-OP = K*(J*G))本發(fā)明實施例根據1和步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6) 、 (7) 、 (8)及(9),設定
f (Matrix-OP = (J*W)或(K*(J*G)))的f(X0RM)運算是步驟(9),其中:
/ (Matrix-OP=J*W) =/(XORM= (J*W1, J*W2)) =/(XORM=J*Wl) /(XORM=J*W2)
=/(XORM=Wl[J+l]) /(XORM=W2[J+l) / (Matrix-OP=K* (J*G)) =/(XORM= (K* (J*G1), K* (J*G2)))
=/(XORM=K* (J*G1)) /(XORM= K* (J*G2))
=/(XORM=K*Gl[J+l]) e/(XORM=K*G2[J+l]);
(10)設定Gl [N] 、 G2 [N]與Move [N] 、 Round [N] 、 MRNumber [N]映射相關 本發(fā)明實施例根據1和步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6) 、 (7) 、 (8) 、 (9)及(10),
設定Gl [N] 、 G2 [N]與Move [N] 、 Round [N] 、 MRNumber [N]映射相關是步驟(10); (11)設定f (Matrix-OP = (G1[N])或(G2[N])或(Gl [N] , G2[N])的f (X0RM)運
算 本發(fā)明實施例根據1和步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6) 、 (7) 、 (8) 、 (9) 、 (10)及(11),設定f (Matrix-0P = (G1[N])或(G2[N])或(Gl [N] , G2[N])的f (XORM)運算是步驟(ll),其中為了方便設定f (Matrix-OP = G1[N])可表示為f (G1[N])、 f (Matrix-OP =G2 [N])可表示為f (G2 [N]) 、 f (Matrix-OP = (Gl [N] , G2 [N]))可表示為f (Gl [N] , G2 [N]);
(12)設定Move [N] 、 Round [N] 、 MRNumber [N]映射相關值的計算
本發(fā)明實施例根據1和步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6) 、 (7) 、 (8) 、 (9) 、 (10)、(11)及(12),設定Move[N] 、Round[N] 、MRNumber[N]映射相關值的計算是步驟(12),其中計算該映射相關值為Move[N] = f(Gl[N]) 、 Round [N] = f (G2 [N]) 、 MRNumber [N] =f(Gl[N],G2 [N]),設定Move [N]) 、Round[N] 、MRNumber [N]取值范圍是大于或等于3的個位數,且當小于3時取值為3 ; (13)計算設定K的G[K] = {Gl [K] , G2 [K] ,}及其運算參數
本發(fā)明實施例根據1和步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6) 、 (7) 、 (8) 、 (9) 、 (10)、(11)、(12)及(13),設定隨機數為K和G[1] = (Gl[l],G2[l]h已編程實現包括計算設定K = 1 、2、3…K的Gl [K] 、 G2 [K],計算設定f (Gl [K]) 、 f (G2 [K]) 、 f (Gl [K] , G2 [K]),計算設定Move[K] 、Round[K] 、MRNumber [K],計算設定W1、W1、G1、G2,計算設定string (Matrix-Vector=G、 W、 J*G、 J稀),計算設定matrix (Matrix-String = string (Matrix-Vector = G、 W、J*G)),計算設定f (Matrix-OP = J*W) 、 f (Matrix-OP = K* (J*G));
①、計算設定K二 1、2、3…K的G1[K]、G2[K] 由于計算設定G1[K]、G2[K],需要K二 1、2、3…K的每一輪次同時計算f (Gl [K])、f (G2 [K]) 、 f (G1 [K] , G2 [K])及Mo ve [K] 、 Round [K] 、 MRNumber [K],另外為了方便說明和限于篇幅,本發(fā)明實施例設定K = 38,相關計算結果一并示列如下
Initial Data
m = 18 Gl[l] :(39,39) (195,67) (95,100)(127,117)(108,126)(153,132) (57,208) (158,219)(70,224)(184,225) (65, 235) (57, 246) (115, 253) (194, 254) (44, 272) (180, 287) (65, 292)
(190,314) m' = 7G2[l] :(58,43)(178,80)(113,113)(171,129) (151,162) (200,166) (162,272)
K=l f(Gl[l])=76 f(G2[l])= 304 f (Gl [1] , G2 [1]) = 380
Move[l]=6Round [1] = 4 MRNumber [ 1] = 3 m = 18 Gl[2] : (298,91)(196,208) (217,109)(186,128) (188,107) (161,139) (144,23)(85,103)(125,26)(67,122)
(117, 16) (112,3) (77,50) (37, 117) (96, —21) (16,89) (67, —13) (—13,84) m' =7G2 [2] : (390, 109) (298, 193) (302, 122) (258, 163) (240, 130) (212, 167) (142, 85)
K = 2 f (G1[2]) =-495 f(G2[2])=47 f (Gl [2] , G2 [2]) =—450
Move[2]=3 Round [2] = 7 MRN咖ber[2] = 3
m = 18 Gl[3] : (18,116) (162,66) (98,140) (134,140)(121,155)(160,142) (117,249) (207,210)(136,255) (232, 203) (137, 269) (135, 282) (187, 260) (255, 222) (137, 312) (259,
257)(165,319) (280,276)
m' =7G2[3] :(33, 131) (154,105) (115,165) (174,150) (172,186) (213,169) (233,274)
K = 3 f(Gl[3])= 457 f(G2[3])= 302 f (Gl [3] , G2 [3]) = 231
Move[3]=7Round [3] = 3 MRN咖ber[3] = 3 m = 18 Gl[4] :(202,0) (251,142) (178,81) (178,117) (164,104) (175,140) (72,98) (110, 187)(66,117) (117,212) (52,118) (39,117) (61,168) (98,234) (8, 118) (63,238) (1,145) (44,259) m' =7G2[4] : (259, _9) (284, 112) (224,73) (239, 132) (205, 130) (221, 170) (118, 188)
K = 4 f(Gl[4])= 256 f(G2[4])=_88 f (Gl [4] , G2 [4]) =-344
Move[4]=6Round [4] = 3 MRN咖ber[4] = 3 m = 18 Gl [5] : (314, 180) (175, 228) (233, 156) (197, 156) (210, 143) (176, 152) (217, 54) (130,90) (198,46)(105,98) (197,33)(198,21) (148,42) (83,78) (197, -11) (79,43) (171, -19) (58,
25) m' =7 G2[5] :(406,219) (286,243) (323,183) (266,198) (267,165) (228,179) (211,80) K = 5 f(Gl[5])= 493 f(G2[5])= 482 f (Gl [5] , G2 [5]) = 15
Move[5]=3Round [5] = 3 MRN咖ber[5] = 5 m = 18 Gl[6] : (49,201) (144,94) (132,182) (163,164) (157,180) (181,154) (191,259) (246,187) (213,257) (265, 167) (220, 267) (224, 278) (257, 235) (295, 174) (242, 305) (315,
202)(267,301) (342,207)
m' =7 G2[6] :(62, 235) (154,157) (152,224) (194,183) (209,211) (233,180) (296,256)
K = 6 f(Gl[6])=65 f(G2[6])=168 f (Gl [6] , G2 [6]) = 233
Move[6]=5 Round [6] = 8 MRN咖ber[6] = 3 m = 18 Gl [7] : (281, 249) (143, 220) (222, 186) (191, 170) (208, 167) (176, 159) (260, 101)(171,88) (247,81) (146, 82) (253, 71) (260, 62) (206, 55) (137, 52) (275, 33) (150, 21) (259,
13) (142, -5) m' =7 G2[7] :(364,309)(251,268)(310,236)(253,221) (270,193) (233,189) (266,99) K = 7 f (G1[7]) =-416 f (G2 [7]) = 166 f (Gl [7] , G2 [7]) =-314
Move[7]=3 Round [7] = 6 MRN咖ber[7] = 3 m = 18 Gl[8] : (71,75)(207,105) (131,138)(161,155) (145,156) (176,163)(92,221)(179,233) (105,240) (204, 239)(100, 250)(92, 259)(145, 266)(213, 269)(78, 288) (200, 300)
(93,309) (209,325) m' =7 G2[8] : (105,74) (217,115) (158,147) (215,161) (199,189) (235,191) (201,280) K = 8 f(Gl[8])= 274 f(G2[8])= 269 f (Gl [8] , G2 [8]) = 31
Move[8]=4Round [8] = 9 MRN咖ber[8] = 3 m = 18 Gl [9] : (93, 273) (120, 140) (156, 213) (173, 183) (174, 199) (178, 169) (236, 249)(245,165)(255,236) (251,140) (265,241) (274,249) (281,196) (281,131) (303,263) (312,
144)(324,248) (337,135) m' =7 G2[9] :(127,323)(168,211)(200,270)(214,213)(241,228)(241,194) (330,224) K=9 f(Gl[9])=6 f(G2[9])= 270 f (Gl [9] , G2 [9]) = 264
Move[9]=6 Round [9] = 3 MRN咖ber[9] = 4 m = 18 Gl [10] : (137, 50) (237, 139) (158, 134) (176, 164) (162, 157) (184, 174) (88, 182)(155,232)(89,205) (174,249)(81,212)(68,216)(111,248) (167,279) (43,234) (140,300)
(44,258) (135,326)
m' =7G2 [10] : (190, 42) (265, 134) (202, 132) (243, 173) (217, 187) (246, 202) (176, 264)
K = 10 f(Gl[10])=22 f (G2 [10]) = 237 f (Gl [10] , G2 [10]) = 251
Move[10]=3 Round [10] = 7 MRN咖ber[lO] = 3 m = 18Gl[ll] : (163,305) (123,181) (186,223) (186,188) (194,201) (185,177) (269,216)(236,142) (280,197) (229,118)(290,194)(303,198)(282,150)(250,97)(334,195) (284,92)
(345,174) (301,72)
m' = 7 G2[ll] :(217,369) (198,251) (250,285) (237,229) (264,230) (248,205) (337, 186) K=ll f (Gl[ll]) = 132 f(G2[ll])=74 f (Gl [11] , G2[ll]) = 206
Move[ll]=3Round[ll] = 4 MRN咖ber[ll] = 6 m = 18 Gl [12] : (307, 143) (221, 232) (225, 163) (195, 179) (203, 166) (189, 183) (181, 96) (136,159) (160,97) (120, 176) (154,87) (150,76) (119, 117) (91, 168) (133,50) (68, 142)
(108,49)(44,137)
m' =7 G2[12] : (406,158)(313,230) (318,170) (276,208) (265,188) (253,210) (194, 146)K = 12 f (G1[12]) = 372 f (G2[12]) = 333 f (Gl [12] , G2[12]) = 57
Move[12]=3 Round [12] = 3 MRNumber[12] = 7 m = 18 Gl [13] : (73, 167) (189, 135) (154, 190) (188, 190) (175, 195) (194, 187) (156, 265) (222,234)(176,274) (245, 227) (175, 285) (174, 297) (218, 278) (266, 249) (175, 328) (273,
283)(194,341) (290,299)
m' = 7 G2[13] :(104,188) (219,172) (185,219) (243,210) (239,228) (257,214) (275, 299)K = 13 f (G1[13]) = 139 f (G2[13]) = 260 f (Gl [13] , G2[13]) = 399
Move[13]=9 Round [13] = 3 MRNumber [13] = 9 m = 18 Gl[14] : (217,319)(188, 208) (238, 238) (239, 206)(242, 217)(237, 204) (306, 240)(276,179) (316,220) (271,157)(325, 221)(337, 222)(318,182)(293,135) (369, 219) (325,
128) (383,204)(343,111)
m' =7 G2 [14] : (260, 380) (248, 265) (292, 298) (283, 241) (298, 246) (288, 231) (366, 216)K = 14 f (G1[14]) = 367 f (G2[14]) = 448 f (Gl [14] , G2 [14]) = 175
Move[14]=7 Round [14] = 8 MRNumber [ 14] = 5 m = 18
Gl [15] : (153, 293) (202, 193) (220, 244) (241, 223) (237, 230) (240, 221) (268,289) (283,225) (289,281) (293, 208) (294, 288) (303, 296) (312, 254) (324, 203) (328, 315) (353,
216)(349,313) (378,216)
m' =7 G2[15] :(173,344) (240,252) (250,302) (280,255) (287,267) (289,251) (355,289)K = 15 f (G1[15]) = 457 f (G2[15]) = 70 f (Gl [15] , G2[15]) = 399
Move [15] = 7 Round [15] = 3 MRN咖ber[15] = 9 m = 18 Gl[16] :(331,309) (239,260) (282,243) (267,227) (271,226) (265,227) (327,201) (268,189) (320,181) (252, 180) (327, 178) (333, 168) (295, 162) (245, 148) (353, 144) (260,
120)(350,122) (260,95)
m' =7 G2[16] :(402,386) (313,319) (360,308) (314,279) (324,275) (312,273) (346,215)K = 16 f (G1[16]) = 279 f (G2[16]) = 404 f (Gl [16] , G2 [16]) = 131
Move[16]=9 Round [16] = 4 MRN咖ber[16] = 3 m = 18 Gl [17] : (172, 259) (260, 207) (253, 249) (275, 244) (274, 248) (276, 242) (268,310) (305,264)(288,313) (320, 256) (286, 321) (292, 331) (315, 301) (351, 266) (302, 360) (368,
293)(322,369) (391,305)
m' =7 G2[17] :(191,301) (293,260) (279,304) (326,279) (325,290) (331,280) (364,338)K = 17 f (G1[17]) = 308 f (G2[17]) = 463 f (Gl [17] , G2[17]) = 251
Move[17]=8Round [17] = 3 MRN咖ber[17] = 3 m = 18 Gl [18] : (277, 132) (327, 219) (286, 213) (289, 233) (285, 233) (292, 233) (227,226)(272,262) (225,246) (280, 277)(215, 244)(205, 250)(235, 272)(270, 308) (177, 260) (243,
324) (168,279)(231,347)
m' =7 G2[18] :(312,150) (351,253) (310,239) (334,285) (324,284) (334,289) (277,322)K = 18 f (G1[18]) = 494 f (G2 [18]) = 486 f (Gl [18] , G2 [18]) = 8
Move[18]=4Round [18] = 6 MRN咖ber[18] = 8
m = 18 Gl[19] :(385,282) (291,277) (309,249) (297,243) (297,243) (295,245) (331, 198) (282,218)(316,187) (266, 218) (322, 178) (322, 168) (291, 183) (243, 192) (327, 137) (245,
163)(314,122)(231,141)
m' =7 G2 [19] : (470, 349) (363, 329) (396, 304) (345, 302) (350, 297) (343, 301) (343, 239)K = 19 f (G1[19]) = 422 f (G2[19]) = 471 f (Gl [19] , G2[19]) = 113
Move[19]=3Round [19] = 3 MRN咖ber[19] = 3 m = 18 Gl [20] : (265, 334) (271, 242) (296, 257) (300, 246) (300, 246) (299, 244) (345, 280)(326,233) (357,267) (326, 218)(365, 272)(376, 272)(360, 242)(352,195) (406, 277) (381,
197) (422,264)(403,183)
m' =7 G2[20] :(302,423) (322,316) (345,349) (346,298) (351,304) (347,298) (409, 298)K = 20 f (G1[20]) = 205 f(G2[20])=46 f (Gl [20] , G2 [20]) = 227
Move[20]=5Round [20] = 6 MRN咖ber[20] = 7 m = 18 Gl [21] : (217, 270) (298, 236) (297, 260) (307, 256) (307, 256) (307, 256) (302, 309)(326,271)(314,314) (338, 264)(314, 325)(321, 332)(338, 305)(372, 276) (331, 361) (386,
301) (351,368)(409,313)
m' = 7 G2[21] :(231,338) (334,305) (317,338) (357,316) (357,319) (357,316) (387, 367)K = 21 f (G1[21]) = 116 f (G2[21]) = 275 f (Gl [21] , G2[21]) = 359
Move[21]=6Round [21] = 5 MRN咖ber[21] = 9 m = 18 Gl[22] :(311,188) (340,264) (322,268) (324,271) (324,271) (324,271) (278, 269)(311,287) (273,280) (318, 299)(263, 279)(254, 285)(281, 301)(306, 332) (225, 295) (281,
348) (217,312)(272,369)
m' =7 G2[22] :(350,213) (380,314) (351,299) (372,336) (370,335) (372,336) (325, 359)K = 22 f (G1[22]) = 71 f (G2[22]) = 422 f (Gl [22] , G2 [22]) = 481
Move[22]一3 Round[22]一3Ml~Number[22]一3
m一18
G1[23](406,263)(332,290)(327,273)(326,274)(326,274)(326,274)(326,231)(310,264)(317,228)
(299,270)(317,216)(312,208)(297,234)(266,259)(30l,178)(250,234)(284,172)(229,225)
m’一7
G2[23](498,317)(397,347)(411,319)(376,337)(375,337)(376,337)(355,294)
K一23 f(G1[23])一354 f(G2[23])一222 f(G1[23],G2[23])一444
Move[23]一4Round[23]一3Ml~Number[23]一4
m一18
G1[24](308,346)(323,272)(335,272)(336,271)(336,271)(336,271)(372,292)(35l,266)(379,288)
(353,253)(390,294)(399,293)(384,269)(378,231)(43l,299)(407,229)(444,286)(426,216)
m’一7
G2[24](34l,450)(367,348)(38l,373)(383,337)(383,337)(383,337)(429,339)
K一24 f(G1[24])一195 f(G2[24])一124 f(G1[24],G2[24])一19l
Move[24]一5Round[24]一4Ml~Number[24]一3
m一18
G1[25](289,217)(343,266)(338,275)(339,276)(339,276)(339,276)(303,295)(336,290)(304,304)
(345,299)(293,310)(289,319)(317,317)(352,331)(268,343)(339,357)(272,361)(341,380)
m’一7
G2[25](307,256)(383,329)(355,328)(384,346)(384,346)(384,346)(360,384)
K一25 f(G1[25])一432 f(G2[25])一28 f(G1[25],G2[25])一428
Move[25]一3Round[25]一8Ml~Number[25]一8
m一18
G1[26](282,318)(34l,279)(345,282)(345,282)(345,282)(345,282)(357,316)(353,285)(364,318)
(364,280)(370,329)(376,333)(378,307)(396,278)(395,359)(420,297)(413,358)(443,298)
m’一7
G2[26](29l,410)(376,352)(369,375)(387,353)(387,353)(387,353)(418,379)'6T,) (98S'S測(98C (98S'S測(8丄C (08C : [OS] 23
丄=,
'08S) (,6S'0ZS) (8SS',8S) (89S'WS) (Z9S'9SS) (ZWS9S)
,,)卿宦 ,'6SS) ,'6SS) ,'6SS) (,'6SS) (TW09S) (Z6Z'80S): [OS]
8T = ra
S = [6幻j叫umNaW9 = [6幻punojj 丄=[6Z]3aow T9 = ([6幻K)'[6幻T3)J 98 = ([6幻K))J丄OT = ([6幻T3)J 62 = )!
'丄T,) (6WW,) (6WW,) (6WW,) (88S'T^) (98S'H,) (SWSOS): [6Z]Z3
丄=,
'卿(附宦)(082宦),'卿(O丄Z宦)(W丄丄S) U0S宦)
(68Z'69S) (W靴 (6TS',SS) (8,C): [6Z]T3
TH = ([8幻K)'[8幻T3)J 09 = ([8幻K))J T6T = ([8幻T3)J 82 = )!
'08S) (9丄C (9丄m,) (9丄m,) (9SS'6T,) (9丄S'6T,) (S8Z'柳)[8Z]Z3
丄=, (8W89Z) (S8Z'的Z '68Z) (SWT8Z) (TW8TS) (nS'0ZS) (682'80S) (T6Z'WS) (0WSW)
(66Z'9ZS) (STS7SS (W6SS) (09Z'88S): [82]
8T = ra
S ='[丄幻T3)J SW =([丄幻Z3)J (M =([丄幻T3)J丄Z = )!
',)(8W60,) (8W60,) (8W60,) (S丄S'98S) (W80,) (9WSTS):[丄Z]Z3
丄=,
(Z6S'80S) (SSS'9丄S) (9W9SS)
'8ZS) (W0SS) (W0SS) (W0SS) (W0SS) (0mSS) (T8Z'T6Z):[丄Z]T3
8T = ra
丄=[9幻j叫umNaW 9 = [9幻punojj6 = [9幻3aow 丄,=([9幻K)'[9幻T3)J 9ST = ([9幻K))J 6ZT=([9Z]T3)J 92 = )!
17酬
(98S
0SW)] 6酬
(孤 8酬 A酬
鵬 9酬
(962 S酬
s酬
, L酬 o酬
(962 (附
附o]
60W)] 80W)]412)
K一30 f(G1[30])一40 f(G2[30])一46 f(G1[30],G2[30])一6
Move[30]一3Round[30]一6Ml~Number[30]一6
m一18
G1[31](314,299)(364,327)(363,328)(363,328)(363,328)(363,328)(350,344)(362,329)(350,350)
(365,334)(342,364)(339,369)(360,355)(385,359)(325,394)(383,387)(337,41 1)(392,408)
m’一7
G2[31](340,341)(426,387)(412,384)(427,390)(427,390)(427,390)(422,412)
K一3l f(G1[31])一32 f(G2[31])一35 f(G1[31],G2[31])一3
Move[31]一3Round[31]一5 Ml~Number[31]一3
m一18
G1[32](42l,334)(365,333)(366,332)(366,332)(366,332)(366,332)(369,314)(366,330)(366,309)
(363,329)(366,294)(366,287)(356,310)(333,318)(366,260)(32l,293)(348,249)(302,280)
m’一7
G2[32](529,391)(43l,393)(444,390)(430,391)(430,391)(430,391)(424,373)
K一32 f(G1[32])一344 f(G2[32])一894 f(G1[32],G2[32])一550
Move[32]一4Round[32]一4Ml~Number[32]一3
m一18
G1[33](345,379)(372,331)(373,332)(373,332)(373,332)(373,332)(387,344)(374,333)(39l,345)
(376,332)(405,353)(41 l,355)(396,336)(40l,314)(434,369)(429,316)(453,359)(449,306)
m’一7
G2[33](386,476)(432,392)(429,404)(434,392)(434,392)(434,392)(45l,395)
K一33 f(G1[33])一11l f(G2[33])一45 f(G1[33],G2[33])一66
Move[33]一3Round[33]一5 Ml~Number[33]一6
m一18
G1[34](399,379)(374,336)(375,337)(375,337)(375,337)(375,337)(389,331)(377,336)(39l,327)
(375,334)(406,318)(41 l,316)(387,319)(373,304)(433,303)(387,281)(436,282)(389,259)
m’一7
G2[34](488,478)(440,397)(446,405)(440,397)(440,397)(440,397)(45l,388)
K一34 f(G1[34])一22 f(G2[34])一90 f(G1[34],G2[34])一76
Move[34]一3Round[34]一3 Ml~Number[34]一6
m一18
G1[35](358,298)(380,338)(380,338)(380,338)(380,338)(380,338)(368,344)(380,339)(366,347)
(380,339)(353,355)(347,358)(37 l,353)(382,368)(325,369)(368,390)(32l,390)(366,412)
m’一7
G2[35](396,323)(444,401)(438,395)(444,401)(444,401)(444,401)(433,407)
K一35 f(G1[35])一17l f(G2[35])一212 f(G1[35],G2[35])一127
Move[35]一3Round[35]一3 Ml~Number[35]一7
m一18
G1[36](388,380)(389,339)(389,339)(389,339)(389,339)(389,339)(398,339)(39l,339)(40l,340)
(39l,339)(417,339)(423,339)(40l,333)(402,315)(447,339)(423,303)(46l,325)(434,285)
m’一7
G2[36](455,490)(453,402)(455,408)(453,402)(453,402)(453,402)(46l,402)
K一36 f(G1[36])一6 f(G2[36])一45 f(G1[36],G2[36])一43
Move[36]一6 Round[36]一5 Ml~Number[36]一3
m一18
Gl[37](375,311)(394,344)(394,344)(394,344)(394,344)(394,344)(388,348)(392,346)(384,349)
(392,346)(37l,357)(366,361)(387,355)(393,370)(344,373)(383,392)(339,392)(382,413)
m’一7
G2[37](412,334)(458,407)(455,404)(458,407)(458,407)(458,407)(453,4l 1)
K一37 f(G1[37])一127 f(G2[37])一223 f(G1[37],G2[37])一160
Move[37]一7Round[37]一3Ml~Number[37]一3
m一18
G1[38](44l,335)(408,352)(408,352)(408,352)(408,352)(408,352)(405,347)(407,350)(404,346)
(407,350)(397,333)(394,328)(400,347)(385,352)(38 l,306)(363,343)(363,300)(342,342)'o丄,)(STKS丄,)(ST,'S丄,)(STKS丄,)(ZT,'9丄,)(STKS丄,)(0W9,S)} = ["so]
:哥葛翌資港①呈'[8s] ra = 躲'[T+r+a ra = ra恭r = = ,r図'藤留 [l剛
:KZW&S) (00S'S9S) (SWS9S) (90C (孤'S8S) UWOO,)(SW丄6S) (OSC (9W柳)(OSC (M 'SO,) (ZSS'80,) (ZSS'80,) (ZSS'80,) (ZSS'80,) (ZSS'80,) (SWT,,)} = [(uso] :哥葛翌資港①呈'[8S]= TAl*6T躲'[T+f+M]= =図、3 [60s0]
:{(862
'60,) (86Z'M)(862,) (6WS,S) (9mZS) = [80s0]
:哥葛翌資港①呈'
K) = 23*1"図'藤留 [a0s0]
:U6T'T8S)
(,招'66Z) (9W00S) (9招'00S) UW96Z) = [90s0]
:哥葛翌資港①呈'
=図、8 [s0s0]
:{,
'm) (TOS'm)(丄6Z'0SS) (跳'96S) (6WS9S) (6W0丄,M = ZAl [m)so]
:哥葛翌資港①呈'[6T] K) = K)*8T = ZAl躲'[T+M] K) = = ZAl図'藤留 [s0s0]
:Km 'T②依T (S9T
'S招)Un(Z6T(S8T 'T6Z) (89T(8丄T 'MS) (8TZ '99Z)(丄8T '9TS) (8TZ 'Z8Z) (86T(S招'S6Z) (S招'丄6Z) (S招'丄6Z) (6招'60S) UWT6Z) (Z8Z 'S8S)} = TAl [zoso] :哥葛翌資港①呈'[6T]T3 = T3*8T = TAl躲'[T+M]== TAl図、V [loso]
:哥葛翌資港呈但脂6T = f 、8T = )!凝 產H葛44豐^躲'畓薛葛翌暮^刦^胡KTT3關繼8S = M革説葛44①図。葛翌暮^刦^胡 (T3*f)*)T^l*I"、M*I"、K)*I"、T3*I"、K)*)! = = TAl關繼6T = f、8T = )!
革説葛44班每脂'葛翌暮^^^胡KTTfrTATM關繼扭6T = f、8T = )!革説葛44 [ooso]
葛翌暮^^^胡KrTfrTAPM關繼哥I"勝)!革説葛44、② [66w)]
(B
',0S) (6W00S) (6TK00S) (6TK00S) (TW丄6,) (6TK00S) (S9KTC): [6S]Z3 [86w)]
丄=, [,o] U9S'86,) (■,)(丄9S
'8丄,)W柳)(T9S'0種)(6W丄種)(SW附)(6SS'9W) [96w)]
(T9S,) (6SS'9&) (09S
8T = ra [柳o]
9 = [8S] J叫ran朋W S = [8S]P皿。a 8=[8S]9AOW [s6w)] 鵬=([8S]K)'[8S]T3)J 098 = ([8S]K))J 8T=([8S]T3)J = )! [,o]
'0丄,)(WS丄,)(WS丄,)(WS丄,)(W9丄,)(WS丄,)(0W鵬)[8S]Z3 [酬
丄=,
樂的說
D、因K*J*G1 = Gl [K+J+l],故18*19*G1=G1 [38],查①獲該運算值
K*J*G1 = {(441,335)(408,352)(408,352) (408,352) (408,352) (408,352) (405, 347) (407,350) (404,346) (407,350) (397,333) (394,328) (400,347) (385,352) (381,306) (363,343) (363,300)(342,342)}; 同理,因K*J*G2 = G2 [K+J+l],故18*19*G2 = G2 [38],查①獲該運算值:K*J*G2 = {(546,370)(473,415)(476,412) (473,415) (473,415) (473,415) (470,
410)};③、計算設定string (Matrix-Vector) 計算設定string (Matrix-Vector),包括按串序設定PD『(;^ 5、5、6、6和m m'= 18、7,及編碼Matrix-Vector = G、W、J*G,,: A、 string(Matrix-Vector = G) = {(5、5、6、6) (18、7)} {(39,39) (195,67) (95, 100) (127,117) (108,126) (153,132) (57, 208)(158, 219)(70, 224)(184, 225)(65, 235)(57, 246)(115,253)(194,254)(44,272)(180,287)(65,292)(190,314) (58,43) (178,80) (113, 113) (171,129) (151,162)(200,166)(162,272)} B、 string(Matrix-Vector = W) = {(5、5、6、6) (18、7)}}{(385,282) (291,277) (309,249) (297,243) (297,243)(295,245)(331,198)(282,218)(316,187)(266,218) (322, 178)(322,168)(291,183)(243,192)(327,137) (245,163) (314,122) (231,141) (470, 349) (363,329)(396,304)(345,302)(350,297)(343,301)(343,239)}C、 string(Matrix-Vector = J*G) = {(5、5、6、6) (18、7)}}{(265,334)(271,242) (296,257) (300,246) (300,246)(299,244)(345,280)(326,233)(357,267) (326,218) (365, 272)(376,272)(360,242)(352,195)(406,277)(381,197) (422,264) (403,183) (302,423) (322,316)(345,349)(346,298)(351,304)(347,298)(409,298)};
④、計算設定matrix (Matrix-String) 計算設定matrix (Matrix-String),包括按還原順序設定反編碼Matrix-String =string (Matrix-Vector = G、W、J*G、J*W)禾P PDG1—G2 二5、5、6、6及mm' =18、7,即
A、matrix(Matrix-String = string(Matrix-Vector = G))=
{(39, 39) (195, 67) (95, 100) (127, 117) (108, 126) (153, 132) (57, 208) (158, 219) (70,224) (184,225) (65,235) (57,246) (115,253) (194,254) (44,272) (180,287) (65,292) (190,314)(58,43)(178,80)(113,113)(171,129)(151,162)(200,166)(162,272)}和{(5、 5、6、6) (18、7)}} B、matrix(Matrix-String = string(Matrix-Vector = W))=
{(385,282) (291,277) (309,249) (297,243)(297,243)(295,245)(331,198)(282, 218)(316,187)(266,218)(322,178)(322,168)(291,183)(243,192) (327,137) (245,163) (314,122) (231,141) (470,349) (363,329) (396,304) (345,302) (350,297) (343,301) (343, 239)}禾P {(5、5、6、6)(18、7)}}C、matrix(Matrix-String = string(Matrix-Vector = J氺G))=
{(265,334) (271,242) (296,257) (300,246) (300,246) (299,244) (345,280) (326, 233)(357, 267)(326, 218)(365, 272)(376, 272)(360, 242)(352,195) (406, 277) (381,197) (422,264) (403,183) (302,423) (322,316)(345,349)(346,298)(351,304)(347,298)(409,298)}禾P {(5、5、6、6) (18、7川;⑤、計算設定f (Matrix-0P = J*W) 、 f (Matrix-0P = K* (J*G)) 計算設定f(Matrix-OP = J*W) 、 f(Matrix-OP = K*(J*G)), S卩計算設定
/( Matrix-OP=J*W ) =/( XORM=
(J*W1, J*W2)) =/(XORM=J*Wl) /(XORM=J*W2) =/(XORM=Wl[J+l) /(XORM=W2[J+lp
和
/( Matrix-OP=K* ( J*G ) ) =/( XORM= (K* (J*G 1) , K* (J*G2 )))=/( XORM= K* (J*G 1) ) /(XORM= K* (J*G2)) =/(XORM=K*Gl[J+l]) /(XORI^!OG2[J+1]);為方便說明,現假定加密方或解 密方知道1(= 18和J= 19,以此計算設定(實際使用時,根據步驟(1)加密方或解密方不 可能掌握對方的私鑰K或J,故該計算設定只能通過G猜K或J值,以此算獲W = K*G或J*G 值及對應的G[K+1]或G[J+1];但若K和J非常大則猜算J*G[K+1]或K氺G[J+1]就非常難 實現,故該計算設定是安全的),即 A、因J*W1 = J*K*G1 = Gl [K+J+l] , J*W2 = = J*K*G2 = G2 [K+J+l],故
/(XORM=J*Wl) @/(XORM=J*W2) =/(XORM= Gl [K+J+l]) /(XORM= G2 [K+J+l])
=/(XORM=Gl[38]) /(XORM=G2[38)=/(Gl[38]) /(G2[38]) =/(Gl[38], G2[38]) =846 即:f (Matrix-OP = J*W) = 846 ; B、因K*J*G1 = Gl [K+J+l] , K*J*G2 = G2 [K+J+l],故
/(XORM=K* (J*G1)) /(XORM=K* (J*G2)) =/(XORM= Gl [K+J+l]) /(XORM= G2[K+J+1])
=/(XORM=Gl[38]) /(XORM=G2[38)=/(Gl[38]) (G2[38]) =/(Gl[38], G2[38]) =846
即:f (Matrix-OP = K*(J*G)) = 846 ; (14)發(fā)布string (Matrix-Vector = G)禾口 string (Matrix-Vector = W),隱藏私 鑰K 本發(fā)明實施例根據1和步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6) 、 (7) 、 (8) 、 (9) 、 (10)、 (11) 、 (12) 、 (13)及(14),隱藏設定解密私鑰K = 18,發(fā)布: string(Matrix-Vector = G) = {(5、5、6、6) (18、7)}{(39,39) (195,67) (95,100) (127,117) (108,126) (153,132) (57, 208) (158, 219) (70, 224) (184, 225)(65, 235) (57, 246) (115,253) (194,254)(44,272)(180,287)(65,292)(190,314)(58,43) (178,80) (113,113) (171,129)(151,162)(200,166)(162, 272)}, string (Matrix-Vector = W) = {(5、5、6、6) (18、7)}} {(385,282) (291,277) (309, 249) (297, 243) (297, 243) (295, 245) (331,198) (282, 218) (316,187) (266, 218) (322,178) (322, 168) (291, 183) (243, 192) (327, 137) (245, 163) (314, 122) (231, 141) (470,349) (363, 329)(396,304)(345,302)(350,297)(343,301)(343,239)}; (15)加密計算及發(fā)送加密信息C = {string (Matrix-Vector = J*G) , Cm},隱藏 私鑰J 本發(fā)明實施例根據1和步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6) 、 (7) 、 (8) 、 (9) 、 (10)、(11) 、 (12) 、 (13) 、 (14)及(15),因C二 {string(Matrix-Vector = J*G),Cm = [f(Matrix—0P =J*W)+M]},且 ①、設定待加密值M二4,設定加密私鑰J二 19,隱藏J, ②、f (Matrix-0P = J*W) = 846, 則:Cm = f (Matrix-0P = J*W)+M = 846+4 = 850, 又因string(Matrix-Vector = J*G) = {(5、5、6、6) (18、7)}} {(265,334) (271, 242) (296,257) (300,246) (300,246) (299,244) (345,280) (326,233) (357,267) (326,218) (365,272) (376,272) (360,242)(352,195)(406,277)(381,197)(422,264)(403,183) (302, 423)(322, 316)(345, 349)(346, 298)(351, 304)(347, 298)(409, 298)},故
向解密方發(fā)送的加密信息C = {string (Matrix-Vector = J*G) , Cm}=
{{(xGl[20]5, yGl[20]5) (xGl[20]6, yGl[20]6) (xG2[20]5, yG2[20]5) (xG2[20]6, yG2[20]6) (m = 18, m' =7)} {(265,334) (271,242) (296,257) (300,246) (300,246) (299, 244) (345,280) (326,233) (357,267) (326,218) (365,272) (376,272) (360,242) (352,195) (406,277) (381,197) (422,264)(403,183)(302,423)(322,316)(345,349)(346,298) (351, 304) (347,298)(409,298)},850); (16)解密計算及解密Em = Cm_f (Matrix-OP = K* (J*G))獲M 本發(fā)明實施例根據1和步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6) 、 (7) 、 (8) 、 (9) 、 (10)、
(11)、 (13)、 (14)、 (15)及(16),因 E = {matrix(Matrix-String = string(Matrix-Vector = J*G)), Em = Cm-f(Matrix-OP = K*(J*G))},且①、matrix (Matrix-String = string (Matrix-Vector = J氺G))=
{(265,334) (271,242) (296,257) (300,246) (300,246) (299,244) (345,280) (326, 233) (357, 267) (326, 218) (365, 272) (376, 272) (360, 242)(352,195)(406, 277)(381,197) (422,264) (403,183) (302,423)(322,316)(345,349)(346,298)(351,304)(347,298)(409, 298)}禾P {(5、5、6、6)(18、7)}} ②、由①計算K* (J*G)得f (Matrix-OP = K* (J*G)) = 846 計算Em = Cm-f (Matrix-OP = K*(J*G)) = 850-846 = 4,即得明文M = 4,且該值
等于待加密值。
其中 本發(fā)明實施例根據1和步驟(1) 、 (2)及(3),該矩陣向量的運算基準和基本運算 如圖2所示。 圖2中該矩陣向量BioTPM[N]以P禾P D倆點為運算基準(運算基準點P和運算 基準方向點D構成PD運算基準),按位移步長Move[N]和旋轉步長Round [N]、且按作1次 (即MRNumber[N] = 1)位移和旋轉,該矩陣向量經基本運算其結果是BioTPM[N+l]。
本發(fā)明實施例根據l和步驟(1)、 (2)及(3),該矩陣向量的第N輪運算如圖3所 示。 圖3中輸入該矩陣向量BioTPM[N] (17)和基本運算次數MRNumber [N]、位移步 長Move[N]和旋轉步長Round[N] (18),按運算表達式f(BioTPM[N], Move[N], Round[N], MRNumber [N]) (19),作MRNumber [N]次循環(huán)基本運算(20),每作 一 次基本運算后作MRNumber[N]-l(21)操作, 一直檢查到MRNumber [N] = 0(22)完成循環(huán)基本運算,并輸出基 本運算結果BioTPM[N+l] (23)。 本發(fā)明實施例根據1和步驟(1) 、 (2) 、 (3) 、 (4)及(5),該矩陣向量的K輪運算如 圖4所示。 圖4中首先是通過(24) 、 (25) 、 (26) 、 (27) 、 (28) 、 (29)完成初始化,包括初始化 輸入該矩陣向量BioTPM[N]和基本運算次數MRNumber[N]、位移步長Move[N]和旋轉步長 Round [N],然后通過(30) 、(31) 、(32) 、(33)完成第N輪該矩陣向量運算,包括按運算表達式 f (BioTPM [N] , Move [N] , Round [N] , MRNumber [N]),作MRNumber [N]次循環(huán)基本運算,每作一 次基本運算后作MRNumber [N] -1操作, 一直檢查到MRNumber [N] = 0完成循環(huán)基本運算,并 輸出基本運算結果BioTPM[N+l],最后通過(34)、 (35)、 (36)完成K輪該矩陣向量運算,包 括把完成了第N輪運算的該矩陣向量作為新K輪運算的起始運算矩陣向量,從而進行新的 N = K = K+l輪矩陣向量運算,直到完成設定的K輪運算把運算結果輸入BioTPM[K+l],即 BioTPM[K+l] = BioTPM[N+l]。由此實現(38)K輪運算表達式BioTPM[K+l]=fK(BioTPM[K], Move[K] , Round[K] , MRN咖ber[K]) = K*BioTPM[l]。 本發(fā)明實施例根據1和步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6) 、 (7) 、 (8) 、 (9) 、 (10)、 (11)、(12)及(13),計算設定K的矩陣向量G[K] = (G1[K],G2[K], *"}及其運算參數,如 圖5所示。 圖5中通過(39)G[1] = (Gl[l], G2[l]'}初始化(40)G[K] = {G1 [K], G2[K],…h(huán)通過G[K]的子集(41)G1[K]和(42)G2[K]的進行(43)運算獲取Move[K]= f(Matrix-0P = Gl[K])、Round[K] = f(Matrix—0P = G2[K])、MRNumber[K] = f(Matrix—0P =(G1[K], G2[K])),以此進行一輪矩陣向量運算,包括按運算表達式f(BioTPM[N], Move [N] , Round [N] , MRNumber [N]),作MRNumber [N]次循環(huán)基本運算,每作一次基本運算后 作MRNumber [N] -1操作, 一直檢查到MRNumber [N] = 0完成循環(huán)基本運算,并輸出基本運算 結果BioTPM[N+l],進而把完成了第N輪運算的該矩陣向量作為新K輪運算的起始運算矩 陣向量,從而進行(44)新的K+1輪矩陣向量運算,直到完成(46)設定的K輪運算并把運算 結果輸入BioTPM[K+l],即通過BioTPM[K+l] = BioTPM[N+l]完成該K輪該矩陣向量運算 (45) BioTPM [K+l] = fK (BioTPM [K] , Move [K] , Round [K] , MRNumber [K]) = K*BioTPM[l],且 通過G1[K+1] =BioTPM[K+l]或G2[K+1] = BioTPM[K+l]獲取(47)G1[K+1]禾PG2[K+1]完 成(48)G[K+l] = {G1[K+1], G2[K+1], ...}。 需要指出的是本發(fā)明者特別采用指紋模式識別技術,對由G及W、 J*G、 J*W、 K*(J*G)模式識別認證該發(fā)布人的指紋生物特征進行了編程驗證,結果證明是切實可行的。
從而說明盡管string (Matrix-Vector = G) 、 string (Matrix-Vector = W)、 string (Matrix—Vector = J*G)禾口 f (Matrix_0P = J*W) 、f (Matrix_0P = K*(J*G))各不相 同,但該W、 J*G、 J*W、K* (J*G)矩陣向量所包含生物特征點的拓撲結構與G卻相同,由此使該 發(fā)布公鑰既包含表征發(fā)布人生物特征點拓撲結構信息、以此可認證該發(fā)布人的生物特征, 又可憑借發(fā)布公鑰和隱藏私鑰依此公開地構建安全通信通道,有利于構筑基于發(fā)布人公鑰 可信認證的安全通信通道。 從而完全實現本發(fā)明一種基于生物特征點拓撲結構的非對稱加(解)密方法所要 達到的目的。
權利要求
本發(fā)明方案的技術特征包括,設定基于生物特征點拓撲結構的非對稱加(解)密模式;設定該非對稱加(解)密模式中描述生物特征點拓撲結構的數據,為基于該生物特征點拓撲結構的矩陣向量;設定該矩陣向量的元素集合是設定坐標系下基于該生物特征點坐標參數的集合;設定該集合的指定生物特征點坐標參數為該矩陣向量的運算基準,該運算基準包括運算基準點和運算基準方向點,設定具有指定運算基準的矩陣向量為起始運算矩陣向量;設定矩陣向量的基本運算是把該矩陣向量作為該運算的起始運算矩陣向量,并對該矩陣向量按設定運算基準的設定位移、旋轉值進行位移、旋轉的運算;設定矩陣向量的某一輪運算是把該矩陣向量作為該輪運算的起始運算矩陣向量,并對該矩陣向量按該輪運算所設基本運算次數進行位移旋轉的該一輪所設次基本運算,其中該一輪所設次即該一輪所設基本運算次數,該一輪運算所設每次基本運算的位移、旋轉值是該一輪運算所設位移、旋轉步長;設定矩陣向量的若干輪運算是把該矩陣向量作為該若干輪運算的起始運算矩陣向量,并對該矩陣向量按所設若干輪、以及每輪所設基本運算次數、再及每次基本運算所設位移步長和旋轉步長進行位移旋轉的該若干輪所設輪次基本運算,其中該若干輪所設該若干次數值是該若干輪所設輪次;設定加密包括首先把解密方公開的起始運算矩陣向量和經其私設輪次運算過的起始運算矩陣向量作為加密方運算的起始運算矩陣向量,并對該倆矩陣向量按加密方私設輪次進行該輪次運算,然后把該后者運算結果編碼值和待加密值相加,計算該倆值之和作為加密信息值與前者一起發(fā)送給解密方;設定解密包括首先把加密方所公開且經其私設輪次運算的起始運算矩陣向量作為解密方運算的起始運算矩陣向量,并對該矩陣向量按解密方原私設輪次進行該輪次運算,然后把該運算編碼值減去加密方所發(fā)送來的加密信息值,計算該倆值之差作為解密信息值,且該值等于該待加密值。
2. 根據l,該特征還包括其實現的步驟(1)、 (2)、 (3)、 (4)、 (5)、 (6)、 (7)、 (8)、 (9)、 (10)、 (11)、 (12)、 (13)、 (14)、 (15)、 (16)。
3. 步驟(1)的特征在于根據l,設定該基于生物特征點拓撲結構的非對稱加密模式可 以是C = {string (Matrix-Vector = J*G) ,Cm = [f (Matrix-0P = J*W)+M]},解密模式可以 是E = {matrix (Matrix-String = string (Matrix-Vector = J*G)) ,Em = Cm_f (Matrix_0P =K*(J*G))};定義A是本發(fā)明矩陣向量運算符、G和W是解密方公開的起始運算矩陣向量、 J是加密方為設定矩陣向量運算輪次所設的私設輪次值(即加密私鑰)、K是解密方為設定 矩陣向量運算輪次所設的私設輪次值(即解密私鑰)、J*G、 J*W是使用J對G和W進行*運 算、W(,G)是使用K對(J*G)進行*運算、string (Matrix-Vector = J*G)是先使用J對 G進行*運算然后對包括運算基準的該,G進行數字串編碼的操作、matrix (Matrix-String =string (Matrix—Vector = J氺G))是還原string (Matrix—Vector = J氺G)為i亥失巨P車向量 的反操作、f (Matrix-OP = J*W)和f (Matrix-OP = K*(J*G))是對該矩陣向量進行相關*運 算及散列法運算編碼、M是待加密值、Cm是加密方計算f (Matrix-OP = J*W)與M倆值之和 作為加密信息值、Em是解密方計算Cm與f (Matrix-OP = K*(J*G))倆值之差作為解密信息 值。
4. 步驟(2)的特征在于根據l和步驟(l),設定該非對稱加密模式中的G,為基于生物 特征點拓撲結構矩陣向量;設定G可以是基于指紋特征點拓撲結構的矩陣向量,也可以是 基于人臉面相特征點拓撲結構的矩陣向量;G的子集Gl和G2可以分別是該指紋特征點拓 撲結構的端點和叉點矩陣向量,也可以分別是該人臉面相眼部和嘴部特征點拓撲結構的矩陣向量;設定G的元素集合可以是設定直角坐標系下基于該生物特征點坐標參數(xGn,yGn) 的集合,其中n是G的元素數;設定G包括子集Gl和G2,其中①Gl是(xGlm,yGlm)的集合、 該m是Gl的元素數,②G2是(XG2m' , yG2m')的集合、該m'是G2的元素數;設定Gl和 G2的指定生物特征點坐標參數為該矩陣向量的運算基準,設定該運算基準所包括運算基準 點為P和運算基準方向點為D,設定Gl [1]和G2 [1]是Gl和G2具有指定運算基準PD的起 始運算矩陣向量。
5. 步驟(3)和(4)的特征在于根據l和步驟(1)及(2),步驟(3)設定BioTPM[N]為起 始運算矩陣向量、N為大于零的整數(其中N二 1、2、…、N) 、PD為運算基準、MRNumber [N] 為基本運算次數、Move[N]為位移步長、Round[N]為旋轉步長;設定該矩陣向量的基本運算 是設定MRNumber[N]等于1且把BioTPM[N]按PD的Move[N]和Round[N]數值各進行一 次位移、旋轉的運算;設定該矩陣向量的某一輪運算為第N輪運算,設定該矩陣向量的第N 輪運算是設定MRNumber[N]大于1且把BioTPM[N]按PD的Move[N]和Round[N]數值進 行位移、旋轉的MRNumber [N]次基本運算;設該第N輪輪運算結果值為BioTPM[N+l]、且該 BioTPM[N+l]由該第N輪的MRNumber [N]次基本運算結果賦值獲取,則可把該第N輪運算 用函數表達式表示,艮卩:BioTPM[N+l] = f(BioTPM[N], Move[N], Round[N], MRNumber[N]), 其中MRNumber [N] > 1,當MRNumber [N] = 1則該式即為該矩陣向量的基本運算函數表 達式;步驟(4)設定G[N]及子集G1[N]和G2[N]的第N輪運算,還包括根據步驟(3)分 別把Gl [N]或G2[N]代入BioTPM[N] 、 Gl [N+l]或G2[N+1]代入BioTPM[N+l],連同把 Move[N] 、 Round[N] 、 MRNumber [N]代入BioTPM[N+l] = f (BioTPM[N] , Move[N] , Round[N], MRNumber[N]),進行該第N輪運算,把經該輪運算的相關結果分別賦值給G1[N+1]或 G2[N+1],從而由獲取子集G1[N]和G2[N]的值獲得該G[N+1]值。
6. 步驟(5)和(6)的特征在于,根據1和步驟(1)、 (2)、 (3)及(4),步驟(5)設定該 矩陣向量的若干輪運算為K輪次運算,設定起始運算矩陣向量是BioTPM[l],根據步驟(3) 對BioTPM[l]進行第l輪運算,該矩陣向量的第l輪運算結果值為BioTPM[2],同理經過 第K輪運算該矩陣向量第K輪運算結果值為BioTPM[K+l];由此定義該矩陣向量的K輪次 運算是根據步驟(3)把BioTPM[l]進行由第1輪運算連續(xù)到第K輪運算;經過K輪次運 算該矩陣向量的K輪次運算結果值為BioTPM[K+l];把該K輪次運算用函數表達式表示, 即:BioTPM[K+l] = fK(BioTPM[l],Move[l],Round[l],MRNumber[l]),定義fK(BioTPM[l], Move[l], Round[l], MRNumber[l])可表示為K*BioTPM[l],其中*是步驟(1)所定義; 即BioTPM[K+l] =K*BioTPM[l];步驟(6)還包括根據步驟(5),設定G或Gl或G2的K 輪次運算,包括分別把G1 = Gl[l]和G2 = G2[l]代入BioTPM[l]、 G1[K+1]或G2[K+1] 代入BioTPM[K+l],由K二 1、2、3、4、…、K,連同Move [K] 、 Round [N] 、 MRNumber [N]代入 BioTPM[K+l] = fK(BioTPM[K] , Move[K] , Round[K] , MRNumber[K]) = K*BioTPM[l],即經該 K輪運算可得BioTPM[K+l] = K氺BioTPM[l],也即分別得Gl[K+l] =K*G1[1]或G2[K+1]= K氺G2[1],從而得G[K+1] = {G1[K+1],G2[K+1], ...} = {K*G1 [1] , K*G2 [1] , ...} =K*G[1]。
7. 步驟(7)的特征在于,設定W二I^G、 J*W、J*G、K*(J*G)的運算,包括根據l和步驟 (1) 、 (2) 、 (3) 、 (4) 、 (5)及(6),①設定W = K*G、 Wl = K*G1、 W2 = K氺G2,可得W = K*G[1] =K*{G1[1], G2[l]' ...} = {K*G1[1], K*G2[1], ...} = {W1,W2,…1;②設定,W二 J*{(W1), (W2), ...} = {(J*W1), (J*W2), ...};③設定J*G = J*G[1] =J*{G1,G2, ...}=KJ*G1), (J*G2), ...};④設定K氺(,G) =K*{(J*G1), (J*G2) , ...} = {(K*(J*G1)), (K*(J*G2)),…)。
8. 步驟(8)和(9)的特征在于,根據1和步驟(1) 、 (2) 、 (3) 、 (4) 、 (5) 、 (6)及 (7),步驟(8)設定string (Matrix-Vector)禾口 matrix (Matrix-String),包括設定 string (Matrix-Vector)包括把括弧內Matrix-Vector對象按string規(guī)則進行編碼, 設定Matrix-Vector對象組成包括該矩陣向量、還包括該運算基準,設定string編碼規(guī) 則可以是按從左到右從上到下的順序把Matrix-Vector進行編碼、且使之串接成為該 集合元素的數字串,設定串接可以是按運算基準、矩陣向量的順序排列連接為串;設定 matrix (Matrix-String)包括把括弧內Matrix-String對象按matrix格式進行還原,設 定該Matrix-String對象組成包括該矩陣向量數字串、還包括該運算基準數字串,設定 matrix還原格式可以是按從左到右從上到下的順序把Matrix-String進行還原,包括把運 算基準數字串與矩陣向量數字串分開,包括把二者還原為特征點坐標參數;步驟(9)還包 括根據步驟(8)設定f (Matrix-OP = J*W)或f (Matrix-OP = K*(J*G))運算編碼,包括設 定散列法是f (XORM),且設定f (Matrix-OP = (J*W))或f (Matrix-OP = (K*(J*G)))是該子 集的f(X0RM)運算,該運算包括把括弧內Matrix-OP = (J*W)或(K*(J*G))按設定f(XORM) 進行各子集異或散列的運算,該運算值即該編碼值。
9. 步驟(10)、 (11)和(12)的特征在于,根據l和步驟(1)、 (2)、 (3)、 (4)、 (5)、 (6)、 (7) 、(8)及(9),步驟(10)設定該第N輪運算的基本運算次數(即MRNumber[N])、位移步長 (即Move[N])、旋轉步長(即Round[N])可以與步驟(4)所設Gl [N] 、G2[N]映射相關,且該 映射相關包括可以設定Move[N]是G1[N]的函數、Round[N]是G2[N]的函數、MRNumber[N] 是G1[N]和G2[N]的函數,即①Move[N] = f (Matrix-0P = G1[N]),②Round[N]= f (Matrix-0P = G2[N]),③MRNumber[N] = f (Matrix-0P = (Gl [N] ,G2[N]));步驟(11)設 定f (Matrix-0P = Gl [N])或f (Matrix-0P = G2 [N])或f (Matrix-0P = (Gl [N] , G2 [N])) 運算,還包括根據步驟(10),設定散列法是f(X0RM),且設定f(Matrix-0P = G1[N])或 f (Matrix-0P = G2[N])或f (Matrix-0P = (Gl [N] , G2[N]))是該子集的f (XORM)運算,該 運算包括把括弧內Matrix-OP = (G1[N])或(G2[N])或(Gl [N] , G2[N])按設定f(XORM) 進行子集各自元素縱橫坐標異或散列的運算;步驟(12)還包括根據步驟(10)和(ll),設 定Move[N] 、 Round[N] 、 MRNumber[N]映射相關值的計算,包括①首先由Gl = Gl [1]和G2 =G2[1]計算f(Matrix-OP = Gl[l])、 f(Matrix-0P = G2[1])、 f(Matrix-OP = (Gl[l], G2[1]));②將G1[1]和G2[1]分別代入BioTPM[l]、G1[2]和G2[2]分別代入BioTPM[2],連 同Move[l] = f (Matrix-0P = Gl[l])、 Round[N] = f (Matrix—0P = G2 [1]) 、 MRNumber [N] =f (Matrix-0P = (Gl[l], G2[1]))代入BioTPM[2] = f (BioTPM[l] , Move[1] , Round[l], MRNumber [1])經該第1輪運算,分別得Gl [2]和G2 [2]的值,由此獲得Move [2]= f(Matrix-OP = Gl[2])、Round[2] = f(Matrix-0P = G2[2])、MRNumber[2] = f(Matrix-OP =(G1[2],G2[2]));③由N = 2、3、4、…N,將G1[N]和G2[N]分別代入BioTPM[N] 、Gl [N+l] 和G2[N+1]分別代入BioTPM[N+l],連同Move[N] = f(Matrix-0P = Gl [N]) 、Round[N]f = (Matrix-OP = G2 [N]) 、MRNumber [N] = f (Matrix—0P = (Gl [N] , G2 [N]))代入BioTPM[N+l] =f (BioTPM[N] , Move [N] , Round [N] , MRNumber [N])經該第N輪運算,分別得Gl [N+l] 和G2[N+1]的值,由此計算獲得Move[N+l] = f(Matrix-0P = G1[N+1])、 Round[N+l]=f (Matrix-OP = G2 [N+l]) 、 MRNumber [N+l] = f (Matrix—OP = (Gl [N+l] , G2 [N+l]))。
10.步驟(13)、 (14)、 (15)和(16)的特征在于,根據l和步驟(1)、 (2)、 (3)、 (4)、(5)、 (6)、 (7)、 (8)、 (9)、 (10)、 (11)及(12),步驟(13)計算設定K的G[K] = {Gl [K],G2[K],}及其運算參數,包括;①計算設定f (Matrix-OP = G1[K])、 f (Matrix-OP =G2 [K]) 、 f (Matrix-OP = (Gl [K] , G2 [K]))和Move [K] 、 Round [K] 、MRNumber [K],②計算設定K禾口 J值相關Wl、 Wl、 Gl、 G2的矩陣向量運算,③計算設定string (Matrix-Vector = G、 W、J*G),④計算設定matrix (Matrix-String = string (Matrix-Vector = G、W、 J*G)),⑤計算設定f (Matrix-OP = J*W) 、 f (Matrix-OP = K*(J*G))且前后二值相等;步驟(14)還包括根據步驟(13)發(fā)布string (Matrix-Vector = G)和string (Matrix-Vector = W),隱藏私鑰K;步驟(15)還包括根據步驟(13)和(14),設定待加密值M、計算及發(fā)送加密信息C二{string (Matrix-Vector = J*G) , Cm = [f (Matrix-OP = J*W)+M]},隱藏私鑰J ;步驟(16)還包括根據步驟(13) 、 (14)和(15),計算及解密Em = Cm-f (Matrix-OP = K*(J*G))獲M,且該值等于該待加密值。
全文摘要
本發(fā)明基于生物特征點拓撲結構的非對稱加解密方法尤其涉及基于生物特征點拓撲結構的非對稱加(解)密技術領域。本發(fā)明的目的是提供一種基于生物特征點拓撲結構的非對稱加(解)密方法,技術特征包括,設定該基于生物特征點拓撲結構的非對稱加(解)密模式;設定該基于該生物特征點拓撲結構的矩陣向量;設定該起始運算矩陣向量;設定矩陣向量的基本運算;設定矩陣向量的某一輪運算;設定矩陣向量的若干輪運算;設定加密模式包括對該矩陣向量按加密方私設輪次進行該輪次運算,然后把該運算結果編碼值和待加密值相加作為加密信息值發(fā)送給解密方;設定解密模式包括對該矩陣向量按解密方原私設輪次進行該輪次運算,然后把該運算編碼值減去加密方所發(fā)送來的加密信息值作為解密信息值。使用該方法依此發(fā)布公鑰和隱藏私鑰,既可公開地構建安全通信通道,又可認證該發(fā)布人的生物特征,從而有利于構筑基于發(fā)布人公鑰可信認證的安全通信通道。
文檔編號G06K9/00GK101777977SQ20091009529
公開日2010年7月14日 申請日期2009年1月8日 優(yōu)先權日2009年1月8日
發(fā)明者李虹 申請人:李虹