基于多处理器构造安全椭圆曲线的并行化设计与实现_第1页
基于多处理器构造安全椭圆曲线的并行化设计与实现_第2页
基于多处理器构造安全椭圆曲线的并行化设计与实现_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于多处理器构造安全椭圆曲线的并行化设计与实现摘要:安全椭圆曲线是椭圆曲线密码体制理论研究与实际应用的前提和根本,本文通过分析GF(p)上构造安全椭圆曲线的算法与一种奇素数域构造给定长度的素数阶的椭圆曲线算法,将两种算法适合并行化的部分进行并行化处理,并设计了基于多处理器的构造安全椭圆曲线的并行化模型,进而实现加快构造安全椭圆曲线的速度。关键词:构造椭圆曲线;多处理器模型;并行算法;设计与实现中图分类号:TP302文献标识码:A文章编号:1. 前言安全椭圆曲线是ECC理论研究与实际应用的前提和基础,如果椭圆曲线不安全,那么ECC中的各种快速算法的研究、密码体制的研究与在实践中的应用都是空想。E

2、CC的安全性取决于有限域上椭圆曲线离散对数的难解性。所谓构造安全椭圆曲线,就是通过选择并确定椭圆曲线的参数和密钥,使椭圆曲线能抵御目前的所有攻击。构造有限域上安全椭圆曲线的方法一般有两种:随机曲线法(Schoof Elkies Atkin,SEA) 和复乘法(Complex Multiplication,CM)。SEA法是通用的方法,它可以构造出许多安全椭圆曲线,但实现起来复杂。CM法相对比较简单,实现速度也比较快,但这种方法找出的椭圆曲线含有复乘,可能存在安全隐患。本文通过分析文献【3】中GF(p)上构造安全椭圆曲线的算法与文献【4】中一种奇素数域构造给定长度的素数阶的椭圆曲线算法,分别将适

3、合并行化的部分进行并行化处理以加快构造安全椭圆曲线的速度。2. GF(p)上构造安全椭圆曲线的算法分析与并行模型架构设计文献中提出GF(p)上构造安全椭圆曲线的算法描述如下:输入:有限域的大小p3输出:椭圆曲线E(a,b)、#E(a,b)=kh, k是大的素因子、且算法步骤:Step1:随机产生GF(p)上的一条椭圆曲线E(a,b):;Step2:利用SEA算法计算出#E(a,b);Step3:利用大整数分解算法分解#E(a,b),并检测#E(a,b)的分解中有无大于的素因子k,如果没有,返回Step 1;Step4:检测,否则返回 Step 1;Step5:检测。否则返回Step 1;Ste

4、p6:输出a、b、#E(a,b)、k、h#E(a,b)/k。上面算法利用SEA算法计算出#E(a,b)后,执行Step3、Step4与Step5的主要目的是得到有效的a、b、#E(a,b)、k、h#E(a,b)/k,由于此算法是串行执行的,每一步不成功都要返回Step 1,这必导致速度缓慢。为了加快构造安全椭圆曲线的速度,将原来串行化算法中适合并行化的部分进行并行计算。由于Step3、Step4与Step5之间相互没有依赖关系,所以可以并行执行Step3、Step4与Step5,然后输出a、b、#E(a,b)、k、h#E(a,b)/k。 基于多处理器构造GF(p)上安全椭圆曲线模型架构(如图1

5、)的设计思想是三个处理器共享一个循环缓存区和一个公共列表,处理器负责利用大整数分解算法分解#E(a,b),并检测#E(a,b)的分解,找出的素因子写到循环缓存区中;处理器从循环缓存区中读取并验证,然后将存储到公共列表中;处理器负责验证;最后输出a、b、#E(a,b)、k、h#E(a,b)/k.2.1 基于多处理器GF(p)上构造安全椭圆曲线的并行算法设计输入:有限域的大小p3输出:椭圆曲线E(a,b)、#E(a,b)=kh, k是大的素因子、且算法步骤:Step1:随机产生GF(p)上的一条椭圆曲线E(a,b):;Step2:利用SEA算法计算出#E(a,b);Step3:(1)处理器利用大整

6、数分解算法分解#E(a,b),并检测#E(a,b)的分解中有无大于的素因子k,如果没有,返回Step 1;(2)处理器检测,否则返回 Step 1;(3)处理器检测。否则返回Step 1;Step4:输出a、b、#E(a,b)、k、h#E(a,b)/k。3. 构造给定长度的素数阶椭圆曲线算法分析文献提出构造给定长度的素数阶的椭圆曲线算法描述如下:输入:大素数q的长度输出:素数p、q、上阶为q的椭圆曲线E算法步骤:Step1:取定负奇基本判别式,使适当小;Step2:确定m,n的取值范围,使具有长度;Step3:在Step 2确定的范围中随机选取奇数m,n,令,检查p的素性,直到p为素数为止;S

7、tep4:令,检查q的素性,若q不是素数,转Step 3,若q是素数,转Step 5;Step5:计算(函数),并求出的一个根;Step6:构造以为不变量的椭圆曲线:其中;Step7:随机选取,构造椭圆曲线:;Step8:选取点,若,输出p ,q, E,否则,转Step 7。上述构造给定长度的素数阶的椭圆曲线串行算法中Step2、Step 3和Step 4的主要目的是找出满足给定长度的两个大素数p和q,其中,直到p,q都是素数为止。为了加快构造安全椭圆曲线的速度,本文主要是将原来串行化算法中适合并行化的部分进行并行运算。根据文献【3】中对构造安全椭圆曲线快速算法串行化程序的分析可知,寻找p、q

8、的时间复杂度为,串行化程序最耗时的部分是在循环中,判断,是否为素数,这占用了80%以上的运行时间,并且检验p、q素性之间相互没有依赖关系。因此可以对它们实行并行化,加快构造安全椭圆曲线的速度。3.1基于多处理器检验、素性的并行模型该模型架构中的多个处理器共享循环缓存区和三个存储器,此循环缓存区的大小为(其中)是一个标准的循环缓存区,它可以显示空闲与饱和两种状态。各个处理器可以访问、这三个存储器,存储器存储并提供处理器执行标量乘的操作结果,存储器存储并提供循环缓存区数据的结果,存储器提供第一个数据的地址并存储到循环缓存区,还有一个位标记显示循环缓存区中数据的类型。基于多处理器构造安全椭圆曲线并行

9、检验、素性算法的实现过程中所有处理器都同时参与了检验、素性的运算,这样不但提高了计算效率和处理器的利用率,而且保证了所有处理器单元的负载均衡,能以较快的速度检验、的素性,加快了构造安全椭圆曲线的速度。3.2基于多处理器检验、素性的并行算法的设计改进算法主要将文献【4】的串行化算法中串行判断,是否为素数的部分设计为并行化,并行检验, 的素性。改进算法描述如下:先预计算一些常用的负奇基本判别式计算的根能加快构造椭圆曲线的速度。特别的,当时,是一次多项式,这时可以直接得到的根,现将的负奇基本判别式及相应的根列表如下:输入:大素数q的长度输出:素数p、q,上阶为q的椭圆曲线E算法步骤:Step1:取定

10、负奇基本判别式,使适当小;Step2:确定m,n的取值范围,使具有长度;Step3:其中一个处理器在Step 2确定的范围中随机选取奇数m,n,计算, ,将结果写到循环缓存区中;其余的S-1个 处理器从循环缓存区中读取数据、,并行检查、的素性,直到、为素数并输出、;Step4:计算(或Weber函数),并求出的一个根; Step5:构造以为不变量的椭圆曲线:其中;Step6:随机选取,构造椭圆曲线:;Step7:选取点,若,输出、,E,否则,转Step 6。3.3基于多处理器检验、素性的并行算法的性能分析根据检验、素性的并行算法,设计基于共享内存多处理器并行检验、素性的系统架构,基于多处理器模

11、型的思想是假定一个处理器在给定范围内随机选取奇数m、n,计算,接着将m、n写进缓冲区buffer,然后其余S-1个处理器从缓冲区buffer中读取数据、,并行检验、的素性,并且S个处理器可以异步运行。这样不但提高了计算效率和处理器的利用率,而且保证了所有处理器单元的负载均衡,能以较快的速度检验、的素性,加快了构造安全椭圆曲线的速度。4. 结束语椭圆曲线密码体制常用于智能卡和无线设备等计算资源或存储资源有限的环境,则对产生安全椭圆曲线的快速算法的研究有重要的实践价值。比如,由于计算的复杂性,RSA 的密钥不会在智能卡中产生,而是预产生再装入智能卡,而椭圆曲线密码体制可直接在智能卡中产生参数和密钥

12、。本文通过分析GF(p)上构造安全椭圆曲线的算法与一种奇素数域构造给定长度的素数阶的椭圆曲线算法,将两种算法适合并行化的部分进行并行化处理,并设计了基于多处理器的构造安全椭圆曲线的并行化模型,进而设计了基于多处理器GF(p)上构造安全椭圆曲线的并行算法和基于多处理器检验、素性的并行算法,实现加快构造安全椭圆曲线的速度。参考文献:【1】 张焕国译.椭圆曲线密码学导论.北京:电子工业出版社,2005.8 .【2】 陈国良.并行计算:架构算法编程.北京:高等教育出版社,2003,33.【3】 张方国,王常杰,王育民.GF(p)上安全椭圆曲线及其基点的选取.电子与信息学报,2002,3(24):377381.【4】 何大可,万蓉. 一种素数域上的非超奇椭圆曲线构造方案.西南民族学院学报,2003,1 (29):915. 【5】 Bij

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论