第九章基于身份的公钥密码体制
公钥密码体制加密及签名的原理

公钥密码体制加密及签名的原理
公钥密码体制是一种使用公钥加密和私钥解密的密码体制。
它有两个主要的应用:加密和签名。
加密的原理:加密方使用接收方的公钥将明文加密,加密后的密文只能使用接收方的私钥进行解密。
这样,只有接收方才能解密得到明文,从而实现了加密和保护数据的目的。
签名的原理:签名方使用自己的私钥对消息进行签名,签名后的消息和签名一起传送给验证方。
验证方使用签名方的公钥对接收到的签名进行验证,如果验证成功,则说明消息的真实性和完整性得到了保证。
因为私钥是唯一的,只有签名方能够生成正确的签名,其他人无法伪造签名,因此可以使用签名来验证消息的身份和完整性。
公钥密码体制的安全性基于两个关键问题:一是计算性难题的难解性,例如大数分解问题和离散对数问题;二是公钥和私钥的关联性,即通过公钥无法计算出私钥。
公钥密码体制通过使用不同的数学原理和算法来实现加密和签名功能,常用的公钥密码体制包括RSA算法、椭圆曲线密码算法(ECC)和椭圆曲线数字签名算法(ECDSA)等。
这些算法利用数论、代数和椭圆曲线等数学原理,结合计算机算法的运算和模运算,在保证安全性的前提下,实现了公钥密码体制的加密和签名功能。
公钥密码体制

如果序列为超递增序列,则背包问题则是P类问题。
14
MH背包密码的基本思想
利用实际上存在两类不同的背包问题,一类在线性时间 内可解(超递增背包问题),而另一类不能(普通背包问题)。 易解的背包问题可以转化成难解的背包问题。公钥使用难解 的背包问题,它可很容易地被用来加密明文但不能用来解密 密文。私钥使用易解的背包问题,它给出一个解密的简单方 法。不知道私钥的人要破解密文就不得不解一个难解的背包 问题。
i=1
利用已知u并根据uv=1 (mod p) ,可求得v。
下面作变换称为墨科-赫尔曼(Merkle-Hellman)变换:
ak≡ubk(mod p),k=1,2,…,n 非超递增序列{ai}和p作为公钥; 超递增序列{bi}和v作为私钥;
12
背包问题
已知一长度 b 的背包及长度分别为 a1,a2,… ,an 的 n 个物品。假定这些物品的半径和背包相同,若从这 n 个物品 中选出若干物品使得恰好装满这个背包。
公式化的描述为:给定一个正整数集A={a1,a2,…,an},已 知b是A的某子集中元素的和。问题是,找到一个n元的0 、1
向量X=(x1,x2,…,xn)使得:
n
∑ aixi = b
i =1
这是一个NP问题。
其中a1, a2, … , an 和 b 都是正整数。
13
超递增序列
如果序列 a1, a2, … , an 满足条件:
i −1
∑ ai > a j (i = 2,3,..., n) j =1
则称该序列为超递增序列。 例如: {1,2,4,8, … ,2n }
基于身份的公钥密码学

在通常意义下的公钥密码学中,公钥 (public-key) 是借助某个有效单向函数作用 ek ek d 于私钥(private-key)而产生的。也就是说, d 对事先选定好的一个有效单向函数,有 public-key = F (private-key). (7.1) 这种公钥看起来有一定的随机性。即从公 钥本身,看不出该公钥与公钥所有者之间 有任何的联系。当有一条机密信息要用某 一公钥加密后发送给指定的接受者时,发 送者必须确定这个看起来有点随机性的公
19:37 8
Shamir提出的基于身份(ID)的数字签名 体制由下列四个步骤组成:
参数建立(Setup):
TA完成:产生整个系统 的参数及主密钥(master-key)。 用户私钥生成(User-key-generation): TA 完成:利用master-key及用户传输的任意比 特串id,产生相对于id的用户的私(privatekey)。 签名(Sign): 签名者完成: 对输入的信息m, 用签名者的私钥对信息m进行签名sig。 验证(Verify): 用户完成: 对输入的信息m 及相应的签名sig,利用id验证签名的 真 伪性。
19:37 7
由于用户的私钥由TA生成,所以用户必须 绝对无条件地信任TA,也就是说,用户不 用担心TA读取了用户之间所有的秘密通 信,或伪造他们的签名。因此,基于身份 的密码系统只适用在用户接受对TA无条 件信任的环境。比如在雇主可完全知道他 的所有雇员的来往信息的环境中,雇主就 可担当TA的角色。 7. 1. 1 Shamir的基于身份的数字签名体,公钥是经由私钥来生成的,私钥是 事先精心挑选好的。 在Shamir的基于身份的公钥密码系统. TA由(7. 2)生成用户私钥的计算一般不公开。 在TA为用户生成私钥前,TA需要彻底检验 用户的身份信息,用户提供的身份信息必须 能使TA确信它能唯一准确地识别出用户。 这类似于在一般公钥密码系统中,CA在签 发公钥证书给用户之前需要对用户作身份检 验。
基于身份公钥密码体制在电子商务安全中的应用

避免了基于证书公钥密码体制下,繁琐的数字证书管理用于解决电子商务安全时带来的问题。
关键词:基于身份公钥密码体制 基于证书公钥密码体制 电子商务 密钥
中图分类号:TP319.3
文献标识码:A
文章编号:1672-3791(2009)08(a)-0226-01
随着信息技术的迅猛发展,传统的商 务交易模式逐步向基于互联网开展的电子 商 务 交 易 新 模 式 转 变 。互 联 网 的 开 放 性 和 匿名性使得电子商务的安全性受到严峻挑 战, 制约了电子商务交易的应用与发展。为 使基于互联网的电子商务交易与传统交易 一样安全可靠,基于证书公钥密码体制下 形成的公钥基础设施PKI(public key infrastructure),能够保障电子商务的信息 安全需求,是目前解决电子商务安全问题 中 可 行 且 有 效 的 措 施 。在 基 于 证 书 公 钥 密 码体制下,公钥的分配使用数字证书实现, 由于涉及到繁杂的证书管理问题,从而给 实际应用带来很大限制。因此, 使用基于身 份公钥密码体制解决电子商务安全问题成 为目前值得关注的问题。
(2)密码服务器使用其主密钥生成用户 A的私钥,并通过安全信道传输给用户A。
(3)用户A使用其私钥对交易信息生成
数字签名,并将交易信息及其数字钥对数字签 名进行验证,如果与一起发送的交易信息 相同,用户B能确信交易信息确实由用户A 发 送 ;否 则 , 拒 绝 接 受 。
参考文献
[1] A Shamir. Identity-based cryptosystems and signature schemes[C], Advances i n C r y p t o l o g y - C r y p t o ’1 9 8 4 , L N C S 196.Berlin:Springer-Verlag,1984:47~ 53.
基于身份的公钥密码体制

ˆ(SID ,U )) m V H 2 (e
9.3基于身份的签名体制
2002年,Hess提出了一个基于身份的签名 方案,由四个算法组成:系统建立、密钥 提取、签名和验证。
1.系统建立 H ˆ e G G G 设 G 1 为由 P 生成的循环加法群,阶为 q , G 2 为具有相同阶 q 的循环乘法 H {0,1} G Z sZ {0,1} G 群, : 为一个双线性映射。定义两个安全的哈希函数 : 和 : 。PKG随机选择一个主密钥 ,计 算Ppub=sP。PKG公开系统参数{G1, G2, q, ê, P, Ppub, H1, H2},保 密主密钥s。 2.密钥提取 给定一个用户的身份ID,PKG计算该用户的私钥SID=sQID并把此值 安全地发送给该用户,其中QID=H1(ID)为该用户的公钥。 ˆ( P, P) , v H (m, r), u vS kP r e 3.签名 对于消息m,首先随机选取一个整数,然后计算: 则m的签名为(u, v)。 ˆ(u, P)e ˆ(Q , P ) r e 4.验证 对于消息签名对(m, (u, v)),首先计算: 然后验证:
基于证书的公钥密码体制缺点
使用任何公钥前都需要先验证公钥证书的 合法性,增加了用户的计算量; CA需要管理大量的证书,包括证书的撤销、 存储和颁发。
2.基于身份的公钥密码体制
为了简化密钥管理,Shamir于1984年首次提出了基于身 份的密码体制(identity-based cryptography)的概念。 在基于身份的密码体制中,用户的公钥可以根据用户的身 份信息(姓名、身份证号码、电话号码、E-mail地址等) 直接计算出来,用户的私钥则是由一个称为私钥生成中心 (private key generator, PKG)的可信方生成。基于身份 的密码体制取消了公钥证书,减少了公钥证书的存储和合 法性验证。但是,基于身份的密码体制有一个致命的缺点, 所有用户的私钥都由PKG生成。PKG知道所有用户的私钥 不可避免地引起密钥托管问题,因此,PKG可以容易地冒 充任何用户,且不被发现。在一个基于身份的加密方案中, PKG可以解密任何密文,在一个基于身份的签名方案中, PKG可以伪造任何消息的签名。自1984年以来,相继提 出了许多实用的基于身份的签名方案,但一个满意的基于 身份的加密方案直到2001年才被找到。
第九章 基于身份的公钥体制

问题
一种是使用证书的公钥基础设施(PKI,Public Key Infrastructure) 另一种是基于身份的公钥密码学(Identity-based Public-key Cryptography)
两种体制的相同点
不管是基于PKI还是基于身份的密码,都是公钥
算法,都能够完成签名、密钥分配、加密等功
意义
在一个逻辑步骤内能够同时验证两件事是基于
ID签名方案所提供的一个很好的特征
能够避免从签名者到验证者的证书传递,节约 通信带宽 这种特性给基于ID的密码体制带来另一个名字 :非交互式的公钥密码体制(Non-interactive
Public Key Cryptography)
非交互式的公钥密码体制在基于ID的加密系统
系统参数建立
用户密钥生成
签名与验证
说明
Boneh和Franklin的基于ID的密码体制
在Boneh和Franklin的基于ID的密码体制中由
四个算法组成:
系统参数的建立 Trent运行该算法来生成系统的全 局参数和主密钥; 用户密钥的生成 Trent 运行该算法:输入主密钥和 一个任意的比特串Id{0,1}*,该算法输出相应于Id 的私钥 加密 这是个概率算法,用公钥id来加密消息; 解密 把密文和私钥输入该算法,最后,返回相应的
公钥与拥有者的关联
由于每一个公钥都包含着一段看似随机的成分,显然有必要 让主体(用户)的公钥以一种可验证的和可信的方式与主体 (用户)的身份信息相关 很显然,为了传递一条用公钥加密的秘密消息,发送者必须 确信这个看似随机的公钥的确属于所声称的签名人 通常,在实际应用中为了应用公钥密码系统,我们需要一个 能够简单验证公钥与主体身份相关的验证机制 这样的机制可以在认证框架中实现:公钥的拥有者可以向系 统认证 在上式中的一般公钥密码学意义下的密钥生成过程导致了所 有公钥的随机化 在认证过程中,把一个主体的公钥与他的身份消息结合起来 是十分必要的
公钥密码体制课件

THANKS
感谢观看
云计算与大数据
数据存储加密
对存储在云端的数据进行加密,确保数据的安全性和 隐确保只有授权用户 能够访问云端数据。
容灾备份
在大数据场景中,公钥密码体制用于容灾备份数据的 加密和完整性校验。
04
公钥密码体制的实现技术
RSA算法
总结词
RSA算法是一种非对称加密算法,基于数论中的一些基础性质,使用一对公钥和私钥进行加密和解密操作。
数据完整性
通过数字签名等技术,公钥密码体 制能够确保数据的完整性和真实性。
身份认证
公钥密码体制可用于身份认证,验 证发送方的身份,防止伪造和冒充。
公钥密码体制的历史与发展
历史
公钥密码体制的思想起源于20世纪 70年代,最早的公钥密码体制是RSA 算法。
发展
随着技术的不断进步,公钥密码体制 的应用越来越广泛,涉及到网络安全、 电子支付、电子政务等领域。
证书吊销与信任链管理
在公钥密码体制中,证书用于验证公 钥的合法性,但证书可能被吊销或受 到信任链上的信任问题影响。
管理证书吊销列表和信任链的有效性 是确保公钥密码体制安全的重要环节, 需要定期检查和更新证书状态,以及 在必要时撤销或更新信任链。
06
公钥密码体制的未来展望
新算法的研究与发展
算法优化
详细描述
RSA算法由Rivest、Shamir和Adleman于1977年提出,是目前应用最广泛的公钥密码算法之一。其安全性基于 大数质因数分解的困难性,通过选取适当的参数,能够保证很高的安全性。RSA算法可用于加密、数字签名等应 用场景。
ECC算法
总结词
ECC算法是一种基于椭圆曲线的公钥密码算法,具有密钥长度相对较小、加密速度快、安全性高等优 点。
基于身份的公钥密码系统的研究

基于身份的公钥密码系统的研究在传统的公钥密码系统中,用户公钥证书的签发、传输、验证、查询和存储等都需要耗费大量时间和成本。
为了简化该系统中的证书管理问题,提高公钥密码系统的效率,1985年,Shamir提出了基于身份的公钥密码系统(Identity-Based Cryptosystem, IBC)这一概念。
在IBC中,用户的身份与其公钥以最自然的方式捆绑在一起,用户的身份信息作为用户公钥,用户的私钥则由私钥生成中心(Private Key Generator, PKG)生成。
IBC使得任意两个用户可以直接通信,不需要交换公钥证书,不必保存公钥证书列表,也不必使用在线的第三方,简化了公钥证书的管理过程,降低了计算和存储开销。
正因为如此,IBC可以作为传统公钥密码系统的一个很好的替代,尤其是在储存和计算受限的环境下。
本文从IBC数学基础安全性、IBC机制以及IBC机制安全性三个层面出发,较为完整系统地介绍了IBC相关理论,回答了人们关注的四大问题:1.我们为什么要研究IBC?与传统公钥密码系统相比,IBC有哪些优势?2.IBC还有哪些问题值得研究?3.我们为什么相信IBC是安全的?4.IBC涉及到哪些关键技术?本文的研究可分为三大部分:第一部分,主要从IBC系统数学基础安全性的层面介绍椭圆曲线和双线性对相关理论知识,重点研究了椭圆曲线数点问题与Dirichlet特征和的算术性质。
主要研究成果如下:1.较系统地研究了IBC数学基础的安全性。
从椭圆曲线理论着手,首先简要地介绍了椭圆曲线的算术理论,然后通过椭圆曲线的除子理论引进Weil对的概念,重点对除子和Weil对的相关性质展开讨论,并给予了证明;接着简要介绍了如何通过变形映射将Weil对转化成有效的双线性对。
由于基于双线性的数学困难问题和假设是构建IBC系统安全性的数学基础,而安全性的高低直接决定了一个密码方案的安全强度,所以我们对几种比较流行的基于双线性对的数学困难问题进行了分析和比较,研究结果表明,使用双线性对技术的基于身份公钥机制的数学基础安全性可归结为所选取的椭圆曲线上离散对数问题(ECDLP)的难解性,针对现有的各种ECDLP求解方法,我们对如何建立安全有效椭圆曲线进行了讨论。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
21
Boneh-Franklin IBE Scheme
初始化(t)
M = {0,1}n C = G1* × {0,1}n
params = q, G1, G2, e, n, g, P, H1, H2 master-key = s
私钥生成(ID)
dID=s H1(ID)
22
Boneh-Franklin IBE Scheme
加密 (M)
选取随机数 r∈Zq* R=rg, M⊕H2(e(H1(ID),P)r)
解密(C=(U, V))
V ⊕ H2(e(dID,U))
正确性证明 H2(e(dID,U)) =H2(e(sH1(ID), rg) )= H2(e(H1(ID), g)sr =H2(e(H1(ID), sg)r )= H2(e(H1(ID),P)r)
23
Boneh-Franklin IBE Scheme
效率 加密: 1 scalar multiplication in G1 1 map-to-point hash operation, 1 pnent in G2, 1 hash (H2) operation, and 1 XOR operation.
A B pub A B B A pub B A
基于身份的签密体制
2003年,Libert和Quisquater提出了一个基 于身份的签密方案,由四个算法组成:系统 建立、密钥提取、签密和解签密。
基于身份的签密体制
(可选)加密和解密的顺序可交换
基本思想
加密与解密由不同的密钥完成 加密: XY: Y = EKU(X) 解密: YX: X = DKR(Y) = DKR(EKU(X)) 从解密密钥得到加密密钥在计算上是不可行的 加密与解密的顺序没有限制(不是必须的) X = DKR(EKU(X)) = EKU(DKR(X)) 若X=Y且映射E: XY是映上的,则成立 EKU(X) = EKU(DKR(EKU(X))) 若X=Y且为有限集合(例如分组密码),则E: XY是 映上的,从而成立
基于身份的密钥协商协议
3.密钥交换。 如果用户A和B想协商出一个密钥,他们执行以下步 骤: ① A随机选取,计算TA=aP,并将TA发送给B。 ② B随机选取,计算TB=bP,并将TB发送给A。 ③ A计算k eˆ(aQ , P )eˆ(S ,T ) 。 ④ B计算 k eˆ(bQ , P )eˆ(S ,T ) 。 这样用户A和B就建立了一个共享密钥k = V(kA) = V(kB)。
28
Shamir IBS Scheme
效率 签名和验证分别需要 2 integer exponentiations, 1 integer multiplication and 1 hash operation. 安全性:分解因子问题困难Integer Factorization Problem (IFP).
29
基于身份的密钥协商协议
1.系统建立 设G1为由P生成的循环加法群,阶为q,G2为具有相同阶q 的循环乘法群,:为一个双线性映射。定义一个安全的哈 希函数:和一个密钥导出函数V。PKG随机选择一个主密钥, 计算Ppub=sP。PKG公开系统参数{G1, G2, q, ê, P, Ppub, H1, V},保密主密钥s。 2.密钥提取 给定一个用户的身份ID,PKG计算该用户的私钥SID = sQID并把此值安全地发送给该用户,其中QID=H1(ID) 为该用户的公钥。在这里我们设用户A的身份为IDA,公钥 为QA,私钥为SA,用户B的身份为IDB,公钥为QB,私钥 为SB。
16
基于身份的加密体制
初始化
输入: 安全参数 t 输出: 系统参数params和主密钥master-key
提取私钥
输入: 系统参数params和主密钥master-key 用户身份 ID∈{0,1}* 输出: 用户私钥dID
17
基于身份的加密体制
加密
输入: 系统参数params,明文M∈M, 明文接收者公钥(身份)ID∈{0,1}*, 输出: 密文C 输入: 系统参数params,密文C ∈C ,接收者私 钥dID, 输出: 明文M
27
Shamir IBS Scheme
签名: A 用私钥 g 签署消息 m: 1. 选取随机整数 r,计算t = r^e mod n 2. 计算s = g*r^h(t,m) mod n Signature: σ = <s, t>∈ Zn × Zn. 验证: 验证者收到签名 σ = <s’, t’> ,消息m’和签名者的 公钥(身份ID),验证下式是否成立 s’^e= ID*t’ ^h(t’,m’) mod n.
《现代密码学》第九章
基于身份的密码体制
1
本讲主要内容
基于身份的密码系统(IBC)的提出 基于身份的加密体制(IBE)的定义
Boneh-Franklin IBE方案 Shamir IBS方案
基于身份的签名体制(IBS)的定义
基于身份的密钥协商(IBKA)的定义
Scott IBS方案
2
15
基于身份的加密体制
1984年以色列科学家Shamir提出了基于身份的密 码系统的概念(IBC)。 2001年,D. Boneh和M. Franklin , R. Sakai, K. Ohgishi 和 M. Kasahara利用椭圆曲线上的双线性 对设计了基于身份的加密算法。 2001年C. Cocks利用平方剩余难题设计了基于身 份的加密算法。 D. Boneh和M. Franklin提出的IBC (BF-IBC)的安全 性可以证明并且有较好的效率,所以引起了极大 的反响。
输入: 安全参数 t 输出: 系统参数params和主密钥master-key
提取私钥( Extract )
输入: 系统参数params和主密钥master-key 用户身份 ID∈{0,1}* 输出: 用户私钥dID
25
基于身份的签名体制
签名( Sign )
输入: 系统参数params,消息M∈M, 签名者的私钥dID. 输出: 签名σ∈S 输入: 系统参数params, 签名σ∈S ,签名者公 钥(身份)ID∈{0,1}*,消息M∈M. 输出: “Accept” 或者 “Reject”.
26
验证( Verify )
Shamir IBS Scheme
Shamir提出了一个采用RSA算法的IBS算法。 初始化: 1. 选取两个大素数p,q,计算它们的乘积n;选 取与Φ(n)互素的整数 e ; 选取一个单向函数h. 参数: n, e, h; 主密钥: n 的因子. 提取私钥: 给定用户的 ID, PKG计算用户的私钥 g ,满足 g^e =ID mod n.
基于证书的公钥密码体制
每个用户的公钥都伴随一个公钥证书,这个 公钥证书由CA签发。公钥证书是一个结构 化的数据记录,它包括了用户的身份信息、 公钥参数和CA的签名。任何人都可以通过 验证证书的合法性(CA的签名)来认证公 钥。如果一个用户信任CA,那么,在他验 证了另一个用户的证书的有效性后,他就应 该相信公钥的真实性。
效率 解密: 1 pairing operation, 1 hash operation (H2) 1 XOR operation.
安全性假设:BDHP困难: C,P,H(ID),求(g,g)^rst,其中 C=rg,P=sg,H(ID)=tg,
24
基于身份的签名体制
初始化(Setup)
用公钥密码实现保密
用户拥有自己的密钥对(KU,KR)
公钥KU公开,私钥KR保密 AB: Y=EKUb(X) B: DKRb(Y)= DKRb(EKUb(X))=X
用公钥密码实现认证
条件:
加密与解密的顺序没有限制
认证:
AALL: Y=DKRa(X) ALL: EKUa(Y)=EKUa(DKRa(X))=X 认证+保密: AB: Z= EKUb(DKRa(X)) B: EKUa(DKRb(Z))=X
基于证书的公钥密码体制缺点
使用任何公钥前都需要先验证公钥证书的合 法性,增加了用户的计算量; CA需要管理大量的证书,包括证书的撤销、 存储和颁发。
基本思想和要求
涉及到各方:发送方、接收方、攻击者 涉及到数据:公钥、私钥、明文、密文 公钥算法的条件: 产生一对密钥是计算可行的 已知公钥和明文,产生密文是计算可行的 接收方利用私钥来解密密文是计算可行的 对于攻击者,利用公钥来推断私钥是计算不可行的 已知公钥和密文,恢复明文是计算不可行的
安全性假设: BDHP 是困难的
20
Boneh-Franklin IBE Scheme
初始化 (t)
用 t 生成一个素数 q 生成阶为q的循环群 G1, G2, 及一个双线性映射e: G1×G1 → G2 任意选取一个生成元 g∈G1 选取一个随机数 s∈Zq* 令 P= sg 选取两个密码学hash函数: H1:{0,1}* →G1* 和 H2:G2 → {0,1}n
公钥密码学的简单模型
公钥密码学的历史
76年Diffie和Hellman在“密码学的新方向” 一文中提出了公钥密码的新概念,奠定了 公钥密码学的基础 公钥技术是二十世纪最伟大的思想之一