当前位置:文档之家› 第九章基于身份的公钥密码体制

第九章基于身份的公钥密码体制


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在“密码学的新方向” 一文中提出了公钥密码的新概念,奠定了 公钥密码学的基础 公钥技术是二十世纪最伟大的思想之一
相关主题