CN109840425B - 一种文件加密的方法和装置 - Google Patents
一种文件加密的方法和装置 Download PDFInfo
- Publication number
- CN109840425B CN109840425B CN201910059684.5A CN201910059684A CN109840425B CN 109840425 B CN109840425 B CN 109840425B CN 201910059684 A CN201910059684 A CN 201910059684A CN 109840425 B CN109840425 B CN 109840425B
- Authority
- CN
- China
- Prior art keywords
- file
- document
- decryption
- page
- xml
- 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.)
- Active
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明属于文件加密算法技术领域,具体涉及一种随机性更高、保密性更高的文件加密的方法和装置。本发明包括:解析入口文件OFD/docx/xlsx.xml,获得文档元数据和文档文件位置和秘钥;解析文档文件Document.xml,获得文档文件内页面文件位置以及其他信息,包括文档内是否含有数字签名Signatures.xml或呈现在内容之上的注释Annotations.xml或标引信息。本发明维持原有的格式和解析方案,即使未经过改造的解析端程序也可正常识别文档的明文内容;保留原格式线性化或分段加载的机制;文件的关键内容被加密,用于网络传输时仍可维持安全性。
Description
技术领域
本发明属于文件加密算法技术领域,具体涉及一种文件加密的方法和装置。
背景技术
人类进入信息技术时代以来,文件信息的便捷获取和安全保障是一直存在的两面利弊,多种信息技术改进都是在这两个目标之间求得平衡。如何确保信息快捷便利地发布到具有权限的受众一直是信息技术研究的重点,信息安全不仅仅关系到国家的政治、经济、军事等领域,而且还与人们的日常生活与工作等密切相关。如何保证用户信息的隐私性和真实性早己成为处理此类问题的重要话题。基于现代密码技术的认证加密方案应运而生。
与传统文字信息相比,多媒体信息在信息交流中表现出来的优点更多,其生动、直观、形象等特点,是受到人们重视的主要原因。数字文件和图像作为一种多媒体信息,自然也受到了人们的青睐。随着互联网的普及和网络带宽的增加,网络传输数字文件和图像具有很多优势,方便快捷,简单有效,几乎可以实时传输数字文件及图像,通讯速度也有较大提升。文档作为一种新兴的信息载体,已经融入到人们的生活之中,为人们的日常生活提供了各种各样的便利。
如今,在网络上进行大量的文件传输有很多安全隐患。第一,网络环境存在一定隐患,防御网络攻击的能力薄弱。第二,在经济利益的诱惑下,黑客事件时常发生。第三,许多涉及到个人隐私、商业机密,甚至是国家安全的文件在网络上传输,如果这些信息被非法分子浏览、篡改或者恶意攻击,就会产生极其严重的后果。因此如何保障信息在网络上安全传输,愈发引起重视。文件是一种使用密码学保障文件安全的技术。目前,许多密码系统都是针对文本信息进行加密设计的。理论上讲,这些针对文本信息的密码系统也适用于包含图像的信息加密,但是这些加密系统不是针对数字图像设计,没有考虑数字图像独有的特性,所以加密效果并不十分理想。此外,随着计算机运算能力和处理速度的不断提高,密码破译分析方法不断创新,曾经十分安全的加密系统也变得容易破解了。
为有效防止图像信息在网络传输中被攻击,李凯佳等人提出基于DNA-记忆元胞自动机与Hash函数的低延迟加密认证算法。为解决当前加密算法在像素置乱过程中存在大量的内在重复模式,像素只能在相同位水平之间互换,无法形成随机映射,导致算法安全性不佳的问题,李奇等人提出像素随机映射与改进的引力扩散的加密认证算法。光学加密将密文相位信息集中在纯相位掩码中存在轮廓显现问题,为了解决这个问题,张博等人提出相干叠加与模均等矢量分解的光学加密算法。
信息安全面临着日益严峻的挑战,因此,为保障新时代文件的安全传输,对图像加密技术的要求也越来越高。图像加密就是把原始图像所表述的信息,经过一系列的变换,如置乱像素点或替代像素值,使之成为一种类似随机噪声的信息。因此,即使加密文件被截获,黑客也不能在短时间内破解这种类似于随机噪声的数据信息,原始文件的信息安全就得到了较好的保护。现如今,数字文件信息价值巨大,通过文件加密来保障数字图像信息的安全是一种重要的方案,因此文件加密的研究将会有巨大的价值意义。
发明内容
本发明的目的在于提供一种随机性更高、保密性更高的文件加密的方法。
本发明的目的还在于提供一种文件加密装置。
一种文件加密方法,包括如下步骤:
(1)解析入口文件OFD/docx/xlsx.xml,获得文档元数据、文档文件位置和秘钥;
(2)解析文档文件Document.xml,获得文档文件内页面文件位置以及其他信息,所述其他信息包括文档内是否含有数字签名Signatures.xml、呈现在内容之上的注释Annotations.xml或标引信息;
(3)按需解析页面文件Page_N/Content.xml,按其内容呈现文档,每个页面文件中包含有多个字体、图像信息文档;相应的字体、图像信息的索引入口在PublicRes.xml或PageRes.xml中说明,内容由Res文件中的二进制数据提供,并将页面文件进行压缩封装;
(4)加密,对形成压缩文件的明文分别加密,将各项加密形成的密件和新组成的解密入口文件封装到压缩文件中;将数据块作为对应明文加密后形成的密文,名称都采用小写,后缀名都使用.dat;解密入口文件即EncryptList.xml,记录解密所需的条件和明密文的对应关系以及文件在无法解开情况下的提示信息;
(5)解密,当探测到对应的子文件有解密入口文件,即使用密件解密后的内容;解密入口文可采用xml或其他形式表示,内容包含两部分,一部分记录信息供解析端程序据此找到密码运算组件,另一部分记录包内的密文与其对应明文的配对关系;
(5.1)进行解密解包时首先查找是否存在解密入口文件;
(5.2)按照原有逻辑寻址包内文件,在解析其内容前先核对解密入口文件,一旦发现所需的文件出现在其配对关系中,则重新寻址对应的密件文件,将对应密件解密后的内容用作解析;
(5.3)依据解密入口中的信息找不到解密入口文件或者解析端程序未执行时则使用明文代替。
所述的解析入口文件包括:
(1.1)运行系统初始化算法生成文档元数据和文档文件位置;
(1.2)运行两次秘钥算法分别生成N个文档文件的主密钥和系统公钥组成秘钥;
(1.3)运行N次StrucInit算法以初始化N个文档元数据和N个文档文件位置与N个文档文件的公私钥对的隐藏对应关系结构;
(1.4)系统初始化算法的输入为安全参数a,输出为文档元数据和文档文件位置:
Pa={b,α,αT,c,d,B1,B2,B3};
其中,b是与安全参数a相关的素数,α,αT是阶为b的循环群,T为转置;c是α的生成元,d=α×α→αT的双线映射,上述参数为文档元数据;文档文件位置为:
B1:{0,1}T→α;
B2:αT→{0,1}logb;
B3:αT→{0,1}c;
B1,B2,B3对应为生成的文档文件三维数据库位置。
所述的秘钥算法分别生成N个文档文件的主密钥MK和系统公钥PK包括:
(1.2.1)初始化,生成主密钥MK和系统公钥PK;
(1.2.2)生成秘钥Key:{MK,e,F},输入系统主密钥,用户标志e以及属性集F,生成该属性集对应的秘钥;其中F={F0,F1,F2,…,FN},F0是文档文件第一层中单独的属性集,F1,F2,…,FN是N个文档文件对应的N层的属性集;Fi={fi,1;f2i,2;…,fi,i};fi,i是属性集Fi的第i个属性,i≤N。
所述的解析文档文件包括:
(2.1)划分文档文件;
(2.2)利用多个CPU线程并行建立各页面文件的结构,找出页面文件中所有标签的位置,忽略标签内容;
(2.3)根据标签的位置,使用大量CPU线程并行解析标签的详细内容,包括标签名、属性、数字签名Signatures.xml、呈现在内容之上的注释Annotations.xml或标引信息。
所述的对形成压缩文件的明文分别加密包括:
(4.1)建立未加密的索引树,索引树建立规则St为:
fr表示页面文件中关键字r在文档中出现的次数,ft表示表示页面文件d包含关键字r的数目,g表示整个文档文件中的页面文件数,索引树的第一个节点封装为解密入口文件EncryptList.xml;
所述的解密包括:用户根据系统公钥PK对应的主密钥MK以及索引树建立规则对加密向量I进行逆运算,得到页面文件d。
页面文件进行压缩封装前对相应的字体、图像信息进行去噪包括;
(6.1)将所有的字体、图像信息文档G(t)={g1,g2,g3,…,gN}构造成m×n阶文档矩阵,gi为字体、图像信息文档集G(t)的第i个字体或图像信息文档;
(6.2)设定文档矩阵的维数n;
(6.3)从G(t)中抽取{g1,g2,g3,…,gn}作为矩阵的第一行;
(6.4)依次向后延迟一个文档,直到n行最后一个信号为GN,作为矩阵的最后一行;
形成的矩阵为:
Xm×n为原始信号构成的m﹡n维矩阵;Vm×n为噪声信号构成的m﹡n维矩阵;若N为偶数,则m=N/2+1,n=N/2;若N为奇数,m和n均为(N+1)/2;
(6.5)对H进行奇异值分解;
H=ΣWRT
W为m﹡m维的左奇异矩阵;R为n﹡n维的右奇异矩阵,即H的左右奇异矩阵,T表示矩阵的转置矩阵;Σ为m﹡n维对角阵,主对角线的元素αi为H的非零奇异值,以递增顺序排列,即α1≥α2≥α3≥…≥αi;
(6.6)确定Σ的有效秩即前l个最大的奇异值;重构H的逼近矩阵Yl;
Wl是前l个最大的奇异值对应的左奇异向量;Rl是前l个最大的奇异值对应的右奇异向量;Σl为前l个最大的奇异值对应的对角阵;
(6.7)将Yl中文档与标准文档信息相匹配的文档分量重构成文档矩阵:
ε=min(l,γ-ε+l),γ=max(n,k);
W即为去噪后的字体、图像信息文档。
步骤(5)后还包括步骤(7)对解密后的文件进行解密效率估算,若总效率大于阈值ζ则解密结束,若总效率小于等于阈值ζ则更换公钥,重新进行解密;
所述的步骤(7)进行解密效率估算包括:
(7.1)设有J个页面文件和K个用户解密请求,页面文件和用户解密请求的标号分别表示为:
α={1,2,3…J};
β={1,2,3…K};
文档文件传送的信道模型为:
n=|λ|2b-β;
λ为链路的尺度衰落值,λ~CN(0,1),服从瑞利分布,b表示文档接收与发送的时间;β是链路的损失指数;
(7.2)计算解密的第j个页面文件和第k个用户获得的页面文件的信噪比QI;
(7.3)计算解密第j个页面文件和第i个页面文件的效率;
ej=log2(1+QIj);
ei=log2(1+QIk);
(7.4)计算解密第j个页面文件和第i个页面文件的总效率;
Wj=ej+Ec;
Wi=ei+Ec;
Ec为解密页面文件的标准功率;
总效率为
一种文件加密装置,包括入口文件解析模块:解析入口文件OFD/docx/xlsx.xml,获得文档元数据、文档文件位置和秘钥;
文档文件解析模块:解析文档文件Document.xml,获得文档文件内页面文件位置以及其他信息,所述其他信息包括文档内是否含有数字签名Signatures.xml或呈现在内容之上的注释Annotations.xml或标引信息;
页面文件解析封装模块:按需解析页面文件Page_N/Content.xml,按其内容呈现文档,每个页面文件中包含有多个字体、图像信息文档;相应的字体、图像信息的索引入口在PublicRes.xml或PageRes.xml中说明,内容由Res文件中的二进制数据提供,并将页面文件进行压缩封装;
加密模块:对形成压缩文件的明文分别加密,将各项加密形成的密件和新组成的解密入口文件封装到压缩文件中;将数据块作为对应明文加密后形成的密文,名称都采用小写,后缀名都使用.dat;解密入口文件即EncryptList.xml,记录解密所需的条件和明密文的对应关系以及文件在无法解开情况下的提示信息;
解密模块,当探测到对应的子文件有解密入口文件,即使用密件解密后的内容;解密入口文可采用xml或其他形式表示,内容包含两部分,一部分记录信息供解析端程序据此找到密码运算组件,另一部分记录包内的密文与其对应明文的配对关系;
效率估算模块:对解密后的文件进行解密效率估算,若总效率大于阈值ζ则解密结束,若总效率小于等于阈值ζ则更换公钥,重新进行解密。
本发明的有益效果在于:本发明的文件加密方法,为形成压缩文件的若干明文分别加密,将各项加密形成的密件和新组成的解密入口文件封装到压缩文件中。本发明维持原有的格式和解析方案,即使未经过改造的解析端程序也可正常识别文档的明文内容;保留原格式线性化或分段加载的机制;文件的关键内容被加密,用于网络传输时仍可维持安全性;可依据需要对文件中的内容部分加密、部分明文,即支持分段加密;将子文件流的加密和解密抽象为接口,文件将与实际的密码技术方案无关,因此可适用于各种级别的算法;通过合理设计解密入口文件,支持密码算法嵌套。
附图说明
图1为未加密的OFD文件内部组织结构;
图2为加密后的OFD文件内部组织关系图;
图3为解密入口文件的主要内容;
图4为本方法流程图;
图5为本发明装置图。
具体实施方式
下面结合附图对本发明做进一步描述。
当代的许多文件格式采用压缩打包方案,即将与文档有逻辑联系的子文件打包组成新的文件,例如MS Office 2007引入的docx、xlsx以及国产版式文档格式OFD,本发明即是基于此类型格式。这类文件格式的特点:整体是一个压缩文件,可用压缩软件或程序解开;其内部是一系列短小的子文件例如xml等,其体积通常不超过500K;文档解析时按照其内在联系依次遍历子文件以获取完整信息。本发明所述一种文件的加密方法,有利于确保在联网状态下快速获取文件内容的同时保障文件的安全性。
图1以OFD文件格式为例,简单说明解析程序在文件包内的寻址和解析顺序。
1、解析入口文件OFD.xml,获得文档元数据和文档文件位置。
2、解析文档文件Document.xml,获得文档内页面文件位置以及其他信息(例如文档内是否含有数字签名Signatures.xml或呈现在内容之上的注释Annotations.xml或标引信息等)
3、按需解析页面文件Page_N/Content.xml,按其指示呈现文档,过程中可能要依赖相应的字体、图像等资源,其索引入口在PublicRes.xml或PageRes.xml中说明,内容由Res文件中的二进制数据提供。
4、依据不同的文件利用目的,上述文件可能只需进行一部分。
本发明的文件加密方法,为针对形成压缩文件的若干明文分别加密,将各项加密形成的密件和新组成的解密入口文件封装到压缩文件中;
图2中的斜线标识的数据块就是对应明文加密后形成的密文,为了方便标识,其名称都采用小写,后缀名都使用.dat;解密入口文件即EncryptList.xml,记录了解密所需的条件和明密文的对应关系。
在文件解密端作如下约定,一旦探测到对应的子文件在解密入口文件的存在,即使用密件解密后的内容。因为原有文档的信息已经全部封闭在密件中,在压缩包中保留的明文可用于其他作用,例如做文件在无法解开情况下的提示信息等,这种情况下的明文只需完成提示这一基本任务即可,仅保留单页最简内容,多余部分可全部删除,如图2中的虚线标识的部分。
该种加密方法的要点在于:
(1)解开压缩文件后针对需保密明文文件分别加密形成密件;
(2)一旦明文文件形成密件,其内容可更改作其他用途或删除;
(3)将修改后保留的明文、密文一起以原有方式重新打包;
(4)将明文和密文的对应关系记录在解密入口文件中。
形成的解密入口文件可采用xml或其他形式表示,其内容包含两部分,一部分记录信息供解析端程序据此找到密码运算组件,另一部分记录了包内的密文与其对应明文(可能已从压缩包内移除)的配对关系,如图3。
实施例1
一种文件加密方法,包括如下步骤:
(1)解析入口文件OFD/docx/xlsx.xml,获得文档元数据、文档文件位置和秘钥;
(2)解析文档文件Document.xml,获得文档文件内页面文件位置以及其他信息,其他信息包括文档内是否含有数字签名Signatures.xml、呈现在内容之上的注释Annotations.xml或标引信息;
(3)按需解析页面文件Page_N/Content.xml,按其内容呈现文档,每个页面文件中包含有多个字体、图像信息文档;相应的字体、图像信息的索引入口在PublicRes.xml或PageRes.xml中说明,内容由Res文件中的二进制数据提供,并将页面文件进行压缩封装;
(4)加密,对形成压缩文件的明文分别加密,将各项加密形成的密件和新组成的解密入口文件封装到压缩文件中;将数据块作为对应明文加密后形成的密文,名称都采用小写,后缀名都使用.dat;解密入口文件即EncryptList.xml,记录解密所需的条件和明密文的对应关系以及文件在无法解开情况下的提示信息;
(5)解密,当探测到对应的子文件有解密入口文件,即使用密件解密后的内容;解密入口文可采用xml或其他形式表示,内容包含两部分,一部分记录信息供解析端程序据此找到密码运算组件,另一部分记录包内的密文与其对应明文的配对关系;
(5.1)进行解密解包时首先查找是否存在解密入口文件;
(5.2)按照原有逻辑寻址包内文件,在解析其内容前先核对解密入口文件,一旦发现所需的文件出现在其配对关系中,则重新寻址对应的密件文件,将对应密件解密后的内容用作解析;
(5.3)依据解密入口中的信息找不到解密入口文件或者解析端程序未执行时则使用明文代替。
实施例2
本发明的一种文件加密装置,包括入口文件解析模块:解析入口文件OFD/docx/xlsx.xml,获得文档元数据、文档文件位置和秘钥;
文档文件解析模块:解析文档文件Document.xml,获得文档文件内页面文件位置以及其他信息,其他信息包括文档内是否含有数字签名Signatures.xml、呈现在内容之上的注释Annotations.xml或标引信息;
页面文件解析封装模块:按需解析页面文件Page_N/Content.xml,按其内容呈现文档,每个页面文件中包含有多个字体、图像信息文档;相应的字体、图像信息的索引入口在PublicRes.xml或PageRes.xml中说明,内容由Res文件中的二进制数据提供,并将页面文件进行压缩封装;
加密模块:对形成压缩文件的明文分别加密,将各项加密形成的密件和新组成的解密入口文件封装到压缩文件中;将数据块作为对应明文加密后形成的密文,名称都采用小写,后缀名都使用.dat;解密入口文件即EncryptList.xml,记录解密所需的条件和明密文的对应关系以及文件在无法解开情况下的提示信息;
解密模块,当探测到对应的子文件有解密入口文件,即使用密件解密后的内容;解密入口文可采用xml或其他形式表示,内容包含两部分,一部分记录信息供解析端程序据此找到密码运算组件,另一部分记录包内的密文与其对应明文的配对关系;
效率估算模块:对解密后的文件进行解密效率估算,若总效率大于阈值ζ则解密结束,若总效率小于等于阈值ζ则更换公钥,重新进行解密。
所述的解析入口文件包括:
(1.1)运行系统初始化算法生成文档元数据和文档文件位置;
(1.2)运行两次秘钥算法分别生成N个文档文件的主密钥和系统公钥组成秘钥;
(1.3)运行N次StrucInit算法以初始化N个文档元数据和N个文档文件位置与N个文档文件的公私钥对的隐藏对应关系结构;
(1.4)系统初始化算法的输入为安全参数a,输出为文档元数据和文档文件位置:
Pa={b,α,αT,c,d,B1,B2,B3};
其中,b是与安全参数a相关的素数,α,αT是阶为b的循环群,T为转置;c是α的生成元,d=α×α→αT的双线映射,上述参数为文档元数据;文档文件位置为:
B1:{0,1}T→α;
B2:αT→{0,1}logb;
B3:αT→{0,1}c;
B1,B2,B3对应为生成的文档文件三维数据库位置。
所述的秘钥算法分别生成N个文档文件的主密钥MK和系统公钥PK包括:
(1.2.1)初始化,生成主密钥MK和系统公钥PK;
(1.2.2)生成秘钥Key:{MK,e,F},输入系统主密钥,用户标志e以及属性集F,生成该属性集对应的秘钥;其中F={F0,F1,F2,…,FN},F0是文档文件第一层中单独的属性集,F1,F2,…,FN是N个文档文件对应的N层的属性集;Fi={fi,1;f2i,2;…,fi,i};fi,i是属性集Fi的第i个属性,i≤N。
所述的解析文档文件包括:
(2.1)划分文档文件;
(2.2)利用多个CPU线程并行建立各页面文件的结构,找出页面文件中所有标签的位置,忽略标签内容;
(2.3)根据标签的位置,使用大量CPU线程并行解析标签的详细内容,包括标签名、属性、数字签名Signatures.xml、呈现在内容之上的注释Annotations.xml或标引信息。
所述的对形成压缩文件的明文分别加密包括:
(4.1)建立未加密的索引树,索引树建立规则St为:
fr表示页面文件中关键字r在文档中出现的次数,ft表示表示页面文件d包含关键字r的数目,g表示整个文档文件中的页面文件数,索引树的第一个节点封装为解密入口文件EncryptList.xml;
所述的解密包括:用户根据系统公钥PK对应的主密钥MK以及索引树建立规则对加密向量I进行逆运算,得到页面文件d。
页面文件进行压缩封装前对相应的字体、图像信息进行去噪包括;
(6.1)将所有的字体、图像信息文档G(t)={g1,g2,g3,…,gN}构造成m×n阶文档矩阵,gi为字体、图像信息文档集G(t)的第i个字体或图像信息文档;
(6.2)设定文档矩阵的维数n;
(6.3)从G(t)中抽取{g1,g2,g3,…,gn}作为矩阵的第一行;
(6.4)依次向后延迟一个文档,直到n行最后一个信号为GN,作为矩阵的最后一行;
形成的矩阵为:
Xm×n为原始信号构成的m﹡n维矩阵;Vm×n为噪声信号构成的m﹡n维矩阵;若N为偶数,则m=N/2+1,n=N/2;若N为奇数,m和n均为(N+1)/2;
(6.5)对H进行奇异值分解;
H=ΣWRT
W为m﹡m维的左奇异矩阵;R为n﹡n维的右奇异矩阵,即H的左右奇异矩阵,T表示矩阵的转置矩阵;Σ为m﹡n维对角阵,主对角线的元素αi为H的非零奇异值,以递增顺序排列,即α1≥α2≥α3≥…≥αi;
(6.6)确定Σ的有效秩即前l个最大的奇异值;重构H的逼近矩阵Yl;
Wl是前l个最大的奇异值对应的左奇异向量;Rl是前l个最大的奇异值对应的右奇异向量;Σl为前l个最大的奇异值对应的对角阵;
(6.7)将Yl中文档与标准文档信息相匹配的文档分量重构成文档矩阵:
ε=min(l,γ-ε+l),γ=max(n,k);
W即为去噪后的字体、图像信息文档。
步骤(5)后还包括步骤(7)对解密后的文件进行解密效率估算,若总效率大于阈值ζ则解密结束,若总效率小于等于阈值ζ则更换公钥,重新进行解密;
所述的步骤(7)进行解密效率估算包括:
(7.1)设有J个页面文件和K个用户解密请求,页面文件和用户解密请求的标号分别表示为:
α={1,2,3…J};
β={1,2,3…K};
文档文件传送的信道模型为:
n=|λ|2b-β;
λ为链路的尺度衰落值,λ~CN(0,1),服从瑞利分布,b表示文档接收与发送的时间;β是链路的损失指数;
(7.2)计算解密的第j个页面文件和第k个用户获得的页面文件的信噪比QI;
(7.3)计算解密第j个页面文件和第i个页面文件的效率;
ej=log2(1+QIj);
ei=log2(1+QIk);
(7.4)计算解密第j个页面文件和第i个页面文件的总效率;
Wj=ej+Ec;
Wi=ei+Ec;
Ec为解密页面文件的标准功率;
总效率为
本发明对于docx、xlsx和其他基于压缩打包类的文件格式同样适用,具体实现方式可能结合具体文件格式稍作改变。可以预见的改进包括将解密入口文件的两部分分文件表示,或者对明密文件对应关系也作加密处理等,这些改进仍在本发明所述的范围之内。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (8)
1.一种文件加密方法,其特征在于,包括如下步骤:
(1)解析入口文件OFD/docx/xlsx.xml,获得文档元数据、文档文件位置和秘钥;
(2)解析文档文件Document.xml,获得文档文件内页面文件位置以及其他信息,所述其他信息包括文档内是否含有数字签名Signatures.xml、呈现在内容之上的注释Annotations.xml或标引信息;
(3)按需解析页面文件Page_N/Content.xml,按其内容呈现文档,每个页面文件中包含有多个字体、图像信息文档;相应的字体、图像信息的索引入口在PublicRes.xml或PageRes.xml中说明,内容由Res文件中的二进制数据提供,并将页面文件进行压缩封装;
(4)加密,对形成压缩文件的明文分别加密,将各项加密形成的密件和新组成的解密入口文件封装到压缩文件中;将数据块作为对应明文加密后形成的密文,名称都采用小写,后缀名都使用.dat;解密入口文件即EncryptList.xml,记录解密所需的条件和明密文的对应关系以及文件在无法解开情况下的提示信息;
(5)解密,当探测到对应的子文件有解密入口文件,即使用密件解密后的内容;解密入口文可采用xml或其他形式表示,内容包含两部分,一部分记录信息供解析端程序据此找到密码运算组件,另一部分记录包内的密文与其对应明文的配对关系;
(5.1)进行解密解包时首先查找是否存在解密入口文件;
(5.2)按照原有逻辑寻址包内文件,在解析其内容前先核对解密入口文件,一旦发现所需的文件出现在其配对关系中,则重新寻址对应的密件文件,将对应密件解密后的内容用作解析;
(5.3)依据解密入口中的信息找不到解密入口文件或者解析端程序未执行时则使用明文代替;
所述的对形成压缩文件的明文分别加密包括:
(4.1)建立未加密的索引树,索引树建立规则St为:
fr表示页面文件中关键字r在文档中出现的次数,ft表示表示页面文件d包含关键字r的数目,g表示整个文档文件中的页面文件数,索引树的第一个节点封装为解密入口文件EncryptList.xml;
2.根据权利要求1所述的一种文件加密方法,其特征在于,所述的解析入口文件包括:
(1.1)运行系统初始化算法生成文档元数据和文档文件位置;
(1.2)运行两次秘钥算法分别生成N个文档文件的主密钥和系统公钥组成秘钥;
(1.3)运行N次StrucInit算法以初始化N个文档元数据和N个文档文件位置与N个文档文件的公私钥对的隐藏对应关系结构;
(1.4)系统初始化算法的输入为安全参数a,输出为文档元数据和文档文件位置:
Pa={b,α,αT,c,d,B1,B2,B3};
其中,b是与安全参数a相关的素数,α,αT是阶为b的循环群,T为转置;c是α的生成元,d=α×α→αT的双线映射,上述参数为文档元数据;文档文件位置为:
B1:{0,1}T→α;
B2:αT→{0,1}logb;
B3:αT→{0,1}c;
B1,B2,B3对应为生成的文档文件三维数据库位置。
3.根据权利要求2所述的一种文件加密方法,其特征在于,所述的秘钥算法分别生成N个文档文件的主密钥MK和系统公钥PK包括:
(1.2.1)初始化,生成主密钥MK和系统公钥PK;
(1.2.2)生成秘钥Key:{MK,e,F},输入系统主密钥,用户标志e以及属性集F,生成该属性集对应的秘钥;其中F={F0,F1,F2,…,FN},F0是文档文件第一层中单独的属性集,F1,F2,…,FN是N个文档文件对应的N层的属性集;Fi={fi,1;f2i,2;…,fi,i};fi,i是属性集Fi的第i个属性,i≤N。
4.根据权利要求2所述的一种文件加密方法,其特征在于,所述的解析文档文件包括:
(2.1)划分文档文件;
(2.2)利用多个CPU线程并行建立各页面文件的结构,找出页面文件中所有标签的位置,忽略标签内容;
(2.3)根据标签的位置,使用大量CPU线程并行解析标签的详细内容,包括标签名、属性、数字签名Signatures.xml、呈现在内容之上的注释Annotations.xml或标引信息。
5.根据权利要求1所述的一种文件加密方法,其特征在于,所述的解密包括:用户根据系统公钥PK对应的主密钥MK以及索引树建立规则对加密向量I进行逆运算,得到页面文件d。
6.根据权利要求1所述的一种文件加密方法,其特征在于,页面文件压缩封装前对相应的字体、图像信息进行去噪包括;
(6.1)将所有的字体、图像信息文档G(t)={g1,g2,g3,…,gN}构造成m×n阶文档矩阵,gi为字体、图像信息文档集G(t)的第i个字体或图像信息文档;
(6.2)设定文档矩阵的维数n;
(6.3)从G(t)中抽取{g1,g2,g3,…,gn}作为矩阵的第一行;
(6.4)依次向后延迟一个文档,直到n行最后一个信号为GN,作为矩阵的最后一行;
形成的矩阵为:
Xm×n为原始信号构成的m﹡n维矩阵;Vm×n为噪声信号构成的m﹡n维矩阵;若N为偶数,则m=N/2+1,n=N/2;若N为奇数,m和n均为(N+1)/2;
(6.5)对H进行奇异值分解;
H=ΣWRT
W为m﹡m维的左奇异矩阵;R为n﹡n维的右奇异矩阵,即H的左右奇异矩阵,T表示矩阵的转置矩阵;Σ为m﹡n维对角阵,主对角线的元素αi为H的非零奇异值,以递增顺序排列,即α1≥α2≥α3≥…≥αi;
(6.6)确定Σ的有效秩即前l个最大的奇异值;重构H的逼近矩阵Yl;
Wl是前l个最大的奇异值对应的左奇异向量;Rl是前l个最大的奇异值对应的右奇异向量;Σl为前l个最大的奇异值对应的对角阵;
(6.7)将Yl中文档与标准文档信息相匹配的文档分量重构成文档矩阵:
ε=min(l,γ-ε+l),γ=max(n,k);
W即为去噪后的字体、图像信息文档。
7.根据权利要求1所述的一种文件加密方法,其特征在于,步骤(5)后还包括步骤(7)对解密后的文件进行解密效率估算,若总效率大于阈值ζ则解密结束,若总效率小于等于阈值ζ则更换公钥,重新进行解密;
所述的步骤(7)进行解密效率估算包括:
(7.1)设有J个页面文件和K个用户解密请求,页面文件和用户解密请求的标号分别表示为:
α={1,2,3…J};
β={1,2,3…K};
文档文件传送的信道模型为:
n=|λ|2b-β;
λ为链路的尺度衰落值,λ~CN(0,1),服从瑞利分布,b表示文档接收与发送的时间;β是链路的损失指数;
(7.2)计算解密的第j个页面文件和第k个用户获得的页面文件的信噪比QI;
(7.3)计算解密第j个页面文件和第i个页面文件的效率;
ej=log2(1+QIj);
ei=log2(1+QIk);
(7.4)计算解密第j个页面文件和第i个页面文件的总效率;
Wj=ej+Ec;
Wi=ei+Ec;
Ec为解密页面文件的标准功率;
总效率为
8.一种文件加密装置,其特征在于:
包括入口文件解析模块:解析入口文件OFD/docx/xlsx.xml,获得文档元数据、文档文件位置和秘钥;
文档文件解析模块:解析文档文件Document.xml,获得文档文件内页面文件位置以及其他信息,所述其他信息包括文档内是否含有数字签名Signatures.xml或呈现在内容之上的注释Annotations.xml或标引信息;
页面文件解析封装模块:按需解析页面文件Page_N/Content.xml,按其内容呈现文档,每个页面文件中包含有多个字体、图像信息文档;相应的字体、图像信息的索引入口在PublicRes.xml或PageRes.xml中说明,内容由Res文件中的二进制数据提供,并将页面文件进行压缩封装;
加密模块:对形成压缩文件的明文分别加密,将各项加密形成的密件和新组成的解密入口文件封装到压缩文件中;将数据块作为对应明文加密后形成的密文,名称都采用小写,后缀名都使用.dat;解密入口文件即EncryptList.xml,记录解密所需的条件和明密文的对应关系以及文件在无法解开情况下的提示信息;
解密模块,当探测到对应的子文件有解密入口文件,即使用密件解密后的内容;解密入口文可采用xml或其他形式表示,内容包含两部分,一部分记录信息供解析端程序据此找到密码运算组件,另一部分记录包内的密文与其对应明文的配对关系;
效率估算模块:对解密后的文件进行解密效率估算,若总效率大于阈值ζ则解密结束,若总效率小于等于阈值ζ则更换公钥,重新进行解密;
所述的对形成压缩文件的明文分别加密包括:
建立未加密的索引树,索引树建立规则St为:
fr表示页面文件中关键字r在文档中出现的次数,ft表示表示页面文件d包含关键字r的数目,g表示整个文档文件中的页面文件数,索引树的第一个节点封装为解密入口文件EncryptList.xml;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910059684.5A CN109840425B (zh) | 2019-01-22 | 2019-01-22 | 一种文件加密的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910059684.5A CN109840425B (zh) | 2019-01-22 | 2019-01-22 | 一种文件加密的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109840425A CN109840425A (zh) | 2019-06-04 |
CN109840425B true CN109840425B (zh) | 2020-07-31 |
Family
ID=66884126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910059684.5A Active CN109840425B (zh) | 2019-01-22 | 2019-01-22 | 一种文件加密的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109840425B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110717127A (zh) * | 2019-10-14 | 2020-01-21 | 北京华宇信息技术有限公司 | 一种ofd文件在线解析与浏览的方法与装置 |
CN111611440B (zh) * | 2020-05-01 | 2023-05-05 | 同智伟业软件股份有限公司 | 一种快速提升ofd签名、签章及验证的方法 |
CN112307149B (zh) * | 2020-10-30 | 2022-11-25 | 陕西师范大学 | 一种具有访问模式保护的空间数据范围查询方法 |
CN112347493A (zh) * | 2020-11-04 | 2021-02-09 | 杭州天谷信息科技有限公司 | 一种ofd文档加解密和脱密变灰方法 |
CN112597543A (zh) * | 2020-12-16 | 2021-04-02 | 江苏中威科技软件系统有限公司 | 采用版式数据流文件技术对ofd文件安全管控的方法 |
CN113129395B (zh) * | 2021-05-08 | 2021-09-10 | 深圳市数存科技有限公司 | 一种数据压缩加密系统 |
CN114726655B (zh) * | 2022-06-07 | 2022-11-15 | 深圳市永达电子信息股份有限公司 | 一种基于数字证书身份认证的字符集加密方法 |
CN116414439B (zh) * | 2023-01-05 | 2023-11-21 | 上海弘积信息科技有限公司 | 一种负载均衡设备中配置文件管理方法及系统 |
CN116828127B (zh) * | 2023-08-30 | 2023-10-27 | 北京点聚信息技术有限公司 | 一种结合文档数据的指纹加密存储方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101321057A (zh) * | 2008-07-22 | 2008-12-10 | 北京航空航天大学 | 基于Web服务的电子公文安全传输方法 |
CN104517059A (zh) * | 2014-12-19 | 2015-04-15 | 张凡 | 基于云的图像加密方法及装置 |
CN106022014A (zh) * | 2016-05-16 | 2016-10-12 | 武汉斗鱼网络科技有限公司 | 一种资源文件的打包方法和解包方法 |
CN106469279A (zh) * | 2016-08-30 | 2017-03-01 | 北京北信源软件股份有限公司 | 一种压缩加、解密的方法和系统 |
CN106778103A (zh) * | 2016-12-30 | 2017-05-31 | 上海掌门科技有限公司 | 一种安卓应用程序防逆向破解的加固方法、系统及解密方法 |
CN107370595A (zh) * | 2017-06-06 | 2017-11-21 | 福建中经汇通有限责任公司 | 一种基于细粒度的密文访问控制方法 |
CN107977553A (zh) * | 2017-12-25 | 2018-05-01 | 中国电子产品可靠性与环境试验研究所 | 移动应用程序的安全加固的方法及装置 |
CN108667595A (zh) * | 2017-03-28 | 2018-10-16 | 吉林化工学院 | 一种大数据文件的压缩加密方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7020843B2 (en) * | 1999-11-30 | 2006-03-28 | Uhc Llc | Method and system for implementing a browser object container |
JP2004206269A (ja) * | 2002-12-24 | 2004-07-22 | Sony Corp | 情報処理装置および方法 |
-
2019
- 2019-01-22 CN CN201910059684.5A patent/CN109840425B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101321057A (zh) * | 2008-07-22 | 2008-12-10 | 北京航空航天大学 | 基于Web服务的电子公文安全传输方法 |
CN104517059A (zh) * | 2014-12-19 | 2015-04-15 | 张凡 | 基于云的图像加密方法及装置 |
CN106022014A (zh) * | 2016-05-16 | 2016-10-12 | 武汉斗鱼网络科技有限公司 | 一种资源文件的打包方法和解包方法 |
CN106469279A (zh) * | 2016-08-30 | 2017-03-01 | 北京北信源软件股份有限公司 | 一种压缩加、解密的方法和系统 |
CN106778103A (zh) * | 2016-12-30 | 2017-05-31 | 上海掌门科技有限公司 | 一种安卓应用程序防逆向破解的加固方法、系统及解密方法 |
CN108667595A (zh) * | 2017-03-28 | 2018-10-16 | 吉林化工学院 | 一种大数据文件的压缩加密方法 |
CN107370595A (zh) * | 2017-06-06 | 2017-11-21 | 福建中经汇通有限责任公司 | 一种基于细粒度的密文访问控制方法 |
CN107977553A (zh) * | 2017-12-25 | 2018-05-01 | 中国电子产品可靠性与环境试验研究所 | 移动应用程序的安全加固的方法及装置 |
Non-Patent Citations (1)
Title |
---|
"OFD的安全应用分析";冯辉 等;《标准化研究》;20171130(第11期);第49-53页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109840425A (zh) | 2019-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109840425B (zh) | 一种文件加密的方法和装置 | |
US8300828B2 (en) | System and method for a derivation function for key per page | |
US5757913A (en) | Method and apparatus for data authentication in a data communication environment | |
JP6180177B2 (ja) | プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム | |
CN101383703B (zh) | 基于广义信息域的动态加解密方法 | |
CN107135062A (zh) | 一种改进的大文件的加密方法 | |
CN108400970A (zh) | 云环境中相似数据消息锁定加密去重方法、云存储系统 | |
CN108090370A (zh) | 基于索引的即时通信加密方法和系统 | |
CN104967693A (zh) | 面向云存储的基于全同态密码技术的文档相似度计算方法 | |
CN102447558B (zh) | 按需取用随机序列的具有误导功能的加密方法 | |
CN110830261A (zh) | 加密方法、装置、计算机设备及存储介质 | |
CN117714613A (zh) | 一种图像加密方法、装置、电子设备和存储介质 | |
CN102360414B (zh) | 一种可修正伪随机序列的可误导的加密方法 | |
CN112637442B (zh) | 云服务器和本地端进行循环图像加密的方法及装置 | |
CN115168909A (zh) | 一种基于比较索引的密文数据范围查询方法和系统 | |
CN101364868B (zh) | 基于广义信息域的伪随机码发生器及其发生方法 | |
CN114978711A (zh) | 一种动态秘钥对称加密的数据传输方法及系统 | |
Vasilakis et al. | Copyright Protection on Electronic Books: Study and Design of a New Approach | |
Haryono | Comparison encryption of how to work caesar cipher, hill cipher, blowfish and twofish | |
Joseph et al. | Design a hybrid Optimization and Homomorphic Encryption for Securing Data in a Cloud Environment | |
CN117749527B (zh) | 基于大数据分析和云计算的安全防护方法及系统 | |
Dodmane | A new hybrid symmetric-key technique to enhance data security of textual information using random number generator | |
Jiang | A Homomorphic Encryption Algorithm for Chaotic Image Coding Data in Cloud Computing | |
Wang et al. | Research on the Security Protection of Network Communication Data Using DES Encryption Algorithm | |
Chavan | Cloud Data Security Improvement Using Cryptographic Steganography by Truly Random and Cryptographically Secure Random Number |
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 |