一种基于双随机数的数据文件加密方法及系统的制作方法_2

文档序号:9931091阅读:来源:国知局
再基于原始的随机数调整Yn,令Yn = YnXUn,其中Un是比例函数,令调整后的2Yn =L1 ;
[0043]解密端单元,用于使用时合成敏感数据和主体数据得到原始的数据文件。
[0044] 而且,所述数据文件的分割操作在文件层进行,以数据位为单位进行分割操作。
[0045] 而且,由物理性随机数发生器或随机数函数产生。
[0046] 而且,双随机数序列{Xn,Yn}由两个不同的随机数函数或一个随机数函数的两组 不同参数生成。
[0047]而且,对数据文件分组为均匀分组或不均匀分组或随机分组;对各单元抽取的数 据量Yn进行调整,计算Yn = YnXUn时,采用均勾调整或不均勾调整。
[0048]基于双随机数的新加密机理可以采用大数据量的密钥,而且基本加解密过程在用 户端,不增加服务器系统负载,这种新加密机理可以提高云存储系统的数据安全,增强用户 数据的私密性。本发明中,由于数据文件被分割为两部分:密文和密钥,提取一定比例的敏 感数据作为密钥,来达到加密的效果。这样做的好处在于:
[0049] 本发明的密钥的位置信息由上随机数序列确定,只要这两个序列选取合适,该位 置信息具有较好的安全性,有利于整个加密方法的安全性。
[0050] 由于随机数序列的混沌特性,不同文件的密钥位置信息不具有互相参考性,同一 个文件不同单元的密钥位置信息也没有参考价值,所以密钥之间的关联度很小,抗暴力破 解能力很强。
[0051] 由于基本的加解密过程都是在用户端实施,不会增加云计算系统的负载,在需要 处理海量数据的云计算系统中,这一点就很有优势,不会因为需要增强隐私保护而增加系 统成本。
【附图说明】
[0052]图1为本发明实施例的原理图。
【具体实施方式】
[0053]下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
[0054]本发明考虑到当前互联网技术进步很快,家庭和办公的带宽都很好,4M及以上的 带宽很普遍。因此,本发明实施例提出一种基于双随机数的数据文件加密技术,是根据双随 机数的数据间无关性特点,将原始文件分割成敏感数据和主体数据,敏感数据构成密钥,主 体数据经过补充处理形成密文,两组数据可以通过不同的方式存储,在使用时再做数据合 成,解密成原始文件。区别于传统加密算法密钥多由随机数本身或其他与待加密明文本质 上毫无关联的数据经过一定的算法所产生,该技术的密钥本身包含待加密明文的一部分。 利用双随机数把数据文件切割成两部分一一密文和密钥后,其中,密钥占比较小,占总数据 量的1%到10%不等,密文占总数据量的90%以上。其中,密文可以存储在公有云的云端服 务器(或本地或其他存储设备),密钥可以存储在经过授权的第三方密钥服务器或用户本 地。在云计算系统中,公有云的云端服务器只拥有用户上传的密文部分,无法获取完整的文 件数据,第三方密钥服务器只拥有密钥部分,同样也无法获得完整的数据文件。这样,任何 一个云计算系统都无法单独获得用户的数据。在系统实现时,基本的加密和解密过程都是 在用户端实施的,不会增加云计算系统负担。这样就在不增加系统负载的情况下,保护用户 数据隐私;用户或其他授权对象可以通过密钥来解密密文,获得明文。
[0055]本发明的核心是:首先确定双随机数序列{Xn,Yn}和抽取比例k%;再把原始待加 密数据文件分成若干组成部分(称为单元);在每个单元,Xn用来确定抽取密钥数据的起始 位置,Yn用来确定抽取密钥数据的长度;
[0056] Yn是根据原始的随机数调整后得到,以匹配总的抽取比例;调整方法如下:
[0057]首先把各个原始的随机数Yn合并计算出总数据量L= 2 Yn,再根据文件大小M和抽 取比例k%去计算应该抽取的数量11(11=1^1^),再调整¥11:令¥11 = ¥11\1]11,其中1]11是比 例函数,只要调整后的SYn = Ll既可,等式左边Yn为调整前原始的随机数,等式右边Yn为根 据原始的随机数调整后得到的结果。例如,Un = Ll/L,具体实施时也可以预设为其他具体函 数。
[0058] 按照上述方法抽取出来的数据,包括两个随机数序列,作为原始待加密明文的密 钥;而将待加密明文中剩余的那些数据,经过一定处理(如数据填充以保证文件的完整性) 后作为密文。解密时,授权用户可以获得密钥,和密文合成后还原成原始数据文件。
[0059] 进一步地,所述数据文件包括软件可以处理的所有数据文件类型。
[0060] 进一步地,所述数据文件的分割操作在文件层进行,以数据位为单位进行分割操 作,操作依据是由双随机数和抽取比例联合确定的数据位范围。
[0061] 进一步地,上述的随机数为物理性随机数发生器产生的随机数或软件产生的伪随 机数。
[0062]进一步地,上述的软件产生伪随机数的随机数函数包括所有到目前为止已经公开 发表或定义的随机数生成函数。
[0063] 进一步地,上述双随机数序列根据两个不同的随机数函数或一个随机数函数的两 组不同参数生成。
[0064] 进一步地,上述的数据文件分组可以是均匀分组,也可以是不均匀分组或随机分 组。
[0065]进一步地,上述的各单元抽取的数据量Yn可以均勾调整(各个单元的比例一样), 也可以不均匀调整(各个单元的比例不一样),可以相应灵活地设置比例函数Un。
[0066] 具体实施时,本发明所提供方法可基于软件技术实现自动运行,也可采用模块化 方式实现相应系统。
[0067] 本发明相应提供一种基于双随机数的数据文件加密系统,包括加密端单元和解密 端单元,
[0068] 所述加密端单元,用于根据双随机数的数据间无关性特点,将原始的数据文件分 割成敏感数据和主体数据,敏感数据构成密钥,主体数据经过补充处理形成密文,两组数据 通过不同的方式存储,
[0069] 将原始文件分割成敏感数据和主体数据的实现方式为,首先确定双随机数序列 {Xn,Yn}和抽取比例k%,再把原始待加密的数据文件分组得到若干单元;在每个单元,根据 Xn确定抽取密钥数据的起始位置,根据Yn确定抽取密钥数据的长度;
[0070] 其中,Yn是根据原始的随机数调整后得到,以匹配总的抽取比例;调整方法如下,
[0071] 首先,把各个原始的随机数Yn合并计算出总数据量L = 5: Yn,根据文件大小M和抽 取比例k%计算应该抽取的数量Ll,Ll=MXk%;
[0072] 再基于原始的随机数调整Yn,令Yn = YnXUn,其中Un是比例函数,令调整后的2Yn =L1 ;
[0073] 解密端单元,用于使用时合成敏感数据和主体数据得到原始的数据文件。
[0074] 下面举一具体实施例来说明本发明的用于数据文件的加密方法的实现过程:
[0075]具体来说,将一个JPG图片文件当做一个普通的数据文件来处理。利用一维 Logistic映射的伪随机数生成函数,产生两个伪随机数,因为随机数函数产生的随机数序 列都是小数,用这些伪随机数,经过放大取整,就可以得到两个整数序列,即得到随机数Xn 和原始的随机数Yn,其中原始的随机数Yn经调整,随机数Xn无需调整,最终得到用来定位抽 取密钥信息位的Xn和Yn两个随机数序列。
[0076] 通过Xn和Yn定位密钥信息位,调用相应的文件操作接口函数,抽取出密钥部分的 信息,把这个数据文件按照一定比例分成一大一小两个文件。小的部分是该数据文件的密 钥,一般存放在专门的密钥管理服务器端,对于经过服务器认证的合法用户,可以通过网络 将密钥发送给用户。大的部分(密文)通常可以存放在云端服务器或用户制定的存储设备 上。
[0077]例如原始图片文件的为一个JPG文件,文件大小为10MB,按照5 %抽取密钥。这样, 密钥部分的大小为500KB左右,密文部分的大小为9.5MB。
[0078] 参见图1,本发明实施例的实施过程如下:
[0079] 密钥加密后存放在专门的密钥管理服务器上,等待用户申请,传输给目标用户,密 文部分数据存放在用户定制的存储设备上,通过普通网络来调用。抽取了密钥后,使得该图 片无法识别,从而达到对该数据文件的加密效果。
[0080] 授权用户使用联网的手机APP来使用这个数据文件。
[0081]当他开始打开该数据文件时,手机APP会向密钥管理服务器申请该文件的密钥,只 要该用户有合法的权限,他就可以得到密钥(敏感数据,经由安全网络传输,由服务器端下 载至手机)。
[0082] 手机APP将密钥和其他途径得到的密文解密并合成,这样就可以恢复该数据文件, 该用户就可以合法地完整使用这个文件了。
[0083] 为便于实施参考起见,提供相关技术具体介绍如下:
[0084] -、随机数
[0085]在统计学的不同技术中需要使用随机数,比如在从统计总体中抽取有代表性的样 本的时候,或者在将实验动物分配到不同的试验组的过程中,或者在进行蒙特卡罗模拟法 计算的时候等等。
[0086]产生随机数有多种不同的方法。这些方法被称为随机数发生器。随机数最重要的 特性是:它所产生的后面的那个数与前面的那个数毫无关系。
[0087]真正的随机数是使用物理现象产生的:比如掷钱币、骰子、转轮、使用电子元件的 噪音、核裂变等等。这样的随机数发生器叫做物理性随机
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1