系统加密方法分析论文

2024-10-22

系统加密方法分析论文(精选9篇)

1.系统加密方法分析论文 篇一

方法一、

1、首先在win7系统下打开一个WPS文档,然后将文档另存为,弹出“另存为”选项,点击右下角“加密”按钮;

2、点击加密按钮后,就会弹出一个对话框,然后在“打开文件密码”和“再次输入密码”框中输入文档的密码,然后点击“确定”保存就可以了,

Windows7旗舰版系统下加密WPS文档的两个方法

, 方法二、

1、同样打开一个WPS文档点击左上角上的“WPS文字”,然后点击“选项”;

2、在打开的选项界面中,点击左侧的“安全性”,在“打开文件密码”和“再次输入密码”框中输入文档的密码,最后点击“确定”即可。

2.系统加密方法分析论文 篇二

随着变电站通信网络和系统IEC 61850标准的推广应用,电力信息的网络化传输已成为电力系统中最重要的通信方式,与此同时,网络安全问题也越来越突出[1,2,3]。2005年4月,国际标准化组织IEC制定了电力系统数据和通信安全标准IEC 62351,旨在解决电力通信领域的数据和通信安全问题[4]。其中,IEC 62351提出的核心安全防护措施是认证和加密,作用在于保证重要信息在通信过程中的完整性、准确性和机密性。

为了保证重要数据在互联通信网络中传输和存储的保密性,防止未授权用户的非法访问,国内外学者提出了多种基于不同原理的数据加密算法,依据加密思想可以将其归纳为3类[5],即位置置乱加密、数值变换加密和两者组合加密。

位置置乱加密是通过某种置乱变换打乱明文数据的位置,使密文数据的位置排列变得杂乱无章,典型算法有Arnold变换、m序列变换和伪魔方变换[6]等。这类算法原理相对简单,置乱变换结果只会改变明文数据的位置分布,而不会改变其数值分布。因此,基于位置置乱加密算法的密文数据容易遭受非法用户的攻击和破解。

数值变换加密是基于特定密钥产生的伪随机序列来改变明文数据的数值,使得密文数据之间的统计相关性变弱,均匀分布特性更加明显,典型算法有RSA,3DES,IDEA,RC4,AES,MD5和矩阵变换等[7]。文献[8]指出,对于实时通信系统,能够兼顾安全性和实时性的密码系统才是更可取的,一个加密速度很慢的密码系统,即使拥有很高的安全水平,也是没有任何实用价值的。RSA和3DES等传统加密算法的安全性相对较高,但其运算复杂,时间和空间开销大,实时性差,不能满足电力系统海量实时数据的加密需求。

基于混沌理论的加密技术因其良好的密码学特性而被认为具有很大的实用价值。文献[9]提出了一种基于混沌系统的数字信号安全通信机制,包含调制、混沌发射、混沌接收和解调4个部分,通过将位信息嵌入到混沌状态变量中来保证数字信号的安全通信;实际加密过程中,常采用离散混沌系统,如Logistic,Cat,Tent,Kolmogrov混沌映射[10]等。然而,低维混沌系统已被证实存在一些缺陷,文献[11]指出了一维混沌系统存在的缺陷,如复杂度低、安全性不够高、精度有限等;文献[12]提出一种针对低维混沌系统的破译方法,并指出采用相同密钥的混沌密码系统容易受到非法用户的攻击和破解。

本文提出一种基于优化协调复合混沌密码系统的电力信息加密方法。利用一维混沌系统良好的初值敏感性、伪随机性和非周期性等密码学特性来构造复合混沌密码系统,在小波变换空间对明文信息的小波系数进行复合混沌加密。同时,采用计算效率高、收敛速度快的自适应混沌免疫粒子群优化算法,对复合混沌系统的控制参数进行协调优化整定,以增强混沌运动子系统之间的协调能力,改善复合混沌密码系统的加密性能。

1 一维离散混沌系统模型

混沌现象是在非线性动力系统中出现的一种确定性伪随机过程,具有伪随机性、非周期性、独立性、遍历性、对初始状态和控制参数极其敏感以及容易产生分岔等优良密码学特性。混沌系统的密码学特性使其迭代输出序列具有高度不可预测性,适用于产生密码信息流。同时,混沌迭代序列由混沌系统的解析方程、控制参数和初始条件唯一确定,只要混沌系统的控制参数和初始条件相同,就可以准确重构当前混沌序列。

Lyapunov指数(简称李氏指数)是刻画非线性系统混沌动力学特性的一个重要定量指标,它表征了系统相空间中相邻轨线收敛或发散的平均指数率。李氏指数的个数通常与系统状态空间的维数相同,利用李氏指数进行混沌判定的一般准则为[13]:如果一个系统的李氏指数至少有1个大于0,则该系统是混沌系统;若有2个以上李氏指数大于0,则该系统是超混沌系统;正的李氏指数个数越多、数值越大,系统的混沌特征就越明显,不稳定程度也越高。

1.1 Logistic映射

Logistic映射为一维离散动力系统,又称为虫口模型,是生物学家R.May于1976年提出来的,它采用一维非线性迭代函数来表征混沌行为。利用此非线性迭代函数,通过微调混沌系统的控制参数可以产生规律完全不同的伪随机序列。

Logistic映射的解析方程为:

xn+1=μ xn(1-xn) (1)

式中:x为混沌变量;μ∈(0,4]为控制参数。

μ值确定后,对于任意初始值x0∈(0,1),可迭代得到一个确定的时间序列。对于不同的μ值,系统将呈现不同的特性,系统不断地经历周期分叉最终达到混沌态。

图1为当2.6≤μ≤4时Logistic映射的分岔图。

由图1可见,当μ≥3.6时,系统开始呈现混沌态,此时Logistic映射的李氏指数大于0;当μ=4时,Logistic映射序列具有随机性、遍历性、初值敏感性等典型混沌特征。因此,本文选取μ=4,xn+1=4xn(1-xn),0<xn≤1的Logistic映射方程,此时系统处于满映射混沌状态。

1.2 Cubic映射

Cubic映射的解析方程为:

xn+1=axn3-bxn (2)

式中:ab为控制参数。

图2为当a=4,1.5≤b≤3时Cubic映射的分岔图。

由图2可见,当b≥2.3时,系统开始呈现混沌态。同时,根据Cubic映射的李氏指数图可知:当b<2.3时,李氏指数基本都小于0;当b≥2.3时,李氏指数始终都大于0。因此,欲使Cubic迭代序列呈混沌状态,参数b应当满足条件b≥2.3。此外,随着参数a的变化,Cubic映射序列的取值范围也会发生相应改变,本文选取a=4,b=3,xn+1=4x3n-3xn,-1≤xn≤1的Cubic映射方程。

低维混沌系统模型通常由代数方程描述,其迭代序列敏感性和随机性好、统计分布均匀、计算速度快,但缺点是复杂度较低,安全性不够高,目前已出现针对低维混沌加密的攻击和破译算法。高维混沌系统模型一般表现为复杂的微分或差分方程组,其迭代输出序列较低维混沌系统要复杂得多,缺点是求解难度和计算量很大,加解密操作的时间和空间开销也成倍增加。

本文选取2个一维混沌系统来构造复合混沌系统,在继承混沌系统优良密码学特性的同时,可以改善单一混沌系统的稳定窗和混沌动态特征退化现象[14]。由于复合混沌系统的动力学行为与复合操作和各混沌子系统的运动行为有关,因此,复合混沌系统的复杂度更高,随机性更好,抗攻击和抗破解能力也更强。

2 小波复合混沌密码系统

2.1 小波复合混沌加密原理

ψ(t)∈L2(R),其傅里叶变换为ψ^(ω),如果ψ^(ω)足下列条件:

Cψ=R|ψ^(ω)|2ωdω<(3)

则称ψ(t)为基本小波函数,将ψ(t)通过尺度伸缩和平移变换可生成如下函数簇:

ψε,τ(t)=1εψ(t-τε)(4)

式中:ε为伸缩参量ε∈R且ε≠0;τ为平移参量,τ∈R;ψε,τ(t)为由基本小波函数ψ(t)生成的连续小波函数。

将二维实数空间L2(R)中的函数f(t)在基本小波函数下进行展开,称为函数f(t)的小波变换。数字信号处理中,一般使用离散小波变换,离散小波变换理论详见附录A。

在小波变换空间中,低频系数表示信号的近似信息或稳态特征,高频系数传达信号的细节信息或暂态特征。本文结合小波的多分辨率分析特征和复合混沌序列的密码学特性来构建小波复合混沌密码系统,基于位置置乱与数值变换相结合的数据加密思想,在小波变换空间对明文信息的小波系数进行复合加密操作[15],将明文信息嵌入到复合混沌序列中,从而实现重要信息的有效隐藏。

2.2 小波复合混沌密码系统工作流程

小波复合混沌密码系统的工作流程见图3。

小波复合混沌密码系统加密流程可描述如下。

1)系统初始化。

初始化混沌系统及小波变换参数,根据密钥分发机制,对系统初始密钥K进行映射变换得到一维混沌系统初始密钥K1和K2及复合混沌块密钥K3。

2)生成复合混沌密码序列。

根据密钥K1和K2,按照Logistic和Cubic混沌映射方程,迭代产生一维离散混沌序列Xc1和Xc2;进行位移变换和复合操作,得到复合混沌密码序列Xc,即

Xc=u(n-Tc1)Xc1⨂u(n-Tc2)Xc2 (5)

式中:Tc1和Tc2为延迟时间常数,是表征混沌运动差异特性的控制参数;u(n)为阶跃函数;⨂表示复合操作,常用的复合操作有异或、取模、与或非运算等。

3)生成明文信息小波序列。

对明文序列Xs进行小波变换,得到明文信息的小波系数Xsw,进行比例变换得到小波变换序列Xswt,即

Xswt=KcXsw (6)

式中:Kc为比例因子,是表征明文信息和小波变换特征的控制参数。

4)复合混沌加密。

根据块密钥K3对复合混沌密码序列Xc进行带通滤波,获取与Xswt等长度的复合混沌加密块序列Xce,对明文信息小波变换序列Xswt进行二进位异或加密操作,生成密文序列Xe,即

Xe=[u(n-K3)-u(n-K3-Ls)]Xc⊕Xswt (7)

式中:Ls为明文信息小波序列Xswt的长度;⊕表示加密操作,常用加密操作有异或、同或、取模运算等。

5)协调优化阈值判定。

计算当前密文序列Xe的适应值,判断其是否满足预先设定阈值约束条件,若满足,转到步骤6;否则,修改复合混沌系统的控制参数Kc,Tc1,Tc2,并转到步骤3。

6)判断系统加密任务是否完成,未完成转到第1步,否则结束加密过程。

小波变换和复合操作进一步增强了算法的不可预测性,提高了明文信息的隐蔽性。解密流程是加密流程的逆过程,在此不重复叙述。

2.3 混沌动力学特性分析

在非线性混沌动力学的研究中,常采用李氏指数[16]和熵测度[17]作为衡量密码系统抗攻击和抗破解能力的重要指标。李氏指数描述了混沌运动系统对初始状态的敏感程度,李氏指数越大,混沌系统对初始状态越敏感。熵测度用于衡量动力系统的复杂度:熵测度越小,系统越趋规则;熵测度越大,系统越趋随机。混沌系统的复杂度是指混沌伪随机序列与标准随机序列的相似程度,是对利用部分序列恢复出整体序列难易程度的量度。

文献[17]提出一种基于模糊关系熵的混沌伪随机序列复杂度统计学测度方法,将模糊隶属函数引入到近似熵测度方法中,克服了近似熵测度结果受参数选取影响较大的问题,提高了混沌伪随机序列复杂度测度的准确性。

分别计算上文构造的一维混沌系统(Logistic映射和Cubic映射)和复合混沌系统的李氏指数与模糊熵测度,计算结果如表1所示。李氏指数和模糊熵测度的数学定义和计算方法详见文献[16,17]。

由表1数据可知,与一维Logistic和Cubic混沌系统相比,本文构造的复合混沌系统具有更强的初值敏感性和更高的复杂度。因此,密码系统的抗攻击和抗破解能力更强,安全性与保密性也就更高。

3 自适应混沌免疫粒子群优化算法

粒子群优化(particle swarm optimization,PSO)算法是由Kennedy和Eberhart博士于1995年提出的一种基于群体智能的演化计算方法,已在电力系统的多目标多参数协调优化问题求解中得到了广泛应用[18]。

本文引入一种基于混沌优化和人工免疫思想的自适应混沌免疫粒子群优化(adaptive chaos immune particle swarm optimization,ACIPSO)算法[19],通过采取混沌初始化、混沌变异和免疫补充操作以及自适应惯性权重来提高算法的寻优性能。与现有的PSO算法相比,ACIPSO算法的特色与改进之处如下。

1)混沌初始化:

利用混沌系统的独立性和遍历性特点,采用混沌初始化操作来保证初始粒子群的多样性和遍历性。

2)自适应惯性权重:

基于粒子个体适应值,在进化过程中自适应调整其惯性权重系数,使算法能够兼具“全局粗略探索”和“局部精细搜寻”能力,可以同时提高算法的收敛速度和收敛精度。

3)混沌变异:

采用混沌变异操作来帮助惰性粒子跳出局部极值区域,避免算法过早陷入局部最优解,增大了群体搜寻到全局最优解的概率,同时也提高了解的精度。

4)免疫补充:

利用混沌系统的遍历性对粒子群进行免疫补充,以保证群体中的劣等粒子也能进行随机变异,增加了群体发现更多局部极值点和全局最优解的机会。

ACIPSO算法流程如图4所示,算法详细描述参见附录B。

4 基于ACIPSO算法的复合混沌密码系统参数协调优化策略

根据Shannon信息安全通信理论,统计分析方法常被用来进行密码分析和破译,一个好的密码系统,不管明文如何分布,其密文分布应该是均匀的。本文引入均匀度Unif来定量评价密文信息的均匀分布特性,定义Unif为密文序列方差σ2Xe与均匀噪声序列方差σ2Xn 之比[5],即

Unif(Xe,Xn)=σXe2σXn2=i=1Ν(Xe(i)-X¯e)2i=1Ν(Xn(i)-X¯n)2(8)

式中:X¯e=E(Xe)=(i=1ΝXe(i))/ΝXe的数学期望值;Xn为均匀噪声序列;X¯n为Xn的数学期望值。

同时,引入归一化相似度Sim来衡量密文序列与明文序列之间的相似程度,定义如下:

Sim(Xe,Xs)=i=1ΝXe(i)Xs(i)i=1ΝXe2(i)i=1ΝXs2(i)(9)

由于一维混沌系统运动特性的差异性,在复合混沌系统中,混沌子系统之间可能由于参数不协调而发生相互排斥和削弱作用,导致复合混沌密码系统的加密性能减弱,系统的安全性也随之降低。因此,有必要采取适当的参数协调优化策略使各混沌子系统相互协调[20]。

根据Shannon密码学理论,一个密码系统的加密效果不仅体现在密文与明文的关联程度,即相关性,更体现在引起第三方主观破解欲望的密文隐蔽程度,即均匀性。鉴于此,本文选取相关系数和均匀度指标来构建目标函数J,该参数协调优化问题可表示为:

{minJ(Κc,Τc1,Τc2)=a1f1+a2f2s.t.Κc,minΚcΚc,maxΤc1,minΤc1Τc1,maxΤc2,minΤc2Τc2,max(10)

f1=Coef(Xe,Xs)=i=1Ν(Xe(i)-X¯e)(Xs(i)-X¯s)i=1Ν(Xe(i)-X¯e)2i=1Ν(Xs(i)-X¯s)2(11)

f2=|1-Unif(Xe,Xn)|=|i=1Ν(Xe(i)-X¯e)2-i=1Ν(Xn(i)-X¯n)2i=1Ν(Xn(i)-X¯n)2|(12)

式中:a1和a2为权重系数;f1为密文序列与明文序列的互相关系数,用以衡量密文信息与明文信息的相关程度;f2为密文序列的均匀度,用以衡量密文信息的隐蔽程度。

通过最小化目标函数,可以使系统的加密效果最优化。本文采用ACIPSO算法,对复合混沌密码系统的控制参数Kc,Tc1,Tc2进行全局协调优化整定,以增强混沌运动系统之间的协调能力,尽可能发挥各混沌子系统的潜能,最大程度地改善复合混沌系统的加密性能。

5 算例分析

5.1 对比加密实验

本节选取电力信息文本和图像2个应用算例来验证本文方法的有效性,基于MATLAB 2006a软件平台编制了复合混沌协调优化加密算法以及目前常用的3DES和Arnold加密算法程序,对文本和图像文件进行了对比加密实验,并比较分析了算法的综合加密性能,包括统计特性、敏感性和密钥空间等。

5.1.1 文本文件加密

区域电网互联和电力市场化使得地区电网之间的电力交易日益频繁,电力交易信息的保密通信就显得格外重要,本文选取一个包含电力交易信息的TXT文本文件进行加密实验。复合混沌密码系统40 bit的初始密钥K=DCA23EF6C8,经过映射变换可得K1=0.861 860 074 769 207,K2=0.245 944 914 930 953,K3=200,复合操作采用二进位同或运算,加密操作采用二进位异或运算。

分别采用遗传算法(GA)、PSO算法、ACIPSO算法对复合混沌密码系统的控制参数Kc,Tc1,Tc2进行协调优化整定,得到参数整定结果如表2所示。其中,初始化种群规模为30,最大迭代次数为100,混沌变异迭代次数为10,a1=0.3, a2=0.7,迭代终止条件为:达到最大迭代次数或使式(10)中目标函数适应值|J|≤0.005。

图5为GA,PSO,ACIPSO这3种算法的收敛曲线。与GA和PSO算法相比,ACIPSO算法能从较好的初始状态开始寻优,能在全局范围内找到更优解,且具有更快的收敛速度和更高的收敛精度。可见,ACIPSO算法具有更好的寻优性能。

根据表2复合混沌系统控制参数的协调优化结果,基于MATLAB软件平台对该文本文件进行复合混沌加密实验。同时,为了对比分析本文算法的加密效果,采用目前广泛应用的3DES对称加密算法进行相同条件下的加密实验,得到的文本信息加密结果见附录C图C1。

5.1.2 图像文件加密

待加密图像文件为2008年中国南方某地区输电线路覆冰场景JPG图像,分辨率为352×240,文件大小为17.5 KB。复合混沌密码系统40 bit的初始密钥K=D C652E6AC9,经过映射变换后可以得到K1=0.860 929 274 433 509,K2=0.181 307 698 176 547,K3=201,复合操作采用二进位同或运算,加密操作采用二进位异或运算。

基于二维小波变换理论对明文图像进行小波分解,保留图像低频近似分量作为加密子带图像,小波基函数为sym6,小波分解层次n=2。采用ACIPSO算法对复合混沌密码系统的控制参数进行协调优化整定,结果列于表3中。其中,参数设置和迭代收敛判据同上。

根据表3复合混沌密码系统控制参数的优化整定结果,基于MATLAB软件平台对该图像文件进行复合混沌加密实验。同时,为了比较分析加密效果,分别采用一维混沌系统和Arnold置乱变换进行对比加密实验,得到的图像加密结果见附录C图C2至图C5,其中,Arnold迭代算子[21]为:

[xy]=[1112][xy]modΝ(13)

5.2 统计特性分析

对文本加密实验结果进行统计特性分析,得到不同算法的文本加密效果比较分析如表4所示。

由表4数据可得出以下结论:采用本文提出的复合混沌协调优化加密算法能够有效地实现文本文件加密。与3DES加密算法相比,本文算法具有更好的加密性能,密文与明文的相关性和相似度要小得多,即保密性更好;密文信息更趋均匀分布,即随机性更好;加密速度也更快,即实时性更好。参数协调优化策略使混沌子系统之间得到优化协调,改善了复合混沌系统的加密效果。

文献[5]提出了图像置乱度的概念,认为图像置乱度应该是一个只与图像内容有关,而与像素点位置无关的量值,并给出了图像置乱度的定义:对于图像I,将其分割成l个互不相交的子图像Ilock,k=1,2,…,l,图像I的平均方差σ¯Ι2定义为:

σ¯Ι2=1lk=1l(σlock)2=1lmnk=1li=1mj=1n(Ιlock(i,j)-Ι¯lock)2(14)

式中:Ι¯lock=i=1mj=1nΙlock(i,j)/(mn′)为子图像Ilock的灰度均值。

设明文图像的平均方差为σ¯Ι,s2,密文图像的平均方差为σ¯Ι,e2,则图像I的置乱度Scr,I定义为:

Scr,Ι=σ¯Ι,e2σ¯Ι,s2(15)

图像置乱度用来评价密文图像相对于原始图像“乱”的程度。图像置乱度越大,密文图像相对于原始图像就越乱,图像信息变化越显著,图像的置乱效果就越好,受攻击的概率就越小,保密程度和安全水平也就越高。

对图像加密实验结果进行统计特性分析,得到不同算法的图像加密效果比较分析如表5所示。

由表5数据可得出以下结论:本文提出的小波复合混沌协调优化加密算法对图像加密是可行有效的。与著名的Arnold置乱算法和一维混沌加密算法相比,采用本文算法的密文图像置乱度显著提高,密文图像与明文图像的相关性明显减弱,且密文图像的灰度分布更趋均匀化,从密码学本质层面上改善了图像加密效果,增强了密文图像信息的保密性。

5.3 敏感性分析

为了考察复合混沌系统对初始密钥的敏感依赖性,对密钥K1进行细微改动,得到错误密钥K1r=K1-1×10-15,分别采用密钥K1和K1r对密文文本和密文图像进行解密,得到的解密结果见附录C图C6和图C7。由敏感性测试结果可知,本文提出的复合混沌协调优化加密算法能够准确实现密文信息解密。同时,测试中采用对系统初始密钥进行纳米级细微修改得到的错误密钥(修改幅度为1×10-15)对密文信息进行解密,解密文本信息显示为乱码,解密图像信息显示为均匀噪声,即不能正确解密复原明文信息。

以上敏感性测试结果表明本文算法对初始密钥具有极其敏感的依赖性,初始密钥的细微改变将导致复合混沌密码序列和密文信息的显著变化,从而在极大程度上增加了采用穷举法盲目破解密文信息的难度。

5.4 密钥空间分析

本文构造的小波复合混沌密码系统具有充足的密钥空间。在上述实验中,系统采用40 bit的会话密钥,一维混沌子系统采用16 bit的会话密钥,则复合混沌密码系统的密钥空间将扩增为2×1032,采用穷举法盲目破解密文的计算量和难度成几何级数增加,从而能够抵御统计分析等常见密码攻击,在一定程度上增强了密文信息传输与存储的安全性。

6 结语

本文利用复合混沌序列良好的密码学特性和小波的多分辨分析特征来构造小波复合混沌密码系统,在小波变换空间对明文信息的小波系数进行复合混沌加密。同时,采用改进的ACIPSO算法,对复合混沌系统的控制参数进行全局协调优化整定,增强了系统的混沌特征和随机性,改善了系统的加密效果。对比加密实验结果表明本文提出的基于混沌子系统优化协调机制的复合混沌加密方法是可行有效的,为智能电网广域海量信息的实时保密通信提供了一种新的方法和思路。

附录见本刊网络版(http://aeps.sgepri.sgcc.com.cn/aeps/ch/index.aspx)。

3.寻找最简单的加密方法 篇三

第一招:把文件藏起来

要防止文件被偷看,最简单的方式是将文件和文件夹隐藏,或者更改文件扩展名。由于文件夹没有扩展名,可以用压缩软件将其压缩,然后更改压缩文件的扩展名。只要记住文件扩展名,就不用担心别人能够打开更改扩展名后的重要文件。

设置隐藏属性的方法很简单,老郭也知道怎么操作。但他觉得这个方法太“透明”了。

小刘耐心地说:“还有一招,每个文件都有扩展名,如图片文件jpg等,只要将这类文件扩展名更改,别人也无法打开这个文件。如果是文件夹,可以先将文件夹压缩,比如用用WinRAR压缩后会出现*.rar或*.zip等扩展名,再将扩展名改成*.wav,也无法正常打开文件。当然,文件扩展名一定要记住,不然,后果很严重。所以,建议你不要用这种方式。”

老郭拍了拍小刘的肩膀,“这种方式,时间长了我自己都不一定能记住,再介绍一种吧。”

第二招:《超级兔子》来帮忙

“那得用第三方软件了,就用《超级兔子》吧,它的加密功能是附带的,应该足够你用了。”说完后,小刘立刻到网上下载了一个《超级兔子》(下载地址http://www.pctutu.tom)。

小刘熟练地安装好《超级兔子》,打开主界面内的“超级兔子安全助手”。在对话框左侧,选择“加(解)密文件”选项,软件界面立即提示“加密文件”或“解密文件”。选择“加密文件”后,软件提示选择需要加入的文件。

老郭此时有些糊涂了,“怎么不能加密文件夹?”“你可以将文件夹压缩之后,再添加进来嘛,”小刘不失时机的提醒了一下老郭。

接下来,老郭为加密的文件设置密码,然后将加密文件保存到一个目录中。当一切设置妥当后,文件加密宣告成功。老郭开始自鸣得意,“这么简单,一操作就会了。”小刘点了点头,“如果要解密文件,可在前面设置‘加(解)密文件’选项时,选择‘解密文件’,按提示步骤操作,可将文件解密。”

第三招:系统自带加密最好用

小刘笑道:“先别得意,其实Windows系统其实自带了加密功能,的你知道吗?”

EF是SWin2000版本以上操作系统具有的一种文件加密功能,应用此项功能的前提是磁盘格式必须为NTFS格式。利用EFS功能加密文件或文件夹后,在同一登录用户状态下,可以查看文件。如果以其他用户名登录,就无法打开加密文件。例如,在“Administrator”账号下利用EFS对文件进行加密,采用“USER”账号登陆系统,就无法打开加密文件。

利用EFS功能对文件或文件夹加密,操作步骤十分简单。以WinxP为例,选择需要加密的文件,单击鼠标右键,选择“属性”→“高级”→“加密内容以便保护数据”,点击“确定”后,回到文件“属性”状态下。选择对话框底部的“应用”,会弹出“确认属性更改”对话框,根据提示选择更改的内容。

4.硬盘资料加密方法 篇四

方法一:一般用户硬盘资料加密方法

此方法的思想是,使用组策略工具,将存放着隐私资料的硬盘设置成不可访问。一次选择“开始-运行”,输入gpedit.msc,回车。然后就会出现组策略窗口,依次选择“用户配置”->“管理模板”->Windows组件->“Windows资源管理器”,双击右边的“防止从“我的电脑”访问驱动器”,选择“已启用”,然后在“选择下列组合中的一个”的下拉组合框中选择你希望限制的驱动器,点击确定就可以了。

这样做了之后,如果有人双击被限制的磁盘驱动器,系统将会出现错误提示窗口“本次操作由于这台计算机的限制而被取消。请与您的系统管理员联系”。大部分的 对这种状况就束手无策了。

方法二:修改注册表隐藏磁盘驱动器

通过隐藏磁盘驱动器,我们也可以达到保护磁盘文件之目的,

在注册表的HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer中新建一个DWORD值,命名为NoDrives,并为它赋上相应的值。例如想隐藏驱动器C,就赋上十进制的4(注意一定要在赋值对话框中设置为十进制的4)。如果我们新建的NoDrives想隐藏A、B、C三个驱动器,那么只需要将A、B、C驱动器所对应的DWORD值加起来就可以了。同样的,如果我们需要隐藏D、F、G三个驱动器,那么NoDrives就应该赋值为8+32+64=104。怎么样,应该明白了如何隐藏对应的驱动器吧。目前大部分磁盘隐藏软件的功能都是利用这个小技巧实现的。隐藏之后,WIndows下面就看不见这个驱动器了,就不用担心别人偷窥你的隐私了。

方法三:使用“磁盘管理”组件隐藏磁盘驱动器

操作步骤如下:右键“我的电脑”->“管理”,打开“计算机管理”配置窗口。选择“存储”->“磁盘管理”,选定你希望隐藏的驱动器,右键选择“更改驱动器名和路径”,然后在出现的对话框中选择“删除”即可。

大部分用户在这里不敢选择“删除”,害怕把数据弄丢了,其实这里完全不用担心害怕,实在不行可以先删除一个没数据的磁盘试试!因为系统紧紧删除路径让你找不到!想恢复直接的重复上述步骤添加即可

5.系统加密方法分析论文 篇五

代码如下:

class Cookie

{

/**

* 解密已经加密了的cookie

*

* @param string $encryptedText

* @return string

*/

private static function _decrypt($encryptedText)

{

$key = Config::get(‘secret_key‘);

$cryptText = base64_decode($encryptedText);

$ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);

$iv = mcrypt_create_iv($ivSize, MCRYPT_RAND);

$decryptText = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $cryptText, MCRYPT_MODE_ECB, $iv);

return trim($decryptText);

}

/**

* 加密cookie

*

* @param string $plainText

* @return string

*/

private static function _encrypt($plainText)

{

$key = Config::get(‘secret_key‘);

$ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);

$iv = mcrypt_create_iv($ivSize, MCRYPT_RAND);

$encryptText = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $plainText, MCRYPT_MODE_ECB, $iv);

return trim(base64_encode($encryptText));

}

/**

* 删除cookie

*

* @param array $args

* @return boolean

*/

public static function del($args)

{

$name = $args[‘name‘];

$domain = isset($args[‘domain‘]) ? $args[‘domain‘] : null;

return isset($_COOKIE[$name]) ? setcookie($name, ‘‘, time - 86400, ‘/‘, $domain) : true;

}

/**

* 得到指定cookie的值

*

* @param string $name

*/

public static function get($name)

{

return isset($_COOKIE[$name]) ? self::_decrypt($_COOKIE[$name]) : null;

}

/**

* 设置cookie

*

* @param array $args

* @return boolean

*/

public static function set($args)

{

$name = $args[‘name‘];

$value= self::_encrypt($args[‘value‘]);

$expire = isset($args[‘expire‘]) ? $args[‘expire‘] : null;

$path = isset($args[‘path‘]) ? $args[‘path‘] : ‘/‘;

$domain = isset($args[‘domain‘]) ? $args[‘domain‘] : null;

$secure = isset($args[‘secure‘]) ? $args[‘secure‘] : 0;

return setcookie($name, $value, $expire, $path, $domain, $secure);

}

}

6.系统加密方法分析论文 篇六

近年来,随着多媒体技术和网络通信技术的迅猛发展,信息安全越来越受到重视。因此,提高图像、音频视频等多媒体数据传输的安全性就变得十分必要与迫切。为提高数字图像传输的安全性,我们必须先对数据进行加密再进行传送,目前已有许多混沌图像加密的算法,但其中大部分加密算法都不能抵御已知明文攻击。故本文在现有混沌猫映射运算速度慢、保面积运算等不足之上,采用了一种改进型的三阶混沌系统产生新的混沌序列对图像进行加密的方法。

2 混沌猫映射

混沌猫映射作为传统的图像加密方法,已被广大学者研究数年。混沌猫映射,其定义方程式为:

从上述公式,我们可以看出混沌猫映射是一种保面积、通过反复迭代达到置乱像素点的加密算法。我们对一幅1920*1080像素的图像在嵌入式平台上经过10次迭代,加密时间t=10×1920×1080×20=414720000ns,约为0.4147s。由此,我们可以清晰地看到,猫映射的加密速度并不能达到快速加密图像要求,同时,猫映射只能对正方形的图像进行加密。故在快速加密、图形面积特征等方面,猫映射也存在了一定的使用局限。

3 一种改进型的三阶混沌系统

为弥补上述算法的不足,提高系统运算的运算速率和安全性,我们采用一种改进型的三阶混沌系统产生混沌序列对数字图像进行加密。改进后的三阶混沌系统产生序列方程为:

其中,a11=0.2,a12=0.3,a13=0.1,a21=0.3,a22=0.2,a23=-0.1,a31=0.1,a32=0.1,a33=0.2,e=1.0e5,θ=1.6e3。它将e sin(θ*q(k))作为系统的控制参数,在图像数据发送端利用变量x2(k)经过迭代产生加密混沌序列,将得到的x2(k)与图像数据S(k)进行异或运算,即可得到加密后的数据流q(k),加密后的数据流q(k)再反馈至式(3.1)的第1个和第3个方程,重新生成一组新的x(k),与q(k)一起进入新一轮的迭代。在数据接收端,利用q(k)驱动接收端的混沌系统,使得两端系统同步,数据接收端的解密过程就是加密过程的逆过程。

4 实验结果展示

本系统采用改进后的三阶混沌系统产生的混沌序列,对一幅bmp格式的图像进行加密。图4.1分别展示出了原图像和经过改进型的三阶混沌系统加密后图像。

5 改进型三阶混沌系统算法安全性分析

目前,没有特定严格的数学分析对混沌序列安全性进行测试分析。故对改进型的三阶混沌系统算法进行安全性分析,我们主要从以下两个方面进行:

(1)伪随机性序列NIST测试。NIST测试具有两个性能指标:PROPORTION和P-valuve。PROPORTION是指测试通过率,其值必须大于0.9833;P-valuve主要反映测试序列均匀分布程度,其值必须大于0.00002。若同时满足上述两个条件,则可认为该测试序列安全。

我们对改进型后的三阶混沌系统所产生的混沌序列进行NIST测试,测试结果表明,P-values的测试项Non Overlapping Template、Rank Test、Approximate Entropy三项不满足大于0.00002的测试条件,而Proportion测试项所得数据均大于0.9833,基本满足测试指标。因此可以认为,改进后的三阶混沌系统所产生的测试序列是满足均匀分布的,其所产生的混沌序列安全。

(2)通过直方图分析显示加密前后图像R、G、B三色分量分布情况。

对图4.1原始图像a)和加密图像b)进行直方图统计,对比图像加密前后的RGB直方图,发现加密后的图像RGB直方图发生明显变化,直方图呈现均匀分布,成功实现了原图像的像素分布规律隐藏。具体结果如图5.1所示。

7 小结

本文在混沌猫映射保面积运算且运算速度不高等不足之上,采用了一种运算速度较快、安全性相对较高的改进型三阶混沌系统算法对数字图像数据加密。经NIST测试和直方图分析表明,改进后的三阶混沌算法产生的混沌序列均布均匀,随机性好,安全性高,能有效掩盖图像数据的分布规律,基本达到实验效果。

参考文献

[1]聂海英,朱灿焰等.一种混沌图像加密算法的改进[J].苏州大学学报(自然科学版).2006,22(2):38-44.

[2]马在光,丘水生.基于广义猫映射的一种图像加密系统[J].通信学报,2003,(2):51-57.

[3]徐兵,袁立.基于改进Logistic混沌映射的数字图像加密算法研究[J].计算机测量与控制,2014,(7):2157-2159.

[4]李敬园.基于FPGA的视频混沌加密技术研究[D].广东工业大学.2013.

[5]潘欣裕,赵鹤鸣.Logistic混沌系统的熵特性研究[J].物理学报.2012,61(20):105-111.

[6]马敬奇.基于Wi-Fi和LZW的混沌图像加密及其传输的硬件实现[D].广州:广东工业大学,2015.

[7]肖飞.基于混沌理论的加密算法的研究与应用[D].成都:电子科技大学,2008.

[8]禹思敏.混沌系统与混沌电路:原理、设计及其在通信中的应用[M].西安:西安电子科技大学出版社,2011.

[9]仲兴荣,刘家胜,黄贤武.一种基于混沌猫映射的图像加密算法[J].微电子学与计算机,2007,24(12):131-133,137.

7.数据库加密技术方法的比较研究 篇七

关键词:数据库;加密技术;比较

中图分类号:TP393.092

1 数据库加密技术

数据库加密技术是将数据库中人们能够看懂的数据信息转化为无法识别的数据信息,从而有效避免数据外泄。其中,需要加密的数据统称为明文,而经过转变之后,人们无法看懂的信息则是密文,两者的转化规则即为加密。一般情况下,加密和解密都是在密钥管理中被控制的。

通常,对系统加密时可从三个层次进行:(1)数据库操作系统层加密。即对系统文件直接加密,只需要添加一个中间层,就能够实现加密要求。此方法需要进行数据库的加密或者解密操作,可靠性较低。此外,由于无法生成有效的密钥,也就无法对密钥进行管理控制。因此,此方法只适用于小型数据库,而加密大型数据库则不现实;(2)管理系统内核层加密。即数据在存储到硬件设备之前对信息进行加密及解密。此方法的优势在于难以破解,不会给DBMS带来较大影响,容易将加密与系统融合在一起。不过此方法需要服务器支持,因而会为服务器带来影响,且两者之间需要DBMS生产商提供相应的接口。;(3)在DBMS外层加密。通常是把加密系统当做工具,外围在DBMS上,用户根据自己的实际情况进行加密及解密操作。此方法的优势在于直接在客户端执行,不会为服务器产生任何影响,并顺利完成网络传输。缺点则是难以实现,与系统无法默契的融合在一起。

2 数据库加密的技术方法

数据库数据量比较大,存储时间长,内容繁杂,常需进行大量的查询操作,因此数据库加密操作、解密操作以及密钥管理等内容要满足一定的要求:首先,要确保数据库数据处于一定的安全范围内,因此,加密算法要数据的完整性、保密性得到切实保障,避免相关数据未经授权被访问或者篡改;其次,由于数据库数据较多,常需要进行查询操作,因此要提高加密算法的方便性,尽量避免降低查询效率;再次,数据库组织结构尽量不要都大的变动,要确保明文及密文的长度相当,没有很大差别;最后,数据库数据存储时间长,密钥管理要做到安全、可靠、灵活。目前,对数据库进行加密的研究内容主要是数据库加密/解密引擎的寻找,以及查询、删除及插入等方法上。基于以上内容的加密方法有以下几点:

2.1 秘密同态技术。数据库加密技术的探索方向是研究确保数据库安全性、实用性、简便性的加密方法。為了有效提高数据库的查询效率,有人提出了秘密同态的概念。所谓秘密同态,即假设Ek1代表加密函数,Dk2代表解密函数,明文数据空间中的元素是有效集合{M1,……,Mn},α与β表示运算,假如α(Ek1(M1),……,Ek1(Mn))=Ek1(β(M1,……,Mn))成立,则函数族群(Ek1Dk2、α、β)可以被看做秘密同态。秘密同态技术在数据处于密文的状态下可直接进行操作,因此在很大程度上提高了密文数据库的查询速度。不过此方法对已知明文攻击具有很大的漏洞,缺乏足够的安全性。秘密同态技术可以查询没有被解密的密文,因而提高了密文数据库的查询效率,但是此方法对加密算法有约束条件,因此没有很强的适用性,无法被广泛使用。

2.2 密文索引技术。密文索引技术也可以有效提高数据库查询效率。假设用户的查询属性是A,为其建立的索引是A+,A作为保密内容,用户只能看到其索引A+,如此一来,不仅使用户的查询操作比较方便,还有效提高了数据库数据的安全性。加密粒度中具有为字段、记录等内容进行加密的方法,此方法同样适合建立索引。加密粒度中还具备为属性加密的方法,此加密算法将属性列作为最小加密单元,就算为属性建立索引,也需要在检索过程中解密整个属性列,因此不适合用于建立密文索引。

关于密文索引的建立方法还有很多。比如,分散密文索引技术,此加密技术是以哈希算法为基础的。因为索引数据的地址是按照密文形式存储的,难以获得密文和索引之间的对应关系,虽然可以和低手的静态分析进行抗衡,但无法有效消除动态跟踪技术。以防止内部受攻击的基于元祖的索引方法,对索引查询统一会返回与之匹配的元组,从而降低了查询速度及效率。此外,还有数组索引、顺序索引以及矩阵索引等多种技术。为大型数据库建立索引时,由于其包含的数据量比较大,建立的索引无法全部存储在主存中,可采用B+树的方法把多余的索引存储在外存中,需要采用时再把所需索引调入主存中进行使用。B+树存储方法有较大缺陷,因为数据库常会进行存储、修改或者删除等操作,节点的删减容易导致B+树存储的不平衡,致使查询效率低下。因此,小型数据库则可以采用矩阵形式存放索引,将所有索引存入主存,可有效提高查询速度。目前常使用的密文索引技术大多数防范外部攻击的,少数防范内部攻击的密文索引技术在实用性、安全性及可靠性等方面还是存在较多的安全问题。

2.3 子密钥加密技术。基于数据库的加密方法,主要是以记录为单位进行加密,查询时需要解密整个字段,或者解密需要查询的明文,在一定程度上降低了查询效率。因此子密钥数据库加密技术应运而生。采用多级子密钥可以有效提高子密钥系统的安全性能。从加密算法的核心内容是根据数据库数据组织的特点,以记录为单位实施加密操作,解密时则以字段为单位进行操作。因此,系统中存在两种密钥,即加密记录的密钥和解密字段的密钥。采用子密钥加密技术,弥补了针对记录进行加密的方法的不足之处。不过,由于此系统存在两种密钥,从而在一定程度上提高了密钥管理的难度与复杂性。

3 结束语

数据库加密技术可有效保证数据库的安全性。选择合适、有效的数据库加密技术,能够在很大程度上提高数据库的安全性能。目前,使用的数据库加密技术虽然很多,但各种技术仍然存在不同程度的缺陷,无法充分保障数据库的安全性。因此,我们还要进一步研究数据库加密技术,有效提高数据库的安全性与可靠性,确保系统访问控制不会被黑客攻破,避免数据库信息被泄露。

参考文献:

[1]马文斌.数据库中常用的加密技术[J].同煤科技,2013(02).

[2]李爱英,白艳玲.文件型数据库加密技术分析[J].网络与信息,2012(01).

[3]刘勇.网络数据库加密技术研究与实现探析[J].计算机光盘软件与应用,2014(04).

作者简介:朱振立(1976.07-),男,河北固安人,工程师,本科,研究方向:计算机。

8.系统加密方法分析论文 篇八

为了保护数据,对E盘进行了BitLocker加密,但重装系统后,E盘就无法访问了。双击E盘,并没有密码输入窗口弹出。右击选择“解锁驱动器”也无任何反应。怎么办?

除了重装系统,拆卸包含有BitLocker驱动器加密的硬盘或是将硬盘移动到其它计算机上时,也有可能无法弹出密码输入窗口,无法访问数据。

解决方法:

写在正文前的话:采用 Bitlocker 加密后,从用户的信息安全角度考虑,您必须拥有密码或是密钥中一种才能打开或恢复相关文件。如果遗忘了密码,必须找到备份的密钥才能打开文件。如果密钥也找不到,加密文件基本上就打不开了...

在拥有密钥的情况下,您可以使用管理员命令来为驱动器解锁,具体如下:

在开始菜单中,依次打开“所有程序>附件>命令提示符”。在“命令提示符”上右击鼠标,选择“以管理员身份运行”

若有用户账户控制(UAC)窗口弹出,请允许以继续。

在命令行中键入如下命令:

manage-bde ?Cunlock E: -RecoveryPassword ******

(此处,E代表需要解锁的驱动器盘符。)

注意:“******”部分是BitLocker的恢复密钥而不是我们自己设置的密码(如下图黄色区域);另外,请留意空格。

解锁成功:

提醒:

BitLocker加密解除后,为避免以后再次出现密码窗口无法弹出的情况,最好先为驱动器解锁,然后重新设置一遍BitLocker加密。

9.系统加密方法分析论文 篇九

这篇文章主要介绍了RC4文件加密的python实现方法,实例分析了RC4文件加密的原理与Python实现技巧,需要的朋友可以参考下

本文实例讲述了RC4文件加密的python实现方法,分享给大家供大家参考。具体分析如下:

基于RC4流加密算法,使用扩展的16*16的S盒,32字节密钥。

目前应该是比较安全的。

刚学习python,好不容易调通了。

而且在VC和python下各实现了一遍,两个平台能够互相加解密,很有成就感的说。

下面是python3.0中的实现,在2.x下需要稍加修改。

# for python 3.0# from 李勃import struct,sys,os,binascii“”“ RC4加密算法 16*16 S盒 加密单元:short”“”def RC4(pkey,keylen,pin,dlen): N=65536 S = list(range(N)) j = 0 for i in range(N): j = (j + S[i] + pkey[i%keylen])%N temp = S[i] S[i] = S[j] S[j] = temp i = j = 0 pout= b‘‘ for x in range(dlen): i = i+1 j = (j + S[i])%N temp = S[i] S[i] = S[j] S[j] = temp pout += struct.pack(‘H‘,pin[x]^S[(S[i]+S[j])%N]) return(pout)# bytes->shortdef Coding(data): if(len(data)%2): data+=b‘�‘ dlen = len(data)//2 return(struct.unpack(str(dlen)+‘H‘,data))# short->bytesdef unCoding(data): d=b‘‘ for i in range(len(data)): d += struct.pack(‘H‘,data[i]) return(d)#产生32字节密钥def CreatKey(Keyt): pl = len(Keyt) Key=b‘‘ r=0 for i in range(32): k=(Keyt[r%pl]+i)%256 Key+= struct.pack(‘B‘,k) r+=1 return Key#更新密钥def UpdataKey(Keyt): Key = unCoding(Keyt) #循环左移 Key = Key[1:] + struct.pack(‘B‘,Key[0]) tem=0 #求和 for i in range(len(Key)): tem += Key[i]; Keyo=b‘‘ #Xor for i in range(len(Key)): Keyo += struct.pack(‘B‘,(Key[i]^tem)%256) tem += Keyo[i]>>3 tem = tem % 256 return(Coding(Keyo))if __name__ == ‘__main__‘: #获得输入文件 if len(sys.argv)==1: filename = input(‘源文件: ‘) else: filename = sys.argv[1] try: fin = open(filename,‘rb‘) except: print(‘打开文件失败!‘) input sys.exit() print(filename) #打开输出文件 if filename[-4:]==‘.RC4‘: eID = 1 key=input(‘输入解密密钥: ‘).encode() filename = filename[:-4] else: eID = 2 key=input(‘输入加密密钥: ‘).encode() filename = filename+‘.RC4‘ key = Coding(CreatKey(key)) key = UpdataKey(key) #处理重名 while os.path.exists(ofilename): filename = os.path.dirname(ofilename)+ ‘副本 ‘+ os.path.basename(ofilename) fout = open(ofilename,‘wb‘) print(ofilename) #解密 if eID==1: #读文件长度 filelen = struct.unpack(‘I‘,fin.read(4))[0] print(‘FlieLen =‘,filelen,‘ ......‘) while 1:#读块大小ps= fin.read(2)if not ps: #文件结束 breakpacksize = struct.unpack(‘H‘,ps)[0]#读数据dd=fin.read(packsize)#解密dd=Coding(dd)x = RC4(key,len(key),dd,len(dd))key = UpdataKey(key)#crccrc = struct.unpack(‘I‘,fin.read(4))[0]if binascii.crc32(x)!=crc: print(‘CRC32校验错误!‘,crc,binascii.crc32(x)) input() sys.exit()fout.write(x) #裁剪末尾填充位 fout.truncate(filelen) #加密 elif eID==2: #获得文件长度 fin.seek(0,2) filelen = fin.tell() print(‘FlieLen =‘,filelen,‘ ......‘) fin.seek(0,0) fout.write(struct.pack(‘I‘,filelen)) while 1:#读数据dd=fin.read(65534)if not dd: #文件结束 break#末尾填充srl = len(dd)if srl%2: srl+=1; dd+=b‘�‘#crccrc = struct.pack(‘I‘,binascii.crc32(dd))#加密数据dd=Coding(dd)x = RC4(key,len(key),dd,len(dd))key = UpdataKey(key)#写入文件fout.write(struct.pack(‘H‘,srl))fout.write(x)fout.write(crc) fin.close() fout.close() print(‘OK!‘) input()

上一篇:三上提示语句子练习题下一篇:煤矿综掘队月度总结