本發(fā)明涉及信息技術(shù)領(lǐng)域,特別涉及一種簽名方法和發(fā)送設備。
背景技術(shù):
在信息化戰(zhàn)場中,保障信息安全通信成為廣泛關(guān)注的問題。但是信息通信活動中傳輸?shù)拇罅侩娮游募?,對于接受者而言,如何確定電子文件的真實性是很重要的。數(shù)字簽名技術(shù)作為信息通信中驗證身份真?zhèn)我约敖灰撞豢煞裾J的核心技術(shù),是信息通信安全性保障的重要組成部分,同時,對于信息通信安全問題,傳統(tǒng)的認證和訪問控制技術(shù)、密碼技術(shù)并不能全面解決,所以信息隱藏技術(shù)被應用到信息通信中。
混淆是最近十年國際上一個新的研究方向,簡略的說,混淆是一種算法,輸入一個布爾體系回路的程序經(jīng)過混淆器,然后輸出一個與原來程序具有相同功能的新的布爾體系回路的程序?,F(xiàn)在研究的混淆主要是針對回路和圖靈機而言,本發(fā)明的混淆主要是針對于回路來說的。雖然輸出回路程序在功能上與原程序相同,但是我們難以解讀,也就是我們不容易認識理解。在此概念中,混淆器像一個黑盒子一樣,在某種意義上說,混淆器不會泄露任何關(guān)于除去輸入輸出以外的關(guān)于混路程序的信息。
本發(fā)明思路,通過一個點函數(shù)混淆器來實現(xiàn)對于信息隱藏簽名的混淆。根據(jù)點函數(shù)混淆器的構(gòu)造方式之一-完美單向hash函數(shù),完美單向hash函數(shù)的本質(zhì)就是點函數(shù)混淆器。根據(jù)其構(gòu)造方式是依賴于hash函數(shù)和計算困難性問題;而現(xiàn)在的簽名方法都是基于計算困難性問題來構(gòu)造,二者都是依賴于計算困難性,也就是,這是二者聯(lián)系的一個共同橋梁。然后根據(jù)下文構(gòu)造的點函數(shù)混淆器來實現(xiàn)在對于信息隱藏簽名的安全混淆,這也是第一次用混淆去構(gòu)造單一功能的信息隱藏簽名方法。
在現(xiàn)有技術(shù)中,簽名的原始數(shù)字信息將由發(fā)送機直接發(fā)送給接受者,現(xiàn)有技術(shù)中的存在簽名的原始數(shù)字信息不能隱藏,容易獲得發(fā)送者的真實信息的技術(shù)問題。
技術(shù)實現(xiàn)要素:
本申請實施例提供一種簽名方法和發(fā)送設備,用于解決現(xiàn)有技術(shù)中的簽名的原始數(shù)字信息不能隱藏,容易獲得發(fā)送者的真實信息的技術(shù)問題,從而達到隱藏真實信息,提高信息安全性技術(shù)效果。
本申請實施例第一方面提供了一種簽名方法,應用于一發(fā)送設備中,包括:
獲得原始數(shù)字信息x以及與所述原始數(shù)字信息x對應的一數(shù)字信息x1;
基于哈希函數(shù)對所述第一數(shù)字信息進行運算,獲得一信息摘要r;
用所述發(fā)送設備對應的發(fā)送方的私鑰α對所述信息摘要進行加密獲得所述發(fā)送方的第一數(shù)字簽名信息y1;
基于點函數(shù)混淆器對原始數(shù)字信息x及所述第一數(shù)字信息x1進行混淆,獲得與所述第一數(shù)字簽名信息y1功能相同的第二數(shù)字簽名信息y2,所述第二數(shù)字簽名信息y2是所述原始數(shù)字信息x處于隱藏狀態(tài)時的數(shù)字簽名信息。
優(yōu)選地,在基于點函數(shù)混淆器對原始數(shù)字信息x及所述第一數(shù)字信息x1進行混淆,獲得與所述第一數(shù)字簽名信息y1功能相同的第二數(shù)字簽名信息y2之后,所述方法還包括:
將所述第一數(shù)字信息x1和所述第二數(shù)字簽名信息y2發(fā)送給與所述發(fā)送設備對應的接收設備,以使所述接收設備基于所述第二數(shù)字簽名信息y2認證所述發(fā)送方是否合法。
優(yōu)選地,所述基于哈希函數(shù)對所述第一數(shù)字信息x1進行運算,獲得一信息摘要r,具體為:
選取一個本原元g,為域;
設1≤α≤q-1,令β=gα(mod p),其中,p,g和β分別是公鑰的第一參數(shù)、第二參數(shù)及第三參數(shù),α是所述私鑰,q是大于等于2的整數(shù);
對于K=(p,g,α,β)和x1∈Q,K存在一個哈希函數(shù)h,h∈H,使得所述信息摘要r=h(x1);其中,K表示密鑰集合,x1為所述第一數(shù)字信息,Q為次數(shù)為q的子集,也就是說,Q是平方模p的群,H是哈希函數(shù)h的族群體。
優(yōu)選地,所述用所述發(fā)送設備對應的發(fā)送方的私鑰α對所述信息摘要進行加密獲得所述發(fā)送方的第一數(shù)字簽名信息y1,具體為:使得
y1=sigK(x1)=h(x1)α=rα;
其中,y1表示所述第一數(shù)字簽名信息,K表示密鑰集合,x1為所述第一數(shù)字信息,α是所述私鑰,r是所述信息摘要,h是哈希函數(shù)。
優(yōu)選地,所述基于點函數(shù)混淆器對原始數(shù)字信息x及所述第一數(shù)字信息x1進行混淆,獲得與所述第一數(shù)字簽名信息y1功能相同的第二數(shù)字簽名信息y2,具體為:
在所述點函數(shù)混淆器的作用下,輸入所述x,x1,所述點函數(shù)混淆器對所述x,x1進行混淆變換,對于任意具有二進制輸出的多項式時間敵手A,以及任意擴散好的分布{Xk}:
<x,A(H(x,r))>≈<x,A(H(x1,r))>;
其中,H是哈希函數(shù)h的族群體,r是所述信息摘要。
本申請實施例第二方面提供了一種發(fā)送設備,包括:
第一獲得單元,用于獲得原始數(shù)字信息x以及與所述原始數(shù)字信息x對應的一數(shù)字信息x1;
第二獲得單元,用于基于哈希函數(shù)對所述第一數(shù)字信息進行運算,獲得一信息摘要r;
第三獲得單元,用所述發(fā)送設備對應的發(fā)送方的私鑰α對所述信息摘要進行加密獲得所述發(fā)送方的第一數(shù)字簽名信息y1;
混淆單元,用于基于點函數(shù)混淆器對原始數(shù)字信息x及所述第一數(shù)字信息x1進行混淆,獲得與所述第一數(shù)字簽名信息y1功能相同的第二數(shù)字簽名信息y2,所述第二數(shù)字簽名信息y2是所述原始數(shù)字信息x處于隱藏狀態(tài)時的數(shù)字簽名信息。
優(yōu)選地,所述發(fā)送設備還包括:
發(fā)送單元,用于將所述第一數(shù)字信息x1所述第二數(shù)字簽名信息y2發(fā)送給與所述發(fā)送設備對應的接收設備,以使所述接收設備認證所述第二數(shù)字簽名信息y2是否合法。
優(yōu)選地,所述第二獲得單元,用于基于哈希函數(shù)對所述第一數(shù)字信息x1進行運算,獲得一信息摘要r,具體為:
所述第二獲得單元選取一個本原元g,為域;
設1≤α≤q-1,令β=gα(mod p),其中,p,g和β分別是公鑰的第一參數(shù)、第二參數(shù)及第三參數(shù),α是所述私鑰,q是大于等于2的整數(shù);
對于K=(p,g,α,β)和x1∈Q,K存在一個哈希函數(shù)h,h∈H,使得所述信息摘要r=h(x1);其中,K表示密鑰集合,x1為所述第一數(shù)字信息,Q為次數(shù)為q的子集,也就是說,Q是平方模p的群,H是哈希函數(shù)h的族群體。
優(yōu)選地,所述第三獲得單元,用所述發(fā)送設備對應的發(fā)送方的私鑰α對所述信息摘要進行加密獲得所述發(fā)送方的第一數(shù)字簽名信息y1,具體為:第三獲得單元使得
y1=sigK(x1)=h(x1)α=rα;
其中,y1表示所述第一數(shù)字簽名信息,K表示密鑰集合,x1為所述第一數(shù)字信息,α是所述私鑰,r是所述信息摘要,h是哈希函數(shù)。
優(yōu)選地,所述混淆單元,用于基于點函數(shù)混淆器對原始數(shù)字信息x及所述第一數(shù)字信息x1進行混淆,獲得與所述第一數(shù)字簽名信息y1功能相同的第二數(shù)字簽名信息y2,具體為:
在所述點函數(shù)混淆器的作用下,輸入所述x,x1,所述點函數(shù)混淆器對所述x,x1進行混淆變換,對于任意具有二進制輸出的多項式時間敵手A,以及任意擴散好的分布{Xk}:
<x,A(H(x,r))>≈<x,A(H(x1,r))>;
其中,H是哈希函數(shù)h的族群體,r是所述信息摘要。
本申請實施例中的上述一個或多個技術(shù)方案,至少具有如下一種或多種技術(shù)效果:
由于本申請實施例中的技術(shù)方案,獲得原始數(shù)字信息x以及與所述原始數(shù)字信息x對應的一數(shù)字信息x1;基于哈希函數(shù)對所述第一數(shù)字信息進行運算,獲得一信息摘要r;用所述發(fā)送設備對應的發(fā)送方的私鑰α對所述信息摘要進行加密獲得所述發(fā)送方的第一數(shù)字簽名信息y1;基于點函數(shù)混淆器對原始數(shù)字信息x及所述第一數(shù)字信息x1進行混淆,獲得與所述第一數(shù)字簽名信息yx功能相同的第二數(shù)字簽名信息y2,所述第二數(shù)字簽名信息y2是所述原始數(shù)字信息x處于隱藏狀態(tài)時的數(shù)字簽名信息。這樣,發(fā)送設備發(fā)送的是所述原始數(shù)字信息x對應的一數(shù)字信息x1以及經(jīng)過點函數(shù)混淆器輸出的第二數(shù)字簽名信息y2,接收者同樣可以驗證發(fā)送者的身份,但是難以獲得發(fā)送者的真實信息,從而所述點函數(shù)混淆器實現(xiàn)了信息隱藏簽名,從而解決了現(xiàn)有技術(shù)中的簽名的原始數(shù)字信息不能隱藏,容易獲得發(fā)送者的真實信息的技術(shù)問題,從而達到隱藏真實信息,提高信息安全性技術(shù)效果。
附圖說明
為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例。
圖1為本申請實施例一中提供的簽名方法的實現(xiàn)方式的流程圖;
圖2為本申請實施例二中提供的發(fā)送設備的結(jié)構(gòu)框圖。
具體實施方式
本申請實施例提供一種簽名方法和發(fā)送設備,用于解決現(xiàn)有技術(shù)中的簽名的原始數(shù)字信息不能隱藏,容易獲得發(fā)送者的真實信息的技術(shù)問題,從而達到隱藏真實信息,提高信息安全性技術(shù)效果。
本申請實施例中的技術(shù)方案為解決上述的技術(shù)問題,總體思路如下:
一種簽名方法,應用于一發(fā)送設備中,包括:
獲得原始數(shù)字信息x以及與所述原始數(shù)字信息x對應的一數(shù)字信息x1;
基于哈希函數(shù)對所述第一數(shù)字信息進行運算,獲得一信息摘要r;
用所述發(fā)送設備對應的發(fā)送方的私鑰α對所述信息摘要進行加密獲得所述發(fā)送方的第一數(shù)字簽名信息y1;
基于點函數(shù)混淆器對原始數(shù)字信息x及所述第一數(shù)字信息x1進行混淆,獲得與所述第一數(shù)字簽名信息y1功能相同的第二數(shù)字簽名信息y2,所述第二數(shù)字簽名信息y2是所述原始數(shù)字信息x處于隱藏狀態(tài)時的數(shù)字簽名信息。
在上述技術(shù)方案中,發(fā)送器發(fā)送的是所述原始數(shù)字信息x對應的一數(shù)字信息x1以及經(jīng)過點函數(shù)混淆器輸出的第二數(shù)字簽名信息y2,因此,對原始數(shù)字信息x實現(xiàn)了隱藏,從而解決了現(xiàn)有技術(shù)中的簽名的原始數(shù)字信息不能隱藏,容易獲得發(fā)送者的真實信息的技術(shù)問題,從而達到隱藏真實信息,提高信息安全性技術(shù)效果。
為了更好的理解上述技術(shù)方案,下面通過附圖以及具體實施例對本發(fā)明技術(shù)方案做詳細的說明,應當理解本申請實施例以及實施例中的具體特征是對本發(fā)明技術(shù)方案的詳細的說明,而不是對本發(fā)明技術(shù)方案的限定,在不沖突的情況下,本申請實施例以及實施例中的技術(shù)特征可以相互結(jié)合。
實施例一
請參考圖1,為本申請實施例一提供的簽名方法的實現(xiàn)方式的流程圖;
一種簽名方法,應用于一發(fā)送設備中,包括:
S101,獲得原始數(shù)字信息x以及與所述原始數(shù)字信息x對應的一數(shù)字信息x1;
S102,基于哈希函數(shù)對所述第一數(shù)字信息進行運算,獲得一信息摘要r;
S103,用所述發(fā)送設備對應的發(fā)送方的私鑰α對所述信息摘要進行加密獲得所述發(fā)送方的第一數(shù)字簽名信息y1;
S104,基于點函數(shù)混淆器對原始數(shù)字信息x及所述第一數(shù)字信息x1進行混淆,獲得與所述第一數(shù)字簽名信息y1功能相同的第二數(shù)字簽名信息y2,所述第二數(shù)字簽名信息y2是所述原始數(shù)字信息x處于隱藏狀態(tài)時的數(shù)字簽名信息。
在采用本申請實施例中的方法進行簽名時,首先執(zhí)行步驟S101,即:獲得原始數(shù)字信息x以及與所述原始數(shù)字信息x對應的一數(shù)字信息x1;
具體的,例如發(fā)送機獲得一原始數(shù)字簽名信息,以及與所述原始數(shù)字信息x對應的一數(shù)字信息x1,例如,所述第一數(shù)字信息x1與原始數(shù)字簽名信息對應的非真實信息。
其次執(zhí)行步驟S102,基于哈希函數(shù)對所述第一數(shù)字信息進行運算,獲得一信息摘要r;
具體地,例如,選取一個本原元g,為域;
設1≤α≤q-1,令β=gα(mod p),其中,p,g和β分別是公鑰的第一參數(shù)、第二參數(shù)及第三參數(shù),α是所述私鑰,q是大于等于2的整數(shù);
對于K=(p,g,α,β)和x1∈Q,K存在一個哈希函數(shù)h,h∈H,使得所述信息摘要r=h(x1);其中,K表示密鑰集合,x1為所述第一數(shù)字信息,Q為次數(shù)為q的子集,也就是說,Q是平方模p的群,H是哈希函數(shù)h的族群體。
其次執(zhí)行步驟S103,用所述發(fā)送設備對應的發(fā)送方的私鑰α對所述信息摘要進行加密獲得所述發(fā)送方的第一數(shù)字簽名信息y1;
具體地,例如使得
y1=sigK(x1)=h(x1)α=rα;
其中,y1表示所述第一數(shù)字簽名信息,K表示密鑰集合,x1為所述第一數(shù)字信息,α是所述私鑰,r是所述信息摘要,h是哈希函數(shù)。
其次執(zhí)行步驟S104,基于點函數(shù)混淆器對原始數(shù)字信息x及所述第一數(shù)字信息x1進行混淆,獲得與所述第一數(shù)字簽名信息y1功能相同的第二數(shù)字簽名信息y2,所述第二數(shù)字簽名信息y2是所述原始數(shù)字信息x處于隱藏狀態(tài)時的數(shù)字簽名信息;
具體地,例如,在所述點函數(shù)混淆器的作用下,輸入所述x,x1,所述點函數(shù)混淆器對所述x,x1進行混淆變換,對于任意具有二進制輸出的多項式時間敵手A,以及任意擴散好的分布{Xk}:
<x,A(H(x,r))>≈<x,A(H(x1,r))>;
其中,H是哈希函數(shù)h的族群體,r是所述信息摘要。
在所述基于點函數(shù)混淆器對原始數(shù)字信息x及所述第一數(shù)字信息x1進行混淆,獲得與所述第一數(shù)字簽名信息y1功能相同的第二數(shù)字簽名信息y2之后,所述簽名方法還包括:
將所述第一數(shù)字信息x1和所述第二數(shù)字簽名信息y2發(fā)送給與所述發(fā)送設備對應的接收設備,以使所述接收設備基于所述第二數(shù)字簽名信息y2認證所述發(fā)送方是否合法;
具體地,沿用前述例子,例如,對所述第二數(shù)字簽名信息y2進行認證:
接收方隨機選擇
接收方計算并將它發(fā)送給所述發(fā)送方;
所述發(fā)送方計算并將它發(fā)送給接收方;
當且僅當時,接收方將y2作為合法的簽名接受;
其中,所述接收方是與所述接收設備對應的接收方,為域,t1,t2均為整數(shù)。
實施例二
請參考圖2,為本申請實施例二提供的發(fā)送設備的結(jié)構(gòu)框圖;
一種發(fā)送設備10,所述發(fā)送設備包括:
第一獲得單元101,用于獲得原始數(shù)字信息x以及與所述原始數(shù)字信息x對應的一數(shù)字信息x1;
第二獲得單元102,用于基于哈希函數(shù)對所述第一數(shù)字信息進行運算,獲得一信息摘要r;
第三獲得單元103,用所述發(fā)送設備對應的發(fā)送方的私鑰α對所述信息摘要進行加密獲得所述發(fā)送方的第一數(shù)字簽名信息y1;
混淆單元104,用于基于點函數(shù)混淆器對原始數(shù)字信息x及所述第一數(shù)字信息x1進行混淆,獲得與所述第一數(shù)字簽名信息y1功能相同的第二數(shù)字簽名信息y2,所述第二數(shù)字簽名信息y2是所述原始數(shù)字信息x處于隱藏狀態(tài)時的數(shù)字簽名信息。
在采用本申請實施例中的方法進行簽名時,所述第一獲得單元101,獲得原始數(shù)字信息x以及與所述原始數(shù)字信息x對應的一數(shù)字信息x1;
具體的,例如發(fā)送機獲得一原始數(shù)字簽名信息,以及與所述原始數(shù)字信息x對應的一數(shù)字信息x1,例如,所述第一數(shù)字信息x1與原始數(shù)字簽名信息對應的非真實信息。
所述第二獲得單元102,基于哈希函數(shù)對所述第一數(shù)字信息進行運算,獲得一信息摘要r;
具體地,例如,選取一個本原元g,為域;
設1≤α≤q-1,令β=gα(mod p),其中,p,g和β分別是公鑰的第一參數(shù)、第二參數(shù)及第三參數(shù),α是所述私鑰,q是大于等于2的整數(shù);
對于K=(p,g,α,β)和x1∈Q,K存在一個哈希函數(shù)h,h∈H,使得所述信息摘要r=h(x1);其中,K表示密鑰集合,x1為所述第一數(shù)字信息,Q為次數(shù)為q的子集,也就是說,Q是平方模p的群,H是哈希函數(shù)h的族群體。
所述第三獲得單元103,用所述發(fā)送設備對應的發(fā)送方的私鑰α對所述信息摘要進行加密獲得所述發(fā)送方的第一數(shù)字簽名信息y1;
具體地,沿用前述例子,使得
y1=sigK(x1)=h(x1)α=rα;
其中,y1表示所述第一數(shù)字簽名信息,K表示密鑰集合,x1為所述第一數(shù)字信息,α是所述私鑰,r是所述信息摘要,h是哈希函數(shù)。
所述混淆單元104,基于點函數(shù)混淆器對原始數(shù)字信息x及所述第一數(shù)字信息x1進行混淆,獲得與所述第一數(shù)字簽名信息y1功能相同的第二數(shù)字簽名信息y2,所述第二數(shù)字簽名信息y2是所述原始數(shù)字信息x處于隱藏狀態(tài)時的數(shù)字簽名信息;
具體地,沿用前述例子在所述點函數(shù)混淆器的作用下,輸入所述x,x1,所述點函數(shù)混淆器對所述x,x1進行混淆變換,對于任意具有二進制輸出的多項式時間敵手A,以及任意擴散好的分布{Xk}:
<x,A(H(x,r))>≈<x,A(H(x1,r))>;
其中,H是哈希函數(shù)h的族群體,r是所述信息摘要。
在所述基于點函數(shù)混淆器對原始數(shù)字信息x及所述第一數(shù)字信息x1進行混淆,獲得與所述第一數(shù)字簽名信息y1功能相同的第二數(shù)字簽名信息y2之后,所述簽名方法還包括:
發(fā)送單元,將所述第一數(shù)字信息x1所述第二數(shù)字簽名信息y2發(fā)送給與所述發(fā)送設備對應的接收設備,以使所述接收設備認證所述第二數(shù)字簽名信息y2是否合法;
具體地,沿用前述例子,例如,對所述第二數(shù)字簽名信息y2進行認證:
接收方隨機選擇
接收方計算并將它發(fā)送給所述發(fā)送方;
所述發(fā)送方計算并將它發(fā)送給接收方;
當且僅當時,接收方將y2作為合法的簽名接受;
其中,所述接收方是與所述接收設備20對應的接收方,為域,t1,t2均為整數(shù)。
實施例三
本申請的實施例三提供了一種點函數(shù)混淆器的構(gòu)造方式,具體為:
虛擬黑盒混淆的介紹
對于回路C,一個概率多項式時間O是一個虛擬黑盒混淆器,它滿足以下三個條件:
條件1,功能性,對于任意n∈N,C∈Cn,O(C)是一個回路,與C計算相同的功能;其中,n表示集合N中的一個元素,N表示大于等于1的正整數(shù),Cn表示回路C所在的域,O表示混淆器,C表示回路;
條件2,多項式減緩,這里存在一個多項式q,以至于對于任意n∈N,C∈Cn,|O(C)≤q(|C|),其中,n表示集合的N的一個元素,N表示大于等于1的正整數(shù)。
條件2,虛擬黑盒,對于任意多項式時間敵手A和多項式p,這里存在一個多項式時間模擬器S,這樣對于所有滿足足夠大n∈N和C∈Cn:
其中A,O表示回路經(jīng)過混淆器處理后,然后經(jīng)過敵手處理;S表示模擬器,pr表示概率,1/p(n)結(jié)果表示忽略不計的函數(shù);
如果此混淆運行在多項式時間內(nèi),那這個混淆器O是有效的。
由于黑盒混淆中多項式減緩性能展現(xiàn)了混淆后回路的復雜度,以及其中的虛擬黑盒(VBB:Virtual Black-box)性能一起為混淆后回路的安全提供了強有力的保障,混淆后的回路就像一個“黑盒”,從某種意義上說,除去它的輸入輸出行為外,它不泄露關(guān)于回路的任何信息。更加確切的說,任何可以訪問一個混淆回路的有效攻擊者只可以通過一個只有預言機通道進入方法的有效模擬器模擬。
語義完美單向性的介紹
對于任意非統(tǒng)一的PPTA和多項式p,一個族總體H={Hn}n∈N,如果它滿足如下三個條件,被稱為語義的完美單向:
完備性:x∈{0,1}n,r∈Rn,V(x,Hk(x,r))=1。
其中,k表示密鑰,Kn表示密鑰集合,x∈{0,1}n表示0,1集合的n長序列,r表示任意實數(shù),V表示驗證。
抗碰撞:對于任意非統(tǒng)一的PPT A:
Pr[k←Kn,(x1,x2,y)←A(k):x1≠x2∧V(x1,y)=V(x2,y)=1]<u(n)
x1,x2表示輸入信息,y表示函數(shù)處理的結(jié)果,u(n)表示忽略不計的函數(shù),
秘密性:存在一個非統(tǒng)一的PPT模擬器S,這樣對于足夠大的n,任意k,以及任意x:
其中,F(xiàn)x是在x上的點函數(shù)。
注意語義完美單向性相應采用一個簡單的方式到虛擬黑盒性能要求混淆點函數(shù)在定義。因此,一個函數(shù)滿足此定義是一個點函數(shù)混淆,具有計算的近似功能性。但是相反的方向不是真實的。當語義完美單向性暗示虛擬黑盒性能時,在H上的完備性和抗碰撞就暗示計算的近似功能。在另一方面,一個點函數(shù)的混淆不將成為一個完美單向函數(shù),在一個敵對的方法,因為近似功能性沒有限制碰撞選擇。
定義1.如果如下要求成立,則算法H,V是一個預言機hash方法。
1.完備性:對于所有足夠大的k,對于所有輸入x,以及對于r∈R Rk,我們具有Pr(V(x,H(x,r))≠1)在k上忽略不計的。
2.正確性:對于任意概率多項式時間敵手A,在輸入k,可能性A輸出一個三元組c,x,y,這樣x≠y,以及V(x,c)=V(y,c)=1是忽略不計的。
3.秘密性:對于任意具有二進制輸出的多項式時間敵手A,以及任意擴散好的分布{Xk}:<x,A(H(x,r))>≈<x,A(H(y,r))>。
此處r∈R Rk,以及x,y是從Xk中獨立選取的。如果簽名方法滿足秘密性,則這個簽名方法滿足信息隱藏功能。
構(gòu)造k,rk混淆器
構(gòu)造過程如下。設p為一個大的安全素數(shù),也就是,p=aq+1,此處的a是一個小整數(shù)(為了簡單起見,我們假設a=2)。在中,設Q為次數(shù)為q的子集(也就是說,Q是平方模p的群)。在輸入m和秘密隨機輸入k∈R Q,預言機hash函數(shù)H首先計算r=h(m),r表示結(jié)果,此處h是一個抗碰撞的hash函數(shù);接下來輸出H(m,k)=k,rk。認證算法V是簡單的:給予一個輸入m和一個hash的值<a,b>,計算x=h(m),以及如果ra=b則接受。
對于此混淆器的進一步描述如下:
構(gòu)造(k,rk點混淆器)設g={G}是一個群總體,每個Gn是素數(shù)階數(shù)為p的群。我們定義一個混淆器O,對于點在域有下式:是Gn的一個隨機生成元,以及c(k,rk)一個在輸入r的回路,檢查是否xa=ra。
在決定的Diffie-Hellman假設的強變體下,此構(gòu)造是安全的。
我們分析這個構(gòu)造基于強的Diffie-hellman假設變體,這個變體被用于展現(xiàn),分別的,這個構(gòu)造滿足具有隨機輸入的預言機安全,預言機安全和一個具有先驗消息的預言機安全。
假設1.Diffie-hellman不可辨別性假設:設k為一個安全參數(shù)。設p=2q+1為一個隨機選擇k比特的安全素數(shù),以及設g∈R Q(此處Q是平方模p的群,R為實數(shù))。
DHI假設I:設然后<ga,gb,gab>≈<ga,gb,gc>。
DHII假設II:對于任意擴散好的分布總體{Xq},此處Xq的域是對于a從Xq提出,以及對于我們有<ga,gb,gab>≈<ga,gb,gc>。
DHIII假設III:對于任意不可逆的函數(shù)f,以及對于我們有<f(a),gb,gab>≈<f(a),gb,gc>。
1.能被看出假設III暗含著假設II,以及假設II暗含著假設I。在其他方向,我們不能展示暗含義。
2.當這些假設被考慮強于標準Diffie-hellman假設時(這里給予p,g,ga,gb,僅僅假設gab不能被計算),關(guān)于Diffie-hellman問題,他們看起來與當前的知識一致。特別的,在過去,假設1簡單和精確的展示。不難以理解它是等價于EIGamal加密方法的語義安全,因為二者都是基于有限域上的對數(shù)難分解的困難性問題。
雖然假設II和III看起來相當強大,我們不能反駁他們。我們提出這些假設的可行性作為一個公開的問題。為了獲得保證這些假設的合理性,我們評論一個共同的習慣使用Diffie-hellman密鑰交換模一個大的素數(shù)。
對于構(gòu)造的分析,我們首先考慮一個稍微簡單的版本,此處抗碰撞hash函數(shù)h被忽略,以及輸入被假設從中選擇。
定理1.
1.如果DHI假設I成立,然后對于隨機輸入,函數(shù)H(m,k)=k,rtk伴隨著它的認證算法是一個預言機hash方法。
2.如果DHI假設II成立,然后函數(shù)H(m,k)=k,rtk伴隨著它的認證算法是一個預言機hash方法。
3.如果DHI假設III成立,然后函數(shù)H(m,k)=k,rtk伴隨著它的認證算法是一個預言機hash方法。
實施例四
本申請的實施例四提供了一種簽名方法的安全性證明及安全性分析,具體為:
在這部分,首先驗證信息隱藏的正確性,在進行信息隱藏簽名正確性驗證之前,首先提出一個定理;然后對以上混淆安全的信息隱藏方法經(jīng)行混淆安全證明,主要采用的證明方法是歸約性證明思路。
信息隱藏的正確性
定義2:(不可辨別混淆)一個混淆器算法O,在C中選取輸入一個回路,以及隨后輸出一個一個新的回路,對于回路族C,要成為不可辨別混淆器,必須滿足以上的虛擬黑盒混淆的保持功能性和多項式減緩性能,以及如下的性能(代替虛擬黑盒性能)。
對于足夠大的輸入長度,對于任意回路C1∈cn和回路C2∈cn,對于C1計算相同的功能,這樣|c1|=|c2|,兩個分布O(C1)和O(C2)是(各自的)可計算的/可統(tǒng)計的/完美的不可辨別的。
定理:由完美單向hash函數(shù)構(gòu)造的點函數(shù)混淆器和不可辨別混淆器是等價的。
證明:由完美單向hash函數(shù)構(gòu)造的點函數(shù)混淆器,它在兩個不同輸入的情況下,混淆后的兩個輸出具有相同的功能;不可辨別混淆器是在兩個相同長度的不同輸入后,產(chǎn)生兩個功能相同的輸出。點函數(shù)混淆器在避免隨機預言機和信息隱藏簽名的應用,都是反應了點函數(shù)混淆器應用的實現(xiàn)是通過不可辨別混淆的途徑實現(xiàn)的。
不同的輸出經(jīng)過混淆器之后,產(chǎn)生相同功能的輸出;這與信息隱藏簽名一樣,不同的信息,經(jīng)過簽名之后,實現(xiàn)相同的簽名功能。所以信息隱藏成立。
對于此方法的混淆證明,通過歸約性證明,其實最后可以歸結(jié)為第三部分的點函數(shù)混淆器的混淆安全證明,現(xiàn)在分為兩步,第一步,證明此混淆器滿足混淆的定義的三個特性;第二步,證明此構(gòu)造是完美單向概率的hash函數(shù)。
證明:如下將證明此函數(shù)滿足混淆器的定義:(i)因為首先計算r=h(m),對于一對回路C1和C2,經(jīng)過混淆后的O(C1)和O(C2),其二者在功能上是計算的不可辨別(功能性保持)。(ii)多項式減緩性能顯然成立。(iii)對于任意的概率多項式時間的敵手A,這里存在一個概率多項式時間S和一個可以忽略不計的函數(shù)α,這樣對于所有的回路C:|Pr[A(O(f))=1]-Pr[SC(1C)]|≤α(|C|)(弱的虛擬黑盒特性)。
如果這個混淆器O運行在多項式的時間內(nèi),則這個混淆器是有效的。由于hash函數(shù)處理消息之后,達到混淆的“難以識別特性”。從而此構(gòu)造滿足混淆器成立。
如下將證明此混淆器是語義完美單向性的。一個族總體H={Hn}n∈N,這里存在一個決定的多項式時間算法V。在密鑰空間存在密鑰β,x∈{0,1}n,k屬于一個隨機元,由于h(x)k=Hβ(x,k),所以V(x,Hβ(x,k))=1(完備性成立);對于任意非統(tǒng)一的概率多項式時間A,對于足夠大的n,同時存在忽略不計的函數(shù)u(n),存在消息x1≠x2:由于V(x,Hβ(x,k))=V(x,y),h(x)k=Hβ(x,k),所以V(x,Hβ(x,k))=V(x,h(x)k)。又因為x1≠x2,則:
Pr[β∈Kn,(x1,x2,y)←A(β):V(x1,y)=V(x2,y)=1]<u(n)。(抗碰撞特性成立);對于任意非統(tǒng)一概率多項式時間A,以及多項式p,這里存在一個非統(tǒng)一概率多項式時間模擬器S,這樣對于足夠大的n,任意β和任意消息x,以及隨機輸入一個k∈Rn:
此處的Fx是自變量為x的點函數(shù)。從而此構(gòu)造是語義完美單向性的。
在混淆的定義中,對于點函數(shù)的混淆,采用簡單的方式,注意到語義的完美單向性符合虛擬黑盒性能。因此,一個函數(shù)滿足語義完美單向性是一個點函數(shù)的混淆(具有計算近似功能的)。但是,相反的方面不成立。
本申請的技術(shù)方案在點函數(shù)混淆器的作用下,發(fā)送設備發(fā)送的是所述原始數(shù)字信息x對應的一數(shù)字信息x1,以及所述點函數(shù)混淆器輸出的第二數(shù)字簽名信息y2,因此,對原始數(shù)字信息x實現(xiàn)了隱藏,從而解決了現(xiàn)有技術(shù)中的簽名的原始數(shù)字信息不能隱藏,容易獲得發(fā)送者的真實信息的技術(shù)問題,從而達到隱藏真實信息,提高信息安全性技術(shù)效果。
盡管已描述了本發(fā)明的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。