网络文学的发展和现状.docx

上传人:b****2 文档编号:17898114 上传时间:2023-08-04 格式:DOCX 页数:26 大小:90.13KB
下载 相关 举报
网络文学的发展和现状.docx_第1页
第1页 / 共26页
网络文学的发展和现状.docx_第2页
第2页 / 共26页
网络文学的发展和现状.docx_第3页
第3页 / 共26页
网络文学的发展和现状.docx_第4页
第4页 / 共26页
网络文学的发展和现状.docx_第5页
第5页 / 共26页
网络文学的发展和现状.docx_第6页
第6页 / 共26页
网络文学的发展和现状.docx_第7页
第7页 / 共26页
网络文学的发展和现状.docx_第8页
第8页 / 共26页
网络文学的发展和现状.docx_第9页
第9页 / 共26页
网络文学的发展和现状.docx_第10页
第10页 / 共26页
网络文学的发展和现状.docx_第11页
第11页 / 共26页
网络文学的发展和现状.docx_第12页
第12页 / 共26页
网络文学的发展和现状.docx_第13页
第13页 / 共26页
网络文学的发展和现状.docx_第14页
第14页 / 共26页
网络文学的发展和现状.docx_第15页
第15页 / 共26页
网络文学的发展和现状.docx_第16页
第16页 / 共26页
网络文学的发展和现状.docx_第17页
第17页 / 共26页
网络文学的发展和现状.docx_第18页
第18页 / 共26页
网络文学的发展和现状.docx_第19页
第19页 / 共26页
网络文学的发展和现状.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

网络文学的发展和现状.docx

《网络文学的发展和现状.docx》由会员分享,可在线阅读,更多相关《网络文学的发展和现状.docx(26页珍藏版)》请在冰点文库上搜索。

网络文学的发展和现状.docx

网络文学的发展和现状

四川理工学院成都新华学院

毕业论文(设计)

 

课题名称:

密码技术

年级专业:

2008级软件技术

学号:

08503011105

姓名:

李东擎

指导教师:

陈侠

 

2011年3月20日

四川理工学院成都新华学院

毕业论文(设计)任务书

姓名

李东擎

学号

08503011105

2008年级软件技术专业

题目

密码技术

设计任务

 

(1)了解什么是密码技术

(2)掌握几种密码的设置

(3)掌握几种密码算法

(4)学习设立密码的技巧

时间进度

第一阶段2011年1月5日-8日

教师和同学双向选定毕业设计题目,教师进行选题指导

第二阶段2011年1月8日-3月5日

教师指导1-2次/周`,学生独立进行课题论证,准备课题的基本内容及电子文挡)

第三阶段2011年3月5日-4月20日

自己独立完善课题的基本内容及电子文档的编写,完成毕业设计

主要参考文献

和原始资料

(1)《现代密码技术》李建华机械工业出版社

(2)《计算机密码学》卢开澄清华出版社

(3)《电脑报》

(4)《电脑爱好者》

(5)来XX百科、维基百科

指导教师:

陈侠

2010年12月3日

摘要

密码学是一门古老的科学.它的起源可以追溯到4000多年前的古埃及,巴比伦,古罗马和古希腊,大概自人类社会出现战争时起便出现了密码.在1949年之前,密码技术更多地只能称为艺术而不是科学,密码的设计和分析是凭直觉和经验来进行的,而不是靠严格的理论证明.而随着电子计算机的诞生以及香农(Shannon)发表了《保密系统的通信理论》一文,密码学的研究才真正进入现代科学研究的范畴.密码学又是一门年轻的科学.随着科学技术的进步,密码学的研究也日新月异

本文主要讲述DES加密的原理和方法、RSA加密的基本原理和方法、以及密码技术的一些小技巧。

[关键词]

CMOS、Windows密码、RSA、DES、密码的设置

Abstract

Password'slearningisanancientscience.Itsoriginscantracebacktotomorethan4000yearagosofancientEgypt,Babylon,ancientLuo'smaxwellandraresinceoldtimeswax,probablyappearwarfrommankind'ssocietyrisethenappearedapassword.By1949,passwordtechniquemorelycanbecalledanartbutisn'tscience,designandanalysisofpasswordiscarryonwiththeintuitionandexperience,notdependastricttheoryverification.Butalongwithbirthandjoss-stickagriculture(Shannon)ofcomputerannounce《thecorrespondencetheoryofprivacysystem》isonetext,thepasswordlearnsofresearchjusttruelygetintothecategorythatmodernsciencestudies.Thepasswordlearnsandisayoungscience.Alongwithsciencetechnicalprogress,thepasswordlearnsoftheresearchalsochangewitheachpassingday.

 

Keywords:

CMOS、Windows、RSA、DES、Thesetupofpassword

 

目录

引言……………………………………………………………………………………5

第一章关于密码技术………………………………………………………………6

1.1密码学………………………………………………………………………6

1.2现代密码学…………………………………………………………………7

1.3加密…………………………………………………………………………8

第二章RSA算法……………………………………………………………………9

2.1什么是RSA算法……………………………………………………………9

2.2RSA算法的原理……………………………………………………………9

2.3RSA的安全性……………………………………………………………10

2.4RSA的速度………………………………………………………………10

2.5RSA的缺点………………………………………………………………10

第三章DES算法……………………………………………………………………11

3.1DES加密算法的基本原理…………………………………………………11

3.2DES加密算法主要流程……………………………………………………11

3.3子密钥KI(48Bit)的生成算法…………………………………………13

3.4循环左移位数……………………………………………………………14

第四章CMOS密码…………………………………………………………………15

2.1CMOS密码的原理…………………………………………………………15

2.2CMOS密码的设置…………………………………………………………15

2.3CMOS密码的破解…………………………………………………………16

第五章Windows密码………………………………………………………………18

3.1Windows用户密码………………………………………………………18

3.2Windows密码创建与更改………………………………………………18

3.3Windows密码的破解……………………………………………………18

第六章密码技术技巧………………………………………………………………20

5.1如何设立安全有效的密码………………………………………………20

5.2遗忘密码以及一些密码的常用破解……………………………………21

结束语………………………………………………………………………………25

致谢………………………………………………………………………………26

参考文献……………………………………………………………………………27

 

引 言

随着社会网络化,网络社会化的不断转变,虚拟财产愈加受到重视。

密码,作为一中保护自己虚拟财产的重要手段,也逐渐改变。

在这个杀毒软件总是跟在病毒后面跑的现实中,如何能更有效的保护好个人的资料。

密码技术是解决这个问题的有效手段之一。

为了适应这种形式的需要,我们在陈侠老师的指导下,作了这个题为“密码技术”的毕业论文。

论文主要介绍了密码技术中的几种密码的创建和破解以及解析几种标准加密算法优势与缺点。

由于自己知识水平有限,内容中难免出错和不妥之处,还望老师原谅

 

第一章关于密码技术

1.1密码学

密码学(在西欧语文中之源于希腊语kryptós,“隐藏的”,和gráphein,“书写”)是研究如何隐密地传递信息的学科。

在现代特别指对信息以及其传输的数学性研究,常被认为是数学和计算机科学的分支,和信息论也密切相关。

著名的密码学者RonRivest解释道:

“密码学是关于如何在敌人存在的环境中通讯”,自工程学的角度,这相当于密码学与纯数学的异同。

密码学是信息安全等相关议题,如认证、访问控制的核心。

密码学的首要目的是隐藏信息的涵义,并不是隐藏信息的存在。

密码学也促进了计算机科学,特别是在于电脑与网络安全所使用的技术,如访问控制与信息的机密性。

密码学已被应用在日常生活:

包括自动柜员机的芯片卡、电脑使用者存取密码、电子商务等等。

直到现代以前,密码学几乎专指加密(encryption)算法:

将普通信息(明文,plaintext)转换成难以理解的资料(密文,ciphertext)的过程;解密(decryption)算法则是其相反的过程:

由密文转换回明文;加解密包含了这两种算法,一般加密即同时指称加密(encrypt或encipher)与解密(decrypt或decipher)的技术。

加解密的具体运作由两部分决定:

一个是算法,另一个是密钥。

密钥是一个用于加解密算法的秘密参数,通常只有通讯者拥有。

历史上,密钥通常未经认证或完整性测试而被直接使用在密码机上。

密码协议(cryptographicprotocol)是使用密码技术的通信协议(communicationprotocol)。

近代密码学者多认为除了传统上的加解密算法,密码协议也一样重要,两者为密码学研究的两大课题。

在英文中,cryptography和cryptology都可代表密码学,前者又称密码术。

但更严谨地说,前者(cryptography)指密码技术的使用,而后者(cryptology)指研究密码的学科,包含密码术与密码分析。

密码分析(cryptanalysis)是研究如何破解密码学的学科。

但在实际使用中,通常都称密码学(英文通常称cryptography),而不具体区分其含义。

口语上,编码(code)常意指加密或隐藏信息的各种方法。

然而,在密码学中,编码有更特定的意义:

它意指以码字(codeword)取代特定的明文。

例如,以‘苹果派’(applepie)替换‘拂晓攻击’(attackatdawn)。

编码已经不再被使用在严谨的密码学,它在信息论或通讯原理上有更明确的意义。

在汉语口语中,电脑系统或网络使用的个人帐户口令(password)也常被以密码代称,虽然口令亦属密码学研究的范围,但学术上口令与密码学中所称的钥匙(key)并不相同,即使两者间常有密切的关连。

1.2现代密码学

第二次世界大战后计算机与电子学的发展促成了更复杂的密码,而且计算机可以加密任何二进制形式的资料,不再限于书写的文字,以语言学为基础的破密术因此失效。

多数计算机加密的特色是在二进制字串上操作,而不像经典密码学那样直接地作用在传统字母数字上。

然而,计算机同时也促进了破密分析的发展,抵消了某些加密法的优势。

不过,优良的加密法仍保持领先,通常好的加密法都相当有效率(快速且使用少量资源),而破解它需要许多级数以上的资源,使得破密变得不可行。

虽然频率分析是很有效的技巧,实际上加密法通常还是有用的。

不使用频率分析来破解一个信息需要知道目前是使用何种加密法,因此才会促成了谍报、贿赂、窃盗或背叛等行为。

直到十九世纪学者们才体认到加密法的算法并非理智或实在的防护。

实际上,适当的密码学机制(包含加解密法)应该保持安全,即使敌人知道了使用何种算法。

对好的加密法来说,钥匙的秘密性理应足以保障资料的机密性。

这个原则首先由奥古斯特·柯克霍夫(AugusteKerckhoffs)提出并被称为柯克霍夫原则(Kerckhoffs'principle)。

信息论始祖克劳德·艾尔伍德·香农(ClaudeShannon)重述:

“敌人知道系统。

大量的公开学术研究出现,是现代的事,这起源于一九七零年代中期,美国国家标准局(NationalBureauofStandards,NBS;现称国家标准枝术研究所,National|InstituteofStandardsandTechnology,NIST)制定数字加密标准(DES),Diffie和Hellman提出的开创性论文,以及公开释出RSA。

从那个时期开始,密码学成为通讯、电脑网络、电脑安全等上的重要工具。

许多现代的密码技术的基础依赖于特定基算问题的困难度,例如因子分解问题或是离散对数问题。

许多密码技术可被证明为只要特定的计算问题无法被有效的解出,那就安全。

除了一个著名的例外:

一次垫(one-timepad,OTP),这类证明是偶然的而非决定性的,但是是目前可用的最好的方式。

密码学算法与系统设计者不但要留意密码学历史,而且必须考虑到未来发展。

例如,持续增加计算机处理速度会增进暴力攻击法(brute-forceattacks)的速度。

量子计算的潜在效应已经是部份密码学家的焦点。

二十世纪早期的密码学本质上主要考虑语言学上的模式。

从此之后重心转移,现在密码学使用大量的数学,包括信息论、计算复杂性理论、统计学、组合学、抽象代数以及数论。

密码学同时也是工程学的分支,但却是与别不同,因为它必须面对有智能且恶意的对手,大部分其他的工程仅需处理无恶意的自然力量。

检视密码学问题与量子物理间的关连也是目前热门的研究。

1.3加密

在密码学中,加密是将明文信息隐匿起来,使之在缺少特殊信息时不可读。

虽然加密作为通信保密的手段已经存在了几个世纪,但是只有那些对安全要求特别高的组织和个人才会使用它。

在20世纪70年代中期,强加密(StrongEncryption)的使用开始从政府保密机构延伸至公共领域,并且目前已经成为保护许多广泛使用系统的方法,比如因特网电子商务、手机网络和银行自动取款机等。

加密可以用于保证安全性,但是其它一些技术在保障通信安全方面仍然是必须的,尤其是关于数据完整性和信息验证;例如,信息验证码(MAC)或者数字签名。

另一方面的考虑是为了应付流量分析。

加密或软件编码隐匿(CodeObfuscation)同时也在软件版权保护中,用于对付反向工程,未授权的程序分析,破解和软件盗版及数位内容的数位版权管理(DRM)等。

而本论文主要讲解RSA加密技术和DES加密技术。

 

 

第二章RSA加密算法

2.1什么是RSA算法

RSA公钥加密算法是1977年由RonRivest、AdiShamirh和LenAdleman在(美国麻省理工学院)开发的。

RSA取名来自开发他们三者的名字。

RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。

RSA算法基于一个十分简单的数论事实:

将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。

RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。

  RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。

2.2RSA算法的原理

RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。

  RSA的算法涉及三个参数,n、e1、e2。

 

 其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。

 

 e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质;再选择e2,要求(e2*e1)mod((p-1)*(q-1))=1。

  

(n及e1),(n及e2)就是密钥对。

 

 RSA加解密的算法完全相同,设A为明文,B为密文,则:

A=B^e1modn;B=A^e2modn; RSA加密解密过程图

 e1和e2可以互换使用,即:

 A=B^e2modn;B=A^e1modn;

 

2.3RSA的安全性

RSA的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理论上的证明,因为没有证明破解RSA就一定需要作大数分解。

假设存在一种无须分解大数的算法,那它肯定可以修改成为大数分解算法。

目前,RSA的一些变种算法已被证明等价于大数分解。

不管怎样,分解n是最显

然的攻击方法。

现在,人们已能分解多个十进制位的大素数。

因此,模数n必须选大一些,因具体适用情况而定。

2.4RSA的速度

由于进行的都是大数计算,使得RSA最快的情况也比DES慢上好几倍,无论是软件还是硬件实现。

速度一直是RSA的缺陷。

一般来说只用于少量数据加密。

RSA的速度比对应同样安全级别的对称密码算法要慢1000倍左右

2.5RSA的缺点

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

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

目前,人们已能分解140多个十进制位的大素数,这就要求使用更长的密钥,速度更慢;另外,目前人们正在积极寻找攻击RSA的方法,如选择密文攻击,一般攻击者是将某一信息作一下伪装(Blind),让拥有私钥的实体签署。

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

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

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

  (XM)d=Xd*Mdmodn

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

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

一条是采用好的公钥协议,保证工作过程中实体不对其他实体任意产生的信息解密,不对自己一无所知的信息签名;另一条是决不对陌生人送来的随机文档签名,签名时首先使用One-WayHashFunction对文档作HASH处理,或同时使用不同的签名算法。

除了利用公共模数,人们还尝试一些利用解密指数或φ(n)等等攻击.

(3)速度太慢,由于RSA的分组长度太大,为保证安全性,n至少也要600bitx以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级;且随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化。

目前,SET(SecureElectronicTransaction)协议中要求CA采用2048比特长的密钥,其他实体使用1024比特的密钥。

为了速度问题,目前人们广泛使用单,公钥密码结合使用的方法,优缺点互补:

单钥密码加密速度快,人们用它来加密较长的文件,然后用RSA来给文件密钥加密,极好的解决了单钥密码的密钥分发问题。

 

第三章DES加密算法

3.1DES加密算法的基本原理

DES算法全称为DataEncryptionStandard,即数据加密算法,它是

IBM公司于1975年研究成功并公开发表的。

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

Key、Data、Mode。

其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:

加密或解密。

DES使用一个56位的密钥以及附加的8位奇偶校验位,产生最大64位的分组大小。

这是一个迭代的分组密码,使用称为Feistel的技术,其中将加密的文本块分成两半。

使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。

DES使用16个循环,使用异或,置换,代换,移位操作四种基本运算。

  

3.2DES加密算法主要流程

DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,其算法主要分为两步:

  1初始置换

  其功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,其置换规则为将输入的第58位换到第一位,第50位换到第2位……依此类推,最后一位是原来的第7位。

L0、R0则是换位输出后的两部分,L0是输出的左32位,R0是右32位,例:

设置换前的输入值为D1D2D3……D64,则经过初始置换后的结果为:

L0=D58D50……D8;R0=D57D49……D7。

  2逆置换

经过16次迭代运算后,得到L16、R16,将此作为输入,进行逆置换,逆置换正好是初始置换的逆运算,由此即得到密文输出。

置换规则表

其功能是把输入的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,

  即将输入的第58位换到第一位,第50位换到第2位,...,依此类推,最后一位是原来的第7位。

L0、R0则是换位输出后的两部分,L0是输出的左32位,R0是右32位,例:

设置换前的输入值为D1D2D3......D64,则经过初始置换后的结果为:

L0=D58D50...D8;R0=D57D49...D7。

  

经过16次迭代运算后。

得到L16、R16,将此作为输入,进行逆置换,即

得到密文输出。

逆置换正好是初始置换的逆运算。

例如,第1位经过初始置换后,处于第40位,而通过逆置换,又将第40位换回到第1位,其逆置换规则如下表所示:

  

40,8,48,16,56,24,64,32,39,7,47,15,55,23,63,31,  38,6,46,14,54,22,62,30,37,5,45,13,53,21,61,29,  36,4,44,12,52,20,60,28,35,3,43,11,51,19,59,27,  34,2,42,10,50,18,5826,33,1,41,9,49,17,57,25,

放大换位表

32,1,2,3,4,5,4,5,6,7,8,9,8,9,10,11,  12,13,12,13,14,15,16,17,16,17,18,19,20,21,20,21,  22,23,24,25,24,25,26,27,28,29,28,29,30,31,32,1,

单纯换位表

16,7,20,21,29,12,28,17,1,15,23,26,5,18,31,10,

2,8,24,14,32,27,3,9,19,13,30,6,22,11,4,25,

功能表

在f(Ri,Ki)算法描述图中,S1,S2...S8为选择函数,其功能是把6bit数据变为4bit数据。

下面给出选择函数Si(i=1,2......8)的功能表:

 

 选择函数Si 

S1:

  

14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7,  0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8,  4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0,  15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13,

des算法S2:

 

15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10,  3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5,  0,14,7,11,10,4,13,1,5,8,

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2