一种数据加密方法及系统的制作方法

文档序号:6369263阅读:139来源:国知局
专利名称:一种数据加密方法及系统的制作方法
技术领域
本发明属于计算机技术领域,尤其涉及ー种数据加密方法及系统。
背景技术
云存储(Cloud Storage)是在云计算(Cloud Computing)概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的ー个系统。随着云计算,云存储等产品的不断推出,对云中数据安全性的需求日渐突出,当数据被放入云中时数据将面临来自各个方面的安全威胁,主要表现在用户很难通过有效的技术手段保证云存储服务提供者(对用户存放数据的计算机绝对的控制权)不会非法获取 和使用用户存储的数据,其次,由于数据被存储在云存储设备中,与存放在用户个人计算机不同,一个用户的数据与另一个用户的数据可能紧密相邻,相邻用户可以通过各种方式来非法访问或窃取相邻用户的数据,另外,与传统的存储系统类似,云中的数据也会面临黑客的窃取。然而,现有技术无法提供一种有效的数据加密或存储方式来保证云存储中用户的数据安全,导致云存储中数据安全性不高,用户私密数据难以得到较好的保护,阻碍了云存储服务的进ー步发展。

发明内容
本发明实施例的目的在于提供ー种数据加密方法,g在解决由于现有技术无法提供一种有效的数据加密方式来保证云存储中用户的数据安全,导致云存储中数据安全性不高的问题。本发明实施例是这样实现的,ー种数据加密方法,所述方法包括下述步骤接收输入的待加密文件,将所述待加密文件平均分割为第一预设值大小的多个待加密数据块;依次接收所述待加密数据块,通过预设的秘密共享算法对每ー个接收的待加密数据块进行分割加密操作,得到多个加密文件;对每ー个接收的待加密数据块进行分割加密操作之后,从所述多个加密文件中选择预设位置的一个文件;当所述选择的文件的大小大于第二预设值时,将所述选择的文件确定为输入的待加密文件,跳转至接收输入的待加密文件,将所述待加密文件平均分割为多个待加密数据块的步骤;当所述选择的文件的大小不大于第二预设值时,确定所述选择的文件为解密密钥。本发明实施例的另一目的在于提供一种数据加密系统,所述系统包括文件分割単元,用于接收输入的待加密文件,将所述待加密文件平均分割为第一预设值大小的多个待加密数据块;分割加密单元,用于依次接收所述待加密数据块,通过预设的秘密共享算法对每一个接收的待加密数据块进行分割加密操作,得到多个加密文件;文件选择单元,用于对每一个接收的待加密数据块进行分割加密操作之后,从所述多个加密文件中选择预设位置的一个文件;文件确定单元,用于当所述选择的文件的大小大于第二预设值时,将所述选择的文件确定为输入的待加密文件,跳转至接收输入的待加密文件,将所述待加密文件平均分割为多个待加密数据块的步骤;以及 密钥确定单元,用于当所述选择的文件的大小不大于第二预设值时,确定所述选择的文件为解密密钥。本发明实施例通过接收输入的待加密文件,将待加密文件平均分割为第一预设值大小的多个待加密数据块,依次接收待加密数据块,通过预设的秘密共享算法对每ー个接收的待加密数据块进行分割加密操作,得到多个加密文件,对每ー个接收的待加密数据块进行分割加密操作之后,从多个加密文件中选择预设位置的ー个文件,当选择的文件的大小大于第二预设值吋,将选择的文件确定为输入的待加密文件,跳转至接收输入的待加密文件,将待加密文件平均分割为多个待加密数据块的步骤,当选择的文件的大小不大于第ニ预设值时,确定选择的文件为解密密钥,从而完成待加密数据的加密,本发明经过多次分割加密,毎次分割加密处理的数据量不断減少,获得的解密密钥可根据密钥存储装置容量、加密强度来进行设置,从而提高了待加密数据的安全性。


图I是本发明实施例一提供的数据加密方法的实现流程图;图2是本发明实施例ニ提供的数据加密方法的实现流程图;图3是本发明实施例三提供的数据加密方法的实现流程图;图4是本发明实施例四提供的数据加密系统的结构图;图5是本发明实施例五提供的数据加密系统的结构6是本发明实施例五提供的数据加密系统中分割加密单元的结构图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进ー步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。以下结合具体实施例对本发明的具体实现进行详细描述实施例一:图I示出了本发明实施例一提供的数据加密方法的实现流程,详述如下在步骤SlOl中,接收输入的待加密文件,将待加密文件平均分割为第一预设值大小的多个待加密数据块。在本发明实施例中,当接收到输入的待加密文件时,为了提高文件的加密速度,将待加密文件平均分割为第一预设值大小的多个待加密数据块,该预设值可以根据加密平台的硬件配置进行设置,可以为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中,依次接收待加密数据块,通过预设的秘密共享算法对每ー个接收的待加密数据块进行分割加密操作,得到多个加密文件。在本发明实施例中,步骤SlOl将待加密文件平均分割为第一预设值大小的多个待加密数据块后,依次接收待加密数据块,通过预设的秘密共享算法对每ー个接收的待加密数据块进行分割加密操作,得到多个加密文件,预设的秘密共享算法可以为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/Κ比特,则在(T/K+1)比特的长 度中可找到ー个素数,该素数大于每个数据段所对应的十进制数,从而可用于对所有一元多项式的函数值进行取模运算,将函数值取模后的大小也统一到该素数的范围内。在步骤S307中,将所有取模运算后的函数值分别存储到每个预设输入值对应的文件中,得到第四预设值个加密文件。在步骤S308中,对每ー个接收的待加密数据块进行分割加密操作之后,从所述第四预设值个加密文件中选择预设位置的ー个文件。在步骤S309中,判断选择的文件的大小是否大于第二预设值,是则执行步骤S310,否则执行步骤S311。在步骤S310中,将所述选择的文件确定为输入的待加密文件,跳转至步骤302。在步骤S311中,确定所述选择的文件为解密密钥。在本发明实施例中,对所有一元多项式的函数值进行取模运算后再保存到相应的文件中,从而方便了数据的处理和保存,防止保存过程中异常事件的发生,提高了数据加密过程的安全性和稳定性。在本发明的另ー实施例中,为了提高存储加密数据的装置的存储效率,可对一次待加密文件分割加密过程中一元多项式函数值对应的ニ进制数据进行拼接后再存储,具体地(I)在步骤S301和S302之间,当确定ー个素数后,获取所述素数对应的ニ进制位数的有效位数。在本发明实施例中,当根据步骤S301确定ー个素数后,获取所述素数对应的ニ进制位数的有效位数,即将所述素数对应的ニ进制位数高位为零的位数去棹。(2)将步骤(I)获取的有效位数对8进行整除运算,确定整除运算结果为函数值存储时该函数值对应ニ制数中低位数据连续存储的比特数。在本发明实施例中,由于数据存储时是以比特(Sbit)为单元进行存储,因此,在确定该素数对应ニ进制数位数的有效位数后,确定整除运算结果为函数值存储时该函数值对应ニ制数中低位数据连续存储的比特数,从而确定可连续存储的ニ进制低位数据,不够I比特的数据则进行拼接处理。在步骤S307中,将所有取模运算后的函数值分别存储到第四预设值个预设输入值对应的第四预设值个文件中的步骤具体包括A、获取取模运算后的函数值对应的ニ进制数,所述ニ进制数的位数为所述有效位数。在本发明实施例中,当步骤S306中对所有对应的一元多项式的函数值对素数进行取模运算后,所有取模运算后的函数值对应的ニ进制数的有效位数必然少于该素数的有效位数,为了方便处理,在这里将函数值的有效位数统ー为素数的有效位数。B、将所述ニ进制数中位数为所述比特数的低位数据以及所述ニ进制数中的剰余数据分别缓存到每个预设输入值对应的缓存中。在本发明实施例中,将取模运算后一元多项式函数值对应的ニ进制数中有效位数的低位连续比特数据以及该ニ进制数中不足I比特的数据分别进行缓存,从而,在步骤S308对每ー个接收的待加密数据块进 行分割加密操作之后,从所述多个加密文件中选择预设位置的一个文件的步骤之前,将每个预设输入值对应的缓存中缓存的所有ニ进制数中位数为前述步骤(2)中比特数的低位数据依次存储到每个预 设输入值对应的文件,然后,将每个预设输入值对应的缓存中缓存的所有剰余数据依次拼接为字节,存储到预设输入值对应的文件。在本发明实施例中,当分割加密得到的加密数据(一元多项式函数值)存储到每个预设输入值对应的文件时,只存储其统ー后的有效位数,具体地,先将一元多项式函数值对应的ニ进制数中位数为比特数的低位数据以及ニ进制数中的剰余数据分别缓存到每个预设输入值对应的缓存中,当完成一次待加密数据块的分割加密操作之后,将每个预设输入值对应的缓存中缓存的所有ニ进制数中位数为比特数的低位数据依次存储到每个预设输入值对应的文件,将每个预设输入值对应的缓存中缓存的所有剰余数据依次拼接为字节,存储到预设输入值对应的文件,从而在一定程度上提高了存储设备的利用率。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于ー计算机可读取存储介质中,所述的存储介质,如R0M/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具体包括第二ニ进制数获取单元,用于获取取模运算后的函数值对应的ニ进制数,所述ニ进制数的位数为所述有效位数;以及缓存单元,用于将所述ニ进制数中位数为所述比特数的低位数据以及所述ニ进制数中的剰余数据分别缓存到每个预设输入值对应的缓存中。在本发明实施例中,数据加密系统各单元的实施方式与实施例中三各步骤对应相同,在此不赘述。本发明实施例接收输入的待加密文件,将待加密文件平均分割为第一预设值大小的多个待加密数据块,依次接收待加密数据块,通过预设的秘密共享算法对每ー个接收的待加密数据块进行分割加密操作,得到多个加密文件,当分割后的文件的大小大于第二预设值时,进行多次迭代分割直至不大于第二预设值,进而确定其中的ー个文件为解密密钥,从而完成待加密数据的加密,简化了待加密文件的加密过程,并且本发明实施例可根据存储密钥的物理载体容量和安全性要求获取合适大小的密钥,提高了密钥的安全性。当分割加密得到的加密数据(一元多项式函数值)存储到预设输入值对应的文件时,先将一元多项式函数值对应的ニ进制数中位数为比特数的低位数据以及ニ进制数中的剰余数据分别缓存到每个预设输入值对应的缓存中,当完成一次待加密数据块的分割加密操作之后,将每个预设输入值对应的缓存中缓存的所有ニ进制数中位数为比特数的低位数据依次存储到每个预设输入值对应的文件,将每个预设输入值对应的缓存中缓存的所有剰余数据依次拼 接为字节,存储到预设输入值对应的文件,从而在一定程度上提高了存储设备的利用率。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.ー种数据加密方法,其特征在于,所述方法包括下述步骤 接收输入的待加密文件,将所述待加密文件平均分割为第一预设值大小的多个待加密数据块; 依次接收所述待加密数据块,通过预设的秘密共享算法对每ー个接收的待加密数据块进行分割加密操作,得到多个加密文件; 对每ー个接收的待加密数据块进行分割加密操作之后,从所述多个加密文件中选择预设位置的一个文件; 当所述选择的文件的大小大于第二预设值时,将所述选择的文件确定为输入的待加密文件,跳转至接收输入的待加密文件,将所述待加密文件平均分割为多个待加密数据块的步骤; 当所述选择的文件的大小不大于第二预设值时,确定所述选择的文件为解密密钥。
2.如权利要求I所述的方法,其特征在于,所述通过预设的秘密共享算法对每ー个接收的待加密数据块进行分割加密操作的步骤包括下述步骤 将待加密数据块平均分割为第三预设值个待加密数据段,获取第三预设值个待加密数据段对应的无符号ニ进制数; 确定所述无符号ニ进制数对应的十进制数为一元多项式的系数,以构建ー个一元多项式; 获取第四预设值个预设输入值对应的所述一元多项式的函数值,将所有函数值分别存储到每个预设输入值对应的文件中,得到第四预设值个加密文件。
3.如权利要求2所述的方法,其特征在于,接收输入的待加密文件,将所述待加密文件平均分割为第一预设值大小的多个待加密数据块的步骤之前,所述方法还包括 根据所述第一预设值和所述第三预设值确定ー个素数; 获取第四预设值个预设输入值对应的所述一元多项式的函数值的步骤之后,将所有函数值分别存储到每个预设输入值对应的文件中的步骤之前,所述方法还包括下述步骤 对所有所述对应的所述一元多项式的函数值对所述素数进行取模运算; 将所有函数值分别存储到每个预设输入值对应的文件中的步骤具体包括 将所有取模运算后的函数值分别存储到每个预设输入值对应的文件中。
4.如权利要求3所述的方法,其特征在于,接收输入的待加密文件,将所述待加密文件平均分割为第一预设值大小的多个待加密数据块的步骤之前,所述方法还包括 获取所述素数对应的ニ进制位数的有效位数; 将所述有效位数对8进行整除运算,确定所述整除运算结果为函数值存储时该函数值对应ニ制数中低位数据连续存储的比特数; 将所有取模运算后的函数值分别存储到每个预设输入值对应的文件中的步骤具体包括 获取取模运算后的函数值对应的ニ进制数,所述ニ进制数的位数为所述有效位数;将所述ニ进制数中位数为所述比特数的低位数据以及所述ニ进制数中的剰余数据分别缓存到每个预设输入值对应的缓存中; 对每ー个接收的待加密数据块进行分割加密操作之后,从所述多个加密文件中选择预设位置的一个文件的步骤之前,所述方法还包括将每个预设输入值对应的缓存中缓存的所有所述ニ进制数中位数为所述比特数的低位数据依次存储到每个预设输入值对应的文件,并将所述每个预设输入值对应的缓存中缓存的所有剰余数据依次拼接为字节,存储到所述预设输入值对应的文件。
5.如权利要求2所述的方法,其特征在于,所述接收输入的待加密文件的步骤之后,将所述待加密文件平均分割为预设大小的多个待加密数据块的步骤之前,所述方法还包括 在所述待加密文件的末尾进行数据填充,填充的数据大小为所述第一预设值减去所述待加密文件大小对所述第一预设值取模的值,填充的数据内容为所述第一预设值减去所述待加密文件大小对所述第一预设值取模的值。
6.一种数据加密系统,其特征在于,所述系统包括 文件分割単元,用于接收输入的待加密文件,将所述待加密文件平均分割为第一预设值大小的多个待加密数据块; 分割加密单元,用于依次接收所述待加密数据块,通过预设的秘密共享算法对每ー个接收的待加密数据块进行分割加密操作,得到多个加密文件; 文件选择单元,用于对每一个接收的待加密数据块进行分割加密操作之后,从所述多个加密文件中选择预设位置的一个文件; 文件确定单元,用于当所述选择的文件的大小大于第二预设值时,将所述选择的文件确定为输入的待加密文件,跳转至接收输入的待加密文件,将所述待加密文件平均分割为多个待加密数据块的步骤;以及 密钥确定单元,用于当所述选择的文件的大小不大于第二预设值时,确定所述选择的文件为解密密钥。
7.如权利要求6所述的系统,其特征在于,所述分割加密单元包括 第一ニ进制数获取单元,用于将待加密数据块平均分割为第三预设值个待加密数据段,获取所述第三预设值个待加密数据段对应的无符号ニ进制数; 多项式构建単元,用于确定所述无符号ニ进制数对应的十进制数为一元多项式的系数,以构建一个ー兀多项式;以及 加密文件得到単元,用于获取第四预设值个预设输入值对应的所述一元多项式的函数值,将所有函数值分别存储到每个预设输入值对应的文件中,得到第四预设值个加密文件。
8.如权利要求7所述的系统,其特征在于,所述系统还包括 素数确定单元,用于根据所述第一预设值和所述第三预设值确定ー个素数; 取模运算単元,用于对所有所述对应的所述一元多项式的函数值对所述素数进行取模运算; 所述加密文件得到单元包括 存储子単元,用于将所有取模运算后的函数值分别存储到每个预设输入值对应的文件中。
9.如权利要求8所述的系统,其特征在于,所述系统还包括 有效位数获取单元,用于获取所述素数对应的ニ进制位数的有效位数; 比特数确定单元,用于将所述有效位数对8进行整除运算,确定所述整除运算结果为函数值存储时该函数值对应ニ制数中低位数据连续存储的比特数; 所述存储子单元具体包括第二ニ进制数获取单元,用于获取取模运算后的函数值对应的ニ进制数,所述ニ进制数的位数为所述有效位数; 缓存单元,用于将所述ニ进制数中位数为所述比特数的低位数据以及所述ニ进制数中的剰余数据分别缓存到每个预设输入值对应的缓存中; 所述系统进ー步包括 存储单元,用于将每个预设输入值对应的缓存中缓存的所有所述ニ进制数中位数为所述比特数的低位数据依次存储到每个预设输入值对应的文件,并将所述每个预设输入值对应的缓存中缓存的所有剰余数据依次拼接为字节,存储到所述预设输入值对应的文件。
10.如权利要求7所述的系统,所述系统还包括 数据填充単元,用于在所述待加密文件的末尾进行数据填充,填充的数据大小为所述第一预设值减去所述待加密文件大小对所述第一预设值取模的值,填充的数据内容为所述第一预设值减去所述待加密文件大小对所述第一预设值取模的值。
全文摘要
本发明适用于计算机技术领域,提供了一种数据加密方法及系统,包括接收输入的待加密文件,将待加密文件平均分割为第一预设值大小的多个待加密数据块;依次接收待加密数据块,通过预设的秘密共享算法对每一个接收的待加密数据块进行分割加密操作,得到多个加密文件,对每一个接收的待加密数据块进行分割加密操作之后,从多个加密文件中选择预设位置的一个文件,当选择的文件的大小大于第二预设值时,将选择的文件确定为输入的待加密文件,跳转至将待加密文件平均分割为多个待加密数据块的步骤,否则,确定选择的文件为解密密钥。本发明经过多次分割加密,获得预设大小范围内的解密密钥,从而提高了待加密数据的安全性。
文档编号G06F21/24GK102693398SQ20121014154
公开日2012年9月26日 申请日期2012年5月9日 优先权日2012年5月9日
发明者王博, 贾松松, 陈剑勇 申请人:深圳大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1