《基于hadoop大数据平台和无简并高维离散超混沌系统的加密算法-温贺平.pdf》由会员分享,可在线阅读,更多相关《基于hadoop大数据平台和无简并高维离散超混沌系统的加密算法-温贺平.pdf(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于Hadoop大数据平台和无简并高维离散超混沌系统的加密算法温贺平禹思敏吕金虎Encryption algorithm based on Hadoop and non-degenerate high-dimensional discrete hyperchaoticsystemWen He-Ping Yu Si-Min L Jin-Hu引用信息Citation: Acta Physica Sinica , 66, 230503 (2017) DOI: 10.7498/aps.66.230503在线阅读View online: http:/dx.doi.org/10.7498/aps.66.2
2、30503当期内容View table of contents: http:/ you may be interested in利用混沌激光脉冲在线实时产生7 Gbit/s物理随机数Online real-time 7 Gbit/s physical random number generation utilizing chaotic laser pulses物理学报.2017, 66(5): 050501 http:/dx.doi.org/10.7498/aps.66.050501基于混沌系统的SM4密钥扩展算法SM4 key scheme algorithm based on chaoti
3、c system物理学报.2017, 66(2): 020504 http:/dx.doi.org/10.7498/aps.66.020504三维空间域多普勒功率谱及其多天线系统性能Doppler power spectrum density and multi-antenna system performance in three-dimensional environ-ment物理学报.2014, 63(24): 240507 http:/dx.doi.org/10.7498/aps.63.240507基于改进的统计信道模型与多天线系统性能分析Geometricalstatisticalc
4、hannelmodelandperformanceinvestigationformulti-antennasystemsinwirelesscommunications物理学报.2014, 63(14): 140506 http:/dx.doi.org/10.7498/aps.63.140506基于扩展混沌映射的认证密钥协商协议An authenticated key agreement protocol based on extended chaotic maps物理学报.2014, 63(5): 050507 http:/dx.doi.org/10.7498/aps.63.050507万
5、方数据物理学报Acta Phys. Sin. Vol. 66, No. 23 (2017) 230503基于Hadoop大数据平台和无简并高维离散超混沌系统的加密算法温贺平1)y禹思敏1)吕金虎2)1)(广东工业大学自动化学院,广州510006)2)(中国科学院数学与系统科学研究院,北京100190)(2017年7月5日收到; 2017年7月29日收到修改稿)针对目前大数据环境中存在的数据安全问题,提出一种基于Hadoop大数据平台和无简并高维离散超混沌系统的加密算法.算法采用流密码对称加密方式,在Hadoop平台上读取存储于HDFS(Hadoop distributedle system)的
6、大数据,进行分片处理和MapReduce编程后,用Map函数实现数据并行加密和解密,通过Reduce函数实现数据的合并操作并存储于HDFS.该算法具有较好的执行效率.与正李氏指数发生简并的低维混沌系统相比,无简并高维离散超混沌加密算法能提高系统安全性能,李氏指数均为正并且足够大,具有更好的统计特性,可通过严格的TESTU01测试,并行加密的密文之间互相关性很小.密钥参数众多使得估计或辨识难度增大.在密文闭环反馈条件下,具有抵御已知明文攻击和选择明文攻击的能力.关键词:混沌系统,混沌密码, HadoopPACS: 05.45.Vx, 05.45.Jn DOI: 10.7498/aps.66.23
7、05031引言随着物联网和云计算等新兴信息技术的发展,人类进入了大数据时代1,安全与隐私保护无疑是大数据环境中的重要问题,在大数据环境中探索高效的数据安全和隐私保护模式是人们关注的热点2. Hadoop是Apache基金会发布的一个开发和处理大数据的软件平台,作为一种开源的大数据处理架构,在业内得到了广泛应用,几乎成为大数据技术的代名词3.然而,目前的HDFS (Hadoopdistributed le system)并不支持云内的数据加密,这对Hadoop平台的数据安全提出了挑战4.近年来,针对Hadoop大数据加密的研究引起了人们的关注5-8. 2013年,文献5将对称加密算法DES(da
8、ta encryption standard)和非对称加密算法RSA进行融合,先对HDFS数据进行DES加密,再利用RSA对DES的密钥进行加密,提高了算法安全性.同年,文献6提出了一种基于HDFS的数据传输存储安全技术方案,利用AES(advancedencryption standard)算法对大数据文件进行加密和解密. 2015年,文献7提出在Hadoop中对存储在HDFS上的视频采用AES算法进行选择性加密,兼顾算法执行效率和安全性. 2016年,文献8对Hadoop平台的传输数据加密及数据访问安全机理进行了分析和研究.这些工作大都基于传统的密码技术,随着通信环境的日趋复杂和破译能力的
9、不断提升,许多传统密码算法的安全性受到威胁,需要更为安全的密码设计理论和技术来解决这个问题9.众所周知,混沌是确定性系统中的内秉随机运动,其典型特征体现在对初始条件与控制参数的高度敏感性、良好的伪随机性、遍历性、轨道的长期不可预测性和连续宽带谱等各个方面,与密码学国家重点研发计划(批准号: 2016YFB0800401)和国家自然科学基金(批准号: 61532020, 61671161, 61172023)资助的课题.通信作者. E-mail: 2017中国物理学会Chinese Physical Society http:/230503-1万方数据物理学报Acta Phys. Sin. V
10、ol. 66, No. 23 (2017) 230503中的混淆、扩散、密钥、循环轮数等有许多相似之处10.尽管混沌密码研究取得了一些进展11-14,但目前关于混沌密码在Hadoop大数据平台中的研究报道尚不多见15;16. 2015年,文献15提出基于MapReduce的并行混合混沌加密方案,综合运用Lorenz, Chen, Logistic, Henon等低维混沌系统产生的混沌序列对明文进行加密,在Hadoop平台并行编程架构的基础上提升了数据加密的速度;文献16提出了基于Logistic和Tent映射等低维混沌系统的大数据环境并行加密算法, MapReduce编程仿真结果表明,该算法具
11、有较好的执行效率.从安全性角度来看,现有低维混沌密码算法有待进一步改进,主要原因在于: 1)现有低维混沌系统的正李氏指数不够大,而且通常会发生简并,尽管有些能通过常规NIST测试,但无法通过目前更为严格的TESTU01测试; 2)独立的密钥参数不够多,不能抵御基于密钥参数估计或辨识的攻击17-20; 3)算法大多采用开环结构,没有密文的反馈,难以抵御已知明文攻击和选择明文攻击21.为了进一步改进算法的安全性,本文提出一种基于Hadoop大数据平台和无简并高维离散超混沌系统的密码算法.首先,设计一种无简并高维离散超混沌系统,保证正李氏指数的个数等于混沌系统的维数并且正李氏指数尽可能大.其次,利用
12、MapReduce并行编程模型,设计Map和Reduce函数,在Map函数中实现混沌序列密码对存储在HDFS上文本数据的加密和解密操作,在Reduce函数中实现大数据文件的排序和合并操作.最后,在Hadoop大数据平台中进行验证和分析.数值计算结果表明,提出的无简并高维离散超混沌密码算法同时具备执行效率较高和安全性较好的特点.2用状态变量的环形耦合方法构造无简并高维离散超混沌系统及相应的混沌密码设计无简并高维超混沌系统是指正李氏指数的个数L+能够达到可能的最大个数的一类高维超混沌系统.对于n维连续时间自治耗散系统,设正李氏指数个数为L+c ,负李氏指数的个数为L-c ,零李氏指数的个数为L0c
13、,它们满足n = L+c +L-c +L0c.对于n维连续时间自治系统,如果正李氏指数的个数达到了可能的最大个数,即满足L+c = n-2,称为无简并高维连续时间超混沌系统.如果正李氏指数个数仅满足L+c = n-2-d 2,则称为有简并高维连续时间超混沌系统,其中d 0为正李氏指数的简并度,是衡量正李氏指数个数减少的一个量化指标, d越大,正李氏指数个数减少的程度越大.对于n维离散时间自治系统,如果正李氏指数的个数达到了可能的最大个数,即满足L+d = n,则称之为无简并高维离散时间超混沌系统.如果正李氏指数的个数仅满足L+d = n-d 2,则称为有简并高维离散时间超混沌系统.通常情况下将
14、连续和离散系统的正李氏指数是否发生简并的两种情况统称为无简并混沌系统和有简并混沌系统.对于连续时间系统,必须有一个零指数和至少一个负指数,而离散系统则无此要求.在简并无法消除的情况下,正李氏指数的个数不能随着系统维数的拓展而增加,这种单纯拓展系统维数而不能增加正李氏指数个数的高维系统设计方法并无实质性的研究意义.例如,一个3维离散混沌系统和一个10维离散混沌系统,如果这两个系统都只有一个正李氏指数,除维数上的差异之外,其他的动力学性质并没有本质上的区别.但如果后者是无简并的,有10个正李氏指数,那么两者的动力学性质将会出现较大的差异.这种差异具体体现在混沌的统计特性能否通过严格的TESTU01
15、测试和度量混沌系统统计特性的KS(Kolmogorov-Sinai)熵值的大小,而这些指标是混沌加密算法安全性所需的必要条件.无简并高维超混沌系统和有简并高维超混沌系统在维数相同的条件下,在动力学行为、混沌化程度以及统计特性等多个方面都存在较大的差异.根据混沌理论,混沌系统的本质特征由混沌轨道的拉伸折叠变换所决定.只有一个正李氏指数的混沌系统,相邻轨道之间仅有一个方向上的拉伸折叠变换和发散度(即指数分离度),而多个正李氏指数的混沌系统则具有多个不同方向上的拉伸折叠变换和发散度.在混沌系统全局有界条件下,如果正李氏指数越多(即L+越大),且正李氏指数的值E+L越大,则具有更大强度、更多不同方向上
16、的拉伸折叠变换,整个系统的行为越复杂,导致无简并系统与有简并系统的动力学性质出现较大的差异.众所周知,混沌系统的KS熵与正李氏指数的关系满足hKS =iE+Li,其中E+Li表示正李氏指数的值, hKS表示KS熵22. hKS越大,则混沌系统的230503-2万方数据物理学报Acta Phys. Sin. Vol. 66, No. 23 (2017) 230503统计特性越好,这意味着正李氏指数的个数越多且混沌系统越大,则统计特性越好.设计正李氏指数无简并高维离散超混沌系统,应使正李氏指数的个数等于系统的维数,不存在零指数和负指数,正李氏指数个数达到最大值.此外,可通过调节系统的参数,使正李氏
17、指数尽可能大.总之,与其他混沌系统相比,正李氏指数无简并超混沌系统具有更好的统计特性.在离散时间混沌系统的诸多特征中,目前在工程应用中被广泛采用的混沌判据主要有两项,即具有正的李氏指数和轨道全局有界23.根据这两项,首先给出无简并高维离散超混沌系统的具体设计步骤:1)设计渐进稳定的标称系统的一般形式为x(k + 1) = Cx(k); (1)式中x(k)Rn,标称矩阵C的特征根全部位于单位圆内,使得标称系统渐进稳定.2)为了对标称系统实施有效控制,需要对标称矩阵C作相似变换,得A = PCP-1; (2)式中P为非奇异矩阵.得相似变换后的标称系统为x(k + 1) = Ax(k): (3)(1
18、)式和(3)式具有相同的特征根和稳定性.3)设计一致有界反控制器g x(k);和控制矩阵B,从而对(3)式实施反控制,得全局有界的受控系统为x(k + 1) = Ax(k) +Bg x(k);: (4)4)利用控制矩阵B和反控制器g x(k);对受控系统(4)式进行极点配置,经极点配置后,正李氏指数个数达到最大值,即满足李氏指数的个数L+ = n,使得(4)式成为无简并高维离散时间超混沌系统.为了兼顾混沌密码算法的执行效率和安全性能两个方面,必须选取适当的系统维数n的大小.维数高时尽管能提高安全性能,但会降低执行效率,反之亦然.选取5维系统作为典型实例,根据(4)式和状态变量的环形耦合方法设计
19、无简并5维离散超混沌系统.首先,根据(1)(3)式,设n = 5,得5维标称系统(3)式所对应的标称矩阵的数学表达式为A =0BBBBBBBa11 a12 a13 a14 a15a21 a22 a23 a24 a25a31 a32 a33 a34 a35a41 a42 a43 a44 a45a51 a52 a52 a54 a551CCCCCCCA=0BBBBBBB-0:0250 0:7750 -0:7250 0:8750 -0:9250-0:5000 0:4000 -0:3000 1:3000 -0:5000-0:8750 0:8250 0:0250 0:9250 -0:8750-0:4750
20、 1:2250 -0:2750 0:4250 -0:4750-0:9250 0:7750 -0:7250 0:8750 -0:02501CCCCCCCA: (5)其次,根据标称系统(3)式和状态变量的环形耦合方法进一步设计受控系统(4)式,如图1所示.图中fi()(1 i 5)的数学表达式为fi()xi(k + 1)= ai1x1(k) + ai2x2(k) + ai3x3(k)+ ai4x4(k) + ai5x5(k):在该方法中,首先将(3)式中第1个迭代方程输出的状态变量x1经sin函数耦合到第2个迭代方程,然后将第2个迭代方程输出的状态变量x2经sin函数耦合到第3个迭代方程,其余依此
21、类推.最后将第5个迭代方程输出的状态变量x5经sin函数耦合到第1个迭代方程,从而构成状态变量的环形耦合.根据图1,得5维受控系统的数学表达式为0BBBBBBBBBx1(k+1)x2(k+1)x3(k+1)x4(k+1)x5(k+1)1CCCCCCCCCA=0BBBBBBBBBa11 a12 a13 a14 a15a21 a22 a23 a24 a25a31 a32 a33 a34 a35a41 a42 a43 a44 a45a51 a52 a52 a54 a551CCCCCCCCCA0BBBBBBBBBx1(k)x2(k)x3(k)x4(k)x5(k)1CCCCCCCCCA+0BBBBBBB
22、BB0 0 0 0 11 0 0 0 00 1 0 0 00 0 1 0 00 0 0 1 01CCCCCCCCCA0BBBBBBBBB1 sin( 1x1)2 sin( 2x2)3 sin( 3x3)4 sin( 4x4)5 sin( 5x5)1CCCCCCCCCA; (6)230503-3万方数据物理学报Acta Phys. Sin. Vol. 66, No. 23 (2017) 230503式中矩阵元素aij(1 i;j 5)的大小由(5)式给出.根据(6)式,不妨选取密钥参数1 = 1:0105,1 = 2:0103, 2 = 3:0105, 2 = 4:0103,3 = 5:0105
23、, 3 = 6:0103, 4 = 7:0105,4 = 8:0103, 5 = 9:0105, 5 = 10:0103,得李氏指数的计算结果分别为EL1 = 20:7752,EL2 = 20:7532, EL3 = 20:7520, EL4 = 20:7295,EL5 = 20:7050.所有的李氏指数均为正数,满足L+ = 5,正的李氏指数比较大并且大小一致,故(6)式是一个无简并5维离散超混沌系统.混沌吸引子相图如图2所示.在图1和(6)式的基础上,进一步设计混沌并行加密算法,如图3所示.图中将大数据切分为N个单元块,其中前N - 1块的大小均为1 kB,最后一块为剩余部分, i = 1
24、;2;N,根据i%4 = 1;2;3;0和i = N,分别采用x(e)1 (k), x(e)2 (k),x(e)3 (k), x(e)4 (k), x(e)5 (k)对第i个数据块进行流密码并行加密.图中符号x(e)i (k)(1 i 5)表示对状态变量x(e)i (k)向下取整, Mi(k)为一个字节的明文数据, 表示按位异或运算, mod为取模运算.f1()f2()f3()f4()f5()5sin(5x5)1sin(1x1)2sin(2x2)3sin(3x3)4sin(4x4)x1x2x4x3x5图1用状态变量环形耦合方法构造无简并5维离散超混沌系统Fig. 1. Constructing
25、 non-degenerate 5-dimensionaldiscrete hyperchaotic system via state variable ringcoupling method.-5-5 -4 -3 -2 -1 0 1 2 3 4 5-4-3-2-101234x2(k)/106x1(k)/106 x2(k)/106x3(k)/106 x4(k)/106x4(k)/106x3(k)/106x5(k)/106-5 -4 -3 -2 -1 0 1 2 3 4-5-4-2-3-1021435-5 -3 -1-4 -2 0 2 41 3 5-4-3-2-101234-4 -3 -2 -1
26、 0 1 2 3 4-6-4-20246(a) (b)(c) (d)图2无简并5维离散超混沌吸引子相图(a) x1(k)-x2(k)平面相图; (b) x2(k)-x3(k)平面相图; (c) x3(k)-x4(k)平面相图; (d) x4(k)-x5(k)平面相图Fig. 2. Phase plots of non-degenerate 5-dimensional discrete hyperchaotic attractor: (a) x1(k)-x2(k); (b) x2(k)-x3(k); (c) x3(k)-x4(k); (d) x4(k)-x5(k).230503-4万方数据物理学
27、报Acta Phys. Sin. Vol. 66, No. 23 (2017) 230503为抵御已知明文攻击或选择明文攻击,需要将其中的一个或多个密文Ci(k)通过闭环反馈回到原来的混沌系统中.例如,可选择满足i%4 = 1的密文Ci(k),将其反馈回第25个方程中,并且用Ci(k)取代第25个方程中的状态变量x(e)1 (k),其余依此类推.混沌解密是加密的逆过程,如图4所示.( )1 ( )ef ( ) ( ) ( )5 5 5sin( )e e ex ( )2 ( )ef ( )3 ( )ef ( )4 ( )ef ( )5 ( )ef ( )1ex( )2ex( )4ex( )3ex
28、( )5ex加密( )iC k( ) ( ) ( )1 1 1sin( )e e ex ( ) ( ) ( )2 2 2sin( )e e ex ( ) ( ) ( )3 3 3sin( )e e ex ( ) ( ) ( )4 4 4sin( )e e ex ( )iC k( )iC k( )iC k( ) 81mod ( ) ,2 ex k ( ) 82mod ( ) ,2 ex k ( ) 83mod ( ) ,2 ex k ( ) 84mod ( ) ,2 ex k ( ) 85mod ( ) ,2 ex k ( )iC k( )iM k( )iM k( )iM k( )iM k( )
29、iM k密文数据闭环反馈%4 1i =%4 2i =%4 3i =%4 0i =i N=图3基于无简并5维离散超混沌系统的混沌加密算法设计Fig. 3. Chaotic encryption algorithm design based on non-degenerate 5-dimensional discrete hyperchaotic system.( )1 ( )df ( ) ( ) ( )5 5 5sin( )d d dx ( )2 ( )df ( )3 ( )df ( )4 ( )df ( )5 ( )df ( )1dx( )2dx( )4dx( )3dx( )5dx解密( )
30、( ) ( )1 1 1sin( )d d dx ( ) ( ) ( )2 2 2sin( )d d dx ( ) ( ) ( )3 3 3sin( )d d dx ( ) ( ) ( )4 4 4sin( )d d dx ( )iM k ( )iM k ( )iM k ( )iM k( ) 81mod ( ) ,2 dx k ( ) 82mod ( ) ,2 dx k ( ) 83mod ( ) ,2 dx k ( ) 84mod ( ) ,2 dx k ( ) 85mod ( ) ,2 dx k ( )iM k( )iC k( )iC k( )iC k( )iC k( )iC k密文数据闭
31、环反馈%4 1i =%4 2i =%4 3i =%4 0i =i N=图4基于无简并5维离散超混沌系统的混沌解密算法设计Fig. 4. Chaotic decryption algorithm design based on non-degenerate 5-dimensional discrete hyperchaotic system.根据图3,得基于无简并5维离散超混沌系统的混沌加密算法的表达式为0BBBBBBBBBx(e)1 (k + 1)x(e)2 (k + 1)x(e)3 (k + 1)x(e)4 (k + 1)x(e)5 (k + 1)1CCCCCCCCCA=0BBBBBBBBB
32、BBBBBBBa(e)11 a(e)12 a(e)13 a(e)14 a(e)15a(e)21 Ci(k)x(e)1 (k)a(e)22 a(e)23 a(e)24 a(e)25a(e)31 Ci(k)x(e)1 (k)a(e)32 a(e)33 a(e)34 a(e)35a(e)41 Ci(k)x(e)1 (k)a(e)42 a(e)43 a(e)44 a(e)45a(e)51 Ci(k)x(e)1 (k)a(e)52 a(e)53 a(e)54 a(e)551CCCCCCCCCCCCCCCCA0BBBBBBBBBx(e)1 (k)x(e)2 (k)x(e)3 (k)x(e)4 (k)x(e
33、)5 (k)1CCCCCCCCCA+0BBBBBBBBB0 0 0 0 11 0 0 0 00 1 0 0 00 0 1 0 00 0 0 1 01CCCCCCCCCA0BBBBBBBBB(e)1 sin (e)1 Ci(k)(e)2 sin( (e)2 x(e)2 )(e)3 sin( (e)3 x(e)3 )(e)4 sin( (e)4 x(e)4 )(e)5 sin( (e)5 x(e)5 )1CCCCCCCCCA;(7)230503-5万方数据物理学报Acta Phys. Sin. Vol. 66, No. 23 (2017) 230503式中i满足i%4 = 1.根据(7)式,得发送
34、端并行加密后的密文为8:if i%4 = 1; then Ci(k) = modx(e)1 (k);28Mi(k);if i%4 = 2; then Ci(k) = modx(e)2 (k);28Mi(k);if i%4 = 3; then Ci(k) = modx(e)3 (k);28Mi(k);if i%4 = 0; then Ci(k) = modx(e)4 (k);28Mi(k);if i = N; then Ci(k) = modx(e)5 (k);28Mi(k):(8)同理,根据图4,得基于无简并5维离散超混沌系统的混沌解密算法的数学表达式为0BBBBBBBBBx(d)1 (k +
35、 1)x(d)2 (k + 1)x(d)3 (k + 1)x(d)4 (k + 1)x(d)5 (k + 1)1CCCCCCCCCA=0BBBBBBBBBBBBBBBBa(d)11 a(d)12 a(d)13 a(d)14 a(d)15a(d)21 Ci(k)x(d)1 (k)a(d)22 a(d)23 a(d)24 a(d)25a(d)31 Ci(k)x(d)1 (k)a(d)32 a(d)33 a(d)34 a(d)35a(d)41 Ci(k)x(d)1 (k)a(d)42 a(d)43 a(d)44 a(d)45a(d)51 Ci(k)x(d)1 (k)a(d)52 a(d)53 a(d
36、)54 a(d)551CCCCCCCCCCCCCCCCA0BBBBBBBBBx(d)1 (k)x(d)2 (k)x(d)3 (k)x(d)4 (k)x(d)5 (k)1CCCCCCCCCA+0BBBBBBBBB0 0 0 0 11 0 0 0 00 1 0 0 00 0 1 0 00 0 0 1 01CCCCCCCCCA0BBBBBBBBB(d)1 sin(d)1 Ci(k)(d)2 sin( (d)2 x(d)2 )(d)3 sin( (d)3 x(d)3 )(d)4 sin( (d)4 x(d)4 )(d)5 sin( (d)5 x(d)5 )1CCCCCCCCCA;(9)式中i满足i%4
37、 = 1.根据(9)式,得接收端并行解密后的明文为8:if i%4 = 1;thenMi(k) = modx(e)1 (k);28Ci(k);if i%4 = 2;thenMi(k) = modx(e)2 (k);28Ci(k);if i%4 = 3;thenMi(k) = modx(e)3 (k);28Ci(k);if i%4 = 0;thenMi(k) = modx(e)4 (k);28Ci(k);if i = N;thenMi(k) = modx(e)5 (k);28Ci(k):(10)根据(7)(10)式,在加密系统和解密系统初始条件相同的情况下,在密钥参数匹配的条件下,满足a(d)i
38、j = a(e)ij = aij(1 i;j 5),其中aij(1 i;j 5)的值由(5)式给出, (d)i = (e)i =i(1 i 5), (d)i = (e)i = i(1 i 5),能正确解密明文数据.但只要其中的任意一个参数存在微小失配,就无法正确解密明文数据.特别是在图3和图4中,采用取模和取整的方法截取混沌变量的低8位传送,攻击者从公共信道截获的只是混沌信号的低位而不是混沌信号的全部,这样处理大大减小了混沌信息通过公共信道传送时信息的泄露概率,通过公共信道传送的各个密文之间的互相关程度很低,能抵御相关分析.3基于Hadoop的无简并高维离散超混沌加密算法设计3.1 Hadoo
39、p的技术框架Hadoop是一个由Apache基金会开发的分布式系统基础架构.用户在不了解分布式底层细节的情况下,能够开发出可靠和可扩展的分布式计算应用. Hadoop框架允许用户使用简单的编程模型来实现计算机集群的大型数据集分布式处理,其目的是支持从单一服务器到上千台机器的扩展,充分利用了每台机器所提供的本地计算和存储. Hadoop包括HDFS和MapReduce两个核心组件,其中HDFS实现分布式存储, MapReduce实现分布式计算24, HDFS和MapReduce均采用Mas-ter/Slave架构. HDFS是一个高度容错的分布式文件系统,适合部署在廉价的机器上,可提供高吞吐量数
40、据访问,适合大规模数据集应用. MapReduce的核心思想可以用“分而治之”来描述,也就是把一个大的数据集分为多个小数据块在多台机器上并230503-6万方数据物理学报Acta Phys. Sin. Vol. 66, No. 23 (2017) 230503行处理. Hadoop主要适用于海量数据的离线分析处理、大规模Web信息搜索,以及数据密集型并行计算.3.2基于Hadoop的无简并超混沌加密和解密算法设计基于Hadoop大数据平台的混沌加密和解密算法分别如图5和图6所示.图中包括Input, Split,Map, Reduce和Output五个阶段. Input和Out-put用于处理
41、大数据文件在HDFS上的输入和输出, Split实现大数据文件的分片操作, Map和Re-dude基于MapReduce编程模型实现. Map函数对各个分片数据块进行混沌并行加密, Reduce函数实现对加密后数据块的合并操作.在加密算法中,Map函数利用图3和(7)式、(8)式对数据进行并行加密.在解密算法中, Map函数则利用图4和(9)式、(10)式的密文数据进行并行解密.1 15 5,M MM Mkey valuekey value( ) 81if %4 1, thenei = 2 26 6,M MM Mkey valuekey value( ) 82if %4 2, thenei =
42、 3 37 7,M MM Mkey valuekey value( ) 83if %4 3, thenei = 4 48 8,M MM Mkey valuekey value( ) 84if %4 0, thenei = ,M MN Nkey value( ) 85if , then( )= mod ( ) ,2 ( )( )= mod ( ) ,2 ( )( )= mod ( ) ,2 ( )( )= mod ( ) ,2 ( )( )= mod ( ) ,2 ( )ei ii ii ii ii ii NC k x k M kC k x k M kC k x k M kC k x k M k
43、C k x k M k= split 1split 2split 3split 4split 5split 6split 7split 8split isplit NReduce函数M明文Client1 12 23 34 45 56 67 78 8,R RR RR RR RR RR RR RR RR Ri iR RN Nkey valuekey valuekey valuekey valuekey valuekey valuekey valuekey valuekey valuekey valueC密文HDFSHDFSInputSplitMap ReduceOutput并行加密图5基于Hado
44、op的无简并高维离散超混沌加密算法流程图Fig. 5. Flow chart of non-degenerate high dimensional discrete chaotic encryption algorithm based on Hadoop.1 15 5,M MM Mkey valuekey valueif %4 1, theni =2 26 6,M MM Mkey valuekey valueif %4 2, theni =3 37 7,M MM Mkey valuekey valueif %4 3, theni =4 48 8,M MM Mkey valuekey value
45、if %4 0, theni =,M MN Nkey valueif , theni N=( ) 81 ( )= mod ( ) ,2 ( )ei iM k x k C k ( ) 82 ( )= mod ( ) ,2 ( )ei iM k x k C k ( ) 83 ( )= mod ( ) ,2 ( )ei iM k x k C k ( ) 84 ( )= mod ( ) ,2 ( )ei iM k x k C k ( ) 85 ( )= mod ( ) ,2 ( )ei iM k x k C k split 1split 2split 3split 4split 5split 6spl
46、it 7split 8split isplit NReduce函数C密文Client1 12 23 34 45 56 67 78 8,R RR RR RR RR RR RR RR RR Ri iR RN Nkey valuekey valuekey valuekey valuekey valuekey valuekey valuekey valuekey valuekey valueM明文HDFSHDFSInputSplitMap ReduceOutput并行解密图6基于Hadoop的无简并高维离散超混沌解密算法流程图Fig. 6. Flow chart of non-degenerate h
47、igh dimensional discrete chaotic decryption algorithm based on Hadoop.230503-7万方数据物理学报Acta Phys. Sin. Vol. 66, No. 23 (2017) 230503加密算法设计的具体步骤如下:1)在Input阶段,将需要加密的大数据文件从本地上传至HDFS.2)在Split阶段,采用分片算法读取HDFS上的大数据文件,对输入的大数据文件以1 kB为单元进行分块.大数据文件M切分为N个单元块,其中前N -1块的大小均为1 kB,最后一块为剩余部分.分片算法的返回值为N个键值对keySi;valueSi (i = 1;2;N).具体算法描述如下.算法1分片算法.Input:存储在HDFS上的大数据文件MOutput :N 文件M的分块数for i = 1; i N-1; i + + dokeySi Keyset(M;i)valueSi Valueset(M;i;1024)end forkeySN Keyset(M;N)valueSN Values