一種傳輸方法及傳輸裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本申請(qǐng)涉及通信技術(shù)領(lǐng)域,尤其涉及一種傳輸方法及傳輸裝置。
【背景技術(shù)】
[0002] 隨著通信技術(shù)的發(fā)展,各種各樣的通信需求涌現(xiàn)出來(lái),例如:在現(xiàn)有技術(shù)中存在這 樣一種情況:用戶(hù)Alice是機(jī)密出售者,Alice列舉了很多問(wèn)題,意欲出售各個(gè)問(wèn)題的答案; 而用戶(hù)Bob只想購(gòu)買(mǎi)其中一個(gè)問(wèn)題的答案,但又不想讓Alice知道自己買(mǎi)的是哪個(gè)問(wèn)題的 答案。也就是說(shuō),一方面,Alice的其他答案Bob不可見(jiàn),另一方面,Alice不能獲得Bob的 選擇問(wèn)題的信息,即Alice不能區(qū)分Bob選擇哪個(gè)問(wèn)題。換言之,需要在雙方各取所需時(shí), 又需要同時(shí)保證雙方的隱私不被泄露。
[0003] 而針對(duì)上述情況,現(xiàn)有技術(shù)中還沒(méi)有有效的解決方法。
【發(fā)明內(nèi)容】
[0004] 本申請(qǐng)?zhí)峁┮环N傳輸方法及傳輸裝置,用以解決現(xiàn)有技術(shù)中存在的在通信過(guò)程中 無(wú)法同時(shí)保證雙方的隱私不被泄露的技術(shù)問(wèn)題。
[0005] 本申請(qǐng)第一方面提供了一種傳輸方法,包括:
[0006] 第一電子設(shè)備獲取不可逆函數(shù)簇L的函數(shù)描述和第一陷門(mén),并將所述L的函數(shù)描 述和第一陷門(mén)作為一個(gè)公鑰私鑰對(duì)(Ptsk 1);
[0007] 所述第一電子設(shè)備獲取第二原像抵抗函數(shù)簇F的函數(shù)描述和第二陷門(mén);并將所述 F的函數(shù)描述和第二陷門(mén)作為u-1個(gè)公鑰私鑰對(duì)(Pkj, Skj);其中,u為第一信息的個(gè)數(shù),u 為正整數(shù),j為第j個(gè)所述第一信息的編號(hào),i為第i個(gè)所述第一信息的編號(hào),i為大于等于 1且小于等于u的正整數(shù),j為大于等于1且小于等于u的正整數(shù),j不等于i ;所述L和所 述F相互不可區(qū)分;
[0008] 所述第一電子設(shè)備將u個(gè)公鑰按順序排列獲得第一公鑰序列(Pk1,…,pk u)并將所 述第一公鑰序列發(fā)送給第二電子設(shè)備,以使得所述第二電子設(shè)備利用所述u個(gè)公鑰按所述 順序?qū)個(gè)第二信息Q 1,…,Qu進(jìn)行加密獲得u個(gè)密文R1,…,Ru ;所述u個(gè)第二信息Q1,…,Qu 與u個(gè)所述第一信息 對(duì)應(yīng);
[0009] 當(dāng)所述第一電子設(shè)備接收到所述u個(gè)密文R1,…,Ru時(shí),所述第一電子設(shè)備利用所 述第一陷門(mén)的求逆算法L 1對(duì)所述u個(gè)密文中的第i個(gè)密文解密得到第i個(gè)第二信息%。 [0010] 結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述第一電子設(shè)備獲取 不可逆函數(shù)簇L的函數(shù)描述和第一陷門(mén),具體包括:
[0011] 選取η個(gè)整數(shù)山,d2,…,dn,其中,1彡Cl 1 < d2 <~< dn彡m ;m為正整數(shù);
[0012] 生成有限域GF⑵上nXm階矩陣A,其中,第山,d2,…,dn列組成η階單位方陣,所 述矩陣A的其余元素為零;所述矩陣A用列向量表示為A= (A1,…,Am);
[0013] 對(duì)Aq=(a1,q,···,a n,q)τ,所述AqeGF⑵n,q=l,···,m,分別調(diào)用加密算法進(jìn)行加 密,得到矩陣C = (C1,…,CJ ;所述矩陣C屬于27";
[0014] 取二元[m, η]糾錯(cuò)碼的生成矩陣G,對(duì)X e {〇, 1}η,令X' = Gt · X,定義y = F(X) =C · X' = C · (Dt · X);
[0015] 生成所述L的函數(shù)描述C和第一陷門(mén)(SK,A,山,d2,…,dn)作為所述第i個(gè)公鑰私 鑰對(duì)(Ptsk 1);其中,SK為利用密鑰生成算法生成的私鑰。
[0016] 結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式 中,所述對(duì)A q= (ai,q,= 1,···,!!!,調(diào)用加密算法進(jìn)行加密,得到矩陣C= (C1,… ,Cm),具體包括:
[0017] 分解所述Aq為&",···,~』;
[0018] 對(duì) ab,q,b = 1,…,η,利用公鑰 PK = (p, α α 2,…,α n),其中,所述 PK = (Ρ,α α 2,…,α n)為利用所述密鑰生成算法生成的公鑰;分別執(zhí)行如下步驟:
[0019] 選取多項(xiàng)式Rbiq(X);所述Rbiq(X)來(lái)自于集合
[0020] 通過(guò)計(jì)算 ab, q+2Rb, q (X),獲得 Cb, q (X);
[0021] 通過(guò)計(jì)算Cb,q(a b)m〇d p獲得cb,q ;其中,p為素?cái)?shù);
[0022] 生成密文 Cq = (Cl,q,…,Cn,q);
[0023] 根據(jù)所述Cq = (Cliq,…,cn,q),q = 1,…,m,得到所述矩陣C。
[0024] 結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式 中,通過(guò)所述密鑰生成算法生成所述公鑰PK = (p,a i,a 2,…,a n)和所述私鑰SK,包括以 下步驟:
[0025] 選取所述p ;
[0026] 選擇整數(shù)環(huán)Z上N次不可約多項(xiàng)式F (X);
[0027] 對(duì)b = 1,"·,η,分別執(zhí)行以下步驟:
[0028] 1)選取Sb(X);所述Sb(X)屬于集合
[0029] 2)通過(guò)計(jì)算 l+2Sb(x)獲得 Gb(X);
[0030] 3)通過(guò)公式 resultant (Gb (X),F(xiàn) (X) )= P1 獲得 P1 ;
[0031] 4)判斷所述p是否等于所述P1,若是,則輸出Gb(x),否則回到步驟1);
[0032] 在環(huán) Fp [X]上計(jì)算 Db (X) = gcd (Gb (X),F(xiàn) (X)),獲得 Db (X)的根 a b ;所述 a b e Fp ;
[0033] 利用有理數(shù)域上的最大公因子X(jué)G⑶算法計(jì)算獲得
,滿足公式 21}(叉)*6(叉)=口(111〇(^(叉));其中,所述21)(叉)£2[叉] ;
[0034] 通過(guò)計(jì)算zM (mod2p)獲得Bb ;
[0035] 獲得所述公鑰 PK = (p, α α 2,…,α n),所述私鑰 SK = (p, B1, B2,…,Bn)。
[0036] 結(jié)合第一方面的第三種可能的實(shí)現(xiàn)方式,在第一方面的第四種可能的實(shí)現(xiàn)方式 中,所述第一電子設(shè)備利用所述第一陷門(mén)的求逆算法L-I解密得到第i個(gè)第二信息,具體包 括:
[0037] 對(duì)所述第i個(gè)密文R1,分解所述R1為
[0038] 對(duì)(4,…匕)調(diào)用解密算法,生成向量y,e {〇, 1Γ ;
[0039] 在二元域上求解方程/ =A.?,得到解向量無(wú);
[0040] 利用所述第一陷門(mén)獲得所述.S的第山,d2,…,dn列;
[0041] 通過(guò)糾刪碼譯碼算法和公式亥=J71 得到 ? ;其中,所述Si (OJf ;
[0042] 通過(guò)計(jì)算:lf .,:獲得第i個(gè)第二信息Qi,其中,h為雜湊函數(shù)。
[0043] 結(jié)合第一方面的第四種可能的實(shí)現(xiàn)方式,在第一方面的第五種可能的實(shí)現(xiàn)方式 中,對(duì)(4,…4)調(diào)用解密算法,生成向量, e ι〇,ιγ,具體包括:
[0046] 結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式至第一方面的第四種可能的 實(shí)現(xiàn)方式中的任意一種,在第一方面的第六種可能的實(shí)現(xiàn)方式中,所述第一電子設(shè)備獲取 第二原像抵抗函數(shù)簇F的函數(shù)描述和第二陷門(mén),具體包括:
[0047] 選取η個(gè)整數(shù)I1J2,…,In,其中,1彡I 1 < I2 <~< InSm;
[0048] 生成有限域GF⑵上nXm階矩陣Α,其中,第I1, I2,…,In列組成η-I階矩陣,所述 矩陣A的其余元素為零;所述矩陣A用列向量表示為A= (A1,…,Am);
[0049] 對(duì)Aq = (aliq,…,an,q)T,所述Aq e GF⑵n,q = 1,-",m,分別調(diào)用加密算法進(jìn)行加 密,得到矩陣C= (C1,…,CJ ;所述矩陣C屬于Zf'B;
[0050] 取二元[m, η]糾錯(cuò)碼的生成矩陣G,對(duì)X e {〇, 1}η,令X' = Gt · X,定義y = F(x) =C · X' = C · (Gt · X);
[0051] 生成所述F的函數(shù)描述C和第二陷門(mén)(SK,A,I1, I2,…,In)作為所述u-1個(gè)公鑰私 鑰對(duì)(pk,,sk,);其中,SK為利用密鑰生成算法生成的私鑰。
[0052] 結(jié)合第一方面的第六種可能的實(shí)現(xiàn)方式,在第一方面的第七種可能的實(shí)現(xiàn)方式 中,所述對(duì)A q= (aliq,~,aniq)T,q= 1,···,ηι,調(diào)用加密算法進(jìn)行加密,得到矩陣C= (C1,… ,Cm),具體包括:
[0053] 分解所述 Aq 為 aliq,…,an,q ;
[0054] 對(duì) ab,q, b = 1,…,η,利用公鑰 PK = (ρ, α α 2,…,α n),其中,所述 PK = (Ρ,α α 2,…,α n)為利用所述密鑰生成算法生成的公鑰;分別執(zhí)行如下步驟:
[0055] 選取多項(xiàng)式\q (X);所述Rb, q (X)來(lái)自于集合f
[0056] 通過(guò)計(jì)算 ab, q+2RM (X),獲得 Cb, q (X);
[0057] 通過(guò)計(jì)算Cb,q(a b)m〇d p獲得cb,q ;其中,p為素?cái)?shù);
[0058] 生成密文 Cq = (Cu,…,Cq,n);
[0059] 根據(jù)所述Cq = (Cqil,…,cq,n),q = 1,…,m,得到所述矩陣C。
[0060] 結(jié)合第一方面的第七種可能的實(shí)現(xiàn)方式,在第一方面的第八種可能的實(shí)現(xiàn)方式 中,通過(guò)所述密鑰生成算法生成所述公鑰PK = (p,a i,α 2,…,α n)和所述私鑰SK,包括以 下步驟:
[0061] 選取所述P ;
[0062] 選擇整數(shù)環(huán)Z上N次不可約多項(xiàng)式F (X);
[0063] 對(duì)b = 1,…,η,分別執(zhí)行以下步驟:
[0064] 1)選取Sb(X);所述Sb(X)屬于集名
[0065] 2)通過(guò)計(jì)算 l+2Sb(x)獲得 Gb(X);
[0066] 3)通過(guò)公式 resultant (Gb (X),F(xiàn) (X) )= P1 獲得 P1 ;
[0067] 4)判斷所述p是否等于所述P1,若是,則輸出Gb(x),否則回到步驟1);
[0068] 在環(huán) Fp [X]上計(jì)算 Db (X) = gcd (Gb (X),F(xiàn) (X)),獲得 Db (X)的根 a b ;所述 a b e Fp ;
[0069] 利用有理數(shù)域上的最大公因子X(jué)G⑶算法計(jì)算獲得
,滿足公式 21}(叉)*6(叉)=口(111〇(^(叉));其中,所述21)(叉)£2[叉] ;
[0070] 通過(guò)計(jì)算zM (mod2p)獲得Bb ;
[0071] 獲得所述公鑰 PK = (p, α α 2,…,α n),所述私鑰 SK = (p, B1, B2,…,Bn)。
[0072] 本申請(qǐng)第二方面還提供一種傳輸方法,包括:
[0073] 第二電子設(shè)備接收與u個(gè)第一信息--對(duì)應(yīng)的u個(gè)公鑰(Pk1,…,pku);其中,u為 正整數(shù);其中,所述u個(gè)公鑰中的第i個(gè)公鑰具體為不可逆函數(shù)簇L的函數(shù)描述;其他U-I 個(gè)公鑰具體為第二原像抵抗函數(shù)簇F的函數(shù)描述;i為第i個(gè)所述第一信息的編號(hào),i為大 于等于1且小于等于u的正整數(shù);所述L和所述F相互不可區(qū)分;
[0074] 所述第二電子設(shè)備利用所述U個(gè)公鑰將與所述U個(gè)第一信息一一對(duì)應(yīng)的u個(gè)第二 信息Q1,…,Q u分別加密,得到u個(gè)密文R1,…,Ru;
[0075] 所述第二電子設(shè)備將所述密文R1,…,Ru發(fā)送給第一電子設(shè)備。
[0076] 結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述第二電子設(shè)備利用 所述u個(gè)公鑰將與所述u個(gè)第一信息一一對(duì)應(yīng)的u個(gè)第二信息Q 1,…,Qu分別加密,得到u 個(gè)密文R1,…,Ru,具體包括:
[0077] 對(duì)第w個(gè)第二信息Qw, w = 1,"·,ιι,選取一個(gè)m長(zhǎng)比特串xw ;m為正整數(shù);
[0078] 取二元[m,η]糾錯(cuò)碼的生成矩陣G,通過(guò)公式
,其中,h為雜湊函數(shù)。
[0079] 本申請(qǐng)第三方面提供一種傳輸裝置,包括:
[0080] 第一計(jì)算單元,用于獲取不可逆函數(shù)簇L的函數(shù)描述和第一陷門(mén),并將所述L的函 數(shù)描述和第一陷門(mén)作為一個(gè)公鑰私鑰對(duì)(Ptsk 1);
[0081] 第二計(jì)算單元,用于獲取第二原像抵抗函數(shù)簇F的函數(shù)描述和第二陷門(mén);并將所 述F的函數(shù)描述和第二陷門(mén)作為u-Ι個(gè)公鑰私鑰對(duì)(Pk j, Skj);其中,u為第一信息的個(gè)數(shù), U為正整數(shù),j為第j個(gè)所述第一信息的編號(hào),i為第i個(gè)所述第一信息的編號(hào),i為大于等 于1且小于等于U的正整數(shù),j為大于等于1且小于等于u正整數(shù),j不等于i ;所述L和所 述F相互不可區(qū)分;
[0082] 發(fā)送單元,用于將U個(gè)公鑰按順序排列獲得第一公鑰序列(Pk1,…,pk u),并將所述 第一公鑰序列發(fā)送給第二電子設(shè)備,以使得所述第二電子設(shè)備利用所述u個(gè)公鑰按所述順 序?qū)個(gè)第二信息Q1,…,Qu進(jìn)行加密獲得u個(gè)密文R1,…,R u ;所述u個(gè)第二信息Q1,…,Qu 與u個(gè)所述第一信息 對(duì)應(yīng);
[0083] 第三計(jì)算單元,用于當(dāng)接收到u個(gè)密文R1,…,Ru時(shí),利用所述第一陷門(mén)的求逆算法 L 1對(duì)所述u個(gè)密文中的第i個(gè)密文解密得到第i個(gè)第二信息%。
[0084] 結(jié)合第三方面,在第三方面的第一種可能的實(shí)現(xiàn)方式中,所述第一計(jì)算單元具體 用于:
[0085] 選取η個(gè)整數(shù)(I1, d2,…,dn,其中,1彡(I1 < d2 <~< dn彡m ;m為正整數(shù);
[0086] 生成有限域GF⑵上nXm階矩陣A,其中,第山,d2,…,dn列組成η階單位方陣,所 述矩陣A的其余元素為零;所述矩陣A用列向量表示為A= (A1,…,Am);
[0087] 對(duì)Aq = (aliq,…,an,q)T,所述Aq e GF⑵n,q = 1,-",m,分別調(diào)用加密算法進(jìn)行加 密,得到矩陣C = (C1,…,CJ ;所述矩陣C屬于3廣;;
[0088] 取二元[m, η]糾錯(cuò)碼的生成矩陣G,對(duì)X e {〇, 1}η,令X' = Gt · X,定義y = L(X) =C · X' = C · (Gt · X);
[0089] 生成所述L的函數(shù)描述C和第一陷門(mén)(SK,A,山,d2,…,dn)作為所述第i個(gè)公鑰私 鑰對(duì)(Ptsk 1);其中,SK為利用密鑰生成算法生成的私鑰。
[0090] 結(jié)合第三方面的第一種可能的實(shí)現(xiàn)方式,在第三方面的第二種可能的實(shí)現(xiàn)方式 中,所述第一計(jì)算單元具體用于:
[0091] 分解所述 AqSa1, q,···,~』;
[0092] 對(duì) ab,q,b = 1,…,η,利用公鑰 PK = (p, α η α 2,…,α n),其中,所述 PK = (Ρ,α α 2,…,α n)為利用所述密鑰生成算法生成的公鑰;分別執(zhí)行如下步驟:
[0093] 選取多項(xiàng)式Rbiq(X);所述Rbiq(X)來(lái)自于集合
[0094] 通過(guò)計(jì)算 ab, q+2Rb, q (X),獲得 Cb, q (X);
[0095] 通過(guò)計(jì)算Cb, q(a b)m〇d p獲得cM ;其中,p為素?cái)?shù);
[0096] 生成密文 Cq = (Cl,q,…,Cn,q);
[0097] 根據(jù)所述Cq = (Cliq,…,cn,q),q = 1,…,m,得到所述矩陣C。
[0098] 結(jié)合第三方面的第二種可能的實(shí)現(xiàn)方式,在第三方面的第三種可能的實(shí)現(xiàn)方式 中,所述傳輸裝置還包括第四計(jì)算單元,用于:
[0099] 選取所述p ;
[0100] 選擇整數(shù)環(huán)Z上N次不可約多項(xiàng)式F(X);
[0101] 對(duì)b = 1,"·,η,分別執(zhí)行以下步驟:
[0102] 1)選取 Sb(X);所述 Sb(X)屬于集合l^j;
[0103] 2)通過(guò)計(jì)算 l+2Sb(x)獲得 Gb(X);
[0104] 3)通過(guò)公式 resultant(Gb(x),F(xiàn)(x)) =P1 獲得 p1;
[0105] 4)判斷所述p是否等于所述P1,若是,則輸出Gb(X),否則回到步驟1