An Introduction to Pairing-Based Cryptography学习笔记

Alfred Menezes 2005年论文《An Introduction to Pairing-Based Cryptography》。

1. DLP & DHP & BDHP &DDHP

显然地,DHP可reduce in polynomial time to the DLP,在某些特殊情况下,DLP亦可reduce in polynomial time to the DHP。

1.1 DLP

自1975年发明了公钥密码学以来,DLP(discrete logarithm problem)就被广泛研究。
DLP in an additively-written group G=<P>G=<P> of order nn为:已知PQP和Q,找到相应的整数x[0,n1]x\in[0,n-1],使得Q=xPQ=xP
在精心选择的groups【如multiplicative group of a finite field或者是the group of points on an elliptic curve defined over a finite field】中,人们相信DLP是难以**的。

1.2 DHP

DHP(Diffie-Hellman problem)为:已知P,aP,bPP, aP, bP,求得abPabP
DHP基于的场景为W. Diffie 和 M. Hellman 1976年论文《New directions in cryptography》构建的双方公钥交换。详细的思路为Alice拥有私钥aa,将对应的公钥aPaP发送给Bob;Bob拥有私钥bb,将相应的公钥bPbP发送给Alice,基于各自的私钥Bob和Alice可构建一致的公钥K=abPK=abP。对于双方传输中存在的窃听者Eva,其仅知P,aP,bPP, aP, bP,是否可计算获得abPabP值?
An Introduction to Pairing-Based Cryptography学习笔记
若想推广至三方公钥共识,则可采用two-round两轮方式来实现:
An Introduction to Pairing-Based Cryptography学习笔记
是否可将上图的Three-party two-round key agreement protocol转化为Three-party one-round key agreement protocol呢?答案是:2000年,Joux[32] 借助bilinear pairings实现很简单就实现了Three-party one-round key agreement protocol。【另外两个基于pairings的主要应用为: identity-based encryption scheme (D. Boneh和M. Franklin 2001年论文《Identity-based encryption from the Weil pairing》);short signature scheme(D. Boneh, B. Lynn和H. Shacham 2001年论文《Short signatures from the Weil pairing》)。】

1.3 BDHP

BDHP(bilinear Diffie-Hellman problem)为:【pairing-based protocols的security依赖于BDHP的难度。】
An Introduction to Pairing-Based Cryptography学习笔记
BDHP的难度意味着DHP在G1G_1G2G_2中的难度。

An Introduction to Pairing-Based Cryptography学习笔记

1.4 DDHP

DDHP(decisional Diffie-Hellman problem)为:
An Introduction to Pairing-Based Cryptography学习笔记

2. PBC——pairing-based cryptography

2.1 Bilinear pairings

Bilinear pairing定义及属性为:
An Introduction to Pairing-Based Cryptography学习笔记

2.2 Joux’s three-party one-round key agreement protocol

An Introduction to Pairing-Based Cryptography学习笔记
Alice, Bob和Chris三方共享的公钥为K=e^(bP,cP)a=e^(P,P)abcK=\hat{e}(bP,cP)^a=\hat{e}(P,P)^{abc}。对于窃听者Eva来说,需要解决BDHP难题才能获取KK值。

借助multilinear map e^n:G1l1GT\hat{e}_n:G_1^{l-1}\mapsto G_T,该协议可扩展至ll-party one-round protocol。尽管当l>3l>3时,相应的multilinear map可能不存在。
An Introduction to Pairing-Based Cryptography学习笔记

2.3 BLS short signature scheme

大多数的discrete logarithm signature schemes(如DSA)都是EIGamal signature scheme的变种,其签名最终都是由a pair of integers modulo n组成(n为the order of the underlying group G1=<P>G_1=<P>)。
BLS short signature scheme(D. Boneh, B. Lynn和H. Shacham 2004年论文《Short signatures from the Weil pairing》),其签名最终仅需由一个单独的group element组成。(而且该group element可大约以the same number of bits as an integer modulo nn)。采用的是a bilinear pairing e^\hat{e} on (G1,GT)(G_1, G_T) for which the DHP in G1G_1 is intractable。BLS short signature scheme具有可aggregated属性。
An Introduction to Pairing-Based Cryptography学习笔记
An Introduction to Pairing-Based Cryptography学习笔记
An Introduction to Pairing-Based Cryptography学习笔记

2.4 Identity-based encryption scheme

若Bob通过使用Alice的公钥对消息mm加密后秘密传送给Alice,Alice使用私钥对加密后的消息进行解密,其中存在如下问题:如何保证Bob所拥有的公钥真的是Alice的,而不是其它attacker的,从而避免本指定给Alice的消息不被attacker decrypt?
传统地,在大规模的公钥分发过程中,通常会引入CA(certifying authority),CA为公钥颁发证书,证书中包含Alice的标识信息、Alice的公钥以及CA对该标识信息的签名。任何具有CA公钥的人可验证证书的签名,从而可确认Alice公钥的真实性。但是在实际证书管理时,存在很多问题:如Bob如何获得Alice的证书?Bob如何确认Alice的公钥仍然有效,CA未对其证书进行撤销(如因离职或私钥泄露等原因)?
1984年,Shamir[51]首次引入了身份密码学的概念,用于解决证书管理中的各种问题。Shamir提议Alice的公钥包含其标识信息IDAID_A(如Alice的email address)。可信第三方(TTP, trusted third party)使用其私钥,基于IDAID_A来生成Alice的私钥,同时秘密将该私钥发送给Alice。Bob则使用Alice的IDAID_A和TTP的公钥来加密消息。Bob可在Alice生成其公私钥对之前对消息进行加密。标识信息IDAID_A中可包含credit rating, employment status, minimum age requirement以及date等信息,TTP可根据这些标识信息来决定是否给Alice分发相应的私钥。

D. Boneh和M. Franklin 在2001年论文《Identity-based encryption from the Weil pairing》中提出的identity-based encryption scheme,是第一个使用的identity-based encryption scheme,该scheme采用的是a bilinear pairing e^\hat{e} on (G1,GT)(G_1, G_T) for which the BDHP is intractable。
An Introduction to Pairing-Based Cryptography学习笔记

上述实现,可防止窃听,但是无法抵抗chosen-ciphertext attacks:
An Introduction to Pairing-Based Cryptography学习笔记
通过以下改进,可解决chosen-ciphertext attacks问题:

Identity-based encryption scheme有以下缺陷:需要有安全通道用于私钥传输;需要TTP可信第三方来生成所有的私钥等。
An Introduction to Pairing-Based Cryptography学习笔记
Identitiy-based和certificate-based的身份管理系统的优劣势可参见论文:K. Paterson and G. Price, “A comparison between traditional public key infrastructures and identity-based cryptography”, Information Security Technical Report, 8(3) (2003), 57–72.

3. Elliptic curves

An Introduction to Pairing-Based Cryptography学习笔记
若所选择的Elliptic curve的embedding degree是小的时,采用subexponential-time index-calculus算法解决FqkF_{q^k}域内的DLP问题比采用Pollard’s rho method解决ECDLP in

更易达成。在k{1,2,3,4,6}k\in\{1,2,3,4,6\}的supersingular curves中也确实如此。
而对于大多数的prime order over prime fields的elliptic curves,其knk\approx n,则其ECDLP并不存在Weil和Tate pairing攻击问题。
所以,自20世纪90年代初起,已达成共识,具有low embedding degree的elliptic curve不适合用于discrete log protocols中。但是,low embedding degree的elliptic curve在高效实现pairing-based protocols中至关重要。

4. Tate pairing

An Introduction to Pairing-Based Cryptography学习笔记
An Introduction to Pairing-Based Cryptography学习笔记

5. PBC 曲线的选择

An Introduction to Pairing-Based Cryptography学习笔记
现有的pairing曲线有:bls12_377、bls12_381、edwards_bls12、edwards_sw6、jubjub、mnt6、sw6等。【zexe中有针对这些曲线做过实现。】