CN115220913A - 基于hashcat与GPU并行计算的PCFG口令猜测方法 - Google Patents
基于hashcat与GPU并行计算的PCFG口令猜测方法 Download PDFInfo
- Publication number
- CN115220913A CN115220913A CN202210718908.0A CN202210718908A CN115220913A CN 115220913 A CN115220913 A CN 115220913A CN 202210718908 A CN202210718908 A CN 202210718908A CN 115220913 A CN115220913 A CN 115220913A
- Authority
- CN
- China
- Prior art keywords
- password
- fragment
- preterminal
- pcfg
- gpu
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90348—Query processing by searching ordered data, e.g. alpha-numerically ordered data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于口令安全技术领域,具体为一种基于hashcat与GPU并行计算的PCFG口令猜测方法。本发明首先对PCFG口令猜测模型生成的训练数据进行预处理,构建相应数据结构后传输至GPU端,在GPU端利用处理的数据和设计的索引算法并行生成口令猜测并在口令密文中进行匹配,最后将命中信息传回CPU端并重构命中口令以实现口令恢复。本发明猜测方法兼容hashcat的运行流程,可作为一种攻击模式直接实现在hashcat中。本发明在利用PCFG高效的猜测效率的同时,利用GPU并行计算减少了口令生成的时间成本;将PCFG口令生成过程与hashcat运行过程相结合,减少了概率猜测模型与实用破解工具结合使用的传输时延。
Description
技术领域
本发明属于口令安全技术领域,具体为一种基于hashcat与GPU并行计算的PCFG口令猜测方法。
背景技术
文本口令因其低成本、易使用等特性,一直以来在身份认证领域被广泛使用。口令安全研究人员一直致力于寻找高效的口令猜测方法。高效的口令猜测方式可以帮助口令管理员更好地发现易被破解的口令,也可在司法举证中用于获取加密信息。而随着近年来越来越多的口令明文数据被泄漏,基于数学概率模型的数据驱动口令猜测成为可能,以概率上下文无关文法(Probabilistic Context-free Grammars,简称PCFG)为代表的概率口令猜测模型在口令安全研究领域受到越来越多的关注。PCFG 在明文口令集上进行训练,将口令提取成由字符类片段组合成的结构(预终端),用结构的概率与其组成字符串(片段元素)的概率的乘积作为口令概率,以概率从高到低的顺序生成猜测口令。相比于以基于规则的攻击为主要攻击方法的hashcat等实用口令破解工具,PCFG这类基于数学概率模型的猜测方法在同等猜测数下具有更高的猜测效率,即能使用更少的猜测命中更多的口令。但PCFG生成猜测口令的速度过慢,在现实攻击场景下并不实用。此外,在进行密文口令的破解时,需要另外采用管道机制来与实用工具相结合来进行哈希和匹配等操作,更增加时间消耗。总的来说,目前PCFG的口令生成速度还亟待提升,且缺少可用的PCFG 与实用工具hashcat的集成方案。
发明内容
本发明的目的在于提出一种破解效效率高、可扩展性强的PCFG口令猜测方法。
本发明提出的PCFG口令猜测方法,是将实用口令破解工具hashcatt与GPU并行计算技术相结合;通过在CPU端预处理PCFG模型训练得到的模型数据和在GPU端各线程中使用设计的索引算法定位该线程需要生成的口令,使得PCFG能利用GPU在口令级别上实现并行口令生成。本发明不但利用PCFG本身高效的口令破解效率,还利用GPU加速口令生成速度,并通过与实用口令破解工具hashcat结合,进一步提升在现实场景下破解密文口令的速度。
本发明提出的PCFG口令猜测方法,具体分为三个步骤:
步骤一、CPU端处理PCFG模型数据
模型数据的处理分为两个部分:构建片段字典和重构预终端;通过在CPU端对PCFG口令猜测模型的模型数据进行预处理,得到片段字典和重构后的预终端结构;片段字典在破解开始之前传入GPU端待用;进行口令破解时,每次基于GPU内存限制生成并传输一定数量预终端结构进入GPU端,进行后续口令猜测过程。其中:
(一)所述构建片段字典,是指将PCFG训练得到的所有片段字符串按顺序存储成一个字典(片段字典),创建完成后传入GPU端待用。具体来说,对于所有片段元素(字符串),依次按类型、长度和概率的顺序进行排序,即先按类型进行排序,对于同种类型的片段元素,按长度进行排序,对所有同类型且长度相同的片段元素,按概率进行排序。例如,类型排序时将字母类型排在最前,且字母类型且长度为1的片段元素中,元素“a”的概率最高,则片段元素“a”将排在片段字典的第一位;
由此,可以将每种类型片段不同长度的元素看成一组,如上例中字符类型、长度为1的所有元素为一组,且该组元素的第一个元素为“a”。为了获取每组元素的位置,另设一个长度为K*N的一维数组存储所有元素组在片段字典中的起始位置(即上例中“a”的相对偏移),其中K为片段类型数,N为片段元素的最大长度。通过该一维数组,通过某元素在该组中的编号,即可获取到该元素在整个片段字典的相对偏移,从而计算出该元素的地址。
(二)所述重构预终端,分为三个部分:片段元素概率重分配、修改预终端的基本结构和预终端结构长度微调,其中片段元素概率重分配发生在生成预终端之前。
(1)在生成预终端之前,重新分配同类型、同长度片段元素的概率,以此调整预终端中每个片段的元素数量,进而调整一个预终端将生成的口令数目。通过此方法来使后续在GPU进行并行口令生成时同一个warp中的线程处理同一个预终端,从而减少线程间的等待时延。具体来说,对于片段字典中同类型、同长度的元素,按8个一组重新分配概率,以此生成的预终端每个片段中包含8个元素。对于包含2个及以上片段的预终端,生成的口令数一定是32(一个warp中的线程数)的整数倍,无需其他操作;但对于仅包含一个片段的预终端,需要重复4次该预终端使得生成的口令数达到32。
(2)修改预终端的基本结构。在原始的预终端结构中,每个预终端需要存储每个片段对应的类型、长度、概率和其中包含的具体元素(字符串数组)。在修改预终端时,首先在每一个预终端结构中增加四个值,分别是偏移量(offset)、片段数量(segment size)、前猜测数(previous guesses)和当前猜测数(current guesses)。其次,对于构成预终端的每个片段,保留类型(type)和片段长度(length)这两项基础信息,去除原结构体中存储的概率信息和具体元素字符串,新增两个值,即元素起始编号(start index of item)和元素数量(item size)。以此不但减少了原有结构的冗余存储,还为之后的索引计算做好准备。
其中,新增的几类数值的具体含义如下:
偏移量记录了上一个预终端要生成的最后一条猜测口令所对应的线程编号(线程编号从1开始,初始的0对应最大线程编号),可以用来计算当前预终端要生成的第一条猜测口令所对应的线程编号。
片段数量记录了组成当前预终端的口令片段的数量,可以用来判断组成该预终端的具体片段数据的存储边界。
前猜测数记录了在当前预终端之前的所有预终端所生成的猜测口令总数,可用来计算当前预终端生成的某条猜测口令在猜测方法生成的所有猜测口令中的位置。
当前猜测数记录了当前预终端所能生成的猜测口令总数,可以用来判断当前预终端是否已分配完所有猜测口令的生成任务。
元素起始编号记录当前片段中的第一个元素在片段字典的同类型同长度元素中的偏移。由于一个预终端中片段的所有元素都是同类型、同长度且同概率的,所有这些元素在片段字典中是连续存储的,因此只需要存储第一个元素的偏移即可。
元素数量记录当前片段中的元素包含的字符串的数量,可以与长度一起使用来判断元素在片段字典中的地址边界。
(3)对单个预终端结构大小进行微调。考虑到GPU的内存访问始终以缓存行为单位执行,且缓存行大小通常为128字节,可以在减少预终端结构长度的基础上使一个预终端的总长度为GPU缓存行大小的整数倍,以此减少获取预终端时的存储访问次数。具体来说,在一个预终端结构中,分别使用8字节、1字节、8字节、7字节来存储偏移量、片段数量、前猜测数和当前猜测数;对预终端中包含的每个段,分别使用1字节、1字节、1字节和5字节来存储类型、长度、元素起始编号和元素数量,并限制一个预终端最多含有29个片段。由此,一个预终端的大小为256字节,避免了存储不对齐带来的低效读取的问题。
按照上述步骤创建的预终端结构被传入GPU端用于后续口令的生成。由于GPU内存有限,无法一次性处理所有预终端,所以需要按批次生成和处理预终端结构,其中每批次的数量被限制为使用剩余可用显存的 90% 除以单个预终端所占空间大小(即 256 字节)整数商值。此外,预终端的生成和处理被设计为两个并行进行的线程,进一步提升速度。
步骤二、GPU端并行生成并匹配猜测口令
根据每次传入GPU的预终端结构中的信息,利用设计的索引算法,在每个GPU线程中确定待生成的口令及其相应片段元素在片段字典中的位置,从而生成猜测口令。对于每个猜测口令,调用hashcat提供的哈希处理和密文匹配接口,若匹配成功,则保留当前猜测的索引值(pt_id和guess_id)用于后续CPU明文口令的重构。
其中,利用设计的索引算法生成猜测口令,分为两个部分:
(1)使用pt_id-guess_id来表示第pt_id个预终端所生成的第guess_id个猜测口令。由此,在GPU中,对于每一个编号为thread_id的线程,可使用下式,通过遍历pt_id的方式计算该线程在处理编号为pt_id的预终端需要生成的口令的guess_id:
其中,thread_size表示使用的线程总数,offset与current_guess分别为每个预终端结构中存储的偏移量和当前猜测数。具体过程为,从1开始遍历每一个pt_id,对于每一个pt_id,获取到其中存储的offset和current_guess,进而从0开始遍历𝛼来计算当前pt_id中需要生成的口令的guess_id,直到得到的guess_id>current_guess,则开始处理下一个pt_id。
(2)一个预终端通过顺序选择各个片段中的元素来生成口令,从左向右,先遍历所有第i个片段的元素,对每个片段i的元素,遍历所有第i+1个片段的元素。因此,在已知口令对应的pt_id和guess_id之后,可利用一维数组转为多维数组的方式,基于guess_id来逆推出组成该猜测口令的各个片段的元素编号seg_id。又因为在预终端结构中,每个片段都存储了起始元素在片段字典中所在组(同类型、同长度)的偏移(start index of item),由该值加上seg_id则可以计算出该元素在片段字典中所在组的偏移。接着利用存储在K*N的一维数组中的片段字典每组元素的起始地址,以此加上偏移值计算出该元素的地址,从而在片段字典中得到具体的字符串。由此,拼接每段的元素字符串,最终得到猜测口令。
步骤三、CPU端重构并输出命中口令
对于匹配成功的口令,将猜测口令对应的索引信息(pt_id和guess_id)传回CPU端,在CPU端按照步骤二中描述的索引算法重构命中口令的明文,由此成功恢复出明文口令,最后将破解信息输出到指定位置。
本发明猜测方法兼容hashcat的运行流程,可作为一种攻击模式直接实现在hashcat中。本发明在利用PCFG高效的猜测效率的同时,利用GPU并行计算减少了口令生成的时间成本;将PCFG口令生成过程与hashcat运行过程相结合,减少了概率猜测模型与实用破解工具结合使用的传输时延。
技术效果
本发明提出的猜测方法可以有效提升PCFG的口令破解速度。通过在真实世界中泄漏的口令集上(CSDN、178、Youku、Rockyou、Neopets、Cit0Day)进行跨站口令猜测实验,验证了该发明的提升效果。在相同时间内,本发明能达到的破解率相较于目前效果最好的PCFG破解方法(C版本PCFG与hashcat通过管道结合),破解率平均提升了14.85%,最高可达27.42%。
本发明提出的猜测方法是易于扩展的。对于其他版本的PCFG,只要其仍旧按长度对段进行分类,则只需要在实现时根据其使用的PCFG模型语法对语法字典和预终端结构进行调整即可。另外,由于本发明提出的猜测方法不影响hashcat本身的运行逻辑,针对hashcat版本更新的情况,也不需要过多修改。
本发明是易于操作的。本发明将PCFG口令破解方法实现为hashcat的一种攻击模式,使用该攻击模式时,只需要在运行hashcat时在命令行中以参数的形式另外向hashcat提供PCFG的模型数据所在目录即可,其他选项与使用原版hashcat并无差别。
本发明提出的猜测方法对PCFG片段划分方式有要求,如果片段划分中没有长度信息,比如按语法对片段进行分类,在实现到hashcat中时则需要重新考虑字典的对齐和设计方案。
附图说明
图1为本发明提出的猜测方法的运行流程图。
具体实施方式
下面对本发明的实施例作详细说明,给出具体的实施方式和操作过程,但本发明的保护范围不限于下述的实施例。
在使用本发明之前,需要先利用对应版本的PCFG生成训练模型。
本发明将PCFG口令破解方法实现为hashcat的一种攻击模式,使用该攻击模式时,只需要在运行hashcat时在命令行中以参数的形式另外向hashcat提供PCFG训练出的模型所在目录即可,其他选项与使用原版hashcat并无差别。
运行本发明的命令行示例如下:
./hashcat -a 11 -m 99999 -o result.txt --pcfg-base-directory=/pcfg_
model/ target.txt
其中:-a指定攻击模式,本发明中的PCFG攻击模型被设置为hashcat并未使用的11;-m指定目标文件使用的哈希算法,此处的99999表示明文,即目标文件未使用哈希算法进行加密;- o指定存储破解结果的输出文件的路径;--pcfg-base-directory指定使用的PCFG训练数据所在的路径;最后一个参数(target.txt)指定目标文件的路径。
Claims (5)
1. 一种基于hashcat与GPU并行计算的PCFG口令猜测方法,其特征在于,通过在CPU端预处理PCFG模型训练得到的模型数据和在GPU端各线程中使用设计的索引算法定位该线程需要生成的口令,使得PCFG能利用GPU在口令级别上实现并行口令生成;并通过与实用口令破解工具hashcat结合,提升在现实场景下破解密文口令的速度;具体步骤如下:
步骤一、CPU端处理PCFG模型数据
模型数据的处理分为两个部分:构建片段字典和重构预终端;通过在CPU端对PCFG口令猜测模型的模型数据进行预处理,得到片段字典和重构后的预终端结构;片段字典在破解开始之前传入GPU端待用;进行口令破解时,每次基于GPU内存限制生成并传输一定数量预终端结构进入GPU端,进行后续口令猜测过程;
步骤二、GPU端并行生成并匹配猜测口令
根据每次传入GPU的预终端结构中的信息,利用索引算法在每个GPU线程中确定待生成的口令及其相应片段元素在片段字典中的位置,从而生成猜测口令;对生成的猜测口令按相应哈希算法处理后在密文口令文件中进行匹配,对于匹配成功的猜测口令,记录其索引信息并传回CPU端;
步骤三、CPU端重构并输出命中口令
对于匹配成功的口令,其相应索引信息被传回CPU端,在CPU端利用索引算法重构命中口令的明文,以此完成口令恢复,最后将破解信息输出到指定位置。
2.根据权利要求1所述的PCFG口令猜测方法,其特征在于,在步骤一中,所述构建片段字典,是指将PCFG训练得到的所有片段字符串按顺序存储成一个字典;具体过程为:
(1)对于所有片段元素即字符串,依次按类型、长度和概率的顺序进行排序,即先按类型进行排序,对于同种类型的片段元素,按长度进行排序,对所有同类型且长度相同的片段元素,按概率进行排序;
(2)将每种类型片段不同长度的元素看成一组,为了获取每组元素的位置,另设一个长度为K*N的一维数组存储所有元素组在片段字典中的起始位置,其中K为片段类型数,N为片段元素的最大长度;通过该一维数组,根据某元素在该组中的编号,即可获取到该元素在整个片段字典的相对偏移,从而计算出该元素的地址。
3.根据权利要求1所述PCFG口令猜测方法,其特征在于,在步骤一中,所述重构预终端的具体过程分为三个部分:片段元素概率重分配、修改预终端的基本结构和预终端结构长度微调;
(1)片段元素概率重分配,是在生成预终端之前,重新分配同类型、同长度片段元素的概率,以此调整预终端中每个片段的元素数量,进而调整一个预终端将生成的口令数目,使后续在GPU进行并行口令生成时同一个warp中的线程处理同一个预终端,从而减少线程间的等待时延;具体来说,对于片段字典中同类型、同长度的元素,按8个一组重新分配概率,以此生成的预终端每个片段中包含8个元素;对于包含2个及以上片段的预终端,生成的口令数是32的整数倍,无需其他操作;对于仅包含一个片段的预终端,重复4次该预终端使得生成的口令数达到32;
(2)修改预终端的基本结构;在原始的预终端结构中,每个预终端存储每个片段对应的类型、长度、概率和其中包含的具体元素即字符串数组;所述修改预终端的基本结构,首先,在每一个预终端结构中增加四个值,分别是偏移量、片段数量、前猜测数和当前猜测数;其次,对于构成预终端的每个片段,保留类型和片段长度两项基础信息,去除原结构体中存储的概率信息和具体元素字符串,新增两个值,即元素起始编号和元素数量;以此减少原有结构的冗余存储,并为之后的索引计算做好准备;
(3)对预终端结构长度微调,是对单个预终端结构大小进行微调;考虑到GPU的内存访问始终以缓存行为单位执行,且缓存行大小为128字节,在减少预终端结构长度的基础上使一个预终端的总长度为GPU缓存行大小的整数倍,以此减少获取预终端时的存储访问次数;具体地,在一个预终端结构中,分别使用8字节、1字节、8字节、7字节来存储偏移量、片段数量、前猜测数和当前猜测数;对预终端中包含的每个段,分别使用1字节、1字节、1字节和5字节来存储类型、长度、元素起始编号和元素数量,并限制一个预终端最多含有29个片段。
4.根据权利要求1所述的PCFG口令猜测方法,其特征在于,在步骤二中,所述利用索引算法生成猜测口令的具体流程为:
(1)使用pt_id-guess_id来表示第pt_id个预终端所生成的第guess_id个猜测口令;于是,在GPU中,对于每一个编号为thread_id的线程,使用下式,通过遍历pt_id的方式计算该线程在处理编号为pt_id的预终端需要生成的口令的guess_id:
其中,thread_size表示使用的线程总数,offset与current_guess分别为每个预终端结构中存储的偏移量和当前猜测数;具体过程为,从1开始遍历每一个pt_id,对于每一个pt_id,获取到其中存储的offset和current_guess,进而从0开始遍历𝛼来计算当前pt_id中需要生成的口令的guess_id,直到得到的guess_id>current_guess,则开始处理下一个pt_id;
(2)一个预终端通过顺序选择各个片段中的元素来生成口令;从左向右,先遍历所有第i个片段的元素,对每个片段i的元素,遍历所有第i+1个片段的元素;因此,在已知口令对应的pt_id和guess_id之后,利用一维数组转为多维数组的方式,基于guess_id来逆推出组成该猜测口令的各个片段的元素编号seg_id;由于在预终端结构中,每个片段都存储了起始元素在片段字典中所在组的偏移,由该值加上seg_id则可以计算出该元素在片段字典中所在组的偏移;接着利用存储在K*N的一维数组中的片段字典每组元素的起始地址,加上偏移值计算出该元素的地址,从而在片段字典中得到具体的字符串;拼接每段的元素字符串,最终得到猜测口令。
5.根据权利要求3所述的PCFG口令猜测方法,其特征在于,步骤一中:
所述偏移量,记录上一个预终端要生成的最后一条猜测口令所对应的线程编号,可以用来计算当前预终端要生成的第一条猜测口令所对应的线程编号;
所述片段数量,记录组成当前预终端的口令片段的数量,可以用来判断组成该预终端的具体片段数据的存储边界;
所述前猜测数,记录在当前预终端之前的所有预终端所生成的猜测口令总数,可用来计算当前预终端生成的某条猜测口令在猜测方法生成的所有猜测口令中的位置;
所述当前猜测数,记录当前预终端所能生成的猜测口令总数,可以用来判断当前预终端是否已分配完所有猜测口令的生成任务;
所述元素起始编号,记录当前片段中的第一个元素在片段字典的同类型同长度元素中的偏移;
所述元素数量,记录当前片段中的元素包含的字符串的数量,可以与长度一起使用来判断元素在片段字典中的地址边界。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210718908.0A CN115220913A (zh) | 2022-06-23 | 2022-06-23 | 基于hashcat与GPU并行计算的PCFG口令猜测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210718908.0A CN115220913A (zh) | 2022-06-23 | 2022-06-23 | 基于hashcat与GPU并行计算的PCFG口令猜测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115220913A true CN115220913A (zh) | 2022-10-21 |
Family
ID=83609152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210718908.0A Pending CN115220913A (zh) | 2022-06-23 | 2022-06-23 | 基于hashcat与GPU并行计算的PCFG口令猜测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115220913A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117971318A (zh) * | 2024-03-28 | 2024-05-03 | 北京微核芯科技有限公司 | 取数指令猜测不相关错误的预测方法和装置 |
-
2022
- 2022-06-23 CN CN202210718908.0A patent/CN115220913A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117971318A (zh) * | 2024-03-28 | 2024-05-03 | 北京微核芯科技有限公司 | 取数指令猜测不相关错误的预测方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Matsumoto et al. | Biological sequence compression algorithms | |
CN110689349B (zh) | 一种区块链中的交易哈希值存储和搜索方法及装置 | |
CN103049709B (zh) | 基于生成元扩展彩虹表的密码恢复系统及其恢复方法 | |
CN111552849B (zh) | 可搜索加密方法、系统、存储介质、车载网、智能电网 | |
CN109145624B (zh) | 一种基于Hadoop平台的多混沌文本加密算法 | |
US11763021B2 (en) | Efficient secure string search using homomorphic encryption | |
CN115220913A (zh) | 基于hashcat与GPU并行计算的PCFG口令猜测方法 | |
CN103427844A (zh) | 一种基于gpu和cpu混合平台的高速无损数据压缩方法 | |
Sirén | Burrows-Wheeler transform for terabases | |
Nardiello et al. | Discretizing continuous attributes in AdaBoost for text categorization | |
CN108959128A (zh) | Crypt-SHA512加密算法的加速装置与方法 | |
Hranický et al. | Distributed password cracking in a hybrid environment | |
CN112199214A (zh) | 一种gpu上的候选口令生成及应用破解方法 | |
CN111859425A (zh) | 一种基于属性的通配符可搜索加密方法 | |
CN113157693B (zh) | 一种面向数字货币的区块链存储优化方案 | |
CN112417509B (zh) | 基于自编码器的数据安全去重方法 | |
CN113326023A (zh) | 一种基于区块链哥德巴赫生成随机数的方法 | |
CN110413958B (zh) | 用于自动机空间压缩的线性同余字符集变换方法及系统 | |
CN113918696A (zh) | 基于k均值聚类算法的问答匹配方法、装置、设备及介质 | |
CN112148682A (zh) | 基于云存储的多异构文件联合延迟尾概率凸优化算法 | |
Esseissah et al. | Three strategies for improving shortest vector enumeration using gpus | |
CN116319111B (zh) | 一种基于进化算法的数据链式传输方法及系统 | |
CN110011790A (zh) | 一种基于编码的抗量子密钥协商方法 | |
CN115801020B (zh) | 确定有限状态自动机压缩方法、匹配方法、设备及介质 | |
JP4008138B2 (ja) | 暗号鍵生成装置 |
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 |