技术开发 频道

多核加密技术的并行化研究

  【IT168 技术】

         注:本文为IT168&NVIDIA联合举办的“如何并行化我的应用”方案征集活动参赛作品。本次方案征集活动详情见:http://cuda.itpub.net/thread-1299715-1-1.html。近期活动的大部分方案,将会逐步与大家分享,不可错过哦!

  CUDA ZONE专区:http://cuda.it168.com

  CUDA技术论坛:http://cuda.itpub.net

  一、研究背景

  随着信息技术的不断发展和应用,人们在享受到越来越丰富的信息资源的同时,也受到了越来越严重的安全威胁。信息安全的重要性与日俱增。在目前信息安全的应用领域中,公钥密码算法由于其良好的安全性和丰富的功能,而得到了广泛应用。但由于公钥加密系统都是基于数学难题,计算非常复杂,它的实现速度比传统单钥加密系统要慢很多。这在很大程度上影响了公钥密码算法的广泛应用。公钥密码算法的改进与提速一直是密码学研究领域的热门课题。

  近年来逐渐兴起的多核并行处理技术为公钥密码算法的提速提供了新的研究方向。多核处理技术的架构,利用了“分治法”的思想,将原来由单个处理器所完成的任务分派给多个处理器进行并行计算。利用多核技术,将计算任务进行并行化处理,使得计算机的处理能力得到了很大改进。将公钥密码算法的复杂运算交由多个处理器进行并行计算,可以使公钥加密系统的实现速度得到提高,从而使得性能优良的公钥加密系统能够得到更为广泛的应用。

  本方案的内容就是将多核处理技术应用于公钥加密系统。通过对公钥算法进行分析与拆分,进行合理的任务调度,使其能够在多个处理器中最大程度地并行处理,并将结果进行统一合并,从而实现出一个安全、高效、灵活的公钥加密系统。

  针对目前公钥密码技术的发展情况与未来发展趋势,本方案采用椭圆曲线密码体制(ECC)为主要密码算法。因为相对于RSA公钥密码体制, 在实现相同的安全性的前提下,ECC所需的密钥量要比RSA少的多,因而能够在各个领域等到更加广泛的应用,尤其是在更小规模的硬件上实现高效加密、数字签名、认证和密钥管理等。

  二、国内外的研究现状及研究意义

  2.1研究现状:

  两年前,大部分网络处理器和个人PC上的处理器还都是单核,然而现在多核处理器已经得到了广泛应用。英特尔公司已经在家用电脑上实现了四核处理器的架构。美国TILERA公司的众核处理器甚至已经可以在一个芯片中集成64个处理器。随着多核技术的兴起,把多核技术应用于信息安全领域,比如多核加密技术和网络入侵检测技术在学术界成了最近的一个比较热门的方向。

  原因很简单,信息安全的应用往往是基于复杂的数学运算,这在如今的个人电脑上是不能得到广泛应用的,因为它要消耗大量的CPU和内存资源并且阻碍我们的正常程序的运行。这是我们所不能允许的。多核技术由于能够提供更快的速度和更高的性能恰恰解决了这个问题。因此把多核技术应用于信息安全领域成了国外的一个热点研究方向。

  通过查阅国内外相关文献资料得知,关于椭圆曲线密码并行计算的文章基本上都是在2008年左右发表的,而在这些研究中,又以对有限域GF(p)上的基本运算的并行化研究居多。并且主要集中于其中的倍点和点乘运算。国外方面,马来西亚科技大学的Uma S.Kanniah和Azman Samsudin讨论了两种并行算法在椭圆曲线的应用,并说明了多核并行计算的相关应用。另外赫尔辛基技术大学的Kimmo Järvinen和Junfeng Fan、Kazuo Sakiyama、Ingrid、Verbauwhede等也进行了相关的研究。国内方面,中船重工集团第709研究所的张家宏和武汉大学数学与统计学院的陈建华、张丽娜介绍了点加、点倍算法的选取及用点加点倍并行实现点乘的方法,提出了在一个CPU两个公钥运算核的SoC系统中点加,点倍并行计算完成点乘的思想。浙江大学超大规模集成电路设计研究所的陈华锋,沈海斌,严晓浪提出了一种在特征为2的有限域上并行快速实现椭圆曲线密码(ECC)点乘运算的方法。武汉大学软件工程国家重点实验室的涂航,汪朝晖,李莉,李元香分析了ECC 在DSP 内实现的安全性问题,给出了一种DSP上的ECC 并行实现方案。

  不断发展的多核技术为公钥算法的提速带来了希望,但遗憾的是还没有一个特别完美的解决方案,因此多核加密技术仍然是国际密码学界研究的一个热点问题。

  2.2研究意义:

  本方案最大的意义在于能够利用多核计算的优势提高公钥系统加解密的速度。因为公钥算法的速度问题一直是人们关注的热点,如果在控制成本的基础上大大提高加解密的速度,它就能得到更广泛的应用,特别是在高速骨干网络以及大容量的网络信息服务系统当中可大大提高系统的效率。本研究在理论上也具有重要的意义。

  三、具体的并行化想法及效果

  本方案的研究目标主要是椭圆曲线加密算法(ECC)的并行化计算。在此基础之上将分解后的子算法集成于一个多核的处理器芯片(multi-core processors)中,使之能够进行多核并行处理,从而提高公钥加密系统的实现速度和运算效率,使得公钥加密系统能够得到更加广泛的应用,为社会提供更加安全、高效、灵活的信息安全服务。

  四、具体的方案实施

  l 主要的步骤如下:

  1、把椭圆曲线加密算法分解成若干子算法

  2、把上一步分解的子算法注入到多核中进行并行运算.

  3、合并结果,分析并且输出结果.

  4、硬件实现。

  l 具体要解决的问题:

  1、 椭圆曲线底层基本算法的并行化设计。

  2、 椭圆曲线高层运算的并行化设计。

  3、 椭圆曲线加解密应用的并行化设计。

  4、 并行化效果的理论计算。

  5、 椭圆曲线并行化实现。

  6、 并行化效果的测试和评估。

  7、 并行化实现抵御边信道攻击的研究与改进。

0
相关文章