CN102402670A - 一种文件加解密方法 - Google Patents

一种文件加解密方法 Download PDF

Info

Publication number
CN102402670A
CN102402670A CN201110255729XA CN201110255729A CN102402670A CN 102402670 A CN102402670 A CN 102402670A CN 201110255729X A CN201110255729X A CN 201110255729XA CN 201110255729 A CN201110255729 A CN 201110255729A CN 102402670 A CN102402670 A CN 102402670A
Authority
CN
China
Prior art keywords
encryption
file
data
encrypted
segmentation
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
Application number
CN201110255729XA
Other languages
English (en)
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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201110255729XA priority Critical patent/CN102402670A/zh
Publication of CN102402670A publication Critical patent/CN102402670A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明涉及一种文件加解密方法,其中加密方法包括将文件整体分割成一个以上分段,并保存分段信息;用随机算法确定每一分段中待加密数据的开始和结束位置,并保存加密位置信息;根据密码生成一个加密密钥,然后用它对待加密数据进行加密,等长替换原待加密数据后得到一个加密后的数据部分;将密码、分段总数、每段的加密位置信息、加密数据头识别标记、和加密数据头长度封装成加密数据头;将加密数据头放在所述加密后的数据部分前面,合并生成加密后的文件。解密方法是加密方法的逆过程。这种文件加解密方法,能在移动终端上快速执行且相对安全。

Description

一种文件加解密方法
技术领域
本发明涉及一种通用的文件加密和解密方法,特别适合应用于移动终端。 
背景技术
目前移动终端的信息安全问题越来越得到重视,而文件加密是一种保证信息安全的有效途径。传统的加密算法一般都比较复杂,且在移动终端上的运算速度较慢。同时,目前大多数移动终端的操作系统,没有提供基于文件的安全访问机制,无法保证文件在传输、被访问(尤其是某些恶意的应用程序)时的安全性。 
发明内容
本发明需要解决的技术问题是,如何提供一种文件加解密方法,能在移动终端上的快速执行且相对安全。 
本发明第一个技术问题这样解决,构造一种文件加密方法,包括以下步骤: 
若文件大小高于门限,将文件整体分割成一个以上分段,并保存分段信息;
用随机算法确定每一分段中待加密数据的开始和结束位置,并保存加密位置信息;
根据密码生成一个加密密钥,然后用它对待加密数据进行加密,等长替换原待加密数据后得到一个加密后的数据部分;
将密码、分段位置信息、加密位置信息、加密数据头识别标记、和加密数据头长度封装成加密数据头;
将加密数据头放在所述加密后的数据部分前面,合并生成加密后的文件。
按照本发明提供的文件加密方法,还包括:若文件大小低于门限,将文件的数据部分分割成一分段。 
按照本发明提供的文件加密方法,所述分割是等分分割,所述分段信息是分段总数。 
按照本发明提供的文件加密方法,所述加密长度是固定长度,所述加密位置信息是每一分段中待加密数据的开始位置。 
按照本发明提供的文件加密方法,还包括判断待加密文件的数据头是否是有效的加密数据头(至少包含加密数据头识别标记),是直接退出加密过程,否则进行加密。 
按照本发明提供的文件加密方法,包括以下步骤: 
判断待加密文件的数据头是否是有效的加密数据头,是跳过下面所有步骤直接结束,否则进入下面步骤;
若文件大小高于门限,将文件的数据部分等分割成一个以上分段,并保存分段数;
用随机算法确定每一分段中待加密数据的开始位置,并保存各分段加密开始位置信息;
根据密码生成一个加密密钥,然后用它按固定长度从各分段加密开始位置向后选取固定长度数据进行加密,但如果从分段加密开始位置到该分段结束不足固定长度时则选取从分段加密开始位置到该分段结束的数据进行加密,替换各自对应的原待加密数据后得到一个加密后的数据部分;
将密码、分段总数、分段加密开始位置信息、加密数据头识别标记、加密数据头长度封装成加密数据头;
将加密数据头放在所述加密后的数据部分前面,合并生成加密后的文件。
本发明另一个技术问题这样解决,构造一种文件解密方法,包括以下步骤: 
读取加密文件、分离还原加密数据头中的密码、分段位置信息、加密位置信息;
根据分段位置信息和加密位置信息获取加密文件中各段加密数据的开始和结束位置;
根据密码生成一个加密密钥,然后用它对加密数据进行解密,等长替换原加密数据后得到一个解密后的数据部分;
根据所述解密后的数据部分直接生成解密文件。
按照本发明提供的文件解密方法,包括:分离加密数据头中的分段总数,再根据等分分割算法计算个分段开始和结束位置。 
按照本发明提供的文件解密方法,包括:分离加密数据头中的各分段加密开始位置,再根据加密开始位置到各自分段结束的长度大于固定长度以固定长度作为加密结束位置,否则以对应分段结束作为加密结束位置。 
按照本发明提供的文件解密方法,包括:如果带解密文件的数据头包含有效的加密数据头则进入解密过程,否则直接退出解密过程。 
本发明提供的文件加解密方法,还可以根据用户需求对下列方法或数据结构进行调整,让用户在平衡算法安全性和速度等因素时有更多的选择空间,较现有技术具有以下优势: 
1. 文件分段方法;
2. 文件加密位置选取算法;
3. 文件加密算法,独特的伪随机数产生算法;
4. 独特的加密文件头的数据结构。
附图说明
下面结合附图和具体实施例进一步对本发明进行详细说明。 
图1是本发明加密文件的流程示意图; 
图2是本发明解密文件的流程示意图;
图3是图2中判断是否已加密子流程示意图。
具体实施方式
首先,说明本发明基础: 
㈠整个算法的设计:根据文件的大小,将文件分割为若干段,然后从分割的若干段中选取若干数量的信息进行加密操作,并保存需要的相关信息到一个自己设计的数据结构;这种方式简单高效,具有很好的安全性,非常适合要求高效的系统、设备,使得用户体验更佳;
㈡加密算法的设计:首先是利用自己设计的伪随机数生成算法,生成一个用于辅助生成密钥的伪随机数组,然后再利用自己设计的算法将辅助数组和用户密码生成一个不重复的伪随机序列,之后就是将生成的密钥与信息的内容进行加密操作。
第二,下面分三大部分对本发明具体实施例的实现进行详细说明: 
第一部分:加密
㈠加密的流程和主要操作
      加密的流程,具体如附图1所示,涉及的操作主要包括:
101)读取待加密文件的开头部分,看是否包含一个有效的加密数据头。如果包含,则说明这个文件已经被加密了,不能再进行加密操作了(具体识别方法请参看第三部分:);
102)根据待解密文件的大小将其分割成不同段数,并保存分段位置信息;
103)用随机算法确定每一段中要加密的数据的开始和结束位置。保存为加密位置信息;
104)根据密码生成一个加密密钥,然后用它对要加密的数据进行加密,这里采用的是等长的加密方法,加密长度默认为 
Figure 457092DEST_PATH_IMAGE001
,如果从加密开始位置到本段结束的长度不足,则有多长就加密多长,得到一个加密后的中间文件;
105)将密码、加密位置信息、加密数据头识别信息(头部:;尾部:)、加密数据头长度等封装成一个特定数据结构的数据包----加密数据头;
106)将加密数据头放在加密后的中间文件前面,组合成加密后的文件。
㈡分段方法 
      分段直接采用等分分段的方式,假定文件大小为
Figure 478564DEST_PATH_IMAGE004
,根据
Figure 762653DEST_PATH_IMAGE004
所属的范围不同,分割的段数也可能不同,则分段如下:
Figure 563250DEST_PATH_IMAGE005
           ------à 加密文件所有信息(
Figure 974508DEST_PATH_IMAGE006
段)  
Figure 550852DEST_PATH_IMAGE007
  ------à  文件分割为
Figure 84470DEST_PATH_IMAGE008
……
      由于是等分分段,因此每段文件大小
Figure 746265DEST_PATH_IMAGE009
(取整),考虑到余数,最后一段一般要稍微大些、等于余数和
Figure 944903DEST_PATH_IMAGE010
(取整)的和。
 注:
Figure 1851DEST_PATH_IMAGE004
为文件大小,
Figure 706371DEST_PATH_IMAGE011
为文件分割的段数。 
㈢加密位置的选取 
    利用系统的随机数发生器,以当前系统时间作为种子,输出
Figure 816582DEST_PATH_IMAGE012
Figure 818911DEST_PATH_IMAGE012
为每个文件分割的总段数)个
Figure 104268DEST_PATH_IMAGE013
类型的伪随机数,保存到数组
Figure 979689DEST_PATH_IMAGE014
中。随机数的取值范围为
Figure 553758DEST_PATH_IMAGE015
,表示加密开始位置在该段信息中的百分比位置,根据该段大小,计算出加密信息的开始位置。这里采用的是等长的加密方法,加密长度默认为
Figure 938789DEST_PATH_IMAGE001
,如果从加密开始位置到本段结束的长度不足
Figure 172062DEST_PATH_IMAGE001
,整段信息不足
Figure 967849DEST_PATH_IMAGE001
的则加密整段。
注:
Figure 79024DEST_PATH_IMAGE016
(即第一段)开始加密的位置始终为文件的第一字节,即文件的开始位置,因为大多数格式的文件的文件头信息表都存放在文件的开始位置,破坏了该文件头信息表也就意味着破坏了文件的整体结构信息,使该文件无法被解析。 
㈣加密算法 
加密算法主要思路: 
       加密算法主要包括密钥扩展、子密钥初始化、子密钥伪随机化和生成密文四个步骤:
      ①密钥扩展:
读取密码对应的数据,按照先后顺序,将每
Figure 338973DEST_PATH_IMAGE017
个字节分为一组,不足
Figure 493880DEST_PATH_IMAGE017
字节的用
Figure 839279DEST_PATH_IMAGE015
补充;然后将每组数据(
Figure 721523DEST_PATH_IMAGE017
字节, 
Figure 727656DEST_PATH_IMAGE018
位)按顺序平均分为
Figure 53464DEST_PATH_IMAGE019
段,每段位,然后再在这
Figure 198192DEST_PATH_IMAGE020
位的头部加一位
Figure 370416DEST_PATH_IMAGE006
,尾部加一位
Figure 929443DEST_PATH_IMAGE006
,这样就将
Figure 335189DEST_PATH_IMAGE017
字节扩展为了字节;   最后,将扩展后的密钥存放到一个数组
Figure 664594DEST_PATH_IMAGE021
,其中
Figure 394521DEST_PATH_IMAGE022
为扩展后的密钥长度。
②初始化算法: 
主要用来生成一个数组
Figure 60864DEST_PATH_IMAGE023
,该数组中的元素将直接用来将明文数据转换为密文数据。为了确保加密同一个文件的不同段数对应的内容都不同。这里使用了一种伪随机算法,其原理如下:
Figure 110783DEST_PATH_IMAGE024
为素数,
Figure 886978DEST_PATH_IMAGE011
是两个素数
Figure 368512DEST_PATH_IMAGE025
之积,
Figure 950672DEST_PATH_IMAGE026
Figure 374832DEST_PATH_IMAGE027
Figure 899092DEST_PATH_IMAGE028
之间取值:
Figure 41491DEST_PATH_IMAGE029
。如果下面的条件成立:
Figure 703078DEST_PATH_IMAGE031
Figure 211289DEST_PATH_IMAGE032
的最大公约数为
Figure 637722DEST_PATH_IMAGE006
那么按照公式计算出的
Figure 436403DEST_PATH_IMAGE034
的取值范围也在2到
Figure 849936DEST_PATH_IMAGE028
之间:,并且不同的对应不同的
Figure 757959DEST_PATH_IMAGE034
,即实现了一个从
Figure 445216DEST_PATH_IMAGE034
的一一映射关系。
下面是该论题的数学论证: 
①条件:随机地选择两个素数
Figure 349904DEST_PATH_IMAGE037
Figure 167556DEST_PATH_IMAGE038
Figure 633041DEST_PATH_IMAGE039
随机地选取一个正整数
Figure 702497DEST_PATH_IMAGE040
Figure 366565DEST_PATH_IMAGE041
Figure 230485DEST_PATH_IMAGE042
;且 
Figure 104638DEST_PATH_IMAGE043
②结论:若:
Figure 853151DEST_PATH_IMAGE044
Figure 309409DEST_PATH_IMAGE034
取值范围:
Figure 757881DEST_PATH_IMAGE045
;则:
Figure 932379DEST_PATH_IMAGE046
Figure 717539DEST_PATH_IMAGE047
亦取
Figure 919981DEST_PATH_IMAGE048
;并且
Figure 640550DEST_PATH_IMAGE034
Figure 662864DEST_PATH_IMAGE047
一一对应
证明:
首先证明:, 已知:
Figure 370981DEST_PATH_IMAGE044
       即
因为,这说明,其中t为某整数。所以,
        
Figure 387643DEST_PATH_IMAGE052
 。
因此要证明
Figure 951479DEST_PATH_IMAGE053
,只需证明 
           
Figure 322286DEST_PATH_IMAGE054
Figure 941355DEST_PATH_IMAGE055
的情况下,根据数论(欧拉定理), 
          
Figure 346798DEST_PATH_IMAGE056
 
由模运算性质,可得,
           
Figure 188907DEST_PATH_IMAGE054
   ------------------等式结论成立
Figure 494159DEST_PATH_IMAGE058
的情况下,分两种情况:
第一种情况: 
Figure 442523DEST_PATH_IMAGE059
    因为
Figure 784381DEST_PATH_IMAGE038
,且
Figure 129780DEST_PATH_IMAGE036
Figure 28335DEST_PATH_IMAGE037
为素数,
    
Figure 470686DEST_PATH_IMAGE059
,且
Figure 796494DEST_PATH_IMAGE058
 。
    这说明
Figure 52026DEST_PATH_IMAGE060
必含
Figure 988813DEST_PATH_IMAGE061
之一为其因子,而且不能同时包含两者,否则将有
Figure 672473DEST_PATH_IMAGE062
,与
Figure 415301DEST_PATH_IMAGE059
矛盾。 
不妨设
Figure 717975DEST_PATH_IMAGE063
。 
又因
Figure 807023DEST_PATH_IMAGE037
为素数,且
Figure 536950DEST_PATH_IMAGE060
不包含
Figure 468872DEST_PATH_IMAGE037
,故有
Figure 122707DEST_PATH_IMAGE064
,    
于是有,
Figure 518791DEST_PATH_IMAGE065
,欧拉定理。
进一步有,
Figure 419620DEST_PATH_IMAGE066
因为
Figure 285112DEST_PATH_IMAGE037
是素数,
Figure 178856DEST_PATH_IMAGE067
,所以
所以有
             
Figure 127275DEST_PATH_IMAGE069
于是,
Figure 827597DEST_PATH_IMAGE070
,其中
Figure 275765DEST_PATH_IMAGE071
为某整数。
两边同乘, 
   
因为
Figure 253189DEST_PATH_IMAGE063
,故
               
Figure 505048DEST_PATH_IMAGE073
取模得,
              
Figure 628916DEST_PATH_IMAGE056
   ------------------等式结论成立
第二种情况:
Figure 58766DEST_PATH_IMAGE076
Figure 623609DEST_PATH_IMAGE058
Figure 660573DEST_PATH_IMAGE076
时,直接验证。
接着证明:
Figure 999281DEST_PATH_IMAGE034
Figure 530626DEST_PATH_IMAGE047
一一对应: 
因为
Figure 199242DEST_PATH_IMAGE047
是取模所得值,故范围在
Figure 220157DEST_PATH_IMAGE077
;所以
Figure 357746DEST_PATH_IMAGE034
是一一对应的,若不一一对应,假设对应
Figure 344900DEST_PATH_IMAGE078
Figure 801158DEST_PATH_IMAGE079
两个整数值,且
Figure 163875DEST_PATH_IMAGE080
,不妨设
Figure 276056DEST_PATH_IMAGE081
Figure 936583DEST_PATH_IMAGE082
, ; 
由模运算性质,得
      
Figure 344747DEST_PATH_IMAGE084
,而已知
Figure 193492DEST_PATH_IMAGE081
得知假设不成立,故
Figure 431879DEST_PATH_IMAGE034
Figure 551145DEST_PATH_IMAGE047
一一对应;
假设若
Figure 567249DEST_PATH_IMAGE047
对应
Figure 892237DEST_PATH_IMAGE086
,同理可证结论成立。
由此可知命题成立。 
生成数组
Figure 567807DEST_PATH_IMAGE023
的具体伪代码描述如下:其中
Figure 69327DEST_PATH_IMAGE087
用于辅助打乱,使密码参与到加密过程;
Figure 183837DEST_PATH_IMAGE023
的生成过程并没有使用上面的伪随机算法,使用该算法生成的数组是
Figure 589279DEST_PATH_IMAGE088
,它用于存储生成的伪随机数,辅助生成伪随机密钥,在后面的伪随机子密码生成过程中将会用到它。 
其中
Figure 324017DEST_PATH_IMAGE089
,具体语句段如下: 
For  i ← 0 1 … n-1; A ← 2   
//初始化s[n]和tmp[n],生成伪随机数random[n]
    S[i] ← i
    tmp[i] ← password[i%m]
    random[i] ← pow(A, D) % N %n
    A++   
    If i == 0  continue
     For r←0… n-1; j ← 0
        If random [r] != 258
          randomFinal[j++] = random[r] - 2;
//利用tmp[n]打乱S[n]
For i ← 0… n-1; j ← 0
   j ← (j+s[i] + tmp[i]) % n
   swap(s[i], s[j])   //交换s[i]和s[j]的值
以上过程:让
Figure 493705DEST_PATH_IMAGE026
Figure 276984DEST_PATH_IMAGE027
Figure 723884DEST_PATH_IMAGE090
之间取值,生成一个
Figure 878790DEST_PATH_IMAGE091
个元素的数组
Figure 850289DEST_PATH_IMAGE088
 (取值也在2到258之间),而我们需要的伪随机数组长度为256,因此需要剔除取值为258的元素,同时将剩余元素的值都减去2,这样就得到一个长度为256,元素取值范围为0到255之间的数组
Figure 998111DEST_PATH_IMAGE092
。 
③ 伪随机子密码生成及加密算法:其中待加密的数据明文为byte[] SrcData,加密后的数据密文为同样大小的byte[] DestData。以下是具体语句段: 
i ← 0  j ← 0
  1   while condition  //condition为文件未结束
  2     If 0 ==(i %  2)
  3       i ←(i + 1)% n;  //当i为偶数时
  4     else
  5       i ←randomFinal [i] % n //当i为奇数时
  6     j ← (j + s[i]) % n
  7     swap(s[i], s[j])
//生成对应的子密钥
8     sub_key ← s[(s[i] + s[j])%n] 
        DestData ←SrcData 
Figure 112566DEST_PATH_IMAGE093
 sub_key  //异或操作加密
      注意这个过程不是直接使用中的元素,而是使用②中最后生成的数组作为一个输入,另一个输入是文件中源源不断的数据,因为如果直接使用
Figure 121387DEST_PATH_IMAGE023
数组,就会公用一个相同的密钥加密,为了保证使用伪随机且不重复的密钥,所以都临时生成sub_key(算法中
Figure 716448DEST_PATH_IMAGE094
行即生成sub_key的算法),每生成一位sub_key就对一个byte的待加密数据进行加密操作。
㈤生成加密文件 
新建一个临时文件,然后将封装好的加密数据头存入文件开始位置,紧接着开始填充密文数据,填充完数据后,删除原有文件,重命名临时文件为原有文件名。
第二部分:解密
㈠解密的流程和主要操作
      解密的流程如附图2所示,涉及的主要操作包括:
201)读取待解密文件的开头部分,看是否包含一个有效的加密数据头。如果未包含,则说明这个文件没有被加密,无需进行解密操作。否则解析待解密文件的加密数据头,分离出其中的密码、加密位置、加密数据头长度等信息;
202)根据密码生成一个解密密钥,该密钥与加密密钥完全一样,生成方式也完全相同;
203)去掉待解密文件的加密数据头,并根据加密位置信息和解密密钥对文件中的密文进行解密运算,最后生成被解密的文件。
㈡解密算法 
由于最终的加密操作是异或操作,故解密过程也需要加密过程使用的密钥。即加密和解密生成最终密钥的过程相同,区别在于加密最后是对明文和密钥进行异或操作,而解密是对密文和密钥进行异或的逆操作。
第三部分:加密数据头的数据结构和识别方法
加密数据头是一个自定义的结构体数据结构,这个数据结构保存了用户解密时所需要的信息,可以检测文件是否加密了,校验用户解密时输入的密码是否正等,同时还提供了解密时需要用到的信息,具体信息如下表所示:
名称 数据类型 长度 取值 描述
start int 4 bytes 0x00000000 数据头开始标识
length int 4 bytes N/A 数据头总长度,包括开始和结束标识
password char[] N/A N/A 加密的密码
encryptNum int 4 bytes N/A 解密的总段数
encryptIndex int 4 bytes N/A 一段的index
encryptStart int 4 bytes N/A 一段的加密开始位置的index
end int 4 bytes 0xFFFFFFFF 数据头结束标识
    其中encryptIndex、encryptStart二个字段对应加密总段数中的一段,因此这二个字段是重复encryptNum次的。
识别加密数据头是否有效的方法很简单,其流程如图3所示,分为二种类型,通过识别是否包括具体加密数据头识别标记进行识别。 

Claims (10)

1.一种文件加密方法,其特征在于,包括以下步骤:
若文件大小高于门限,将文件整体分割成一个以上分段,并保存分段信息;
用随机算法确定每一分段中待加密数据的开始和结束位置,并保存加密位置信息;
根据密码生成一个加密密钥,然后用它对待加密数据进行加密,等长替换原待加密数据后得到一个加密后的数据部分;
将密码、分段信息、每段的加密位置信息、加密数据头识别标记、和加密数据头长度封装成加密数据头;
将加密数据头放在所述加密后的数据部分前面,合并生成加密后的文件。
2.根据权利要求1所述加密方法,其特征在于,还包括:若文件大小低于门限,将文件的数据部分分割成一分段。
3.根据权利要求1所述加密方法,其特征在于,所述分割是等分分割,所述分段信息是分段总数。
4.根据权利要求1所述加密方法,其特征在于,所述加密长度是固定长度,所述加密位置信息是每一分段中待加密数据的开始位置。
5.根据权利要求1所述加密方法,其特征在于,还包括判断待加密文件的数据头是否是有效的加密数据头,是直接退出加密过程,否则进行加密。
6.根据权利要求1所述加密方法,其特征在于,包括以下步骤:
判断待加密文件的数据头是否是有效的加密数据头,是跳过下面所有步骤直接结束,否则进入下面步骤;
若文件大小高于门限,将文件整体等分割成一个以上分段,并保存分段总数;
用随机算法确定每一分段中待加密数据的开始位置,并保存各分段加密开始位置信息;
根据密码生成一个加密密钥,然后用它按固定长度从各分段加密开始位置向后选取固定长度数据进行加密,但从分段加密开始位置到该分段结束不足固定长度时则选取从分段加密开始位置到该分段结束的数据进行加密,替换各自对应的原待加密数据后得到一个加密后的数据部分;
将密码、分段总数、各分段加密开始位置信息、加密数据头识别标记、加密数据头长度封装成加密数据头;
将加密数据头放在所述加密后的数据部分前面,合并生成加密后的文件。
7.一种文件解密方法,其特征在于,包括以下步骤:
读取加密文件、分离还原加密数据头中的密码、分段总数、加密位置信息;
根据分段位置信息和加密位置信息获取加密文件中各段加密数据的开始和结束位置;
根据密码生成一个加密密钥,然后用它对加密数据进行解密,等长替换原加密数据后得到一个解密后的数据部分;
根据所述解密后的数据部分直接生成解密文件。
8.根据权利要求7所述解密方法,其特征在于,包括:分离加密数据头中的分段数,再根据等分分割算法计算个分段开始和结束位置。
9.根据权利要求7所述解密方法,其特征在于,包括:分离加密数据头中的各分段加密开始位置,再根据加密开始位置到各自分段结束的长度大于固定长度以固定长度作为加密结束位置,否则以对应分段结束作为加密结束位置。
10.根据权利要求7所述解密方法,其特征在于,包括:根据待解密文件的数据头包括加密数据头识别标记选择进行解密,否则直接退出解密过程。
CN201110255729XA 2011-08-03 2011-09-01 一种文件加解密方法 Pending CN102402670A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110255729XA CN102402670A (zh) 2011-08-03 2011-09-01 一种文件加解密方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201110220457 2011-08-03
CN201110220457.X 2011-08-03
CN201110255729XA CN102402670A (zh) 2011-08-03 2011-09-01 一种文件加解密方法

Publications (1)

Publication Number Publication Date
CN102402670A true CN102402670A (zh) 2012-04-04

Family

ID=45884865

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110255729XA Pending CN102402670A (zh) 2011-08-03 2011-09-01 一种文件加解密方法

Country Status (1)

Country Link
CN (1) CN102402670A (zh)

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102870372A (zh) * 2012-06-15 2013-01-09 华为技术有限公司 处理计费数据的方法及设备
WO2013053078A1 (zh) * 2011-10-10 2013-04-18 厦门简帛信息科技有限公司 一种加密方法
CN103279693A (zh) * 2013-05-30 2013-09-04 付弦 一种文件加密方法
CN103345609A (zh) * 2013-06-06 2013-10-09 深圳市大成天下信息技术有限公司 一种文本加解密方法和加解密设备
CN103746893A (zh) * 2013-12-19 2014-04-23 柳州职业技术学院 一种针对ip数据包的安全型隐蔽通信方法
CN103825885A (zh) * 2014-01-23 2014-05-28 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种互联网内容加密发布方法及系统
CN104065686A (zh) * 2013-03-21 2014-09-24 中兴通讯股份有限公司 文件多层加密传输方法、加密端及解密端
CN104091129A (zh) * 2014-06-26 2014-10-08 腾讯科技(深圳)有限公司 一种数据处理方法及装置
CN104657629A (zh) * 2013-11-22 2015-05-27 中国移动通信集团公司 一种文件版权保护方法和设备
CN104680077A (zh) * 2015-01-20 2015-06-03 中兴通讯股份有限公司 一种加密图片的方法、查看图片的方法、系统和终端
CN104836656A (zh) * 2015-05-08 2015-08-12 厦门大学 一种视频文件的存储和传输方法
CN103067158B (zh) * 2012-12-27 2015-12-02 华为技术有限公司 加密解密方法、加密解密装置及密钥管理系统
CN105162825A (zh) * 2015-07-11 2015-12-16 深圳市美贝壳科技有限公司 文件安全传输方法
CN105187370A (zh) * 2015-06-05 2015-12-23 北京奇虎科技有限公司 数据处理方法和系统
CN105354500A (zh) * 2015-10-13 2016-02-24 深圳市九鼎安华科技有限公司 文件加密方法及装置
CN105721148A (zh) * 2016-04-12 2016-06-29 武汉优信众网科技有限公司 一种基于双随机数的数据文件加密方法及系统
CN105871550A (zh) * 2016-06-13 2016-08-17 四川特伦特科技股份有限公司 一种实现数字信号加密传输的系统
CN106775463A (zh) * 2016-11-30 2017-05-31 广东欧珀移动通信有限公司 数据存储方法、装置及移动终端
CN106960156A (zh) * 2016-01-08 2017-07-18 广州市动景计算机科技有限公司 基于应用程序的数据加密及访问方法、装置
WO2017185312A1 (zh) * 2016-04-28 2017-11-02 华为技术有限公司 加密、解密方法及装置
CN107579985A (zh) * 2017-09-19 2018-01-12 杭州安恒信息技术有限公司 一种基于碎片加密的大文件传输保护方法
CN107679405A (zh) * 2017-08-25 2018-02-09 芜湖市振华戎科智能科技有限公司 机密单位文件加密传输系统
WO2018170963A1 (zh) * 2017-03-20 2018-09-27 网宿科技股份有限公司 一种文件的加密、解密方法和装置
CN108830096A (zh) * 2018-06-21 2018-11-16 广州华多网络科技有限公司 数据处理方法、装置、电子设备及存储介质
CN109391936A (zh) * 2018-09-19 2019-02-26 四川长虹电器股份有限公司 一种ota升级包加密下载的方法
CN109635573A (zh) * 2018-11-12 2019-04-16 北京海泰方圆科技股份有限公司 数据分布式加解密的系统、方法、装置、电子设备及介质
CN109740371A (zh) * 2018-12-12 2019-05-10 武汉掌游科技有限公司 一种用于安卓sdk资源简易的加密方法及装置
CN109815710A (zh) * 2018-12-14 2019-05-28 开放智能机器(上海)有限公司 一种人工智能算法模型文件的保护方法
CN109977684A (zh) * 2019-02-12 2019-07-05 平安科技(深圳)有限公司 一种数据传输方法、装置及终端设备
CN110069933A (zh) * 2018-01-22 2019-07-30 北大方正集团有限公司 文件处理方法和装置
CN110688667A (zh) * 2019-10-09 2020-01-14 北京无限光场科技有限公司 一种图片文件处理方法、装置、终端设备及介质
CN110990877A (zh) * 2019-12-13 2020-04-10 中电健康云科技有限公司 一种基于greenplum的医疗影像文件分段加解密系统及方法
CN111414635A (zh) * 2020-03-20 2020-07-14 广州市百果园信息技术有限公司 文件加密、解密方法、装置、设备和存储介质
CN111770135A (zh) * 2020-05-25 2020-10-13 湖南麒麟信安科技有限公司 一种透明的对象存储加解密方法、对象存储系统及介质
CN112182512A (zh) * 2020-09-01 2021-01-05 北京幻想纵横网络技术有限公司 一种信息处理方法、装置及存储介质
CN112738037A (zh) * 2020-12-17 2021-04-30 航天信息股份有限公司 一种数据加密通信方法
CN112769778A (zh) * 2020-12-28 2021-05-07 福建正孚软件有限公司 一种基于跨网跨境数据安全传输的加解密处理方法和系统
CN113194083A (zh) * 2021-04-26 2021-07-30 鸣飞伟业技术有限公司 一种采用视频分段加密后进行抛转传输方法
CN113254967A (zh) * 2021-06-04 2021-08-13 王兆河 一种医疗数字影像云系统的标准化方法
CN113254966A (zh) * 2021-06-04 2021-08-13 王兆河 一种医疗数字影像信息的动态加密方法及密文结构
CN115665735A (zh) * 2022-12-14 2023-01-31 尚禹河北电子科技股份有限公司 一种数据传输方法、装置、系统及存储介质
CN118075037A (zh) * 2024-04-25 2024-05-24 安徽华云安科技有限公司 数据加密方法、装置、设备以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7165050B2 (en) * 2004-09-20 2007-01-16 Aaron Marking Media on demand via peering
CN101271501A (zh) * 2008-04-30 2008-09-24 北京握奇数据系统有限公司 数字媒体文件的加解密方法及装置
CN102063598A (zh) * 2009-11-17 2011-05-18 北大方正集团有限公司 一种数据加密、解密方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7165050B2 (en) * 2004-09-20 2007-01-16 Aaron Marking Media on demand via peering
CN101271501A (zh) * 2008-04-30 2008-09-24 北京握奇数据系统有限公司 数字媒体文件的加解密方法及装置
CN102063598A (zh) * 2009-11-17 2011-05-18 北大方正集团有限公司 一种数据加密、解密方法及装置

Cited By (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013053078A1 (zh) * 2011-10-10 2013-04-18 厦门简帛信息科技有限公司 一种加密方法
CN102870372A (zh) * 2012-06-15 2013-01-09 华为技术有限公司 处理计费数据的方法及设备
CN102870372B (zh) * 2012-06-15 2015-07-08 华为技术有限公司 处理计费数据的方法及设备
WO2013185348A1 (zh) * 2012-06-15 2013-12-19 华为技术有限公司 处理计费数据的方法及设备
CN103067158B (zh) * 2012-12-27 2015-12-02 华为技术有限公司 加密解密方法、加密解密装置及密钥管理系统
CN104065686A (zh) * 2013-03-21 2014-09-24 中兴通讯股份有限公司 文件多层加密传输方法、加密端及解密端
CN103279693A (zh) * 2013-05-30 2013-09-04 付弦 一种文件加密方法
CN103279693B (zh) * 2013-05-30 2016-02-17 付弦 一种文件加密方法
CN103345609A (zh) * 2013-06-06 2013-10-09 深圳市大成天下信息技术有限公司 一种文本加解密方法和加解密设备
CN103345609B (zh) * 2013-06-06 2016-08-10 深圳市大成天下信息技术有限公司 一种文本加解密方法和加解密设备
CN104657629A (zh) * 2013-11-22 2015-05-27 中国移动通信集团公司 一种文件版权保护方法和设备
CN103746893A (zh) * 2013-12-19 2014-04-23 柳州职业技术学院 一种针对ip数据包的安全型隐蔽通信方法
CN103825885A (zh) * 2014-01-23 2014-05-28 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种互联网内容加密发布方法及系统
CN104091129A (zh) * 2014-06-26 2014-10-08 腾讯科技(深圳)有限公司 一种数据处理方法及装置
CN104680077A (zh) * 2015-01-20 2015-06-03 中兴通讯股份有限公司 一种加密图片的方法、查看图片的方法、系统和终端
CN104680077B (zh) * 2015-01-20 2021-10-12 中兴通讯股份有限公司 一种加密图片的方法、查看图片的方法、系统和终端
CN104836656A (zh) * 2015-05-08 2015-08-12 厦门大学 一种视频文件的存储和传输方法
CN104836656B (zh) * 2015-05-08 2018-04-10 厦门大学 一种视频文件的存储和传输方法
CN105187370A (zh) * 2015-06-05 2015-12-23 北京奇虎科技有限公司 数据处理方法和系统
CN105162825A (zh) * 2015-07-11 2015-12-16 深圳市美贝壳科技有限公司 文件安全传输方法
CN105354500A (zh) * 2015-10-13 2016-02-24 深圳市九鼎安华科技有限公司 文件加密方法及装置
CN105354500B (zh) * 2015-10-13 2018-05-04 成都汇研科技有限公司 文件加密方法及装置
CN106960156A (zh) * 2016-01-08 2017-07-18 广州市动景计算机科技有限公司 基于应用程序的数据加密及访问方法、装置
CN105721148A (zh) * 2016-04-12 2016-06-29 武汉优信众网科技有限公司 一种基于双随机数的数据文件加密方法及系统
CN105721148B (zh) * 2016-04-12 2019-01-18 武汉珈铭汉象教育科技有限公司 一种基于双随机数的数据文件加密方法及系统
CN108028754A (zh) * 2016-04-28 2018-05-11 华为技术有限公司 加密、解密方法及装置
WO2017185312A1 (zh) * 2016-04-28 2017-11-02 华为技术有限公司 加密、解密方法及装置
CN105871550B (zh) * 2016-06-13 2019-04-09 四川特伦特科技股份有限公司 一种实现数字信号加密传输的系统
CN105871550A (zh) * 2016-06-13 2016-08-17 四川特伦特科技股份有限公司 一种实现数字信号加密传输的系统
CN106775463A (zh) * 2016-11-30 2017-05-31 广东欧珀移动通信有限公司 数据存储方法、装置及移动终端
WO2018170963A1 (zh) * 2017-03-20 2018-09-27 网宿科技股份有限公司 一种文件的加密、解密方法和装置
CN107679405A (zh) * 2017-08-25 2018-02-09 芜湖市振华戎科智能科技有限公司 机密单位文件加密传输系统
CN107579985A (zh) * 2017-09-19 2018-01-12 杭州安恒信息技术有限公司 一种基于碎片加密的大文件传输保护方法
CN107579985B (zh) * 2017-09-19 2020-04-28 杭州安恒信息技术股份有限公司 一种基于碎片加密的大文件传输保护方法
CN110069933A (zh) * 2018-01-22 2019-07-30 北大方正集团有限公司 文件处理方法和装置
CN108830096A (zh) * 2018-06-21 2018-11-16 广州华多网络科技有限公司 数据处理方法、装置、电子设备及存储介质
CN109391936A (zh) * 2018-09-19 2019-02-26 四川长虹电器股份有限公司 一种ota升级包加密下载的方法
CN109635573A (zh) * 2018-11-12 2019-04-16 北京海泰方圆科技股份有限公司 数据分布式加解密的系统、方法、装置、电子设备及介质
CN109635573B (zh) * 2018-11-12 2019-12-06 北京海泰方圆科技股份有限公司 数据分布式加解密的系统、方法、装置、电子设备及介质
CN109740371A (zh) * 2018-12-12 2019-05-10 武汉掌游科技有限公司 一种用于安卓sdk资源简易的加密方法及装置
CN109815710A (zh) * 2018-12-14 2019-05-28 开放智能机器(上海)有限公司 一种人工智能算法模型文件的保护方法
WO2020164211A1 (zh) * 2019-02-12 2020-08-20 平安科技(深圳)有限公司 一种数据传输方法、装置、终端设备及介质
CN109977684B (zh) * 2019-02-12 2024-02-20 平安科技(深圳)有限公司 一种数据传输方法、装置及终端设备
CN109977684A (zh) * 2019-02-12 2019-07-05 平安科技(深圳)有限公司 一种数据传输方法、装置及终端设备
CN110688667A (zh) * 2019-10-09 2020-01-14 北京无限光场科技有限公司 一种图片文件处理方法、装置、终端设备及介质
CN110990877A (zh) * 2019-12-13 2020-04-10 中电健康云科技有限公司 一种基于greenplum的医疗影像文件分段加解密系统及方法
CN111414635A (zh) * 2020-03-20 2020-07-14 广州市百果园信息技术有限公司 文件加密、解密方法、装置、设备和存储介质
CN111770135A (zh) * 2020-05-25 2020-10-13 湖南麒麟信安科技有限公司 一种透明的对象存储加解密方法、对象存储系统及介质
CN111770135B (zh) * 2020-05-25 2023-03-14 湖南麒麟信安科技股份有限公司 一种透明的对象存储加解密方法、对象存储系统及介质
CN112182512A (zh) * 2020-09-01 2021-01-05 北京幻想纵横网络技术有限公司 一种信息处理方法、装置及存储介质
CN112738037B (zh) * 2020-12-17 2023-01-31 航天信息股份有限公司 一种数据加密通信方法
CN112738037A (zh) * 2020-12-17 2021-04-30 航天信息股份有限公司 一种数据加密通信方法
CN112769778A (zh) * 2020-12-28 2021-05-07 福建正孚软件有限公司 一种基于跨网跨境数据安全传输的加解密处理方法和系统
CN112769778B (zh) * 2020-12-28 2023-05-23 福建正孚软件有限公司 一种基于跨网跨境数据安全传输的加解密处理方法和系统
CN113194083A (zh) * 2021-04-26 2021-07-30 鸣飞伟业技术有限公司 一种采用视频分段加密后进行抛转传输方法
CN113254966A (zh) * 2021-06-04 2021-08-13 王兆河 一种医疗数字影像信息的动态加密方法及密文结构
CN113254967A (zh) * 2021-06-04 2021-08-13 王兆河 一种医疗数字影像云系统的标准化方法
CN115665735A (zh) * 2022-12-14 2023-01-31 尚禹河北电子科技股份有限公司 一种数据传输方法、装置、系统及存储介质
CN118075037A (zh) * 2024-04-25 2024-05-24 安徽华云安科技有限公司 数据加密方法、装置、设备以及存储介质

Similar Documents

Publication Publication Date Title
CN102402670A (zh) 一种文件加解密方法
CN102546181B (zh) 基于密钥池的云存储加解密方法
US10320554B1 (en) Differential power analysis resistant encryption and decryption functions
CN107070630B (zh) 一种aes算法的快速安全硬件结构
Muir A tutorial on white-box AES
US20080084996A1 (en) Authenticated encryption method and apparatus
CN101149768B (zh) 一种专用处理器软件的加密和解密方法
Alsaidi et al. Compression multi-level crypto stego security of texts utilizing colored email forwarding
US7720225B2 (en) Table splitting for cryptographic processes
CN102970132B (zh) 一种防止对分组算法进行功耗分析和电磁辐射分析的防护方法
JP2001324925A5 (zh)
EP3467808B1 (en) Encryption device, encryption method, decryption device, and decryption method
US20150312039A1 (en) Behavioral fingerprint in a white-box implementation
CN105051677A (zh) 用共享随机比特进行掩码
CN107637010A (zh) 数据加密装置及方法和数据解密装置及方法
TW201044334A (en) Encryption device, encryption method, and computer program
CN104660590B (zh) 一种文件加密安全云存储方案
EP3477889B1 (en) Using white-box in a leakage-resilient primitive
US8619985B2 (en) Table splitting for cryptographic processes
CN109861810A (zh) 一种基于混沌块加密算法的数据加密方法及解密方法
CN110999201A (zh) 密码设备和方法
CN106059752A (zh) 一种基于扩张密文的白盒密码加解密方法
CN107273724A (zh) 为白盒实施方案的输入和输出加水印
Suguna et al. A study on symmetric and asymmetric key encryption algorithms
CN102598575B (zh) 用于对密码保护的有效数据单元加速解密的方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120404