椭圆曲线java实现_一种超奇异椭圆曲线上的Tate对的JAVA实现

第 23 卷第 2 期2011 年 5 月 宁德师专学报(自然科学版) JournalofNingdeTeachersCollege (NaturalScience) Vol. 23 No.2 May 2011 收稿日期: 2011-04-18 作者简介: 王 峰(1978-),男,讲师,山东泗水人,现主要从事信息安全研究. * 基金项目: 福建工程学院科研发展基金项目(GY-Z09082). E-mail: w.h.feng@163.com 摘 要: Tate 对在三方密钥交换协议、基于身份的加密方案(IBE)、构造短签名等方面都有着广泛的应用.Tate 对的快速运算成为这些应用的关键技术.利用 JAVA 编程语言,使用 BigInteger 类,实现了素数域上的一种超奇异椭圆曲线上的 Tate 对的计算问题,计算一次符合密码学要求 Tate 对需要 219 ms,可以直接为以上应用提供服务. 关键词: 超奇异椭圆曲线; Tate 对; JAVA 中图分类号: TP 312JA 文献标码: A 文章编号: 1004-2911(2011)02-0118-04 一种超奇异椭圆曲线上的 Tate 对的 JAVA 实现 * 王 峰 (福建工程学院 数理系,福建 福州 350108) 自从 1993 年双线性对作为 MOV 约化[1]引入密码学中,在三方密钥交换协议[2]、基于身份的加密方案(IBE)[3]、构造短签名等[4]方面有了越来越广泛的应用.在大多数应用中,超奇异椭圆曲线上 Weil 对或Tate 对成为核心工具.同时,由于 Tate 对的运算速度快于 Weil 对,因而,Tate 对的计算问题越来越引起人们的重视.本文利用 JAVA 编程语言,实现了素数域上一种超奇异椭圆曲线上 Tate 对的计算问题. 1 Tate 对的基本概念 设 E(Fq)是有限域 Fq(q=pk,p 为素数)上的椭圆曲线,l 是一个与 q 互素的素数,并且使得 E(Fq)存在一个 l 阶点(l 一般取 #E(Fq)的素因子),k 是满足整除 pk-1 的最小正整数,称为椭圆曲线 E(Fq)的关于 l 的嵌入次数.定义 E(Fpk)[l]={p∈Fpk│lp=o}为椭圆曲线 E 的 l 阶扰子群.设除子 D 为椭圆曲线 E 上有理点 的有限线性组合.假设 D=Σp∈Enp 其中 n 为整数且Σn=0,函数 f 在除子 D 的赋值定义为 f(D)=∏pf(p)n. 设 p∈E(Fpk)[l],Q∈E(Fpk)│lE(Fpk),flp 是椭圆曲线 E 上的有理函数,其对应除子满足(fl,p)=l(p)-l(o).除 子 DQ 等价于(Q)-(O) ,且除子(fl,p)和 DQ 的支集不相交.比如,可任取一点 Q2∈E(Fpk),令 DQ 等价于 DQ=(Q+Q2)-(Q2)即可满足条件.Tate 对是如下: t∶E(Fpk)[l]×E(Fpk)│lE(Fpk)→μl(={μ∈Fpk│μl=1}), t(P,Q)=fl,p(DQ)(qk-1)/l 2 Tate 的计算 2.1 Miller 算法 对任意的点 P 和点 Q,用 lp,Q 表示经过点 P 和 Q 的直线(P=Q 时为过 P 的切线).用 υp 表示经过点 P (≠O)的垂线.则 t(P,Q)=fl,p(DQ) (qk-1)l 可用 Miller 算法计算.相关算法如下所示: 输入:素数 l= m i = 0 Σbi2i,其中 bi∈{0,1};p∈E(Fpk)[l],Q,Q2∈E(Fpk),且 Q≠O. 输出:T

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值