预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

椭圆曲线密码中的点乘与双线性对的计算的中期报告 椭圆曲线密码(EllipticCurveCryptography,ECC)中的点乘和双线性对计算是该密码算法中两个重要的运算,对于安全性和性能都具有重要的影响。本文主要讨论点乘和双线性对计算的相关内容和研究进展。 一、点乘 点乘是ECC中的一种运算,其实质是通过重复加法来实现乘法运算。具体地,点乘运算的公式为:kP=P+P+…+P(k次),其中k为倍数,P为椭圆曲线上的点。点乘运算被广泛应用于ECC中的密钥交换、数字签名、加密等多个方面。随着ECC的广泛应用,如何高效地实现点乘运算成为了研究的焦点。目前,主要的点乘算法有以下几种: 1.暴力算法 暴力算法是点乘运算最原始、最简单的计算方法。其基本思想是对点进行重复加法操作,每加一次就计数一次,直到完成k次操作。虽然该方法计算简单,但是在大数乘法时性能差。因此,在实际应用中不被采用。 2.快速幂算法 快速幂算法是一种基于分治策略的算法,主要思想是将点乘运算分解成若干个小规模的点乘运算,从而减少计算量。具体地,该算法将k分解为各个位权的和,然后根据位权分别执行点乘运算,从而得到最终结果。在实际运算中,快速幂算法具有较好的性能,但是在计算机上运行时,需要进行大数乘法,计算复杂度较高,因此不能很好地适应高安全级别的加密算法的需求。 3.蒙哥马利算法 蒙哥马利算法(Montgomery算法)是一种基于模的算法,主要原理是将点乘运算转化为模运算。在实际应用中,蒙哥马利算法的优点在于,能够减小乘法的运算量,从而提高了加密运算的速度。 4.Itoh-Tsujii算法 Itoh-Tsujii算法是一种基于Frobenius算法的变种,该算法利用了Frobenius变换在椭圆曲线上的对称结构,将点乘运算分解为两个小规模的点乘运算,从而有效地减小了计算量。 二、双线性对 双线性对是一种特殊的映射函数,它能够将两个群中的元素映射为一个群中的元素,已被广泛应用于ECC中的签名、加密、密钥交换等方面。目前,主要的双线性对算法包括Weil-Pairing算法和Tate-Pairing算法。 1.Weil-Pairing算法 Weil-Pairing算法是由AndréWeil在1962年提出的,其基本原理是在有限域上进行有限域扩张,从而满足点之间的双线性性。具体地,该算法将待映射的点映射到扩张域上,然后在扩张域上进行运算,从而得到最终结果。该算法的性能较好,但是在大规模数据的情况下,其计算成本较高。 2.Tate-Pairing算法 Tate-Pairing算法是由JohnTate在1986年提出的,是一种快速计算双线性对的算法。该算法利用了在有限域上的二次扩张结构,并利用了显式的扭曲映射,从而实现了较快的双线性对计算。与Weil-Pairing算法相比,Tate-Pairing算法具有更高的效率和更好的安全性。在实际应用中,Tate-Pairing算法被广泛应用于基于身份认证、公共密钥加密、数字签名等领域。 总之,点乘和双线性对算法是ECC中的两个核心运算,在保证安全性和性能的前提下,需要选择合适的算法来进行计算。目前,研究人员正致力于提出新的、更加高效的点乘和双线性对算法,以满足ECC在实际应用中的需求。