CN102693398B - 一种数据加密方法及系统 - Google Patents

一种数据加密方法及系统 Download PDF

Info

Publication number
CN102693398B
CN102693398B CN201210141543.6A CN201210141543A CN102693398B CN 102693398 B CN102693398 B CN 102693398B CN 201210141543 A CN201210141543 A CN 201210141543A CN 102693398 B CN102693398 B CN 102693398B
Authority
CN
China
Prior art keywords
file
encrypted
value
preset value
data
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.)
Expired - Fee Related
Application number
CN201210141543.6A
Other languages
English (en)
Other versions
CN102693398A (zh
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.)
Shenzhen University
Original Assignee
Shenzhen University
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 Shenzhen University filed Critical Shenzhen University
Priority to CN201210141543.6A priority Critical patent/CN102693398B/zh
Publication of CN102693398A publication Critical patent/CN102693398A/zh
Application granted granted Critical
Publication of CN102693398B publication Critical patent/CN102693398B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明适用于计算机技术领域,提供了一种数据加密方法及系统,包括:接收输入的待加密文件,将待加密文件平均分割为第一预设值大小的多个待加密数据块;依次接收待加密数据块,通过预设的秘密共享算法对每一个接收的待加密数据块进行分割加密操作,得到多个加密文件,对每一个接收的待加密数据块进行分割加密操作之后,从多个加密文件中选择预设位置的一个文件,当选择的文件的大小大于第二预设值时,将选择的文件确定为输入的待加密文件,跳转至将待加密文件平均分割为多个待加密数据块的步骤,否则,确定选择的文件为解密密钥。本发明经过多次分割加密,获得预设大小范围内的解密密钥,从而提高了待加密数据的安全性。

Description

一种数据加密方法及系统
技术领域
本发明属于计算机技术领域,尤其涉及一种数据加密方法及系统。
背景技术
云存储(Cloud Storage)是在云计算(Cloud Computing)概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。
随着云计算,云存储等产品的不断推出,对云中数据安全性的需求日渐突出,当数据被放入云中时数据将面临来自各个方面的安全威胁,主要表现在:用户很难通过有效的技术手段保证云存储服务提供者(对用户存放数据的计算机绝对的控制权)不会非法获取和使用用户存储的数据,其次,由于数据被存储在云存储设备中,与存放在用户个人计算机不同,一个用户的数据与另一个用户的数据可能紧密相邻,相邻用户可以通过各种方式来非法访问或窃取相邻用户的数据,另外,与传统的存储系统类似,云中的数据也会面临黑客的窃取。然而,现有技术无法提供一种有效的数据加密或存储方式来保证云存储中用户的数据安全,导致云存储中数据安全性不高,用户私密数据难以得到较好的保护,阻碍了云存储服务的进一步发展。
发明内容
本发明实施例的目的在于提供一种数据加密方法,旨在解决由于现有技术无法提供一种有效的数据加密方式来保证云存储中用户的数据安全,导致云存储中数据安全性不高的问题。
本发明实施例是这样实现的,一种数据加密方法,所述方法包括下述步骤:
接收输入的待加密文件,将所述待加密文件平均分割为第一预设值大小的多个待加密数据块;
依次接收所述待加密数据块,通过预设的秘密共享算法对每一个接收的待加密数据块进行分割加密操作,得到多个加密文件;
对每一个接收的待加密数据块进行分割加密操作之后,从所述多个加密文件中选择预设位置的一个文件;
当所述选择的文件的大小大于第二预设值时,将所述选择的文件确定为输入的待加密文件,跳转至接收输入的待加密文件,将所述待加密文件平均分割为多个待加密数据块的步骤;
当所述选择的文件的大小不大于第二预设值时,确定所述选择的文件为解密密钥。
本发明实施例的另一目的在于提供一种数据加密系统,所述系统包括:
文件分割单元,用于接收输入的待加密文件,将所述待加密文件平均分割为第一预设值大小的多个待加密数据块;
分割加密单元,用于依次接收所述待加密数据块,通过预设的秘密共享算法对每一个接收的待加密数据块进行分割加密操作,得到多个加密文件;
文件选择单元,用于对每一个接收的待加密数据块进行分割加密操作之后,从所述多个加密文件中选择预设位置的一个文件;
文件确定单元,用于当所述选择的文件的大小大于第二预设值时,将所述选择的文件确定为输入的待加密文件,跳转至接收输入的待加密文件,将所述待加密文件平均分割为多个待加密数据块的步骤;以及
密钥确定单元,用于当所述选择的文件的大小不大于第二预设值时,确定所述选择的文件为解密密钥。
本发明实施例通过接收输入的待加密文件,将待加密文件平均分割为第一预设值大小的多个待加密数据块,依次接收待加密数据块,通过预设的秘密共享算法对每一个接收的待加密数据块进行分割加密操作,得到多个加密文件,对每一个接收的待加密数据块进行分割加密操作之后,从多个加密文件中选择预设位置的一个文件,当选择的文件的大小大于第二预设值时,将选择的文件确定为输入的待加密文件,跳转至接收输入的待加密文件,将待加密文件平均分割为多个待加密数据块的步骤,当选择的文件的大小不大于第二预设值时,确定选择的文件为解密密钥,从而完成待加密数据的加密,本发明经过多次分割加密,每次分割加密处理的数据量不断减少,获得的解密密钥可根据密钥存储装置容量、加密强度来进行设置,从而提高了待加密数据的安全性。
附图说明
图1是本发明实施例一提供的数据加密方法的实现流程图;
图2是本发明实施例二提供的数据加密方法的实现流程图;
图3是本发明实施例三提供的数据加密方法的实现流程图;
图4是本发明实施例四提供的数据加密系统的结构图;
图5是本发明实施例五提供的数据加密系统的结构图
图6是本发明实施例五提供的数据加密系统中分割加密单元的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图1示出了本发明实施例一提供的数据加密方法的实现流程,详述如下:
在步骤S101中,接收输入的待加密文件,将待加密文件平均分割为第一预设值大小的多个待加密数据块。
在本发明实施例中,当接收到输入的待加密文件时,为了提高文件的加密速度,将待加密文件平均分割为第一预设值大小的多个待加密数据块,该预设值可以根据加密平台的硬件配置进行设置,可以为256、1024等,例如,当第一预设值为256时,即将待加密文件平均分割为256比特(Byte)大小的多个待加密数据块。
在具体实施过程中,待加密文件的大小不一定为所述第一预设值对应的大小的整数倍,为了简化待加密文件的处理过程以及方便解密操作,可以在所述待加密文件的末尾进行数据填充,具体地,填充的数据大小为第一预设值减去待加密文件大小对第一预设值大小取模运算的值,填充的数据内容为第一预设值减去待加密文件大小对第一预设值取模的值。例如,当待加密文件大小为17Byte时,第一预设值大小为8Byte时,则填充的数据大小为:8-17%8=7比特,填充的数据内容为:8-17%8=7,当待加密文件大小为16Byte时,第一预设值大小为8Byte时,填充的数据大小为:8-16%8=8比特,填充的数据内容为:8-16%8=8,在此仅为示例,不用以限制本发明。
在步骤S102中,依次接收待加密数据块,通过预设的秘密共享算法对每一个接收的待加密数据块进行分割加密操作,得到多个加密文件。
在本发明实施例中,步骤S101将待加密文件平均分割为第一预设值大小的多个待加密数据块后,依次接收待加密数据块,通过预设的秘密共享算法对每一个接收的待加密数据块进行分割加密操作,得到多个加密文件,预设的秘密共享算法可以为Shamir算法,基于XOR操作的秘密共享算法等,在此不用以限制本发明。
在步骤S103中,对每一个接收的待加密数据块进行分割加密操作之后,从多个加密文件中选择预设位置的一个文件。
在步骤S104中,判断选择的文件的大小是否大于第二预设值,是则执行步骤S105,否则执行步骤S106。
在步骤S105中,将步骤S103中选择的文件确定为输入的待加密文件,跳转至步骤101。
在步骤S106中,确定选择的文件为解密密钥。
在本发明实施例中,步骤S104判断一轮分割加密后得到的文件的大小是否大于第二预设值,是则表明此轮分割加密操作后得到的各个加密文件太大,超过了预先设置的阈值,此时将步骤S103中选择的一个文件确定为输入的待加密文件,跳转至步骤101进行下一轮的分割,直到获得一个比第二预设值小的加密文件,将该加密文件确定为解密密钥,从而完成待加密文件的分割加密。
在本发明实施例中,步骤S103中完成一轮分割加密操作之后,从多个加密文件中选择预设位置的一个文件。判断该文件的大小是否大于第二预设值,是则将该文件确定为输入的待加密文件,删除该预设位置的该文件,跳转至步骤101,从而进行下一轮的分割,其中,每一轮分割得到的加密文件都可以对应地存储在相同文件中,且每一轮都选择相同预设位置的文件作为下一轮待加密文件,从而简化加密文件的存储。当然,也可以每一轮都建立新的多个文件,以用于存储每一轮分割加密的文件,此时,可以任意从每一轮中得到的多个加密文件中选择一个文件作为下一轮待加密文件。
在本发明实施例中,每次对待加密数据块进行分割加密操作之后可得到多个加密文件,如果一次分割加密后得到的文件的大小大于第二预设值,则从多个加密文件中选择的一个文件确定为输入的待加密文件,再次分割加密,这样每次分割加密处理的数据量不断减少,最终通过多次分割加密,获得的解密密钥大小可根据密钥存储装置容量、加密强度来进行设置,从而提高了待加密数据的安全性。
实施例二:
在本发明实施例中,通过一元多项式方式求解原理对每一个接收的待加密数据块进行分割加密,从而简化了数据的加密过程,提高了加密速度。
图2示出了本发明实施例二提供的数据加密方法的实现流程,详述如下:
在步骤S201中,接收输入的待加密文件,将待加密文件平均分割为第一预设值大小的多个待加密数据块。
在步骤S202中,将每一个待加密数据块平均分割为第三预设值个待加密数据段,获取第三预设值个待加密数据段对应的无符号二进制数。
在本发明实施例中,依次接收待加密数据块,对每一个接收的待加密数据块进行分割加密操作。具体地,将每一个待加密数据块平均分割为第三预设值个待加密数据段,由于待加密数据段在计算机存储过程中以二进制数表示,因此,分割后的每一个待加密数据段对应一个二进制数,也即对应一个十进制数,该第三预设值可根据加密强度、加密硬件环境进行设置。
在步骤S203中,确定无符号二进制数对应的十进制数为一元多项式的系数,以构建一个一元多项式。
在本发明实施例中,当确定第三预设值个无符号二进制数后,将这些无符号二进制数对应的十进制数作为一元多项式的系数,从而构建一个一元多项式,这样,得到的一元多项式的系数的个数即为第三预设值。
在步骤S204中,获取第四预设值个预设输入值对应的一元多项式的函数值,将所有函数值分别存储到每个预设输入值对应的文件中,得到第四预设值个加密文件。
在本发明实施例中,预先设置第四预设值个预设输入值作为一元多项式的变量,从而获得第四预设值个对应的一元多项式函数值,即:<变量,函数值>数值对的数目与一元多项式系统数目相同,获取函数值后,将其存储到每个预设输入值(即该函数值对应变量赋值)对应的文件中。
在步骤S205中,对每一个接收的待加密数据块进行分割加密操作之后,从得到的多个加密文件中选择预设位置的一个文件。
在本发明实施例中,当对步骤S201中分割得到的多个待加密数据块完成分割加密操作之后,即完成了一次分割加密,从而可以获得通过一元多项式加密得到的第四预设值个文件,第四预设值个文件对应于第四预设值个预设输入值,从而将待加密文件分割成了第四预设值个加密文件。对每一个接收的待加密数据块进行分割加密操作之后,从得到的多个加密文件中选择预设位置的一个文件,预设位置的文件可以为设定的预设输入值对应的文件,也可以是特定文件路径下的文件。
在步骤S206中,判断选择的文件的大小是否大于第二预设值,是则执行步骤S207,否则执行步骤S208。
在步骤S207中,将选择的文件确定为输入的待加密文件,并跳转至步骤201。
在本发明实施例中,当选择的文件的大小大于第二预设值,将步骤S205中选择的文件确定为输入的待加密文件,并跳转至步骤201,从而进入下一轮的分割加密操作。对于每一轮分割加密操作,在步骤S204中,可以将获取的所有函数值分别存储到上一轮分割得到的相同预设输入值对应的多个文件中,此时,每一轮选择的预设位置的文件应为相同预设输入值对应的文件,可选地,也可以为每一轮分割加密操作中预设输入值建立对应的多个文件,将获取的所有函数值分别存储到建立的对应的多个文件中。
在步骤S208中,确定选择的文件为解密密钥。
在本发明实施例中,步骤S206判断一次分割加密后得到的文件的大小是否大于第二预设值,是则表明此次分割加密后得到的各个加密文件太大,超过了预先设置的阈值,此时将步骤S205中选择的一个文件确定为输入的待加密文件,跳转至步骤201进行再次分割,直到获得一个比第二预设值小的加密文件,将该加密文件确定为解密密钥,从而完成待加密文件的加密。
在本发明实施例中,将每一个待加密数据块平均分割为第三预设值个待加密数据段,获取第三预设值个待加密数据段对应的无符号二进制数,确定无符号二进制数对应的十进制数为一元多项式的系数,以构建一个一元多项式,从而将文件的加密转化为求取一元多项式的函数值,根据一元多项式求解原理,若需要从密文文件获得原始待加密文件,则可转化为求解一元多项式的系数问题。
进一步地,在本发明实施例中,还将获得的第四预设值个加密文件存储到云端服务器的步骤。
优选地,在本发明的一实施例中,第三预设值与第四预设值相同,这样,由于一元多项式的系数的个数(第三预设值)和一元多项式等式数目(第四预设值)相同,所以只有获得确定的解密密钥后,获得构建的一元多项式的所有系数,进而求解一次被分割加密的文件,以该文件为基础求解其上一层被分割加密的待加密文件,如此迭代求解最终获得原始待加密文件。所以,当第四预设值个加密文件被存储到云端服务器时,只要用户保存好确定的解密密钥即可保证云端数据安全,从而大大提高了数据的安全性。
优选地,在本发明的另一实施例中,第四预设值大于第三预设值,这样,由于一元多项式的等式数目(第四预设值)大于一元多项式系数的个数(第三预设值),从而使得第四预设值个加密文件存在冗余加密数据,提高了加密数据的可恢复性。当获得的第四预设值个加密文件被存储到云端服务器时,确定每个云端服务器(或云端服务器提供商)存储的加密文件个数少于第三预设值,使得单个云端服务器(或云端服务器提供商)难以从存储的数据中恢复出原始文件,从而在保证了数据安全性的基础上,提高了加密数据的可恢复性。
实施例三:
图3示出了本发明实施例三提供的数据加密方法的实现流程,详述如下:
在步骤S301中,根据第一预设值和第三预设值确定一个素数。
在本发明实施中,为了方便分割加密过程中一元多项式的函数值的保存,需要预先确定一个足够大的素数,将一元多项式的函数值对该素数进行取模运算,得到位于素数范围内的数值,从而方便了数据的处理和存储,防止函数值保存过程中异常事件的发生。具体地,可根据待加密文件平均分割为多个待加密数据块的大小(即第一预设值)以及第三预设值来确定一个素数,以用于对后续对一元多项式的函数值进行取模运算。
在步骤S302中,接收输入的待加密文件,将待加密文件平均分割为第一预设值大小的多个待加密数据块。
在步骤S303中,将每一个待加密数据块平均分割为第三预设值个待加密数据段,获取第三预设值个待加密数据段对应的无符号二进制数。
在步骤S304中,确定无符号二进制数对应的十进制数为一元多项式的系数,以构建一个一元多项式。
在步骤S305中,获取第四预设值个预设输入值对应的一元多项式的函数值。
在步骤S306中,对所有所述对应的所述一元多项式的函数值对所述素数进行取模运算。
在本发明实施例中,若待加密数据块的大小为T比特(即前述第一预设值),分割为K(即第三预设值)个数据段,那么,每一段的数据大小为T/K比特,则在(T/K+1)比特的长度中可找到一个素数,该素数大于每个数据段所对应的十进制数,从而可用于对所有一元多项式的函数值进行取模运算,将函数值取模后的大小也统一到该素数的范围内。
在步骤S307中,将所有取模运算后的函数值分别存储到每个预设输入值对应的文件中,得到第四预设值个加密文件。
在步骤S308中,对每一个接收的待加密数据块进行分割加密操作之后,从所述第四预设值个加密文件中选择预设位置的一个文件。
在步骤S309中,判断选择的文件的大小是否大于第二预设值,是则执行步骤S310,否则执行步骤S311。
在步骤S310中,将所述选择的文件确定为输入的待加密文件,跳转至步骤302。
在步骤S311中,确定所述选择的文件为解密密钥。
在本发明实施例中,对所有一元多项式的函数值进行取模运算后再保存到相应的文件中,从而方便了数据的处理和保存,防止保存过程中异常事件的发生,提高了数据加密过程的安全性和稳定性。
在本发明的另一实施例中,为了提高存储加密数据的装置的存储效率,可对一次待加密文件分割加密过程中一元多项式函数值对应的二进制数据进行拼接后再存储,具体地:
(1)在步骤S301和S302之间,当确定一个素数后,获取所述素数对应的二进制位数的有效位数。
在本发明实施例中,当根据步骤S301确定一个素数后,获取所述素数对应的二进制位数的有效位数,即:将所述素数对应的二进制位数高位为零的位数去掉。
(2)将步骤(1)获取的有效位数对8进行整除运算,确定整除运算结果为函数值存储时该函数值对应二制数中低位数据连续存储的比特数。
在本发明实施例中,由于数据存储时是以比特(8bit)为单元进行存储,因此,在确定该素数对应二进制数位数的有效位数后,确定整除运算结果为函数值存储时该函数值对应二制数中低位数据连续存储的比特数,从而确定可连续存储的二进制低位数据,不够1比特的数据则进行拼接处理。
在步骤S307中,将所有取模运算后的函数值分别存储到第四预设值个预设输入值对应的第四预设值个文件中的步骤具体包括:
A、获取取模运算后的函数值对应的二进制数,所述二进制数的位数为所述有效位数。
在本发明实施例中,当步骤S306中对所有对应的一元多项式的函数值对素数进行取模运算后,所有取模运算后的函数值对应的二进制数的有效位数必然少于该素数的有效位数,为了方便处理,在这里将函数值的有效位数统一为素数的有效位数。
B、将所述二进制数中位数为所述比特数的低位数据以及所述二进制数中的剩余数据分别缓存到每个预设输入值对应的缓存中。
在本发明实施例中,将取模运算后一元多项式函数值对应的二进制数中有效位数的低位连续比特数据以及该二进制数中不足1比特的数据分别进行缓存,从而,在步骤S308对每一个接收的待加密数据块进行分割加密操作之后,从所述多个加密文件中选择预设位置的一个文件的步骤之前,将每个预设输入值对应的缓存中缓存的所有二进制数中位数为前述步骤(2)中比特数的低位数据依次存储到每个预设输入值对应的文件,然后,将每个预设输入值对应的缓存中缓存的所有剩余数据依次拼接为字节,存储到预设输入值对应的文件。
在本发明实施例中,当分割加密得到的加密数据(一元多项式函数值)存储到每个预设输入值对应的文件时,只存储其统一后的有效位数,具体地,先将一元多项式函数值对应的二进制数中位数为比特数的低位数据以及二进制数中的剩余数据分别缓存到每个预设输入值对应的缓存中,当完成一次待加密数据块的分割加密操作之后,将每个预设输入值对应的缓存中缓存的所有二进制数中位数为比特数的低位数据依次存储到每个预设输入值对应的文件,将每个预设输入值对应的缓存中缓存的所有剩余数据依次拼接为字节,存储到预设输入值对应的文件,从而在一定程度上提高了存储设备的利用率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
实施例四:
图4示出了本发明实施例四提供的数据加密系统的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
文件分割单元41接收输入的待加密文件,将待加密文件平均分割为第一预设值大小的多个待加密数据块。
分割加密单元42依次接收待加密数据块,通过预设的秘密共享算法对每一个接收的待加密数据块进行分割加密操作,得到多个加密文件。
文件选择单元43对每一个接收的待加密数据块进行分割加密操作之后,从多个加密文件中选择预设位置的一个文件。
文件确定单元44当选择的文件的大小大于第二预设值时,将选择的文件确定为输入的待加密文件,跳转至接收输入的待加密文件,将待加密文件平均分割为多个待加密数据块的步骤。
密钥确定单元45当选择的文件的大小不大于第二预设值时,确定选择的文件为解密密钥。
在本发明实施例中,数据加密系统各单元的实施方式与实施例中一各步骤对应相同,在此不赘述。
实施例五:
图5示出了本发明实施例五提供的数据加密系统的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
素数确定单元51根据所述第一预设值和所述第三预设值确定一个素数。
有效位数获取单元52获取所述素数对应的二进制位数的有效位数。
比特数确定单元53将所述有效位数对8进行整除运算,确定所述整除运算结果为函数值存储时该函数值对应二制数中低位数据连续存储的比特数。
数据填充单元54在所述待加密文件的末尾进行数据填充。
文件分割单元55接收输入的待加密文件,将所述待加密文件平均分割为第一预设值大小的多个待加密数据块。
取模运算单元56对所有所述对应的所述一元多项式的函数值对所述素数进行取模运算。
分割加密单元57依次接收所述待加密数据块,通过预设的秘密共享算法对每一个接收的待加密数据块进行分割加密操作,得到多个加密文件。
存储单元58将每个预设输入值对应的缓存中缓存的所有所述二进制数中位数为所述比特数的低位数据依次存储到每个预设输入值对应的文件,将所述每个预设输入值对应的缓存中缓存的所有剩余数据依次拼接为字节,存储到所述预设输入值对应的文件。
文件选择单元59对每一个接收的待加密数据块进行分割加密操作之后,从所述多个加密文件中选择预设位置的一个文件。
文件确定单元60当所述选择的文件的大小大于第二预设值时,将所述选择的文件确定为输入的待加密文件,跳转至接收输入的待加密文件,将所述待加密文件平均分割为多个待加密数据块的步骤。
密钥确定单元61当所述选择的文件的大小不大于第二预设值时,确定所述选择的文件为解密密钥。
如图6所示,在本发明实施例中,分割加密单元57包括:
第一二进制数获取单元571,用于将待加密数据块平均分割为第三预设值个待加密数据段,获取所述第三预设值个待加密数据段对应的无符号二进制数;
多项式构建单元572,用于确定所述无符号二进制数对应的十进制数为一元多项式的系数,以构建一个一元多项式;以及
加密文件得到单元573,用于获取第四预设值个预设输入值对应的所述一元多项式的函数值,将所有函数值分别存储到每个预设输入值对应的文件中,得到第四预设值个加密文件。
其中。加密文件得到单元573包括用于将所有取模运算后的函数值分别存储到每个预设输入值对应的文件中的存储子单元5731,该存储子单元5731具体包括:
第二二进制数获取单元,用于获取取模运算后的函数值对应的二进制数,所述二进制数的位数为所述有效位数;以及
缓存单元,用于将所述二进制数中位数为所述比特数的低位数据以及所述二进制数中的剩余数据分别缓存到每个预设输入值对应的缓存中。
在本发明实施例中,数据加密系统各单元的实施方式与实施例中三各步骤对应相同,在此不赘述。
本发明实施例接收输入的待加密文件,将待加密文件平均分割为第一预设值大小的多个待加密数据块,依次接收待加密数据块,通过预设的秘密共享算法对每一个接收的待加密数据块进行分割加密操作,得到多个加密文件,当分割后的文件的大小大于第二预设值时,进行多次迭代分割直至不大于第二预设值,进而确定其中的一个文件为解密密钥,从而完成待加密数据的加密,简化了待加密文件的加密过程,并且本发明实施例可根据存储密钥的物理载体容量和安全性要求获取合适大小的密钥,提高了密钥的安全性。当分割加密得到的加密数据(一元多项式函数值)存储到预设输入值对应的文件时,先将一元多项式函数值对应的二进制数中位数为比特数的低位数据以及二进制数中的剩余数据分别缓存到每个预设输入值对应的缓存中,当完成一次待加密数据块的分割加密操作之后,将每个预设输入值对应的缓存中缓存的所有二进制数中位数为比特数的低位数据依次存储到每个预设输入值对应的文件,将每个预设输入值对应的缓存中缓存的所有剩余数据依次拼接为字节,存储到预设输入值对应的文件,从而在一定程度上提高了存储设备的利用率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种数据加密方法,其特征在于,所述方法包括下述步骤:
接收输入的待加密文件,将所述待加密文件平均分割为第一预设值大小的多个待加密数据块;
依次接收所述待加密数据块,通过预设的秘密共享算法对每一个接收的待加密数据块进行分割加密操作,得到多个加密文件;
对每一个接收的待加密数据块进行分割加密操作之后,从所述多个加密文件中选择预设位置的一个文件;
当所述选择的文件的大小大于第二预设值时,将所述选择的文件确定为输入的待加密文件,跳转至接收输入的待加密文件,将所述待加密文件平均分割为多个待加密数据块的步骤;
当所述选择的文件的大小不大于第二预设值时,确定所述选择的文件为解密密钥;
所述通过预设的秘密共享算法对每一个接收的待加密数据块进行分割加密操作的步骤包括下述步骤:
将待加密数据块平均分割为第三预设值个待加密数据段,获取第三预设值个待加密数据段对应的无符号二进制数;
确定所述无符号二进制数对应的十进制数为一元多项式的系数,以构建一个一元多项式;
获取第四预设值个预设输入值对应的所述一元多项式的函数值,将所有函数值分别存储到每个预设输入值对应的文件中,得到第四预设值个加密文件。
2.如权利要求1所述的方法,其特征在于,接收输入的待加密文件,将所述待加密文件平均分割为第一预设值大小的多个待加密数据块的步骤之前,所述方法还包括:
根据所述第一预设值和所述第三预设值确定一个素数;
获取第四预设值个预设输入值对应的所述一元多项式的函数值的步骤之后,将所有函数值分别存储到每个预设输入值对应的文件中的步骤之前,所述方法还包括下述步骤:
对所有所述对应的所述一元多项式的函数值对所述素数进行取模运算;
将所有函数值分别存储到每个预设输入值对应的文件中的步骤具体包括:
将所有取模运算后的函数值分别存储到每个预设输入值对应的文件中。
3.如权利要求2所述的方法,其特征在于,接收输入的待加密文件,将所述待加密文件平均分割为第一预设值大小的多个待加密数据块的步骤之前,所述方法还包括:
获取所述素数对应的二进制位数的有效位数;
将所述有效位数对8进行整除运算,确定所述整除运算结果为函数值存储时该函数值对应二制数中低位数据连续存储的比特数;
将所有取模运算后的函数值分别存储到每个预设输入值对应的文件中的步骤具体包括:
获取取模运算后的函数值对应的二进制数,所述二进制数的位数为所述有效位数;
将所述二进制数中位数为所述比特数的低位数据以及所述二进制数中的剩余数据分别缓存到每个预设输入值对应的缓存中;
对每一个接收的待加密数据块进行分割加密操作之后,从所述多个加密文件中选择预设位置的一个文件的步骤之前,所述方法还包括:
将每个预设输入值对应的缓存中缓存的所有所述二进制数中位数为所述比特数的低位数据依次存储到每个预设输入值对应的文件,并将所述每个预设输入值对应的缓存中缓存的所有剩余数据依次拼接为字节,存储到所述预设输入值对应的文件。
4.如权利要求1所述的方法,其特征在于,所述接收输入的待加密文件的步骤之后,将所述待加密文件平均分割为预设大小的多个待加密数据块的步骤之前,所述方法还包括:
在所述待加密文件的末尾进行数据填充,填充的数据大小为所述第一预设值减去所述待加密文件大小对所述第一预设值取模的值,填充的数据内容为所述第一预设值减去所述待加密文件大小对所述第一预设值取模的值。
5.一种数据加密系统,其特征在于,所述系统包括:
文件分割单元,用于接收输入的待加密文件,将所述待加密文件平均分割为第一预设值大小的多个待加密数据块;
分割加密单元,用于依次接收所述待加密数据块,通过预设的秘密共享算法对每一个接收的待加密数据块进行分割加密操作,得到多个加密文件;
文件选择单元,用于对每一个接收的待加密数据块进行分割加密操作之后,从所述多个加密文件中选择预设位置的一个文件;
文件确定单元,用于当所述选择的文件的大小大于第二预设值时,将所述选择的文件确定为输入的待加密文件,跳转至接收输入的待加密文件,将所述待加密文件平均分割为多个待加密数据块的步骤;以及
密钥确定单元,用于当所述选择的文件的大小不大于第二预设值时,确定所述选择的文件为解密密钥;
所述分割加密单元包括:
第一二进制数获取单元,用于将待加密数据块平均分割为第三预设值个待加密数据段,获取所述第三预设值个待加密数据段对应的无符号二进制数;
多项式构建单元,用于确定所述无符号二进制数对应的十进制数为一元多项式的系数,以构建一个一元多项式;以及
加密文件得到单元,用于获取第四预设值个预设输入值对应的所述一元多项式的函数值,将所有函数值分别存储到每个预设输入值对应的文件中,得到第四预设值个加密文件。
6.如权利要求5所述的系统,其特征在于,所述系统还包括:
素数确定单元,用于根据所述第一预设值和所述第三预设值确定一个素数;
取模运算单元,用于对所有所述对应的所述一元多项式的函数值对所述素数进行取模运算;
所述加密文件得到单元包括:
存储子单元,用于将所有取模运算后的函数值分别存储到每个预设输入值对应的文件中。
7.如权利要求6所述的系统,其特征在于,所述系统还包括:
有效位数获取单元,用于获取所述素数对应的二进制位数的有效位数;
比特数确定单元,用于将所述有效位数对8进行整除运算,确定所述整除运算结果为函数值存储时该函数值对应二制数中低位数据连续存储的比特数;
所述存储子单元具体包括:
第二二进制数获取单元,用于获取取模运算后的函数值对应的二进制数,所述二进制数的位数为所述有效位数;
缓存单元,用于将所述二进制数中位数为所述比特数的低位数据以及所述二进制数中的剩余数据分别缓存到每个预设输入值对应的缓存中;
所述系统进一步包括:
存储单元,用于将每个预设输入值对应的缓存中缓存的所有所述二进制数中位数为所述比特数的低位数据依次存储到每个预设输入值对应的文件,并将所述每个预设输入值对应的缓存中缓存的所有剩余数据依次拼接为字节,存储到所述预设输入值对应的文件。
8.如权利要求5所述的系统,所述系统还包括:
数据填充单元,用于在所述待加密文件的末尾进行数据填充,填充的数据大小为所述第一预设值减去所述待加密文件大小对所述第一预设值取模的值,填充的数据内容为所述第一预设值减去所述待加密文件大小对所述第一预设值取模的值。
CN201210141543.6A 2012-05-09 2012-05-09 一种数据加密方法及系统 Expired - Fee Related CN102693398B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210141543.6A CN102693398B (zh) 2012-05-09 2012-05-09 一种数据加密方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210141543.6A CN102693398B (zh) 2012-05-09 2012-05-09 一种数据加密方法及系统

Publications (2)

Publication Number Publication Date
CN102693398A CN102693398A (zh) 2012-09-26
CN102693398B true CN102693398B (zh) 2015-04-01

Family

ID=46858823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210141543.6A Expired - Fee Related CN102693398B (zh) 2012-05-09 2012-05-09 一种数据加密方法及系统

Country Status (1)

Country Link
CN (1) CN102693398B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778312A (zh) * 2016-12-29 2017-05-31 昆明微图科技有限公司 文件加解密系统的加解密方法

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103118089A (zh) * 2013-01-22 2013-05-22 华中科技大学 一种基于多个云存储系统的安全存储方法及其系统
CN103414682B (zh) * 2013-04-07 2016-08-17 深圳大学 一种数据的云端存储方法及系统
CN104182697B (zh) * 2014-08-15 2017-07-28 小米科技有限责任公司 文件加密方法和装置
CN105809066B (zh) * 2014-12-29 2019-02-01 深圳Tcl数字技术有限公司 加密数据的存储方法及终端
CN104657677A (zh) * 2015-03-05 2015-05-27 北京安普诺信息技术有限公司 一种基于交换数据流的文件标密方法
CN104821879B (zh) * 2015-04-08 2018-04-10 中国南方电网有限责任公司电网技术研究中心 一种电力系统数据调动中的加密方法
CN104767622B (zh) * 2015-04-20 2018-08-14 努比亚技术有限公司 加密方法及装置
WO2016175334A1 (ja) * 2015-04-30 2016-11-03 真旭 徳山 端末装置およびコンピュータプログラム
CN105893857A (zh) * 2016-03-31 2016-08-24 北京金山安全软件有限公司 一种文件加密方法、装置及设备
WO2018086120A1 (zh) * 2016-11-14 2018-05-17 北京大学深圳研究生院 一种文件安全存取方法、终端设备及专用存储装置
CN107197037B (zh) * 2017-02-24 2018-02-02 重庆第二师范学院 一种基于云服务器的具有审计功能的数据存取方法及系统
CN107861892B (zh) * 2017-09-26 2021-08-03 大唐微电子技术有限公司 一种实现数据处理的方法及终端
CN107977581A (zh) * 2017-11-06 2018-05-01 北京明华联盟科技有限公司 数据处理方法、装置及计算机可读存储介质
CN110062034B (zh) * 2019-04-01 2021-11-12 中科天御(苏州)科技有限公司 一种区块链大文件安全存储方法及系统
CN112242970B (zh) * 2019-07-16 2022-09-02 丁爱民 一种数据分割加密安全加固方法及装置
CN111159731B (zh) * 2019-12-16 2023-08-08 合肥大唐存储科技有限公司 一种密码设备和数据处理方法
CN111953727B (zh) * 2020-05-06 2024-08-02 上海明略人工智能(集团)有限公司 音频传输方法和装置
CN112073372B (zh) * 2020-08-04 2023-06-27 南京国电南自维美德自动化有限公司 一种电力系统通信报文双重加密方法、解密方法和报文交互系统
CN112306412A (zh) * 2020-10-30 2021-02-02 广东小天才科技有限公司 基于Ubifs系统的加密、解密方法、设备和介质
CN114553888B (zh) * 2022-01-24 2024-04-05 浙江数秦科技有限公司 一种适于区块链的低网络占用数据传输方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101605148A (zh) * 2009-05-21 2009-12-16 何吴迪 云存储的并行系统的架构方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101605148A (zh) * 2009-05-21 2009-12-16 何吴迪 云存储的并行系统的架构方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A Fast(k,L,n)-Threshold Ramp Secret Sharing Scheme;Jun KURIHARA等;《IEICE Transactions on Fundamentals of Electronics, Communications and Computer Science》;20090801;第1808-1821页 *
一种多重加密的算法及其实现方案;姚旭罡等;《通信技术》;20030630(第6期);第95-96页 *
一种数据安全存放的算法;顾剑;《海南大学学报自然科学版》;20010930;第19卷(第3期);第229-232页 *
基于密钥分解理论的文件安全分割算法;范园利等;《计算机工程与设计》;20080131;第29卷(第2期);第315-322页 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778312A (zh) * 2016-12-29 2017-05-31 昆明微图科技有限公司 文件加解密系统的加解密方法

Also Published As

Publication number Publication date
CN102693398A (zh) 2012-09-26

Similar Documents

Publication Publication Date Title
CN102693398B (zh) 一种数据加密方法及系统
US9037870B1 (en) Method and system for providing a rotating key encrypted file system
CN106209739A (zh) 云存储方法及系统
CN103414682A (zh) 一种数据的云端存储方法及系统
US10476669B2 (en) Polymorphic encryption key matrices
US20210028935A1 (en) High speed encryption key generating engine
CN104809407A (zh) 云存储前端数据加解密及校验方法和系统
RU2666281C2 (ru) Электронное устройство блочного шифрования, подходящее для обфускации
CN104205117A (zh) 设备文件的加解密方法及装置
CN102306262A (zh) 数据加密方法及数据加密系统
CN111310222A (zh) 文件加密方法
CN110505054B (zh) 一种基于动态白盒的数据处理方法、装置及设备
CN113282949B (zh) 数据加密方法、数据解密方法、装置及电力数据交互系统
US9735954B2 (en) Polymorphic encryption key allocation scheme
CN106936820A (zh) 数据变长修改方法及其在大数据加密中的应用
US20180123789A1 (en) Apparatus and method for generating a key in a programmable hardware module
CN103414552A (zh) 一种利用二叉树遍历方式进行加密、解密方法及装置
CN117318943B (zh) 一种量子分布式数据存储及恢复方法
CN102480353A (zh) 口令认证和密钥保护的方法
CN117932678A (zh) 隐私数据存储方法、读取方法、装置和计算机设备
CN111798236A (zh) 交易数据加、解密方法、装置及设备
CN117955968A (zh) 一种文件传输方法、装置、电子设备和存储介质
WO2018011825A1 (en) Encryption and decryption of messages
CA2592675A1 (en) Communication system and communication method
KR101595056B1 (ko) 인터클라우드 환경에서의 데이터 공유 시스템 및 공유 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150401

CF01 Termination of patent right due to non-payment of annual fee