编辑推荐
本书由教育部高等学校信息安全专业教学指导委员会、中国计算机学会教育专业委员会共同指导,符合《高等学校信息安全专业指导性专业规范》。
本书全面介绍可证明安全性的发展历史及研究成果。全书共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年批准在武汉大学开设信息安全本科专业之后,又批准了多所高等院校设立信息安全本科专业,而且许多高校和科研院所已设立了信息安全方向的具有硕士和博士学位授予权的学科点。
信息安全是计算机、通信、物理、数学等领域的交叉学科,对于这一新兴学科的培养模式和课程设置,各高校普遍缺乏经验,因此中国计算机学会教育专业委员会和清华大学出版社联合主办了“信息安全专业教育教学研讨会”等一系列研讨活动,并成立了“高等院校信息安全专业系列教材”编审委员会,由我国信息安全领域著名专家肖国镇教授担任编委会主任,指导“高等院校信息安全专业系列教材”的编写工作。编委会本着研究先行的指导原则,认真研讨国内外高等院校信息安全专业的教学体系和课程设置,进行了大量前瞻性的研究工作,而且这种研究工作将随着我国信息安全专业的发展不断深入。系列教材的作者都是既在本专业领域有深厚的学术造诣、又在教学*线有丰富的教学经验的学者、专家。
密码学中的可证明安全性/网络空间安全重点规划丛书 epub pdf mobi txt 电子书 下载 2024
密码学中的可证明安全性/网络空间安全重点规划丛书 下载 epub mobi pdf txt 电子书 2024