素数域上亏格 2 超椭圆曲线的高效显式公式及其实现
1. 引言
1988 年,Koblitz 首次提出使用定义在有限域上的超椭圆曲线(HEC)的雅可比行列式来实现基于离散对数问题难度的加密协议。近年来,超椭圆曲线密码系统(HECC)因其操作数长度比广泛使用的椭圆曲线密码系统(ECC)短得多,在实际应用中越来越受欢迎。并且,最新研究表明,HECC 适用于各种软件和硬件平台,其性能与 ECC 相当。
在 ECC 和 HECC 中,最重要且最耗时的操作是整数 $k$ 的标量乘法,即计算点 $P$ 在点群上的标量倍数 $kP$ 或除子类 $D$ 在雅可比行列式上的 $kD$,其中 $k$ 可能有 160 位或更多。为了高效计算标量乘法,人们提出了各种技术。对于一般的椭圆曲线,Eisentr¨ager 等人提出了一种优雅的方法来加速标量乘法。他们的改进基于从给定的椭圆曲线上的点 $P$ 和 $Q$ 一步计算 $2P + Q$。由于在 ECC 的群运算中,点加倍比点加法略贵,因此将 $2P + Q$ 计算为 $P + (P + Q)$ 比先加倍 $P$ 然后再加 $Q$ 更高效,这种技巧每次执行特定操作序列时可以节省一次域乘法。
在本文中,用 $I$ 表示域求逆,$M$ 表示域乘法,$S$ 表示域平方。本文将 Eisentr¨ager 等人的想法推广到素数域上的亏格 2 HEC,在这种情况下,群加倍比群加法多消耗两次域平方。我们分析了从给定的亏格 2 HEC 上的除子类 $D_1$ 和 $D_2$ 计算 $2D_1 + D_2$ 过程中的所有可能情况。对于最常见的情况,我们提出了一个基本算法及其变体,分别需要 $2I + 42M + 5S$ 和 $1I + 56M + 7S$ 来一步计算 $
超级会员免费看
订阅专栏 解锁全文
32

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



