超椭圆曲线迪菲‐赫尔曼问题的比特安全性
摘要
迪菲‐赫尔曼问题作为密码学中的基本原语,在现代密码学中起着重 要作用。在任意有限循环群中,迪菲‐赫尔曼问题的比特安全性或硬核比 特问题是密码学中的一个长期公开问题。迄今为止,仅有少数群得到了研 究。超椭圆曲线密码学是椭圆曲线密码学的一种替代方案。由于近期的密 码分析结果表明,攻击亏格为 g< 3的超椭圆曲线密码系统的最佳已知 算法是通用方法,以及最新的实现结果表明,亏格2的超椭圆曲线密码学 有望与椭圆曲线密码学相媲美。本文将博恩和什帕尔林斯基关于椭圆曲线 的方法和结果推广到超椭圆曲线的雅可比簇情形。我们证明了在亏格2情 况下,超椭圆曲线迪菲‐赫尔曼密钥值每个坐标上的最低有效位与整个迪 菲‐赫尔曼值一样难解,并进一步证明了每一位都与整个迪菲‐赫尔曼值一 样难解。最后,我们将该技术与结果推广至任意亏格的超椭圆曲线。
关键词 :超椭圆曲线 · Bit安全 · Diffie-Hellman问题
1 引言
离散对数问题(DLP)和迪菲‐赫尔曼问题(DHP)是基本的密码学原语,它们 在现代密码学中起着重要作用。例如迪菲‐赫尔曼密钥交换[14], ElGamal 加密 [16],美国官方数字签名算法(DSA)[17],以及 BLS 短签名方案[9],等等。由 于 Pohlig 和 Hellman 攻击[37],它被限制在素数阶群上 p本文中,DLP 是指 给定( x ∈ Z ∗ p ,g)计算 g x的问题,而 DHP 或计算性迪菲‐赫尔曼问题( CDHP)是指给定( g ab,g, g a)计算 g b的问题,其中 g ∈ G是群 G的生成 元。莫尔和沃尔夫[34,35]已经证明,对于每个素数阶 G的循环群 p,存在一个 多项式时间算法可以将 G中的DLP计算归约为 G中的CDHP计算,前提是我们能够找到一条定义 在 Fp上的光滑阶的椭圆曲线,称为辅助椭圆曲线。
从许多密码学应用中我们知道,密钥的部分信息不可被计算或以显著优于 随机猜测的优势进行预测,这一点非常重要。这与比特安全性或硬核比特问题 相关。非正式地说,DLP的比特安全性或硬核比特可以描述如下:给定(g, gx), 如果攻击者能够计算出 x的某些比特(或更一般地,某些谓词)?布鲁姆和米 卡利 [6]引入了一向函数硬核比特的概念,并证明了在任意群中的离散对数函 数存在硬核谓词 G。
然而,对于DHP的情况,尚未证明类似的结果。非正式地说,DHP或 CDHP的比特安全性或硬核比特可以描述如下:给定(g, ga, gb),如果攻击者能够 计算 K= gab的某些比特(或更一般地,某些谓词)?换句话说,CDH比特的 困难性与整个CDH的困难性是否相同?这是密码学中一个长期存在的公开问题。
迄今为止,仅有少数群被研究过:博内和文卡特桑[8]提出了隐藏数问题( HNP),并表明在有限域 Fp的乘法群中,计算Diffie‐Hellman密钥大约(logp) 1/2比特的信息与计算整个密钥一样困难。该结果在[23]中得到了改进。邦赫和 什帕尔林斯基在[7]中对椭圆曲线Diffie‐Hellman问题取得了突破。通过使用给 定曲线的某些扭曲线,他们证明了在一个曲线族中预测椭圆曲线 Diffie‐Hellman密钥的最低有效位与计算整个密钥一样困难。另一种方法是寻 找DHP与在同一短魏尔斯特拉斯模型上预测部分信息问题之间的多项式时间归 约,已有研究利用Gr¨obner基[27]建立了一些结果。最近,沙尼[38]还研究了 定义在素域和扩域上的椭圆曲线Diffie‐Hellman问题的比特安全性。法齐奥等 人修改了邦赫和什帕尔林斯基的思想,并将其应用于有限域F p 2的情况,他们证 明了在有限域 F p 2上Diffie‐Hellman密钥的一个坐标的每一位都是不可预测的。 王等人[39]将这项工作推广到了扩域 F p m,其中 m是logp的多项式。李等人 [32]研究了LUC和XTR中CDHP的比特安全性。加尔布雷斯等人[20]研究了双线 性配对群中双线性Diffie‐Hellman问题的比特安全性。关于DHP及其比特安全 性,加尔布雷斯著作中的第21章[19]是一个很好的参考文献。
超椭圆曲线是椭圆曲线的自然推广,科布利茨建议使用超椭圆曲线的雅可 比簇,它们也已被考虑用于密码学应用。亏格g相较于椭圆曲线(亏格1)的主 要优势在于,在相同安全级别下可以使用小得多的基域(比特数约少 g倍)。 然而,对于高亏格情况,离散对数问题[1]存在亚指数时间攻击。对于亏格2曲 线,与椭圆曲线类似,求解离散此类群中的对数问题存在诸如Pollard rho方法之类的通用攻击[22]。亏格2曲 线在公钥密码学中的实际潜力最近因展现出的高性能数据而受到关注。特别是, 高德里[21]指出,在与亏格2曲线的雅可比簇相关联的库默尔曲面上进行标量乘 法可以比在雅可比簇本身上更高效。此后,许多论文[5,10]表明,亏格2的超椭 圆曲线密码学有潜力与亏格1的椭圆曲线密码学相媲美。
我们的贡献
本文研究了超椭圆曲线雅可比群中CDHP的比特安全性。本文的 贡献如下。
- 我们首先将博恩和什帕尔林斯基的方法推广到亏格2的超椭圆曲线雅可比簇的 情形。我们证明了在有限域上亏格2的超椭圆迪菲‐赫尔曼值的任意坐标的最低 有效位是不可预测的。
- 我们将最低有效位的结果推广到每一位的情况,表 明对于亏格2的超椭圆曲线,计算迪菲‐赫尔曼值任意坐标中任意一位的难度与 计算整个迪菲‐赫尔曼值的难度相当。
- 我们还将这些结果从亏格2的超椭圆曲 线推广到任意亏格的超椭圆曲线。
组织结构
本文其余部分组织如下:第2节介绍了一些数学预备知识,包括超 椭圆曲线和超椭圆曲线迪菲‐赫尔曼问题、扭曲超椭圆曲线以及带选择乘子的隐 藏数问题。第3节给出了关于亏格2的超椭圆迪菲‐赫尔曼值的最低有效位不可预 测性的主要结果及证明。第4节将最低有效位推广到每一位的情形。第5节将 亏格2的超椭圆迪菲‐赫尔曼值的结果推广到任意亏格的超椭圆曲线情况。第6 节给出结论。
2 数学预备知识
2.1 超椭圆曲线和超椭圆曲线迪菲‐赫尔曼问题
我们首先介绍有限域上超椭圆曲线的定义和运算,更多细节可参考文献 [4,19]。设 K为域 K.的代数闭包。亏格为 g ≥ 1的超椭圆曲线 C定义在 K上,其方程为
$$ C: y^2+ h(x)y= f(x) \tag{1} $$
其中 f(x) 是一个度为 2g+1 的首一多项式, h(x) 是一个度不超过 g 的多项式, 且不存在同时满足方程(1) 以及偏导方程 2y+ h(x)= 0 和 h′(x)y−f ′(x)= 0.
设 P=(x, y)为超椭圆曲线 C上的一个有限点, P的逆元定义为 −P=(x,−y − h(x))。 C上的一个除子是有限形式和 D= ΣPmP P,其中 mP 是整数,且对几 乎所有 P 都为0。 D 的度定义为 deg D=ΣPmP。在 K 上定义的所有除子 构成一个阿贝尔群,其度为0 的除子集合构成一个子群,即 Div0C ⊂ DivC。C 关于 K 的函数域,记作 K(C),是多项式环 K[C]=K[x, y]/(y2+h(x)y−f(x)) 的分式域。对于每个有理函数 F ∈ K(C),可以通过曲线所有点处的赋值关联一 个除子: div(F) =ΣP∈C(K)vP(F)P。这些称为主除子的除子具有度零,并构 成 Div0C 的一个子群。我们用 P rincC 表示主除子群。曲线 C 的雅可比簇或 除子类群由 JC= Div0C/PrincC 给出。
根据坎托[11]和科布利茨[30],的研究, JC中的元素 D= ΣmiPi −(Σmi) P∞ (其中 Σmi ≤ g, Pi=(xi, yi), P∞为无穷远点)具有芒福德表示, D仅 由 K[x]中的两个多项式u和 v确定,其中 u(x) = Π(x − xi) mi,且 u, v满足: 1) deg v<deg u ≤ g;2) v(xi) = yi,对于所有使得 mi = 0成立的 i;3) v2+ vh − f ≡ 0(mod u)。通常我们将其写作 D=(u(x) v(x)),可用2g元组(ug−1, …, u1, u0, vg−1, …, v1, v0)表示。
我们将重点关注密码学中最常见的亏格2曲线情形,其中 C是定义在大素 数域 Fp上的虚超椭圆曲线。亏格为2的超椭圆曲线 C在 Fp上由以下方式定义
$$ C: y^2= x^5+ f_3x^3+ f_2x^2+ f_1x+ f_0 \tag{2} $$
在这种情况下,雅可比群 JC(Fp) 中的任意元素 D=(u(x) v(x)) 都将满足: u (x) 是首一的,deg v< deg u ≤ 2 且 u|v2−f。当 deg u= 0 时,这是零元素 O;当 deg u= 1 时,这是 (x− u0, v0) 的元素,它对应于某个点 P 的退化除 子 D= P − P∞,我们将具有这种形式的元素称为退化元素;一般情况是 D=(u(x) v(x)) =(x2+ u1x+ u0, v1x+ v0),我们将具有这种形式的元素称 为一般元素。当我们从 JC(Fp) 中随机选择一个元素 D 时, D 以大约 1−1 p 的概率是一般元素。我们还使用 (u1, u0, v1, v0) 来表示一般元素 D=(u(x) v(x))。
坎托算法可以在雅可比群中执行加法和倍点运算。在本文中,我们需要群 运算的显式公式。哈勃[24]优化了坎托算法,并首次在亏格2情形下获得了实用 的显式公式,随后兰格[31]对其进行了扩展并取得了显著改进。科斯特洛和劳 特[12]通过群律的更直接的几何解释进一步改进了这些公式。刁和乔伊[13]提出 了用于超椭圆曲线密码学的高效统一加法公式。最近,希西尔和科斯特洛[26] 结合多种技术,得到了在雅可比坐标下的显式公式,其计算速度明显快于此前 的工作。对于定义在大素数域上的亏格2曲线 F p ,设 D1=(u11, u10, v11, v10) 和 D2=(u21, u20, v21, v20) 为两个一般元素 雅可比群的1在附录A中是通用点加法的显式仿射公式,该公式源自[12,26]。
设 D ∈ JC(Fp) 为一个素数阶元素 q。在 JC(Fp) 中的离散对数问题是:给定另一个元素 D′ ∈< D>,确定整数 m 使得 D′= mD。我们将超椭圆曲线迪菲‐赫尔曼函数定义为
$$ DH_{J,D}(aD, bD)= abD $$
其中 a, b属于Zq。超椭圆曲线DHP是指在给定(C, JC(Fp) D, D1, D2)的情况下,计算 $DH_{J,D}(D1, D2)$。
2.2 扭曲超椭圆曲线
设 C是定义在域 K上的一个亏格为 g的曲线。一条定义在 K上且在 K上与 C同构 的曲线C′,称为 C的一个扭曲。
对于由方程给出的定义在 Fp上的亏格2超椭圆曲线 C
$$ C: y^2= x^5+ f_3x^3+ f_2x^2+ f_1x+ f_0 $$
对于任意 λ ∈ F∗ p,我们定义 φλ(C)为 C的扭曲:
$$ φ_λ(C): y^2= x^5+ λ^4f_3x^3+ λ^6f_2x^2+ λ^8f_1x+ λ^{10}f_0 $$
对于任意点 P=(x, y) ∈ C, φλ(P) =(λ²x, λ⁵y) ∈ φλ(C)。该曲线同构可归约为 JC (Fp) 与 Jφλ(C)(Fp) 之间的同构,我们将此群同构记为 φ∗ λ: JC(Fp) → Jφλ(C)(Fp)。 φ∗ λ的显式公式为:
$$
\begin{align
}
φ^
λ: & JC(Fp) → Jφ_λ(C)(Fp) \
& O(= P
∞ − P_∞) → O’(= P’
∞ − P’
∞) \
& (x_1, y_1) →(λ^2x_1, λ^5 y_1) \
& (u_1, u_0, v_1, v_0) →(λ^2u_1, λ^4u_0, λ^3v_1, λ^5v_0)
\end{align*}
$$
因此,我们有
$$ DH_{φ^
_λ(J),φ^
λ(D)}(φ^
_λ(D_1), φ^
_λ(D_2)) = φ^*_λ(DH
{J,D}(D_1, D_2)) $$
本文中,我们研究曲线族{φλ(C)}λ∈F ∗ p 及其雅可比簇{Jφλ(C)(Fp)}λ∈F ∗ p ,它们 与给定的曲线 C及其雅可比簇JC(Fp)相关联。因此,如果在 JC(Fp)中计算超椭 圆DHP是困难的,则在所有{Jφλ(C)(Fp)}λ∈ F ∗ p 中计算也是困难的。
2.3 HNP‐CM问题和HNP‐CMd问题
带选择乘子的隐数问题(HNP‐CM)是隐数问题(HNP)的一种变体,最初由 邦赫和什帕尔林斯基提出[7]。
我们用LSB(z)表示整数 z> 0的最低有效位。
定义1 (HNP‐CM [7])
固定一个 ε> 0。设 p为素数。对于一个 α ∈ Fp,令 L: Fp∗→{0, 1}为满足以下条件的函数:
$$ Pr_{t∈F_p^*}[L(t)= LSB(α · t \mod p)] ≥ \frac{1}{2}+ ε $$
HNP‐CM问题是指:给定一个关于 L(t) 的预言机,要求在多项式时间内找出 α。对于较小 的 ε,可能有多个 α满足上述条件。在这种情况下,列表‐HNP‐CM问题就是找出所有此类 α ∈ F∗ p 的列表。根据阿列克谢等人 [3],的研究,存在一种算法可以在期望多项式时间内求 解任意 ε> 0的列表‐HNP‐CM问题。
定理 1[7]
设 p是一个 n−位素数,且令 ε> 0。那么,在已知 ε,的情况下,列表-HNP-CM问题可以在 n和 1/ε的期望多项式时间内求解。
非正式地说,假设存在一个预言机 A,使得 A(t) = LSB(α· t mod p),那么可以 使用 O(log²(p)) 次预言机查询来计算 α。
HNP‐CMd问题是HNP‐CM问题的一种变体,其定义如下:
定义2(HNP‐CMd[7])
固定一个 ε> 0。设 p为一个素数。对于一个 α ∈ Fp, 令 L: Fp∗→{0, 1}为满足以下条件的函数
$$ Pr_{t∈F_p^*}[L_d(t)= LSB(α^d · t \mod p)] ≥ \frac{1}{2}+ ε $$
HNP‐CMd问题是指:给定一个关于 Ld(t)的预言机,要求在多项式时间内求出 α。 当 ε较小时,可能存在多个 α满足该条件。在这种情况下,列表型HNP‐CMd问题 就是找出所有这样的 α ∈ F ∗ p 。本文中我们将对 d= 2、d= 3、v11和 d= 5使用 该问题。关于HNP‐CMd问题,邦赫和什帕尔林斯基给出了如下定理:
定理 2[7]
固定一个整数 d> 1。设 p 为一个 n− 位素数,且令 ε> 0。那么,在 给定 ε, 的情况下,HNP-CMd问题可以在 logp 和 d/ε 的期望多项式时间内求解。
3 最低有效位的结果
对于退化元素(x − u0, v0),它可以表示为(0, u0,0, v0),因此它是一般元素的一个 特例。所以我们仅考虑一般元素的情况。对于 JC(Fp) 的任意一般元素 D=(u1, u0, v1, v0),我们用 u1(D)表示 D的 u1−坐标,类似地有 u0(D)、 v1(D)和v0(D)。 关于超椭圆曲线DHP最低有效位的主要结果是以下定理。
定理3
设 p是一个素数,且 C是定义在 Fp上的亏格2的超椭圆曲线。设 D ∈ JC(Fp)是一个素数阶元素。给定(C, JC(Fp) D, aD, bD),如果存在一个 有效的算法可以预测 abD任意坐标的最低有效位,则存在一个有效的算法用于 计算 JC(Fp)上的DHP。
设 Au1(C, JC(Fp) D, aD, bD) 是一个预言机,返回 LSB(u1(abD)),其中 D ∈ JC(Fp)。类似地,设 Au0(C, JC(Fp) D, aD, bD) 是一个预言机,返回 LSB(u0(abD)), Av1(C, JC(Fp), D, aD, bD) 返回 LSB(v1(abD)),而 Av0(C, JC (Fp), D, aD, bD) 返回 LSB(v0(abD))。为了证明上述定理,我们需要以下引理。
引理1
给定 (C,JC(Fp) D, aD, bD),计算abD的任意一个坐标与计算整个 abD一样困难。
证明 。设 aD=(ua,1, ua,0, va,1, va,0) 和 bD=(ub,1,ub,0,vb,1,vb,0)。假设 v11(uab,1, uab,0,vab,1,vab,0)。
现在,我们证明计算 u1−坐标的难度与整个abD相当。类似的方法可用于证明其他坐标 情况。
假设存在一个预言机 B,给定(C, JC(Fp) D, aD, bD),能够返回 u1(abD),即
$$ B(C, JC(Fp), D, aD, bD)= u1(abD)= u_{ab,1}. $$
我们将 abD=(uab,1,uab,0,vab,1,vab,0)重写,并且根据预言机 B, uab,1已被知 晓。现在我们说明如何求出uab,0,vab,1和vab,0,从而得到整个abD。
根据亏格2的超椭圆曲线雅可比群中元素的芒福德表示,对于 abD=(uab, 1, uab,0,vab,1,vab,0) =(x²+ uab,1x+uab,0,vab,1x+ vab,0),我们有
$$ (v_{ab,1}x+ v_{ab,0})^2 −(x^5+ f_3x^3+ f_2x^2+ f_1x+ f_0) ≡ 0 \mod(x^2+ u_{ab,1}x+ u_{ab,0}). $$
将左侧的 x² 替换为 −(uab,1x+ uab,0),我们得到
$$ (v_{ab,1}x+ v_{ab,0})^2 −(u_{ab,1}x+ u_{ab,0})^2x+ f_3(u_{ab,1}x+ u_{ab,0})x+ f_2(u_{ab,1}x+ u_{ab,0}) − f_1x − f_0= 0. $$
比较 xi 中 i= 1 和 0 的系数,我们得到关于 uab,0,vab,1,vab,0 的以下方程。
$$ v_{ab,0}^2 − v^2_{ab,1}u_{ab,0}+ 2u_{ab,1}u^2_{ab,0}+(f_2 − u_{ab,1}f_3 − u^3_{ab,1})u_{ab,0} − f_0= 0 \tag{3} $$
$$ 2v_{ab,0}v_{ab,1} −u^2_{ab,0} −u_{ab,1}v^2_{ab,1} +(f_3+3u^2_{ab,1})u_{ab,0}+ f_2u_{ab,1} −f_3u^2_{ab,1} −u^4_{ab,1} −f_1= 0 \tag{4} $$
我们现在再次调用 B,如下所示:
$$ B(C, JC(Fp), D, aD, bD+ D)= u1(abD+ aD)= u_{ab+a,1} $$
超椭圆曲线迪菲‐赫尔曼问题的比特安全性
从亏格2的超椭圆曲线雅可比群中一般点加法的显式公式可知,$u_{ab+a,1}$也是关于$u_{ab,0}, v_{ab,1}, v_{ab,0}$的函数:
$$
u_{ab+a,1}= u_{ab,1} − u_{a,1} + \frac{2(v_{ab,0} − v_{a,0})(u_{a,1}(u_{ab,1} − u_{a,1}) −(u_{ab,0} − u_{a,0})) − u_{a,0}(u_{ab,1} − u_{a,1})(v_{ab,1} − v_{a,1})}{(u_{ab,1} − u_{a,1})(v_{ab,0} − v_{a,0}) −(u_{ab,0} − u_{a,0})(v_{ab,1} − v_{a,1})}
−\frac{((u_{ab,0} − u_{a,0})(u_{a,1}(u_{ab,1} − u_{a,1}) −(u_{ab,0} − u_{a,0})) − u_{a,0}(u_{ab,1} − u_{a,1})^2)^2}{((u_{ab,1} − u_{a,1})(v_{ab,0} − v_{a,0}) −(u_{ab,0} − u_{a,0})(v_{ab,1} − v_{a,1}))^2}
$$
这是:
$$
((u_{ab,1} − u_{a,1})(v_{ab,0} − v_{a,0}) −(u_{ab,0} − u_{a,0})(v_{ab,1} − v_{a,1}))^2(u_{ab+a,1} − u_{ab,1}+ u_{a,1} − 2((v_{ab,0} − v_{a,0})(u_{a,1}(u_{ab,1} − u_{a,1}) −(u_{ab,0} − u_{a,0})) − u_{a,0}(u_{ab,1} − u_{a,1})(v_{ab,1} − v_{a,1}))((u_{ab,1} − u_{a,1})(v_{ab,0} − v_{a,0}) −(u_{ab,0} − u_{a,0})(v_{ab,1} − v_{a,1}))
+((u_{ab,0} − u_{a,0})(u_{a,1}(u_{ab,1} − u_{a,1}) −(u_{ab,0} − u_{a,0})) − u_{a,0}(u_{ab,1} − u_{a,1})^2)^2= 0 \tag{5}
$$
方程(3)–(5)构成一个三元多项式系统。该多元多项式系统的总次数为 $3× 2× 4= 24$。因此,根据Bézout定理,其解的个数不超过24。我们求解了这 个三元多项式系统,得到了$u_{ab,0},v_{ab,1},v_{ab,0}$作为 abD的解,从而得到完整的 abD。
一个详细的 Magma [33]实现,用于亏格2曲线上的三元多项式系统,该 曲线定义在 $GF(2^{127} −1)$ 上,并在 [10]中使用,详见附录 B。
根据我们的实验,大多数情况下我们可以得到一个解,因此可以完全获得 abD。然而,有时这个三元多项式系统会输出多个解。在这种情况下,我们最 多通过24次测试即可找到 abD的正确解。
当$\lambda^2, \lambda^3, \lambda^4$和 $\lambda^5$之一是 $F^∗
p$的置换时,可以直接使用HNP‐CM从LSB($v_i$) 得到$v_i$,或从LSB($u_i$)得到 $u_i$。因此,我们可以对定理3给出一个非常简单的证 明。例如,当 $p= 2 \mod 3$时,我们可以证明“预测LSB($v_1(abD)$)的难度等同 于 $v_1(abD)$”:假设存在一个高效的算法 $A
{v1}$用于预测 $v_1−$坐标的最低有效位, 即给定$(C, JC(F_p) D, aD, bD)$,
$$
A_{v1}(C, JC(F_p), D, aD, bD)= LSB(v_1(abD)).
$$
现在,我们选择一个随机数$\lambda ∈ F^∗
p$ 并调用预言机
$$
A
{v1}(\varphi_\lambda(C), \varphi^
_\lambda(JC(F_p)), \varphi^
\lambda(D), \varphi^
_\lambda(aD), \varphi^
\lambda(bD))
$$
以获得 $LSB(v_1(\varphi^*_\lambda(abD)))= LSB(\lambda^3v_1(abD))$。由于 $\gcd(3,p −1)= 1$,可知立 方运算是 $F^∗_p$ 上的一个置换。这是一个 HNP‐CM 问题(此处 $t= \lambda^3$ 和 $\alpha= v_1(abD)$)。因此,在这种情况下,我们可以利用 HNP‐CM 求解算法从 LSB($v_1$)得到 $v_1$。然后结合引理 1,我们可以得到完整的 abD。
为了证明一般情况下的定理3,类似于邦赫和什帕尔林斯基在椭圆曲线情形 中[7]所采用的方法,我们将使用阿列克谢等人[3]的方法来处理。当 $\lambda^2$、 $\lambda^3$、 $\lambda^4$和 $\lambda^5$均不是 $F^∗ p$的置换时,我们无法直接通过HNP‐CM从LSB($v_i$)得到 $v_i$,或从LSB($u_i$)得到 $u_i$。我们可能只能使用部分 $\delta−$的 $\lambda ∈ F^∗_p$。为简化记号,此 后我们将$(\varphi \lambda(C),J_{\varphi_\lambda(C)}(F_p), \varphi_\lambda(D), \varphi_\lambda(aD), \varphi_\lambda(bD))$记为 $\varphi_\lambda(aD,bD)$。
引理2
设 $\varepsilon, \delta \in{0, 1}$。设 $p$为素数,且设 $C$为定义在$F_p$上的亏格2的超椭圆曲线。设 $D ∈ JC(F_p)$为一个素数阶 $n$的素数阶元素。假设存在一个 $t−$时间算法 $A_{u1}$,使得
$$
|\Pr_\lambda[A_{u1}(\varphi_\lambda(aD,bD))= LSB(\lambda^2u_1(abD))] − \frac{1}{2}| > \varepsilon
$$
对于至少 $\delta−$比例的 $\lambda ∈ F^∗_p$。
那么存在一个算法 $B$,对于所有满足 $\lambda ∈ F^∗
p$ 的情况
$$
\Pr
\lambda[B(\varphi_\lambda(aD,bD))= LSB(\lambda^2u_1(abD))]>\frac{1}{2}+ \frac{\varepsilon\delta}{8}
$$
在选择 $a, b$ 属于 $[1, n −1]$ 的情况下,该命题成立的概率至少为 $\frac{\varepsilon\delta}{8}$。
证明 。 该引理是邦赫和什帕尔林斯基论文中引理1和2在亏格2的超椭圆曲线情 况下的推广。此处我们给出证明的概要,其大部分内容与邦赫和什帕尔林斯基 的证明相同。欲了解更详细的内容,请参见邦赫和什帕尔林斯基的[7]原始证明。
根据邦赫和什帕尔林斯基的证明,算法 $B$可以构造如下:
输入: $C, JC(F_p), D, D_1, D_2$. 输出: $A_{u1}(C, JC(F_p), D, D_1, D_2)$.
- 从$[1, n −1]$中随机选择 $a, b$对,并在所有元组$< C, JC(F_p), D, aD, bD>$上 运行 $A_{u1}$;
- 设 $v$为 $A_{u1}$正确输出$LSB(u_1(abD))$的运行次数;
- 如果 $v> u/2$, 则 $B$输出 $A_{u1}(C, JC(F_p), D, D_1, D_2)$;
- 否则输出 $A_{u1}(C, JC(F_p), D, D_1, D_2)$的 补。
与邦赫和什帕尔林斯基的[7]讨论相同,对于至少 $\delta−$比例的$\lambda ∈ F^∗
p$,我们 有
$$
\Pr
{a,b}[B(\varphi_\lambda(aD,bD))= LSB(\lambda^2u_1(abD))]> \frac{1}{2}+ \frac{\varepsilon}{2}
$$
对于其余的$\lambda ∈ F^∗
p$,我们有:
$$
\Pr
{a,b}[B(\varphi_\lambda(aD,bD))= LSB(\lambda^2 u_1(abD))]> \frac{1}{2} − \frac{\varepsilon\delta}{4}
$$
然后通过标准的计数论证,我们得到
$$
\Pr_\lambda[B(\varphi_\lambda(aD,bD))= LSB(\lambda^2u_1(abD))]> \frac{1}{2}+ \frac{\varepsilon\delta}{8}
$$
在选择 $a, b$ 时,该命题对所有 $\lambda ∈ F^∗_p$ 成立的概率至少为 $\frac{\varepsilon\delta}{8}$。
现在,我们给出定理3的证明。
定理3的证明
: 设 $p$是一个素数,且设 $C$是定义在 $F_p$上的亏格2的超椭圆曲线。 令 $D ∈ JC(F_p)$ 为一个素数阶元素。假设存在一个高效的算法 $A$,用于预测 在给定 $(C, JC(F_p), D, aD, bD)$ 的情况下,$abD$任意坐标的最低有效位,形式上, 我们假设存在一个期望$t−$时间算法 $A$,使得
$$
|\Pr_\lambda[A_{u1}(\varphi_\lambda(aD,bD))= LSB(\lambda^2u_1(abD))] − \frac{1}{2}| > \varepsilon
$$
对于至少 $\delta−$比例的 $\lambda ∈ F^∗_p$ 成立。
为了使用上述引理2,我们首先通过计算随机的$a_0, b_0 ∈[1, n−1]$ 得到的 $D′= a_0aD$和 $D′′= b_0bD$,对超椭圆曲线DHP $(C, JC(F_p), D, aD, bD)$ 进行 随机化。然后应用引理 2,存在一个算法 $B$ 对所有 $\lambda ∈ F^∗
p$满足
$$
\Pr
\lambda[B(\varphi_\lambda(C), J_{\varphi_\lambda(C)}(F_p), \varphi_\lambda(D), \varphi_\lambda(D′), \varphi_\lambda(D′′))= LSB(\lambda^2u_1(a_0b_0abD))] > \frac{1}{2}+ \frac{\varepsilon\delta}{8}
$$
在选择 $a_0, b_0$ 属于 $[1, n −1]$ 时,该命题成立的概率至少为 $\frac{\varepsilon\delta}{8}$。定义
$$
L_2(\lambda)= B(\varphi_\lambda(C), J_{\varphi_\lambda(C)}(F_p), \varphi_\lambda(D), \varphi_\lambda(D′), \varphi_\lambda(D′′)).
$$
根据概率论的知识,当我们重复随机选择$a_0, b_0$在$[1, n −1]$中$\left\lceil \frac{8}{\varepsilon\delta} \right\rceil$次时, 至少有一次我们会得到
$$
\Pr_\lambda[L_2 (\lambda)= LSB(\lambda^2u_1(a_0b_0abD))]> \frac{1}{2}+ \frac{\varepsilon\delta}{8}
$$
概率为 $1 −(1 − \frac{\varepsilon\delta}{8})^{\left\lceil \frac{8}{\varepsilon\delta} \right\rceil}$。这是一个 HNP − CM2问题,其中$u_1(a_0b_0abD)$ 是 隐藏数。因此,我们可以对所有 $\left\lceil \frac{8}{\varepsilon\delta} \right\rceil$ 情况使用定理 2的求解算法,以找到候选 值列表 ${(a_i, b_i), u_1(a_ib_iabD)}$,其中 $i$从 $1$ 到 $\left\lceil \frac{8}{\varepsilon\delta} \right\rceil$。
对于任意候选值,应用引理1,我们可以得到一个候选值 $a_i b_i abD$。至少存在一个正确的 $a_i b_i abD$,其概率为 $1−(1− \frac{\varepsilon\delta}{8})^{\left\lceil \frac{8}{\varepsilon\delta} \right\rceil}$,然后使用 $((a_i b_i)^{−1} \mod n)a_i b_i abD$,我们便可获得完 整的 $abD$。
4 扩展到任意比特
对于任意 $z=\sum^n_{i=0} z_i2^i$, $\mathrm{bit}_i(z)$ 表示 $z$ 的二进制表示中的第 $i−$位,因此 $LSB(z) = \mathrm{bit}_0(z)$。在本节中,我们将证明:如果超椭圆曲线迪菲‐赫尔曼问题 是困难的,那么不仅最低有效位,而且超椭圆曲线迪菲‐赫尔曼值的每一位(即 $\mathrm{bit}_i(z)$)都是不可预测的。
我们有两种方法来实现这一目标。
一种方法是从 $LSB−HNP−CM$ 到 $\mathrm{bit}_i−NHP−CM$。根据 $H˙astad$ 和 $N¨aslund$ 以及 $Kiltz$ 的推广,[25] HNP−CM 也可针对 $[29]$的每一位进行定义,并且相关定理也成立,即: 固定一个 $z$。设 $\varepsilon> 0$为素数。对于任意 $p$,令 $\alpha ∈ F_p$满足 $L: F_p^
→{0, 1}$的函数
$$
\Pr_{t∈F_p^
}[L(t)= \mathrm{bit}_i(\alpha · t \mod p)] ≥ \frac{1}{2}+ \varepsilon
$$
在$\mathrm{bit}_i−NHP$问题中,给定一个关于 $L(t)$的预言机,要求在多项式时间内找到 $\alpha$。根据 [29]中所述的定理5,对于所有奇素数 $p$, $\mathrm{bit}_i−NHP−CM$ 对所有位都是可有效求解的。 因此,类似于对最低有效位情况的讨论,将最低有效位的结果推广到任意 $i−$位并不困难。
另一种方法是AGS列表解码方法。硬核谓词的列表解码方法由Akavia等人 [2]提出,并由Morillo和Rafols[36]进行了扩展。一个谓词将对应某种纠错码, 预测一个谓词将对应访问一个损坏的码字,而逆向单向函数的任务将对应于对 一个损坏的码字进行列表解码的任务。AGS列表解码方法的框架如下:首先, 对于给定的单向函数 $f$,构造一个码字$C_f$,并使得以下性质对 $C_f$成立:可访问 性、集中性和可恢复性,然后利用1和[2]中的定理6,可以证明该谓词是硬核 的。有关这些性质的定义,请参考[2]。
根据阿基维亚等人(Akavia et al.)的框架,我们可以将法齐奥等人在[18]中 关于椭圆曲线DHP的每一位都是硬核的结果推广到超椭圆曲线DHP,如下所示: 设 $p$为一个素数, $C$为定义在 $F_p$上的亏格2的超椭圆曲线。令$D ∈ JC(F_p)$为一 个素数阶元素。 $Q= abD$是$(C, JC(F_p), D, aD, bD)$的迪菲‐赫尔曼密钥值。对于任 意 $\lambda ∈ F^∗ p$ , $\varphi \lambda(C)$是 $C$的扭曲,$J_{\varphi_\lambda(C)}(F_p) = \varphi^*_\lambda(JC(F_p))$。令 $\mathrm{bit}_i: F_p →{0, 1}$表 示 $i − th$位谓词(在[18]中他们使用${\pm1}$,这只是一种约定,即将0位编码为 $−1$)。
考虑码字:
$$
C_Q : F_p →{0, 1} \quad \text{defined as} \quad C_Q(\lambda)= \mathrm{bit}_i(\lambda u_1(Q)).
$$
类似于在[18]中对椭圆曲线情形的证明,可以证明码字$C_Q$ 满足可访问性、 集中性和可恢复性的性质。此处由于篇幅限制,我们省略了这些性质的证明 空间。利用定理6和[2]的学习算法,可以证明该谓词是硬核的。更多细节请参考[2,18]。
由上述讨论,我们给出以下无需证明的声明:
声明1
设 $p$为素数,且 $C$为定义在 $F_p$上的亏格2的超椭圆曲线。令 $D ∈ JC (F_p)$为一个素数阶元素。如果存在一种高效算法,能够预测在给定$(C, JC(F_p), D, aD, bD)$时 $abD$的任意坐标的任意比特,则也存在一种高效算法用于在 $JC(F_p)$ 上计算DHP。
5 推广到一般超椭圆曲线
设 $C: y^2+ h(x)y= f(x)$为定义在$F_q$上的亏格 $g ≥ 1$的超椭圆曲线, $J(C; F_q)$ 为定义在 $F_q$上的 $C$的雅可比簇。令 $D=(u_{g−1},…, u_1, u_0,v_{g−1},…, v_1, v_0)$为 $J(C; F_q)$ 中一个阶为 $n$的元素。科斯特洛和劳特[12]给出了任意亏格超椭圆雅可比群的加法 与倍点运算的显式公式。因此,我们可以像亏格2的情况一样,在任意亏格的超椭 圆雅可比群上定义超椭圆DHP:给定 $C, JC(F_p), D, aD, bD$,计算 $abD$。
对于亏格为 $g$的超椭圆曲线,定义在 $F_p$上(类似的讨论也可应用于非素域)。
$$
C: y^2= x^{2g+1}+ f_{2g−1}x^{2g−1}+ f_{2g−2}x^{2g−2}+ ···+ f_1x+ f_0
$$
Let $C′$为另一条定义在 $F_p$上、亏格为 $g$的超椭圆曲线,其方程为:
$$
C′: y^2= x^{2g+1}+ f′
{2g−1}x^{2g−1}+ f′
{2g−2}x^{2g−2}+ ···+ f′
1x+ f′_0
$$
我们说 $C$与 $C′$同构,如果存在 $\lambda ∈ F_p$使得 $f′_i= \lambda^{4g+2−2i} f_i$模 $p$。保持上述方程所给出 的超椭圆曲线的同构映射均为如下形式:$(x, y) →(\lambda^2x, \lambda^{2g+1} y)$,其中 $\lambda ∈ F^∗_p$为某个值。 我们定义 $\varphi
\lambda: (x, y) →(\lambda^2x, \lambda^{2g+1} y)$,则 $C′= \varphi_\lambda(C)$ 是 $C$ 的一个扭曲。该曲线同构可 归约为 $JC(F_p)$ 与 $JC′(F_p)$ 之间的同构,我们将此群同构记为 $\varphi^
\lambda: JC(F_p) → J
{\varphi_\lambda(C)}(F_p)$。现在, 我们可以如下定义 $\varphi^
\lambda$ 的显式公式: $\varphi^
_\lambda(O) = O′$, $\varphi^
\lambda(x_1, y_1) =(\lambda^2x_1, \lambda^{2g+1} y_1)$
$$
\varphi^
_\lambda(u(x), v(x)) = \varphi^
\lambda(u
{g−1} ,…, u_1, u_0, v_{g−1} ,…, v_1, v_0) = \varphi^
\lambda(P_1+ P_2+…+ P_g − gP
∞) \quad (\text{here } P_i=(x_i, y_i), v(x_i)= y_i)
= \varphi^
\lambda((x_1, y_1)+(x_2, y_2)+…+(x_g , y_g) − gP
∞) =(\lambda^2 x_1, \lambda^{2g+1} y_1)+(\lambda^2 x_2, \lambda^{2g+1} y_2)+…+(\lambda^2 x_g , \lambda^{2g+1} y_g) − gP’
∞) =\left(\prod
{i=1}^g(x − \lambda^2 x_i), v’
{g−1} x^{g−1}+…+ v’_1 x+ v’_0\right) \quad (\text{here } v’(\lambda^2 x_i)= \lambda^{2g+1} y_i)
=(\lambda^2 u
{g−1} ,…, \lambda^{2(g−1)}u_1, \lambda^{2g}u_0, \lambda^3 v_{g−1} ,…, \lambda^{2g−1}v_1, \lambda^{2g+1}v_0)
$$
因此,我们有 $DH_{\varphi^ _\lambda(J),\varphi^ \lambda(D)}(\varphi^ _\lambda(D_1), \varphi^ \lambda(D_2)) = \varphi^* \lambda(DH {J,D}(D_1, D_2))$。 因此,如果在 $JC(F_p)$ 中超椭圆DHP 难以计算,则对于所有 ${J_{\varphi_\lambda(C)}(F_p)}_{\lambda∈F^∗_p}$ 也难以计算。类似于 $g= 2$ 的情况, 我们可以使用 HNP−CMd 来研究任意亏格的超椭圆曲线DHP 的比特安全性。
使用科斯特洛和劳特针对任意亏格超椭圆雅可比群的加法与倍点运算的显 式公式,引理1可推广至任意亏格的超椭圆曲线;并且利用任意亏格的扭曲超 椭圆曲线,引理2对任意亏格的超椭圆曲线也成立。因此,我们得到以下结论:
断言2
设 $p$为素数, $C$为定义在$F_p$上亏格为 $g$的超椭圆曲线。设 $D ∈ JC(F_p)$ 为一个素数阶元素。给定$(C, JC(F_p), D, aD, bD)$,若存在一种高效算法可预测 $abD$的任意坐标的任意一位,则存在一种高效算法用于在 $JC(F_p)$上计算DHP。
6 结论与未来工作
超椭圆曲线密码学是椭圆曲线密码学的一种替代方案。由于近年来针对亏格2的 超椭圆曲线密码学开展了大量研究工作,尤其是在其密码分析和快速实现方面, 使得亏格2的超椭圆曲线密码学有望与椭圆曲线密码学相媲美。本文研究了超椭 圆曲线DHP的比特安全性,证明了在亏格2情况下,超椭圆曲线迪菲‐赫尔曼密 钥值 $K$的每个坐标的最低有效位是硬核的,进而证明了任意一位都是硬核的。 最后,我们将所采用的技术和结果推广到任意亏格的超椭圆曲线。
关于这一主题还有一些进一步的工作。类似于椭圆曲线情形,我们也可以 定义一个函数,其定义域是 $JC(F_p)$的一个子群,例如超椭圆配对。当我们考虑 定义在超椭圆曲线雅可比簇上的单向函数时,我们称这样的函数为“基于超椭 圆曲线的单向函数”。沿用杜和耶切夫在椭圆曲线情形下的方法[15],似乎基 于超椭圆曲线的单向函数的所有比特也都是难以计算的。
耶切夫和文卡特桑 [28] 利用椭圆曲线同源理论研究了椭圆曲线迪菲‐赫尔曼 密钥的比特安全性。超椭圆雅可比簇也具有显式同源,已有一些相关研究工作。 一个自然的问题是,能否利用超椭圆曲线同源理论来研究超椭圆曲线迪菲‐赫尔 曼密钥的比特安全性。这似乎是可行的。
8

被折叠的 条评论
为什么被折叠?



