[发明专利]云计算环境中对存储文件的并行混沌加密方法有效

专利信息
申请号: 201410049833.7 申请日: 2014-02-13
公开(公告)号: CN103825699B 公开(公告)日: 2016-11-30
发明(设计)人: 杨庚;王欣宇;张欣晨;闵兆娥;屠袁飞;腾玮 申请(专利权)人: 南京邮电大学
主分类号: H04L9/00 分类号: H04L9/00;H04L29/08
代理公司: 南京经纬专利商标代理有限公司 32200 代理人: 叶连生
地址: 210003 江苏*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要: 云计算环境中对存储文件的并行混沌加密方法为数据文件的加密提供一种可并行的轻量级加密,属于信息安全领域。利用云计算环境的可并行计算机制,如MapReduce并行计算技术,结合混沌加密方法,通过对明文数据进行分组加密,最终实现对整个文件的加密,并上载到云计算环境的存储系统中。方法包含了加密系统初值计算、加密密钥序列计算和数据加密三个步骤。在加密系统初始化中,方法采用三维Lorenz混沌系统和Chen混沌系统生成用于加密的初值和干扰值;在计算加密密钥序列过程中,基于计算出的初始值和干扰值,通过Henon混沌映射和2维Logistic混沌映射的迭代运算,生成用于数据加密的密钥序列;在数据加密过程中,通过密钥序列与明文进行运算,最终实现对明文数据的加密。
搜索关键词: 计算 环境 存储 文件 并行 混沌 加密 方法
【主权项】:
一种云计算环境中对存储文件的并行混沌加密方法,其特征在于该方法包括以下步骤:步骤一:数据文件分块记数据文件即明文的长度为L,将明文分成n块,每一块的大小为li,i≤n,且要求li为4字节的整倍数,记为li=4N;这样前n‑1块为等长的数据块,第n块为剩余部分数据,即:<mrow><mtable><mtr><mtd><mrow><msub><mi>l</mi><mi>i</mi></msub><mo>=</mo><mn>4</mn><mi>N</mi></mrow></mtd><mtd><mrow><mo>(</mo><mi>i</mi><mo>&lt;</mo><mi>n</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>l</mi><mi>i</mi></msub><mo>=</mo><mi>L</mi><mo>-</mo><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>&CenterDot;</mo><mn>4</mn><mi>N</mi></mrow></mtd><mtd><mrow><mo>(</mo><mi>i</mi><mo>=</mo><mi>n</mi><mo>)</mo></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>步骤二:应用非线性混沌系统生成初始序列和干扰序列对于每一个分块,通过三维连续混沌系统Lorenz混沌映射和Chen混沌映射产生初值序列和干扰值序列,方法如下:Lorenz混沌映射方程为:<mrow><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mfrac><mrow><msub><mi>dx</mi><mn>1</mn></msub></mrow><mrow><mi>d</mi><mi>t</mi></mrow></mfrac><mo>=</mo><mi>p</mi><mrow><mo>(</mo><msub><mi>x</mi><mn>2</mn></msub><mo>-</mo><msub><mi>x</mi><mn>1</mn></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mfrac><mrow><msub><mi>dx</mi><mn>2</mn></msub></mrow><mrow><mi>d</mi><mi>t</mi></mrow></mfrac><mo>=</mo><mo>-</mo><msub><mi>x</mi><mn>1</mn></msub><msub><mi>x</mi><mn>3</mn></msub><mo>+</mo><msub><mi>rx</mi><mn>1</mn></msub><mo>-</mo><msub><mi>x</mi><mn>2</mn></msub></mrow></mtd></mtr><mtr><mtd><mrow><mfrac><mrow><msub><mi>dx</mi><mn>3</mn></msub></mrow><mrow><mi>d</mi><mi>t</mi></mrow></mfrac><mo>=</mo><msub><mi>x</mi><mn>2</mn></msub><msub><mi>x</mi><mn>1</mn></msub><mo>-</mo><msub><mi>tx</mi><mn>3</mn></msub></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>Chen混沌系统方程为:<mrow><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mfrac><mrow><msub><mi>dx</mi><mn>4</mn></msub></mrow><mrow><mi>d</mi><mi>t</mi></mrow></mfrac><mo>=</mo><mi>a</mi><mrow><mo>(</mo><msub><mi>x</mi><mn>5</mn></msub><mo>-</mo><msub><mi>x</mi><mn>4</mn></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mfrac><mrow><msub><mi>dx</mi><mn>5</mn></msub></mrow><mrow><mi>d</mi><mi>t</mi></mrow></mfrac><mo>=</mo><mrow><mo>(</mo><mi>c</mi><mo>-</mo><mi>a</mi><mo>)</mo></mrow><msub><mi>x</mi><mn>4</mn></msub><mo>-</mo><msub><mi>x</mi><mn>4</mn></msub><msub><mi>x</mi><mn>6</mn></msub><mo>+</mo><msub><mi>cx</mi><mn>5</mn></msub></mrow></mtd></mtr><mtr><mtd><mrow><mfrac><mrow><msub><mi>dx</mi><mn>6</mn></msub></mrow><mrow><mi>d</mi><mi>t</mi></mrow></mfrac><mo>=</mo><msub><mi>x</mi><mn>4</mn></msub><msub><mi>x</mi><mn>5</mn></msub><mo>-</mo><msub><mi>bx</mi><mn>6</mn></msub></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>其中χ=(x1,x2,x3,x4,x5,x6)为要生成的混沌序列,p,r,t和a,b,c为系统要给定的参数,利用4阶龙格库塔法求解混沌系统方程(2)和(3),每次迭代分别生成三个随机序列值,即6个混沌序列值χ=(x1,x2,x3,x4,x5,x6);为了计算得到这个混沌序列值,首先获取明文块第一个字节的偏移量θi,取Lorenz系统的初始迭代次数为N0,Chen系统的初始迭代次数为M0,记Lorenz系统的迭代次数为ρL,Chen系统的迭代次数为ρC,则有:<mrow><mtable><mtr><mtd><mrow><msub><mi>&rho;</mi><mi>L</mi></msub><mo>=</mo><mfrac><msub><mi>&theta;</mi><mi>i</mi></msub><mi>N</mi></mfrac><mo>+</mo><msub><mi>N</mi><mn>0</mn></msub></mrow></mtd><mtd><mrow><msub><mi>&rho;</mi><mi>C</mi></msub><mo>=</mo><mfrac><msub><mi>&theta;</mi><mi>i</mi></msub><mi>N</mi></mfrac><mo>+</mo><msub><mi>M</mi><mn>0</mn></msub></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>则每个分块的对应的混沌序列为χρ=(x1L),x2L),x3L),x4C),x5C),x6C))   (5)为了使两个系统产生的序列具有耦合性,将得到的Lorenz系统产生的随机序列对和Chen系统产生的随机序列对进行异或运算:<mrow><mtable><mtr><mtd><mrow><msub><mi>x</mi><mn>4</mn></msub><mrow><mo>(</mo><msub><mi>&rho;</mi><mi>C</mi></msub><mo>)</mo></mrow><mo>=</mo><msub><mi>x</mi><mn>4</mn></msub><mrow><mo>(</mo><msub><mi>&rho;</mi><mi>C</mi></msub><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>x</mi><mn>1</mn></msub><mrow><mo>(</mo><msub><mi>&rho;</mi><mi>L</mi></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>x</mi><mn>5</mn></msub><mrow><mo>(</mo><msub><mi>&rho;</mi><mi>C</mi></msub><mo>)</mo></mrow><mo>=</mo><msub><mi>x</mi><mn>5</mn></msub><mrow><mo>(</mo><msub><mi>&rho;</mi><mi>C</mi></msub><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>x</mi><mn>2</mn></msub><mrow><mo>(</mo><msub><mi>&rho;</mi><mi>L</mi></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>x</mi><mn>6</mn></msub><mrow><mo>(</mo><msub><mi>&rho;</mi><mi>C</mi></msub><mo>)</mo></mrow><mo>=</mo><msub><mi>x</mi><mn>6</mn></msub><mrow><mo>(</mo><msub><mi>&rho;</mi><mi>C</mi></msub><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>x</mi><mn>3</mn></msub><mrow><mo>(</mo><msub><mi>&rho;</mi><mi>L</mi></msub><mo>)</mo></mrow></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>计混沌序列χρ为初值序列和干扰序列步骤三:用初值序列计算加密密钥的混沌序列将初值序列中的(x1L),x2L))小数部分作为Hénon混沌映射迭代的初始值、(x3L),x4C))小数部分作为二维Logistic混沌映射迭代的初始值,递归产生加密的密钥序列ωρ=(ω1(ρ),ω2(ρ),ω3(ρ),ω4(ρ)),其中(ω1(ρ),ω2(ρ))由式(7)的Hénon系统方程迭代产生:<mrow><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msub><mi>x</mi><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>y</mi><mi>n</mi></msub><mo>+</mo><mn>1</mn><mo>-</mo><mi>a</mi><mi> </mi><msubsup><mi>x</mi><mi>n</mi><mn>2</mn></msubsup></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>y</mi><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>bx</mi><mi>n</mi></msub></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>3(ρ),ω4(ρ))由式(8)的二维Logistic混沌映射系统方程迭代产生:<mrow><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msub><mi>x</mi><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>&mu;</mi><mn>1</mn></msub><msub><mi>x</mi><mi>n</mi></msub><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>x</mi><mi>n</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>&gamma;</mi><mn>1</mn></msub><msubsup><mi>y</mi><mi>n</mi><mn>2</mn></msubsup></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>y</mi><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>&mu;</mi><mn>2</mn></msub><msub><mi>y</mi><mi>n</mi></msub><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>y</mi><mi>n</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>&gamma;</mi><mn>2</mn></msub><mrow><mo>(</mo><msubsup><mi>x</mi><mi>n</mi><mn>2</mn></msubsup><mo>+</mo><msub><mi>x</mi><mi>n</mi></msub><msub><mi>y</mi><mi>n</mi></msub><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>映射中的参数取值为:2.75<μ1<3.4,2.7<μ2<3.45和0.15<γ1<0.21,0.13<γ2<0.15;步骤四:重构加密密钥序列得到加密密钥序列后,由于其产生的值并不能和明文进行异或操作,所以需要将加密密钥序列根据下式进行转换:为了使两个系统产生的序列具有耦合性,进行如下计算:<mrow><mtable><mtr><mtd><mrow><msub><mi>&omega;</mi><mn>3</mn></msub><mrow><mo>(</mo><mi>&rho;</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>&omega;</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>&rho;</mi><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>&omega;</mi><mn>3</mn></msub><mrow><mo>(</mo><mi>&rho;</mi><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>&omega;</mi><mn>4</mn></msub><mrow><mo>(</mo><mi>&rho;</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>&omega;</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>&rho;</mi><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>&omega;</mi><mn>4</mn></msub><mrow><mo>(</mo><mi>&rho;</mi><mo>)</mo></mrow></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>步骤五:数据加密在生成了加密密钥序列后,将进行明文文件的加密,加密操作是依次在明文中取4个字节长度数据块对应的ASCII码M,同加密密钥序列进行异或(XOR)操作得到中间结果,然后再同干扰序列进行二次异或操作得到最终的密文C:<mrow><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msub><mi>C</mi><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><mrow><mo>(</mo><msub><mi>M</mi><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>&CircleTimes;</mo><msub><mi>&omega;</mi><mn>1</mn></msub><mo>(</mo><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>x</mi><mn>5</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>C</mi><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>=</mo><mrow><mo>(</mo><msub><mi>M</mi><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>&CircleTimes;</mo><msub><mi>&omega;</mi><mn>2</mn></msub><mo>(</mo><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>x</mi><mn>6</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>C</mi><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>3</mn></mrow></msub><mo>=</mo><mrow><mo>(</mo><msub><mi>M</mi><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>3</mn></mrow></msub><mo>&CircleTimes;</mo><msub><mi>&omega;</mi><mn>3</mn></msub><mo>(</mo><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>x</mi><mn>5</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>C</mi><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>4</mn></mrow></msub><mo>=</mo><mrow><mo>(</mo><msub><mi>M</mi><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>4</mn></mrow></msub><mo>&CircleTimes;</mo><msub><mi>&omega;</mi><mn>4</mn></msub><mo>(</mo><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>x</mi><mn>6</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow>其中k代表数据块的序号,C4k+1,C4k+2,C4k+3,C4k+4分别为数据块中对应于第1、2、3和4个字节的加密密文;在方法提出的加密方法中,密钥空间包括密钥序列的初始值χ(0)=(x1(0),x2(0),x3(0),x4(0),x5(0),x6(0))、Lorenz和Chen系统的初始迭代次数N0和M0,以及两个混沌系统的参数p,r,t和a,b,c。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201410049833.7/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top