论文部分内容阅读
伴随着计算机和移动互联网的迅速发展,越来越多的数据文件被存放在互联网中,因此如何保证网络中数据的安全性显得越来越重要,在数据的存储、传输等过程中都伴随着数据被窃取的风险,密码学的出现可以很好的解决数据的安全性问题。当前常用的加密算法主要分为对称与非对称加密两种方式,对于大数据量的加密通常采用对称加密的方式。Blowfish作为当前对称加密中的一个新型加密算法,有着军事级别的安全性能,并且计算速度要远小于传统的AES、DES等加密算法,因此拥有很好的发展前景。但是加密算法的大规模运算使得其在对大数据量进行加解密操作的时候需要耗费很长的时间,特别时基于传统CPU的串行执行体制,使得加密算法效率更加低效。基于硬件加解密的方式能提升算法的执行速度,但是随之带来的硬件投入以及开发难度限制了其推广,因此如何更高效的提升加密算法的执行效率显得及其重要。因此本论文将使用GPU来实现Blowfish算法从而提升算法加解密速度,同时通过使用GPU进行大量计算任务从而将CPU资源解放用于处理其他任务,本论文主要完成了以下工作:1、通过对比分析了几种常见对称加密算法的加解密性能从而得出Blowfish算法的性能优越。2、基于GPU来实现Blowfish算法,分别通过串并行任务结合来对Blowfish算法加解密过程进行拆分、然后利用访存优化以及任务并行化来对Blowfish算法的性能进行进一步提升,最后利用CUDA流编程来将加解密任务的加密计算处理过程与数据传输过程进行并行化从而进一步提升算法的加解密效率。3、然后基于上述基于GPU的算法设计了一个文件加解密系统,该系统主要包含文件上传、文件下载、文件预览功能模块,然后将该文件加解密系统运用到实验室平台中的文件服务器,为了能够正常稳定的调用GPU设备模块来应对多用户文件操作需要进行同时进行加解密的情况,在加解密系统中又设计了一个GPU工作池来保证设备的安全稳定运行。4、在系统完成之后,分别采用模拟数据、真实文件加解密来对GPU版本的Blowfish算法性能进行测试,最后验证性能提升明显,最后对将文件加解密系统与实验室平台文件服务器结合之后的文件上传与预览功能进行功能性测试,最后运行正常。