毕业设计(论文)网上支付系统模型的设计(商家服务器端).doc

上传人:仙人指路1688 文档编号:2398820 上传时间:2023-02-17 格式:DOC 页数:52 大小:1.45MB
返回 下载 相关 举报
毕业设计(论文)网上支付系统模型的设计(商家服务器端).doc_第1页
第1页 / 共52页
毕业设计(论文)网上支付系统模型的设计(商家服务器端).doc_第2页
第2页 / 共52页
毕业设计(论文)网上支付系统模型的设计(商家服务器端).doc_第3页
第3页 / 共52页
毕业设计(论文)网上支付系统模型的设计(商家服务器端).doc_第4页
第4页 / 共52页
毕业设计(论文)网上支付系统模型的设计(商家服务器端).doc_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《毕业设计(论文)网上支付系统模型的设计(商家服务器端).doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)网上支付系统模型的设计(商家服务器端).doc(52页珍藏版)》请在三一办公上搜索。

1、目 录摘 要4ABSTRACT5第一章:电子商务概论61.1电子商务基本概念61.1.1电子商务的定义61.1.2电子商务的分类61.1.3电子商务的特点61.2子商务网上支付71.2.1电子商务支付系统的概念71.2.2电子商务的运作过程71.2.3电子商务的优点81.3电子商务支付系统的安全性81.3.1 SSL协议81.3.2安全电子交易协议SET91.3.3电子商务的安全隐患9第二章:信息安全技术密码学112.1密码学专业术语112.1.1消息和加密112.1.2鉴别、完整性和抵赖性112.1.3算法和密钥122.1.4对称算法132.1.5公开密码算法142.2 DES加密算法142

2、.2.1 DES的描述142.2.2 DES算法概要152.2.3初始置换162.2.4密钥置换172.2.5扩展置换182.2.6 S-盒代替192.2.7 P-盒置换212.2.8末置换212.2.9 DES解密212.3 RSA算法222.4安全散列算法(SHA)232.4.1单向散列函数介绍232.4.2 SHA的描述242.5数字签名252.5.1用公钥密码和单向Hash函数对文件签名262.5.2用公钥密码和单向Hash函数对文件签名272.5.3带加密的数字签名27第三章:电子商务网站的设计283.1系统设计283.2数据库设计与实现283.2.1数据库的需求分析283.2.2数

3、据库的逻辑设计293.2.3数据库的结构创建293.3后台数据库的配置323.3 前端网络页面的设计和开发323.3.1客户端首页323.3.2新用户注册页面的设计与实现343.3.3用户登陆页面的设计和实现353.3.4购物页面的设计与实现363.3.5管理员事务页面39第四章:对交易信息的加密签名算法的实现424.1课题分析424.2编码和测试43结束语49致 谢50参考文献51附录:(关键代码)52摘 要 当今世界,电子商务的发展非常迅速,形成了一个发展潜力巨大的市场,具有诱人的发展前景。2000年我国因特网用户超过2250万,通过因特网实现的商品销售额已经达到2.5万亿美元,电子商务已

4、成为21世纪各国经济增长点。本文主要讨论网上支付系统(电子商务中的核心部分)的商家服务器端的设计问题。本文提出带有各种服务和管理功能的商家网站和电子商务中关键的加密解密以及签名模块的设计方案。说明了用ASP和数据库实现网站的用户注册、登陆、选购商品、填写定单以及管理员管理用户、商品、定单等功能的实现方法,同时也说明了用SHA和RSA对定单签名以及用DES对定单文件进行加密解密等算法的实现。并对设计中的关键问题和难点密码签名算法的实现作了较深入的阐述。关键词:电子商务,ASP,网站,DES,RSAABSTRACTIn our modern society, electronic commerce

5、 is developing at a extreme high speed ,which forms a market with huge developing potential and alluring developing foreground. In 2000, the number of our nations internet user exceeds 22.5 million and the sale of goods on internet reaches 250 billion $. Electronic comubtedly the rising point of eac

6、h nations economy in 21st century. This essay mainly discuss the designing of the servers port which belongs to the defrayal system on internet(the core of electronic commerce). This essay puts forward various serving and managing functions and the pivotal problem of electronic commerceencryption an

7、d decryption, and the designing project of the signing module. It illuminates how to realize users registration, login , purchasing , order form filling and administrators managing on the users , the goods and the order forms whit the aid of ASP and the database.Moreover, it explains how to sign the

8、 order form with the help of SHA and RSA and how to encrypt or decryption these order forms with DES.Besides , it expounds the key but difficult problem in the designing - the realization of the arithmetic of code signature.Keywords : electronic commerce, Asp, web station, Des, RSA 第一章:电子商务概论1.1电子商务

9、基本概念 随着因特网(Internet)在全球的迅猛发展和广泛应用,电子商务(Electronic Commerce)受到越来越多的关注,并渗透到人们生活的每个角落,改变着社会经济的各个方面。1.1.1电子商务的定义 电子商务在20世纪90年代兴起于美国、加拿大和欧洲等发达国家。但是目前国际上对电子商务尚无统一的定义,现引用全球信息基础设施委员会(GIIC)电子商务工作委员会对电子商务的定义:电子商务是运用电子通信作为手段的经济活动,通过这种方式人们可以对带有经济价值的产品和服务进行宣传、购买和结算。这种交易的方式不受地理位置、资金多少或零售渠道所有权的影响,公有和私有企业、公司、政府组织、各

10、种社会团体、一般公民、企业家都能自由地参加广泛的经济活动,其中包括农业、林业、渔业、工业、私营和政府的服务业。电子商务能使产品在世界范围内交易并向消费者提供多种多样的选择。1.1.2电子商务的分类 电子商务的应用范围极其广泛,因此有许多分类方法,其中最基本的方法就是按电子商务的交易对象来分类:1.企业对消费者的电子商务(B to C) 企业与消费者之间的电子商务基本上就是网上销售,这是人们最熟悉的一种电子商务形式。目前,在因特网上有大量的网上商店,提供多种类型的商品和服务。消费者在家中通过与因特网相连的计算机,便可以在网上选购自己所需要的商品和服务,而不必亲自到商场或售货店去购买。2.企业对企

11、业的电子商务(B to B) 企业之间的电子商务指的是,供求企业或协作企业之间利用因特网和其他网络交换信息,完成从订货到结算的全部交易过程。包括采购商与供应商的谈判、订货、签约、接收发票和付款,以及索赔处理,商品运输管理等。3.企业对政府的电子商务(B to G) 这种电子商务活动可以覆盖企业、公司与政府组织间的各种事务。4.消费者对消费者的电子商务(C to C) 消费者之间可以通过使用公共网站和个人网站等方式来交换数据。1.1.3电子商务的特点电子商务在全球各地通过计算机网络进行并完成各种商务活动、交易活动、金融活动和相关的综合服务活动。在一个不太长的时间内,电子商务已经开始改变人民长期以

12、来习以为常的各种传统贸易活动的内容和形式。相对于传统商务,电子商务表现出以下几个突出的特点:1电子商务的结构性特点。电子商务涉及电子数据处理、网络数据传输、数据交换和资金 汇兑等技术;在企业的电子商务系统内部有导购、定货、付款、交易与安全等有机地联系在 一起的各个子系统;在交易进行过程中经历商品浏览和订货、销售处理和发货、资金支付和 售后服务等环节;电子商务业务的开展由消费者、厂商、运输、报关、保险、商检和银行等 不同参与者通过计算机网络组成一个复杂的网络结构,相互作用,相互依赖,协同处理,形 成一个相互密切联系的连接全社会的信息处理大环境。在这个环境下,简化了商贸业务的手 续,加快了业务开展

13、的速度,最重要的是规范了整个商贸业务的发生、发展和结算过程,从 根本上保证了电子商务的正常运作。 2电子商务的动态性特点。电子商务交易网络没有时间和空间的限制,是一个不断更新的系 统,每时每刻都在进行运转。网络上的供求信息在不停地更换,网上的商品和资金在不停地 流动,交易和买卖的双方也不停地变更,商机不断的出现,竞争不停地展开。正是这种物质、 资金和信息的高速流动,使得电子商务具有了传统商业所不可比拟的强大生命力。 3电子商务的社会性特点。电子商务的最终目标是实现商品的网上交易,但这是一个相当 复杂的过程,除了要应用各种有关技术和其他系统的协同处理来保证交易过程的顺利完成, 还涉及许多社会性的

14、问题。例如商品和资金流转的方式变革;法律的认可和保障;政府部门 的支持和统一管理;公众对网上电子购物的热情和认可等等。所有这些问题全都涉及到社会, 不是一个企业或一个领域就能解决的,需要全社会的努力和整体的实现,才能最终得到电子商 务所带来的优越性。 4电子商务的层次性特点。电子商务具有层次结构的特点,任何个人、企业、地区和国家都 可以建立自己的电子商务系统,这些系统的本身都是一个独立的、完备的整体,都可以提供从 商品的推销到购买、支付全过程的服务。但是这样的系统又是更大范围或更高一级的电子商务、 系统的一个组成部分。因此在实际应用中,常将电子商务分为一般、国内、国际等不同的级别。 另外,也可

15、以从系统的功能和应用的难易程度对电子商务进行分级,较低级的电子商务系统只 涉及基本网络、信息发布、产品展示和货款支付等,各方面的要求较低;而用于进行国际贸易 的电子商务系统不仅技术要求高,而且要涉及到税收、关税、合同法以及不同的银行业务等, 结构也比较复杂。5网上购物和商品的特点。电子商务通过Internet网上的浏览器,可以让客户足不出户就能看 到商品的具体型号、规格、售价、商品的真实图片和性能介绍,借助多媒体技术甚至能够看到 商品的图像和动画演示和听到商品的声音,使客户基本上达到亲自到商场里购物的效果。特别 是客户可以减少路途的劳累和人员的拥挤,在网上购物对客户也具有趣味性和吸引力。但是,

16、 大部分消费者还习惯于直接的购物方式,对网上购物要有一个观念的转变和适应的过程。1.2子商务网上支付1.2.1电子商务支付系统的概念电子商务支付系统是电子商务系统的重要组成部分,它指的是消费者、商家和金融机构之间使用安全电子手段交换商品或服务,即把新型支付手段(包括电子现金(E-CA-SH)、信用卡(CREDIT CARD)、借记卡(DEBIT CARD)、智能卡等)的支付信息通过网络安全传送到银行或相应的处理机构,来实现电子支付。1.2.2电子商务的运作过程任何一项商贸活动,都可从时间上分为三个阶段:交易前,交易中,交易后。交易前阶段是一项交易的准备阶段。传统模式下,卖方所做的最多也就是做广

17、告,然后坐等用户上门,但是由于市场信息的不对称性,买卖双方往往会在互相寻找中失之交臂。而在网络环境下,卖方可以积极地在网上创建主页,推出企业形象宣传、企业文化、产品展示等信息;买方则可随时通过网址访问对方主页,查询所需商品信息,同时增进对卖方企业的了解。交易中阶段,买方在选定商品并得到认证中心对于卖方信用的确认后,即向卖方发出求购信息。卖方在收到买方信息后,也要通过认证中心确认对方身份,然后双方就交易的具体细节进行磋商。传统模式下,这一过程从报价、磋商、下定单都是通过贸易单证的传递完成的。如邮递、传真等,其速度慢且保密性差。而在网络化环境下,这些单证是借助网络以标准的报文形式传递的,信息瞬息可

18、达,且网上的专用数据交换协议自动保证了信息传递的准确性和安全可靠性。交易后阶段,双方通过金融机构进行收付货款,同时完成商品交接。这一阶段是整个商贸交易过程中很关键的一环,是双方实现商贸交易活动的目的。1.2.3电子商务的优点与传统商务模式相比,电子商务具有以下优点:营运成本低。电子商务跨越了传统营销方式下的中间商环节,缩短了价值链,降低了交易成本,顾客可以较低的价格获得优质产品和服务。用户范围广。如前所述,电子商务是基于Internet的,而Internet网迅速扩大的数以千万计的用户群对商家来说无疑是一个巨大的潜在的买方市场。无时空限制。全球市场由网络连接成为与地域及空间无关的一体化市场,任

19、何人只要拥有一个网络入口点,就可随时、随地、随意地进行商务活动。多媒体手段。网上不但可传递文字,同时也可传递图像、动画、声音,客户可以直观地浏览和选择商品。双向互动交流。通过电子商务系统商家可以在网上展示商品,提供有关商品信息的查询,与顾客进行互动双向沟通,收集市场信息,进行产品测试等。提供个性化服务。在商品越来越趋于共性化,而消费者越来越个性化的时代,电子商务凭借现代高科技技术的支撑,可充分实现以顾客为中心,最大程度上满足顾客个性化需求。1.3电子商务支付系统的安全性电子商务支付系统的安全要求包括:保密性、认证、数据完整性、交互操作性等。目前,国内外使用的保障电子商务支付系统安全的协议包括:

20、SSL(Secure Socket Lay-er,安全套按字层)、SET(Secure Electronic Transaction)等协议标准。1.3.1 SSL协议安全套接层方法(Secure Socket Layer, SSL)协议在网络上普遍使用,能保证双方通信时数据的完整性、保密性和互操作性,在安全要求不太高时可用。它包括:(1)握手协议。即在传送信息之前,先发送握手信息以相互确认对方的身份。确认身份后,双方共同持有一个共享密钥。(2)消息加密协议。即双方握手后,用对方证书(RSA公钥)加密一随机密钥,再用随机密钥加密双方的信息流,实现保密性。由于他被IE,NESCAPE等浏览器所内

21、置,实现起来非常方便。目前的B-C网上支付大多采用这种办法。利用招商银行提供的网上支付接口可以很方便的实现基于此协议的网上支付。SSL使用加密的办法建立一个安全的通信通道以便将客户的信用卡号传送给商家。它等价于使用一个安全电话连接将用户的信用卡通过电话读给商家。SSL交易过程图虽然SSL握手协议可以用于双方互相确认身份,但实际上基本只使用客户认证服务器身份,即单方面认证。这一协议不能防止心术不正的商家的欺诈,因为该商家掌握了客户的信用卡号。商家欺诈是SSL协议所面临的最严重的问题之一。另外由于加密算法受到美国加密出口的限制,浏览器和Web Server都存在所谓的512/40的问题。既DES对

22、称加密为40位,RSA加密为512位。加密强度偏低使B-C的SSL协议难于推广到有更高要求的B-B领域。1.3.2安全电子交易协议SETSET是实现在开放的网络(Internet或公众多媒体网)上使用付款卡(信用卡、借记卡和取款卡等)支付的安全事务处理协议。它的实现不需要对现有的银行支付网络进行大改造。SET规定了电子商务支付系统各方购买和支付消息传送的流程。为SET协议结构流程图。可见,电子商务支付系统的交易三方为:持卡人、商家和支付网关。交易流程为:(1)持卡人决定购买,向商家发出购买请求;(2)商家返回同意支付等信息;(3)持卡人验证商家身份,将定购信息和支付信息安全传送给商家,但支付信

23、息对商家来说是不可见的(用银行公钥加密);(4)商家验证支付网关身份,把支付信息传给支付网关,要求验证持卡人的支付信息是否有效;(5)支付网关验证商家身份,通过传统的银行网络到发卡行验证持卡人的支付信息是否有效,并把结果返回商家;(6)商家返回信息给持卡人,送货;(7)商家定期向支付网关发送要求支付信息,支付网关通知卡行划帐,并把结果返回商家,交易结束。安全电子交易使用的安全技术包括:加密(公开密钥加密、秘密密钥加密)、数字信封、数字签名、双重数字签名、认证等。它通过加密保证了数据的安全性,通过数字签名保证交易各方的身份认证和数据的完整性,通过使用明确的交互协议和消息格式保证了互操作性。由于它

24、实现起来比较复杂,每次交易都需要经过多次加密、HASH及数字签名,并且须在客户端安装专门的交易软件。因此现在使用该协议的电子支付系统并不多。目前中国银行的网上银行中的支付方式是基于SET。1.3.3电子商务的安全隐患1 问题的提出电子商务和其他的网上应用一样,面临着安全的问题,如果不能妥善处理好网络的安全问题,可能的商业损失是不可估量的。 尽管国际互联网的发展如此迅猛,商界对使用电子邮件仍有保留。万维网目前也在主要作为公司扩大影响和进行产品推销的地方,还未一个真正的买卖市场。为什么呢?只因为商业界对国际互联网仍然持有保留态度。这是不无道理的,国际互联网的确存在另人担忧的一面。就拿电子邮件来说,

25、使用信封和纸张的传统信件一样,也存在着被拆看、误投和伪造的可能性。电子邮件与普通信件不同,他没有信封,更象明信片,在网络传输途中,可以轻易的、难于觉察的被阅读,甚至被篡改。 由于电子邮件的这些不可靠性,虽然他广泛地用来加速商业通信,但是真正重要的文件仍然不宜、或不敢使用电子邮件。在个人通信方面,相信用户把电子邮件想象成明信片的话,也将不再敢用他来明文传输许多内容了。 万维网的商业应用,也因为国际互联网的不安全性而受到影响。试想如果在国际互联网上进行买卖交易,必须需要可靠地保护买卖双方在买卖过程中交换的各种重要信息,如银行帐号,买卖金额,信用卡号,交易人身份等等。但是,开放式的国际互联网系统不能

26、保证这一点。信息在国际互联网上的传输途径带来不确定性。在达到目的地以前,信息可能会周游到世界的任何地方,跨越任何机构和国家界限。这一点正是商业界和消费者犹豫不前的重要原因。2 解决方法由于电子商务有很多优点,但同时有存在很多安全隐患,所以必须解决安全问题,这样才能促进电子商务的发展。加密技术正渗透到社会生活的各个领域,成为信息时代的社会基石之一。相信在不远的将来,他会有更加广阔的应用前景。可见,在国际互联网上的通信,是很不安全的。在这种不安全的网络上实施安全传输的唯一方法,就是采用功能强大的加密技术。计算机运算速度的飞速提升,已经使得普通用户可以利用个人计算机来为自己的文件信息进行加密。而且,

27、信息加密技术和其他方法不同,用户不用系统管理员帮助,也不需要特殊设备,只要拥有一台个人计算机和相应的软件,可以说信息加密是每个普通用户都有权利和能力使用的安全通信技术。电子签名(数字签名)就是电子商务上的一种应用,而且发展很迅速。它的技术支持,就是基于PKI公钥基础设施。第二章:信息安全技术密码学由于在现在流行的网络传输中存在着各种各样的的安全隐患,所以就有了密码学的的诞生和发展。这个方法是现今非常实用的的安全措施。2.1密码学专业术语2.1.1消息和加密消息(message)被称为明文(plaintext)。用某种方法伪装消息以隐藏它的内容的过程称为加密(encryption),被加密的消息

28、称为密文(ciphertext),而把密文转变为明文的过程称为解密(decryption)。明文 密文 原始明文解 密加 密图2-1-1加密和解密使消息保密的技术和科学叫做密码编码学(cryptography),从事此行的叫密码者(cryptographer),密码分析者(cryptanalyst)是从事密码分析的专业人员,密码分析学(cryptanalysis)就是破译密文的科学和技术,即揭穿伪装。密码学(cryptologist),现代的密码学家通常也是理论数学家。明文用M或P表示,它可能是位序列、文本文件、位图、数字化语音或数字化的视频图象等。对于计算机,M指简单的二进制数据。明文可以被

29、传送和存储,无论在哪种情况,M指待加密的消息。 密文用C表示,它也是二进制数据,有时和M一样大,有时稍大。加密函数E作用于M得到密文C,可用数学公式表示:E(M)=C相反地,解密函数D作用于C产生M: D(C)=M先加密后解密,原始明文将恢复,故下面的等式必须成立: D(E(M)=M2.1.2鉴别、完整性和抵赖性除了提供机密性外,密码学通常还有其他作用:鉴别(authentication) 消息的接收者应该能够确认消息的来源;入侵者不可能伪装成其他人。完整性(integrity) 消息的接收者应该能够验证在传送过程中消息没有被修改;入侵者不可能用假的消息代替合法的消息。抗抵赖 (nonrepp

30、udiation) 发送者事后不可能虚假地否认他发送的消息。 这些功能是通过计算机进行社会交流至关重要的要求,就象面对面交流一样。某人是否就是他说的人;某人的身份证明文件是否有效;声称从某人那里来的文件是否确实从那个人那里来的;这些事情都是通过鉴别、完整性、和抗抵赖来实现的。2.1.3算法和密钥 密码算法(algorithm)也叫密码(cipher),是用于加密和解密的数学函数。(通常情况下有两个相关的函数:一个用作加密,另一个用作解密) 如果算法的保密性是基于保持算法的秘密,这种算法称为受限制的(restricted)算法。受限制的算法具有历史意义,但按现在的标准,他们的保密性已远远不够。大

31、的或经常变换的用户组织不能使用它们,因为如果有一个用户离开这个组织,其他的用户就必须改换另外一个不同的算法。如果有人无意暴露了这个秘密,所有人都必须改变他们的算法。更遭的是,受限制的密码算法不可能进行质量控制或标准化。每个用户组织必须有他们自己的唯一算法。这样的组织不可能采用流行的硬件或软件产品,因为窃听者可以买到这些流行的产品并学习算法,于是用户不得不编写算法并予以实现,如果这个组织中没有好的密码学家,那么他们就无法知道他们是否拥有安全的算法。尽管有这些主要的缺陷,受限制的算法对低密级的应用来说还是很流行的,用户或者没有认识到或者不在乎他们系统中存在的问题。现在密码学中用密钥(key)解决了

32、这个问题,密钥用K表示。K可以是很多数值里的任意值。密钥K的可能的范围叫做密钥空间(keyspace)。加密和解密运算都使用了这个密钥(即运算都依赖于密钥,并用K作为下标表示),这样,加/解密函数现在变成: EK(M)=CDK(C)=M这些函数具有下面特性 DK(EK(M)=M 解 密加 密明文 密钥 密文 密钥 原始明文图2-1-2 使用一个密钥加/解密有些算法使用不同的加密密钥(见图2-1-3),也就是说加密密钥K1于相应的解密密钥不同,在这种情况下:解 密加 密明文 加密密钥 密文 解密密钥 原始明文图2-1-3使用两个密钥的加/解密EK1(M)=C DK2(C)=MDK2 (EK1(M

33、)=M所有这些算法的安全性都基于密钥的安全性;而不是基于算法的细节安全性。这就意味着算法可以公开,也可以被分析,可以大量使用算法的产品,即使偷听者知道你的算法也没有关系。如果他不知道你使用的具体密钥,他就不可能阅读你的消息。密码系统(cryptosystem)由算法以及所有可能的明文、密文和密钥组成的。2.1.4对称算法基于密钥的算法通常有两类:对称算法和公开密钥算法。对称算法(symmetric algorithm)有时又叫做传统密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立。在大多数对称算法中,加/解密密钥是相同的。这些算法也叫秘密密钥算法或单密钥算法,它要求发送者和接收者在

34、安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄露密钥就意味着任何人对能对消息进行加/解密。只要通信需要保密,密钥就必须保存。对称算法的加密和解密表示为:EK(M)=C DK(C)=M对称算法可分为两类。一次只对明文中的单个位(有时对字节)运算称为序列算法(stream algorithm)或序列密码(stream cipher)。另一类是对明文的一组位进行运算,这些位称为分组(block),相应的算法称为分组运算或分组密码。现在计算机密码算法的典型分组长度64位-这个长度大到足以分析破译,但又小到足以方便使用。2.1.5公开密码算法公开密码算法(public-key algorit

35、hm,也叫非对称算法)是这样设计的:用作加密的密钥不同于解密的密钥,而且解密的密钥不能根据加密的密钥计算出来(至少在合理假定的长时间内)。之所以叫做公开密钥算法,是因为加密密钥能够公开,即陌生者能用加密密钥加密信息,但只有相应的解密密钥才能解密信息。在这些系统中,加密密钥叫做公开密钥(简称公钥),解密密钥叫做私人密钥(简称私钥)。用公开密钥加密K加密表示为:EK(M)=C虽然公开密钥和私人密钥不同,但用相应的私人密钥解密可表示为: DK(C)=M有时消息用私人密钥加密而用公开密钥解密,这用于数字签名。本课题就是研究电子商务中的数字签名和解密鉴定以及完整性认证。2.2 DES加密算法2.2.1

36、DES的描述DES是一个分组加密算法,它以64-位分组对数据加密。64-位一组的明文从算法的一段输入,64-位的密文从另一端输出。DES是一个对称算法:加密和解密用的是同一算法(除密钥编排不同以外)。密钥的长度为56位。(密钥通常表示为64-位的数,但每个第8位都用作奇偶校验,可以忽略)密钥可以是任意的56位数,且可在任意时候改变。其中极少量的数被认为是弱密钥,但能很容易避免开他们。所有的保密性依赖于密钥。简单的说,算法只不过是加密的两个基本技术-混乱和扩散的组合。DES基本组建分组是这些技术的组合(先代替后置换),它基于密钥作用于明文,这是众所周知的轮(round)。DES有16轮,这意味着

37、要在明文分组上16次设施相同的组合技术(见图2-2-1)。此算法只使用了标准的算术和逻辑运算,而其作用的数也最多只有64位,因此用70年代末期的硬件技术很容易实现。现在最新的是AES加密算法,可进行128位或者256位加密,而且运算速度也是很快的。2.2.2 DES算法概要DES对64-位的明文分组进行操作。通过一个初始置换,将明文分组成左半部分和右半部分,各32位长。然后进行16轮完全相同的运算,这些运算被称为函数f,在运算过程中数据与密钥结合。经过16轮后,左、右半部分合在一起经过一个末置换(初始置换的逆置换),这样该算法就完成了。在每一轮中,密钥位移位,然后再从密钥的56位中选出48位。

38、通过一个扩展置换将数据的右半部分扩展成48位,并通过一个异或操作与48位密钥结合,通过8个S-盒将这48位替代成新的32位数据,再将其置换一次。这四部运算构成了函数f。然后,通过另一个异或运算,函数f的输出与左半部分结合,其结果即成为新的右半部分,原来的右半部分成为新的左半部分。将该操作重复16次,便实现了DES的16轮运算。假设Bi是第i次迭代的结果,Li和Ri是Bi的左半部分和右半部分,Ki是第I轮的48-位密钥,且f是实现代替、置换及密钥异或等运算的函数,那么每一轮就是: Li=Ri-1 Li=Li-1 f(Ri-1,ki)明 文I PR0L0 f K1 R1=L0f(R0,K1)L1=

39、R0f K2 R2=L1f(R1,K2)L2=R1R15=L14f(R14,K15)L15=R14fK16R16=L15f(R15,K16)L16=R15IP-1密文图2-2-1 DES 2.2.3初始置换初始置换在第一轮运算之前执行,对输入分组实施如表2-2-1所示的变换。例如,初始置换把明文的第58位换到第1位的位置,把第50位换到第2位,把第42位换到第3的位置,等等。初始变换和对应的末置换并不影响DES的安全性。表2-2-1 初始置换58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 462 54 46 38 30 22 14 6 64 56 48

40、40 32 24 16 857 49 41 33 25 17 9 1 59 51 43 35 27 19 11 361 53 45 37 29 21 13 5 63 55 47 39 31 23 15 72.2.4密钥置换一开始,由于不考虑每个字节的第八位,DES的密钥由64-位减至56位,如表2-2-2所示。每个字节第8位可作为奇偶校验以确保密钥不发生错误。在DES的每一轮中,从56-位密钥产生出不同的48-位子密钥(subkey),这些密钥Ki由下面的方式确定。表2-2-2密钥置换57 49 41 33 25 17 9 1 58 50 42 34 26 1810 2 59 51 43 35

41、 27 19 11 3 60 52 44 3663 55 47 39 31 23 15 7 62 54 46 38 30 2214 6 61 53 45 37 29 21 13 5 28 20 12 4首先,56-位密钥被分成两部分,每部分28位。然后,根据轮数,这两部分分别循环左移1位或2位。表2-2-3是每轮移动的位数。表2-2-3 每轮移动的位数轮 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16位数: 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1移动后,就从56位中选出48位。因为这个运算不仅置换了每位的顺序,同时也选择子密钥,因而被称

42、作压缩置换(compression permutation)。这个运算提供了一组48位的集。表2-2-4定义了压缩置换(也称为置换选择)。表2-2-4 压缩置换14 17 11 24 1 5 3 28 15 6 21 1023 19 12 4 26 8 16 7 27 20 13 241 52 31 37 47 55 30 40 51 45 33 4844 49 39 56 34 53 46 42 50 36 29 32因为有移动运算,在每一个子密钥中使用了不同的密钥子集的位。虽然不是所有的位在子密钥中使用的次数均相同,但在16个子密钥中,每一位大约使用了其中14个子密钥。2.2.5扩展置换这

43、个运算将数据的右半部分Ri从32位扩展到了48位。由于这个运算改变了位的次序,重复了某些位,故被称为扩展置换。这个操作有两个目的:它产生了与密钥同长度的数据以进行异或运算;它提供了更长的结果,使得在替代运算时能进行压缩。由于输入的一位将影响两个替代换,所以输出对输入的依赖性将传播得更快,这叫做雪蹦效应。故DES的设计着重于尽可能快地使得密文的每一位依赖于明文和密钥的每一位。扩展置换有时也叫E-盒。对每个4-位输入分组,第1和第4位分别表示输出分组中的两位,而第2位和第3位分别表示输出分组中的一位。表2-2-5描述了哪一个输出位对应哪一个输入位。表2-2-5 扩展置换32 1 2 3 4 5 4

44、 5 6 7 8 98 9 10 11 12 13 12 13 14 15 16 1716 17 18 19 20 21 20 21 22 23 24 2524 25 26 27 28 29 28 29 30 31 32 1尽管输出大于输入分组,但每一个输入分组产生唯一的输出分组。2.2.6 S-盒代替压缩后的密钥与扩展分组异或以后,将48位的结果送入,进行代替运算。替代由8个代替盒,或S-盒完成。每一个S-盒都有6位输入,4-位输出,且这8个S-盒是不同的。48-位的输入被分为8个6-位的分组,每一分组对应一个S-盒代替操作:分组1由S-盒代替操作,分组2由S-盒2操作。每个S-盒是由一个4

45、行、16列的表。盒中的每一项都是一个4-位的数。S-盒的6个位输入确定了其对应的输出在哪一行哪一列。表2-2-6是所有的8个S-盒。表2-2-6 S-盒S114 4 13 1 2 15 11 8 3 10 6 12 5 9 0 70 15 7 4 14 2 13 1 10 6 12 11 9 5 3 84 1 14 8 13 6 2 11 15 12 9 7 3 10 5 015 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13S215 1 8 14 6 11 3 4 9 7 2 13 12 0 5 103 13 4 7 15 2 8 14 12 0 1 10 6 9 11 50 14 7 11 10 4 13 1 5 8 12 6 9 3 2 1513 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9S310 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号