一种基于唇码验证的文件加密及解密方法与流程

文档序号:31023416发布日期:2022-08-05 22:10阅读:166来源:国知局
一种基于唇码验证的文件加密及解密方法与流程

1.本发明涉及一种文件加密及解密方法,尤其是指一种基于唇码验证的文件加密及解密方法。


背景技术:

2.现有的文件加密及解密方法难以应对各种不同的攻击和盗用,如现有常见公匙基础结构、基于客户-服务器(c/s)模型连接文件发送机制等等,但无论哪种传输方式,文件一旦被成功接收,文件发送者无法控制文件的后续使用,即存在以下缺点:1、文件发送方无法指定文件接收;2、文件的有效次数不可控制。这些缺点导致文件数据在网络传输中对个人隐私和版权安全的保护能力不高。


技术实现要素:

3.本发明的目的在于针对上述问题,提供一种传输安全、准确和稳定可靠的基于唇码验证的文件加密及解密方法。
4.本发明的目的可采用以下技术方案来达到:
5.一种基于唇码验证的文件加密及解密方法,包括以下步骤:
6.s1、通过欲加密打包文件的特征信息将文件进行切割,形成文件分块;
7.s2、将所述文件分块打乱顺序后组合成乱序文件,并将所述乱序文件打包封装,形成封装文件;
8.s3、对于生成的所述封装文件,每次接收到解压指令时,均获取用户唇码验证信息,且累加计算接收到所述解压指令的累计次数。
9.进一步地,所述步骤s1的具体内容为:
10.所述欲加密打包文件的特征信息包括时间戳信息、既定开启位置信息、验证密码信息、既定开启用户信息(即用户名user_id)、既定开启硬件特征码信息及既定开启软件特征码信息中的一种或多种。
11.进一步地,所述步骤s3的具体内容为:
12.所述欲加密打包文件的特征信息中还包括尝试次数限定值;
13.当步骤s3中接收到所述解压指令的累计次数小于或等于所述尝试次数限定值,且获取的所述用户唇码验证信息与所述欲加密打包文件的特征信息中除所述尝试次数限定值外的信息对应匹配一致时,解压开启所述封装文件,同时将接收到所述解压指令的累计次数置为零;接收到所述解压指令的累计次数大于所述尝试次数限定值时,破坏所述封装文件内的文件;若对用户接受次数无限制,则次数限定值不设上限;
14.当次数限制为有限次时,判断接收到所述解压指令的累计次数是否小于或等于所述尝试次数限定值,如果满足条件,解压指令的累计次数将进行累加,后续进行用户验证,获取的所述用户唇码验证信息与所述欲加密打包文件的特征信息对应匹配一致时,解压开启所述封装文件;接收到所述解压指令的累计次数大于所述尝试次数限定值时,系统将破
坏所述封装文件内的文件,用户将无法开启文件。
15.进一步地,所述步骤s1和s2的具体内容为:
16.将隐私图片分割成若干个子图,其次用一个随机的序列打乱像素块,生成一个1到n的无重复元素的乱序排列;将我们设为像素块编号,从1到n:则原始的图像为从一个1,2,3

n的顺序排列;打乱之后,得到一个由1,2,3

n随机乱序排列得到的图像;
17.在接收到用户录制的视频后,我们的算法将计算视频第一帧上的人的脸部标志点。根据这些标志,我们可以在视频的每一帧框中框住人的脸和嘴。在第二阶段,基于算法在第一阶段所表示的框,算法对视频中的背景进行裁剪,得到两个子视频,分别只包含人脸和嘴巴。由于视频中包含的冗余信息,该算法每n帧只保留一帧。然后将这两个下下采样子视频分别送入人脸识别管道和唇码管道,返回s
face
和s
iip
两个分数;
18.通过s
face
和s
iip
组合得到最终的融合分数s
final
通过融合函数logistic:
19.s
final
=g(β0+β1s
face
+β2s
iip
),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
20.这里
[0021][0022]
而β=[β0,β1,β2]是logistic回归模型的最大似然值,利用共轭梯度算法可以估计出回归系数;
[0023]
用户在获得访问许可证后,获得对应的密匙,密匙通过检索哈希表,获得对应的哈希值,从而获得随机random的输出,通过重新算出应有的乱序排列,将图像中相应位置的块,移动到原有的正确位置,并返回给用户;最终,指定用户解码获取隐私图片原图。
[0024]
进一步地,将密匙用哈希函数处理,得到的伪随机字节每4个一组,得到一系列32位的随机数字;
[0025]
然后,对消息进行补码处理,假设消息m的二进制编码长度为l位,在信息末尾补上一位“1”,然后再补上k个“0”,其中k为下列方程的最小非负整数:
[0026]
i+1+k=448
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0027]
最终补完以后的消息二进制位数长度是512的倍数。将补码处理后的消息以512位为单位分块:m
(1)
,m
(2),


,m
(n)
,其中第i个消息块的前32位表示为:m
0(i)
,后面32位为m
1(i)
,以此类推,最后32位的消息块可表示为m
15(i)
;最后,哈希计算主循环算法得到最终需要的哈希h。
[0028]
实施本发明,具有如下有益效果:
[0029]
本发明在一个智能手机的单一学习范式下同时实现唇密码验证和人脸识别,从而确定文件接收对象。与现有的文件加密方式相比,该系统可以应对不同的攻击和盗用。本发明可以指定文件接收者,并且文件的有效次数可以控制,具有较强的鲁棒性,同时确保文件数据在网络传输中对个人隐私和版权安全的保护。
附图说明
[0030]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
[0031]
图1是本发明基于唇码验证的文件加密及解密方法的流程框图。
[0032]
图2是本发明基于唇码验证的文件加密及解密方法的指定解压次数判断逻辑图。
[0033]
图3是本发明基于唇码验证的文件加密及解密方法的能够实现隐私图片的加密、用户验证及图片解码的流程示意图。
[0034]
图4是本发明基于唇码验证的文件加密及解密方法的同时处理人脸识别和唇码验证的流程示意图。
[0035]
图5是本发明基于唇码验证的文件加密及解密方法的哈希函数存储密匙的控制流程示意图。
[0036]
图6是本发明基于唇码验证的文件加密及解密方法的注册模块的代码界面设计的控制流程示意图。
[0037]
图7是本发明基于唇码验证的文件加密及解密方法的验证模块的代码接口设计的控制流程示意图。
[0038]
图8是本发明基于唇码验证的文件加密及解密方法的唇密码识别算法的控制流程示意图。
[0039]
图9是本发明基于唇码验证的文件加密及解密方法的分类模型框架图。
[0040]
图10是本发明基于唇码验证的文件加密及解密方法的开始界面的使用流程示意图。
[0041]
图11是本发明基于唇码验证的文件加密及解密方法的注册的使用流程示意图。
[0042]
图12是本发明基于唇码验证的文件加密及解密方法的验证的使用流程示意图。
[0043]
图13是本发明基于唇码验证的文件加密及解密方法的授权的使用流程示意图。
具体实施方式
[0044]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0045]
实施例
[0046]
参照图1和图2,本实施例涉及文件加密和解密方法,包括以下步骤:
[0047]
s1、通过欲加密打包文件的特征信息将文件进行切割,形成文件分块;所述欲加密打包文件的特征信息包括时间戳信息、既定开启位置信息、验证密码信息、既定开启用户信息(即用户名user_id)、既定开启硬件特征码信息及既定开启软件特征码信息中的一种或多种。所述欲加密打包文件的特征信息中还包括尝试次数限定值;
[0048]
s2、将所述文件分块打乱顺序后组合成乱序文件,并将所述乱序文件打包封装,形成封装文件;
[0049]
s3、对于生成的所述封装文件,每次接收到解压指令时,均获取用户唇码验证信息,且累加计算接收到所述解压指令的累计次数。当接收到所述解压指令的累计次数小于或等于所述尝试次数限定值,且获取的所述用户唇码验证信息与所述欲加密打包文件的特征信息中除所述尝试次数限定值外的信息对应匹配一致时,解压开启所述封装文件,同时
将接收到所述解压指令的累计次数置为零;接收到所述解压指令的累计次数大于所述尝试次数限定值时,破坏所述封装文件内的文件;若对用户接受次数无限制,则次数限定值不设上限;
[0050]
当次数限制为有限次时,判断接收到所述解压指令的累计次数是否小于或等于所述尝试次数限定值,如果满足条件,解压指令的累计次数将进行累加,后续进行用户验证,获取的所述用户唇码验证信息与所述欲加密打包文件的特征信息对应匹配一致时,解压开启所述封装文件;接收到所述解压指令的累计次数大于所述尝试次数限定值时,系统将破坏所述封装文件内的文件,用户将无法开启文件。
[0051]
所述步骤s1和s2的具体内容为:
[0052]
如图3所示,首先,将隐私图片分割成若干个子图,其次用一个随机的序列打乱像素块,生成一个1到n的无重复元素的乱序排列,该过程可以通过 fisher-yates算法实现;例如。我们设为像素块编号,从1到n:那么原始的图像为从一个1,2,3

n的顺序排列;打乱之后,得到一个由1,2,3

n随机乱序排列得到的图像;加密的过程,就是制造一个乱序排列,然后将顺序的结果与之对应,转移图像的数据,重新拼出乱序图像。
[0053]
图片序列函数random的输出和接收用户的user_id绑定,制造一个伪随机数发生器(prng)。系统将改密匙用哈希函数处理,得到的伪随机字节每4个一组,得到一系列32位的随机数字。加密后的图片通过网络传输传至潜在用户,用户在解密图片前,需通过我们的系统获得访问许可。
[0054]
先,用户(他/她)需要用摄像头录制一段包含他/她的脸和唇码的视频。然后,我们将对这段视频输入算法,并根据人脸和唇码信息做出最终的决定。我们算法的框架细节如图4所示。我们提出的算法的总体流程可以分为三个部分。在第一阶段,在接收到用户录制的视频后,我们的算法将计算视频第一帧上的人的脸部标志点。根据这些标志,我们可以在视频的每一帧框中框住人的脸和嘴。在第二阶段,基于算法在第一阶段所表示的框,算法对视频中的背景进行裁剪,得到两个子视频,分别只包含人脸和嘴巴。由于视频中包含的冗余信息,该算法每n帧只保留一帧。然后将这两个下下采样子视频分别送入人脸识别管道和唇码管道,返回s
face
和s
iip
两个分数;
[0055]
通过s
face
和s
iip
组合得到最终的融合分数s
final
通过融合函数logistic:
[0056]sfinal
=g(β0+β1s
face
+β2s
iip
),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0057]
这里
[0058][0059]
而β=[β0,β1,β2]是logistic回归模型的最大似然值,利用共轭梯度算法可以估计出回归系数;
[0060]
用户在获得访问许可证后,获得对应的密匙,密匙通过检索哈希表,获得对应的哈希值,从而获得随机random的输出,通过重新算出应有的乱序排列,将图像中相应位置的块,移动到原有的正确位置,并返回给用户;最终,指定用户解码获取隐私图片原图。
[0061]
存储密匙模块是为存储函数random的输出和用户的user_id制造的伪随机数。如图5所示,存储模块包括初始化、数据预处理、主循环三部分。
[0062]
将密匙用哈希函数处理,得到的伪随机字节每4个一组,得到一系列32位的随机数
字;
[0063]
然后,对消息进行补码处理,假设消息m的二进制编码长度为l位,在信息末尾补上一位“1”,然后再补上k个“0”,其中k为下列方程的最小非负整数:
[0064]
i+1+k=448
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0065]
最终补完以后的消息二进制位数长度是512的倍数。将补码处理后的消息以512位为单位分块:m
(1)
,m
(2)’,

,m
(n)
,其中第i个消息块的前32位表示为:m
0(i)
,后面32位为m
1(i)
,以此类推,最后32位的消息块可表示为m
15(i)
;最后,哈希计算主循环算法得到最终需要的哈希h。
[0066]
密匙检索模块是为通过关键码值(key-value)快速实现查找功能,密匙通过检索哈希表,获得对应的哈希值,从而获得随机random的输出,通过重新算出应有的乱序排列,然后将图像中相应位置的块,移动到原有的正确位置,并返回给用户。
[0067]
注册模块是为新用户在系统中注册并记录自己的唇密码而设计的。如图6 所示,注册模块包括用户界面、注册和检查三个界面。
[0068]
首先,当用户请求注册时,会调用接口用户界面来打开摄像头。摄像头准备好后,用户界面将调用接口注册来录制用户的视频。
[0069]
当录制完成后,将调用验证接口来检查视频的有效性,并返回一个值来表示有效性。如果该值小于该阈值,该视频将被视为无效视频,该视频将被丢弃。如果该值大于阈值,该视频将被视为有效视频并存储在数据库中。
[0070]
重复这两个步骤,直到所有视频有效。
[0071]
此时,用户即可完成注册。用户可以在注册的任意步骤停止注册。
[0072]
注册模块的总体过程在算法4中描述。
[0073]
验证模块是为注册用户在系统中申请访问许可而设计的。如图7所示,验证模块包括界面、人脸识别和唇码验证三个界面。
[0074]
首先,当用户请求访问许可时,会调用接口ui来打开摄像头。
[0075]
摄像头准备好录音后,用户会被要求录制唇码视频。
[0076]
录制完成后,唇密码视频将同时发送到人脸识别和唇码验证接口。在每个管道中,视频将与数据库中的记录进行比较,并返回两个分数。
[0077]
最后,将上一步得到的两个分数进行融合,计算出最终分数。根据最后的分数,我们将做出决定。如果最终得分小于阈值,则用户的请求将被拒绝。否则,该请求将被允许。
[0078]
如图8所示,唇密码识别算法大致可以分为5部分:
[0079]
1.计算脸部标志。该算法将首先计算面部标志,用于检测嘴唇区域和修整视频。
[0080]
2.定位唇部区域,对只包含唇部区域的视频进行微调。
[0081]
3.提取嘴唇特征。由于原始特征中包含了一些令人不安的信息,因此分类效率不高。因此,考虑到方向信息对于嘴唇识别至关重要,我们选择方向梯度直方图作为特征来表示视频。
[0082]
4.建立分类模型。在提取出唇形特征后,利用这些特征建立有效的分类模型来识别唇形密码是否正确。
[0083]
5.估计相似。当验证唇密码时,算法会使用学习到的分类模型将其与注册阶段捕获的唇密码视频进行比较。比较后将返回估计分数。如果分数大于预设的阈值,则认为唇密
码是正确的。否则,将被认为是错误的。
[0084]
如图9所示,在建立分类模型时,使用了两种特征:
[0085]
1.全局特征,用于估计样本之间的全局相似性。例如,密码35712和35711 的全局相似度高于密码35712和65484。
[0086]
2.局部特征,用于估计样本对应子单元之间的局部相似性。可以保证较高的分类精度。例如,密码35712和35711的全局相似度较高,但12和11的局部相似度较低。
[0087]
同时利用这两种特性,保证了口令的安全性。具体来说,我们首先对全局特征进行下下采样,然后建立全局分类器进行识别。然后,将全局特征切成n 个部分,构建相应的n个局部分类器进行识别。整体决策将通过考虑所有全局和局部分类器的决策来做出。
[0088]
注册和验证模块:
[0089]
5.1开始界面
[0090]
当用户启动应用程序时,会看到主页,如图10中的第一个图所示。页面中有三个功能:
[0091]-左上角的关闭按钮。用户可以单击该按钮退出应用程序。
[0092]-用户id输入框和sign in按钮。如果用户以前注册过,可以在user id输入框中输入唯一的id,然后单击sign in按钮,开始验证过程。
[0093]-注册按钮。如果用户之前没有注册,可以点击此按钮开始注册过程。
[0094]
5.2注册:选择用户id
[0095]
点击主页上的sign up按钮后,用户将进入注册页面,如图10中的第二个图所示,页面上有user id输入框和提交按钮。用户在输入框中输入唯一的用户 id,用户id应满足以下约束:
[0096]
用户id的长度为4~8。
[0097]
用户id至少包含一个字母和一个数字。
[0098]
用户id应该只包含字母数字字符。
[0099]
用户id不能已被其他注册用户使用。
[0100]
输入用户id后,用户可以单击提交按钮进入下一页。如果用户id不满足这四个约束,用户id输入框上方将显示一个红色警告,如图10中的第三个图所示。
[0101]
5.3注册:记录lip-password
[0102]
用户在输入有效的用户id后,会进入一个新的页面来记录自己的 lip-password,如图11中的第一个图所示。该页面有三个功能:
[0103]-一个视频显示框在中心。前摄像头捕捉到的视频将实时显示在此框中。用户可以调节他们的位置,以确保他们的脸位于识别框的中心。
[0104]-视频框外围的时间条。它是用来显示录音时间的。方便用户调节自己的唇语长度。
[0105]-时间栏下面有一个开始录音按钮。用户可以点击它开始录制自己的唇密码。点击该按钮后,将切换到停止按钮,用于停止录制lip-password,如图11中的第二个图所示所示。
[0106]
当用户记录他们的唇密码时,他们应该遵循以下规则:
[0107]-你的脸在取景器的中心;—密码持续时间为5s~10s;-说话清晰,语速慢。
[0108]
需要注意的是,如果lip-password的持续时间小于5秒,用户界面显示红色报错,如图11中的第四个图所示。另外,如果lip-password的持续时间大于10 秒,系统会自动立即停止录音。
[0109]
重复这个过程几次,并确保录制5个有效的唇密码视频,用户将完成注册程序,成功界面如图11中的第三个图所示所示。
[0110]
5.4验证:记录lip-password
[0111]
用户可以开始验证过程通过直接输入用户id到首页上的用户id输入框,然后点击登录按钮,如图12中的第一个图所示。当用户id是有效的,用户将进入另一个页面,如图12中的第二个图所示。本页有两个函数:
[0112]-一个视频显示框在中心。前摄像头捕捉到的视频将实时显示在此框中。用户可以调节他们的位置,以确保他们的脸位于盒子的中心。此外,系统还会实时对人脸进行装箱。
[0113]-开始验证按钮。准备验证,用户可以点击此按钮开始录制唇密码。点击此按钮后,将切换到结束验证按钮,该按钮用于停止录制lip-password,如图12 中的第二个图和第三个图所示。
[0114]
值得注意的是,在这个验证页面上没有时间栏,因为它会泄露唇密码的持续时间信息。通过删除这个栏,唇密码的保密性将得到改善。
[0115]
5.5验证:授权
[0116]
在上述流程点击结束验证按钮后,系统将开始对唇码视频进行验证,验证时间约为10秒。如果人脸信息和唇码信息都正确,系统将允许访问请求,如图 13中的第一个图所示。如果人脸和唇码存在不正确,系统将提示您的验证不正确,并拒绝访问请求,如图13中的第二个图所示。
[0117]
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1