论文部分内容阅读
MySQL数据库软件被广泛地使用于工程项目中,以此同时,它的安全性也受到极大的关注,因而针对MySQL的密码认证机制的分析研究有着重要的意义。本文针对FPGA中MySQL密码认证算法进行分析和研究,并基于FPGA实现高性能的SHA-1算法,从而实现MySQL的口令认证算法SoPC设计,实现其口令恢复应用。本文的主要工作如下:(1)基于BRAM实现了 SHA-1算法的41级全流水线硬件设计采用BRAM对SHA-1算法数据进行存储和读取,均衡FPGA中资源占用,41级全流水的SHA-1仅占用4514个slice,35个BRAM,对比2015年12月IEICE期刊发表的20级流水线设计,两者slice资源占用数量相当,但本设计采用41级全流水级,且算法运行频率提高148.735MHz,达到256.1MHz,吞吐率达到131.123Gbps,提高到 4.89 倍。(2)对SHA-1算法进行流水线级数优化使用预处理,n级循环展开以及通过内部流水线级数设计优化关键路径三种技术来优化SHA-1。我们通过预处理使得时钟频率提高了 95MHz。相同性能的SHA-1中,使用2级循环展开技术后节省了 2201个slice,最后通过三种优化技术的叠加,进行内部2级流水线设计,使得时钟频率达到311MHz,吞吐率达到159Gbps,单位吞吐率达到 16.08Mbps/slice,比 2014 年 Integration,the VLSI Journal期刊中的SHA-1实现的3.1OMbps/slice,其单位吞吐率提高了 4倍。(3)实现基于MySQL密码认证算法的口令恢复应用将V3版本的私有加密算法,V4,V5的SHA-1算法以及多密文匹配算法和密码构造算法进行FPGA的全流水线型硬件兑现,在以上算法实现的基础上,实现了 MySQL中V3版本和SHA-1算法的密码认证机制,并通过6级并行架构,成倍地增加吞吐率。其单芯片SHA-1算法的口令恢复速度为18亿/秒,比GPU的GTX 690平台快6.64亿个口令密码每秒,单子板认证速度为72亿,比GPU的GTX 690平台速度提高60.64亿/每秒,提高了 5倍。