編輯推薦
本書由教育部高等學校信息安全專業教學指導委員會、中國計算機學會教育專業委員會共同指導,符閤《高等學校信息安全專業指導性專業規範》。
本書全麵介紹可證明安全性的發展曆史及研究成果。全書共5章,第1章介紹可證明安全性涉及的數學知識和基本工具,第2章介紹語義安全的公鑰密碼體製的定義,第3章介紹幾類常用的語義安全的公鑰機密體製,第4章介紹基於身份的密碼體製,第5章介紹基於屬性的密碼體製。
本書取材新穎,不僅包括可證明安全性的基礎理論和實用算法,同時也涵蓋瞭可證明安全性的密碼學的*新研究成果,力求使讀者通過本書的學習瞭解本學科*新的發展方嚮。
本書特彆適閤作為高等院校信息安全、計算機工程和信息對抗等專業的本科生和網絡空間安全學科研究生教材,也可作為通信工程師和計算機網絡工程師的參考讀物。
內容簡介
本書全麵介紹可證明安全性的發展曆史及研究成果。全書共5章,第1章介紹可證明安全性涉及的數學知識和基本工具,第2章介紹語義安全的公鑰密碼體製的定義,第3章介紹幾類常用的語義安全的公鑰機密體製,第4章介紹基於身份的密碼體製,第5章介紹基於屬性的密碼體製。
本書取材新穎,結構閤理,不僅包括可證明安全性的基礎理論和實用算法,同時也涵蓋瞭可證明安全性的密碼學的*新研究成果,力求使讀者通過本書的學習瞭解本學科*新的發展方嚮。
本書適閤作為高等院校信息安全、網絡空間安全、計算機工程、密碼學和信息對抗等相關專業的本科生高年級和研究生教材,也可作為通信工程師和計算機網絡工程師的參考讀物。
作者簡介
楊波,北京大學學士,西安電子科技大學碩士、博士,陝西師範大學計算機科學學院教授、博士生導師,陝西省百人計劃特聘教授,中國密碼學會理事,中國密碼學會密碼算法專業委員會委員,《密碼學報》編委。曾任華南農業大學信息學院、軟件學院院長。2011年起在陝西師範大學計算機科學學院工作。2005年擔任第四屆中國信息和通信安全學術會議程序委員會主席,2009年擔任中國密碼學會年會副主席,2010年起擔任The Joint Workshop on Information Security (JWIS ) Co-General Chair。主持多項國傢自然科學基金、863計劃、國傢密碼發展基金、國防科技重點實驗室基金、陝西省自然科學基金項目。
目錄
第1章一些基本概念和工具1
1.1密碼學中一些常用的數學知識1
1.1.1群、環、域1
1.1.2素數和互素數3
1.1.3模運算4
1.1.4模指數運算6
1.1.5費馬定理、歐拉定理和卡米歇爾定理7
1.1.6歐幾裏得算法10
1.1.7中國剩餘定理13
1.1.8離散對數16
1.1.9二次剩餘17
1.1.10循環群20
1.1.11循環群的選取20
1.1.12雙綫性映射22
1.2計算復雜性22
1.3陷門置換25
1.3.1陷門置換的定義25
1.3.2單嚮陷門置換26
1.3.3陷門置換的簡化定義27
1.4零知識證明27
1.4.1交互證明係統27
1.4.2交互證明係統的定義28
1.4.3交互證明係統的零知識性29
1.4.4非交互式證明係統31
1.4.5適應性安全的非交互式零知識證明31
1.5張成方案與秘密分割方案33
1.5.1秘密分割方案33
1.5.2綫性秘密分割方案34密碼學中的可證明安全性目錄
1.5.3張成方案35
1.5.4由張成方案建立秘密分割方案35
1.6歸約36
第1章參考文獻38第2章語義安全的公鑰密碼體製的定義39
2.1公鑰密碼體製的基本概念39
2.1.1公鑰加密方案39
2.1.2選擇明文攻擊下的不可區分性定義40
2.1.3基於陷門置換的語義安全的公鑰加密方案構造41
2.1.4群上的離散對數問題43
2.1.5判定性Diffie|Hellman(DDH)假設44
2.2公鑰加密方案在選擇密文攻擊下的不可區分性46
2.3公鑰加密方案在適應性選擇密文攻擊下的不可區分性55
第2章參考文獻61
第3章幾類語義安全的公鑰密碼體製63
3.1語義安全的RSA加密方案63
3.1.1RSA加密算法63
3.1.2RSA問題和RSA假設64
3.1.3選擇明文安全的RSA加密64
3.1.4選擇密文安全的RSA加密67
3.2Paillier公鑰密碼係統69
3.2.1閤數冪剩餘類的判定70
3.2.2閤數冪剩餘類的計算71
3.2.3基於閤數冪剩餘類問題的概率加密方案73
3.2.4基於閤數冪剩餘類問題的單嚮陷門置換74
3.2.5Paillier密碼係統的性質75
3.3Cramer�睸houp密碼係統76
3.3.1Cramer�睸houp密碼係統的基本機製76
3.3.2Cramer�睸houp密碼係統的安全性證明77
3.4RSA�睩DH簽名方案79
3.4.1RSA簽名方案79
3.4.2RSA�睩DH簽名方案的描述80
3.4.3RSA�睩DH簽名方案的改進83
3.5BLS短簽名方案84
3.5.1BLS短簽名方案所基於的安全性假設84
3.5.2BLS短簽名方案描述84
3.5.3BLS短簽名方案的改進一86
3.5.4BLS短簽名方案的改進二86
3.6抗密鑰泄露的公鑰加密係統87
3.6.1抗泄露密碼體製介紹87
3.6.2密鑰泄露攻擊模型92
3.6.3基於哈希證明係統的抗泄露攻擊的公鑰加密方案94
3.6.4基於推廣的DDH假設的抗泄露攻擊的公鑰加密方案97
3.6.5抗選擇密文的密鑰泄露攻擊99
3.6.6抗弱密鑰泄露攻擊109
第3章參考文獻111
第4章基於身份的密碼體製113
4.1基於身份的密碼體製定義和安全模型113
4.1.1基於身份的密碼體製簡介113
4.1.2選擇明文安全的IBE114
4.1.3選擇密文安全的IBE方案115
4.1.4選定身份攻擊下的IBE方案116
4.1.5分層次的IBE係統117
4.2隨機諭言機模型下的基於身份的密碼體製118
4.2.1BF方案所基於的睏難問題118
4.2.2BF方案描述119
4.2.3BF方案的安全性120
4.2.4選擇密文安全的BF方案124
4.3無隨機諭言機模型的選定身份安全的IBE128
4.3.1雙綫性Diffie�睭ellman求逆假設128
4.3.2基於判定性BDH假設的IBE和HIBE方案129
4.3.3基於判定性BDHI假設的IBE和HIBE方案131
4.4無隨機諭言機模型下的基於身份的密碼體製134
4.4.1判定性雙綫性Diffie�睭ellman假設134
4.4.2無隨機諭言機模型下的IBE構造134
4.5密文長度固定的分層次IBE143
4.5.1弱雙綫性Diffie�睭ellman求逆假設143
4.5.2一個密文長度固定的HIBE係統144
精彩書摘
第3章幾類語義安全的公鑰密碼體製
3.1語義安全的RSA加密方案3.1.1RSA加密算法
RSA算法是1978年由Rivest、Shamir和Adleman提齣的一種用數論構造的,也是迄今理論上*為成熟完善的公鑰密碼體製,該體製已得到廣泛的應用。它作為陷門置換在1.3.1節中有過介紹,下麵是算法的詳細描述。
設GenPrime是大素數産生算法。
密鑰産生過程:
GenRSA():
p,q←GenPrime();
n=pq,φ(n)=(p-1)(q-1);
選e,滿足1計算d,滿足d·e≡1 mod φ(n)
pk=(n,e),sk=(n,d).
加密(其中Mpk(M):
CT=Me mod n.
解密:
sk(CT):
M=CTd mod n.
下麵證明RSA算法中解密過程的正確性。
證明: 由加密過程知CT≡Me mod n,所以
CTd mod n≡Med mod n≡Mkφ(n)+1 mod n
下麵分兩種情況:
(1) M與n互素。由歐拉定理:
Mφ(n)≡1 mod n,Mkφ(n)≡1 mod n,Mkφ(n)+1≡M mod n
即CTd mod n≡M。密碼學中的可證明安全性第3章幾類語義安全的公鑰密碼體製(2) (M,n)≠1。先看(M,n)=1的含義,由於n=pq,所以(M,n)=1意味著M不是p的倍數也不是q的倍數。因此(M,n)≠1意味著M是p的倍數或q的倍數,不妨設M=tp,其中t為正整數。此時必有(M,q)=1,否則M也是q的倍數,從而是pq的倍數,與M由(M,q)=1及歐拉定理得Mφ(q)≡1 mod q,所以Mkφ(q)≡1 mod q,Mkφ(q)φ(p)≡1 mod q,Mkφ(n)≡1 mod q,因此存在一個整數r,使得Mkφ(n)=1+rq,兩邊同乘以M=tp得Mkφ(n)+1=M+rtpq=M+rtn,即Mkφ(n)+1≡M mod n,所以CTd mod n≡M。
(證畢)
如果消息M是Z*n中均勻隨機的,用公開鑰(n,e)對M加密,則敵手不能恢復M。然而如果敵手發起選擇密文攻擊,以上性質不再成立。比如敵手截獲密文CT≡Me mod n後,選擇隨機數r←RZ*n,計算密文CT′≡re·CT mod n,將CT′給挑戰者,獲得CT′的明文M′後,可由M≡M′r-1 mod n恢復M,這是因為
M′r-1≡CT′dr-1≡reMedr-1≡redMedr-1≡rMr-1≡M mod n
為使RSA加密方案可抵抗敵手的選擇明文攻擊和選擇密文攻擊,需對其加以修改。
3.1.2RSA問題和RSA假設
RSA問題: 已知大整數n,e,y∈Z�硜,滿足1RSA假定: 沒有概率多項式時間的算法解決RSA問題。
3.1.3選擇明文安全的RSA加密
設GenRSA是RSA加密方案的密鑰産生算法,它的輸入為,輸齣為模數n(為2個比特素數的乘積)、整數e、d滿足ed≡1 mod φ(n)。又設H:0,12→0,1��()是一個哈希函數,其中��()是一個任意的多項式。
加密方案Π(稱為RSA�睠PA方案)如下:
(1) 密鑰産生過程:
KeyGen():
n,e,d←GenRSA();
pk=(n,e),sk=n,d.
(2) 加密過程(其中M∈0,1��()):
pk(M):
r←RZ*n;
輸齣re mod n,H(r)�軲.
(3) 解密過程:
skC1,C2:
r=Cd1 mod n;
輸齣H(r)�軨2.
解密過程的正確性顯然。
在對方案進行安全性分析時,將其中的哈希函數視為隨機諭言機。隨機諭言機(random oracle)是一個魔盒,對用戶(包括敵手)來說,魔盒內部的工作原理及狀態都是未知的。用戶能夠與這個魔盒交互,方式是嚮魔盒輸入一個比特串x,魔盒輸齣比特串y(對用戶來說y是均勻分布的)。這一過程稱為用戶嚮隨機諭言機的詢問。
因為這種哈希函數工作原理及內部狀態是未知的,因此不能用通常的公開哈希函數。在安全性的歸約證明中(見圖1��7),敵手需要哈希函數值時,隻能由敵手為他産生。之所以以這種方式使用哈希函數,是因為要把欲攻擊的睏難問題嵌入到哈希函數值中。這種安全性稱為隨機諭言機模型下的。如果不把哈希函數當作隨機諭言機,則安全性稱為標準模型下的,如3.2節的Paillier公鑰密碼係統和3.3節的Cramer�睸houp密碼係統。
定理3��1設H是一個隨機諭言機,如果與GenRSA相關的RSA問題是睏難的,則RSA�睠PA方案Π是IND�睠PA安全的。
具體來說,假設存在一個IND�睠PA敵手以()的優勢攻破RSA�睠PA方案Π,那麼一定存在一個敵手至少以
AdvRSA()≥2()
的優勢解決RSA問題。
證明: Π的IND�睠PA遊戲如下。
ExpRSA�睠PAΠ,()
n,e,d←GenRSA();
pk=(n,e),sk=n,d;
H←RH:0,12→0,1��();
M0,M1←sk(·),H(·)(pk),其中M0=M1=��();
β←R0,1,r←RZ*n,C��=re mod n,H(r)�軲β;
β′←sk,≠C��(·),H(·)(pk,C��);
如果β′=β,則返迴1;否則返迴0.
其中H:0,12→0,1��()錶示0,12到0,1��()的哈希函數族,sk,≠C��(·)錶示敵手不能對C�撤夢蕇k(·)。敵手的優勢定義為安全參數的函數:
AdvRSA�睠PAΠ,()=PrExpRSA�睠PAΠ,()=1-12
下麵證明RSA�睠PA方案可歸約到RSA假設。
敵手已知(n,e,c^1),以(攻擊RSA�睠PA方案)作為子程序,進行如下過程(圖3��1),目標是計算r^≡(c^1)1/e mod n。
圖3��1RSA�睠PA方案到RSA的歸約
(1) 選取一個隨機串h^←R{0,1}��(),作為對H(r^)的猜測值(但是實際上並不知道r^)。將公開鑰(n,e)給。
(2) H詢問: 建立一個錶Hlist(初始為空),元素類型xi,hi,在任何時候都能發齣對Hlist的詢問,做如下應答(設詢問為x):
�r 如果x已經在Hlist,則以x,h中的h應答。
�r 如果xe≡c^1 mod n,以h^應答,將(x,h^)存入錶中,並記下r^=x。
�r 否則隨機選擇h←R{0,1}��(),以h應答,並將(x,h)存入錶中。
(3) 挑戰。輸齣兩個要挑戰的消息M0和M1,隨機選擇β←R{0,1},並令c^2=h^�軲β,將c^1,c^2給作為密文。
(4) 在執行結束後(在輸齣其猜測β′之後),輸齣第(2)步記下的r^=x。
設錶示事件: 在模擬中發齣H(r^)詢問,即H(r^)齣現在Hlist中。
斷言3��1在以上模擬過程中,的模擬是完備的。
證明: 在以上模擬中,的視圖與其在真實攻擊中的視圖是同分布的。這是因為
(1) 的H詢問中的每一個都是用隨機值來迴答的。而在對Π的真實攻擊中,得到的是H的函數值,由於假定H是隨機諭言機,所以得到的H的函數值是均勻的。
(2) 對來說,h^�軲β為h^對Mβ做一次一密加密。由h^的隨機性,h^�軲β對來說是隨機的。
所以兩種視圖不可區分。
(斷言3��1證畢)
斷言3��2在上述模擬攻擊中Pr≥2。
證明: 顯然有PrExpRSA�睠PAΠ,()=1=12。又由在真實攻擊中的定義知的優勢大於等於,得在模擬攻擊中的優勢也為
Pr[ExpRSA�睠PAΠ,()=1]-12≥
PrExpRSA�睠PAΠ,()=1=PrExpRSA�睠PAΠ,()=1|Pr
+PrExpRSA�睠PAΠ,()=1|Pr
≤PrExpRSA�睠PAΠ,()=1|Pr+Pr
=12Pr+Pr=12(1-Pr)+Pr
=12+12Pr
又知:
PrExpRSA�睠PAΠ,()=1≥PrExpRSA�睠PAΠ,()=1Pr
=12(1-Pr)
=12-12Pr
所以≤PrExpCPAΠ,()=1-12≤12Pr,即模擬攻擊中Pr≥2。
(斷言3��2證畢)
由以上兩個斷言,在上述模擬過程中r^以至少2的概率齣現在Hlist。若發生,則在第(2)步可找到x滿足xe=c^1 mod n,即x≡r^≡(c^1)1/e mod n。所以成功的概率與發生的概率相同。
(定理3��1證畢)
定理3��1已證明Π是IND�睠PA安全的,然而它不是IND�睠CA安全的。敵手已知密文CT=C1,C2,構造CT′=C1,C2�軲′,給解密諭言機,收到解密結果為M″=M�軲′,再由M″�軲′即獲得CT對應的明文M。
3.1.4選擇密文安全的RSA加密
因為選擇密文安全的單鑰加密方案的構造較容易,本節利用選擇密文安全的單鑰加密方案構造選擇密文安全的公鑰加密方案。
單鑰加密方案Π=(PrivGen,Enc,Dec)的選擇密文安全性由以下IND�睠CA遊戲來刻畫。
ExpPriv�睠CAΠ,():
kpriv←PrivGen();
M0,M1←Enckpriv(·),Deckpriv(·),其中M0=M1=��();
β←R0,1,C��=Enckpriv(Mβ);
β′←Enckpriv(·),Deckpriv,≠C��(·)(C��);
如果β′=β,則返迴1;否則返迴0.
其中Deckpriv,≠C��(·)錶示敵手不能對C�撤夢蔇eckpriv(·)。敵手的優勢可定義為安全參數的函數:
AdvPriv�睠CAΠ,()=PrExpPriv�睠CAΠ,()=1-12
單鑰加密方案Π的安全性定義與定義2��2、定義2��6、定義2��7類似。
設GenRSA及H如前,Π=(PrivGen,Enc,Dec)是一個密鑰長度為,消息長度為��()的IND�睠CA安全的單鑰加密方案。
選擇密文安全的RSA加密方案Π′=(KeyGen,,)(稱為RSA�睠CA方案)構造如下。
(1) 密鑰産生過程:
KeyGen():
n,e,d←GenRSA();
pk=(n,e),sk=n,d.(2) 加密過程(其中M∈0,1��()):
pk(M):
r←RZ*n;
h=H(r);
輸齣re mod n,Ench(M).
(3) 解密過程:
skC1,C2:
r=Cd1 mod n;
h=H(r);
輸齣Dech(C2).
定理3��2設H是隨機諭言機,如果與GenRSA相關的RSA問題是睏難的,且Π是IND�睠CA安全的,則RSA�睠CA方案Π′是IND�睠CA安全的。
具體來說,假設存在一個IND�睠CA敵手以()的優勢攻破RSA�睠CA方案Π′,那麼一定存在一個敵手至少以
AdvRSA()≥2()
……
前言/序言
21世紀是信息時代,信息已成為社會發展的重要戰略資源,社會的信息化已成為當今世界發展的潮流和核心,而信息安全在信息社會中將扮演極為重要的角色,它會直接關係到國傢安全、企業經營和人們的日常生活。 隨著信息安全産業的快速發展,全球對信息安全人纔的需求量不斷增加,但我國目前信息安全人纔極度匱乏,遠遠不能滿足金融、商業、公安、軍事和政府等部門的需求。要解決供需矛盾,必須加快信息安全人纔的培養,以滿足社會對信息安全人纔的需求。為此,教育部繼2001年批準在武漢大學開設信息安全本科專業之後,又批準瞭多所高等院校設立信息安全本科專業,而且許多高校和科研院所已設立瞭信息安全方嚮的具有碩士和博士學位授予權的學科點。
信息安全是計算機、通信、物理、數學等領域的交叉學科,對於這一新興學科的培養模式和課程設置,各高校普遍缺乏經驗,因此中國計算機學會教育專業委員會和清華大學齣版社聯閤主辦瞭“信息安全專業教育教學研討會”等一係列研討活動,並成立瞭“高等院校信息安全專業係列教材”編審委員會,由我國信息安全領域著名專傢肖國鎮教授擔任編委會主任,指導“高等院校信息安全專業係列教材”的編寫工作。編委會本著研究先行的指導原則,認真研討國內外高等院校信息安全專業的教學體係和課程設置,進行瞭大量前瞻性的研究工作,而且這種研究工作將隨著我國信息安全專業的發展不斷深入。係列教材的作者都是既在本專業領域有深厚的學術造詣、又在教學*綫有豐富的教學經驗的學者、專傢。
密碼學中的可證明安全性/網絡空間安全重點規劃叢書 下載 mobi epub pdf txt 電子書 格式