加密技术

2024-10-26

加密技术(通用8篇)

加密技术 篇1

我们经常需要一种措施来保护我们的数据,防止被一些怀有不良用心的人所看到或者破坏。在信息时代,信息可以帮助团体或个人,使他们受益,同样,信息也可以用来对他们构成威胁,造成破坏。在竞争激烈的大公司中,工业间谍经常会获取对方的情报。因此,在客观上就需要一种强有力的安全措施来保护机密数据不被窃取或篡改。数据加密与解密从宏观上讲是

非常简单的,很容易理解。加密与解密的一些方法是非常直接的,很容易掌握,可以很方便的对机密数据进行加密和解密。

一:数据加密方法好范文版权所有

在传统上,我们有几种方法来加密数据流。所有这些方法都可以用软件很容易的实现,但是当我们只知道密文的时候,是不容易破译这些加密算法的(当同时有原文和密文时,破译加密算法虽然也不是很容易,但已经是可能的了)。最好的加密算法对系统性能几乎没有影响,并且还可以带来其他内在的优点。例如,大家都知道的,它既压缩数据又加密数据。又如,的一些软件包总是包含一些加密方法以使复制文件这一功能对一些敏感数据是无效的,或者需要用户的密码。所有这些加密算法都要有高效的加密和解密能力。

幸运的是,在所有的加密算法中最简单的一种就是“置换表”算法,这种算法也能很好达到加密的需要。每一个数据段(总是一个字节)对应着“置换表”中的一个偏移量,偏移量所对应的值就输出成为加密后的文件。加密程序和解密程序都需要一个这样的“置换表”。事实上,系列就有一个指令‘’在硬件级来完成这样的工作。这种加密算法比较简单,加密解密速度都很快,但是一旦这个“置换表”被对方获得,那这个加密方案就完全被识破了。更进一步讲,这种加密算法对于黑客破译来讲是相当直接的,只要找到一个“置换表”就可以了。这种方法在计算机出现之前就已经被广泛的使用。

对这种“置换表”方式的一个改进就是使用个或者更多的“置换表”,这些表都是基于数据流中字节的位置的,或者基于数据流本身。这时,破译变的更加困难,因为黑客必须正确的做几次变换。通过使用更多的“置换表”,并且按伪随机的方式使用每个表,这种改进的加密方法已经变的很难破译。比如,我们可以对所有的偶数位置的数据使用表,对所有的奇数位置使用表,即使黑客获得了明文和密文,他想破译这个加密方案也是非常困难的,除非黑客确切的知道用了两张表。

与使用“置换表”相类似,“变换数据位置”也在计算机加密中使用。但是,这需要更多的执行时间。从输入中读入明文放到一个中,再在中对他们重排序,然后按这个顺序再输出。解密程序按相反的顺序还原数据。这种方法总是和一些别的加密算法混合使用,这就使得破译变的特别的困难,几乎有些不可能了。例如,有这样一个词,变换起字母的顺序,可以变为,但所有的字母都没有变化,没有增加也没有减少,但是字母之间的顺序已经变化了。

但是,还有一种更好的加密算法,只有计算机可以做,就是字字节循环移位和操作。如果我们把一个字或字节在一个数据流内做循环移位,使用多个或变化的方向(左移或右移),就可以迅速的产生一个加密的数据流。这种方法是很好的,破译它就更加困难!而且,更进一步的是,如果再使用操作,按位做异或操作,就就使破译密码更加困难了。如果再使用伪随机的方法,这涉及到要产生一系列的数字,我们可以使用数列。对数列所产生的数做模运算(例如模),得到一个结果,然后循环移位这个结果的次数,将使破译次密码变的几乎不可能!但是,使用数列这种伪随机的方式所产生的密码对我们的解密程序来讲是非常容易的。

在一些情况下,我们想能够知道数据是否已经被篡改了或被破坏了,这时就需要产生一些校验码,并且把这些校验码插入到数据流中。这样做对数据的防伪与程序本身都是有好处的。但是感染计算机程序的病毒才不会在意这些数据或程序是否加过密,是否有数字签名。所以,加密程序在每次到内存要开始执行时,都要检查一下本身是否被病毒感染,对与需要加、解密的文件都要做这种检查!很自然,这样一种方法体制应该保密的,因为病毒程序的编写者将会利用这些来破坏别人的程序或数据。因此,在一些反病毒或杀病毒软件中一定要使用加密技术。

循环冗余校验是一种典型的校验数据的方法。对于每一个数据块,它使用位循环移位和操作来产生一个位或位的校验和,这使得丢失一位或两个位的错误一定会导致校验和出错。这种方式很久以来就应用于文件的传输,例如。这是方法已经成为标准,而且有详细的文档。但是,基于标准算法的一种修改算法对于发现加密数据块中的错误和文件是否被病毒感染是很有效的。

二.基于公钥的加密算法

一个好的加密算法的重要特点之一是具有这种能力:可以指定一个密码或密钥,并用它来加密明文,不同的密码或密钥产生不同的密文。这又分为两种方式:对称密钥算法和非对称密钥算法。所谓对称密钥算法就是加密解密都使用相同的密钥,非对称密钥算法就是加密解密使用不同的密钥。非常著名的公钥加密以及加密方法都是非对称加密算法。加密密钥,即公钥,与解密密钥,即私钥,是非常的不同的。从数学理论上讲,几乎没有真正不可逆的算法存在。例如,对于一个输入‘’执行一个操作得到

结果‘’那么我们可以基于‘’,做一个相对应的操作,导出输入‘’。在一些情况下,对于每一种操作,我们可以得到一个确定的值,或者该操作没有定义(比如,除数为)。对于一个没有定义的操作来讲,基于加密算法,可以成功地防止把一个公钥变换成为私钥。因此,要想破译非对称加密算法,找到那个唯一的密钥,唯一的方法只能是反复的试验,而这需要大量的处理时间。

加密算法使用了两个非常大的素数来产生公钥和私钥。即使从一个公钥中通过因数分解可以得到私钥,但这个运算所包含的计算量是非常巨大的,以至于在现实上是不可行的。加密算法本身也是很慢的,这使得使用算法加密大量的数据变的有些不可行。这就使得一些现实中加密算法都基于加密算法。算法以及大多数基于算法的加密方法使用公钥来加密一个对称加密算法的密钥,然后再利用一个快速的对称加密算法来加密数据。这个对称算法的密钥是随机产生的,是保密的,因此,得到这个密钥的唯一方法就是使用私钥来解密。

我们举一个例子:假定现在要加密一些数据使用密钥‘’。利用公钥,使用算法加密这个密钥‘’,并把它放在要加密的数据的前面(可能后面跟着一个分割符或文件长度,以区分数据和密钥),然后,使用对称加密算法加密正文,使用的密钥就是‘’。当对方收到时,解密程序找到加密过的密钥,并利用私钥解密出来,然后再确定出数据的开始位置,利用密钥‘’来解密数据。这样就使得一个可靠的经过高效加密的数据安全地传输和解密。

一些简单的基于算法的加密算法可在下面的站点找到:

三.一个崭新的多步加密算法

现在又出现了一种新的加密算法,据说是几乎不可能被破译的。这个算法在年月日才正式公布的。下面详细的介绍这个算法

使用一系列的数字(比如说位密钥),来产生一个可重复的但高度随机化的伪随机的数字的序列。一次使用个表项,使用随机数序列来产生密码转表,如下所示:

把个随机数放在一个距阵中,然后对他们进行排序,使用这样一种方式(我们要记住最初的位置)使用最初的位置来产生一个表,随意排序的表,表中的数字在到之间。如果不是很明白如何来做,就可以不管它。但是,下面也提供了一些原码(在下面)是我们明白是如何来做的。现在,产生了一个具体的字节的表。让这个随机数产生器接着来产生这个表中的其余的数,好范文版权所有以至于每个表是不同的。下一步,使用技术来产生解码表。基本上说,如果映射到,那么一定可以映射到,所以(是一个在到之间的数)。在一个循环中赋值,使用一个字节的解码表它对应于我们刚才在上一步产生的字节的加密表。

使用这个方法,已经可以产生这样的一个表,表的顺序是随机,所以产生这个字节的随机数使用的是二次伪随机使用了两个额外的位的密码现在,已经有了两张转换表,基本的加密解密是如下这样工作的。前一个字节密文是这个字节的表的索引。或者,为了提高加密效果,可以使用多余位的值,甚至使用校验和或者算法来产生索引字节。假定这个表是的数组将会是下面的样子

变量是加密后的数据,是前一个加密数据(或着是前面几个加密数据的一个函数值)。很自然的,第一个数据需要一个“种子”,这个“种子”是我们必须记住的。如果使用的表,这样做将会增加密文的长度。或者,可以使用你产生出随机数序列所用的密码,也可能是它的校验和。顺便提及的是曾作过这样一个测试使用个字节来产生表的索引以位的密钥作为这个字节的初始的种子。然后,在产生出这些随机数的表之后,就可以用来加密数据,速度达到每秒钟个字节。一定要保证在加密与解密时都使用加密的值作为表的索引,而且这两次一定要匹配

加密时所产生的伪随机序列是很随意的,可以设计成想要的任何序列。没有关于这个随机序列的详细的信息,解密密文是不现实的。例如:一些码的序列,如“可能被转化成一些随机的没有任何意义的乱码,每一个字节都依赖于其前一个字节的密文,而不是实际的值。对于任一个单个的字符的这种变换来说,隐藏了加密数据的有效的真正的长度。

如果确实不理解如何来产生一个随机数序列,就考虑数列,使用个双字(位)的数作为产生随机数的种子,再加上第三个双字来做操作。这个算法产生了一系列的随机数。算法如下:

如果想产生一系列的随机数字,比如说,在和列表中所有的随机数之间的一些数,就可以使用下面的方法:

××××

××××

××××

××

变量中的值应该是一个排过序的唯一的一系列的整数的数组,整数的值的范围均在到之间。这样一个数组是非常有用的,例如:对一个字节对字节的转换表,就可以很容易并且非常可靠的来产生一个短的密钥(经常作为一些随机数的种子)。这样一个表还有其他的用处,比如说:来产生一个随机的字符,计算机游戏中一个物体的随机的位置等等。上面的例子就其本身而言并没有构成一个加密算法,只是加密算法一个组成部分。

作为一个测试,开发了一个应用程序来测试上面所描述的加密算法。程序本身都经过了几次的优化和修改,来提高随机数的真正的随机性和防止会产生一些短的可重复的用于加密的随机数。用这个程序来加密一个文件,破解这个文件可能会需要非常巨大的时间以至于在现实上是不可能的。

四.结论:

由于在现实生活中,我们要确保一些敏感的数据只能被有相应权限的人看到,要确保信息在传输的过程中不会被篡改,截取,这就需要很多的安全系统大量的应用于政府、大公司以及个人系统。数据加密是肯定可以被破解的,但我们所想要的是一个特定时期的安全,也就是说,密文的破解应该是足够的困难,在现实上是不可能的,尤其是短时间内。

《数据加密技术》

加密技术 篇2

19世纪末,法国著名数学家和物理学家庞加莱第一次发现三体运动中的混沌现象。20世纪60年代,美国气象学家洛仑兹在研究气象学时发现了大气运动中的混沌现象,这就是著名的“蝴蝶效应”,混沌系统只要存在初始条件的微小差异,将导致其轨道演化很快变得互不相关,即所谓的“差之毫厘,失之千里”,由于混沌系统具有非周期、连续宽频带、类噪声和长期不可预测等特点,因而特别适用于保密通信等领域。

本文提出了一种将AAC编码技术与混沌加密相结合的一种音频保密系统,首先在加密端将一段原始的音频信号进行AAC编码,对编码之后的音频信号采用二维猫映射混沌加密算法进行加密,在解密端首先用二维猫映射混沌解密算法对编码之后的音频信号进行解密,解密之后再采用AAC解码算法解码,最后在将整个加密和解密系统移植到S3C2410硬件平台Linux系统中,实验结果表明该方案与传统的混沌语音保密系统相比,具有加密解密效率高,硬件资源占用少,解密后音质好,传输所需要带宽小等优点。

1 二维猫映射加密算法

下面将具体阐述猫映射加密算法的相关理论,猫映射如式(1)所示:

[xn+1yn+1]=A[xnyn](mod1)(1)A=[1112](2)

式中mod 1表示只取实数的小数部分。为了将猫映射用于加密,需要对它进行适当处理。首先将猫映射扩展到N×N,并进行离散化,如式(3)所示:

[xn+1yn+1]=A[xnyn](modΝ)(3)

其次,引入加密参数。加密参数的引入可以通过改变矩阵A的元素来获得,为了工程实现可行性,可以采用如下变换阵Ad:

Ad=[ab+1ab1](4)

式中a,b都取小于N的整数。猫映射逆变换公式如式(5)所示:

[xn+1yn+1]=Ad-1[xnyn](bmodΝ)(5)Ad-1=[1-a-bab+1](6)

最后对二维N×N矩阵按行输出即可得到解密后的一维信号。

广义猫映射的状态空间是有限的,所以很有可能不再是混沌的。但从几何上看广义猫映射仍然具有猫映射的拉伸和折叠的特性,这个性质导致原来相邻的两点(i,j)和(i,j+1)经迭代几次后不再相邻,因而仍然具有一定程度的初值敏感性,利用这一点可以将一段语音进行迭代运算若干次,就可以打乱语音的相关性,从而实现语音加密的效果。广义猫映射的逆映射如式(7)所示:

[xnyn]=C-1[xn+1yn+1]modΝ=[a-b-cd][xn+1yn+1]modΝ(7)

为了保证整数运算,正映射时系统的参数都取整数,逆映射的参数也取整数,这样在加密和解密的过程中就不会带来误差,把经过正映射加密了的语音再按逆映射迭代相应的轮数,就可以实现语音的无失真解密。

2 加密方案的设计及实现

2.1 加密方案描述

该方案的具体实现流程是:在发送端首先将原始语音信号进行AAC编码算法FAAC编码,再将编码后的语音文件用二维猫映射混沌加密算法置乱,接着将编码后的语音文件通过TCP/IP传输协议将编码后的语音信号传送到接受端,接收端首先利用二维猫映射逆变换算法解密编码后的文件,然后对解密后的语音文件采用AAC解码算法FAAD解码,最终还原出原始语音信号。具体实现流程如图1所示。

2.2 加密算法的实现

下面以一段语音编码加密为例来阐述加密算法的实现流程过程:

(1)设置加密密钥:猫映射的映射参数a,b和迭代轮数k;

(2) 将AAC编码后语音数据块分成m=N×N,比如一段音频数据块的长度为m=4 096,,则N=64;

(3) 然后利用离散化得猫映射式(3)进行位置置乱;

(4) 循环做k轮置换;

(5) 将分块数据从新堆叠成一个列向量,输出。

完整的解密过程如下:

(1) 设置置解密密钥:猫映射的映射参数a,b和加密轮数k;

(2) 将AAC编码后的数据块m分成m=N×N,比如对音频数据块长取为m=4 096,则N=64;

(3) 然后利用离散化得猫映射逆变换式(6)进行位置置乱;

(4) 循环做k轮置换;

(5)将分块数据重新堆叠成一个列向量,输出。

加密算法实现流程如图2所示。

3 系统的安全性能分析

3.1 参数失配分析

将加密参数分别设置为a=3,b=8,K=64,当解密参数与加密参数完全符合时,能够实现语音信号正常解密,当解密参数其中之一和加密参数不符合,则不能正常解密。加密前后语音信号的频谱和倒谱如图3,图4所示。参数匹配、失配解密语音信号的频谱和倒谱如图5,图6所示。

3.2 相关分析

在测试语音中,选取前4 096个相邻的语音采样点对,记为(xi,yi)。按如下定义的相关系数来计算这4 098个语音幅度值之间的相关性如图7,图8所示。

4 结 语

本文提出了一种基于AAC编码算法与混沌猫映射结合的混沌语音保密方案,可以语音的压缩与加密,并且在嵌入式处理器中移植了该加密算法,实现结果表明该方案是可行的,该方案在保密通信领域具有潜在的实际工程应用前景。

参考文献

[1]黄润生.混沌及其应用[M].武汉:武汉大学出版社,2005.

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

[3]CHEN G,MAO Y B,CHUI C K.A symmetric image en-cryption scheme based on 3Dchaotic cat maps[J].Chaos,Solitons&Fractals,2004,21(3):749-761.

[4]王磊.MPEG-4AAC编码器在TMS320C6416上的实现[D].西安:西安电子科技大学,2007.

[5]吴祥兴,陈忠.混沌学导论[M].上海:上海科学技术出版社,1996.

[6]罗小华,李元彬,罗明伟,等.一种新的四维二次超混沌系统及其电路实现[J].微电子学,2009,39(3):398-401.

[7]王梓坤.论混沌与随机[J].北京师范大学学报:自然科学版,1994(6):68-73.

[8]LORENZ E N.Detemfinistic nonperiodic flow[J].Atmos.Sci.,1963,20:130-141.

[9]LI Yu-xia,WALACE K S,CHEN Guan-rong.Hyperchaosevolved from the generalized lorenz equation[J].Int.J.Ci-re.Theor.App.,2005,33:235-251.

[10]JIA Q.Adaptive control and synchronization of a new hy-perchaotic system with unknown parameters[J].Phys.Letters A,2007,362(5/6):424-429.

[11]ZHANG H.Controlling and tracking hyperchaotic ssler system via active backstepping design[J].Chaos Solit.Fract.,2005,26(2):353-361.

网络加密技术初探 篇3

关键词:密码;转换密码;古典加密;现代加密

中图分类号:TP309.7 文献标识码:A文章编号:1007-9599 (2011)06-0000-01

Network Encryption Technology

Li Jing

(Aspire Information (Beijing) Co.,Ltd.,Baoding071000,China)

Abstract:Password way to hide and protect the information be kept confidential,so that unauthorized persons can not obtain this information. Encryption is the process of data transmission to protect the important method,but also to store the data content in the media as an effective means of protection.Encryption for network security has become an effective and necessary technical means.

Keywords:Password;Conversion password;Classical encryption;Modern encryption

一、密码技术的相关概念

需要加密的信息称为明文(Plaintext)[1],这个明文信息由一个加密函数变换成密文(Ciphertext),这个函数以一个密钥(Key)作为参数, 所以可以用c=E(m,ke)来表达这个加密过程;解密过程[2]基本类似,用一个解密函数和解密密钥对密文进行变换,成为明文,即m=D(c,kd),所以有m=D(E(m,ke),kd)。如果ke=kd,那么这种加密体制称为单钥或对称密码体制(One-Key or Symmetric Cryptosystem)。如果ke≠kd,那么这种加密体制称为双钥或非对称密码体制(Two-Key or Asymmetric Cryptosystem)。这是1976年由Diffie和Hellman等人所开创的新体制。一般加密/解密的函数(算法)是公开的[3],一个算法的强度除了依赖于算法本身以外,还往往与密钥长度有关。通常密钥越长,强度越高,这是因为密钥越长,被猜出的可能性越低。所以,保密性在于一个强度高的算法加上一个长度长的密钥[4]。

二、古典加密技术

置换密码亦称换位密码[5]。置换只不过是一个简单的换位。每个置换都可以用一个置换矩阵来Ek表示。每个置换都有一个与之对应的逆置换Dk。置换密码的特点是仅有一个发送方和接收方知道的加密置换(用于加密)及对应的逆置换(用于解密)。它是对明文L长字母组中的字母位置进行重新排列,而每个字母本身并不改变。

令明文m=m1, m2, …, mL。令置换矩阵所决定的置换为π, 则加密置换

c=Ek(m)=(c1, c2, …, cL)=mπ(1), mπ(2), …,mπ(L)

解密置换:

置换密码:

最后一段长不足5,加添一个字母x。将各段的字母序号按下述置换矩阵进行换位:

得到密文如下:

STIEH EMSLP STSOP EITLB SRPNA TOIIS IOPCN SHXRE

利用下述置换矩阵:

可将密文恢复为明文。

L=5时可能的置换矩阵总数为5!=120,一般为L!个。可以证明,在给定L下所有的置换矩阵构成一个L!对称群。

三、现代加密技术

流密码也称为序列密码,是一类非常重要的对称密码体制。流密码的原理是对输入的明文串按比特进行连续变换,产生连续的密文输出。算法计算流程是对明文消息按一定长度进行分组划分,利用密钥k通过有限状态机产生伪随机序列,使用该序列作为加密分组明文消息的系列密钥,对各分组用系列不同的密钥逐比特进行加密得到密文序列。流密码的理论和方法目前已经有良好的发展和应用,密码学家和相关研究者已提出了一系列的流密码算法,其中有些算法已经广泛地应用于保密通信领域。

流密码的安全性很大程度取决于生成的伪随机序列的好坏,对流密码技术的攻击主要来自于代数和概率统计的方法,目前出现了一些采用两种攻击手段相结合的密码攻击,对流密码的安全性形成了严重的挑战。流密码的实际计算过程是采用加密函数将输入的明文流序列和密钥流序列变换成密文流输出。明文按一定长度分组后被表示成一个序列(称为明文流),序列中的一项称为一个明文字。加密时,先由主密钥产生一个密钥流序列,该密钥流序列的每一项和明文字具有相同的比特长度,称为一个密钥字。然后依次把明文流和密钥流中的对应项输入加密函数,产生相应的密文字,由密文字构成密文流输出。

(一)同步流密码

同步流密码是指密钥流的生成独立于明文流和密文流的流密码。同步流密码要求消息的发送者和接收者使用同一个密钥,并对消息的相同位置进行加解密,即双方必须实现同步才能进行正常的加解密。如果流密码的密文流消息在传输过程中被增删而破坏了双方的同步性,密码系统就无法完成解密。通常系统在同步遭到破坏后,可以通过重新初始化操作来重置同步。防止同步被破坏的方法主要包括:在密文的规则间隔中设置特殊的标记字符,增加明文自身的冗余度使密钥流可以尝试所有可能的偏移来实现解密。如果密文字符在传输过程中被修改但没有字符删除,则仅仅会影响当前信息,并不影响其他密文字符的解密。

(二)自同步流密码

自同步流密码也叫异步流密码,是指密钥流的产生受到明文流和密文流影响的流密码。通常,自同步流密码系统中第i个密钥字的生成不仅仅由主密钥独立决定,还要受到前面已经产生的若干个密文的影响。自同步流密码最大的特点是可以在解密过程中实现自同步。接收端对当前密文字符的解密仅仅依赖于固定个数的已知密文字符,这种密码在消息的同步性遭到插入或删除破坏时,可以对后续密码流自动地重建正确的解密,仅有很少的固定数量明文字符不可恢复。该密码还具有有限错误传播的特性。假设一个自同步流密码的状态依赖于t个以前的密文字符,在传输过程中,当一个单独的密文字符被改动(或增加、删除)时,至多有t个后续的密文字符解密出错,t个字符之后消息的解密可自动恢复正确。

参考文献:

[1]步山岳,张有东.计算机安全技术[M].高等教育出版社,2008,10

[2]谢希仁.计算机网络(第五版)[M].电子工业出版社,2008,1

[3]冯登国.网络安全原理与技术[M].科技出版社,2007,9

[4]张千里,陈光英.网络安全新技术[M].北京:人民邮电出版社,2003

[5]耿麦香.网络入侵检测技术研究综述[J].网络安全,2004(6)

一种新的数据加密技术 篇4

潘晓中 孙 军 杨晓元 王法能

(武警工程学院电子技术系 西安 710086)

【摘要】该文简要介绍了数据加密的一般方法及基于公钥加密算法的方法与步骤,较为详细介绍了多步加密算法的原理与算法。

【关键词】加密算法 密钥 多步加密

A New Data Encryption Techniques

Pan xiaozhong Yang xiaoyuan Wang faneng Sun jun

(Electronic Technology Department,

Engineering

Collegeof

Armed Police Force

Xi’an 710086)

【abstract】The general method about date encryption is introduced in this paper as well as method and steps based on public key encrypted algorithm. The principle and algorithm of multi-step encrypted algorithm is detailedly introduced too. And an applied program about the multi-step encrypted algorithm is given out in this paper.

【key word】encrypted algorithm secret key multi-step encryption

我们处在一个信息时代,人们需要一种强有力的安全措施来保护机密数据不被他人窃取或篡改。数据加密与解密从宏观上讲是非常简单的。加密与解密的一些方法是非常直接的,很容易掌握。因此,可以很方便地对机密数据进行加密和解密。

1、数据加密方法

在传统上,我们有几种方法来加密数据流。所有这些方法都可以用软件很容易的实现,但是当我们只知道密文的时候,是不容易破译这些加密算法的(当同时有原文和密文时,破译加密算法虽然也不是很容易,但已经是可能的了)。最好的加密算法对系统性能几乎没有影响,并且还可以带来其他内在的优点。例如,大家都知道的pkzip,它既压缩数据又加密数据。又如,dbms的一些软件包总是包含一些加密方法以使复制文件这一功能对一些敏感数据是无效的,或者需要用户的密码。所有这些加密算法都要有高效的加密和解密能力。

在所有的加密算法中最简单的一种就是“置换表”算法,这种算法也能很好达到加密的需要。每一个数据段(总是一个字节)对应着“置换表”中的一个偏移量,偏移量所对应的值就输出成为加密后的文件。加密程序和解密程序都需要一个这样的“置换表”。事实上,80x86 cpu系列就有一个指令‘xlat’在硬件级来完成这样的工作。这种加密算法比较简单,加密解密速度都很快,但是一旦这个“置换表”被对方获得,那这个加密方案就完全被识破了。更进一步讲,这种加密算法对于黑客破译来讲是相当直接的,只要找到一个“置换表”就可以了。这种方法在计算机出现之前就已经被广泛地使用。

对这种“置换表”方式的一个改进就是使用2个或者更多的“置换表”,这些表都是基于数据流中字节的位置的,或者基于数据流本身。这时,破译变得更加困难,因为黑客必须正确地做几次变换。通过使用更多的“置换表”,并且按伪随机的方式使用每个表,这种改进的加密方法已经变的很难破译。比如,我们可以对所有的偶数位置的数据使用a

表,对所有的奇数位置使用b表,即使黑客获得了明文和密文,他想破译这个加密方案也是非常困难的,除非黑客确切的知道用了两张表。

与使用“置换表”相类似,“变换数据位置”也在计算机加密中使用。但是,这需要更多的执行时间。从输入中读入明文放到一个buffer中,再在buffer中对他们重排序,然后按这个顺序再输出。解密程序按相反的顺序还原数据。这种方法总是和一些别的加密算法混合使用,这就使得破译变得特别的困难,几乎有些不可能了。例如,有这样一个词,变换其字母的顺序,slient 可以变为listen,但所有的字母都没有变化,没有增加也没有减少,但是字母之间的顺序已经变化了。

但是,还有一种更好的加密算法,只有计算机可以做,就是字/字节循环移位和xor操作。如果我们把一个字或字节在一个数据流内做循环移位,使用多个或变化的方向(左移或右移),就可以迅速的产生一个加密的数据流。这种方法是很好的,破译它就更加困难。而且,更进一步的是,如果再使用xor操作,按位做异或操作,就使破译密码更加困难了。如果再使用伪随机的方法,这涉及到要产生一系列的数字,我们可以使用fibbonaci数列。对数列所产生的数做模运算(例如模3),得到一个结果,然后循环移位这个结果的`次数,将使破译次密码变得几乎不可能!但是,使用

fibbonaci数列这种伪随机的方式所产生的密码对我们的解密程序来讲是非常容易的。

在一些情况下,我们想能够知道数据是否已经被篡改了或被破坏了,这时就需要产生一些校验码,并且把这些校验码插入到数据流中。这样做对数据的防伪与程序本身都是有好处的。但是感染计算机程序的病毒才不会在意这些数据或程序是否加过密,是否有数字签名。所以,加密程序在每次load到内存要开始执行时,都要检查一下本身是否被病毒感染,对与需要加、解密的文件都要做这种检查!很自然,这样一种方法体制应该保密的,因为病毒程序的编写者将会利用这些来破坏别人的程序或数据。因此,在一些反病毒或杀病毒软件中一定要使用加密技术。

循环冗余校验是一种典型的校验数据的方法。对于每一个数据块,它使用位循环移位和xor操作来产生一个16位或32位的校验和 ,这使得丢失一位或两个位的错误一定会导致校验和出错。这种方式很久以来就应用于文件的传输,例如 xmodem-crc。 这是方法已经成为标准,而且有详细的文档。但是,基于标准crc算法的一种修改算法对于发现加密数据块中的错误和文件是否被病毒感染是很有效的。

2.基于公钥的加密算法

一个好的加密算法的重要特点之一是具有这种能力:可以指定一个密码或密钥,并用它来加密明文,不同的密码或密钥产生不同的密文。这又分为两种方式:对称密钥算法和非对称密钥算法。所谓对称密钥算法就是加密解密都使用相同的密钥,非对称密钥算法就是加密解密使用不同的密钥。非常著名的pgp公钥加密以及rsa加密方法都是非对称加密算法。加密密钥,即公钥,与解密密钥,即私钥,是非常的不同的。从数学理论上讲,几乎没有真正不可逆的算法存在。例如,对于一个输入‘a’执行一个操作得到结果‘b’,那么我们可以基于‘b’,做一个相对应的操作,导出输入‘a’。在一些情况下,对于每一种操作,我们可以得到一个确定的值,或者该操作没有定义(比如,除数为0)。对于一个没有定义的操作来讲,基于加密算法,可以成功地防止把一个公钥变换成为私钥。因此,要想破译非对称加密算法,找到那个唯一的密钥,唯一的方法只能是反复的试验,而这需要大量的处理时间。

rsa加密算法使用了两个非常大的素数来产生公钥和私钥。即使从一个公钥中通过因数分解可以得到私钥,但这个运算所包含的计算量是非常巨大的,以至于在现实上是不可行的。加密算法本身也是很慢的,这使得使用rsa算法加密大量的数据变的有些不可行。这就使得一些现实中加密算法都基于rsa加密算法。

加密技术 篇5

加密技术包括两个元素:算法和密钥。算法是将普通的文本(或者可以理解的信息)与一串数字(密钥)的结合,产生不可理解的密文的步骤,密钥是用来对数据进行编码和解码的一种算法。在安全保密中,可通过适当的密钥加密技术和管理机制来保证网络的信息通讯安全。密钥加密技术的密码体制分为对称密钥体制和非对称密钥体制两种。相应地,对数据加密的技术分为两类,即对称加密(私人密钥加密)和非对称加密(公开密钥加密)。对称加密以数据加密标准(DES,Data Encryption Standard)算法为典型代表,非对称加密通常以RSA(Rivest Shamir Ad1eman)算法为代表。对称加密的加密密钥和解密密钥相同,而非对称加密的加密密钥和解密密钥不同,加密密钥可以公开而解密密钥需要保密。编辑本段对称加密技术简介

对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的加密性好,而且对计算机功能要求也没有那么高。IDEA加密标准由PGP(Pretty Good Privacy)系统使用。编辑本段非对称加密技术简介

1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。相对于“对称加密算法”这种方法也叫做“非对称加密算法”。与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

PKI:

编辑本段功能作用

PKI(Public Key Infrastructure 的缩写)是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系。

原有的单密钥加密技术采用特定加密密钥加密数据,而解密时用于解密的密钥与加密密钥相同,这称之为对称型加密算法。采用此加密技术的理论基础的加密方法如果用于网络传输数据加密,则不可避免地出现安全漏洞。因为在发送加密数据的同时,也需要将密钥通过网络传输通知接收者,第三方在截获加密数据的同时,只需再截取相应密钥即可将数据解密使用或进行非法篡改。

区别于原有的单密钥加密技术,PKI采用非对称的加密算法,即由原文加密成密文的密钥不同于由密文解密为原文的密钥,以避免第三方获取密钥后将密文解密。编辑本段证书签发机构CA

CA是证书的签发机构,它是PKI的核心。CA是负责签发证书、认证证书、管理已颁发证书的机关。它要制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。

CA 也拥有一个证书(内含公钥)和私钥。网上的公众用户通过验证 CA 的签字从而信任 CA,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书。

如果用户想得到一份属于自己的证书,他应先向 CA 提出申请。在 CA 判明申请者的身份后,便为他分配一个公钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。

如果一个用户想鉴别另一个证书的真伪,他就用 CA 的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。编辑本段证书

证书实际是由证书签证机关(CA)签发的对用户的公钥的认证。

证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等。目前,证书的格式和验证方法普遍遵循X.509 国际标准。

加密:

我们将文字转换成不能直接阅读的形式(即密文)的过程称为加密。

解密:

我们将密文转换成能够直接阅读的文字(即明文)的过程称为解密。

如何在电子文档上实现签名的目的呢?我们可以使用数字签名。RSA公钥体制可实现对数字信息的数字签名,方法如下:

信息发送者用其私钥对从所传报文中提取出的特征数据(或称数字指纹)进行RSA算法操作,以保证发信人无法抵赖曾发过该信息(即不可抵赖性),同时也确保信息报文在传递过程中未被篡改(即完整性)。当信息接收者收到报文后,就可以用发送者的公钥对数字签名进行验证。

在数字签名中有重要作用的数字指纹是通过一类特殊的散列函数(HASH函数)生成的。对这些HASH函数的特殊要求是:

1.接受的输入报文数据没有长度限制;

2.对任何输入报文数据生成固定长度的摘要(数字指纹)输出;

3.从报文能方便地算出摘要;

4.难以对指定的摘要生成一个报文,而由该报文可以算出该指定的摘要;

5.难以生成两个不同的报文具有相同的摘要。

验证:

收方在收到信息后用如下的步骤验证您的签名:

1.使用自己的私钥将信息转为明文;

2.使用发信方的公钥从数字签名部分得到原摘要;

3.收方对您所发送的源信息进行hash运算,也产生一个摘要;

4.收方比较两个摘要,如果两者相同,则可以证明信息签名者的身份。

如果两摘要内容不符,会说明什么原因呢?

可能对摘要进行签名所用的私钥不是签名者的私钥,这就表明信息的签名者不可信;也可能收到的信息根本就不是签名者发送的信息,信息在传输过程中已经遭到破坏或篡改。编辑本段数字证书简介

数字证书为实现双方安全通信提供了电子认证。在因特网、公司内部网或外部网中,使用数字证书实现身份识别和电子信息加密。数字证书中含有密钥对(公钥和私钥)所有者的识别信息,通过验证识别信息的真伪实现对证书持有者身份的认证。

使用数字证书能做什么?

数字证书在用户公钥后附加了用户信息及CA的签名。公钥是密钥对的一部分,另一部分是私钥。公钥公之于众,谁都可以使用。私钥只有自己知道。由公钥加密的信息只能由与之相对应的私钥解密。为确保只有某个人才能阅读自己的信件,发送者要用收件人的公钥加密信件;收件人便可用自己的私钥解密信件。同样,为证实发件人的身份,发送者要用自己的私钥对信件进行签名;收件人可使用发送者的公钥对签名进行验证,以确认发送者的身份。

在线交易中您可使用数字证书验证对方身份。用数字证书加密信息,可以确保只有接收者才能解密、阅读原文,信息在传递过程中的保密性和完整性。有了数字证书网上安全才得以实现,电子邮件、在线交易和信用卡购物的安全才能得到保证。

认证、数字证书和PKI解决的几个问题?

保密性确认信息发送者的身份。

完整性发送者不能否认已发送的信息。编辑本段加密技术的应用

加密技术的应用是多方面的,但最为广泛的还是在电子商务和VPN上的应用,下面就分别简叙。

1、在电子商务方面的应用

电子商务(E-business)要求顾客可以在网上进行各种商务活动,不必担心自己的信用卡会被人盗用。在过去,用户为了防止信用卡的号码被窃取到,一般是通过电话订货,然后使用用户的信用卡进行付款。现在人们开始用RSA(一种公开/私有密钥)的加密技术,提高信用卡交易的安全性,从而使电子商务走向实用成为可能。

许多人都知道NETSCAPE公司是Internet商业中领先技术的提供者,该公司提供了一种基于RSA和保密密钥的应用于因特网的技术,被称为安全插座层(Secure Sockets Layer,SSL)。

也许很多人知道Socket,它是一个编程界面,并不提供任何安全措施,而SSL不但提供编程界面,而且向上提供一种安全的服务,SSL3.0现在已经应用到了服务器和浏览器上,SSL2.0则只能应用于服务器端。

SSL3.0用一种电子证书(electric certificate)来实行身份进行验证后,双方就可以用保密密钥进行安全的会话了。它同时使用“对称”和“非对称”加密方法,在客户与电子商务的服务器进行沟通的过程中,客户会产生一个Session Key,然后客户用服务器端的公钥将Session Key进行加密,再传给服务器端,在双方都知道Session Key后,传输的数据都是以Session Key进行加密与解密的,但服务器端发给用户的公钥必需先向有关发证机关申请,以得到公证。

基于SSL3.0提供的安全保障,用户就可以自由订购商品并且给出信用卡号了,也可以在网上和合作伙伴交流商业信息并且让供应商把订单和收货单从网上发过来,这样可以节省大量的纸张,为公司节省大量的电话、传真费用。在过去,电子信息交换(Electric Data Interchange,EDI)、信息交易(information transaction)和金融交易(financial transaction)都是在专用网络上完成的,使用专用网的费用大大高于互联网。正是这样巨大的诱惑,才使人们开始发展因特网上的电子商务,但不要忘记数据加密。

2、加密技术在VPN中的应用

现在,越多越多的公司走向国际化,一个公司可能在多个国家都有办事机构或销售中心,每一个机构都有自己的局域网LAN(Local Area Network),但在当今的网络社会人们的要求不仅如此,用户希望将这些LAN连结在一起组成一个公司的广域网,这个在现在已不是什么难事了。

事实上,很多公司都已经这样做了,但他们一般使用租用专用线路来连结这些局域网,他们考虑的就是网络的安全问题。现在具有加密/解密功能的路由器已到处都是,这就使人们通过互联网连接这些局域网成为可能,这就是我们通常所说的虚拟专用网(Virtual Private Network,VPN)。当数据离开发送者所在的局域网时,该数据首先被用户湍连接到互联网上的路由器进行硬件加密,数据在互联网上是以加密的形式传送的,当达到目的LAN的路由器时,该路由器就会对数据进行解密,这样目的LAN中的用户就可以看到真正的信息了。编辑本段安全套接字层(SSL)

SSL是一种广泛实施的公钥加密。SSL最初由网景公司(Netscape)开发,是互联网浏览器和Web服务器用于传输机密信息的互联网安全协议。SSL现在已经成为总体安全协议传输层安全(TLS)的一部分。

在您的浏览器中,您可以通过多种不同方式知道自己什么时候在使用安全协议(例如TLS)。您将注意到,地址行中的“http”中被替换为“https”,在浏览器窗口底部的状态栏中还会看到一个小的挂锁符号。

公钥加密占用大量计算资源,所以大多数系统结合使用公钥和对称密钥。当两台计算机发起安全会话时,一台计算机创建一个对称密钥,并将其发送给使用公钥加密的另一台计算机。然后这两台计算机使用对称密钥加密进行通信。一旦完成会话,每台计算机都会丢弃该会话使用的对称密钥。进行新的会话要求创建新的对称密钥,然后重复上述过程。编辑本段网络加密的四种类型

1、无客户端SSL:SSL的原始应用。在这种应用中,一台主机计算机在加密的链路上直接连接到一个来源(如Web服务器、邮件服务器、目录等)。

2、配置VPN设备的无客户端SSL:这种使用SSL的方法对于主机来说与第一种类似。但是,加密通讯的工作是由VPN设备完成的,而不是由在线资源完成的(如Web或者邮件服务器)。

3、主机至网络:在上述两个方案中,主机在一个加密的频道直接连接到一个资源。在这种方式中,主机运行客户端软件(SSL或者IPsec客户端软件)连接到一台VPN设备并且成为包含这个主机目标资源的那个网络的一部分。

SSL:由于设置简单,SSL已经成为这种类型的VPN的事实上的选择。客户端软件通常是很小的基于Java的程序。用户甚至可能都注意不到。

IPsec:在SSL成为创建主机至网络的流行方式之前,要使用IPsec客户端软件。IPsec仍在使用,但是,它向用户提供了许多设置选择,容易造成混淆。

4、网络至网络:有许多方法能够创建这种类型加密的隧道VPN.但是,要使用的技术几乎总是IPsec.信息加密技术是利用数学或物理手段,对电子信息在传输过程中和存储体内进行保护,以防止泄漏的技术。简介

保密通信,计算机密钥,防复制软盘 等都属于信息加密技术。通信过程

信息加密技术

中的加密主要是采用密码,在数字通信中可利用计算机采用加密法,改变负载信息的数码结构。计算机信息保护则以软件加密为主。目前世界上最流行的几种加密体制和加密算法有:RSA算法和CCEP算法等。为防止破密,加密软件还常采用硬件加密和加密软盘。一些软件商品常带有一种小的硬卡,这就是硬件加密措施。在软盘上用激光穿 孔,使软件的存储区有不为人所知的局部存坏,就可以防止非法复制。这样的加密软盘可以为不掌握加密技术的人员使用,以保护软件。由于计算机软件的非法复制,解密及盗版问题日益严重,甚至引发国际争端,因此对信息加密技术和加密手段的研究与开发,受到各国计算机界的重视,发展日新月异。

编辑本段加密技术应用

在常规的邮政系统中,寄信人用信封隐藏其内容,这就是最基本的保密技术,而在电子商务中,有形的信封就不再成为其代表性的选择。为了实现电子信息的保密性,就必须实现该信息对除特定收信人以外的任何人都是不可读取的。而为了保证共享设计规范的贸易伙伴的信息安全性就必须采取一定的手段来隐藏信息,而隐藏信息的最有效手段便是加密。

保密通信,计算机密钥,防复制软盘等都属于信息加密技术。通信过程中的加密主要是采用密码,在数字通信中可利用计算机采用加密法,改变负载信息的数码结构。计算机信息保护则以软件加密为主。编辑本段加密技术分析

加密就是通过密码算术对数据进行转化,使之成为没有正确密钥任何人都无法读懂的报文。而这些以无法读懂的形式出现的数据一般被称为密文。为了读懂报文,密文必须重新转变为它的最初形式--明文。而含有用来以数学方式转换报文的双重密码就是密钥。在这种情况下即使一则信息被截获并阅读,这则信息也是毫无利用价值的。而实现这种转化的算法标准,据不完全统计,到现在为止已经有近200多种。在这里,主要介绍几种重要的标准。按照国际上通行的惯例,将

信息加密技术

这近200种方法按照双方收发的密钥是否相同的标准划分为两大类:一种是常规算法(也叫私钥加密算法或对称加密算法),其特征是收信方和发信方使用相同的密钥,即加密密钥和解密密钥是相同或等价的。比较著名的常规密码算法有:美国的DES及其各种变形,比如3DES、GDES、New DES和DES的前身Lucifer; 欧洲的IDEA;日本的FEAL N、LOKI?91、Skipjack、RC4、RC5以及以代换密码和转轮密码为代表的古典密码等。在众多的常规密码中影响最大的是DES密码,而最近美国NIST(国家标准与技术研究所)推出的AES将有取代DES的趋势,后文将作出详细的分析。常规密码的优点是有很强的保密强度,且经受住时间的检验和攻击,但其密钥必须通过安全的途径传送。因此,其密钥管理成为系统安全的重要因素。另外一种是公钥加密算法(也叫非对称加密算法)。其特征是收信方和发信方使用的密钥互不相同,而且几乎不可能从加密密钥推导解密密钥。比较著名的公钥密码算法有:RSA、背包密码、McEliece密码、Diffe Hellman、Rabin、Ong Fiat Shamir、零知识证明的算法、椭圆曲线、EIGamal算法等等⑷。最有影响的公钥密码算法是RSA,它能抵抗到目前为止已知的所有密码攻击,而最近势头正劲的ECC算法正有取代RSA的趋势。公钥密码的优点是可以适应网络的开放性要求,且密钥管理问题也较为简单,尤其可方便的实现数字签名和验证。但其算法复杂,加密数据的速率较低。尽管如此,随着现代电子技术和密码技术的发展,公钥密码算法将是一种很有前途的网络安全加密体制。这两种算法各有其短处和长处,在下面将作出详细的分析。1.1 私钥加密算法

在私钥加密算法中,信息的接受者和发送者都使用相同的密钥,所以双方的密钥都处于保密的状态,因为私钥的保密性必须基于密钥的保密性,而非算法上。这在硬件上增加了私钥加密算法的安全性。但同时我们也看到这也增加了一个挑战:收发双方都必须为自己的密钥负责,这种情况在两者在地理上分离显得尤为重要。私钥算法还面临这一个更大的困难,那就是对私钥的管理和分发十分的困难和复杂,而且所需的费用十分的庞大。比如说,一个n个用户的网络就需要派发n(n-1)/2个私钥,特别是对于一些大型的并且广域的网络来说,其管理是一个十分困难的过程,正因为这些因素从而决定了私钥算法的使用范围。而且,私钥加密算法不支持数字签名,这对远距离的传输来说也是一个障碍。另一个影响私钥的保密性的因素是算法的复杂性。现今为止,国际上比较通行的是DES、3DES以及最近推广的AES。

数据加密标准(Data Encryption Standard)是IBM公司1977年为美国政府研制的一种算法。DES是以56 位密钥为基础的密码块加密技术。它的加密过程一般如下:

① 一次性把64位明文块打乱置换。

② 把64位明文块拆成两个32位块;

③ 用机密DES密钥把每个32位块打乱位置16次;

④ 使用初始置换的逆置换。

但在实际应用中,DES的保密性受到了很大的挑战,1999年1月,EFF和分散网络用不到一天的时间,破译了56位的DES加密信息。DES的统治地位受到了严重的影响,为此,美国推出DES的改进版本--三重加密(triple Data Encryption Standard)即在使用过程中,收发双方都用三把密钥进行加解密,无疑这种3*56式的加密方法大大提升了密码的安全性,按现在的计算机的运算速度,这种破解几乎是不可能的。但是我们在为数据提供强有力的安全保护的同时,也要化更多的时间来对信息进行三次加密和对每个密层进行解密。同时在这种前提下,使用这种密钥的双发都必须拥有3个密钥,如果丢失了其中任何一把,其余两把都成了无用的密钥。这样私钥的数量一下又提升了3倍,这显然不是我们想看到的。于是美国国家标准与技术研究所推出了一个新的保密措施来保护金融交易。高级加密标准(Advanced Encryption Standard)美国国家技术标准委员会(NIST)在2000年10月选定了比利时的研究成果“Rijndael”作为AES的基础。“Rijndael”是经过三年漫长的过程,最终从进入候选的五种方案中挑选出来的。

AES内部有更简洁精确的数学算法,而加密数据只需一次通过。AES被设计成高速,坚固的安全性能,而且能够支持各种小型设备。AES与3DES相比,不仅是安全性能有重大差别,使用性能和资源有效利用上也有很大差别。虽然到现在为止,我还不了解AES的具体算法但是从下表可以看出其与3DES的巨大优越性。

还有一些其他的一些算法,如美国国家安全局使用的飞鱼(Skipjack)算法,不过它的算法细节始终都是保密的,所以外人都无从得知其细节类容;一些私人组织开发的取代DES的方案:RC2、RC4、RC5等。1.2 公钥加密算法

面对在执行过程中如何使用和分享密钥及保持其机密性等问题,1975年Whitefield Diffe和Marti Hellman提出了公开的密钥密码技术的概念,被称为Diffie-Hellman技术。从此公钥加密算法便产生了。

由于采取了公共密钥,密钥的管理和分发就变得简单多了,对于一个n个用户的网络来说,只需要2n个密钥便可达到密度。同时使得公钥加密法的保密性全部集中在及其复杂的数学问题上,它的安全性因而也得到了保证。但是在实际运用中,公共密钥加密算法并没有完全的取代私钥加密算法。其重要的原因是它的实现速度远远赶不上私钥加密算法。又因为它的安全性,所以常常用来加密一些重要的文件。自公钥加密问世以来,学者们提出了许多种公钥加密方法,它们的安全性都是基于复杂的数学难题。根据所基于的数学难题来分类,有以下三类系统目前被认为是安全和有效的:大整数因子分解系统(代表性的有RSA)、椭圆曲线离散对数系统(ECC)和离散对数系统(代表性的有DSA),下面就作出较为详细的叙述。

RAS算法是由罗纳多·瑞维斯特(Rivet)、艾迪·夏弥尔(Shamir)和里奥纳多·艾德拉曼(Adelman)联合推出的,RAS算法由此而得名。它的安全性是基于大整数素因子分解的困难性,而大整数因子分解问题是数学上的著名难题,至今没有有效的方法予以解决,因此可以确保RSA算法的安全性。RSA系统是公钥系统的最具有典型意义的方法,大多数使用公钥密码进行加密和数字签名的产品和标准使用的都是RSA算法。它得具体算法如下: ① 找两个非常大的质数,越大越安全。把这两个质数叫做P和Q。

② 找一个能满足下列条件得数字E:

A. 是一个奇数。

B. 小于P×Q。

C. 与(P-1)×(Q-1)互质,只是指E和该方程的计算结果没有相同的质数因子。

③ 计算出数值D,满足下面性质:((D×E)-1)能被(P-1)×(Q-1)整除。

公开密钥对是(P×Q,E)。

私人密钥是D。

公开密钥是E。

解密函数是:

假设T是明文,C是密文。

加密函数用公开密钥E和模P×Q;

加密信息=(TE)模P×Q。

解密函数用私人密钥D和模P×Q;

解密信息=(CD)模P×Q。

椭圆曲线加密技术(ECC)是建立在单向函数(椭圆曲线离散对数)得基础上,由于它比RAS使用得离散对数要复杂得多。而且该单向函数比RSA得要难,所以与RSA相比,它有如下几个优点:

安全性能更高 加密算法的安全性能一般通过该算法的抗攻击强度来反映。ECC和其他几种公钥系统相比,其抗攻击性具有绝对的优势。如160位 ECC与1024位 RSA有相同的安全强度。而210位 ECC则与2048bit RSA具有相同的安全强度。

计算量小,处理速度快 虽然在RSA中可以通过选取较小的公钥(可以小到3)的方法提高公钥处理速度,即提高加密和签名验证的速度,使其在加密和签名验证速度上与ECC有可比性,但在私钥的处理速度上(解密和签名),ECC远比RSA、DSA快得多。因此ECC总的速度比RSA、DSA要快得多。

存储空间占用小 ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多,意味着它所占的存贮空间要小得多。这对于加密算法在IC卡上的应用具有特别重要的意义。

带宽要求低 当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息时ECC带宽要求却低得多。而公钥加密系统多用于短消息,例如用于数字签名和用于对对称系统的会话密钥传递。带宽要求低使ECC在无线网络领域具有广泛的应用前景。

ECC的这些特点使它必将取代RSA,成为通用的公钥加密算法。比如SET协议的制定者已把它作为下一代SET协议中缺省的公钥密码算法。

编辑本段优劣比较

以上综述了两种加密方法的各自的特点,并对他们优劣处作了一个简要的比较,总体来说主要有下面几个方面: 管理方面

第一、在管理方面,公钥密码算法只需要较少的资源就可以实现目的,在密钥的分配上,两者之间相差一个指数级别(一个是n一个是n2)。所以私钥密码算法不适应广域网的使用,而且更重要的一点是它不支持数字签名。安全方面

第二、在安全方面,由于公钥密码算法基于未解决的数学难题,在破解上几乎不可能。对于私钥密码算法,到了AES虽说从理论来说是不可能破解的,但从计算机的发展角度来看。公钥更具有优越性。速度方面

第三、从速度上来看,AES的软件实现速度已经达到了每秒数兆或数十兆比特。是公钥的100倍,如果用硬件来实现的话这个比值将扩大到1000倍。算法方面

第四、对于这两中算法,因为算法不需要保密,所以制造商可以开发出低成本的芯片以实现数据加密。这些芯片有着广泛的应用,适合于大规模生产。总结

纵观这两种算法一个从DES到3DES再到ADES,一个从RSA到ECC。其发展角度无不是从密钥的简单性,成本的低廉性,管理的简易性,算法的复杂性,保密的安全性以及计算的快速性这几个方面去考虑。因此,未来算法的发展也必定是从这几个角度出发的,而且在实际操作中往往把这两种算法结合起来,也需将来一种集两种算法有点于一身的新型算法将会出现,到那个时候,电子商务的实现必将更加的快捷和安全。编辑本段流行算法

目前世界上最流行的几种加密体制和加密算法有:RSA算法和CCEP算法等。为防止破密,加密软件还常采用硬件加密和加密软盘。一些软件商品常带有一种小的硬卡,这就是硬件加密措施。在软盘上用激光穿 孔,使软件的存储区有不为人所知的局部存坏,就可以防止非法复制。这样的加密软盘可以为不掌握加密技术的人员使用,以保护软件。由于计算机软件的非法复制,解密及盗版问题日益严重,甚至引发国际争端,因此对信息加密技术和加密手段的研究与开发,受到各国计算机界的重视,发展日新月异。编辑本段软件保护技术

1、序列号保护

数学算法一项都是密码加密的核心,但在一般的软件加密中,它似乎并不太为人们关心,因为大多数时候软件加密本身实现的都是一种编程的技巧。但近几年来随着序列号加密程序的普及,数学算法在软件加密中的比重似乎是越来越大了。

看看在网络上大行其道的序列号加密的工作原理。当用户从网络上下载某个shareware——共享软件后,一般都有使用时间上的限制,当过了共享软件的试用期后,你必须到这个软件的公司去注册后方能继续使用。注册过程一般是用户把自己的私人信息(一般主要指名字)连同信用卡号码告诉给软件公司,软件公司会根据用户的信息计算出一个序列码,在用户得到这个序列码后,按照注册需要的步骤在软件中输入注册信息和注册码,其注册信息的合法性由软件验证通过后,软件就会取消掉本身的各种限制,这种加密实现起来比较简单,不需要额外的成本,用户购买也非常方便,在互联网上的软件80%都是以这种方式来保护的。

软件验证序列号的合法性过程,其实就是验证用户名和序列号之间的换算关系是否正确的过程。其验证最基本的有两种,一种是按用户输入的姓名来生成注册码,再同用户输入的注册码比较,公式表示如下:

序列号 = F(用户名)

但这种方法等于在用户软件中再现了软件公司生成注册码的过程,实际上是非常不安全的,不论其换算过程多么复杂,解密者只需把你的换算过程从程序中提取出来就可以编制一个通用的注册程序。

另外一种是通过注册码来验证用户名的正确性,公式表示如下:

用户名称 = F逆(序列号)(如ACDSEE)

这其实是软件公司注册码计算过程的反算法,如果正向算法与反向算法不是对称算法的话,对于解密者来说,的确有些困难,但这种算法相当不好设计。

于是有人考虑到以下的算法:

F1(用户名称)= F2(序列号)

F1、F2是两种完全不同的的算法,但用户名通过F1算法计算出的特征字等于序列号通过F2算法计算出的特征字,这种算法在设计上比较简单,保密性相对以上两种算法也要好的多。如果能够把F1、F2算法设计成不可逆算法的话,保密性相当的好;可一旦解密者找到其中之一的反算法的话,这种算法就不安全了。一元算法的设计看来再如何努力也很难有太大的突破,那么二元呢?

特定值 = F(用户名,序列号)

这个算法看上去相当不错,用户名称与序列号之间的关系不再那么清晰了,但同时也失去了用户名于序列号的一一对应关系,软件开发者必须自己维护用户名称与序列号之间的唯一性,但这似乎不是难以办到的事,建个数据库就可以了。当然也可以把用户名称和序列号分为几个部分来构造多元的算法。

特定值 = F(用户名1,用户名2,...序列号1,序列号2...)

现有的序列号加密算法大多是软件开发者自行设计的,大部分相当简单。而且有些算法作者虽然下了很大的功夫,效果却往往得不到它所希望的结果。

2、时间限制

有些程序的试用版每次运行都有时间限制,例如运行10分钟或20分钟就停止工作,必须重新运行该程序才能正常工作。这些程序里面自然有个定时器来统计程序运行的时间。这种方法使用的较少。

3、Key File 保护

Key File(注册文件)是一种利用文件来注册软件的保护方式。Key File一般是一个小文件,可以是纯文本文件,也可以是包含不可显示字符的二进制文件,其内容是一些加密过或未加密的数据,其中可能有用户名、注册码等信息。文件格式则由软件作者自己定义。试用版软件没有注册文件,当用户向作者付费注册之后,会收到作者寄来的注册文件,其中可能包含用户的个人信息。用户只要将该文件放入指定的目录,就可以让软件成为正式版。该文件一般是放在软件的安装目录中或系统目录下。软件每次启动时,从该文件中读取数据,然后利用某种算法进行处理,根据处理的结果判断是否为正确的注册文件,如果正确则以注册版模式来运行。这种保护方法使用也不多。

4、CD-check

即光盘保护技术。程序在启动时判断光驱中的光盘上是否存在特定的文件,如果不存在则认为用户没有正版光盘,拒绝运行。在程序运行的过程当中一般不再检查光盘的存在与否。Windows下的具体实现一般是这样的:先用GetLogicalDriveStrings()或GetLogicalDrives()得到系统中安装的所有驱动器的列表,然后再用GetDriveType()检查每一个驱动器,如果是光驱则用CreateFileA()或FindFirstFileA()等函数检查特定的文件存在与否,并可能进一步地检查文件的属性、大小、内容等。

5、软件狗

软件狗是一种智能型加密工具。它是一个安装在并口、串口等接口上的硬件电路,同时有一套使用于各种语言的接口软件和工具软件。当被狗保护的软件运行时,程序向插在计算机上的软件狗发出查询命令,软件狗迅速计算查询并给出响应,正确的响应保证软件继续运行。如果没有软件狗

软件狗,程序将不能运行,复杂的软硬件技术结合在一起防止软件盗版。真正有商业价值得软件一般都用软件狗来保护。

平时常见的狗主要有“洋狗”(国外狗)和“土狗”(国产狗)。这里“洋狗”主要指美国的彩虹和以色列的HASP,“土狗”主要有金天地(现在与美国彩虹合资,叫“彩虹天地”)、深思、尖石。总的说来,“洋狗”在软件接口、加壳、反跟踪等“软”方面没有“土狗”好,但在硬件上破解难度非常大;而“土狗”在软的方面做的很好,但在硬件上不如“洋狗”,稍有单片机功力的人,都可以复制。

6、软盘加密

通过在软盘上格式化一些非标准磁道,在这些磁道上写入一些数据,如软件的解密密钥等等。这种软盘成为“钥匙盘”。软件运行时用户将软盘插入,软件读取这些磁道中的数据,判断是否合法的“钥匙盘”。

软盘加密还有其它一些技术,如弱位加密等等。随着近年来软盘的没落,这种方法基本上退出了历史舞台。

7、将软件与机器硬件信息结合

用户得到(买到或从网上下载)软件后,安装时软件从用户的机器上取得该机器的一些硬件信息(如硬盘序列号、BOIS序列号等等),然后把这些信息和用户的序列号、用户名等进行计算,从而在一定程度上将软件和硬件部分绑定。用户需要把这一序列号用Email、电话或邮寄等方法寄给软件提供商或开发商,软件开发商利用注册机(软件)产生该软件的注册号寄给用户即可。软件加密虽然加密强度比硬件方法较弱,但它具有非常廉价的成本、方便的使用方法等优点。非常适合做为采用光盘(CDROM)等方式发授软件的加密方案。

此种加密算法的优点:

· 不同机器注册码不同。用户获得一个密码只能在一台机器上注册使用软件。不同于目前大多软件采用的注册方法,即只要知道注册码,可在任何机器上安装注册。

· 不需要任何硬件或软盘

· 可以选择控制软件运行在什么机器、运行多长时间或次数等

· 可让软件在不注册前的功能为演示软件,只能运行一段时间或部分功能。注册后就立即变为正式软件 · 采用特别技术,解密者很难找到产生注册号码的规律

· 在使用注册号产生软件(注册机)时可采用使用密码、密钥盘、总次数限制等方法

· 方便易用,价格低廉。

这种加密还有以下特点:

1、注册加密的软件,只能在一台机器上安装使用。把软件拷贝到其它机器上不能运行。

2、若用户想在另一机器上安装运行,必须把软件在这一机器上运行时的序列号,寄给软件出版商换取注册密码。当然应再交一份软件费用。

3、此加密方法特别适应在因特网上发布的软件及用光盘发布的软件。

所谓数据加密(Data Encryption)技术是指将一个信息(或称明文,plain text)经过加密钥匙(Encryption key)及加密函数转换,变成无意义的密文(cipher text),而接收方则将此密文经过解密函数、解密钥匙(Decryption key)还原成明文。加密技术是网络安全技术的基石。

数据加密技术 要求

数据加密技术要求只有在指定的用户或网络下,才能解除密码而获得原来的数据,这就需要给数据发送方和接受方以一些特殊的信息用于加解密,这就是所谓的密钥。其密钥的值是从大量的随机数中选取的。按加密算法分为专用密钥和公开密钥两种。编辑本段分类 专用密钥

专用密钥,又称为对称密钥或单密钥,加密和解密时使用同一个密钥,即同一个算法。如DES和MIT的Kerberos算法。单密钥是最简单方式,通信双方必须交换彼此密钥,当需给对方发信息时,用自己的加密密钥进行加密,而在接收方收到数据后,用对方所给的密钥进行解密。当一个文本要加密传送时,该文本用密钥加密构成密文,密文在信道上传送,收到密文后用同一个密钥将密文解出来,形成普通文体供阅读。在对称密钥中,密钥的管理极为重要,一旦密钥丢失,密文将无密可保。这种方式在与多方通信时因为需要保存很多密钥而变得很复杂,而且密钥本身的安全就是一个问题。对称密钥

对称密钥是最古老的,一般说“密电码”采用的就是对称密钥。由于对称密钥运算量小、速度快、安全强度高,因而目前仍广泛被采用。

DES是一种数据分组的加密算法,它将数据分成长度为64位的数据块,其中8位用作奇偶校验,剩余的56位作为密码的长度。第一步将原文进行置换,得到64位的杂乱无章的数据组;第二步将其分成均等两段;第三步用加密函数进行变换,并在给定的密钥参数条件下,进行多次迭代而得到加密密文。公开密钥

公开密钥,又称非对称密钥,加密和解密时使用不同的密钥,即不同的算法,虽然两者之间存在一定的关系,但不可能轻易地从一个推导出另一个。有一把公用的加密密钥,有多把解密密钥,如RSA算法。

非对称密钥由于两个密钥(加密密钥和解密密钥)各不相同,因而可以将一个密钥公开,而将另一个密钥保密,同样可以起到加密的作用。

在这种编码过程中,一个密码用来加密消息,而另一个密码用来解密消息。在两个密钥中有一种关系,通常是数学关系。公钥和私钥都是一组十分长的、数字上相关的素数(是另一个大数字的因数)。有一个密钥不足以翻译出消息,因为用一个密钥加密的消息只能用另一个密钥才能解密。每个用户可以得到唯一的一对密钥,一个是公开的,另一个是保密的。公共密钥保存在公共区域,可在用户中传递,甚至可印在报纸上面。而私钥必须存放在安全保密的地方。任何人都可以有你的公钥,但是只有你一个人能有你的私钥。它的工作过程是:“你要我听你的吗?除非你用我的公钥加密该消息,我就可以听你的,因为我知道没有别人在偷听。只有我的私钥(其他人没有)才能解密该消息,所以我知道没有人能读到这个消息。我不必担心大家都有我的公钥,因为它不能用来解密该消息。”

公开密钥的加密机制虽提供了良好的保密性,但难以鉴别发送者,即任何得到公开密钥的人都可以生成和发送报文。数字签名机制提供了一种鉴别方法,以解决伪造、抵赖、冒充和篡改等问题。非对称加密技术

数字签名一般采用非对称加密技术(如RSA),通过对整个明文进行某种变换,得到一个值,作为核实签名。接收者使用发送者的公开密钥对签名进行解密运算,如其结果为明文,则签名有效,证明对方的身份是真实的。当然,签名也可以采用多种方式,例如,将签名附在明文之后。数字签名普遍用于银行、电子贸易等。

数字签名不同于手写签字:数字签名随文本的变化而变化,手写签字反映某个人个性特征,是不变的;数字签名与文本信息是不可分割的,而手写签字是附加在文本之后的,与文本信息是分离的。

值得注意的是,能否切实有效地发挥加密机制的作用,关键的问题在于密钥的管理,包括密钥的生存、分发、安装、保管、使用以及作废全过程。编辑本段网络数据加密的三种技术 概述

在常规密码中,收信方和发信方使用相同的密钥,即加密密钥和解密密钥是相同或等价的。比较著名的常规密码算法有:美国的DES及其各种变形,比如Triple DES、GDES、New DES和DES的前身Lucifer;欧洲的IDEA;日本的FEAL?N、LOKI?91、Skipjack、RC4、RC5以及以代换密码和转轮密码为代表的古典密码等。在众多的常规密码中影响最大的是DES密码。

常规密码的优点是有很强的保密强度,且经受住时间的检验和攻击,但其密钥必须通过安全的途径传送。因此,其密钥管理成为系统安全的重要因素。

在公钥密码中,收信方和发信方使用的密钥互不相同,而且几乎不可能从加密密钥推导解密密钥。比较著名的公钥密码算法有:RSA、背包密码、McEliece密码、Diffe?Hellman、Rabin、Ong?Fiat?Shamir、零知识证明的算法、椭圆曲线、EIGamal算法等等。最有影响的公钥密码算法是RSA,它能抵抗到目前为止已知的所有密码攻击。

公钥密码的优点是可以适应网络的开放性要求,且密钥管理问题也较为简单,尤其可方便的实现数字签名和验证。但其算法复杂,加密数据的速率较低。尽管如此,随着现代电子技术和密码技术的发展,公钥密码算法将是一种很有前途的网络安全加密体制。

当然在实际应用中人们通常将常规密码和公钥密码结合在一起使用,比如:利用DES或者IDEA来加密信息,而采用RSA来传递会话密钥。如果按照每次加密所处理的比特来分类,可以将加密算法分为序列密码和分组密码。前者每次只加密一个比特而后者则先将信息序列分组,每次处理一个组。

密码技术是网络安全最有效的技术之一。一个加密网络,不但可以防止非授权用户的搭线窃听和入网,而且也是对付恶意软件的有效方法之一。

一般的数据加密可以在通信的三个层次来实现:链路加密、节点加密和端到端加密。链路加密

对于在两个网络节点间的某一次通信链路,链路加密能为网上传输的数据提供安全保证。对于链路加密(又称在线加密),所有消息在被传输之前进行加密,在每一个节点对接收到的消息进行解密,然后先使用下一个链路的密钥对消息进行加密,再进行传输。在到达目的地之前,一条消息可能要经过许多通信链路的传输。

由于在每一个中间传输节点消息均被解密后重新进行加密,因此,包括路由信息在内的链路上的所有数据均以密文形式出现。这样,链路加密就掩盖了被传输消息的源点与终点。由于填充技术的使用以及填充字符在不需要传输数据的情况下就可以进行加密,这使得消息的频率和长度特性得以掩盖,从而可以防止对通信业务进行分析。

尽管链路加密在计算机网络环境中使用得相当普遍,但它并非没有问题。链路加密通常用在点对点的同步或异步线路上,它要求先对在链路两端的加密设备进行同步,然后使用一种链模式对链路上传输的数据进行加密。这就给网络的性能和可管理性带来了副作用。

在线路/信号经常不通的海外或卫星网络中,链路上的加密设备需要频繁地进行同步,带来的后果是数据丢失或重传。另一方面,即使仅一小部分数据需要进行加密,也会使得所有传输数据被加密。

在一个网络节点,链路加密仅在通信链路上提供安全性,消息以明文形式存在,因此所有节点在物理上必须是安全的,否则就会泄漏明文内容。然而保证每一个节点的安全性需要较高的费用,为每一个节点提供加密硬件设备和一个安全的物理环境所需要的费用由以下几部分组成:保护节点物理安全的雇员开销,为确保安全策略和程序的正确执行而进行审计时的费用,以及为防止安全性被破坏时带来损失而参加保险的费用。

在传统的加密算法中,用于解密消息的密钥与用于加密的密钥是相同的,该密钥必须被秘密保存,并按一定规则进行变化。这样,密钥分配在链路加密系统中就成了一个问题,因为每一个节点必须存储与其相连接的所有链路的加密密钥,这就需要对密钥进行物理传送或者建立专用网络设施。而网络节点地理分布的广阔性使得这一过程变得复杂,同时增加了密钥连续分配时的费用。节点加密

尽管节点加密能给网络数据提供较高的安全性,但它在操作方式上与链路加密是类似的:两者均在通信链路上为传输的消息提供安全性;都在中间节点先对消息进行解密,然后进行加密。因为要对所有传输的数据进行加密,所以加密过程对用户是透明的。

然而,与链路加密不同,节点加密不允许消息在网络节点以明文形式存在,它先把收到的消息进行解密,然后采用另一个不同的密钥进行加密,这一过程是在节点上的一个安全模块中进行。

节点加密要求报头和路由信息以明文形式传输,以便中间节点能得到如何处理消息的信息。因此这种方法对于防止攻击者分析通信业务是脆弱的。端到端加密

端到端加密允许数据在从源点到终点的传输过程中始终以密文形式存在。采用端到端加密(又称脱线加密或包加密),消息在被传输时到达终点之前不进行解密,因为消息在整个传输过程中均受到保护,所以即使有节点被损坏也不会使消息泄露。

端到端加密系统的价格便宜些,并且与链路加密和节点加密相比更可靠,更容易设计、实现和维护。端到端加密还避免了其它加密系统所固有的同步问题,因为每个报文包均是独立被加密的,所以一个报文包所发生的传输错误不会影响后续的报文包。此外,从用户对安全需求的直觉上讲,端到端加密更自然些。单个用户可能会选用这种加密方法,以便不影响网络上的其他用户,此方法只需要源和目的节点是保密的即可。

端到端加密系统通常不允许对消息的目的地址进行加密,这是因为每一个消息所经过的节点都要用此地址来确定如何传输消息。由于这种加密方法不能掩盖被传输消息的源点与终点,因此它对于防止攻击者分析通信业务是脆弱的。

PTT加密技术

科发源研究出针对加密手术的专利技术PTT,主要特点是可见缝插针,不损伤自身其他头发,可以加到很密的效果。国内一般移植器械针对头发加密不能尽善尽美,一次种植数量不会很多,而且器械粗糙导致其他毛囊受损,科发源的PTT加密技术克服也这一缺陷。密钥加密技术

密钥技术提供的加密服务可以保证在开放式环境中网络传输的安全。通常大量使用的两种密钥加密技术是:私用密钥(对称加密)和公共密钥(非对称加密)。

在私用密钥机制中,信息采用发送方和接收方保存的私有的密钥进行加密。这种系统假定双方已经通过一些人工方法交换了密钥,并且采用的密钥交换方式并不危及安全性。

公共密钥机制为每个用户产生两个相关的密钥。一个由用户私下保存(私钥),另一个放于公共区(公钥)。如果某人想给你发送消息,他(她)用你的公开密钥对信息加密。当收到信息后,你可以用私存的密钥对信息解密。SSL加密技术

为了保护敏感数据在传送过程中的安全,全球许多知名企业采用SSL(Security Socket Layer)加密机制。SSL是Netscape公司所提出的安全保密协议,在浏览器(如Internet Explorer、Netscape Navigator)和Web服务器(如Netscape的Netscape Enterprise Server、ColdFusion Server等等)之间构造安全通道来进行数据传输,SSL运行在TCP/IP层之上、应用层之下,为应用程序提供加密数据通道,它采用了RC4、MD5以及RSA等加密算法,使用40 位的密钥,适用于商业信息的加密。同时,Netscape公司相应开发了HTTPS协议并内置于其浏览器中,HTTPS实际上就是HTTP over SSL,它使用默认端口443,而不是像HTTP那样使用端口80来和TCP/IP进行通信。HTTPS协议使用SSL在发送方把原始数据进行加密,然后在接受方进行解密,加密和解密需要发送方和接受方通过交换共知的密钥来实现,因此,所传送的数据不容易被网络黑客截获和解密。

然而,加密和解密过程需要耗费系统大量的开销,严重降低机器的性能,相关测试数据表明使用HTTPS协议传输数据的工作效率只有使用HTTP协议传输的十分之一。假如为了安全保密,将一个网站所有的Web应用都启用SSL技术来加密,并使用HTTPS协议进行传输,那么该网站的性能和效率将会大大降低,而且没有这个必要,因为一般来说并不是所有数据都要求那么高的安全保密级别

编辑本段SSL协议的工作方式。

客户端要收发几个握手信号:

发送一个ClientHello消息,说明它支持的密码算法列表、压缩方法及最高协议版本,也发送稍后将被使用的随机数。然后收到一个ServerHello消息,包含服务器选择的连接参数,源自客户端初期所提供的ClientHello。当双方知道了连接参数,客户端与服务器交换证书(依靠被选择的公钥系统)。这些证书通常基于X.509,不过已有草案支持以OpenPGP为基础的证书。服务器请求客户端公钥。客户端有证书即双向身份认证,没证书时随机生成公钥。客户端与服务器通过公钥保密协商共同的主私钥(双方随机协商),这通过精心谨慎设计的伪随机数功能实现。结果可能使用Diffie-Hellman交换,或简化的公钥加密,双方各自用私钥解密。所有其他关键数据的加密均使用这个“主密钥”。数据传输中记录层(Record layer)用于封装更高层的HTTP等协议。记录层数据可以被随意压缩、加密,与消息验证码压缩在一起。每个记录层包都有一个Content-Type段用以记录更上层用的协议。

文件加密技术

文件加密是一种常见的密码学应用。文件加密技术是下面三种技术的结合(1)密码技术.包括对称密码和非对称密码,可能是分组密码,也可能采用序列密码文件加密的底层技术是数据加密。

(2)操作系统。文件系统是操作系统的重要组成部分。对文件的输入输出操作或文件的组织和存储形式进行加密也是文件加密的常用于段。对动态文件进行加密尤其需要熟悉文件系统的细节。文件系统与操作系统其他部分的关联,如设备管理、进程管理和内存管理等,都可被用于文件加密。

(3)文件分析技术。不同的文件类型的语义操作体现在对该文件类型进行操作的应用程序中,通过分析文件的语法结构和关联的应用程序代码而进行一些置换和替换,在实际应用中经常可以达到一定的文件加密效果。

利用以上技术文件加密主要包括以下内容。

(1)文件的内容加密通常采用二进制加密的方法

(2)文件的属性加密

(3)文件的输入输出和操作过程的加密,即动态文件加密

通常一个完整的文件加密系统包括操作系统的核心驱动、设备接口、密码服务组件和应用层几个部分。

水印加密技术

原始图片在压缩前通过摄像机的自身特性及前端软件叠字加的违法信息,同时要用用一种技术(暂称为防伪水印加密技术),对违法图象和违法数据进行加密,防止图像被非法修改,确保证据的真实性和有效性。

不对称加密技术

公共密钥加密技术不对称加密技术:允许任何人对信息进行加密处理后,将它发送给另一个人,而不需要预先交换密钥。但该过程对于互相了解的或属于同一组织的两个人之间是不可行的。在公共密钥加密过程中,实现Internet上的敏感数据报文的交换,需要提供两种密钥支持:公共密钥和私人密钥。公共密钥是由其主人加以公开的,而私人密钥必须保密存放。为发送一份保密报文,发送者必须使用接收者的公共密钥对数据进行加密,一旦加密,只有接收方用其私人密钥才能加以解密。换句话说,如果A要向 B 发送经过加密的数据,那么 A 使用 B 的公共密钥对将要发送的数据进行加密处理,而 B 使用对应的私人密钥才可以对由 A 发送的那些加密数据解密。公开密钥加密技术

(public key crypto-system)

l976年,Diffie和Hellman首次提非对称加密出公开密钥加密体制,即每个人都有一对密钥,其中一个为公开的,一个为私有的。发送信息时用对方的公开密钥加密,收信者用自己的私用密钥进行解密。公开密钥加密算法的核心是运用一种特殊的数学函数一单向陷门函数,即从一个方向求值是容易的。但其逆向计算却很困难,从而在实际上成为不可行的。公开密钥加密技术它不仅保证了安全性又易于管理。其不足是加密和解密的时间长。

公开密钥密码编码学的发展是整个密码编码学历史上最大的而且也许是唯一真正的革命。公开密钥密码编码学与传统的方法不同:一方面它是基于数学函数;更为重要的是,它是非对称的。公钥系统对于保密通信、密钥分配和鉴别等领域有着深远的影响。

公开密钥密码体制的产生主要是因为两个方面的原因,一是由于常规密钥密码体制分配(distribution)问题,另一是由于对数字签名的需求。公钥方法是一种与过去所有密码编码学截然不同的方法。公钥用于:密钥分配、机密性和认证。

加密技术 篇6

进入信息时代后,企业越来越重视通讯信息化的建设,通过信息化管理的手段来加强企业的内部管理。但是,信息化建设的全部不仅仅是购买几台电脑,安装一套邮件系统。没有安全技术的防护,信息化管理效率和安全系数都会大打折扣。选择一款合适的邮件服务器软件,相比之下,创造一个安全、方便的网络通讯环境,U-Mail邮件系统的安全技术值得借鉴。

之前有重点介绍U-Mail邮件网关是防护往来信息安全的核心关卡。其实,为切实将信息安全全方位保护,U-Mail同时还利用加密技术,给邮件安全再加一把锁。因为邮件在网络传输过程中,也很容易被“窃听”。因为没有加密内容,所以,只要窃听者获得邮件内容,不需要任何的解密动作,就可以清楚邮件的内容。可见邮件若在网络中明文传输,是非常不安全的。

在U-Mail邮件服务器中,加密是一种更改邮件信息的方式。他通过对邮件的内容按照一定的规则进行重新编码,在网络传输的过程中,就以新的编码进行传输。如此,即使邮件偷窥者窃取邮件,但是,因为其得不到解密的方法,所以,其得到的邮件内容也是一堆无用的乱码。邮件到达收件人后,会自动解密。如此,对于发送方或者收件方来说,都是透明的,他们不需要关心加密、解密的具体细节。

若对邮件进行加密处理的话,可以带来两个好处。

1、实现邮件内容的保密性。邮件加密用来保护电子邮件的内容,只有预期的收件人才可以看到邮件。也就是说,我们采用邮件加密功能看,不仅在邮件传输过程中,邮件是安全的;而且到了收件人的地方,若不是预期的收件人,还是不能查看邮件的内容。加密在邮件传输过程中与邮件存储过程中,均提供一定的保密性。

2、实现数据的完整性。在之前的介绍中,我提到过利用邮件的数字签名来保障邮件在传输过程中不被非法修改。利用加密功能对数据进行完整性验证,也是类似的处理方法。在邮件发送时,服务器会先对邮件进行加密,若中间传输过程中,邮件被篡改的话,这个加密信息就会无用。在收件方,对邮件进行解密的过程中,就会失败。如此,就保证了数据的完整性。而且,因为邮件本身就是加密的,其他人要对其进行邮件,也没有多大的可行性。除非是恶意的加载一些病毒。

那邮件加密技术是如何实现的呢?

我们可以分为两个过程来看起实现过程,一个是发件人如何加密,一个是收件人如何解密。电子邮件从编辑、发送、接收整个传送过程中,如何保证邮件信息的安全,防止被企业内部有心人士、互联网上的黑客和病毒窃取邮件信息或者篡改,杜绝企业内部资料外泄,这是对邮件系统安全性能的一大考验。

U-Mail邮件系统对邮件整个传送过程中,采用数据签名和传输数据加密,最大限度的保证企业邮件通讯的安全。U-Mail是基于先进PKI-CA的安全机制,采用标准的SMTP/SSL、POP3/SSL、S/MIME协议, 满足企业、政府、学院、个人在Internet上安全收发电子邮件的需求,保证信息传递的安全。

浅析加密技术 篇7

1 加密的由来

密码学是研究如何隐密地传递信息的学科。在现代特别指对信息以及其传输的数学性研究,常被认为是数学和计算机科学的分支,和信息论也密切相关。著名的密码学者Ron Rivest解释道:“密码学是关于如何在敌人存在的环境中通讯”,自工程学的角度,这相当于密码学与纯数学的异同。密码学是信息安全等相关议题,如认证、访问控制的核心。密码学的首要目的是隐藏信息的涵义,并不是隐藏信息的存在。密码学也促进了计算机科学,特别是在于电脑与网络安全所使用的技术,如访问控制与信息的机密性。密码学已被应用在日常生活:包括自动柜员机的芯片卡、电脑使用者存取密码、电子商务等等。

加密作为保障数据安全的一种方式,其实也不是什么新生事物,早在几个世纪前就诞生了。当时埃及人是最先使用特别的象形文字作为信息编码的,随着时间推移,巴比伦、美索不达米亚和希腊文明都开始使用一些方法来保护他们的书面信息。近期加密技术主要应用于军事领域,随着计算机的发展,运算能力的增强,过去的密码都变得十分简单了,于是人们又不断地研究出了新的数据加密方式,如利用ROSA算法产生的私钥和公钥就是在这个基础上产生的。

2 加密的概念

加密技术是利用技术的手段把需要加密的数据变为别人看不懂的信息传送,到达目的后再用一定的技术还原。因此,数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。在安全保密中,可以通过适当的加密技术来保证网络信息的安全和完整。

3 两种加密方法和加密技术中的摘要函数

3.1 两种加密方法

经典的加密技术通常分为两大类:“对称式”和“非对称式”。对称式加密又称为专用密钥技术,发送方和接受方拥有相同的密钥,发送方用密钥编码,接受方用该密钥解码,即使双方的密码不同,也能从一方的密钥推导出另一个密钥。实际上就是加密和解密使用同一个密钥,通常称之为“Session Key”,这种加密技术目前被广泛采用,如美国政府所采用的DES加密标准就是一种典型的“对称式”加密法,它的Session Key长度为56Bits。非对称式加密又称为公开密钥加密,接受信息方首先会选择一组只有自己知道懂得密钥,根据此密钥计算相应得到公钥,并公开传送给发送消息的一方。消息发送方利用公钥加密信息后发给对方。实际上就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必须配对使用,否则不能打开加密文件。这里的“公钥”是指可以对外公布的,“私钥”则不能,只能由持有人一个人知道。而非对称式的加密方法有两个密钥,且其中的“公钥”是可以公开的,也就不怕别人知道,收件人解密时只要用自己的私钥即可以,这样就很好地避免了密钥的传输安全性问题。

3.2 加密技术中的摘要函数

加密技术中的摘要是一种防止改动的方法。它有这样一个性质,即如果改变了输入消息中的任何东西,甚至只有一位,输出的摘要将会发生不可预测的改变,也就是说输入消息的每一位对输出摘要都有影响。摘要中用到的函数称为摘要函数。这些函数的输入可以是任意大小的消息,而输出是一个固定长度的摘要。摘要算法的数字签名原理在很多加密算法中都被使用。现在流行的摘要函数有MAD和MAD,但要记住客户机和服务器必须使用相同的算法,无论是MAD还是MAD,MAD客户机不能和MAD服务器交互。

4 加密技术的应用

加密技术的应用是多方面的,但最为广泛的还是在电子商务和VPN上的应用。

4.1 在电子商务方面的应用

在过去,用户为了防止信用卡的号码被窃取到,一般是通过电话订货,然后使用用户的信用卡进行付款。现在,顾客可以在网上进行各种经济交易,不必担心自己的信用卡会被人盗用。RSA(一种公开/私有密钥)的加密技术,就是一种相对安全的加密技术,使用该加密技术可以提高信用卡交易的安全性,从而使电子商务走向普遍实用成为可能。

一种基于RSA和保密密钥的应用于因特网的技术,被称为安全插座层。该技术不但能够提供编程界面,而且向上提供一种安全的服务,现在已经应用到了服务器和浏览器上。它是实行身份进行验证后,双方就可以用保密密钥进行安全的会话了。它同时使用“对称”和“非对称”加密方法。

4.2 加密技术在VPN(Virtual Private Network)中的应用

现在很多公司会将多个局域网LAN连结在一起组成一个公司的广域网,但考虑到价格和网络的安全问题,他们一般使用租用专用线路来连结这些局域网。现在具有加密/解密功能的路由器已到处都是,这就使人们通过互联网连接这些局域网成为可能,这就是我们通常所说的虚拟专用网。当数据离开发送者所在的局域网时,该数据首先被用户湍连接到互联网上的路由器进行硬件加密,数据在互联网上是以加密的形式传送的,当达到目的LAN的路由器时,该路由器就会对数据进行解密,这样目的LAN中的用户就可以看到真正的信息了。

5 结束语

近年来产生了很多加密技术,为电子商务的安全性提供了很大的保障,从一定程度了促进了电子商务的发展。同时,电子商务的发展对安全提出了越来越高的要求。因此,加密技术从理论研究进入应用领域还有很多需要进一步完善的地方。

摘要:针对网络安全问题的突出性,该文从加密的概念、方法和应用进行阐述,以便提高对加密技术的理解,从而强调我国发展安全体系的重要性及建立网络安全体系的必要性。

关键词:网络安全,加密,安全体系

参考文献

[1]刘益和,沈昌祥.基于加密解密过程的信息流模型[J].哈尔滨工业大学学报,2009(11).

[2]BIBA K J.Integrity Considerations for Secure Computing Systems,Mitre Report MTR一3153[R].Bedford:Mitre Corporation,1975.

[3]贾义,赵楠.信息安全和RSA[J].教育理论与实践,2009(12):59-60.

[4]刘少英,黄雄.网络安全和数据加密技术[J].软件导刊,2009(l2).

数据加密技术之我见 篇8

[关键词]黑客程序 加密技术 加密算法 密钥

随着网络技术的发展,网络安全也就成为当今网络社会的焦点中的焦点,几乎没有人不在谈论网络上的安全问题,病毒、黑客程序、邮件炸弹、远程侦听等都无不让人胆战心惊。现代的电脑加密技术就是适应了网络安全的需要而应运产生的,它为我们进行一般的电子商务活动提供了安全保障,如在网络中进行文件传输、电子邮件往来和进行合同文本的签署等。

数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。

加密技术通常分为两大类:“对称式”和“非对称式”。

对称式加密就是加密和解密使用同一个密钥,通常称之为“Session Key”。这种加密技术目前被广泛采用,如美国政府所采用的DES加密标准就是一种典型的“对称式”加密法,它的Session Key长度为56Bits。

非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件。这里的“公钥”是指可以对外公布的,“私钥”则不能,只能由持有人一个人知道。它的优越性就在这里,因为对称式的加密方法如果是在网络上传输加密文件就很难把密钥告诉对方,不管用什么方法都有可能被别窃听到。而非对称式的加密方法有两个密钥,且其中的“公钥”是可以公开的,也就不怕别人知道,收件人解密时只要用自己的私钥即可以,这样就很好地避免了密钥的传输安全性问题。

幸运的是,在所有的加密算法中最简单的一种就是“置换表”算法,这种算法也能很好达到加密的需要。每一个数据段(总是一个字节)对应着“置换表”中的一个偏移量,偏移量所对应的值就输出成为加密后的文件。加密程序和解密程序都需要一个这样的“置换表”。事实上,80x86 cpu系列就由一个指令“xlat”在硬件级完成这样的工作。这种加密算法比较简单,加密解密速度都很快,但是一旦这个“置换表”被对方获得,那这个加密方案就完全被识破了。更进一步讲,这种加密算法对于黑客破译来讲是相当直接的,只要找到一个“置换表”就可以了。这种方法在计算机出现之前就已经被广泛的使用。

对这种“置换表”方式的一个改进就是使用2个或者更多的“置换表”,这些表都是基于数据流中字节的位置的,或者基于数据流本身。这时,破译变得更加困难,因为黑客必须正确地做几次变换。通过使用更多的“置换表”,并且按伪随机的方式使用每个表,这种改进的加密方法已经变得很难破译。比如,我们可以对所有的偶数位置的数据使用a表,对所有的奇数位置使用b表,即使黑客获得了明文和密文,他想破译这个加密方案也是非常困难的,除非黑客确切地知道用了两张表。

与使用“置换表”相类似,“变换数据位置”也在计算机加密中使用。但是,这需要更多的执行时间。从输入中读入明文放到一个buffer中,再在buffer中对他们重排序,然后按这个顺序再输出。解密程序按相反的顺序还原数据。这种方法总是和一些别的加密算法混合使用,这就使得破译变的特别的困难,幾乎有些不可能了。例如,有这样一个词,变换起字母的顺序,slient 可以变为listen,但所有的字母都没有变化,没有增加也没有减少,但是字母之间的顺序已经变化了。

但是,还有一种更好的加密算法,只有计算机可以做,就是字/字节循环移位和xor操作。如果我们把一个字或字节在一个数据流内做循环移位,使用多个或变化的方向(左移或右移),就可以迅速的产生一个加密的数据流。这种方法是很好的,破译它就更加困难。而且,更进一步的是,如果再使用xor操作,按位做异或操作,就使破译密码更加困难了。如果再使用伪随机的方法,这涉及到要产生一系列的数字,我们可以使用fibbonaci数列。对数列所产生的数做模运算,得到一个结果,然后循环移位这个结果的次数,将使破译次密码变的几乎不可能。但是,使用fibbonaci数列这种伪随机的方式所产生的密码对我们的解密程序来讲是非常容易的。

在一些情况下,我们想知道数据是否已经被篡改了或被破坏了,这时就需要产生一些校验码,并且把这些校验码插入到数据流中。循环冗余校验是一种典型的校验数据的方法。对于每一个数据块,它使用位循环移位和xor操作来产生一个16位或32位的校验码,这使得丢失一位或两个位的错误一定会导致校验和出错。这种方式很久以来就应用于文件的传输,例如xmodem-crc,这是方法已经成为标准,而且有详细的文档。但是,基于标准crc算法的一种修改算法对于发现加密数据块中的错误和文件是否被病毒感染是很有效的。

总之,网络安全是一个综合性的课题,涉及技术、管理、使用等许多方面,一种技术只能解决一方面的问题,而不是万能的。因此只有严格的保密政策、明晰的安全策略以及高素质的网络管理人才,才能保证信息的完整性和确证性。

参考文献

上一篇:办公室沟通时应注意的礼仪下一篇:市“公交出行宣传周”活动方案