RC4程序设计和数据分析比较_第1页
RC4程序设计和数据分析比较_第2页
RC4程序设计和数据分析比较_第3页
RC4程序设计和数据分析比较_第4页
RC4程序设计和数据分析比较_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要RC4是RSA公司设计的密钥流生成算法,本文采用Java程序分别实现了RC4算法和线性同余算法,并完成了流密码对应RC4相应的加密解密程序设计。本文还对RC4与在特定情况下的线性同余法进行对比,对运行程序的实验数据进行分析比较,在实验过程中发现RC4本身产生的随机序列与线性同余法的随机序列各有优劣,线性同余法的随机序列整体上均衡性好一些;游程方面,周期在256字节之间RC4比线性同余法更好,大于256字节后则线性同余法更好。关键词:RC4;流密码;随机序列;线性同余法Abstract RC4isakeyflowgenerationalgorithmdesignedbyRSAcompany.Inthispaper,JavaprogramsareusedtoimplementRC4algorithmandlinearcongruencealgorithmrespectively,andtheencryptionanddecryptionprogramdesignofflowpasswordcorrespondingtoRC4iscompleted.ThispaperalsocomparesRC4withthelinearcongruencemethodunderspecificcircumstances,andanalyzesandcomparestheexperimentaldataoftherunningprogram.Intheexperimentalprocess,itisfoundthattherandomsequencesgeneratedbyRC4havetheirownadvantagesanddisadvantagescomparedwiththerandomsequencesgeneratedbythelinearcongruencemethod,andtherandomsequencesgeneratedbythelinearcongruencemethodhavebetterequilibriumonthewhole.Intermsofrunningdistance,RC4isbetterthanthelinearcongruencemethodwhenthecycleisbetween256bytes,andbetterthanthelinearcongruencemethodwhenthecycleisgreaterthan256bytes.Keywords:RC4;Streamcipher;Randomsequence;Linearcongruencemethod目录第一章绪论 第一章绪论1.1课题背景和意义流密码是目前被比较广泛使用的密码,在被使用的同时,密码学学者们也对其不断的研究探讨,最早出现的Vernam密码,具有“一次一密”的特性,Vernam利用产生的随机的不会发生重复的字符对明文进行加密,其产生的密文也具有唯一性,使得密文被使用过一次后,被使用过的密文就不会在其他消息中再次被使用,这就使得密钥个数要与明文长度相等才行,否则明文加密就达不到“一次一密”的效果,因为要使加密达到“一次一密”效果,所以在对密钥的管理分配等方面具有相当大的难度,在后来,“一次一密”的密码体制也被Shannon证明是理论上不可破译的。因为“一次一密”不可被破译,并且其实现难度较大,因为“一次一密”的密钥产生、分配与管理相对困难,在建立一次一密的密码系统时,必须在传输明文的时候交换传输一串与明文长度一样的密钥流,使其使用范围收到了极大的限制,在网络世界中也比较容易产生安全隐患,在保密强度大的情况下,该体制就被舍弃,因此奠定了流密码技术的发展基石,流密码由此而产生,流密码包含的算法产生的序列具有比较强的随机性。流密码包含同步流密码与自同步流密码两类,同步流密码的原理是:由流密码产生的密钥流独立于明文信息,其内部状态只由上一刻的内部状态决定,与传输的明文没有任何关系。它具有信息传输错误率低的特点,即一个符号在传输时候发生错误,也不能够对后面的符号产生影响。自同步流密码与同步流密码相反,它十分依赖明文信息或密文信息,如果在传输时候明文或密文产生了错误,则会严重影响传输的质量。因为原理上的问题,使得该自同步流密码在社会中存在十分稀少,更多的是流密码中的另一类——同步流密码。在2000年时候,欧洲提出一个以征集新的流密码方案为目的之一的NESSIE计划,其一直持续到了2003年,在此次流密码征集中,欧洲委员会收到了6个同步流密码算法,0个自同步流密码算法,但是因为这些收集到的流密码算法在安全性方面存在一些问题,所以这些收集到的流密码算法都落选了。在同一时期,日本也提出了与NESSIE相似的计划,把一些密码算法用于政府和工商业领域。在日本提出的计划之后,2004年欧洲又启动了一个新的工程:ECRYPT,在这次的ECRYPT工程中,他们从各个地区中得到了34个流密码算法,这次得到的流密码算法比NESSIE计划多的多。从这里可以看出,当时社会各界对于具有安全性的流密码有多么的渴望,又可能是因为要证明精心设计过的流密码可以与AES算法相比较,甚至在某些方面某些环境下流密码具有超越AES算法的优点。如今在流密码方面主要研究的有两项:1.衡量密钥流好坏的标准通过流密码算法产生的序列能否拥有足够的随机,也就是随机性的强度,对密钥流的好坏具有重要的影响。如果算法越安全,那么其密钥流就越与真随机性相近。2.构造长周期和高复杂度的密钥流序列流密码的设计中密钥流产生器有:钟控序列产生器、基于线性反馈移位寄存器的前馈序列产生器和非线性组合产生器等。在流密码被广泛使用时,与流密码相关的分析攻击逐渐显露,Kerckhoff就根据攻击者是否知道明文、密文等相关信息,把分析攻击分为四种:唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击。当然,针对流密码的攻击还有线性攻击、代数攻击等。线性攻击主要是建立统计区分器,通过区分两个不同的概率分布来获得流密码的弱点。流密码的分析与设计是处于保密状态的,之所以处于保密状态,是因为在很多需要用到通信以及其他保密的用途中,流密码价值非常大。因为流密码加密时候密钥长度取决于明文长度,因此流密码具有长度可以根据需要来改变的特点,其运算速度也比较快,在对密文进行传输的时候,其传输的正确率高,出错率低,因为流密码具有以上的优点,所以流密码在如今注重效率和安全的时代,自然而然的成为了密码应用的主流,具有伪随机性的RC4是流密码的重要成员以及代表之一。1.2研究内容本文阐述了密码学的由来、近代密码学和现代密码学发展的事件,介绍流密码从如何产生到被推广的历程。本文一共分为四个章节第一章主要介绍流密码产生的雏形,流密码的种类,流密码在近年来被作为项目的历程以及与流密码相关的分析攻击等。第二章主要介绍了密码学的由来,密码学的发展,密钥随机性的分类,随机数的真伪与产生等。第三章是实验过程与数据分析,此章详细介绍了RC4用java的设计流程,指出实现代码时简化的地方,RC4算法实现的流程;详细分析了线性同余法中符合满周期的特定情况,指出了游程、初始值、游程对于线性同余法的影响,对比了RC4与线性同余法的周期、游程和均衡性,并作出了对比结果总结。第四章是总结与展望,此章对本文的研究和数据分析进行了总结,对不足进行了说明,针对不足提出了下一个目标与计划第二章密码学简介2.1密码学的由来密码学是研究如何在不被除接受者和发送者以外的人获得传递符号或信息的一门学科。密码学家RonRivest曾说过:“密码学是关于如何在敌人存在的环境中通讯”,密码学是一门研究与密码相关的学科,密码的安全性与隐蔽性是重中之重,信息传递也是如此,在传递信息的过程中,能够把信息涵义隐蔽地传递出去也是密码学的重点。密码学最早约于公元前400年产生,密码的使用历史与人类使用文字的历史相当。中国从古代开始就已经有一些用近于密码雏形的通信手段,宋朝时期的曾公亮等编撰《武经总要》就记载了这么一个和密码学相关故事,在北宋时期,宋朝的某个将领在作战中就用过由40个字组成的五言律诗,把40种作战情况以及要求用在这40个字组成的律诗中,这种用暗含的方式把字表示为作战方式,就已经具有加密体制的特点了。密码形成一门学科的时候是20世纪70年代,计算机在那个时代开始进入高速发展期,密码也逐渐被推动起来,从而形成了一门专门用于计算机科学的密码学学科。因为计算机的高速运算作用,那些研究密码设计的专家们也由此得到极大的便利,他们可以不必在纸上实现繁杂的设计时产生一些不必要的错误。历史上最著名的密码机Enigma于德国1919年设计出,这部密码机层被用于第二次世界大战,因为这台密码机,世界大战时期英国将近有10个月都解读不出德国潜艇所发出的信号的含义。这台密码机属于转轮密码机,虽然转轮密码机加密速度快,但是其密钥量被限制了,在第二次世界大战末期,引出了一场加密与破译加密的对抗风暴。那时候波兰人发现德国所发出的电报中的前几个字母不断重复出现,于是针对其下手,后来破解了Enigma密码机,接着又把如何破译该密码机的方法交给了英国与法国。著名的英国数学家艾伦·麦席森·图灵带领他的团队们在二战时期通过寻找德国人选择密钥的失误,成功夺得了德军的部分密码本,从而拿到密钥,并且利用明文攻击等手段,破解了大量德军重要情报内容。这一时期属于近代密码学时期。近代密码学这一阶段的开始真正源于香农在二十世纪40年代末期发表的论文。近代密码学在发展历程中最重要的突破是“数据加密标准”(DES)的出现,一方面,它的意义在于密码学从政府走向民间。另一方面,DES密码设计中的思想(S盒等)被后来大部分分组密码采用。 现代密码学中,密码体制可以分为对称密码与非对称密码体制,流密码被包含与对称密码体制中,RC4则是流密码的一部分,其可以相对容易地实现对任意长度信息加密。RC4全名是“RivestCipher4”,是密码学家RonRivest在1987年间设计发明的RC4加密系统并用于他的公司的商业密码,因此RC4最初为商业秘密。作为商业密码的RC4一直到1994年9月份才被人匿名公开在网络世界中,使得RC4不再为专有的商业秘密,它的泄露无从而知,但是它推动了RC4的使用。RC4算法可以改变密钥长度,以随机置换为基础,产生一个极大的周期秘钥流,使得它加密的信息相对安全,并且该算法的运行速度较快。现代的密码体制有两种,由于密文是通过密钥与明文作用产生的,在加密时候的密钥与解密时候密钥是否相同,在密钥与明文作用产生密文的过程中,能否在这个过程推导出密文与密钥作用的过程,决定了该密码体制是否是对称密钥体制。对称密钥加密又叫作私钥加密,即发送信息的人和接收信息的人利用相同的密钥对明文或密文进行加密或解密。其优点是加解密的速度极快,比较适用于对传送的数据进行加密,这些数据的量也可以是巨大的。2.2随机数与伪随机数随机数在与密码相关的领域中起了很大的作用,现在所使用的很多伪随机算法都是以随机性为目的而产生,随机数是针对随机性实验过后得到的结果。随机性包含两个概念:真随机性和伪随机性。真随机性:指下一个产生的结果无法预测,就如抛硬币一般,它抛出去后的显示的是人头还是数字,这只能猜测,无法真真切切的在看之前得知结果。又如打雷闪电一般,无法知道它下一次雷劈到的具体位置是哪。真随机性具有均匀分布与独立的特性,使得随机数分布一致,在序列中不能由其他数推导出来。产生的随机数具有不可预测性,一般运用于认证、会话秘钥产生等。伪随机性:指通过指定的随机比特样本中,1和0出现的数目相等或无限接近,即“10”“01”这两个的数量应该相等或无限接近,满足这类的数字能使人看起来是随机的。伪随机性具有有边界的特性,因为伪随机数是通过算法,如线性同余法产生随机数,算法是确定的,而且算法是具有范围的,使得产生的序列不具有真随机性,但是一般情况下可以经受随机性的检测。因为真的随机数,很难获取,也很难链接到网络上,所以需要计算机通过算法产生伪随机数。伪随机数生成的算法有很多种,线性同余法在众多的伪随机数生成算法中脱颖而出,它一般用于伪随机数发生器,产生相应的伪随机数供用户使用。线性同余法产生伪随机数中,可以根据特定的取值产生伪随机数。线性同余法在产生伪随机数的时候,其模的值必须尽可能大,因为当模的值太小时,其容易被“肉眼”一眼看出其数据有哪些,这样就不具有伪随机拥有的特性了。RC4中的伪随机序列生成算法也具有伪随机性,RC4一般用于用户传递信息,保证用户传递的信息不那么容易地被他人破译出来。第三章实验过程和结果分析3.1RC4RC4算法是在电子信息中的一种加解密技术手段,一般用于各种网络通讯,它是一种密钥长度可变的、面向字节操作的流密码。RC4是一种非线性变换算法,其最重要的部分有两个:密钥编制算法(KSA),伪随机序列生成算法(PRGA)互联网中如今有许多C语言实现的RC4算法,他们都需要两个向量,一个是S,另一个是T,虽然RC4实现中确实需要两个向量,但是把向量T产生过程简化到j产生时刻中也许会简洁些。因此我在用java实现RC4时,简化了向量T产生的步骤。另外,我发现把置换算法写成单个方法更方便使用,这样就不需要在每个模块中都写一次置换操作,写成单个方法后再使用,使得编写效率会更高一点。RC4实现的主要步骤有以下四个:初始化S盒,置换操作,通过伪随机序列生成算法生成密钥流,对明文或密文异或操作。1.一开始生成一个能容纳256字节的S盒,从0到255按照升序赋值于S盒。for(inti=0;i<256;i++){s[i]=i;}2.接着通过置换操作,使得S盒被打乱,此处为密钥编制算法(KSA),对S盒中的每一个字节都处理一次,共处理256次。每执行一次循环都会使得j产生一个新的值,这个值由密钥和S盒相关,j加上特定时候的S与T相加再模256的到新的j,再对s[i]与s[j]进行置换操作。i的从0开始改变,每次变化使得S盒中元素都能产生变化,每次产生的j都能保证其具有一定的随机性,遍历了256次后,得到初始的S盒。for(inti=0;i<256;i++){j=(j+s[i]+key.charAt(i%key.length()))%256;swap(s,i,j);}此处的key.charAt(i%key.length())在C语言中原本是T[i],T[I]=Key[i%keylen],简化了向量T后,减少了for循环的使用,使得代码更加简洁。置换算法如下publicvoidswap(Integer[]s,inti,intj){ IntegerTemp=s[i]; s[i]=s[j]; s[j]=Temp; }通过不断变换S盒中原来的值,使其带有一定的随机性。 3.打乱S盒后,通过伪随机序列生成算法(PRNG)产生具有伪随机性的密钥流。由于RC4加解密都需要把密钥拓展为256字节,使得密钥流能够与明文或密文进行异或操作。例如密钥为abcd时,它会一直重复密钥n次,直至abcd能够填满256字节。inti=0,j=0; for(intk=0;k<plainLength;k++){ i=(i+1)%256; j=(j+s[i])%256; swap(s,i,j); keySchedul[k]=(char)(s[(s[i]+s[j])%256]).intValue(); } 该伪随机序列生成算法产生的序列称为伪随机序列,它的原理是不断的变换S盒中值的位置,把s[i]和s[j]相加获得的值模256,得到S盒中该改变时刻的值输为位密钥流该时刻的值。4.最后通过明文与密钥流异或(xor)产生密文,因为该算法属于对称加密,所以要把密文变成明文,只需要再次把加密的密文与密钥流异或(xor)就能够恢复成明文。 for(inti=0;i<clearOrCipher.length();i++){ cipher.append((char)(clearOrCipher.charAt(i)^keySchedul[i])); }3.1.1RC4数据分析及结论(1)满周期S盒是由0至255进行初始排序,再通过KSA对S盒进行打乱,从而产生混乱的序列,因为在S盒中,其内部的数据不重复,通过KSA后也没有产生重复的数据,仅仅是交换s[i]和s[j]的值,所以此时的RC4的S盒满足满周期的性质,此时RC4的S盒是满周期状态的。在RC4的伪随机序列生成算法中,i与j的获取都与256求余,密钥流的取值也由求余256所得。当明文长度为16、32、64、65536、131072时,得到的随机序列数据: 1)明文长度取值为16时:74 250 65 46 177 201 114 21 201 47 7 73 153 56 81 218 2)明文取值长度为32时:74 250 65 46 177 201 114 21 201 47 7 73 153 56 81 218 246 195 16 229 139 142 201 177 147 151 24 67 38 190 229 65 3)明文取值长度为64时:74 250 65 46 177 201 114 21 201 47 7 73 153 56 81 218 246 195 16 229 139 142 201 177 147 151 24 67 38 190 229 65 31 44 224 208 159 73 62 251 148 170 186 159 11 131 45 17 177 97 146 84 0 193 152 118 169 3 66171 186 117 1 11 4)明文取值长度为65536时:74 250 65 46 177 201 114 21 201 47 7 73 153 56 81 218 246 195 16229 139 142 201 177 147 151 24 67 38 190 229 65 31 44 224 208 159 73 62 251 148 170 186 ··· 75 177 235 192 251 99 210 52 185 239 162 126 199 128 124 103 132 214 30 73 254 231 237 235 131 5)明文取值长度为131072时:74 250 65 46 177 201 114 21 201 47 7 73 153 56 81 218 246 195 16 229 139 142 201 177 147 151 24 67 38190 229 65 31 44 224 208 ··· 28 90 29 179 22 162 182 221 154 46 37 98 6 56 64 107 210 180 104 20 134 168224 134 230 163 156 由RC4的伪随机序列生成算法产生的数据可知,因为S盒的容量为256,所以其值只有256个,当明文输入的长度足够长时,通过伪随机序列生成算法产生的值会发生重复,所以RC4的伪随机序列生成算法不能产生满周期数。(2)游程及均衡性分析 对密钥长度取值为5,明文长度分别取值为16,32,64,128···65536,131072,以下表3-1-1分别列出了16,32,64,65536,131072的游程:满周期游程161001010111110101000001101110101100011100100111100101010111001001101111111100100110011001111000101000111011010321001010111110101000001101110101100011100100111100101010111001001101111111···100011101100100110110001100100111001011111000100001110011010111110111001011000001 6410010101111101010000011011101011000111001001···1011100000111011011000110110001110000110010010101010001100000110011000111011010101001111000010101010111011101011101011101165536100101011111010100000110111010110001110010011110010101011100100110111111110010011001100111100010100011101101011···11111001100111100001001101011011110100100111111110111001111110110111101011100000111310721001010111110101000001101110101100011100100111100101010111001001101111111100100110011001111000101000111011010···100110100010100100001103101010001110000010000110111001101010001110011100表3-1-1RC4满周期数与游程从上表3-1-1中可知,当RC4中的伪随机序列生成算法利用明文长度取值为16时,其为0游程的数目为28,1游程的数目为29;明文长度取值为32时,其为0游程的数目为56,1游程的数目为56;明文长度取值为64时,其为0游程的数目为110,1游程的数目为110;明文长度取值为65536时,其为0游程的数目为114983,1游程的数目为114983;明文长度取值为131072时,其为0游程的数目为229547,1游程的数目为229548。 另外再使明文长度取值为2的n次方,n≥4,如下表3-1-2所示:满周期0→11→0162829325656641101101282212212564414415128888881024180018012048359935994096719171928192144001440016384288122881332768574915749265536114983114983131072229547229548表3-1-2RC4满周期游程数1和0的交替 由上述表3-1-1和表3-1-2可知,由RC4中伪随机序列生成算法产生的数据具有伪随机性,0和1的游程数相等或相差1,由此可知,RC4中的算法具有均衡性。3.2线性同余法线性同余法是如今最广泛使用的伪随机数生成算法之一,它是通过对上一个数开始进行运算并取模,即a=cmodm,表示c=mq+a,a范围为0≤a<m,随机序列{Xn}由以下公式产生:其中n≥0,0≤a<m,0≤c<m。当n为0时,X0被称为初始种子或初始值,此时0≤X0<m。在线性同余法中,能否产生相对合格的随机数取决于a,c,m。例如当a=7,c=0,m=36,X0=1时,得到的序列{Xn}为{1,7,13,19,25,31,1,7,13,…},有此序列得知该序列的周期为6,然而因为m为36,36比6大得多,所以不适合把该序列作为密钥序列。从这里可以得知,应当存在a,c,m取于某值,使得随机数的周期能够与模m相近或相等时,它的周期为接近最大周期或为最大周期。3.2.1线性同余法数据分析及结论(1)满周期 1)当取a为5,c为1,m为16时,得到的数据如下: 6 15 12 13 2 11 8 9 14 7 4 5 10 3 0 1 所得周期为16,与模16相等,无重复数据,属于满周期。 2)当取a为11,c为1,m为16时,得到的数据如下 12 5 8 9 4 13 0 1 12 5 8 9 4 13 0 1 所得周期为8,小于模16,不属于满周期。 3)当取a为13,c为1,m为16时,得到的数据如下 14 7 12 13 10 3 8 9 6 15 4 5 2 11 0 1 所得周期为16,与模16相等,无重复数据,属于满周期。 4)当取a为5,c为1,m为64时,得到的数据如下 6 31 28 13 2 11 56 25 62 55 20 37 58 35 48 49 54 15 12 61 50 59 40 9 46 39 4 21 42 19 32 33 38 63 60 45 34 43 24 57 30 23 52 5 26 3 16 17 22 47 44 29 18 27 8 41 14 7 36 53 10 51 0 1 所得周期为64,与模64相等,无重复数据,属于满周期。 5)当取a为5,c为1,m为65536时,其数据为:6 31 156 781 3906 19531 32120 29529 16574 17335 21140 40165 4218 21091 39920 2993 14966 9295 46476 35773 47794 42363 15208 10505 ··· 55050 13107 0 1 从得到的数据可以发现该周期也为65536,与模65536相等,无重复数据,属于满周期。当更改m为131072时,也得到该周期为131072,同样属于满周期。 再经由多次改变a的值与m的值,我得出了以下结论与规律:①c和m互质; ②m的所有质因子的积能整除a-1; ③若m是4的倍数,则a-1也是; ④a,c是正整数; ⑤a满足8n-3,并且m满足2的n次方(n大于等于4)。当满足以上条件时,该周期必定为满周期。(2)游程以及均衡性分析分别取上述满周期时的m值为16,32,64,65536,131072,其中a为5,c为1,如下表3-2-1所示:满周期游程1611101111110011011010111000100111101111001011010110321110111111110011011010111100011001111101011110100···10001001111011110010101101010011064111011111111001101101011111000110011111101101111010010010111101010001111000011000111011011111100111101110010111011101000100110111010···10010110111000101001111011110010011010110101100110655361110111111001110011000011011111010000101001100010010111111101011110001110011010110011000000101111101000011101101111010010100101001001110011100101···11001100110011013107211101111110011100110000110111110100001010011000100101110111110101111000101110011010110011010000001011111010000111011011110101001010010100···100110011001100110表3-2-1线性同余法满周期数与游程 从表3-2-1中得知满周期为16的0游程的数目为13个,1游程的数目为14个;满周期为32的0游程的数目为25,1游程的数目为26个;满周期为65536的0游程的数目为245760个,1游程的数目为245761个;满周期为131072的0游程的数目为524289个,1游程的数目为524290个。 另外,我获得了以a为5,c为1,m为2的n次方,其中n≥4的情况下满周期的0与1的游程数据如下表3-2-2所示:满周期0→11→01613143225266480811281921932564484495121024102510242304230520485120512140961126411265819224576245771638453248532493276811468811468965536245760245761131072524289524290表3-2-2线性同余法满周期游程数1和0的交替 从表3-2-1与表3-2-2的数据得知:无论满周期的摸m值大小,其游程0与1总是相差1。所以从数据中可以得到一个结论:在通过特定的条件,如指定a、c为某一值,m为2的n次方,n≥4,使得线性同余法达到满周期条件,即在周期m内,各个数值都出现且只出现1次,因为各个数值出现的频率相同的,且各数值出现的位置不完全是固定的,所以符合了均匀分布,也符合了均衡性。(3)满周期初始值分析 取线性同余法中a、c、m分别为5、1、16,初始值分别为1、2、3,得到的序列值如下图3-2-1所示:图3-2-1序列5、1、16初始值 取线性同余法中a、c、m分别为5、1、32,初始值分别为1、2、3,得到的序列值如下图3-2-2所示:图3-2-2序列5、1、32初始值 取线性同余法中a、c、m分别为13、1、32,初始值分别为1、2、3,得到的序列值如下图3-2-3所示:图3-2-3序列13、1、16初始值 对在确定线性同余法中的周期为满周期,a为定值,只改变模m的前提下,分别对满周期的初始值即X0进改变,得到不同的序列;接着改变a的值,模m不变,再分别改变初始值X0进行实验,从而观察初始值X0的取值对序列有无影响。最初设置了a取值为5,c取值为1,m取值为16与32,设置初始值X0分别为1,2,3,得到序列如图3-2-1和图3-2-2所示;再改变a值,使a值分别为5与13,c取值为1,m取值为32,得到序列如图3-2-2和图3-2-3所示。 从3个图可以得知,改变初始值X0只会对值出现的Xn产生移位效果,但是如果以某一定值为标准,则初始值的改变不会对满周期有影响,不会改变原本定好的Xn,因为相对位置还是确定的。如图3-2-1所示的序列,假如取1为定值,1后面产生的数不会因为初始值的改变而使得其不为6,只会使得1的位置由原来X0变为X113.3RC4与线性同余法对比RC4线性同余法周期取值为16、32、64、65536、131072当密钥长度为5时:周期取值为16时,序列产生的值无发生重复;当周期取值为32、64、65536、131072时,序列中的值发生重复当a取值为5,c取值为1时:模m取值为16、32、64、65536、131072时,序列中的值无发生重复游程周期取值为16、32、64、128、256、512、1024、2048、4096、8192、16384、32768、65536、131072时其为0的游程数目为:28,56,110,221,441,888,1800,3599,7191,14400,28812,57491,114983,229547周期取值为16、32、64、128、256、512、1024、2048、4096、8192、16384、32768、65536、131072时其为0的游程数目为:13,25,80,192,448,1024,2304,5120,11264,24576,53248,114688,245760,524289均衡性由表3-1-2可知,当密钥长度为5时,明文长度改变,从得到的游程数据可知:部分序列游程0和1游程数相等,部分游程0和1游程数相差1。所以RC4不具有均衡性由表3-2-2可知,当a取值为5,c取值为1时,改变模m的值与RC4明文长度相等,从的到的游程数据可知:游程0和1的游程数总是相差1。所以线性同余法具有均衡性表3-3-1RC4与线性同余法比较 由表3-3-1可以总结出以下结论: 1.在周期方面,RC4中伪随机序列生成算法的周期长度取决于明文长度以及S盒的容量,其明文长度可以无限延长;线性同余法的周期则取决于m,达到满周期需要特殊的a、c、m的取值,达不到特定条件则不能满周期。在此方面RC4比线性同余法好。在周期相等的前提下,RC4的伪随机序列生成算法可以取任意值,其周期不为满周期。在RC4中,虽然S盒中的值不会重复,但是由伪随机序列生成算法产生的密钥流会重复;线性同余法满周期时,其值不会在周期内发生重复。 2.在游程方面,在周期相等情况下,当周期在16到256之间,RC4的0游程的数目比线性同余法多,当周期大于256时,线性同余法的0游程的数目比RC4多。这个是由RC4的值最大为256导致的。因此在256字节时,RC4比线性同余法好,当大于256字节后,线性同余法则比RC4更难破解。 3.在均衡性方面,在周期相等的情况下,由RC4的伪随机序列生成算法生成的值的游程可知,有部分游程0和1相等,部分游程的0和1相差1,而线性同余法的游程0和1全都相差1,所以线性同余法具有均衡性,RC4的伪随机序列生成算法在均衡性方面比线性同余法差一点,RC4的伪随机序列生成算法则介于均衡性与均匀性之间。 4.总体来说,RC4生成的密钥流会因为S盒的容量而被限制,导致密钥数值在一定情况下出现重复,线性同余法在周期内产生的数值则不会出现重复,线性同余法更具有随机性。由于RC4产生的密钥流会出现重复,也就是说会因为上一个的值的影响使得结果发生重复,所以RC4比线性同余法更适合用于传输信息,线性同余法更适合用于产生随机数。第四章:总结与展望4.1总结最初实现RC4时,我对RC4的实现原理还不清楚,在查询部分资料后才知道当密钥长度不足256时,不足的那些空位会由密钥循环填充,例如密钥为1,2,3,4,5,因为该密钥只有5位,故其会一直不断重复这个密钥,即1,2,3,4,5,1,2,3,4,5…。RC4和线性同余法一样,都具有伪随机性,但是RC4的随机性相对于线性同余法来说还是没那么好,因为RC4的伪随机序列生成算法中,由于256这个范围与线性同余法模m相比还是相对较小的,并且其密钥序列的生成需要依靠明文,产生的密钥序列会发生重复,线性同余法的周期在满足满周期的条件下可以任意扩大,并且满周期的情况下在周期内不会产生重复的值,RC4密钥具有可延伸性,其明文密钥可以达到相当大的字节,所以在生活中,RC4一般用于通信传输中,对传输的信息进行加解密处理,而线性同余法则更多地用于伪随机数生成器,产生伪随机数,如今也用于短信验证码的生成。在实现代码途中,由于纠结向量T的作用,导致项目的执行效率低下,后来才发现T可以使S盒更具有随机性,使S盒更混乱。在查找的资料中,得知RC4是有可能会受到弱密钥的攻击的,假如使用的密钥为如密钥,那么在十万字节以内密钥流的序列就有很大的可能发生重复,发生重复后,密文的安全性就可能降低,使得密文可能会被破解,而如果达到一百万时,密钥流的序列就会完全重复。此时对密钥进行检测就比较重要了;RC4另一个缺点在于其密钥需要提前传输密钥。虽然其有被破解的风险,但是缺点在优点之前则将近可以忽略:1.根据目前研究的结果,没有任何的数据分析对密钥长度超过128位的RC4有效2.RC4实现相对简单,便于用于软件之中。3.RC4对硬件资源消耗低。线性同余法在学校上课期间就接触过一点,那时候大致了解其实现方法,并且完成了部分的代码。在最初的了解中,只知道满周期是什么,但是对其满周期的条件还相当模糊,仅仅知道周期与模m相等则为满周期,后来才知道当什么条件下才能达到满周期,就如文中所说的,当a取值为8n-3,c为1,m为2的n次方,n≥4情况下能够使线性同余法达到满周期。这是因为其满足了c与m互质,m如果是4的倍数,a-1也应是4的倍数。在最初的实现线性同余法时,我把其运行产生的结果放在一个文本中,由于是用二维数组实现,所以我可以观察定值为m,变值为a的时候,a对满周期的影响。通过网上查资料,接触到了第一组满周期数据,也就是a为5,c为1,m为16,X0为1,这时候产生的数据少,肉眼可以直接观察。接着我改变m的值,改为20,因为20满足c为4的倍数的条件,发现其不是满周期。我又把数值修改为32,发现其周期刚好为32,这时候我就想,16是2的倍数,32也是2的倍数,且一个是2的4次方,另一个是2的5次方,这之间理论上有联系。在测试了更多组数据后我发现只要是满足2的n次方的数,在a为5,c为1的时候都为满周期。在后来的调试中,仅改变a的值,其他不变,发现改变a的值后,以c为1,m为32为例,当a取值分别为5、13、21时,其周期为满周期,于是我把这些值用于更大的数,例如64、128、256直到65536与131720时,发现这些周期都为满周期,于是总结了a的取值规律:8n-3。线性同余法在实现游程时,一开始用像16、32、64这些数来测试,所以一开始数游程数的时候都人工去数,计算游程的难度相对较小,但是测试相对较大的数据时候,例如上千的数据,则只能去用软件计算游程数,而且用软件计算游程数可以保证无太大误差。线性同余方法速度快,如果对乘数和模数进行适当的选择,可以满足用于评价一个随机数产生器的准则:(1)这个函数应该在重复之前产生出0到m之间的所有数,例如m为1000时,在发生重复前,1到1000之间所有的数都出现一次;(2)产生的序列应该看起来是随机的;4.2展望在实现毕设过程中,我学到了很多知识,但是也在学习过程中认识到了自己的不足之处,如对时间的分配问题,在实现毕设时,由于已经开始实习了,工作时候只是单纯的工作,导致毕设一直被延期;在编程方面也相对薄弱,整个设计过程中,在游程方面是请教好友帮忙处理游程数的;在数据分析方面,对于线性同余法满周期的分析,并没有更深入的探究除了2的n次方以外的m取值规律,对线性同余法探究的不够彻底。因此在接下来我会对不足之处进行修改以及学习:1.在工作期间也分配好学习时间,不能因工作而丢弃学习2.提高java编程的能力,学习相应的框架以应未来之需3.继续学习密码学及其相关知识,深入研究线性同余法满周期与RC4其他规律参考文献[1]梁勇,戴开宇.Java语言程序设计与数据结构[M],机械工业出版社,2018.8[2]韩露露等.一种组合式伪随机数发生器的构造,小型微型计算机系统[J],2019.3[3]陈小松.密码学及信息安全基础[M].清华大学出版社.2018.10[4]王方鑫.基于RC4算法分析与研究[J],科技风,2019.1[5]刘程远.基于RC4算法的流密码原理与实现[J],信息技术与网络安全,2018.9[6]侯整风等.RC4流密码算法的分析与改进[J],计算机工程与应用,2014.04[7]赵伟,曹云飞.RC4的秘钥碰撞[J],通信技术,2013.12[8]宋维平.流密码与RC4算法[J],吉林师范大学学报(自然科学版),2005.05[9]王信敏.RC4算法的分析[D],山东大学,2016.05[10]宫大力.流密码算法的研究与设计[D],南京航空航天大学,2011.03[11]张大伟,邵英海,左垒.基于线性同余法的伪随机数产生算法[J],辽东学院学报(自然科学版),2018.09[12]张斌;徐超;冯登国.流密码的设计与分析:回顾、现状与展望[J],密码学报,2016.12[13]陈一阳,陈恭亮.流密码典型分析方法及实例[J],上海交通大学信息安全工程学院,2010.06[14]胡亮,迟令,袁巍等.RC4算法的密码分析与改进[J],吉林大学学报(理学版),2012.05[15]罗启彬,张健.流密码的现状和发展[J],信息与电子工程,2006.02致谢随着论文的结束,我认识到我的大学生涯即将结束,在学校的求学也即将结束,心中顿生许多感慨。首先感谢我的指导老师陈小松教授,他为我毕业设计选题以及论文框架的敲定提出了指导性的意见,并在整个写作过程都提出了宝贵性的意见,他丰富的教学经验使得我更加热爱该学科,他开阔的思维使得我在数据测试时能够对数据的把握突飞猛进。在学术上,老师严谨认真,在生活上老师又是那么平易近人,以朋友的身份和我们交流沟通。记得论文提纲修改时,因为平时工作没有太多时间去找老师交流,所以当晚上9点多找他时,他仍能耐心地给我修改意见,真的非常感谢。想跟他说一声:辛苦您了,谢谢!其次,感谢学校所有老师们,他们在我的整个学生生涯起到至关重要的作用。他们不仅为我传授知识,也像朋友那样当我们遇到困难时,给予我们帮助。其中,我的辅导员胡顺林老师,有很多次给我们很多惊喜,非常开心能做她的学生。Sandy老师是陪了我们经过大学二年的老师,因为她从大一到大二教我们不同的课程,陪着我们成长,非常感谢她,她的课对我的职业生涯很有用。还要感谢各课程老师,因为老师们不仅丰富了自己的文化课,也开拓了视野,为毕业设计的论文打下了基础。再次,感谢我学校的同学、学生会、室友。他们在生活中给予我很多关怀。很开心能在学生会认识很多志同道合的小伙伴,因为他们,让我觉得做一切都是非常值得的。也很感谢我的舍友们,虽然有时会有些小摩擦,但总能彼此宽容谅解,让我有在家的感觉。最后,感谢我的家人,他们给予我生活上的资助,学习上的动力。也会在我迷茫时给我建议。特别是爸爸妈妈,真的很感谢他们,不会给我压力,让我拥有足够的空间去发展。在此,我再一次向各位帮助过我、为我指明方向的老师和朋友们表示感谢!附录附录1packagetest2;//线性同余法importjava.io.*;importjava.util.*;publicclassline_mode{ /** *@paramargs *@throwsIOException */ publicstaticvoidmain(String[]args)throwsIOException{ //TODOAuto-generatedmethodstub Scannerinput=newScanner(System.in); System.out.println("分别输入a,b,m");//输入a=5,b=1,m=32 inta0=input.nextInt();//输入5 intb0=input.nextInt();//输入1 intm0=input.nextInt();//输入32 System.out.println("输入纵列多少行,请比m0大1或以上"); intshu=input.nextInt(); inta[][]=newint[m0+1][shu];//创建二维数组,然后在循环里面赋值给它 intX0=1; intnum[]=newint[m0]; Filefile=newFile("D:\\数据\\value166.xls"); FileWriterout=newFileWriter(file); //用二维数组实现 intnum1=0; intnum2=0; for(inti1=a0;a0<m0;a0++){ if(num1<m0){ num1++; } intz=X0; for(intn=0;n<shu;n++){ inty=n+1; intXy=(a0*z+b0)%m0; z=Xy; a[num1][n]=Xy; Strings=Integer.toBinaryString(a[num1][n]);//十进制转二进制 out.write(a[num1][n]+"\t");//\t是横向打表,\n是纵向打表 } out.write("\n"); } out.close();//main函数结束 }}代码执行结果:附录2packagetest2;//RC4publicclassMyRC4{ publicstaticvoidmain(String[]args){ MyRC4rc4=newMyRC4(); Stringclear="helloworld1234567";//明文 Stringkey="abcde";//秘钥,长度为5 Stringcipher=rc4.encrypt(clear,key);//密文 Stringdecrypt=rc4.encrypt(cipher,key);//解密 System.out.println("明文为:"+clear+"\n"+"密钥为:"+key+"\n\n" +"密文为:"+cipher+"\n"+"解密为:"+decrypt); } publicStringencrypt(finalStringclearOrCipher,finalStringkey){//对文本进行加密或解密 Integer[]S=newInteger[256];//S盒 Character[]keySchedul=newCharacter[clearOrCipher.length()];//生成的密钥流数组 StringBuffercipher=newStringBuffer();//密文文本 ksa(S,key);//打乱S盒 rpga(S,keySchedul,clearOrCipher.length());//获得密钥流 for(inti=0;i<clearOrCipher.length();i++){ cipher.append((char)(clearOrCipher.charAt(i)^keySchedul[i]));//进行异或操作 } returncipher.toString(); } //初始化向量S,打乱S盒,使其具有随机性 publicvoidksa(Integer[]s,Stringkey){ for(inti=0;i<256;i++){ s[i]=i; } intj=0; for(inti=0;i<256;i++){ j=(j+s[i]+key.charAt(i%key.length()))%256;//打乱S盒 swap(s,i,j); } } //伪随机生成算法,利用明文字符长度生成密钥流 publicvoidrpga(Integer[]s,Character[]keySchedul,intplainLength){ inti=0,j=0; for(intk=0;k<plainLength;k++){//明文长度 i=(i+1)%256; j=(j+s[i])%256; swap(s,i,j); keySchedul[k]=(char)(s[(s[i]+s[j])%256]).intValue();//产生密钥流,准备加解密 } } //置换 publicvoidswap(Integer[]s,inti,intj){ IntegerTemp=s[i]; s[i]=s[j]; s[j]=Temp; }}代码执行结果:

教你如何保护电脑一、每天关机前要做的清洗:

双击“我的电脑”—

—右键点C盘——点“属性”——点“磁盘清理”——点“确定”——再点“是”——再点“确定”。清理过程中,您可看得到未经您许可(您可点“查看文件”看,就知道了)进来的“临时文件”被清除了,盘的空间多了。对D,E,F盘也要用这法进行。

二、随时要进行的清理

:

打开网页——点最上面一排里的“工具”——点“Internet选项”——再点中间的“Internet临时文件”中的“删除文件”——再在“删除所有脱机内容”前的方框里打上勾——再点“确定”——清完后又点“确定”。这样,可为打开网和空间提高速度。

三、一星期进行的盘的垃圾清理

:

点“开始”——用鼠标指着“所有程序”,再指着“附件”,再指着“系统工具”,再点“磁盘粹片整理程序”——点C盘,再点“碎片整理”(这需要很长时间,最好在您去吃饭和没用电脑时进行。清理中您可看到您的盘里的状况,可将清理前后对比一下)——在跳出“清理完成”后点“关闭”。按上述,对D,E,F盘分别进行清理。

电脑系统越来越慢,怎么删除临时文件啊

1.关闭"休眠"

方法:打开[控制面板]→[电源选项]→[休眠],把"启用休眠"前面的勾去掉

说明:休眠是系统长时间一种待机状态,使您在长时间离开电脑时保存操作状态,如果您不是经常开着电脑到别处去的话,那就把它关了吧!

☆立即节省:256M

2.关闭"系统还原"

方法:打开[控制面板]→[系统]→[系统还原],把"在所有驱动器上关闭系统还原'勾上

说明:系统还原是便于用户误操作或产生软件问题时的一种挽救手段,可以回复到误操作以前的状态.不建议初级用户使用.当然,它采用的是跟踪手段,需要记录大量信息,所消耗的资源也要很大的.

☆立即节省:数百M

(根据还原点的多少而不同)

您也可以在不关闭系统还原的前提下,相应的减少系统还原所占的磁盘空间,这只会减少可用还原点的数目,一般还原点有一两个就够了吧.

方法:...[系统还原]-选择一个"可用驱动器"-[设置]-调整"要使用的磁盘空间"

3.关闭"远程管理"

方法:打开[控制面板]→[系统]→[远程],把"允许从这台计算机发送远程协助邀请"前面的勾去掉.

说明:谁会经常用到这种功能呢?它占用的不是磁盘空间,但是会影响系统运行速度.

☆提高系统性能

4.关闭"自动更新"

方法:打开[控制面板]→[自动更新]→选"关闭自动更新"

说明:系统更新占用的也不是磁盘空间,您可以在有可用更新时到微软的更新页面上更新,而不是总需要一个进程监视那是不是有可用更新.

☆提高系统性能

5.关闭"索引服务"

方法:[开始]→[运行]→输入"msconfig"→[服务]

去掉indexing

servise前面的勾

说明:索引服务是提高系统搜索速的的,谁没事总在系统里搜来搜去啊

☆提高系统性能

6.减少开机加载的启动项

方法:[开始]→[运行]→输入"msconfig"→[启动]

去掉不必要的启动项

说明:必要的启动项

一般"系统盘\windows\system32下的最好不要去掉;而肯定能去掉的有

TINTSETP

IMJPMIG

IMSCMIG

QQ

☆加快开机速度

7.合理设置虚拟内存

方法:打开[控制面板]→[系统]→[高级]-[性能]设置-[高级]-[虚拟内存]更改-在"自定义大小"中填入数值

说明:一般的最小值是物理内存的1.5倍,最大值是物理内存的3倍;如果您经常运行大型软件的话最小值应该设为(物理内存*1.5*0.2+物理内存*1.5),最大值应为(物理内存*3*0.2+物理内存*3)

☆提高系统性能

8.取消系统失败时的日志文件和询问

打开[控制面板]→[系统]→[高级]→[启动和故障恢复]→[系统失败]

去掉"将事件写入系统日志""发送错误警报"

☆提高系统性能

9.删除无用的文件

方法:打开[控制面板]→[文件夹选项]→[查看]→[显示所有文件和文件夹]

C:\Documents

and

Settings\用户名\Cookies\除index文件外的所有文件(浏览网页产生的记录文件)

C:\Documents

and

Settings\用户名\Local

Settings\Temp\下的所有文件(用户临时文件)

C:\Documents

and

Settings\用户名\LocalSettings\TemporaryInternet

Files\下的所有文件(浏览网页记录的多媒体信息,加速以后浏览)

C:\Documents

and

Settings\用户名\Local

Settings\History\下的所有文件(访问历史纪录)

C:\Documents

and

Settings\用户名\Recent\下的所有文件(最近浏览文件的快捷方式)

C:\WINDOWS\Temp\下的所有文件(临时文件)

C:\WINDOWS\ServicePackFiles下的所有文件(升级sp1或sp2后的备份文件)

C:\WINDOWS\Driver

Cache\i386下的压缩文件(驱动程序的备份文件)

C:\WINDOWS\SoftwareDistribution\download下的所有文件(未完成的软件下载)

C:\Windows\下以

$u...

开头的隐藏文件(微软更新安装文件备份)

☆立即节省:数百M

10.磁盘碎片整理

下面该做的就是磁盘碎片整理了,只有整理之后才能获得更多的空间哦^_^

方法:[开始]→[程序]→[附件]→[系统工具]→[磁盘碎片整理]...(记得先"分析"后"整理")二。发信人:

liushafeng

(终结者),

信区:

Hardware

题:

减少Win

XP资源占用的八大技巧

Windows

XP被微软称为其历史上最优秀的操作系统,有让你眼花缭乱的各种功能、更快的速度,当然这一切都对计算机的硬件提出了更高的要求,如果你希望Windows

XP能够尽可能少地占用你有限的

虽然Windows

XP被微软自称为有史以来最稳定、功能最强大的Windows操作系统,并且运行速度飞快——启动速度甚至比同样配置的Win

2000还要快许多,你可能依然不满足于此,希望

一、使用朴素界面

XP安装后默认的界面包括任务栏、开始选单、桌面背景、窗口、按钮等都采用的是XP的豪华、炫目的风格,但缺点显而易见,它们将消耗掉不少系统资源,但实用意义不大。

[方法]鼠标右键单击桌面空白处,在弹出选单点击“属性”进入显示属性设置窗口,将“主题、外观”都设置为“Windows经典”,将桌面背景设置为“无”,按确定保存退出。

二、减少启动时加载项目

许多应用程序在安装时都会自作主张添加至系统启动组,每次启动系统都会自动运行,这不仅延长了启动时间,而且启动完成后系统资源已经被吃掉不少![方法]选择“开始”选单的“运行”,键入“msconfig”启动“系统配置实用程序”,进入“启动”标,在此窗口列出了系统启动时加载的项目及来源,仔细查看你是否需要它自动加载,否则清除项目前的复选框,加载的项目愈少,启动的速度自然愈快。此项需要重新启动方能生效。

三、优化视觉效果

[方法]选择“系统属性”中的“高级”标签进入“性能选项”界面,其中“视觉效果”中可供选择的包括:自动设置为最佳、最佳外观、最佳性能、自定义。选中的效果越多则占用的系统资源越多,选定“最佳性能”项将关闭列表中列出诸如淡入淡出、平滑滚动、滑动打开等所有视觉效果。

四、关闭系统还原

默认情况下系统还原功能处于启用状态,每个驱动器约被占用高达4%~12%的硬盘空间,并且系统还原的监视系统会自动创建还原点,这样在后台运行就会占用较多的系统资源。

[方法]鼠标右键点击桌面“我的电脑”中的“属性”进入“系统属性”设置窗口,选择“系统还原”标签,将“在所有驱动器上关闭系统还原”置为选中状态

五、加快选单显示速度

[方法]运行注册表编辑器,进入“HKEY_CURRENT_USERControl

PanelDesktop”,将名称为MenuShowDelay的数据值由原来默认的400修改为0,修改后XP的开始选单、甚至应用软件的选单显示速度都会明显加快。

六、启用DMA传输模式

所谓DMA,即直接存储器存储模式,指计算机周边设备(主要指硬盘)可直接与内存交换数据,这样可加快硬盘读写速度,提高速据传输速率。

[方法]选择“系统属性”中的“硬件”标签,打开“设备管理器”,其中“IDE控制器

”有两项“Primary

IDE

Channel”及“Secondary

IDE

Channel”,依次进入“属性→高

级设置”,该对话框会列出目前IDE接口所连接设备的传输模式,点击列表按钮将“传输模

式”设置为“DMA(若可用

七、移动临时文件储存路径

多数应用软件在运行时都会产生临时文件,而且这些临时文件都默认保存于启动分区

C盘,长时间频繁读写C盘极易产生大量文件碎片,从而影响C盘性能,而C盘又是储存系统启动核心文件的分区,C盘的性能直接影响到系统的稳定性与运行效率。应尽量将应用软件安装于启动盘以外的分区并定期对硬盘进行整理,此举可最大程度避免产生磁盘碎片,将启动或读写速度保持在最佳状态。

Internet

Explorer临时文件夹

[方法]在IE主窗口中,依次进入“工具→Internet选项→常规”标签,打开“Intern

et临时文件”设置界面,点击“移动文件夹”按钮将原来保存于C盘的临时目录移动至C盘

以外的驱动器中,如果你使用的是宽带,可将“临时文件夹”使用空间设置为最小值1M

刻录时产生的临时文件

[方法]文件在刻录之前都会保存于C盘的刻录临时文件夹中,进入资源管理器,选择刻录机盘符并单击鼠标右键选单的“属性”项,在“录制”标签下可将此临时文件夹安置于

其它驱动器。

我的文档

[方法]鼠标右键点击“我的文档”,在属性设置项中可将“我的文档”默认的保存路

径修改至其它盘符。

八、增加虚拟内存

[方法]进入“性能选项”的“高级”设置窗口,首先将“处理器计划”及“内存使用

”都调整为“程序”优化模式。点击“更改”按钮进入虚拟内存设置窗口,若你的内存大

于256M,建议你禁用分页文件。默认的分页文件为物理内存的1.5倍。禁用系统缓存需重新启动系统。如果你的内存低于256M,请勿禁用分页文件,否则会导致系统崩溃或无法再启动XP!

三windows使用时间长了,自然就会产生这样那样的临时文件,影响系统速度,让人烦心。对于老鸟来说,可以通过修改注册表、手动优化系统性能来提高速度,而对新手来说比较困难。这里我们可以下载一些专门的系统优化软件,进行一些简单的设计,就能达到我们想要的效果。这里我推荐一些常用又好使的软件:WINDOWS优化王、优化大师、超级兔子等。其中WINDOWS优化王非常好用,一看就会、功能全面、省时省心。

完全清理[

]垃圾

藏在XP中的一个秘密武器,可以完整清除垃圾文件

藏在XP中的一个秘密武器,可以完整清除垃圾文件

你有用过Windows内置的清理磁盘功能吗?

它并不能完全地清洗Windows内不需要的档案,因为它的功能被隐藏了,本篇将会把它被封印了的功能完全打开。适用的窗口板本

除了Win95及Win98外

这个方法阶适用于Win98se、Win2000、WinME、WinXP

现在介绍两个「清理磁盘」工具的指令:

SAGESET

SAGERUN

首先在「开始」>「执行」

然后输入

cleanmgr

/sageset:99

设定:

特别模式「清理磁盘」工具会执行,你会发觉多了很多清理选择,选择你想要清理的档案,通常全部都可以删除,完成你的选择后再按「确定」。然后再打开「开始」>「运行」

输入:cleanmgr

/SAGERUN:99

杀毒1

这种情况往往表现在打开IE时,在IE界面的左下框里提示:正在打开网页,但老半天没响应。在任务管理器里查看进程,(进入方法,把鼠标放在任务栏上,按右键—任务管理器—进程)看看CPU的占用率如何,如果是100%,可以肯定,是感染了病毒,这时你想运行其他程序简直就是受罪。这就要查查是哪个进程贪婪地占用了CPU资源.找到后,最好把名称记录下来,然后点击结束,如果不能结束,则要启动到安全模式下把该东东删除,还要进入注册表里,(方法:开始—运行,输入regedit)在注册表对话框里,点编辑—查找,输入那个程序名,找到后,点鼠标右键删除,然后再进行几次的搜索,往往能彻底删除干净。

杀毒2

今天在这里为大家提供两则小技巧,以便帮你强行杀死顽固病毒进程。

根据进程名查杀

这种方法是通过WinXP系统下的taskkill命令来实现的,在使用该方法之前,首先需要打开系统的进程列表界面,找到病毒进程所对应的具体进程名。

接着依次单击“开始→运行”命令,在弹出的系统运行框中,运行“cmd”命令;再在DOS命令行中输入“taskkill/imaaa”格式的字符串命令,单击回车键后,顽固的病毒进程“aaa”就被强行杀死了。比方说,要强行杀死“conime。exe”病毒进程,只要在命令提示符下执行“taskkill/imconime。exe”命令,要不了多久,系统就会自动返回结果。

根据进程号查杀

上面的方法,只对部分病毒进程有效,遇到一些更“顽固”的病毒进程,可能就无济于事了。此时你可以通过Win2000以上系统的内置命令——ntsd,来强行杀死一切病毒进程,因为该命令除System进程、SMSS。EXE进程、CSRSS。EXE进程不能“对付”外,基本可以对付其它一切进程。但是在使用该命令杀死病毒进程之前,需要先查找到对应病毒进程的具体进程号。

考虑到系统进程列表界面在默认状态下,是不显示具体进程号的,因此你可以首先打开系统任务管理器窗口,再单击“查看”菜单项下面的“选择列”命令,在弹出的设置框中,将“PID(进程标志符)”选项选中,单击“确定”按钮。返回到系统进程列表页面中后,你就能查看到对应病毒进程的具体PID了。

接着打开系统运行对话框,在其中运行“cmd”命令,在命令提示符状态下输入“ntsd-cq-pPID”命令,就可以强行将指定PID的病毒进程杀死了。例如,发现某个病毒进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论