




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、论文题目:64位des加密与des加密算法在门禁系统中应用64位des加密系统设计与实现摘要 密码技术是信息安全的关键技术,密码算法的快速实现日益重要,本文简要介绍了des 算法的基本原理及具体实现过程,并分析了该算法的安全性,并着重对des 算法的加密过程及优缺点进行了探讨。通过对分组密码des 算法ip 变换、ip 逆变换、s- 盒换位表的分析, 找出了他们的换位规则, 根据这种规则提出了对des 算法软件实现的改进方法。并结合c 编程环境,介绍了des 加密程序实现的具体方法。本文介绍了在门禁系统中使用mcs51汇编语言编写des加密算法的方法关键词 des加密; c编程程序实现;算法,
2、门禁系统 des加密算法 mcs51单片机abstract the encryption of the data safeguards its security mainly by encrypting the data transmitted by the netwoyrk.this active defensive device can voluntarily offer considerable safety protection for information with only a little cost . information technology changes our li
3、fe and work style. at the same time, information security has become one of our important social problems. cryptotechnique is the key technique of information security , a quick implementation of cryptographic algorithm has become more and more important.this paper introduces the basic elements of d
4、es arithmetic and the realizing process of des algorithm, analyze the security of des arithmetic it focuses on the discussion of the encryption process and the pluses and minuses of des algorithm.。through the analysis of des algorithm, ip commutation, ip- 1 commutation, s- box, find out their replac
5、ement rule and put forward the improvement methods of des algorithm s software realization according to this kind of rule. the concrete method of programming to achieve des encryption technique by c language were discussed.key words des encryption;c programming achievement of programme; 目次一、引言-二、des
6、加密算法-(一)、des加密算法的基本概念-(二)、des加密算法基本思想-(三)、des加密算法内在特性-(四)、des 加密算法的优点-(五)、des加密算法加密目的-三、des加密算法流程分析-(一)、des加密算法加密过程-1、 子密钥的产生-2、 换位操作初始置换-3、 乘积变换、扩展置换-、s-盒置换-、p-盒置换-、乘积变换函数f-4、 des加密算法在门禁系统中应用-(二)、des加密算法解密过程-1、 des 加密算法的解密思路-2、 des解密流程图-四、des 加密算法的讨论-(一)、des加密算法的工作方式- (二)、des加密算法的安全性-(三)、des 加密的实现版
7、本优化-五、des 加密算法c环境下的实现-六、结束语-一、引 言二十一世纪随着网络的普及和发展,在给人们提供大量方便的同时,信息注定成为一种重要的战略资源。也必然对安全提出更高的要求.信息的安全保障能力成为一个国家综合国力的重要组成部分。 采用数据保密技术能保证网上传输信息的安全,以免数据在传输过程中被盗用、暴露或篡改. 数据传输保密的数学模型主要包括数据的加密与解密,使用加密算法能做到数据加密,在各种信息安全技术措施中,硬件结构的安全和操作系统的安全是基础,密码技术是网络安全与保密的核心和关键。des 算法是目前使用最多的加密算法,也是最有代表性的分组加密算法,目前广泛的应用于保密通信之中
8、。其问世20多年来,成为密码界研究的重点,经受住了许多科学家的研究和破译,是一种世界公认的较好的加密算法,在pos、atm、磁卡及智能卡( ic 卡) 、加油站、高速公路收费站等民用密码领域有着广泛的应用。范围包括:计算机网络通信中的数据保护、电子资金传送系统中的信息加密、保护用户文件、用户识别等,为全球贸易、金融等非官方部门提供了可靠的通信安全保障。早在1977 年,人们估计建成一台每秒钟检测一百万个密钥的专用机用于des 的解密要耗资两千万美元,而且需要12 小时的破解才能得到结果,所以当时des 被认为是一种十分强壮的加密方法。当今的计算机速度越来越快,1997 年,人们估计制造一台用于
9、des 解密的专用机的费用降到十万美元左右,破解时间为6 小时。所以,当今社会单纯使用传统的64位密钥的des算法进行加密已经不再安全。本文通过des加密技术的基本原理及具体实现步骤,并分析了该算法的安全性,并着重对des 算法的加密过程及优缺点进行了探讨。通过对分组密码des 算法ip 变换、ip 逆变换、s- 盒换位表的分析,对des的安全质疑给出了回答。二、des加密算法(一)、des加密算法基本概念数据加密标准(data encryption standard,简称des)是美国国家标准局于1977 年颁布的由ibm公司研制的一种非机密数据的正式数据加密标准。在正式接触des之前,首先
10、让我们了解一下加密技术中的一些专业术语:加密(encipher) :通过密码系统把明文变换为不可懂的形式的密文。加密算法( encryption algorithm) : 实施一系列变换,使信息变成密文的一组数学规则。解密(decrypt) :使用适当的密钥,将已加密的文本转换成明文。密文(ciphertext) :经加密处理而产生的数据,其语义内容是不可用的。明文(cleartext) :可理解的数据,其语义内容是可用的。des算法是对称的,即是一种对称密码体制,它所使用的加密密钥和解密密钥是相同的,既可用于加密又可用于解密。des 是一种采用传统的替换和移位的方法加密的分组密码, 即它将明
11、文分成固定长度(64 比特)的组(块) ,用同一密钥(64 比特实际长度为56 比特因有8 比特用于奇偶校验)和乘法对每一块加密,输出也是固定长度(64 比特)的密文。(二)、des加密算法基本思想由于这种典型的按分组方式工作的密码,其基本思想是将二进制序列的明文分成每64比特一组用64比特的密钥对其进行16轮代换和换位加密,最后形成密文。(三)、des 算法的内在特性(1)密钥有效长度是56 位(第8,16,?,64 位为校验位),分组明文长度为64 位,而且明文、密文与密钥存在互补关系.(2)仅用16 次循环迭代,使得相同明文会产生相同密文.(3)存在着很好的并行结构:产生内部密钥的左移次
12、数存在着准对称性(即内部密钥生成过程存在并行性). des 属于传统的feistel 网络结构,在des 的基本单元中能够实施并行操作.(4)des 有16 轮加密,如果将第i 轮的p置换移至下一轮后会与下一轮的e 扩展操作进行合并,简化算法的基本操作.(5)可以通过s 盒与p 置换合并的方法节省p 置换的基本操作时间.(四)、des 加密算法的优点:des加密算法的优点大致上有以下几点:(1) des 提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改; (2) 具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时便于理解掌握; (3) des密码体制的安全性不依赖于算法的保
13、密,其加密的安全性仅以加密密钥的保密为基础。(五)、des加密算法加密目的des加密算法要达到的目的(通常称为des 密码算法要求)主要为以下五点:1.提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改;2.具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又要便于理解和掌握;3.des 密码体制的安全性应该不依赖于算法的保密,其安全性仅以加密密钥的保密为基础;4.实现经济,运行有效,并且适用于多种完全不同的应用。5.des的巧妙之处在于,除了密钥输入顺序之外其加密和解密的步骤完全相同。三、des加密算法流程分析(一)、des加密算法加密过程数据加密标准过程主要包括三部分:一
14、个是密钥产生部分;一个是换位操作,即初始置换部分和末置换部分;另一个是乘积交换部分。1、子密钥的产生des的乘积变换部分含16轮非线性变换,而每一轮非线性变换需要一个48比特的子密钥。这16个子密钥都是有一个64比特的外部密钥(即des的主密钥)经过移位和置换生成。64比特主密钥是在实施加密之前由外部直接输入给des的16个子密钥是由一个64比特的外部密钥经过移位和转换产生的。64比特主外部密钥k被输入后首先经过奇偶校验,同时剔除k8、k16、k24、k32、k40、k48、k56、k64等奇偶校验位,得到56比特的密钥k。再将k加到密码置换,密码置换是将k各个位上的数码,按照特定的进行换位,
15、置换后的56 比特分别存放到两个28比特的寄存器c0和d0中。57494133251791585042342618102595143352719113605244366355473931231576254463830221466153453729211352820124des密钥置换表密钥置换有规律可循:将164间的数字依次从上到下从右向左填入表格(1),将表格(1)消去最后一行,再将其它部分分割成表格(2)和表格(3)。将表格(3)翻转180即可。5749413325179158504234261810259514335271911360524436282012461534537292113
16、5625446383022146635547393123157645648403224168表格(1)5749413325179158504234261810259514335271911360524436 表格(2)2820124615345372921135625446383022146635547393123157表格(3)读取的顺序是从最上面一行开始,由左至右逐行读取。前四行共28比特。分别置于寄存器c0第1位.第28位 ,后四行共28比特分别置于寄存器d0第1 位.第28位。其它16对寄存器,即(c1,d1)、(c2,d2)、(c3,d3)、(c4,d4)、(c5,d5)、(c6,d
17、6)、(c7,d7)、(c8,d8)、(c9,d9)、(c10,d10)、(c11,d11)、(c12,d12)、(c13,d13)、(c14,d14)、(c15,d15)、(c16,d16)都有28比特。(ci+1,di+1)的内容均是根据如图每轮密钥的移位表,将寄存器对)(ci,di)内容循环左移1至2位到,循环左移即从寄存器左边移出的比特,又补到寄存器的最右边一位上。每轮子密钥的移位比特数寄存器序号12345678910111213141516左移位数1122222212222221外部密钥k的各比特在寄存器ci的位置ci寄存器ci中的各比特的序号ci123456789101112131
18、405749413325179158504234261801494133251791585042342618101241332517915850423426181022325179158504234261810259513491585042342618102595143354558504234261810259514335271956423426181025951433527191136726181025951433527191136052781025951433527191136052443689259514335271911360524436579105143352719113605244
19、3657494110113527191136052443657494133251112191136052443657494133251791213360524436574941332517915813145244365749413325179158504214153657494133251791585042342615165749413325179158504234261816ci寄存器ci中的各比特的序号ci151617181920212223242526272801025951433527191136052443601259514335271911360524436571259514335
20、271911360524436574923433527191136052443657494133342719113605244365749413325174511360524436574941332517915660524436574941332517915850674436574941332517915850423478574941332517915850423426188949413325179158504234261810910332517915850423426181025910111791585042342618102595143111215850423426181025951433
21、527121350423426181025951433527191113143426181025951433527191136014151810259514335271911360524415161025951433527191136052443616外部密钥k的各比特在寄存器di的位置di寄存器di中的各比特的序号di1234567891011121314063554739312315762544638302201554739312315762544638302214124739312315762544638302214623312315762544638302214661533415762
22、544638302214661534537456254463830221466153453729215646383022146615345372921135673022146615345372921135282078146615345372921135282012489661534537292113528201246391053453729211352820124635547101137292113528201246355473931111221135282012463554739312315121352820124635547393123157621314201246355473931231
23、57625446141546355473931231576254463830151663554739312315762544638302216di寄存器di中的各比特的序号di12345678910111213140635547393123157625446383022015547393123157625446383022141247393123157625446383022146233123157625446383022146615334157625446383022146615345374562544638302214661534537292156463830221466153453729
24、2113567302214661534537292113528207814661534537292113528201248966153453729211352820124639105345372921135282012463554710113729211352820124635547393111122113528201246355473931231512135282012463554739312315762131420124635547393123157625446141546355473931231576254463830151663554739312315762544638302216将存
25、储到各寄存器对中的内容都加到压缩置换表中,压缩置换是按照固定的格式从中选出48比特,其中压缩置换表的数字表示寄存器对(ci,di)的比特序号,即将(ci,di)中的第14,17,11,位分别置换成ki的第1,2,3,位。ki表中的前四行的均小于28说明ki的前24位从寄存器ci 的28 位置换得来,其中剔除第9,18,22,25四个比特。表中的前四行的均小于28说明ki的前24位从寄存器di的28 位置换得来其中剔除第35,38,43,54四个比特。压缩置换表14171124153281562110231912426816727201324152313747553040514533484449
26、3956345346425036293216对积存器经过压缩置换表的置换产生16个子密钥k1、k2、k3、 k4、 k5、 k6 、k7、 k8 、k9 、k10、 k11、 k12、 k13、 k14 、k15、 k16 。经过压缩置换置换子密钥ki 与外部密钥k的比特对应关系如图:ki子密钥ki中的各比特的序号(位)ki123456789101112131415161718192021222324110 5134604917335729194233526254458591362718411224326524192549591113460271817365051585719103323512
27、710362558933435060184411214934354241359173435115949942581727344425760515033181926255243145196043335826421111857514144353417231093627505634427174210265060241352557191815152595849113467525711126591034445125199413250353643423360187836416050104359185735935825525134194927261744289573352422355110492716050
28、174943261141191893659910411736265119356933115044341572710602532584943101125149103511943176034571850411159449525142332711129503359195232714418412342560435758363526171112135834174333652115057225511894427414149191016013144218127524936603441519352585711252633359504414152625011363349441825355819514241609
29、10175243345715161859423572541361017275011433433521294435264916ki子密钥ki中的各比特的序号(位)ki25262728293031323334353637383940414243444546474812228395437447305532329612138631520451413625531121420314629633922284515215313305571237655447232361415301347236122962537281439546321532038317344555621428317536313462021126
30、123384753742215544529394661121554374728304563457223120315566238561323304563623821311214552047295461545395346226728714294746225156361394311338536255202337306781254611331306206247452355152822374639472114538944653523226112543937154772014293831636213645910553037207645633823216231544611322154746285329101
31、139142145453294722754615385545286623130123713111223615553837133165420306222392912534615146321281213745203922212815533841446623136337306261475121314542942365126237255613053728472114464531206314153813557532063462163945143754123156130291544715163054762451255381361313762946423285322217633916des子密钥产生过程流程
32、图如下:64比特外部密钥k奇偶校验密钥置换c0(28比特)左移c1(28比特)左移d0(28比特)左移d1(28比特)左移k1(48比特)压缩置换ci-1(28比特)左移ci(28比特)左移di-1(28比特)左移di(28比特)左移ki(48比特)压缩置换c15(28比特)左移c16(28比特)d15(28比特)左移d16(28比特)k16(48比特)压缩置换ki-1(48比特)压缩置换k15(48比特)压缩置换2、换位操作初始置换加密前,先把明文分成64比特的分组,然后将64比特二进制码输入密码器中。密码器先对输入的64位码进行初始置换.。5850423426181026052443628
33、2012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157初始置换是对64为明文分组进行如图所示的变换。读法依然是从左到右,从上到下。初始置换表有明显的规律性:上四行全为偶数,而且从上到下,从左到右是由小到大排列,下四行全为奇数,而且从上到下,从左到右是由小到大排列然后在64位主密钥的产生的16个子密钥控制下进行16轮的乘积变换,接着再进行末置换就可得到64比特已加密的密文。3、乘积变换乘积变换包括:扩展置换,与48比特密钥ki进行异或操作,s-盒置换,p-盒置换。
34、、扩展置换在每一轮的变换中,des对上一轮结果的右半部分的32比特首先进行扩展置换。扩展置换有时也叫e-盒置换,是将32比特数据扩展成48比特。扩展置换的目的:一、 产生与密钥同长度的数据便于同密钥进行异或操作;二、 提供更长的结果,使得在非线性替换运算中能进行压缩。扩展置换具体过程:先将输入的32比特的数据分成8组,每组4比特。把上一组的最后一位加在该组的前面,把下一组的最前的一位放在该组的后面,且8组为循环。r(i-1)(32位)扩展置换后r(i-1)(48位)r28 r29 r30 r31 r32 r1扩展置换:e(r)= r32 r1 r2 r3 r4 r5r4 r5 r6 r7 r8
35、 r9r8 r9 r10 r11 r12 r13r12 r13 r14 r15 r16 r17 r16 r17 r18 r19 r20 r21r20 r21 r22 r23 r24 r25r24 r25 r26 r27 r28 r29r32 r1 r2 r3 r4 r5r28 r29 r30 r31 r32 r1然后再与已经经过移位和置换的48比特密钥ki进行异或操作,将得到的结果新的48比特数据送入s-盒进行非线性替换。、s-盒置换s-盒将48比特的输入分成8组,每组6比特。每一个6比特的分组由一个s-盒进行以下操作:若输入的6比特为a=(a1, a2, a3, a4, a5, a6)则a1
36、 和a6 两位二进制数可以确定03之间的一个数字,它决定s-盒置换表中的某一行,而a2, a3, a4, a5,这四位二进制数可以确定015之间的一个数字,它决定s-盒置换表中的某一列,行列叫界交叉初所存的十六进制数的二进制数转换即为新的输出。s盒(1)(0000) 0(0001)1(0010)2(0011)3(0100)4(0101)5(0110)6(0111)7(1000)8(1001)9(1010)10(1011)11(1100)12(1101)13(1110)14(1111)15(00)01441312151183106125907(01)10157414213110612119538(10)2411481621115129731050(11)31512824917511314100613s盒(2)(0000) 0(0001)1(0010)2(0011)3(0100)4(0101)5(0110)6(0111)7(1000)8(1001)9(1010)10(1011)11(1100)12(1101)13(1110)14(1111)15(00)01518146113497213120510(01)13134715281412011069115(10)20147111041
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 鸡西辅警考试题库
- 极地资源在军事领域的开发利用
- 公司工作总结集合13篇
- 低碳绿色演讲稿
- 机器人与自动化对人力资源的影响
- 湖北省孝感市部分高中2024-2025学年高二下学期期末联考历史试题(含答案)
- 河南长三角宣传活动方案
- 模特金秋活动方案
- 检察机关读书月活动方案
- 樟岭管护区活动方案
- 毕业设计(论文)-自动展开晒衣架设计
- 2025年云南省中考历史试卷真题(含答案解析)
- 安全文明施工专项方案及保证措施
- 清华大学五道口金融学院.清华金融评论-2025中国保险竞争力研究报告
- 圆桶养殖水质管理制度
- 2025-2030中国软磁材料行业市场发展分析及竞争格局与投资策略研究报告
- 经营管理岗考试题及答案
- 厂区外租户管理制度
- 独龙族女装设计
- 房屋转租定金合同协议书
- 2025年海上风力发电场运维设备维护与技术创新发展趋势报告
评论
0/150
提交评论