CN107291898A - 基于FPGA的MySQL认证密码恢复系统及其方法 - Google Patents

基于FPGA的MySQL认证密码恢复系统及其方法 Download PDF

Info

Publication number
CN107291898A
CN107291898A CN201710479505.4A CN201710479505A CN107291898A CN 107291898 A CN107291898 A CN 107291898A CN 201710479505 A CN201710479505 A CN 201710479505A CN 107291898 A CN107291898 A CN 107291898A
Authority
CN
China
Prior art keywords
module
data
wheeled
expansion
hash operation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710479505.4A
Other languages
English (en)
Other versions
CN107291898B (zh
Inventor
李晓潮
林少宇
沈舒莉
吴孔程
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tuoer Microelectronics Co ltd
Original Assignee
Xiamen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiamen University filed Critical Xiamen University
Priority to CN201710479505.4A priority Critical patent/CN107291898B/zh
Publication of CN107291898A publication Critical patent/CN107291898A/zh
Application granted granted Critical
Publication of CN107291898B publication Critical patent/CN107291898B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)

Abstract

基于FPGA的MySQL认证密码恢复系统及其方法,异构计算系统由7个模块组成,设硬核处理器、控制模块、密码构造模块、2个SHA‑1算法模块、多密文匹配模块以及密文存储模块。SHA‑1算法模块设数据扩充模块、转化模块、BRAM数据存储模块、预处理模块、两轮展开的哈希运算模块和加法器模块。在异构计算系统内部,通过AXI总线接口连接硬核处理器和MySQL认证密码恢复子系统,利用硬核处理器输入认证数据,启动MySQL认证密码恢复子系统完成密文计算和多密文匹配,并将恢复结果返回给硬核控制器模块。利用FPGA低功耗、高性能的优点实现MySQL的认证密码恢复子系统的硬件加速,具有很高的密码恢复速度和低功耗。

Description

基于FPGA的MySQL认证密码恢复系统及其方法
技术领域
本发明涉及信息安全,尤其是涉及一种基于FPGA的MySQL V4/V5版本认证密码恢复异构计算系统及其方法。
背景技术
异构计算主要是指使用不同指令集架构和体系架构的计算单元组成系统的计算方式。常见的计算单元类别包括CPU、GPU、FPGA、DSP等。不同于仅使用CPU或GPU,异构架构可以采用不同类型的处理器,通过FPGA提供专门的硬件加速实现各种应用中需要的关键处理功能,以执行高度专用的处理任务。现代FPGA芯片中加入了ARM、PowerPC等硬核处理器,并提供了FPGA、主处理器、系统存储器之间宽带、低延迟接口,这种处理器系统与可扩展编程逻辑单元的全新组合大大方便了异构计算应用系统的设计和开发,在保证开发灵活性的同时又具备强大的硬件加速和并行处理能力。
现场可编程门阵列(Field-Programmable Gate Array,FPGA)是可编程器件,它可以为多种应用提供非常灵活的定制硬件加速功能。FPGA的可编程能力保证了这种器件能够满足应用开发灵活性的特殊需求。同时,FPGA具有很大的性能潜力,它支持深度可变的流水线结构,提供大量的并行计算资源,一个时钟周期内就可以完成非常复杂的计算。
MySQL是目前流行的关系型数据库管理系统之一。关系型数据库将数据保存在不同的表中,不但增加了速度,而且提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。由于其占用空间小、速度快、总体拥有成本低,并且具有源码开放的特点,一般中小型互联网网络应用都选择MySQL作为网站数据库管理系统。
MySQL身份认证机制根据用户输入的用户名,查找该用户名在MySQL本地中存储的密文信息,而后通过密码认证算法对明文密码进行计算,计算得到的密文与保存的密文信息进行匹配比对,若一致,则用户身份得到认证,登录成功;否则身份认证失败,登录失败。
在信息安全领域,SHA-1算法常用于对信息的完整性和准确性进行验证,是目前应用较广泛的散列函数之一。SHA-1算法的输入是少于比特的任意长消息,输出是固定的160位的信息摘要。SHA-1是单向散列函数,是不可逆的字符串变换算法,即无法从一个SHA-1信息摘要逆推得到原始的信息。SHA-1还可以用于对密码明文进行加密,如系统存储用户密码的时候,不直接保存明文,而是对明文进行一次或者多次的SHA-1计算得到密文并存储。下次用户登录的时候,把用户输入的密码经过同样步骤计算得到密文并与存储的密文进行比较,若相同,则说明密码正确。
对现有已公开的技术、文章和发明专利的检索发现,专利公开号CN106100825A的“基于FPGA的高吞吐量SHA-1算法”实现了FPGA平台上的四级流水式SHA-1算法。在IEICEElectronics Express期刊的第12卷12期的Parallelizing SHA-1的文中,作者在FPGA平台上实现了20级流水线式SHA-1算法。长春师范大学学报第35卷第10期的“彩虹表在MySQL密码破解中的应用研究”提供了一种基于CPU生成彩虹表,利用彩虹表恢复MySQL密码的方法。HASHCAT是一款基于CPU和GPU平台的开源密码恢复工具,它可以恢复160多种哈希类型的密码,其中就包括MySQL的密码。另外,Cain&Abel这款开源密码恢复工具也提供了基于CPU平台的MySQL密码恢复功能。John The Ripper是一款快速密码破解工具,它也提供GPU平台下的MySQL密码恢复功能。因此,目前针对MySQL认证机制的研究多基于通用多核CPU或者GPU(Graphic Processing Unit,图形处理器)的硬件平台下,尽管其运行速度较快,但是这种实现机制受到高功耗的困扰,能耗比值这个关键指标比较差,在低功耗、高性能和小型化发展方向受到限制。基于FPGA的实现则主要针对SHA-1算法,而且最高实现20级流水线结构。
综上所述,现有技术并未涉及基于FPGA的MySQL认证密码恢复系统和方法,未涉及采用多密文匹配和基于BRAM实现全流水线的SHA-1算法硬件加速,未涉及高吞吐率,高运行频率,低功耗的MySQL V4/V5版本认证密码恢复异构计算系统和方法。
发明内容
为了满足高性能、低功耗的市场需求,本发明的目的在于提供能够快速、高效地对MySQL V4/V5版本的认证密码进行恢复的基于FPGA的MySQL V4/V5版本认证密码恢复异构计算系统及其方法。
所述基于FPGA的MySQL V4/V5版本认证密码恢复异构计算系统,利用异构计算架构中的硬核处理器和可编程逻辑电路部分实现MySQLV4/V5版本认证密码恢复异构计算系统,所述基于FPGA的MySQL V4/V5版本认证密码恢复异构计算系统包括硬核处理器模块、控制模块、密码构造模块、第1SHA-1算法模块、第2SHA-1算法模块、多密文匹配模块和密文存储模块。
所述基于FPGA的MySQL V4/V5版本认证密码恢复异构计算系统的内部通过AXI总线连接硬核处理器模块与MySQL认证密码恢复硬件加速子系统,利用硬核处理器处理输入认证数据并启动MySQL认证密码恢复子系统,MySQL认证密码恢复子系统进行密码认证机制算法的运行,并将相关的计算和匹配结果返回给硬核处理器,最终由硬核处理器进行校验和判断,实现认证密码恢复。
所述基于FPGA的MySQL V4/V5版本认证密码恢复异构计算系统的控制模块连接硬核处理器模块、密码构造模块、第1SHA-1算法模块、第2SHA-1算法模块、多密文匹配模块和密文存储模块,对硬核处理器模块、密码构造模块、第1SHA-1算法模块、第2SHA-1算法模块、多密文匹配模块和密文存储模块的工作和运行进行控制和监测;密码构造模块的输出与第1SHA-1算法模块的输入连接,为第1SHA-1算法模块提供密码;第1SHA-1算法模块的输出与第2SHA-1算法模块的输入连接,经过运算,第2SHA-1算法模块输出密文;密文存储模块存储着需要恢复的密文,多密文匹配模块将需要认证恢复的密文与第2SHA-1算法模块输出的密文比较,并将比较结果返回给控制模块;当需要认证恢复的密文与生成的密文匹配时,则说明找到对应的明文密码,控制模块将匹配结果返回硬核处理器模块。
所述第1SHA-1算法模块和第2SHA-1算法模块共有13个子模块,包括数据扩充模块、第1转化模块、第2转化模块、第3转化模块、第4转化模块、BRAM数据存储模块、预处理模块、第1两轮展开的哈希运算模块、第2两轮展开的哈希运算模块、第3两轮展开的哈希运算模块、第4两轮展开的哈希运算模块、第5两轮展开的哈希运算模块和加法器模块。
所述数据扩充模块读取原始输入数据,并将数据扩充成512位,第1转化模块的输入与数据扩充模块的输出连接,第2转化模块、第3转化模块和第4转化模块依次读取上一级转化模块的输出,每个转化模块根据输入的512位数据产生新的512位数据,所述输出数据构成SHA-1运算的5组数据,其中1组是数据扩充模块的输出数据,剩余4组是通过第1转化模块、第2转化模块、第3转化模块和第4转化模块输出,该5组数据均存放在BRAM数据存储模块中,预处理模块读取BRAM数据存储模块中的部分数据并进行预处理,预处理缩短SHA-1算法关键路径,提高计算速度;利用第1两轮展开的哈希运算模块、第2两轮展开的哈希运算模块、第3两轮展开的哈希运算模块、第4两轮展开的哈希运算模块和第5两轮展开的哈希运算模块实现80轮哈希循环运算过程,第1两轮展开的哈希运算模块从BRAM数据存储模块读取数据,数据来自数据扩充模块产生的512位数据;第2两轮展开的哈希运算模块从BRAM数据存储模块读取数据,数据来自第1转化模块产生的512位数据;第3两轮展开的哈希运算模块、第4两轮展开的哈希运算模块和第5两轮展开的哈希运算模块同样从BRAM数据存储模块读取数据,数据来自第2转化模块、第3转化模块和第4转化模块分别产生的512位数据;第1两轮展开的哈希运算模块还与预处理模块的输出连接,第2两轮展开的哈希运算模块、第3两轮展开的哈希运算模块、第4两轮展开的哈希运算模块和第5两轮展开的哈希运算模块则分别读取来自上一级哈希运算模块的输出,第1两轮展开的哈希运算模块只有7组两轮展开的哈希运算,这是因为数据扩充模块产生的512数据,有部分被预处理模块使用,剩下的数据只够进行7组两轮展开的哈希运算;第2两轮展开的哈希运算模块、第3两轮展开的哈希运算模块和第4两轮展开的哈希运算模块分别利用第1转化模块、第2转化模块和第3转化模块各自产生的512位数据进行8组两轮展开的哈希运算;第5两轮展开的哈希运算模块利用第4转化模块产生的512位数据进行9组两轮展开的哈希运算,这是由于预处理的原因,最后一组两轮展开的哈希运算不需要使用第4转化模块产生的512位数据;加法器模块的输入与第5两轮展开的哈希运算模块的输出连接,同时加法器模块读取BRAM存储模块中的数据,数据来自于原始输入数据,将第5两轮展开的哈希运算模块的输出和原始数据相加后得第1SHA-1算法模块和第2SHA-1算法模块的输出,第1SHA-1算法模块和第2SHA-1算法模块采用全流水线架构实现SHA-180轮的循环计算,每个时钟周期得到一个输出,提高第1SHA-1算法模块和第2SHA-1算法模块的吞吐率。
所述基于FPGA的MySQL V4/V5版本认证密码恢复异构计算的方法,包括以下步骤:
1)硬核处理器将需要恢复的多个密文和其他控制数据通过AXI总线接口输入给MySQL认证密码恢复子系统中的控制模块,控制模块将需要恢复的密文保存在密文存储模块中;
2)控制模块控制密码构造模块构造明文密码,并依次经过第1SHA-1算法模块和第2SHA-1算法模块的计算生成对应的密文;
3)多密文匹配模块比较生成的密文和密文存储模块中存储的多个需要认证恢复的密文,若密文匹配,则认证恢复成功;
4)多密文匹配模块将匹配结果输出给控制模块,并由控制模块将结果返回给硬核处理器,若密文不匹配,则控制模块控制进行下一个明文密码的密文生成和比较的过程。
本发明具有以下优点:
1)采用异构计算架构,能够快速的对MySQL V4/V5版本认证密码进行恢复,缩短恢复时间,提高恢复效率,同时兼具低功耗的优点。
2)采用多密文匹配方式,运行一次认证密码恢复子系统能够同时恢复多个明文密码,在固定时间内完成对多个待恢复密文的明文密码恢复,大大缩短了单个密码的恢复时间。
3)通过采用BRAM对SHA-1算法的流水线结构中数据进行存储和读取,均衡和优化FPGA中的资源占用,大大提高了SHA-1全流水线架构的单位资源吞吐率。
附图说明
图1为本发明的基于FPGA的MySQL认证密码恢复系统框图。
图2为本发明的SHA-1算法模块全流水线架构框图。
图3为本发明的MySQL V4/V5版本认证密码恢复方法流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细说明。
如图1和2所示,本发明基于FPGA的MySQL认证密码恢复系统由7个模块组成。硬核处理器模块1用于输入认证数据,同时接收认证密码恢复结果并显示;控制模块2用于监测和控制整个认证密码恢复过程;密码构造模块3用于构造明文密码,第1SHA-1算法模块4和5根据构造的明文密码计算生成对应的密文;密文存储模块7存储多个需要认证恢复的密文;多密文匹配模块6比较生成的密文和密文存储模块的多个需要认证恢复的密文,并将结果返回给控制模块2。
所述MySQL认证密码恢复系统中控制模块2连接其它6个模块,对其它6个模块的工作和运行进行控制和监测。密码构造模块3的输出与第1 SHA-1算法模块4的输入连接,密码构造模块3根据字符集和密码构造规则构造明文密码。第1 SHA-1算法模块4读取构造的明文密码,对其进行SHA-1计算后输出。第1 SHA-1算法模块4的输出与第2 SHA-1算法模块5的输入连接,第2 SHA-1算法模块5读取第1 SHA-1算法模块4的输出,对其进行SHA-1计算后生成密文;密文存储模块7保存多个需要认证恢复的密文,这些密文是由控制模块2从硬核处理器模块1中读取并保存在密文存储模块7中;多密文匹配模块6比对第2 SHA-1算法模块5输出的生成密文和密文存储模块7中存放的多个需要认证恢复的密文,并将比对结果返回给控制模块2;当需要认证恢复的密文与生成的密文匹配,说明认证密码恢复成功,控制模块2将匹配结果输出给控制模块2,并由控制模块2将结果返回给硬核处理器1。若密文不匹配,则控制模块2控制进行下一个明文密码的密文生成和比较的过程,,直到所有密码认证恢复成功,或者密码空间遍历结束,或者控制模块2发出停止信号。
多密文匹配模块6通过密文存储模块7中的tab1和tab2两个表格来实现密文匹配。其中tab2存放待恢复的认证密文,tab1来存放恢复认证密文在表tab2的存放地址,同时待恢复认证密文的低九位作为表tab1的地址,若不存在和tab1地址对应的待恢复的认证密文,则该tab1地址上的数据为511,表示无效tab2地址。多密文匹配模块6对第2SHA-1算法模块5生成的密文先取其低九位作为地址去查找tab1表格,并判断其数据值是否有效,有效则把该数据值作为地址去读取tab2表格的对应单元,并将存取的待恢复密文和第2 SHA-1算法模块5生成的密文进行比较。
所述第1 SHA-1算法模块4和第2 SHA-1算法模块5共有13个子模块,包括数据扩充模块41、第1转化模块42、第2转化模块43、第3转化模块44、第4转化模块45、BRAM数据存储模块46、预处理模块47、第1两轮展开的哈希运算模块48、第2两轮展开的哈希运算模块49、第3两轮展开的哈希运算模块410、第4两轮展开的哈希运算模块411、第5两轮展开的哈希运算模块412和加法器模块413。
所述数据扩充模块41读取原始输入数据,并将数据扩充成512位,第1转化模块42的输入与数据扩充模块41的输出连接,第2转化模块43、第3转化模块44和第4转化模块45依次读取上一级转化模块的输出,每个转化模块根据输入的512位数据产生新的512位数据,所述输出数据构成SHA-1运算的5组数据,其中1组是数据扩充模块41的输出数据,剩余4组是通过第1转化模块42、第2转化模块43、第3转化模块44和第4转化模块45输出,该5组数据均存放在BRAM数据存储模块46中,预处理模块47读取BRAM数据存储模块46中的部分数据并进行预处理,预处理缩短SHA-1算法关键路径,提高计算速度;利用第1两轮展开的哈希运算模块48、第2两轮展开的哈希运算模块49、第3两轮展开的哈希运算模块410、第4两轮展开的哈希运算模块411和第5两轮展开的哈希运算模块412实现80轮哈希循环运算过程,第1两轮展开的哈希运算模块48从BRAM数据存储模块46读取数据,数据来自数据扩充模块41产生的512位数据;第2两轮展开的哈希运算模块49从BRAM数据存储模块46读取数据,数据来自第1转化模块42产生的512位数据;第3两轮展开的哈希运算模块410、第4两轮展开的哈希运算模块411和第5两轮展开的哈希运算模块412同样从BRAM数据存储模块46读取数据,数据来自第2转化模块43、第3转化模块44和第4转化模块45分别产生的512位数据;第1两轮展开的哈希运算模块48还与预处理模块47的输出连接,第2两轮展开的哈希运算模块49、第3两轮展开的哈希运算模块410、第4两轮展开的哈希运算模块411和第5两轮展开的哈希运算模块412则分别读取来自上一级哈希运算模块的输出,第1两轮展开的哈希运算模块48只有7组两轮展开的哈希运算,这是因为数据扩充模块41产生的512数据,有部分被预处理模块47使用,剩下的数据只够进行7组两轮展开的哈希运算;第2两轮展开的哈希运算模块49、第3两轮展开的哈希运算模块410和第4两轮展开的哈希运算模块411分别利用第1转化模块42、第2转化模块43和第3转化模块44各自产生的512位数据进行8组两轮展开的哈希运算;第5两轮展开的哈希运算模块412利用第4转化模块45产生的512位数据进行9组两轮展开的哈希运算,这是由于预处理的原因,最后一组两轮展开的哈希运算不需要使用第4转化模块45产生的512位数据;加法器模块413的输入与第5两轮展开的哈希运算模块412的输出连接,同时加法器模块413读取BRAM存储模块46中的数据,数据来自于原始输入数据,将第5两轮展开的哈希运算模块412的输出和原始数据相加后得第1SHA-1算法模块4和第2SHA-1算法模块5的输出,第1 SHA-1算法模块4和第2 SHA-1算法模块5采用全流水线架构实现SHA-180轮的循环计算,每个时钟周期得到一个输出,提高第1 SHA-1算法模块4和第2 SHA-1算法模块5的吞吐率。
在图2中,标记A为原始输入,B为全流水,C为输出。
如图3所示,本发明基于FPGA的MySQL V4和V5版本认证密码恢复异构计算系统,其认证密码恢复方法包括以下具体步骤:
S1:MySQL认证密码恢复开始;
S2:控制模块通过AXI总线接口从硬核处理器中读取需要恢复的多个密文和其他控制数据,并将密文保存在密文存储模块中;
S3:密码构造模块开始构造明文密码;
S4:明文密码依次经过两个SHA-1算法模块的计算生成对应的密文;
S5:多密文匹配模块将需要认证恢复的密文与生成的密文进行比对;
S6:若没有一个密文与生成的密文一样,则返回S3步骤;若有密文与生成的密文一样,则匹配成功,继续S7步骤;
S7:将匹配结果暂存;
S8:查看是否所有需要恢复的密文都匹配成功或者密码空间遍历结束,或者收到停止信号,若是,则继续S9步骤;否者返回S3步骤,继续构造新的明文密码;
S9:将所有认证密码恢复结果返回硬核处理器;
S10:MySQL认证密码恢复结束。

Claims (6)

1.基于FPGA的MySQL V4/V5版本认证密码恢复异构计算系统,其特征在于利用异构计算架构中的硬核处理器和可编程逻辑电路部分实现MySQLV4/V5版本认证密码恢复异构计算系统,所述基于FPGA的MySQL V4/V5版本认证密码恢复异构计算系统包括硬核处理器模块、控制模块、密码构造模块、第1SHA-1算法模块、第2SHA-1算法模块、多密文匹配模块和密文存储模块。
2.如权利要求1所述基于FPGA的MySQL V4/V5版本认证密码恢复异构计算系统,其特征在于其内部通过AXI总线连接硬核处理器模块与MySQL认证密码恢复硬件加速子系统,利用硬核处理器处理输入认证数据并启动MySQL认证密码恢复子系统,MySQL认证密码恢复子系统进行密码认证机制算法的运行,并将相关的计算和匹配结果返回给硬核处理器,最终由硬核处理器进行校验和判断,实现认证密码恢复。
3.如权利要求1所述基于FPGA的MySQL V4/V5版本认证密码恢复异构计算系统,其特征在于其控制模块连接硬核处理器模块、密码构造模块、第1SHA-1算法模块、第2SHA-1算法模块、多密文匹配模块和密文存储模块,对硬核处理器模块、密码构造模块、第1SHA-1算法模块、第2SHA-1算法模块、多密文匹配模块和密文存储模块的工作和运行进行控制和监测;密码构造模块的输出与第1SHA-1算法模块的输入连接,为第1SHA-1算法模块提供密码;第1SHA-1算法模块的输出与第2SHA-1算法模块的输入连接,经过运算,第2SHA-1算法模块输出密文;密文存储模块存储着需要恢复的密文,多密文匹配模块将需要认证恢复的密文与第2SHA-1算法模块输出的密文比较,并将比较结果返回给控制模块;当需要认证恢复的密文与生成的密文匹配时,则说明找到对应的明文密码,控制模块将匹配结果返回硬核处理器模块。
4.如权利要求3所述基于FPGA的MySQL V4/V5版本认证密码恢复异构计算系统,其特征在于所述第1SHA-1算法模块和第2SHA-1算法模块共有13个子模块,包括数据扩充模块、第1转化模块、第2转化模块、第3转化模块、第4转化模块、BRAM数据存储模块、预处理模块、第1两轮展开的哈希运算模块、第2两轮展开的哈希运算模块、第3两轮展开的哈希运算模块、第4两轮展开的哈希运算模块、第5两轮展开的哈希运算模块和加法器模块。
5.如权利要求4所述基于FPGA的MySQL V4/V5版本认证密码恢复异构计算系统,其特征在于所述数据扩充模块读取原始输入数据,并将数据扩充成512位,第1转化模块的输入与数据扩充模块的输出连接,第2转化模块、第3转化模块和第4转化模块依次读取上一级转化模块的输出,每个转化模块根据输入的512位数据产生新的512位数据,所述输出数据构成SHA-1运算的5组数据,其中1组是数据扩充模块的输出数据,剩余4组是通过第1转化模块、第2转化模块、第3转化模块和第4转化模块输出,该5组数据均存放在BRAM数据存储模块中,预处理模块读取BRAM数据存储模块中的部分数据并进行预处理,预处理缩短SHA-1算法关键路径;利用第1两轮展开的哈希运算模块、第2两轮展开的哈希运算模块、第3两轮展开的哈希运算模块、第4两轮展开的哈希运算模块和第5两轮展开的哈希运算模块实现80轮哈希循环运算过程,第1两轮展开的哈希运算模块从BRAM数据存储模块读取数据,数据来自数据扩充模块产生的512位数据;第2两轮展开的哈希运算模块从BRAM数据存储模块读取数据,数据来自第1转化模块产生的512位数据;第3两轮展开的哈希运算模块、第4两轮展开的哈希运算模块和第5两轮展开的哈希运算模块同样从BRAM数据存储模块读取数据,数据来自第2转化模块、第3转化模块和第4转化模块分别产生的512位数据;第1两轮展开的哈希运算模块还与预处理模块的输出连接,第2两轮展开的哈希运算模块、第3两轮展开的哈希运算模块、第4两轮展开的哈希运算模块和第5两轮展开的哈希运算模块则分别读取来自上一级哈希运算模块的输出,第1两轮展开的哈希运算模块只有7组两轮展开的哈希运算,数据扩充模块产生的512数据,有部分被预处理模块使用,剩下的数据只够进行7组两轮展开的哈希运算;第2两轮展开的哈希运算模块、第3两轮展开的哈希运算模块和第4两轮展开的哈希运算模块分别利用第1转化模块、第2转化模块和第3转化模块各自产生的512位数据进行8组两轮展开的哈希运算;第5两轮展开的哈希运算模块利用第4转化模块产生的512位数据进行9组两轮展开的哈希运算,这是由于预处理的原因,最后一组两轮展开的哈希运算不需要使用第4转化模块产生的512位数据;加法器模块的输入与第5两轮展开的哈希运算模块的输出连接,同时加法器模块读取BRAM存储模块中的数据,数据来自于原始输入数据,将第5两轮展开的哈希运算模块的输出和原始数据相加后得第1SHA-1算法模块和第2SHA-1算法模块的输出,第1SHA-1算法模块和第2SHA-1算法模块采用全流水线架构实现SHA-180轮的循环计算,每个时钟周期得到一个输出,提高第1SHA-1算法模块和第2SHA-1算法模块的吞吐率。
6.基于FPGA的MySQL V4/V5版本认证密码恢复异构计算的方法,其特征在于包括以下步骤:
1)硬核处理器将需要恢复的多个密文和其他控制数据通过AXI总线接口输入给MySQL认证密码恢复子系统中的控制模块,控制模块将需要恢复的密文保存在密文存储模块中;
2)控制模块控制密码构造模块构造明文密码,并依次经过第1SHA-1算法模块和第2SHA-1算法模块的计算生成对应的密文;
3)多密文匹配模块比较生成的密文和密文存储模块中存储的多个需要认证恢复的密文,若密文匹配,则认证恢复成功;
4)多密文匹配模块将匹配结果输出给控制模块,并由控制模块将结果返回给硬核处理器,若密文不匹配,则控制模块控制进行下一个明文密码的密文生成和比较的过程。
CN201710479505.4A 2017-06-22 2017-06-22 基于FPGA的MySQL认证密码恢复系统及其方法 Active CN107291898B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710479505.4A CN107291898B (zh) 2017-06-22 2017-06-22 基于FPGA的MySQL认证密码恢复系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710479505.4A CN107291898B (zh) 2017-06-22 2017-06-22 基于FPGA的MySQL认证密码恢复系统及其方法

Publications (2)

Publication Number Publication Date
CN107291898A true CN107291898A (zh) 2017-10-24
CN107291898B CN107291898B (zh) 2020-07-10

Family

ID=60096822

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710479505.4A Active CN107291898B (zh) 2017-06-22 2017-06-22 基于FPGA的MySQL认证密码恢复系统及其方法

Country Status (1)

Country Link
CN (1) CN107291898B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108900307A (zh) * 2018-07-06 2018-11-27 厦门大学 Pgp密钥管理认证密码恢复算法的fpga实现方法
CN108959168A (zh) * 2018-06-06 2018-12-07 厦门大学 基于片上内存的sha512全流水电路及其实现方法
CN109905228A (zh) * 2017-12-07 2019-06-18 北京智云芯科技有限公司 一种实现哈希运算的专用计算电路
CN111813526A (zh) * 2020-07-10 2020-10-23 深圳致星科技有限公司 用于联邦学习的异构处理系统、处理器及任务处理方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9037875B1 (en) * 2007-05-22 2015-05-19 Marvell International Ltd. Key generation techniques
US20150379276A1 (en) * 2014-06-27 2015-12-31 Freescale Semiconductor, Inc. System on a chip, controller and method for securing data
CN106027261A (zh) * 2016-05-18 2016-10-12 厦门大学 基于fpga的luks认证芯片电路及其密码恢复方法
CN106302354A (zh) * 2015-06-05 2017-01-04 北京壹人壹本信息科技有限公司 一种身份认证方法和装置
CN106534124A (zh) * 2016-11-15 2017-03-22 浙江丞易软件开发有限公司 一种整合加密存储防篡改的方法及系统
CN106685638A (zh) * 2016-11-24 2017-05-17 天津津航计算技术研究所 应用于信息安全的杂凑算法的硬件实现系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9037875B1 (en) * 2007-05-22 2015-05-19 Marvell International Ltd. Key generation techniques
US20150379276A1 (en) * 2014-06-27 2015-12-31 Freescale Semiconductor, Inc. System on a chip, controller and method for securing data
CN106302354A (zh) * 2015-06-05 2017-01-04 北京壹人壹本信息科技有限公司 一种身份认证方法和装置
CN106027261A (zh) * 2016-05-18 2016-10-12 厦门大学 基于fpga的luks认证芯片电路及其密码恢复方法
CN106534124A (zh) * 2016-11-15 2017-03-22 浙江丞易软件开发有限公司 一种整合加密存储防篡改的方法及系统
CN106685638A (zh) * 2016-11-24 2017-05-17 天津津航计算技术研究所 应用于信息安全的杂凑算法的硬件实现系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王晓燕 等: "基于FPGA的SM3算法优化设计与实现", 《计算机工程》 *
胡承: "MySQL数据库的安装备份与密码恢复", 《甘肃科技》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109905228A (zh) * 2017-12-07 2019-06-18 北京智云芯科技有限公司 一种实现哈希运算的专用计算电路
CN109905228B (zh) * 2017-12-07 2023-07-25 北京智云芯科技有限公司 一种实现哈希运算的专用计算电路
CN108959168A (zh) * 2018-06-06 2018-12-07 厦门大学 基于片上内存的sha512全流水电路及其实现方法
CN108900307A (zh) * 2018-07-06 2018-11-27 厦门大学 Pgp密钥管理认证密码恢复算法的fpga实现方法
CN111813526A (zh) * 2020-07-10 2020-10-23 深圳致星科技有限公司 用于联邦学习的异构处理系统、处理器及任务处理方法

Also Published As

Publication number Publication date
CN107291898B (zh) 2020-07-10

Similar Documents

Publication Publication Date Title
CN107291898A (zh) 基于FPGA的MySQL认证密码恢复系统及其方法
CN107480163B (zh) 一种云环境下支持隐私保护的高效密文图像检索方法
US8959138B2 (en) Distributed data scalable adaptive map-reduce framework
CN102938767B (zh) 基于云数据外包系统的高效可验证的模糊关键词搜索方法
CN108334612A (zh) 一种针对密文域的形近汉字全文模糊检索方法
Thuy et al. A fast approach for bitcoin blockchain cryptocurrency mining system
WO2015156786A1 (en) Redactable document signatures
CN107135078B (zh) Pbkdf2密码算法加速方法及所用装置
CN114048448A (zh) 基于区块链的动态可搜索加密方法及装置
CN111552849A (zh) 可搜索加密方法、系统、存储介质、车载网、智能电网
CN103049709A (zh) 基于生成元扩展彩虹表的密码恢复系统及其恢复方法
Russo et al. DNN model compression for IoT domain-specific hardware accelerators
Wen et al. Enhancing PUF reliability by machine learning
CN108959168A (zh) 基于片上内存的sha512全流水电路及其实现方法
Nazemi et al. Synergiclearning: Neural network-based feature extraction for highly-accurate hyperdimensional learning
CN115017107A (zh) 基于保护隐私的数据检索方法、装置、计算机设备及介质
CN111373694A (zh) 零知识证明硬件加速器及其方法
Zhang et al. A hybrid-CPU-FPGA-based solution to the recovery of sha256crypt-hashed passwords
Hranický et al. Distributed password cracking in a hybrid environment
CN106533657B (zh) 一种sm3杂凑加密系统
Le et al. Mrsa: A high-efficiency multi romix scrypt accelerator for cryptocurrency mining and data security
Baker et al. A computationally efficient engine for flexible intrusion detection
CN105930104B (zh) 数据存储方法和装置
CN106796765B (zh) 非减序列判定装置、非减序列判定方法以及记录介质
Bandyopadhyay et al. ESOP-based synthesis of reversible circuit using improved cube list

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220519

Address after: 710000 A201, zero one Plaza, Xi'an Software Park, No. 72, Keji Second Road, high tech Zone, Xi'an, Shaanxi

Patentee after: Tuoer Microelectronics Co.,Ltd.

Address before: Xiamen City, Fujian Province, 361005 South Siming Road No. 422

Patentee before: XIAMEN University