计算机加解密的主要方法,一种计算机存储器的加密方法和解密方法技术

本发明专利技术公开了一种计算机存储器的加密和解密方法,加密包括步骤:1、将需要加密的数据划分为多个数据块;2、对每个数据小块进行hash运算,对得到的结果做加密运算,得到数据块对应的中间变量(标记为PAD);3、判断要写入的数据的地址是否非易失性存储器中频繁写的热区;4、将热区数据块的PAD值放在缓存中;5、通过把数据块的内容与其对应的PAD值做异或运算得到加密后的数据;解密包括步骤:1、读取要解密的数据块;2、判断要读取的数据块是否为热区数据,如是,热区数据则从缓存里读取其对应的中间变量(PAD);否则,按加密过程的方法,计算PAD值;3、通过把数据块的内容与其对应的PAD值做异或运算得到最初的数据。本发明专利技术具有如下的优点:实现了系统功耗的节约,降低系统时延。

【技术实现步骤摘要】

本专利技术属于计算机存储安全

,具体涉及一种非易失存储器的加密方法和解密方法。

技术介绍

非易失性存储器(Non Volatile Memory)是最有前景取代传统存储器件(比如SRAM和DRAM)的存储媒介,它有着集成度高、漏电功耗低、访问速度快、非易失等特性,并已开始替代传统的DRAM存储器应用在移动设备系统中。虽然非易失性存储器比DRAM的寿命要持久、漏电功耗低,但它的非易失特性使得其很容易受到外围恶意程序的攻击。非易失性存储器在断电后数据仍然保存,针对非易失性存储器的一个很典型的攻击就是物理攻击,攻击者很容易获取存储器里面的用户机密信息,这就为非易失性存储器在移动系统中的使用带来了很大的挑战。近年来非易失性存储器得到学术界和工业界的广泛关注,研究人员针对其性能改进做了大量优化工作,未来非易失性存储器将在存储器领域中占据主要角色,而存储数据的安全性便成为人们关注的要点。智能手机等移动设备日益普及,大量的用户私密信息存储在设备里,存储信息的安全性急待解决。提高移动设备的数据安全性尤为重要。针对非易失性存储器在移动系统中的安全性研究已经展开,S.Chhabra and D.Solihin, “1-nvmm: a securenon-volatile main memory system with incremental encrypt1n,,,The 38th AnnualInternat1nal Symposium on in Computer Architecture (ISCA), pp.177 - 188, IEEE,2011 (S.Chhabra and D.Solihin, 1-nvmm: —种基于增量加密的安全非易失内存系统,第38借计算机系统结构国际研讨会2011,第177-188页)于2011年提出名为i_NVMM的基于AES的加密算法。该技术采用AES算法加密在NVM的冷区数据,在结束应用程序是菜加密所有的数据。虽然1-NVMM加密技术能最小化延迟和能量开销,而比冷区数据更敏感的热区数据却不受保护,存在很大的安全隐患。J.Kong and H.Zhou, “Improving privacy andlifetime of pcm-based main memory, ”Internat1nal Conference on Dependable Systems and Networks (DSN), pp.333 - 342,IEEE, 2010( J.Kong and H.Zhou,改善基于相变存储器内存的私密性和寿命,可靠性系统和网络的国际会议2010,第333-342页)介绍一个基于counter-mode XOR加密技术,为每个内存数据块计算crypto-PAD代替直接与AES加密数据,然而该算法却增加存储代价。目前,现有技术并没有考虑到移动系统中数据的访存和数据特性,主要采用直接加密算法或者加密部分数据,但降低了系统的整体性能,如增加了功耗和增加了时延。

技术实现思路

本专利技术所要解决的技术问题是从操作系统中资源管理的层面,提供一种计算机存储器的加密方法,它能降低存储器数据加密所需的功耗;相应地,还提供一种计算机存储器的解密方法,它降低系统的时延,保证系统快速响应。要解决上述技术问题,本专利技术提供的一种计算机存储器的加密方法,包括有以下步骤: 步骤1、将需要加密的数据划分为多个数据块; 步骤2、对每个数据小块进行hash运算,对得到的结果做加密运算,得到数据块对应的中间变量值(记为PAD值); 步骤3、判断要写入的数据的地址是否非易失性存储器中频繁写的热区; 步骤4、将热区数据块的PAD值放在缓存中; 步骤5、通过把数据块的内容与其对应的PAD值做异或运算得到加密后的数据; 步骤6、将加密后的数据写入非易失性存储器的存储单元。本专利技术还提供的一种计算机存储器的解密方法,包括有以下步骤: 步骤1、读取要解密的数据块; 步骤2、判断要读取的数据块是否为热区数据,如是,热区数据则从缓存里读取其对应的PAD值;否则,按加密过程的方法,去重新计算PAD值; 步骤3、通过把数据块的内容与其对应的PAD值做异或运算得到最初的数据。由于本专利技术的加密方法通过步骤4不断地把属于热区的数据块的PAD值缓存起来,避免了大量解密过程中PAD值的重计算操作,从而降低了系统功耗,延长了系统电池的寿命。由于本专利技术提出的加密算法的解密过程在步骤2中获取PAD值时,与非易失性存储器访问数据能并行执行,减少了系统解密的时间,缩短系统响应的时延。本专利技术具有如下的优点:避免了频繁被写的热区数据块PAD值的重计算操作,实现了系统功耗的节约;另外,PAD值的获取与数据块的访问可以并行执行,实现了系统时延的降低即延长设备的寿命,能保证系统快速响应。【附图说明】本专利技术的【附图说明】如下: 图1为本专利技术数据加密的流程图; 图2为本专利技术数据解密的流程图; 图3本专利技术的数据存储状态示意图。【具体实施方式】下面结合附图和实施例对本专利技术作进一步说明: 如图1所示,本专利技术的数据加密流程如下:程序开始于步骤101; 在步骤102,根据具体应用程序,初始化热区的起始逻辑地址、热区长度,保存热区起始物理地址的初始化; 在步骤103,数据分块,将要写入的数据分成大小相同的块,数据块可以设置为不同的大小尺寸,比如 128Bits,256Bits,512Bits,1024Bits 等; 在步骤104,判定要写入的数据块是否完成全部加密,若已完成,则执行步骤112,否则,执行步骤105 ; 在步骤105,对将要写入的数据块采用目前最广泛使用的hash算法SHA (Secure HashAlgorithm,译作安全杂凑算法),得到hash操作的输出结果(记为Mid); Hash函数属于很成熟的信息安全领域的加密算法,“An Overview of IncrementalHash Funct1n Based on Pair Block Chaining,,.Yunling, S., & Xianghua, M.1nformat1n Technology and Applicat1ns, (2010),Internat1nal Forum on (Vol.3,pp.332-335).1EEE.(“一个基于双块连接的增量hash函数综述”,Yunling, S.,&Xianghua, M,国际信息技术和应用研讨会2010,第332-335页)于2010年7月做了一个基于双链接的增量hash函数的综述,也就是对hash函数做了理论,有效性,安全和应用方面的整体分析。当前第1页1&nbsp2&nbsp本文档来自技高网...

【技术保护点】

一种计算机存储器的加密方法,其特征是,包括以下步骤:步骤1、将需要加密的数据划分为多个数据块;步骤2、对每个数据小块进行hash运算,对得到的结果做加密运算,得到数据块对应中间变量(标记为PAD值);步骤3、判断要写入的数据的地址是否非易失性存储器中频繁写的热区;步骤4、将热区数据块的对应存储的PAD值放在缓存中;步骤5、通过把数据块的内容与其计算得到的对应的PAD值做异或运算得到加密后的数据;步骤6、将加密后的数据写入非易失性存储器的存储单元。

【技术特征摘要】

...

【专利技术属性】

技术研发人员:刘铎,梁靓,罗先露,李阳,钟刊,

申请(专利权)人:重庆大学,

类型:发明

国别省市:重庆;85

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值