一种实现对称加密文件随机存储的方法和系统的制作方法

文档序号:9453387阅读:310来源:国知局
一种实现对称加密文件随机存储的方法和系统的制作方法
【技术领域】
[0001]本申请涉及数据处理领域,尤其涉及一种在智能设备中实现对称加密文件随机存储的方法和系统。
【背景技术】
[0002]目前,文件加密广泛采用了对称加密技术,尤其是AES(Advanced Encrypt1nStandard,高级加密标准)加密算法。AES算法最初是美国联邦政府采用的一种区块加密标准。现今这个标准已经被多方分析且广为全世界使用。该算法中,加密数据块分组长度必须为256比特(即一个窄块),使用最广泛的是带有输入反馈的算法,包括CBC (密码分组链接)、0FB (输出反馈)和CFB (密码反馈)三种模式。这三种运算模式的共同特点就是每个窄块的加密运算与前一个窄块的数据之间存在着关联,无法实现真正的随机访问。对一个窄块的数据解密操作会需要对前一个窄块的读取甚至是解密操作,而对一个窄块内容的修改操作则会需要从这个窄块开始的该文件所有剩余窄块重新进行加密操作,导致块存储设备的随机访问特点完全无从发挥。

【发明内容】

[0003]本发明的目标在于提供一种在智能设备中实现块加密文件随机访问的方法和系统。
[0004]本发明的目标由一种对称加密文件随机存储方法实现,该方法包括:
[0005]将文件内容分成多个宽块,宽块长度为Ik?256k字节;
[0006]将每一宽块内的数据作为一个整体进行加密和/或解密,从而实现以宽块为单位的随机存储。
[0007]本发明的目标还由一种在智能设备中实现对称加密文件随机存储的系统实现,该系统包括:
[0008]文件分块单元,用于将文件内容分成多个宽块,宽块长度为Ik?256k字节;
[0009]加密和/解密单元,用于将每一宽块内的数据作为一个整体进行加密和/或解密。
[0010]通过本发明的方法和系统,文件内容按照一个相对于窄块来说更大粒度的尺寸进行分块,即按宽块对文件进行分块,大大减小读取或写入操作时所读取或所写入的块数,有效地减少了文件内部数据之间的关联,提高了随机读写的效率。在文件加密提供了更高的安全性的同时,保持了较好的文件随机读写效率。
[0011]除非明确指出,在此所用的单数形式“一”、“该”均包括复数含义(即具有“至少一”的意思)。应当进一步理解,说明书中使用的术语“具有”、“包括”和/或“包含”表明存在所述的特征、步骤、操作、元件和/或部件,但不排除存在或增加一个或多个其他特征、步骤、操作、元件、部件和/或其组合。如在此所用的术语“和/或”包括一个或多个列举的相关项目的任何及所有组合。除非明确指出,在此公开的任何方法的步骤不必精确按照所公开的顺序执行。
【附图说明】
[0012]本发明将在下面参考附图并结合优选实施例进行更完全地说明。
[0013]图1为根据本发明方法的一实施例的流程图。
[0014]图2为根据本发明方法的另一实施例的流程图。
[0015]图3为根据本发明系统的一实施例的结构示意图。
[0016]图4为根据本发明系统的另一实施例的结构示意图。
[0017]为清晰起见,这些附图均为示意性及简化的图,它们只给出了对于理解本发明所必要的细节,而省略其他细节。
【具体实施方式】
[0018]通过下面给出的详细描述,本发明的适用范围将显而易见。然而,应当理解,在详细描述和具体例子表明本发明优选实施例的同时,它们仅为说明目的给出。
[0019]图1示出了在智能设备如计算机、智能手机等中实现对称加密文件随机存储的方法的一实施例,该方法开始于步骤S10,将文件内容分成长度为Ik?256k字节的多个宽块。宽块的长度具体可根据读写效率、内存分配、内核页操作效率等因素进行确定。在实施例中,宽块长度例如可以是lk、2k、4k、8k、16k、32k、64k、128k、256k等。例如对于32位Iinux系统,宽块长度可以是Ik?64k字节,优选4k字节。对于64位系统,宽块长度可以是4k?256k字节,优选64k字节。之后,处理进行到步骤S20,将每一宽块内的数据作为一个整体进行加密和/或解密。
[0020]通过将文件内容分为许多宽块并使每个宽块内的数据作为一个整体进行加解密,相关性被限制在文件宽块内部,宽块之间没有反馈,所以相互没有任何关联,从而实现以宽块为单位的随机存储。例如设AES加密算法的窄块长度为I字节,本发明中的宽块长度为L字节。按照本发明的方法,读取m字节的操作最多需要读取并解密(111+1^-1)/1个宽块,写入m字节的操作同样写入最多(m+L - 1)/L个宽块。而不采取本发明分块方式的现有技术块访问,写入m字节最坏情况可能会导致整个文件全部重写一遍。可见,上述方法大大提高了块加密文件的随机访问能力。
[0021]在实施例中,文件内容也可按非均匀宽度进行分块,例如按4k字节、8k字节交叉分块。
[0022]图2示出了实现对称加密文件随机存储的方法的另一实施例,除图1所示的步骤之外,该实施例在步骤SlO之后还包括步骤S15,通过例如Hash算法针对每一宽块计算独立的散列值,用于在解密时校验宽块内数据的有效性。在步骤S20对每一宽块进行加密的同时,相应散列值也被加密。解密时先进行解密运算,然后验证散列值,如果验证通过则解密成功。
[0023]图3示出了根据本发明的实现对称加密文件随机存储的系统的一实施例。该系统包括:文件分块单元10,用于将文件内容分成多个宽块,宽块长度为Ik?256k字节;加密和/解密单元20,用于将每一宽块内的数据作为一个整体进行加密和/或解密。
[0024]图4示出了本发明系统的另一实施例。除图3所示的单元之外,该系统还包括散列值赋予单元15,用于对每一宽块赋予其独立的散列值,从而在解密时校验宽块内数据的有效性。
[0025]—些优选实施例已经在前面进行了说明,但是应当强调的是,本发明不局限于这些实施例,而是可以本发明主题范围内的其它方式实现。
【主权项】
1.一种在智能设备中实现对称加密文件随机存储的方法,其特征在于,所述方法包括: 将文件内容分成多个宽块,宽块长度为Ik?256k字节; 将每一宽块内的数据作为一个整体进行加密和/或解密,从而实现以宽块为单位的随机存储。2.根据权利要求1所述的方法,其特征在于,所述宽块长度为Ik?64k字节。3.根据权利要求2所述的方法,其特征在于,所述宽块长度为4k字节。4.根据权利要求1所述的方法,其特征在于,所述宽块长度为4k?256k字节。5.根据权利要求4所述的方法,其特征在于,所述宽块长度为64k字节。6.根据权利要求1-5任一所述的方法,其特征在于,所述方法还包括: 使每一宽块具有独立的散列值,用于在解密时校验宽块内数据的有效性。7.—种在智能设备中实现对称加密文件随机存储的系统,其特征在于,所述系统包括: 文件分块单元,用于将文件内容分成多个宽块,宽块长度为Ik?256k字节; 加密和/解密单元,用于将每一宽块内的数据作为一个整体进行加密和/或解密。8.根据权利要求7所述的系统,其特征在于,所述宽块长度为Ik?64k字节。9.根据权利要求7所述的系统,其特征在于,所述宽块长度为4k?256k字节。10.根据权利要求8-9任一所述的系统,其特征在于,所述系统还包括: 散列值赋予单元,用于对每一宽块赋予其独立的散列值,用于在解密时校验宽块内数据的有效性。
【专利摘要】本发明公开了一种实现对称加密文件随机存储的方法和系统,其中所述方法包括:将文件内容分成多个宽块,宽块长度为1k~256k字节;将每一宽块内的数据作为一个整体进行加密和/或解密。本发明方法和系统有效地减少了文件内部数据之间的关联,提高了随机读写的效率,从而实现以宽块为单位的随机存储。
【IPC分类】G06F21/62
【公开号】CN105205411
【申请号】CN201510605352
【发明人】孙国峰
【申请人】北京元心科技有限公司
【公开日】2015年12月30日
【申请日】2015年9月21日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1