[发明专利]基于梯度惩罚的生成式对抗网络的密码破解方法及系统在审
申请号: | 202010697341.4 | 申请日: | 2020-07-20 |
公开(公告)号: | CN111966997A | 公开(公告)日: | 2020-11-20 |
发明(设计)人: | 吴昊天;周涛 | 申请(专利权)人: | 华南理工大学 |
主分类号: | G06F21/46 | 分类号: | G06F21/46;G06N3/04;G06N3/08 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 李斌 |
地址: | 510640 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 梯度 惩罚 生成 对抗 网络 密码 破解 方法 系统 | ||
1.一种基于梯度惩罚的生成式对抗网络的密码破解方法,其特征在于,包括下述步骤:
数据预处理:确定最长密码的长度和密码中最多允许存在的字符种类,清除长度超过预设值的密码以及限制密码中的字符种类个数,采用一个字符数组过滤原始训练密码,得到训练数据;
网络构造:构造残差块结构、生成器和判别器,首先构造残差块结构类,并基于残差块结构类分别构造生成器类和判别器类,之后再构造判别器损失函数中需要的梯度惩罚类;
进行网络训练:生成相应的生成器和构造器实例,初始化生成器和构造器相应的优化器,在训练数据上进行迭代训练;
采用训练好的生成器参数生成爆破密码集。
2.根据权利要求1所述的基于梯度惩罚的生成式对抗网络的密码破解方法,其特征在于,所述数据预处理具体步骤包括:
转化原始数据训练数据:将原始密码文件转化为一个密码中包含的字符组成的字符数组和一个密码中包含的字符组成的字符词典,所述字符词典以密码中出现的字符为键,以字符在字符数组中的位置为值;
提取训练数据:根据字符数组提取最终训练数据,若原始训练数据中某行密码中的字符未出现在字符数组中,则该行密码被过滤。
3.根据权利要求1所述的基于梯度惩罚的生成式对抗网络的密码破解方法,其特征在于,所述构造生成器类,具体步骤包括:
输入随机的隐空间维度大小的噪声z,通过网络进行前向传播生成密码。
4.根据权利要求1所述的基于梯度惩罚的生成式对抗网络的密码破解方法,其特征在于,所述生成器的输入数据维度为[每次训练样本数,隐空间维度],首先需要通过线性转化为[每次训练样本数,(密码长度*中间层维度)]的矩阵然后进行维度拆分变为[每次训练样本数,密码长度,中间层维度]的矩阵,传入残差网络中,通过一维卷积得到[每次训练样本数,字符种类,密码长度]的矩阵,然后进行维度次序变换为[每次训练样本数,密码长度,字符种类]的矩阵。
5.根据权利要求1所述的基于梯度惩罚的生成式对抗网络的密码破解方法,其特征在于,所述构造判别器类,最终判别器的输出结果为维度[每次训练样本数,1]的矩阵,表示每一批训练样本在判别器中的得分。
6.根据权利要求1所述的基于梯度惩罚的生成式对抗网络的密码破解方法,其特征在于,在训练数据上进行迭代训练,在训练生成器网络与判别器网络时,当训练其中一个网络结构时,另一个网络结构中的参数保持不变;
训练判别器,使用真实密码数据以及生成器生成的密码数据训练生成器,并且在反向传播时需要冻结生成器的模型参数,只更新判别器的模型参数;
训练生成器,使用生成器生成虚假密码,并将生成的密码输入到判别器中,生成密码的标签,在反向传播参数更新中冻结判别器的模型参数,只更新生成器的模型参数。
7.根据权利要求1所述的基于梯度惩罚的生成式对抗网络的密码破解方法,其特征在于,所述采用训练好的生成器参数生成爆破密码集,具体步骤包括:生成器将随机生成的隐空间维度大小的噪声z作为输入,然后进行前向传播得到爆破密码集。
8.根据权利要求7所述的基于梯度惩罚的生成式对抗网络的密码破解方法,其特征在于,所述采用训练好的生成器参数生成爆破密码集,训练数据还进行数字化处理,将所有训练数据中的密码字符转化为在密码字典中对应该字符的值,生成的爆破密码集为如下维度的矩阵:[每次训练样本数,密码长度,字符种类],首先使用argmax函数进行转换,取概率最大的字符的下标作为具体值缩减维度,生成的中间结果为矩阵[每次训练样本数,密码长度],其中密码长度维度上为字符数组中的字符所在的位置下标,根据字符数据进行下标转换得到生成的具体密码。
9.一种基于梯度惩罚的生成式对抗网络的密码破解系统,其特征在于,包括:数据预处理模块、网络构造模块、网络训练模块和爆破密码集生成模块;
所述数据预处理模块用于确定最长密码的长度和密码中最多允许存在的字符种类,清除长度超过预设值的密码以及限制密码中的字符种类个数,采用一个字符数组过滤原始训练密码,得到训练数据;
所述网络构造模块用于构造残差块结构、生成器和判别器,首先构造残差块结构类,并基于残差块结构类分别构造生成器类和判别器类,之后再构造判别器损失函数中需要的梯度惩罚类;
所述网络训练模块用于生成相应的生成器和构造器实例,初始化生成器和构造器相应的优化器,在训练数据上进行迭代训练;
所述爆破密码集生成模块用于采用训练好的生成器参数生成爆破密码集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010697341.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种朱砂淘洗装置
- 下一篇:一种基于图像处理的空载率计算方法