搜档网
当前位置:搜档网 › 对称密钥密码

对称密钥密码

对称密钥密码
对称密钥密码

1引言

计算机的发展给人类带来了前所未有的便利,以计算机信息技术为手段的企业信息化建设,已成为企业必不可少的部分。计算机CAD技术高速度、高精度和高效等的优点,已经逐步取代手工设计,广泛应用于产品设计工作中。CAD图纸,在任何时候,都是一个企业的命脉。在使用SolidWorks等软件绘制图纸的过程中,作为企业是否经常会考虑:我们厂刚刚设计出来的新产品,怎么市场上别的牌子的产品也已经上市啦?技术人员的流动,是否会同时有图纸的流动?我们花了几十万买的图纸,怎么隔壁的那个厂子图纸和我们的一样呢?我们的光驱、软驱、U盘接口都封掉了,可是图纸怎么还是传出去啦?解决这些问题的一种有效方法就是使用现代密码技术,加密技术是保障信息安全的最基本的、最核心的技术措施。对CAD图纸进行加密应该是一种比较合适的安全保密措施

2密码技术

2.1基本概念

密码学是研究编制密码和破译密码的技术科学。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据等都可实施加、脱密变换。随着先进科学技术的应用,密码学已成为一门综合性的尖端技术科学。它与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。密码就是一组含有参数K的变换E。设已知信息M,通过变换E得到密文C。即C=EK(M)这个过程称之为加密,参数K称为密钥。

2.1.1传统密码学

自从有了人类社会就有了信息交流,特别是出现了战争,为了信息交流的安全,就出现了密码技术。从古代到16世纪末由于这个时期生产力低下,产生的许多密码体制都是可用纸笔或者简单的器械实现加密/解密的,这个时期的密码体制主要有两大类:一类是换位密码体制,另一类是代替密码体制。从二十世纪初到20世纪50年代末,为了适应密码通信的需要,密码设计者设计出了一些采用复杂的机械和电动机械设备实现信息加密/解密操作,他们代替了繁重的手工作业方式,在战争中发挥了重要的作用。转轮密码机是这一时期的杰出代表。

2.1.2现代密码学

对称密钥密码体制又称为单密钥密码体制或秘密密钥密码体制。这种密码体制的加密密钥和解密密钥相同,或者虽然不相同,但可由其中的任意一个可以和容易地推导出另一个。传统的密码学都是属于对称密钥密码体制。现在,在传统密码学地基础上对称密码体制也有了新地发展,像序列密码,分组密码,还有对称密钥密码体制的典型代表:数据加密标准DES和高级数据加密标准AES。非对称密钥密码体制又称为双密钥密码体制或公开密钥密码体制。这种密码体制的加密/解密操作分别使用两个不同地密钥,并且不可能由加密密钥推导出解密密钥。采用非对称密钥密码体制的每个用户都有一对相互关联而又彼此不同地密钥,使用其中的一个密钥加密的数据,不能使用该密钥自身进行解密,而只能使用对应的另一个密钥进行解密。在这一对密钥中,其中一个密钥称为公钥,它可以公开并通过公开的信道发给任何一位想与自己通信的另

一方。另一个密钥则必须由自己秘密保存,称为私钥,用于解密由公钥加密的信息。非对称密钥密码体制的典型代表是RSA公钥密码体制。非对称密钥体制的出现是现代密码学研究的一项重大的突破。

2.2NET密码术

.Net开发平台的发布标志着近十年来微软开发平台第一个重大的转变。这个开发平台包括一个用于加载和运行应用程序的新的软件基础结构(.NET Framework和https://www.sodocs.net/doc/5f2078211.html,),一个新的开发环(Visual https://www.sodocs.net/doc/5f2078211.html,),以及支持该结构的编程语言。https://www.sodocs.net/doc/5f2078211.html,提供了一个用于在该平台上创建应用程序的图形Integrated Development Environment (IDE)(集成开发环境)。程序员可以使用一种或多种.NET编程语言,来编写他们的代码,例如微软自己的Visual https://www.sodocs.net/doc/5f2078211.html,,Visual C++, Visual C#等。大量其它的.NET编程语言可以从第三方厂商获得。在.NET Windows出现之前,使用密码术通常就是指使用非托管的Win32CryptoAPI库,这对于C++程序员来说工作很繁杂,对于采用其他语言如Visual Basic处理的编码器则更不方便。和许多其他编程方面的工作一样,.NET中密码术的运用使人感觉良好。开发人员可以使用一流的加密模型,将这些模型放在类库中并且他们具有很好的扩展性。不用调用非托管库中晦涩难懂的函数,现在可以使用一组功能齐全的加密技术类,这些类将那些繁杂的编码数据、计算散列和生成的随机数等工作都包装起来了。在.NET中,则是将这些复杂内容打包在各个.ET框架类中,并且由一个System.Security命名空间包含这些与加密相关的类。3加密技术在SolidWorks工程图纸上的实现

3.1SolidWorks二次开发

SolidWorks是原创的、基于Windows平台的三维机械设计软件,是Windows原创软件的典型代表。因而,SolidWorks可充分利用Windows 平台的优点、符合用户的使用习惯,从而极大增加了用户的学习效率和使用效果。虽然SolidWorks发展非常的快,但也不是十全十美的,不可能完全满足特定企业的特殊要求。为了适合特定企业的特殊需求,形成企业自己的特色,使其在企业中更有效的发挥作用,并使常用的或重复的任务自动化提高效率,就必须对其进行本地化和专业化的二次开发工作。为了方便用户进行二次开发,SolidWorks提供了几百个API函数,这些API函数使SolidWorks的OLE或COM接口,用户可以使用VB\VBA\VC\DELPHI\C#等高级语言对SolidWorks进行二次开发,建立适合用户需要的、专用的SolidWorks功能模块。

3.2具体实现方法

利用SolidWorks API的功能编制SolidWorks插件,并集成于SolidWorks环境中,由SolidWorks程序进行管理。SolidWorks插件是一个DLL文件,在用程序生成DLL的过程中,必须定义DLL文件与SolidWorks连接的接口。SolidWorks插件文件与SolidWorks接口的函数如下:

SwAddin.ConnectToSw()和SwAddin.DisconnectFromSW()。SwAddin.ConnectToSw()是用户编制程序的入口函数,当插件加载时SolidWorks运用此方法进行与程序的连接。当插件需要卸载时, SolidWorks调用SwAddin.DisconnectFromSW()方法卸载当前的插件。

启动SolidWorks软件加载插件后,将在SolidWorks软件的文件菜单中增加一个"文件加密"子菜单,点击此菜单,将弹出一个对话框,如图1所示。

键入密码,点击确定后,文件在关闭后自动加密。在高级选项中,我们可以选择加密算法。在本插件采用的是对称加密算法,在.NET Framework 提供的对称算法有DES、TripleDES、RC2、Rijndael,我们可以选择任何一种加密算法对文件进行加密。所有的这些类都由SymmetricAlgorithm 派生而来。在打开已经加密的文件时,将弹出如图2对话框:采用对应的算法对文件进行解密。如果没有正确的用户口令,在.NET Framework 安全命名空间中实现的对称加密算法在目前计算机技术条件下基本是不可能被攻破的。

4总结

提出了一种对SolidWorks工程图纸的加密保护机制,采用对称密钥密码体制,利用.NET开发平台提供的加密相关类和SolidWorks提供的API函数,采用C#语言对SolidWorks软件进行二次开发。开发出来的SolidWorks插件可以满足一般中小企业工程图纸的一般安全保密工作。由于计算机技术和密码术的飞速发展,对于工程图纸的安全保密工作,可以进一步采用生物认证的技术、数字签名技术、数字水印技术等,可以采用USBKey代替用户口令等方式。企业内部的图纸安全一直是企业内部非常关心的一个重要问题,如何制定一个完善的保密措施,从企业内部和外部防止信息的泄漏是一个长期的课题。

密码学对称加密算法

对称加密算法 一、网络安全 1.网络安全 (1) 网络的安全问题:有以下四个方面 A. 端-端的安全问题,主要指用户(包括代理)之间的加密、鉴别和数据完整性维护。 B. 端系统的安全问题,主要涉及防火墙技术 C. 安全服务质量问题,主要指如何保护合法用户的带宽,防止用户非法占用带宽。 D. 安全的网络基础设施,主要涉及路由器、DNS服务器,以及网络控制信息和管理信息的安全问题。 (2)网络的安全服务:有以下五个方面 A.身份认证:这是考虑到在网络的应用环境下,验证身份的双方一般是通过网络而非直接交互,所以传统的验证手段如根据对方的指纹等方法就无法应用。同时大量的黑客随时都可能尝试向网络渗透,截获合法用户的口令并冒充顶替,以合法身份入网。所以应该提供一种安全可靠的身份认证的手段。 B.授权控制:授权控制是控制不同用户对信息资源的访问权限。授权控制是以身份认证为基础的。通过给不同用户的提供严格的不同层次和不同程度的权限,同时结合可靠的身份认机制,可以从很大程度上减少非法入侵事件发生的机会。 C.数据加密:数据加密技术顾名思义。在互联网上应用加密技术来保证信息交换的可靠性已经的到了人们普遍的认可,已经进入了应用阶段。目前的加密技术主要有两大类:一类是基于对称密钥加密的算法,另一类是基于非对称密钥加密的算法。它们都已经达到了一个很高的强度,同时加密算法在理论上也已经相当的成熟,形成了一门独立的学科。而从应用方式上,一般分成软件加密和硬件加密。前者成本低而且实用灵活,更换也方便;而后者加密效率高,本身安全性高。在应用中,可以根据不同的需要来进行选择。 D.数据完整性:数据完整性是指通过网上传输的数据应该防止被修改、删除、插入、替换或重发,以保证合法用户接收和使用该数据的真实性。 E.防止否认:在网上传输数据时,网络应提供两种防止否认的机制:一是防止发送方否认自己发送过的信息,而谎称对方收到的信息是别人冒名或篡改过的;二是防止接收方否认自己收到过信息。利用非对称加密技术可以很好的实现第一个否认机制。 二、加密技术 (1) 加密技术的产生和发展 A. 古代,目前记录的比较早的是一个在公元前2世纪,由一个希腊人提出来的,26个字母放在一个5×5的表格里,这样所有的源文都可以行列号来表示。 B. 近代,在第二次世界大战里,密码机(如紫罗兰)得到了比较广泛的已经技术,同时破译密码的技术也得到了发展,出现了一次性密码技术。同时密码技术也促进了计算机的发展。 C. 现代,由于计算机和计算机网络的出现,对密码技术提出了更高的需求。密码学的论文和会议不断的增加,以密码技术为主的商业公司开始出现,密码算法层出不穷,并开始走向国际标准化的道路,出现了DES,AES等国家(美国的)标准。同时各个国家和政府对密码技术也越来越重视,都加密技术的出口和进口都作了相当严格的规定。 (2) 加密技术的分类 A.对称加密技术 a. 描述 对称算法(symmetric algorithm),有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥是相同的。所以也称这种加密算法为秘密密钥算法或单密钥算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信性

非对称密钥加密

<2> 非对称密钥加密又叫作公开密钥加密算法。在非对称加密体系中,密钥被分解为一对(即一把公开密钥或加密密钥和一把私有密钥或解密密钥)。这对密钥中的任何一把都可作为公开密钥(加密密钥)通过非保密方式向他人公开,而另一把则作为私有密钥(解密密钥)加以保存。公开密钥用于对机密性信息的加密,私有密钥则用于对加密信息的解密。私有密钥只能由生成密钥对的用户掌握,公开密钥可广泛发布,但它只对应于生成该密钥的用户。公开密钥加密技术解决了密钥的发布和管理问题,是目前商业密码的核心。使用公开密钥技术,数据通信的双方可以安全的确认对方的身份和公开密钥。非对称密钥加密算法主要有RSA、PGP等。 ----数据加密技术可以分为三类,即对称型加密、不对称型加密和不可逆加密。 ----对称型加密使用单个密钥对数据进行加密或解密,其特点是计算量小、加密效率高。但是此类算法在分布式系统上使用较为困难,主要是密钥管理困难,使用成本较高,保安性能也不易保证。这类算法的代表是在计算机专网系统中广泛使用的DES(Digital Encryption Standard)算法。 ----不对称型加密算法也称公用密钥算法,其特点是有二个密钥(即公用密钥和私有密钥),只有二者搭配使用才能完成加密和解密的全过程。由于不对称算法拥有两个密钥,它特别适用于分布式系统中的数据加密,在Internet中得到了广泛应用。其中公用密钥在网上公布,为数据源对数据加密使用,而用于解密的相应私有密钥则由数据的收信方妥善保管。 ----不对称加密的另一用法称为“数字签名(Digital signature)”,即数据源使用其密钥对数据的校验和(Check Sum)或其他与数据内容有关的变量进行加密,而数据接收方则用相应的公用密钥解读“数字签名”,并将解读结果用于对数据完整性的检验。在网络系统中得到应用的不对称加密算法有RSA算法和美国国家标准局提出的DSA算法(Digital Signature Algorithm)。不对称加密法在分布式系统中应用时需注意的问题是如何管理和确认公用密钥的合法性。 2、对称性加密和非对称性加密 根据密钥技术的不同,可分为对称加密和非对称加密两种方法;对称加密是指用单一的密钥对明文进行加密,同时必须用该密钥对密文进行解密,加密和解密双方必须知道该密钥。非对称加密技术又称公共密钥技术,密钥成对存在,分别称为私有密钥(private key)和公共密钥(public key);在加密过程采用公共密钥,在解密过程采用私有密钥。 由此可以看出,非对称性加密技术使密钥更加安全,一般用于对密钥进行管理;但是非对称加密技术速度很慢,在数据传输过程中的加密一般采用对称加密算法。 对于VPN网关产品来说,因为非对称加密算法太慢,所以一般采用对称加密算法进行数据传输加密。 3、数据加密强度和加密算法

非对称密码体制的认证与对称密码体制的加密

非对称密码体制的认证和对称密码体制的加密 仵惠婷 22620139407 摘要:本文主要介绍在安全网络通信过程中:用非对称密码体制即公钥密码来进行通信双方的身份认证,以确保发送方是真的发送方,接收方是真的接收方;用对称密码体制对通信双方交互的通信数据进行加密的安全网络通信方案。非对称密码体制方案较对称密码体制方案处理速度慢,因此,通常把非对称密钥与对称密钥技术结合起来实现最佳性能。即用非对称密钥技术在通信双方之间传送会话密钥,而用会话密钥来对实际传输的数据加密解密。另外,非对称加密也用来对对称密钥进行加密。 关键词:非对称密码体制;认证;对称密码体制;加密; 1.引言 在要求安全的网络环境下通信双方首先要确认对方的身份是否属实,以防止伪造身份的恶意程序向正常服务发起服务请求,以防止恶意程序截获交付给正常客户程序的正常服务。然后要在整个通信过程中对通信双方交互的通信数据进行加密,以防止即使数据被泄露或者截获也不易被恶意程序篡改或伪造等。在现有密码技术条件下,应用非对称密码体制对通信双方进行身份认证,应用对称密码体制对通信数据进行加密的方案可谓设计精妙。 2.非对称密码体制的认证 非对称密码体制可以对信息发送与接收人的真实身份的验证、对所发出/接收信息在事后的不可抵赖以及保障数据的完整性是现代密码学主题的另一方面。 首先要介绍的是证书和CA。其中证书是将公钥和公钥主人名字放在一起被CA权威机构的私钥签名,所以大家都认可这个证书,而且知道了公钥的主人。而CA就是这个权威机构,也拥有一个证书,也有私钥,所以它有签字的能力。网上的公众用户通过验证CA的签字从而信任CA,任何人都应该可以得到CA的证书,用以验证它所签发的证书。如果一个用户想鉴别另一

对称密钥与非对称密钥的区别

对称密钥与非对称密钥的区别 一、对称加密(Symmetric Cryptography) 对称密钥加密,又称私钥加密,即信息的发送方和接收方用同一个密钥去加密和解密 数据。它的最大优势是加/解密速度快,适合于对大数据量进行加密,对称加密的一大缺点是密钥的管理与分配,换句话说,如何把密钥发送到需要解密你的消息的人的手里是一个 问题。在发送密钥的过程中,密钥有很大的风险会被黑客们拦截。现实中通常的做法是将对称加密的密钥进行非对称加密,然后传送给需要它的人。 对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越慢。如果你只用1 bit来做这个密钥,那黑客们可以先试着用0来解密,不行的话就再用1解;但如果你的密钥有1 MB大,黑客们可能永远也无法破解,但加密和解密的过程要花费很长的时间。密钥的大小既要照顾到安全性,也要照顾到效率,是一个trade-off。 二、非对称加密(Asymmetric Cryptography) 非对称密钥加密系统,又称公钥密钥加密。非对称加密为数据的加密与解密提供了一 个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用 这对密钥中的一个进行加密,而解密则需要另一个密钥。比如,你向银行请求公钥,银行将公钥发给你,你使用公钥对消息加密,那么只有私钥的持有人--银行才能对你的消息解密。与对称加密不同的是,银行不需要将私钥通过网络发送出去,因此安全性大大提高。

目前最常用的非对称加密算法是RSA算法。公钥机制灵活,但加密和解密速度却比对称密钥加密慢得多。 虽然非对称加密很安全,但是和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。为了解释这个过程,请看下面的例子: (1) Alice需要在银行的网站做一笔交易,她的浏览器首先生成了一个随机数作为对称密钥。 (2) Alice的浏览器向银行的网站请求公钥。 (3)银行将公钥发送给Alice。 (4) Alice的浏览器使用银行的公钥将自己的对称密钥加密。 (5) Alice的浏览器将加密后的对称密钥发送给银行。 (6)银行使用私钥解密得到Alice浏览器的对称密钥。 (7) Alice与银行可以使用对称密钥来对沟通的内容进行加密与解密了。 三、总结 (1)对称密钥加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在

密码学试题

密码学试题 选择题 1、如果发送方用私钥加密消息,则可以实现() A、保密性 B、保密与鉴别 C、保密而非鉴别 D、鉴别 2、在混合加密方式下,真正用来加解密通信过程中所传输数据(明文)的密钥是() A、非对称算法的公钥 B、对称算法的密钥 C、非对称算法的私钥 D、CA中心的公钥 3、以下关于加密说法,不正确的是() A、加密包括对称加密和非对称加密两种 B、信息隐蔽是加密的一种方法 C、如果没有信息加密的密钥,只要知道加密程序的细节就可以对信息进行解密 D、密钥的位数越多,信息的安全性就越高 4、以下关于混合加密方式说法不正确的是:() A、采用公开密钥体制进行通信过程中的加解密处理 B、采用公开密钥体制对对称密钥体制的密钥进行加密后的通信 C、采用对称密钥体制对对称密钥体制的密钥进行加密后的通信 D、采用混合加密方式,利用了对称密钥体制的密钥容易管理和非对称密钥体制的加解密处理速

度快的双重优点 5、两个不同的消息摘要具有相同的值时,称为() A、攻击 B、冲突 C、散列 D、都不是 6、()用于验证消息完整性。 A、消息摘要 B、加密算法 C、数字信封 D、都不是 7、HASH函数可应用于()。 A、数字签名 B、生成程序或文档的“数字指纹” C、安全存储口令 D、数据的抗抵赖性 8、数字证书采用公钥体制,每个用户设定一把公钥,由本人公开,用它进行: A、加密和验证签名 B、解密和签名 C、加密 D、解密 9、数字签名为保证其不可更改性,双方约定使用() A、HASH算法 B、RSA算法 C、CAP算法 D、ACR算法

10、1是网络通信中标志通信各方身份信息的一系列数据,提供一种在Internet上验证身份的 方式 A、数字认证 B、数字证书 C、电子证书 D、电子认证 11、以下关于CA认证中心说法正确的是 A、CA认证是使用对称密钥机制的认证方法 B、CA认证中心只负责签名,不负责证书的产生 C、CA认证中心负责证书的颁发和管理、并依靠证书证明一个用户的身份 D、CA认证中心不用保持中立,可以随便找一个用户来做为CA认证中心 12、关于CA 和数字证书的关系,以下说法不正确的是 A、数字证书是保证双方之间的通讯安全的电子信任关系,他由CA签发 B、数字证书一般依靠CA中心的对称密钥机制来实现 C、在电子交易中,数字证书可以用于表明参与方的身份 D、数字证书能以一种不能被假冒的方式证明证书持有人身份 13、以下关于数字签名说法正确的是 A、数字签名是在所传输的数据后附加上一段和传输数据毫无关系的数字信息 B、数字签名能够解决数据的加密传输,即安全传输问题 C、数字签名一般采用对称加密机制 D、数字签名能够解决篡改、伪造等安全性问题 14、密钥交换问题的最终解决方案是使用 A、身份证

第三章 对称密码体制

第三章对称密码体制 计算机科学与技术学院 对称密码体制 §1、对称密码体制简介 §2、典型的对称密码算法 §3、数据加密标准DES §4、高级数据加密标准AES §5、密码分析 §6、分组密码的工作模式 §7、流密码简介 2

3 §对称密码体制(私钥):加密密钥和解密密钥相同,且都需要保密。 ?优点:加密算法比较简便、高效、密钥简短,对方破译极其困难,且经受住时间的检验和攻击;?缺点:密钥必须通过安全的途径传送。 ?系统的机密性主要取决于密钥的安全性。 ?加密的方式: §按字符逐位加密(流密码) §将明文消息分组(分组密码) ?常用算法:DES ?适用范围:数据加密、消息认证1、对称密钥体制简介

2、典型的对称加密算法 1、DES加密算法 §定义:DES 全称为Data Encryption Standard即数据加密算法,它是IBM公司于1975年研究成功并公开发表的,1977年,美国把DES用于国家非保密机关。 §DES是一种采用传统加密方法的分组密码。它的算法是对称的,既可用于加密又可用于解密。 §基本思想:DES对64比特二进制数据加密,产生64比特等长的密文数据。使用的密钥为64比特,实际密钥长度为56比特(有8比特用于奇偶校验)。 5 典型的对称加密算法 §2、IDEA算法 ?IDEA(International Data Encryptdri Algorithm), 即“国际数据加密算法”。 ?IDEA采用基于“相异代数群上的混合运算”的设计思想,其算法的明、密文组位长度为64位,密钥长度为128位。 §3、FEAL-8密码 ?FEAL密码算法家族是日本NTT(日本电报电话公司 )设计的。密钥组位长度为64比特,明、密文组位长度 为64比特。作为一种分组密码,与DES相比,其增加了 每一轮迭代的算法强度,因此可以通过减少迭代次数而 提高运算速度。 6

密码学及其研究现状(2014年)

密码学及其研究现状(2014年) {摘要}: 密码系统的两个基本要素是加密算法和密钥管理。加密算法是一些公式和法则,它规定了明文和密文之间的变换方法。由于密码系统的反复使用,仅靠加密算法已难以保证信息的安全了。事实上,加密信息的安全可靠依赖于密钥系统,密钥是控制加密算法和解密算法的关键信息,它的产生、传输、存储等工作是十分重要的。{关键词}:密码技术安全网络密匙管理 密码技术是信息安全的核心技术。如今,计算机网络环境下信息的保密性、完 整性、可用性和抗抵赖性,都需要采用密码技术来解决。密码体制大体分为对称密 码(又称为私钥密码)和非对称密码(又称为公钥密码)两种。公钥密码在信息安全中 担负起密钥协商、数字签名、消息认证等重要角色,已成为最核心的密码。 密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这 些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早 期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据 等都可实施加、脱密变换。 密码学是在编码与破译的斗争实践中逐步发展起来的,并随着先进科学技术的 应用,已成为一门综合性的尖端技术科学。它与语言学、数学、电子学、声学、信 息论、计算机科学等有着广泛而密切的联系。它的现实研究成果,特别是各国政府 现用的密码编制及破译手段都具有高度的机密性。 进行明密变换的法则,称为密码的体制。指示这种变换的参数,称为密钥。它 们是密码编制的重要组成部分。密码体制的基本类型可以分为四种:错乱--按照 规定的图形和线路,改变明文字母或数码等的位置成为密文;代替--用一个或多 个代替表将明文字母或数码等代替为密文;密本--用预先编定的字母或数字密码 组,代替一定的词组单词等变明文为密文;加乱--用有限元素组成的一串序列作 为乱数,按规定的算法,同明文序列相结合变成密文。以上四种密码体制,既可单 独使用,也可混合使用,以编制出各种复杂度很高的实用密码。 当前,公钥密码的安全性概念已经被大大扩展了。像著名的RSA公钥密码算法、 Rabin公钥密码算法和ElGamal公钥密码算法都已经得到了广泛应用。但是,有些公

对称密钥密码系统

对称密钥密码系统 2000多年以前,罗马国王Julius Caesar使用过现今被称为“凯撒密码”的加密算法。此加密算法其实是“移位密码”算法的一个特例。由于移位密码安全性不高,使用穷举爆力技术很容易将其破解,于是人们发明了“代换密码”。而移位密码其实是代换密码的一个子集。虽然代换密码安全性有所提高,使用穷举爆力技术较难破解,然而使用统计密码分析技术却可以很容易地破解代换密码。 到了几百年前,有人发明了“置换密码”有时也叫“换位密码”,之后现代密码技术开始出现。很多人把Claude Shannon誉为现代密码学之父,他提出了“扩散”和“混淆”来构造密码体制的基本要素。这种加密技术可以有效的挫败使用统计分析技术来破解密码。 1973年,Horst Feistel公开了他的“Feistel密码”,这是第一个体现密码之父Shannon思想的密码系统。目前,几乎所有的对称密码系统都使用了Feistel密码的设计特征。 1973年,(美)国家标准局(NBS),即现在的(美)国家标准技术研究所(NIST)公布了征求国家密码标准的提案,人们建议了许多的密码系统。 1977年7月,NBS经过对众多的密码系统进行评估后,采纳了IBM在20世纪60年代(1960s)研制出来的一个密码系统作为数据加密标准(DES),此系统是由Horst Feistel领导的一个研究组研制出来的。这个密码系统基于一个称为LUCIFER[Fic73]的密码系统。LUCIFER密码系统本质上是Feistel密码的一个推广。 1983年、1988年和1993年,DES再度被认定为(美)国家标准。 1997年,RSA实验室发布了一个以10000美元作为酬金的挑战:寻找一个前面带有一个已知明文块的密文的DES密钥。由Roche Verse牵头的一个工程小组动用了70000多台通过因特网连接起来的计算机系统,使用穷举爆力攻击程序大约花费96天的时间找到了正确的DES密钥。意识到DES已经快完成它的历史使命,NIST于1997年1月宣布了一项选择一个用作高级加密标准(AES)的候选算法的计划:这个新的标准的将取代DES。

(完整版)密码学期末考试复习

填空题 1、密码学的主要任务是实现机密性、鉴别、数据完整性、抗抵赖性。 1、机密性是一种允许特定用户访问和阅读信息,而非授权用户对信息内容不可理解的安全属性。在密码学中,信息的机密性通过加密技术实现。 2、完整性数据完整性即用以确保数据在存储和传输过程中不被非授权修改的的安全属性。密码学可通过采用数据加密、报文鉴别或数字签名等技术来实现数据的完整性保护。 3、鉴别是一种与数据来源和身份鉴别有关的安全服务。鉴别服务包括对身份的鉴别和对数据源的鉴别。对于一次通信,必须确信通信的对端是预期的实体,这就涉及到身份的鉴别。 4、抗抵赖性 是一种用于阻止通信实体抵赖先前的通信行为及相关内容的安全特性。密码学通过对称加密或非对称加密,以及数字签名等技术,并借助可信机构或证书机构的辅助来提供这种服务。 5、密码编码学的主要任务是寻求有效密码算法和协议,以保证信息的机密性或认证性的方法。它主要研究密码算法的构造与设计,也就是密码体制的构造。它是密码理论的基础,也是保密系统设计的基础。 6、密码分析学的主要任务是研究加密信息的破译或认证信息的伪造。它主要是对密码信息的解析方法进行研究。 7、明文(Plaintext)是待伪装或加密的消息(Message)。在通信系统中它可能是比特流,如文本、位图、数字化的语音流或数字化的视频图像等。 8、密文(Ciphertext)是对明文施加某种伪装或变换后的输出,也可认为是不可直接理的字符或比特集,密文常用c表示。 9、加密(Encrypt )是把原始的信息(明文)转换为密文的信息变换过程。 10、解密(Decrypt)是把己加密的信息(密文)恢复成原始信息明文的过程。 11、密码算法(Cryptography Algorithm)也简称密码(Cipher),通常是指加、解密过程所使用的信息变换规则,是用于信息加密和解密的数学函数。对明文进行加密时所采用的规则称作加密算法,而对密文进行解密时所采用的规则称作解密算法。加密算法和解密算法的操作通常都是在一组密钥的控制下进行的。 11、密钥(Secret Key )密码算法中的一个可变参数,通常是一组满足一定条件的随机序列 12、替代密码是指先建立一个替换表,加密时将需要加密的明文依次通过查表,替换为相应的字符,明文字符被逐个替换后,生成无任何意义的字符串,即密文,替代密码的密钥就是其替换表。 13、根据密码算法加解密时使用替换表多少的不同,替代密码又可分为单表替代密码和多

RSA非对称密码算法

RSA非对称密码算法 1、RSA非对称密码算法简介 非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。另一方面,甲方可以使用乙方的公钥对机密信息进行签名后再发送给乙方;乙方再用自己的私匙对数据进行验签。甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。 非对称密码体制的特点:算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。对称密码体制中只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。所以保证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了。这样安全性就大了很多。 2、工作原理 1.A要向B发送信息,A和B都要产生一对用于加密和解密的公钥和私钥。 2.A的私钥保密,A的公钥告诉B;B的私钥保密,B的公钥告诉A。 3.A要给B发送信息时,A用B的公钥加密信息,因为A知道B的公钥。 4.A将这个消息发给B(已经用B的公钥加密消息)。 5.B收到这个消息后,B用自己的私钥解密A的消息。其他所有收到这个报文的人都无法解密,因为只有B才有B的私钥。 3、主要功能 非对称加密体系不要求通信双方事先传递密钥或有任何约定就能完成保密通信,并且密钥管理方便,可实现防止假冒和抵赖,因此,更适合网络通信中的保密通信要求。

非对称密码体制

云南大学数学与统计学实验教学中心实验报告 一、实验目的: 通过实验掌握非对称密码体制的重要思想。 二、实验内容: 查阅资料,实现RSA密码体制的编码算法、译码算法、密钥生成算法 查阅资料,实现ECC密码体制的编码算法、译码算法、密钥生成算法 三、实验环境 Win7、Eclipse 四、实验过程(请学生认真填写): 实验过程、结果以及相应的解释: 1. 预备知识 非对称密码体制也叫公钥加密技术,该技术就是针对私钥密码体制的缺陷被提出来的。 在公钥加密系统中,加密和解密是相对独立的,加密和解密会使用两把不同的密钥,加密密钥(公开密钥)向公众公开,谁都可以使用,解密密钥(秘密密钥)只有解密人自己知道,非法使用者根据公开的加密密钥无法推算出解密密钥,顾其可称为公钥密码体制。如果一个人选择并公布了他的公钥,另外任何人都可以用这一公钥来加密传送给那个人的消息。私钥是秘密保存的,只有私钥的所有者才能利用私钥对密文进行解密。公钥密码体制的算法中最著名的代表是RSA系统,此外还有:背包密码、McEliece密码、Diffe_Hellman、Rabin、零知识证明、椭圆曲线、EIGamal算法等。公钥密钥的密钥管理比较简单,并且可以方便的实现数字签名和验证。但算法复杂,加密数据的速率较低。公钥加密系统不存在对称加密系统中密钥的分配和保存问题,对于具有n个用户的网络,仅需要2n个密钥。公钥加密系统除了用于数据加密外,还可用于数字签名。 2. 实验过程 (一)RSA加密算法 A、原理分析: RSA的具体计算算法: 假设Alice想要通过一个不可靠的媒体接收Bob的一条私人讯息。她可以用以下的方式来产生 一个公钥和一个私钥: 1.随意选择两个大的质数p和q,p不等于q,计算N=pq。 2.根据欧拉函数,求得r= φ(n) = φ(p)φ(q) = (p-1)(q-1) 3.选择一个小于r的整数e,求得e关于模r的模反元素,命名为d。(模反元素存在,当且 仅当e与r互质) 4.将p和q的记录销毁。

密码学试题

选择题 1、如果发送方用私钥加密消息,则可以实现() A、保密性 B、保密与鉴别 C、保密而非鉴别 D、鉴别 2、在混合加密方式下,真正用来加解密通信过程中所传输数据(明文)的密钥是() A、非对称算法的公钥 B、对称算法的密钥 C、非对称算法的私钥 D、CA中心的公钥 3、以下关于加密说法,不正确的是() A、加密包括对称加密和非对称加密两种 B、信息隐蔽是加密的一种方法 C、如果没有信息加密的密钥,只要知道加密程序的细节就可以对信息进行解密 D、密钥的位数越多,信息的安全性就越高 4、以下关于混合加密方式说法不正确的是:() A、采用公开密钥体制进行通信过程中的加解密处理 B、采用公开密钥体制对对称密钥体制的密钥进行加密后的通信 C、采用对称密钥体制对对称密钥体制的密钥进行加密后的通信 D、采用混合加密方式,利用了对称密钥体制的密钥容易管理和非对称密钥体制的加解密处理速度快的双重优点 5、两个不同的消息摘要具有相同的值时,称为() A、攻击 B、冲突 C、散列 D、都不是

6、()用于验证消息完整性。 A、消息摘要 B、加密算法 C、数字信封 D、都不是 7、HASH函数可应用于()。 A、数字签名 B、生成程序或文档的“数字指纹” C、安全存储口令 D、数据的抗抵赖性 8、数字证书采用公钥体制,每个用户设定一把公钥,由本人公开,用它进行: A、加密和验证签名 B、解密和签名 C、加密 D、解密 9、数字签名为保证其不可更改性,双方约定使用() A、HASH算法 B、RSA算法 C、CAP算法 D、ACR算法 10、1是网络通信中标志通信各方身份信息的一系列数据,提供一种在Internet上验证身份的方式 A、数字认证 B、数字证书 C、电子证书 D、电子认证 11、以下关于CA认证中心说法正确的是

非对称加密算法有什么特点

非对称加密算法有什么特点 什么非对称加密算法非对称加密算法是一种密钥的保密方法。 非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。 另一方面,甲方可以使用乙方的公钥对机密信息进行签名后再发送给乙方;乙方再用自己的私匙对数据进行验签。 甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。 非对称密码体制的特点:算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。对称密码体制中只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。所以保证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了。这样安全性就大了很多。 工作原理1.A要向B发送信息,A和B都要产生一对用于加密和解密的公钥和私钥。 2.A的私钥保密,A的公钥告诉B;B的私钥保密,B的公钥告诉A。 3.A要给B发送信息时,A用B的公钥加密信息,因为A知道B的公钥。 4.A将这个消息发给B(已经用B的公钥加密消息)。 5.B收到这个消息后,B用自己的私钥解密A的消息。其他所有收到这个报文的人都无法解密,因为只有B才有B的私钥。

对称密钥密码

1引言 计算机的发展给人类带来了前所未有的便利,以计算机信息技术为手段的企业信息化建设,已成为企业必不可少的部分。计算机CAD技术高速度、高精度和高效等的优点,已经逐步取代手工设计,广泛应用于产品设计工作中。CAD图纸,在任何时候,都是一个企业的命脉。在使用SolidWorks等软件绘制图纸的过程中,作为企业是否经常会考虑:我们厂刚刚设计出来的新产品,怎么市场上别的牌子的产品也已经上市啦?技术人员的流动,是否会同时有图纸的流动?我们花了几十万买的图纸,怎么隔壁的那个厂子图纸和我们的一样呢?我们的光驱、软驱、U盘接口都封掉了,可是图纸怎么还是传出去啦?解决这些问题的一种有效方法就是使用现代密码技术,加密技术是保障信息安全的最基本的、最核心的技术措施。对CAD图纸进行加密应该是一种比较合适的安全保密措施 2密码技术 2.1基本概念 密码学是研究编制密码和破译密码的技术科学。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据等都可实施加、脱密变换。随着先进科学技术的应用,密码学已成为一门综合性的尖端技术科学。它与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。密码就是一组含有参数K的变换E。设已知信息M,通过变换E得到密文C。即C=EK(M)这个过程称之为加密,参数K称为密钥。

2.1.1传统密码学 自从有了人类社会就有了信息交流,特别是出现了战争,为了信息交流的安全,就出现了密码技术。从古代到16世纪末由于这个时期生产力低下,产生的许多密码体制都是可用纸笔或者简单的器械实现加密/解密的,这个时期的密码体制主要有两大类:一类是换位密码体制,另一类是代替密码体制。从二十世纪初到20世纪50年代末,为了适应密码通信的需要,密码设计者设计出了一些采用复杂的机械和电动机械设备实现信息加密/解密操作,他们代替了繁重的手工作业方式,在战争中发挥了重要的作用。转轮密码机是这一时期的杰出代表。 2.1.2现代密码学 对称密钥密码体制又称为单密钥密码体制或秘密密钥密码体制。这种密码体制的加密密钥和解密密钥相同,或者虽然不相同,但可由其中的任意一个可以和容易地推导出另一个。传统的密码学都是属于对称密钥密码体制。现在,在传统密码学地基础上对称密码体制也有了新地发展,像序列密码,分组密码,还有对称密钥密码体制的典型代表:数据加密标准DES和高级数据加密标准AES。非对称密钥密码体制又称为双密钥密码体制或公开密钥密码体制。这种密码体制的加密/解密操作分别使用两个不同地密钥,并且不可能由加密密钥推导出解密密钥。采用非对称密钥密码体制的每个用户都有一对相互关联而又彼此不同地密钥,使用其中的一个密钥加密的数据,不能使用该密钥自身进行解密,而只能使用对应的另一个密钥进行解密。在这一对密钥中,其中一个密钥称为公钥,它可以公开并通过公开的信道发给任何一位想与自己通信的另

非对称密钥加密技术

1.1 非对称密钥加密技术 1.1.1 实训目的 通过使用PGP软件实现数据加密和数字签名,理解非对称密钥加密的原理,学会对文件内容、电子邮件进行加密和数字签名,保障信息安全。 1.1.2 实训任务 客户公司的业务大部分都是靠电子邮件与合作伙伴进行交流的,但是发生过这样一起事故,当公司按照一个合作伙伴电子邮件的要求发了一批商品到对方,而对方却说商品型号发错了,经调查,公司确实是按电子邮件的要求发的货,而对方却不承认电子邮件中的商品型号。现在需要设置一个安全的电子邮件交流手段,不仅能对数据进行加密,还要能够防止数据被篡改,防止发送者抵赖。 1.1.3 背景知识 1. 非对称密钥加密 加密算法有两大类:对称密钥加密和非对称密钥加密。在对称密钥加密技术中,加密和解密使用的是同一个密钥,由于难于通过常规的渠道进行安全的密钥传递,例如不能通过电子邮件安全地传递密钥,因此在电子商务等领域对称密钥加密技术受到了很大的限制。 非对称密钥加密也叫公开密钥加密(Public Key Encryption),在加密和解密时使用不同的密钥,加密时使用的密钥和解密时使用的密钥形成一个密钥对,用其中的一个密钥加密的密文只能用另一个密钥解密,而不能由其它密钥(包括加密用的密钥)解密。通常一个密钥指定为“公钥”,可以对外公布,另一个则指定为“私钥”,只能由密钥持有人保管。 公开密钥加密技术解决了密钥的发布和管理问题,是目前商业加密通信的核心。使用公开密钥技术,进行数据通信的双方可以安全地确认对方身份和公开密钥,提供通信的可鉴别性。因此,公开密钥体制的建设是开展电子商务的前提。非对称密钥加密算法主要有RSA、DSA、DiffieHellman、PKCS、PGP等。 使用非对称密钥加密技术,可以实现下述目的: ?保密性:信息除发送方和接受方外不被其他人窃取; ?完整性:信息在传输过程中不被篡改; ?身份认证:接收方能够通过数字证书来确认发送方的身份; ?不可否认性:发送方对于自己发送的信息不能抵赖。 2. 消息摘要算法 消息摘要算法(Message Digest Algorithms)是采用单向Hash算法将消息进行处理,产生的具有固定长度的摘要值,无论消息的长度是多少,所产生的摘要的长度是相同的。产生摘要的过程不需要密钥,算法本身决定了摘要的产生。摘要算法必须满足下述三个条件:①无法从摘要反推出消息的内容;②无法控制消息的摘要等于某个特定的值;③无法找到具有同样摘要的消息。著名的摘要算法有MD5和SHA1。 3. 数据加密和数字签名 使用非对称密钥加密技术进行数据加密的原理是,发件人将待加密的报文(明文)用收件人的公钥进行加密,将加密后的报文(密文)发送给收件人,收件人用自己的私钥进行解密,从而得到明文,即原始的报文内容。收件人的私钥必须保管好,因为只有用收件人的私钥才能解密。 数字签名技术的原理是用发件人的私钥对明文进行加密,将密文发送给收件人,收件人用发件人的公钥进行解密,如果能够成功解密,则说明该报文确实是由公钥的原始持有人发送的,即证明是由该人签名认可的。但是在实际操作中,出于加解密运行效率等原因,并不

现代密码学总结汇总

现代密码学总结 第一讲绪论 ?密码学是保障信息安全的核心 ?安全服务包括:机密性、完整性、认证性、不可否认性、可用性 ?一个密码体制或密码系统是指由明文(m或p)、密文(c)、密钥(k)、加密算法(E)和解密算法(D)组成的五元组。 ?现代密码学分类: ?对称密码体制:(又称为秘密密钥密码体制,单钥密码体制或传统密码体制)密钥完全保密;加解密密钥相同;典型算法:DES、3DES、AES、IDEA、RC4、A5 ?非对称密码体制:(又称为双钥密码体制或公开密钥密码体制) 典型算法:RSA、ECC 第二讲古典密码学 ?代换密码:古典密码中用到的最基本的处理技巧。将明文中的一个字母由其它字母、数字或符号替代的一种方法。 (1)凯撒密码:c = E(p) = (p + k) mod (26) p = D(c) = (c –k) mod (26) (2)仿射密码:明文p ∈Z26,密文c ∈Z26 ,密钥k=(a,b) ap+b = c mod (26) (3)单表代换、多表代换 Hill密码:(多表代换的一种) ——明文p ∈(Z26)m,密文c ∈(Z26)m,密钥K ∈{定义在Z26上m*m的可逆矩阵} ——加密c = p * K mod 26 解密p = c * K-1 mod 26 Vigenere密码:查表解答 (4)转轮密码机: ?置换密码 ? ? ?:将明文字符按照某种规律重新排列而形成密文的过程 列置换,周期置换 ?密码分析: ?统计分析法: 移位密码、仿射密码和单表代换密码都没有破坏明文的频率统计规律,可以直接用 统计分析法 ?重合指数法

? 完全随机的文本CI=0.0385,一个有意义的英文文本CI=0.065 ? 实际使用CI 的估计值CI ’:L :密文长。 fi :密文符号i 发生的数目。 第三讲 密码学基础 第一部分 密码学的信息论基础 ? Shannon 的保密通信系统模型 发送者 接收者 信源 分析者 加密 解密安全信道 无噪信道 安全信道 M M M C K K 密钥源 发送者 接收者 信源 分析者 加密 解密无噪信道 安全信道 M M M C K K ’密钥源 无噪信道 ? 一个密码体制是一个六元组:(P, C, K 1, K 2, E, D ) P--明文空间 C--密文空间 K 1 --加密密钥空间

用非对称密码RSA算法加密文件

大连民族学院计算机学院 《网络安全》实验报告 学院:计算机科学与工程 题目:用非对称密码RSA算法加密文件 专业:网络工程 姓名:熊秋蕾 学号:2009083124 指导老师:姜楠

1、实验类型:设计型 2、实验目的 通过实际编程了解非对称密码算法RSA的加密和解密过程,加深对非对称密码算法的认识。 3、实验内容 (1)RSA算法分析。 (2)RSA算法编程。 4、实验原理 RSA密码体制描述: 1.密钥的生成 选择p,q,p,q为两个大的互异素数,计算n=p*q, ?(n)=(p-1)(q-1), 选择整数e使gcd(?(n),e)=1,(1

(3)实验结束后进行角色互换,再重复(1)中的实验,直到每个人都轮流当过三种角色。 7、实验步骤及注意事项 (1)利用奇数生成器,生成密钥对和私钥、公钥 java提供了密钥的生成器函数KeyPairGenerator;公钥保存在Skey_public.dat文件中,私钥保存在Skey_privat.dat package newpackge1; import java.io.*; import java.security.*; public class Skey_RSA{ public static void main(String args[]) throws Exception{ //创建密钥对生成器,指定加密和解密算法为RSA KeyPairGenerator kpg=KeyPairGenerator.getInstance("RSA"); //指定密钥的长度,初始化密钥对生成器 kpg.initialize(1024); //生成密钥对 KeyPair kp=kpg.genKeyPair(); //获取公钥 PublicKey pbkey=kp.getPublic(); //获取私钥 PrivateKey prkey=kp.getPrivate(); //保存公钥到文件 FileOutputStream f1=new FileOutputStream("Skey_public.dat"); ObjectOutputStream b1=new ObjectOutputStream(f1); b1.writeObject(pbkey); //保存私钥到文件 FileOutputStream f2=new FileOutputStream("Skey_privat.dat"); ObjectOutputStream b2=new ObjectOutputStream(f2); b2.writeObject(prkey); }} (2)加密过程,提取公钥,对字符串进行加密,将密文以字符串形式保存在文件中package newpackge1; import java.security.interfaces.*; import java.math.*;

实验2 对称加密算法:DES

实验1-2 对称密码算法DES 一.实验原理 信息加密根据采用的密钥类型可以划分为对称密码算法和非对称密码算法。对称密码算法是指加密系统的加密密钥和解密密钥相同,或者虽然不同,但是可以从其中任意一个推导出另一个,更形象的说就是用同一把钥匙开锁和解锁。在对称密码算法的发展历史中曾出现过多种优秀的算法,包括DES、3DES、AES等。下面我们以DES算法为例介绍对称密码算法的实现机制。 DES算法是有美国IBM公司在20世纪70年代提出,并被美国政府、美国国家标准局和美国国家标准协会采纳和承认的一种标准加密算法。它属于分组加密算法,即明文加密和密文解密过程中,信息都是按照固定长度分组后进行处理的。混淆和扩散是它采用的两个最重要的安全特性,混淆是指通过密码算法使明文和密文以及密钥的关系非常复杂,无法从数学上描述或者统计。扩散是指明文和密钥中每一位信息的变动,都会影响到密文中许多位信息的变动,从而隐藏统计上的特性,增加密码安全。 DES将明文分成64比特位大小的众多数据块,即分组长度为64位。同时用56位密钥对64位明文信息加密,最终形成64位的密文。如果明文长度不足64位,则将其扩展为64位(例如补零等方法)。具体加密过程首先是将输入的数据进行初始换位(IP),即将明文M 中数据的排列顺序按一定的规则重新排列,生成新的数据序列,以打乱原来的次序。然后将变换后的数据平分成左右两部分,左边记为L0,右边记为R0,然后对R0施行在子密钥(由加密密钥产生)控制下的变换f,结果记为f(R0 ,K1),再与L0做逐位异或运算,其结果记为R1,R0则作为下一轮的L1。如此循环16轮,最后得到L16、R16,再对L16、R16施行逆初始置换IP-1,即可得到加密数据。解密过程与此类似,不同之处仅在于子密钥的使用顺序正好相反。 DES全部16轮的加密过程如图1-1所示。 DES的加密算法包括3个基本函数: 1.初始换位(IP) 它的作用是把输入的64位数据块的排列顺序打乱,每位数据按照下面换位规则重新组合。即将第58位换到第1位,第50位换到第2位,…,依次类推。重组后的64位输出分为L0、R0(左、右)两部分,每部分分别为32位。 58, 50, 42, 34, 26, 18, 10, 2, 60, 52, 44, 36, 28, 20, 12, 4 62, 54, 46, 38, 30, 22, 14, 6, 64, 56, 48, 40, 32, 24, 16, 8 57, 49, 41, 33, 25, 17, 9, 1 59, 51, 43, 35, 27, 19, 11, 3 61, 53, 45, 37, 29, 21, 13, 5, 63, 55, 47, 39, 31, 23, 15, 7 R0和K1经过f(R0,K1)变换后的输出结果,再和L0进行异或运算,输出结果做为R1。R0则赋给L1。L1和R1同样再做类似运算生成L2和R2,…,经过16次运算后生成L16和R16。 2.f函数 f函数是多个置换函数和替代函数的组合函数,它将32位比特的输入变换为32位的输出,如图1-2。R i经过扩展运算E变换后扩展为48比特的E(R i),与K i+1进行异或运算后输出的结果分成8组,每组6比特的并联B,B=B1B2B3B4B5B6B7B8,再经过8个S盒的选择压缩运算转换为4比特,8个4比特合并为32比特后再经过P变换输出为32比特的f(R i-1,K i)。其中,扩展运算E与置换P主要作用是增加算法的扩散效果。

相关主题