信息加密技术Word文件下载.docx

上传人:b****5 文档编号:21662675 上传时间:2023-01-31 格式:DOCX 页数:31 大小:415.40KB
下载 相关 举报
信息加密技术Word文件下载.docx_第1页
第1页 / 共31页
信息加密技术Word文件下载.docx_第2页
第2页 / 共31页
信息加密技术Word文件下载.docx_第3页
第3页 / 共31页
信息加密技术Word文件下载.docx_第4页
第4页 / 共31页
信息加密技术Word文件下载.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

信息加密技术Word文件下载.docx

《信息加密技术Word文件下载.docx》由会员分享,可在线阅读,更多相关《信息加密技术Word文件下载.docx(31页珍藏版)》请在冰豆网上搜索。

信息加密技术Word文件下载.docx

加密密钥解密密钥

||

明文→“加密”→密文→“解密”→明文

有时候,加密密钥=解密密钥(对称加密时)。

假设E为加密算法,D为解密算法,P为明文则数据的加密解密数学表达式为:

P=D(KD,E(KE,P))。

数据加密技术

数据加密技术主要分为数据传输加密和数据存储加密。

数据传输加密技术主要是对传输中的数据流进行加密,常用的有链路加密、节点加密和端到端加密三种方式。

(1)链路加密是传输数据仅在物理层上的数据链路层进行加密,不考虑信源和信宿,它用于保护通信节点间的数据。

接收方是传送路径上的各台节点机,数据在每台节点机内都要被解密和再加密,依次进行,直至到达目的地。

(2)与链路加密类似的节点加密方法是在节点处采用一个与节点机相连的密码装置,密文在该装置中被解密并被重新加密,明文不通过节点机,避免了链路加密节点处易受攻击的缺点。

(3)端到端加密是为数据从一端到另一端提供的加密方式。

数据在发送端被加密,在接收端解密,中间节点处不以明文的形式出现。

端到端加密是在应用层完成的。

在端到端加密中,数据传输单位中除报头外的报文均以密文的形式贯穿于全部传输过程,只是在发送端和接收端才有加、解密设备,而在中间任何节点报文均不解密。

因此,不需要有密码设备,同链路加密相比,可减少密码设备的数量。

另一方面,数据传输单位由报头和报文组成的,报文为要传送的数据集合,报头为路由选择信息等(因为端到端传输中要涉及到路由选择)。

在链路加密时,报文和报头两者均须加密。

而在端到端加密时,由于通路上的每一个中间节点虽不对报文解密,但为将报文传送到目的地,必须检查路由选择信息。

因此,只能加密报文,而不能对报头加密。

这样就容易被某些通信分析发觉,而从中获取某些敏感信息。

链路加密对用户来说比较容易,使用的密钥较少,而端到端加密比较灵活,对用户可见。

在对链路加密中各节点安全状况不放心的情况下也可使用端到端加密方式。

数据加密算法

数据加密算法有很多种,密码算法标准化是信息化社会发展的必然趋势,是世界各国保密通信领域的一个重要课题。

按照发展进程来分,经历了古典密码、对称密钥密码和公开密钥密码阶段。

古典密码算法有替代加密、置换加密;

对称加密算法包括DES和AES;

非对称加密算法包括RSA、背包密码、McEliece密码、Rabin、椭圆曲线、EIGamalD_H等。

目前在数据通信中使用最普遍的算法有DES算法、RSA算法和PGP算法等。

1.DES加密算法

DES是一种对二元数据进行加密的算法,数据分组长度为64位,密文分组长度也是64位,使用的密钥为64位,有效密钥长度为56位,有8位用于奇偶校验,解密时的过程和加密时相似,但密钥的顺序正好相反。

DES算法的弱点是不能提供足够的安全性,因为其密钥容量只有56位。

由于这个原因,后来又提出了三重DES或3DES系统,使用三个不同的密钥对数据块进行三次(或两次)加密,该方法比进行三次普通加密快。

其强度大约和112位的密钥强度相当。

2.RSA算法

RSA算法既能用于数据加密,也能用于数字签名。

RSA的理论依据为:

寻找两个大素数比较简单,而将它们的乘积分解开的过程则异常困难。

在RSA算法中,包含两个密钥,加密密钥PK和解密密钥SK,加密密钥是公开的,其加密与解密方程为:

PK={e,n},SK={d,n}。

其中n=p×

q,p∈[0,n-1],p和q均为很大的素数,这两个素数是保密的。

RSA算法的优点是密钥空间大,缺点是加密速度慢,如果RSA和DES结合使用,则正好弥补RSA的缺点。

即DES用于明文加密,RSA用于DES密钥的加密。

由于DES加密速度快,适合加密较长的报文;

而RSA可解决DES密钥分配的问题。

数据加密技术的发展

1.密码专用芯片集成

密码技术是信息安全的核心技术,无处不在,目前已经渗透到大部分安全产品之中,正向芯片化方向发展。

在芯片设计制造方面,目前微电子工艺已经发展到很高水平,芯片设计的水平也很高。

我国在密码专用芯片领域的研究起步落后于国外,近年来我国集成电路产业技术的创新和自我开发能力得到了加强,微电子工业得到了发展,从而推动了密码专用芯片的发展。

加快密码专用芯片的研制将会推动我国信息安全系统的完善。

2.量子加密技术的研究

量子技术在密码学上的应用分为两类:

一类是利用量子计算机对传统密码体制的分析;

另一类是利用单光子的测不准原理在光纤一级实现密钥管理和信息加密,即量子密码学。

量子计算机相当于一种传统意义上的超大规模并行计算系统,利用量子计算机可以在几秒钟内分解RSA129的公钥。

根据互联网的发展,全光纤网络将是今后网络连接的发展方向,利用量子技术可以实现传统的密码体制,在光纤一级完成密钥交换和信息加密,其安全性是建立在Heisenberg的测不准原理上的,如果攻击者企图接收并检测信息发送方的信息(偏振),则将造成量子状态的改变,这种改变对攻击者而言是不可恢复的,而对收发方则可很容易地检测出信息是否受到攻击。

目前量子加密技术仍然处于研究阶段(在我国处于领先地位),其量子密钥分配QKD在光纤上的有效距离还达不到远距离光纤通信的要求。

数据加密标准DES与IDEA

数据加密标准DES思想

1973年,美国国家标准局(NBS)在认识到建立数据保护标准既明显又急迫的情况下,开始征集联邦数据加密标准的方案。

1975年3月17日,NBS公布了IBM公司提供的密码算法,以标准建议的形式在全国范围内征求意见。

经过两年多的公开讨论之后,1977年7月15日,NBS宣布接受这个建议,作为联邦信息处理标准46号数据加密标准(DataEncryptionStandard),即DES正式颁布,供商业界和非国防性政府部门使用。

根据密钥类型不同将现代密码技术分为两类:

一类是对称加密(秘密钥匙加密)系统,另一类是公开密钥加密(非对称加密)系统。

目前最著名的对称加密算法有数据加密标准DES和欧洲数据加密标准IDEA等。

随后DES成为全世界使用最广泛的加密标准。

对称式密码是指收发双方使用相同密钥的密码,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。

传统的密码都属于对称式密码。

非对称式密码是指收发双方使用不同密钥的密码,现代密码中的公共密钥密码就属于非对称式密码。

对称加密算法的主要优点是加密和解密速度快,加密强度高,且算法公开,但其最大的缺点是实现密钥的秘密分发困难,在有大量用户的情况下密钥管理复杂,而且无法完成身份认证等功能,不便于应用在网络开放的环境中。

加密与解密的密钥和流程是完全相同的,区别仅仅是加密与解密使用的子密钥序列的施加顺序刚好相反。

DES密码体制的安全性应该不依赖于算法的保密,其安全性仅以加密密钥的保密为基础。

  

但是,经过二十多年的使用,已经发现DES很多不足之处,对DES的破解方法也日趋有效。

AES(高级加密标准)将会替代DES成为新一代加密标准。

非对称加密算法的优点是能适应网络的开放性要求,密钥管理简单,并且可方便地实现数字签名和身份认证等功能,是目前电子商务等技术的核心基础。

其缺点是算法复杂,加密数据的速度和效率较低。

因此在实际应用中,通常将对称加密算法和非对称加密算法结合使用,利用DES或者IDEA等对称加密算法来进行大容量数据的加密,而采用RSA等非对称加密算法来传递对称加密算法所使用的密钥,通过这种方法可以有效地提高加密的效率并能简化对密钥的管理。

对称密码系统的安全性依赖于以下两个因素。

第一,加密算法必须是足够强的,仅仅基于密文本身去解密信息在实践上是不可能的;

第二,加密方法的安全性依赖于密钥的秘密性,而不是算法的秘密性,因此,我们没有必要确保算法的秘密性,却需要保证密钥的秘密性。

对称加密系统的算法实现速度极快,从AES候选算法的测试结果看,软件实现的速度都达到了每秒数兆或数十兆比特。

对称密码系统的这些特点使其有着广泛的应用。

因为算法不需要保密,所以制造商可以开发出低成本的芯片以实现数据加密。

这些芯片有着广泛的应用,适合于大规模生产。

对称加密系统最大的问题是密钥的分发和管理非常复杂、代价高昂。

比如对于具有n个用户的网络,需要n(n-1)/2个密钥,在用户群不是很大的情况下,对称加密系统是有效的。

但是对于大型网络,当用户群很大并分布很广时,密钥的分配和保存就成了大问题。

对称加密算法另一个缺点是不能实现数字签名。

  

通过定期在通信网络的源端和目的端同时改用新的Key,便能更进一步提高数据的保密性,这正是现在金融交易网络的流行做法。

公开密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。

由于加密钥匙是公开的,密钥的分配和管理就很简单,比如对于具有n个用户的网络,仅需要2n个密钥。

公开密钥加密系统还能够很容易地实现数字签名。

因此,最适合于电子商务应用需要。

在实际应用中,公开密钥加密系统并没有完全取代对称密钥加密系统,这是因为公开密钥加密系统是基于尖端的数学难题,计算非常复杂,它的安全性更高,但它的实现速度却远赶不上对称密钥加密系统。

在实际应用中可利用二者各自的优点,采用对称加密系统加密文件,采用公开密钥加密系统加密“加密文件”的密钥(会话密钥),这就是混合加密系统,它较好地解决了运算速度问题和密钥分配管理问题。

因此,公钥密码体制通常被用来加密关键性的、核心的机密数据,而对称密码体制通常被用来加密大量的数据。

 

DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,如信用卡持卡人的PIN的加密传输,IC卡与POS间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。

DES算法的入口参数有三个:

Key、Data和Mode。

其中Key为8个字节共64位,是DES算法的工作密钥;

Data也为8个字节64位,是要被加密或被解密的数据;

Mode为DES的工作方式,有两种:

加密或解密。

DES算法是这样工作的:

如Mode为加密,则用Key去把数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;

如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。

在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。

这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。

对于详细算法的学习可以参考其他书目或者上网搜索,这里不再赘述。

IDEA算法

IDEA是一个迭代分组密码,分组长度为64位,密钥长度为128位。

IDEA密码中使用了以下三种不同的运算。

(1)逐位异或运算。

(2)模216加运算。

(3)模216+1乘运算,0与216对应。

IDEA算法是由8轮迭代和随后的一个输出变换组成。

它将64位的数据分成4个子块,每个16位,令这4个子块作为迭代第一轮的输出,全部共8轮迭代。

每轮迭代都是4个子块彼此间以及16位的子密钥进行异或,模216加运算,模216+1乘运算。

除最后一轮外把每轮迭代输出的4个子块的第2和第3子块互换。

该算法所需要的“混淆”可通过连续使用3个“不相容”的群运算于两个16位子块来获得,并且该算法所选择使用的MA(乘加)结构可提供必要的“扩散”。

公开密钥算法

公开密钥算法(Public-Key 

Algorithm,也叫非对称算法):

作为加密的密钥不同于作为解密的密钥,而且解密密钥不能根据加密密钥计算出来(至少在合理假定的长时间内)。

之所以叫做公开密钥算法,是因为加密密钥能够公开,即陌生人可以用加密密钥加密信息,但只有用相应的解密密钥才能解密信息。

加密密钥也叫做公开密钥(PublicKey,简称公钥),解密密钥叫作私人密钥(Private 

Key,简称私钥)。

注意,上面说到的用公钥加密,私钥解密是应用于通信领域中的信息加密。

在共享软件加密算法中,我们常用的是用私钥加密,公钥解密,即公开密钥算法的另一用途——数字签名。

关于公开密钥算法的安全性我们引用一段话:

“公开密钥算法的安全性都是基于复杂的数学难题。

根据所给予的数学难题来分类,有以下三类系统目前被认为是安全和有效的:

大整数因子分解系统(代表性的有RSA),离散对数系统(代表性的有DSA,ElGamal)和椭圆曲线离散对数系统(代表性的有ECDSA)”。

常见的公开密钥算法列示于下。

(1)RSA:

能用于信息加密和数字签名。

(2)ElGamal:

(3)DSA:

能用于数字签名。

(4)ECDSA:

公开密钥算法将成为共享软件加密算法的主流,因为它的安全性好(当然还是作者的使用)。

以RSA为例,当N的位数大于1024后(强素数),现在认为分解困难。

公开密钥最主要的特点就是加密和解密使用不同的密钥,每个用户保存着一对密钥:

公开密钥PK和秘密密钥SK。

因此,这种体制又称为双钥或非对称密钥密码体制。

在这种体制中,PK是公开信息,用作加密密钥,而SK需要由用户自己保密,用作解密密钥。

加密算法E和解密算法D也都是公开的。

虽然SK与PK是成对出现,但却不能根据PK计算出SK。

公开密钥算法的特点如下所述。

(1)用加密密钥PK对明文X加密后,再用解密密钥SK解密,即可恢复出明文,或写为:

DSK(EPK(X))=X。

(2)加密密钥不能用来解密,即DPK(EPK(X))≠X。

(3)在计算机上可以容易地产生成对的PK和SK。

(4)从已知的PK实际上不可能推导出SK。

(5)加密和解密的运算可以对调,即EPK(DSK(X))=X。

在公开密钥密码体制中,最有名的一种是RSA体制。

它已被ISO/TC97的数据加密技术分委员会SC20推荐为公开密钥数据加密标准。

RSA公开密钥密码系统

1976年,Dittie和Hellman为解决密钥管理问题,在他们的奠基性的工作“密码学的新方向”一文中,提出一种密钥交换协议,允许在不安全的媒体上通过通信双方交换信息,安全地传送秘密密钥。

在此新思想的基础上,很快出现了非对称密钥密码体制,即公钥密码体制。

在公钥体制中,加密密钥不同于解密密钥,加密密钥公之于众,谁都可以使用;

解密密钥只有解密人自己知道。

它们分别称为公开密钥和秘密密钥。

在迄今为止的所有公钥密码体系中,RSA系统是最著名、使用最多的一种。

RSA公开密钥密码系统是由R.Rivest、A.Shamir和L.Adleman于1977年提出的。

RSA的取名就是来自于这三位发明者的姓的第一个字母。

下面主要讲述RSA算法的基本要素。

RSA的安全性依赖于大数分解。

公开密钥和私有密钥都是两个大素数(大于100个十进制位)的函数。

下面描述密钥对是如何产生的。

(1)选择两个大素数p和q,计算n=p×

q,φ(n)=(p-1)×

(q-1)。

(2)随机选择和φ(n)互质的数d,要求d<φ(n)。

(3)利用Euclid算法计算e,满足:

d

1mod(p-1)×

(q-1),即d、e的乘积和1模φ(n)同余。

(4)于是,数(n,e)是加密密钥,(n,d)是解密密钥。

两个素数p和q不再需要,应该丢弃,不要让任何人知道。

加密信息m时,首先把m分成等长数据块m1,m2,…,mi,块长s,其中2s≤n,s尽可能的大。

对应的密文

ci=

modn(a)

解密时做如下计算:

mi=

modn(b)

RSA也可用于数字签名,方案是用(a)式签名,(b)式验证。

具体操作时考虑到安全性和m信息量较大等因素,一般是先做HASH运算。

对于巨大的质数p和q,计算乘积n=p×

q非常简便,而逆运算却非常难,这是一种“单向性”,相应的函数称为“单向函数”。

任何单向函数都可以作为某一种公开密钥密码系统的基础,而单向函数的安全性也就是这种公开密钥密码系统的安全性。

RSA算法安全性的理论基础是大数的因子分解问题至今没有很好的算法,因而公开e和n不易求出p、q及d。

RSA算法要求p和q是两个足够大的素数(例如100位十进制数)且长度相差比较小。

为了说明该算法的工作过程,下面给出一个简单例子,显然在这里只能取很小的数字,但是如上所述,为了保证安全,在实际应用上我们所用的数字要大得多。

例:

选取p=3,q=11,则n=33,φ(n)=(p-1)×

(q-1)=20。

选取d=13(大于p和q的数,且小于φ(n),并与φ(n)互质,即最大公约数是1),通过e×

13=1mod20,计算出e=17(大于p和q,与φ(n)互质)。

假定明文为整数M=8。

则密文C为

C=Memodn

=817mod33

=2251799813685248mod33

=2

复原明文M为

M=Cdmodn

=213mod33

=8192mod33

=8

因为e和d互逆,公开密钥加密方法也允许采用这样的方式对加密信息进行“签名”,以便接收方能确定签名不是伪造的。

假设A和B希望通过公开密钥加密方法进行数据传输,A和B分别公开加密算法和相

应的密钥,但不公开解密算法和相应的密钥。

A和B的加密算法分别是ECA和ECB,解

密算法分别是DCA和DCB,ECA和DCA互逆,ECB和DCB互逆。

若A要向B发送明

文P,不是简单地发送ECB(P),而是先对P施以其解密算法DCA,再用加密算法ECB对

结果加密后发送出去。

密文C为

C=ECB(DCA(P))

B收到C后,先后施以其解密算法DCB和加密算法ECA,得到明文P。

ECA(DCB(C))

=ECA(DCB(ECB(DCA(P))))    /*DCB和ECB相互抵消*/

=ECA(DCA(P))          /*DCA和ECA相互抵消*/

=P 

这样B就确定报文确实是从A发出的,因为只有当加密过程利用了DCA算法,用ECA

才能获得P,只有A才知道DCA算法,任何人,即使是B也不能伪造A的签名。

RSA的实用性

在CA系统中,公开密钥系统主要用于对秘密密钥(在CA系统中称控制字——Control- Word用于对数据码流进行加扰)的加密过程。

每个用户如果想要对数据进行加密和解密,都需要生成一对自己的密钥对(KeyPair)。

密钥对中的公开密钥和非对称加密解密算法是公开的,但私有密钥则应该由密钥的主人妥善保管。

对数据信息进行加密传输的实际过程是:

发送方生成一个秘密密钥并对数据流用秘密密钥(控制字)进行加扰,然后用网络把加扰后的数据流传输到接收方。

发送方生成一对密钥,用公开密钥对秘密密钥(控制字)进行加密,然后通过网络传输到接收方。

接收方用自己的私有密钥(存放在接收机智能卡中)进行解密后得到秘密密钥(控制字),然后用秘密密钥(控制字)对数据流进行解扰,得到数据流的解密形式。

因为只有接收方才拥有自己的私有密钥,所以其他人即使得到了经过加密的秘密密钥(控制字),也因为无法进行解扰而保证了秘密密钥(控制字)的安全性,从而也保证了传输数据流的安全性。

实际上,在数据传输过程中实现了两个加密解密过程,即数据流本身的加解扰和秘密密钥(控制字)的加密解密,这分别通过秘密密钥(控制字)和公开密钥来实现。

RSA的实用考虑

RSA公开密钥密码体制的安全性取决于从公开密钥(n,e)计算出私有密钥(n,d)的困难程度,而后者则等同于从n找出它的两个质因数p和q。

因此,寻求有效的因数分解的算法就是寻求击破RSA公开密钥密码系统的关键。

显然,选取大数n是保障RSA算法的一种有效办法,RSA实验室认为,512位的n已不够安全,1997年或1998年后应停止使用。

他们建议,现在的个人应用需要用768位的n,公司要用1024位的n,极其重要的场合应该用2048位的n。

RSA实验室还认为,768位的n可望到2004年仍保持安全。

不对称密钥密码体制(即公开密钥密码体制)与对称密钥密码体制相比较,确实有其不可取代的优点,但它的运算量远大于后者,超过几百倍、几千倍甚至上万倍,要复杂得多。

在公共媒体网络上全都用公开密钥密码体制来传送机密信息是没有必要的,也是不现实的。

在计算机系统中使用对称密钥密码体制已有多年,既有比较简便可靠的、久经考验的方法,如以DES(数据加密标准)为代表的分块加密算法(及其扩充DESX和TripleDES);

也有一些新的方法发表,如由RSA公司的Rivest研制的专有算法RC2、RC4和RC5等,其中RC2和RC5是分块加密算法,RC4是数据流加密算法。

如果传送机密信息的网络用户双方使用某个对称密钥密码体制(例如DES),同时使用RSA不对称密钥密码体制来传送DES的密钥,就可以综合发挥两种密码体制的优点,即DES的高速简便性和RSA密钥管理的方便和安全性。

另外,RSA算法还有以下缺点:

(1)产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。

(2)安全性,RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价,而且密码学界多数人士倾向于因子分解不是NPC问题。

目前,人们已能分解140多个十进制位的大素数,这就要求使用更长的密钥,速度更慢;

另外,目前人们正在积极寻找攻击RSA的方法,如选择密文攻击,一般攻击者是将某一信息做一下伪装(Blind),让拥有私钥的实体签署。

然后,经过计算就可得到它所想要的信息。

实际上,攻击利用的都是同一个弱点,即存在这样一个事实:

乘幂保留了输入的乘法结构。

(XM)d=Xd×

Mdmodn

前面已经提到,这个固有的问题来自于公钥密码系统的最有用的特征——每个人都能使用公钥。

但从算法上无法解决这一问题,主要措施有两条:

一条是采用好的公钥协议,保证工作过程中实体不对其他实体任意产生的信息解密,不对自己一无所知的信息签名;

另一条是绝不对陌生人送来的随机文档签名,签名时首先使用One-WayHashFunction对文档做HASH处理,或

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1