导航:首页 > 源码编译 > 计算机解密计算法是什么

计算机解密计算法是什么

发布时间:2023-01-29 19:09:50

㈠ 请问以下对称加密法的加密方法和解密方法是什么

一、加密方法
一个加密系统S可以用数学符号描述如下:
S={P, C, K, E, D}
其中 :
P——明文空间,表示全体可能出现的明文集合,
C——密文空间,表示全体可能出现的密文集合,
K——密钥空间,密钥是加密算法中的可变参数,
E——加密算法,由一些公式、法则或程序构成,
D——解密算法,它是E的逆。
当给定密钥kÎK时,各符号之间有如下关系:
C = Ek(P), 对明文P加密后得到密文C
P = Dk(C) = Dk(Ek(P)), 对密文C解密后得明文P
如用E-1 表示E的逆,D-1表示D的逆,则有:
Ek = Dk-1且Dk = Ek-1
因此,加密设计主要是确定E,D,K。
二、解密方法

1 实现密钥的交换,在对称加密算法中有这样一个问题,对方如何获得密钥,在这里就可以通过公钥算法来实现。即用公钥加密算法对密钥进行加密,再发送给对方就OK了
2 数字签名。加密可以使用公钥/私钥,相对应的就是使用私钥/公钥解密。因此若是发送方使用自己的私钥进行加密,则必须用发送方公钥进行解密,这样就证明了发送方的真实性,起到了防抵赖的作用。

㈡ 加密解密字符串的算法原理

我们经常需要一种措施来保护我们的数据,防止被一些怀有不良用心的人所看到或者破坏。在信息时代,信息可以帮助团体或个人,使他们受益,同样,信息也可以用来对他们构成威胁,造成破坏。在竞争激烈的大公司中,工业间谍经常会获取对方的情报。因此,在客观上就需要一种强有力的安全措施来保护机密数据不被窃取或篡改。数据加密与解密从宏观上讲是非常简单的,很容易理解。加密与解密的一些方法是非常直接的,很容易掌握,可以很方便的对机密数据进行加密和解密。

一:数据加密方法

在传统上,我们有几种方法来加密数据流。所有这些方法都可以用软件很容易的实现,但是当我们只知道密文的时候,是不容易破译这些加密算法的(当同时有原文和密文时,破译加密算法虽然也不是很容易,但已经是可能的了)。最好的加密算法对系统性能几乎没有影响,并且还可以带来其他内在的优点。例如,大家都知道的pkzip,它既压缩数据又加密数据。又如,dbms的一些软件包总是包含一些加密方法以使复制文件这一功能对一些敏感数据是无效的,或者需要用户的密码。所有这些加密算法都要有高效的加密和解密能力。

幸运的是,在所有的加密算法中最简单的一种就是“置换表”算法,这种算法也能很好达到加密的需要。每一个数据段(总是一个字节)对应着“置换表”中的一个偏移量,偏移量所对应的值就输出成为加密后的文件。加密程序和解密程序都需要一个这样的“置换表”。事实上,80x86 cpu系列就有一个指令‘xlat’在硬件级来完成这样的工作。这种加密算法比较简单,加密解密速度都很快,但是一旦这个“置换表”被对方获得,那这个加密方案就完全被识破了。更进一步讲,这种加密算法对于黑客破译来讲是相当直接的,只要找到一个“置换表”就可以了。这种方法在计算机出现之前就已经被广泛的使用。

对这种“置换表”方式的一个改进就是使用2个或者更多的“置换表”,这些表都是基于数据流中字节的位置的,或者基于数据流本身。这时,破译变的更加困难,因为黑客必须正确的做几次变换。通过使用更多的“置换表”,并且按伪随机的方式使用每个表,这种改进的加密方法已经变的很难破译。比如,我们可以对所有的偶数位置的数据使用a表,对所有的奇数位置使用b表,即使黑客获得了明文和密文,他想破译这个加密方案也是非常困难的,除非黑客确切的知道用了两张表。

与使用“置换表”相类似,“变换数据位置”也在计算机加密中使用。但是,这需要更多的执行时间。从输入中读入明文放到一个buffer中,再在buffer中对他们重排序,然后按这个顺序再输出。解密程序按相反的顺序还原数据。这种方法总是和一些别的加密算法混合使用,这就使得破译变的特别的困难,几乎有些不可能了。例如,有这样一个词,变换起字母的顺序,slient 可以变为listen,但所有的字母都没有变化,没有增加也没有减少,但是字母之间的顺序已经变化了。

但是,还有一种更好的加密算法,只有计算机可以做,就是字/字节循环移位和xor操作。如果我们把一个字或字节在一个数据流内做循环移位,使用多个或变化的方向(左移或右移),就可以迅速的产生一个加密的数据流。这种方法是很好的,破译它就更加困难!而且,更进一步的是,如果再使用xor操作,按位做异或操作,就就使破译密码更加困难了。如果再使用伪随机的方法,这涉及到要产生一系列的数字,我们可以使用fibbonaci数列。对数列所产生的数做模运算(例如模3),得到一个结果,然后循环移位这个结果的次数,将使破译次密码变的几乎不可能!但是,使用fibbonaci数列这种伪随机的方式所产生的密码对我们的解密程序来讲是非常容易的。

在一些情况下,我们想能够知道数据是否已经被篡改了或被破坏了,这时就需要产生一些校验码,并且把这些校验码插入到数据流中。这样做对数据的防伪与程序本身都是有好处的。但是感染计算机程序的病毒才不会在意这些数据或程序是否加过密,是否有数字签名。所以,加密程序在每次load到内存要开始执行时,都要检查一下本身是否被病毒感染,对与需要加、解密的文件都要做这种检查!很自然,这样一种方法体制应该保密的,因为病毒程序的编写者将会利用这些来破坏别人的程序或数据。因此,在一些反病毒或杀病毒软件中一定要使用加密技术。

循环冗余校验是一种典型的校验数据的方法。对于每一个数据块,它使用位循环移位和xor操作来产生一个16位或32位的校验和 ,这使得丢失一位或两个位的错误一定会导致校验和出错。这种方式很久以来就应用于文件的传输,例如 xmodem-crc。 这是方法已经成为标准,而且有详细的文档。但是,基于标准crc算法的一种修改算法对于发现加密数据块中的错误和文件是否被病毒感染是很有效的。

二.基于公钥的加密算法

一个好的加密算法的重要特点之一是具有这种能力:可以指定一个密码或密钥,并用它来加密明文,不同的密码或密钥产生不同的密文。这又分为两种方式:对称密钥算法和非对称密钥算法。所谓对称密钥算法就是加密解密都使用相同的密钥,非对称密钥算法就是加密解密使用不同的密钥。非常着名的pgp公钥加密以及rsa加密方法都是非对称加密算法。加密密钥,即公钥,与解密密钥,即私钥,是非常的不同的。从数学理论上讲,几乎没有真正不可逆的算法存在。例如,对于一个输入‘a’执行一个操作得到结果‘b’,那么我们可以基于‘b’,做一个相对应的操作,导出输入‘a’。在一些情况下,对于每一种操作,我们可以得到一个确定的值,或者该操作没有定义(比如,除数为0)。对于一个没有定义的操作来讲,基于加密算法,可以成功地防止把一个公钥变换成为私钥。因此,要想破译非对称加密算法,找到那个唯一的密钥,唯一的方法只能是反复的试验,而这需要大量的处理时间。

rsa加密算法使用了两个非常大的素数来产生公钥和私钥。即使从一个公钥中通过因数分解可以得到私钥,但这个运算所包含的计算量是非常巨大的,以至于在现实上是不可行的。加密算法本身也是很慢的,这使得使用rsa算法加密大量的数据变的有些不可行。这就使得一些现实中加密算法都基于rsa加密算法。pgp算法(以及大多数基于rsa算法的加密方法)使用公钥来加密一个对称加密算法的密钥,然后再利用一个快速的对称加密算法来加密数据。这个对称算法的密钥是随机产生的,是保密的,因此,得到这个密钥的唯一方法就是使用私钥来解密。

我们举一个例子:假定现在要加密一些数据使用密钥‘12345’。利用rsa公钥,使用rsa算法加密这个密钥‘12345’,并把它放在要加密的数据的前面(可能后面跟着一个分割符或文件长度,以区分数据和密钥),然后,使用对称加密算法加密正文,使用的密钥就是‘12345’。当对方收到时,解密程序找到加密过的密钥,并利用rsa私钥解密出来,然后再确定出数据的开始位置,利用密钥‘12345’来解密数据。这样就使得一个可靠的经过高效加密的数据安全地传输和解密。

一些简单的基于rsa算法的加密算法可在下面的站点找到:

ftp://ftp.funet.fi/pub/crypt/cryptography/asymmetric/rsa

三.一个崭新的多步加密算法

现在又出现了一种新的加密算法,据说是几乎不可能被破译的。这个算法在1998年6月1日才正式公布的。下面详细的介绍这个算法:

使用一系列的数字(比如说128位密钥),来产生一个可重复的但高度随机化的伪随机的数字的序列。一次使用256个表项,使用随机数序列来产生密码转表,如下所示:

把256个随机数放在一个距阵中,然后对他们进行排序,使用这样一种方式(我们要记住最初的位置)使用最初的位置来产生一个表,随意排序的表,表中的数字在0到255之间。如果不是很明白如何来做,就可以不管它。但是,下面也提供了一些原码(在下面)是我们明白是如何来做的。现在,产生了一个具体的256字节的表。让这个随机数产生器接着来产生这个表中的其余的数,以至于每个表是不同的。下一步,使用"shotgun technique"技术来产生解码表。基本上说,如果 a映射到b,那么b一定可以映射到a,所以b[a[n]] = n.(n是一个在0到255之间的数)。在一个循环中赋值,使用一个256字节的解码表它对应于我们刚才在上一步产生的256字节的加密表。

使用这个方法,已经可以产生这样的一个表,表的顺序是随机,所以产生这256个字节的随机数使用的是二次伪随机,使用了两个额外的16位的密码.现在,已经有了两张转换表,基本的加密解密是如下这样工作的。前一个字节密文是这个256字节的表的索引。或者,为了提高加密效果,可以使用多余8位的值,甚至使用校验和或者crc算法来产生索引字节。假定这个表是256*256的数组,将会是下面的样子:

crypto1 = a[crypto0][value]

变量'crypto1'是加密后的数据,'crypto0'是前一个加密数据(或着是前面几个加密数据的一个函数值)。很自然的,第一个数据需要一个“种子”,这个“种子” 是我们必须记住的。如果使用256*256的表,这样做将会增加密文的长度。或者,可以使用你产生出随机数序列所用的密码,也可能是它的crc校验和。顺便提及的是曾作过这样一个测试: 使用16个字节来产生表的索引,以128位的密钥作为这16个字节的初始的"种子"。然后,在产生出这些随机数的表之后,就可以用来加密数据,速度达到每秒钟100k个字节。一定要保证在加密与解密时都使用加密的值作为表的索引,而且这两次一定要匹配。

加密时所产生的伪随机序列是很随意的,可以设计成想要的任何序列。没有关于这个随机序列的详细的信息,解密密文是不现实的。例如:一些ascii码的序列,如“eeeeeeee"可能被转化成一些随机的没有任何意义的乱码,每一个字节都依赖于其前一个字节的密文,而不是实际的值。对于任一个单个的字符的这种变换来说,隐藏了加密数据的有效的真正的长度。

如果确实不理解如何来产生一个随机数序列,就考虑fibbonacci数列,使用2个双字(64位)的数作为产生随机数的种子,再加上第三个双字来做xor操作。 这个算法产生了一系列的随机数。算法如下:

unsigned long dw1, dw2, dw3, dwmask;

int i1;

unsigned long arandom[256];

dw1 = {seed #1};

dw2 = {seed #2};

dwmask = {seed #3};

// this gives you 3 32-bit "seeds", or 96 bits total

for(i1=0; i1 < 256; i1++)

{

dw3 = (dw1 + dw2) ^ dwmask;

arandom[i1] = dw3;

dw1 = dw2;

dw2 = dw3;

}

如果想产生一系列的随机数字,比如说,在0和列表中所有的随机数之间的一些数,就可以使用下面的方法:

int __cdecl mysortproc(void *p1, void *p2)

{

unsigned long **pp1 = (unsigned long **)p1;

unsigned long **pp2 = (unsigned long **)p2;

if(**pp1 < **pp2)

return(-1);

else if(**pp1 > *pp2)

return(1);

return(0);

}

...

int i1;

unsigned long *aprandom[256];

unsigned long arandom[256]; // same array as before, in this case

int aresult[256]; // results go here

for(i1=0; i1 < 256; i1++)

{

aprandom[i1] = arandom + i1;

}

// now sort it

qsort(aprandom, 256, sizeof(*aprandom), mysortproc);

// final step - offsets for pointers are placed into output array

for(i1=0; i1 < 256; i1++)

{

aresult[i1] = (int)(aprandom[i1] - arandom);

}

...

变量'aresult'中的值应该是一个排过序的唯一的一系列的整数的数组,整数的值的范围均在0到255之间。这样一个数组是非常有用的,例如:对一个字节对字节的转换表,就可以很容易并且非常可靠的来产生一个短的密钥(经常作为一些随机数的种子)。这样一个表还有其他的用处,比如说:来产生一个随机的字符,计算机游戏中一个物体的随机的位置等等。上面的例子就其本身而言并没有构成一个加密算法,只是加密算法一个组成部分。

作为一个测试,开发了一个应用程序来测试上面所描述的加密算法。程序本身都经过了几次的优化和修改,来提高随机数的真正的随机性和防止会产生一些短的可重复的用于加密的随机数。用这个程序来加密一个文件,破解这个文件可能会需要非常巨大的时间以至于在现实上是不可能的。

四.结论:

由于在现实生活中,我们要确保一些敏感的数据只能被有相应权限的人看到,要确保信息在传输的过程中不会被篡改,截取,这就需要很多的安全系统大量的应用于政府、大公司以及个人系统。数据加密是肯定可以被破解的,但我们所想要的是一个特定时期的安全,也就是说,密文的破解应该是足够的困难,在现实上是不可能的,尤其是短时间内。

㈢ rsa加密和解密的理论依据是什么

以前也接触过RSA加密算法,感觉这个东西太神秘了,是数学家的事,和我无关。但是,看了很多关于RSA加密算法原理的资料之后,我发现其实原理并不是我们想象中那么复杂,弄懂之后发现原来就只是这样而已..
学过算法的朋友都知道,计算机中的算法其实就是数学运算。所以,再讲解RSA加密算法之前,有必要了解一下一些必备的数学知识。我们就从数学知识开始讲解。
必备数学知识
RSA加密算法中,只用到素数、互质数、指数运算、模运算等几个简单的数学知识。所以,我们也需要了解这几个概念即可。
素数
素数又称质数,指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。这个概念,我们在上初中,甚至小学的时候都学过了,这里就不再过多解释了。
互质数
网络上的解释是:公因数只有1的两个数,叫做互质数。;维基网络上的解释是:互质,又称互素。若N个整数的最大公因子是1,则称这N个整数互质。
常见的互质数判断方法主要有以下几种:
两个不同的质数一定是互质数。例如,2与7、13与19。
一个质数,另一个不为它的倍数,这两个数为互质数。例如,3与10、5与 26。
相邻的两个自然数是互质数。如 15与 16。
相邻的两个奇数是互质数。如 49与 51。
较大数是质数的两个数是互质数。如97与88。
小数是质数,大数不是小数的倍数的两个数是互质数。例如 7和 16。
2和任何奇数是互质数。例如2和87。
1不是质数也不是合数,它和任何一个自然数在一起都是互质数。如1和9908。
辗转相除法。
指数运算
指数运算又称乘方计算,计算结果称为幂。nm指将n自乘m次。把nm看作乘方的结果,叫做”n的m次幂”或”n的m次方”。其中,n称为“底数”,m称为“指数”。
模运算
模运算即求余运算。“模”是“Mod”的音译。和模运算紧密相关的一个概念是“同余”。数学上,当两个整数除以同一个正整数,若得相同余数,则二整数同余。
两个整数a,b,若它们除以正整数m所得的余数相等,则称a,b对于模m同余,记作: a ≡ b (mod m);读作:a同余于b模m,或者,a与b关于模m同余。例如:26 ≡ 14 (mod 12)。
RSA加密算法
RSA加密算法简史
RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。
公钥与密钥的产生
假设Alice想要通过一个不可靠的媒体接收Bob的一条私人讯息。她可以用以下的方式来产生一个公钥和一个私钥:
随意选择两个大的质数p和q,p不等于q,计算N=pq。
根据欧拉函数,求得r = (p-1)(q-1)
选择一个小于 r 的整数 e,求得 e 关于模 r 的模反元素,命名为d。(模反元素存在,当且仅当e与r互质)
将 p 和 q 的记录销毁。
(N,e)是公钥,(N,d)是私钥。Alice将她的公钥(N,e)传给Bob,而将她的私钥(N,d)藏起来。
加密消息
假设Bob想给Alice送一个消息m,他知道Alice产生的N和e。他使用起先与Alice约好的格式将m转换为一个小于N的整数n,比如他可以将每一个字转换为这个字的Unicode码,然后将这些数字连在一起组成一个数字。假如他的信息非常长的话,他可以将这个信息分为几段,然后将每一段转换为n。用下面这个公式他可以将n加密为c:

ne ≡ c (mod N)
计算c并不复杂。Bob算出c后就可以将它传递给Alice。
解密消息
Alice得到Bob的消息c后就可以利用她的密钥d来解码。她可以用以下这个公式来将c转换为n:
cd ≡ n (mod N)
得到n后,她可以将原来的信息m重新复原。
解码的原理是:
cd ≡ n e·d(mod N)
以及ed ≡ 1 (mod p-1)和ed ≡ 1 (mod q-1)。由费马小定理可证明(因为p和q是质数)
n e·d ≡ n (mod p) 和 n e·d ≡ n (mod q)
这说明(因为p和q是不同的质数,所以p和q互质)
n e·d ≡ n (mod pq)
签名消息
RSA也可以用来为一个消息署名。假如甲想给乙传递一个署名的消息的话,那么她可以为她的消息计算一个散列值(Message digest),然后用她的密钥(private key)加密这个散列值并将这个“署名”加在消息的后面。这个消息只有用她的公钥才能被解密。乙获得这个消息后可以用甲的公钥解密这个散列值,然后将这个数据与他自己为这个消息计算的散列值相比较。假如两者相符的话,那么他就可以知道发信人持有甲的密钥,以及这个消息在传播路径上没有被篡改过。

RSA加密算法的安全性

当p和q是一个大素数的时候,从它们的积pq去分解因子p和q,这是一个公认的数学难题。然而,虽然RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价。
1994年彼得·秀尔(Peter Shor)证明一台量子计算机可以在多项式时间内进行因数分解。假如量子计算机有朝一日可以成为一种可行的技术的话,那么秀尔的算法可以淘汰RSA和相关的衍生算法。(即依赖于分解大整数困难性的加密算法)
另外,假如N的长度小于或等于256位,那么用一台个人电脑在几个小时内就可以分解它的因子了。1999年,数百台电脑合作分解了一个512位长的N。1997年后开发的系统,用户应使用1024位密钥,证书认证机构应用2048位或以上。
RSA加密算法的缺点

虽然RSA加密算法作为目前最优秀的公钥方案之一,在发表三十多年的时间里,经历了各种攻击的考验,逐渐为人们接受。但是,也不是说RSA没有任何缺点。由于没有从理论上证明破译RSA的难度与大数分解难度的等价性。所以,RSA的重大缺陷是无法从理论上把握它的保密性能如何。在实践上,RSA也有一些缺点:
产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密;
分组长度太大,为保证安全性,n 至少也要 600 bits 以上,使运算代价很高,尤其是速度较慢,。

㈣ 电脑解密的方法

分享 电脑密码破解方法简介 来源: 马红瑞的日志
我们在维护和使用电脑时,经常会遇到各种密码丢失的问题,这里,我们就为广大网管员准备了一些破解密码的方法,但是希望大家不要干坏事哦。开机密码是我们最先要遇到的因此我们就先从CMOS密码破解讲起。虽然CMOS种类各异,但它们的加密方法却基本一致。一般破解的方法主要从"硬"和"软"两个方面来进行。
一、CMOS破解
使用电脑,首先需要开机。因此开机密码是我们最先要遇到的。虽然CMOS种类各异,但它们的加密方法却基本一致。一般破解的方法主要从"硬"和"软"两个方面来进行。
1."硬"解除方法
硬件方法解除CMOS密码原理是将主板上的CMOSRAM进行放电处理,使存储在CMOSRAM中的参数得不到正常的供电导致内容丢失,从而起到解除 CMOS密码的目的。一些报刊对如何破解CMOS密码的通常做法,如跳线短接法和电池短接法已有较多介绍,操作起来也十分方便。但我们这里要介绍的是个另类技巧,这也是一些电脑DIY们很喜欢用的方法。方法也很简单:打开机箱,将硬盘或光驱、软驱的数据线从主板上拔掉,然后再启动计算机,BIOS会在自检时报告错误并自动进入CMOS,此时就可以重新设置BIOS内容了。
2."软"解除方法
严格地说,"软"解除CMOS密码没有"硬"解除方法那么彻底,但也十分奏效。CMOS密码根据需要,可设为普通级用户密码和超级用户级密码两种。前者只是限制对BIOS的修改,可以正常启动电脑和运行各类软件,而后者则对进入电脑和BIOS完全禁止。
1) 破解普通用户密码
首先用DOS启动盘启动电脑,进入DOS状态,在DOS命令行输入debug回车,然后用所列的其中任何一种方法的数据解除CMOS密码,重新启动电脑,系统会告诉你CMOS参数丢失,要求你重新设定CMOS参数。经过试验,这是一种很有效的方法。"-"后面的字母"O",表示数值输出的地址,70和 10都是数值。
2) 破解超级用户密码
这里我们需借助外部工具。我们选用最为经典的BiosPwds,是一款免费软件,比较适合对DOS不太熟悉的电脑用户,很久以前就为人们所熟知,只要轻轻一点,就会将用户的CMOS密码显示出来。工具最新版本1.21,127KB,免费下载地址:http: //bj2.onlinedown.net/soft/8107.htm。下载解压后,双击该软件的执行文件,在出现的界面中点击 "Getpasswords"按钮,稍等二、三秒即会将BIOS各项信息显示于BiosPwds的界面上,包括:Bios版本、Bios日期、使用密码等,这时你便可以很轻松地得知BIOS密码。
二、破解系统密码
系统密码是你登录到操作系统时所使用到的密码,它为你的计算机提供了一种安全保护,可以使你的计算机免受非法用户的使用,从而保障电脑和机密数据的安全。
1. Windows98/ME的系统登录密码
① 取消法
最简单的一种方法是在系统登录要求输入密码时,你什么也不用输入,直接点击取消,可以进入操作系统。但用此种方法只能访问本机的资源,如果计算机是局域网的一部分,你将不能访问网络资源。
② 新增使用者
当你由于密码问题被挡在系统之外时,不妨为系统再新增一个使用者,然后重新登录,一样可以登录系统并访问系统或网络资源。单击"开始"/"设置"/" 控制面板",然后双击"用户",打开"用户属性"对话框。接着,根据提示依次输入"用户名"、"密码"、"个性化项目设置"中所需的内容,最后单击"完成 "。
③ 删除"PWL"文件
删除Windows安装目录下的?.PWL密码文件和Profiles子目录下的所有个人信息文件,然后重新启动Windows,系统就会弹出一个不包含任何用户名的密码设置框,我们无需输入任何内容,直接点击"确定"按钮,Windows密码即被删除。
④ 修改注册表
运行注册表编辑器,打开注册表数据库"HKEY_LOCAL_MACHINE\Network\Logon"分支下的"username"修改为"0",然后重新启动系统,也可达到去掉密码的目的。
2. 破解WindowsNT密码
如果你有普通用户账号,有一个很简单的方法获取NTAdministrator账号:先把c:\winntsystem32下的logon.scr改名为logon.old备份,然后把usrm?gr.exe改名为logon.scr再重新启动。logon.scr是系统启动时加载的程序,重新启动后,不会出现以往的登录密码输入界面,而是用户管理器,这时你就有权限把自己加到Administrator组。
3. Windows2000密码
启动盘启动电脑或引导进入另一操作系统(如Windows98),找到文件夹"X:\DocumentsandSettings\ Administrator"(X为Windows2000所在磁盘的盘符),将此文件夹下的"Cookies"文件夹删除,然后重新启动电脑,即可以空密码快速登录Windows2000。
4. 破解WindowsXP的密码
在启动WindowsXP时按F8键选择带命令行的安全模式,使用net命令可以对用户身份进行操作。具体步骤如下:使用命令 "netuserabcd/add"添加一名为abcd的用户,使用命令"/add"将用户abcd提升为管理员,重新启动电脑,用abcd身份登录,最后对遗忘密码的用户进行密码修改即可

㈤ 计算机加密技术密钥和加密算法的关系,明文是怎样被加密和解密的

l iceEncryptText 文本加密解密
http://dl.icese.net/src.php?f=iceEncryptText.src.rar

㈥ MD5算法如何解密

介绍MD5加密算法基本情况MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。
Message-Digest泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成一定长的大整数。请注意我使用了"字节串"而不是"字符串"这个词,是因为这种变换只与字节的值有关,与字符集或编码方式无关。

MD5将任意长度的"字节串"变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。

MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被"篡改"。举个例子,你将一段话写在一个叫readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的"抵赖",这就是所谓的数字签名应用。

MD5还广泛用于加密和解密技术上,在很多操作系统中,用户的密码是以MD5值(或类似的其它算法)的方式保存的,用户Login的时候,系统是把用户输入的密码计算成MD5值,然后再去和系统中保存的MD5值进行比较,而系统并不"知道"用户的密码是什么。

一些黑客破获这种密码的方法是一种被称为"跑字典"的方法。有两种方法得到字典,一种是日常搜集的用做密码的字符串表,另一种是用排列组合方法生成的,先用MD5程序计算出这些字典项的MD5值,然后再用目标的MD5值在这个字典中检索。

即使假设密码的最大长度为8,同时密码只能是字母和数字,共26+26+10=62个字符,排列组合出的字典的项数则是P(62,1)+P(62,2)....+P(62,8),那也已经是一个很天文的数字了,存储这个字典就需要TB级的磁盘组,而且这种方法还有一个前提,就是能获得目标账户的密码MD5值的情况下才可以。

在很多电子商务和社区应用中,管理用户的Account是一种最常用的基本功能,尽管很多Application Server提供了这些基本组件,但很多应用开发者为了管理的更大的灵活性还是喜欢采用关系数据库来管理用户,懒惰的做法是用户的密码往往使用明文或简单的变换后直接保存在数据库中,因此这些用户的密码对软件开发者或系统管理员来说可以说毫无保密可言,本文的目的是介绍MD5的Java Bean的实现,同时给出用MD5来处理用户的Account密码的例子,这种方法使得管理员和程序设计者都无法看到用户的密码,尽管他们可以初始化它们。但重要的一点是对于用户密码设置习惯的保护

㈦ rsa加密解密算法

1978年就出现了这种算法,它是第一个既能用于数据加密
也能用于数字签名的算法。它易于理解和操作,也很流行。算
法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和
Leonard Adleman。但RSA的安全性一直未能得到理论上的证明。

RSA的安全性依赖于大数分解。公钥和私钥都是两个大素数
( 大于 100个十进制位)的函数。据猜测,从一个密钥和密文
推断出明文的难度等同于分解两个大素数的积。

密钥对的产生:选择两个大素数,p 和q 。计算:
n = p * q
然后随机选择加密密钥e,要求 e 和 ( p - 1 ) * ( q - 1 )
互质。最后,利用Euclid 算法计算解密密钥d, 满足

e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) )

其中n和d也要互质。数e和
n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任
何人知道。 加密信息 m(二进制表示)时,首先把m分成等长数据
块 m1 ,m2,..., mi ,块长s,其中 2^s <= n, s 尽可能的大。对
应的密文是:

ci = mi^e ( mod n ) ( a )

解密时作如下计算:

mi = ci^d ( mod n ) ( b )

RSA 可用于数字签名,方案是用 ( a ) 式签名, ( b )
式验证。具体操作时考虑到安全性和 m信息量较大等因素,一般是先
作 HASH 运算。

RSA 的安全性。
RSA的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理
论上的证明,因为没有证明破解RSA就一定需要作大数分解。假设存在
一种无须分解大数的算法,那它肯定可以修改成为大数分解算法。目前,
RSA的一些变种算法已被证明等价于大数分解。不管怎样,分解n是最显
然的攻击方法。现在,人们已能分解140多个十进制位的大素数。因此,
模数n必须选大一些,因具体适用情况而定。

RSA的速度:
由于进行的都是大数计算,使得RSA最快的情况也比DES慢上100倍,无论
是软件还是硬件实现。速度一直是RSA的缺陷。一般来说只用于少量数据
加密。

RSA的选择密文攻击:
RSA在选择密文攻击面前很脆弱。一般攻击者是将某一信息作一下伪装
(Blind),让拥有私钥的实体签署。然后,经过计算就可得到它所想要的信
息。实际上,攻击利用的都是同一个弱点,即存在这样一个事实:乘幂保
留了输入的乘法结构:

( XM )^d = X^d *M^d mod n

前面已经提到,这个固有的问题来自于公钥密码系统的最有用的特征
--每个人都能使用公钥。但从算法上无法解决这一问题,主要措施有
两条:一条是采用好的公钥协议,保证工作过程中实体不对其他实体
任意产生的信息解密,不对自己一无所知的信息签名;另一条是决不
对陌生人送来的随机文档签名,签名时首先使用One-Way HashFunction
对文档作HASH处理,或同时使用不同的签名算法。在中提到了几种不
同类型的攻击方法。

RSA的公共模数攻击。
若系统中共有一个模数,只是不同的人拥有不同的e和d,系统将是危险
的。最普遍的情况是同一信息用不同的公钥加密,这些公钥共模而且互
质,那末该信息无需私钥就可得到恢复。设P为信息明文,两个加密密钥
为e1和e2,公共模数是n,则:

C1 = P^e1 mod n

C2 = P^e2 mod n

密码分析者知道n、e1、e2、C1和C2,就能得到P。

因为e1和e2互质,故用Euclidean算法能找到r和s,满足:

r * e1 + s * e2 = 1

假设r为负数,需再用Euclidean算法计算C1^(-1),则

( C1^(-1) )^(-r) * C2^s = P mod n

另外,还有其它几种利用公共模数攻击的方法。总之,如果知道给定模数
的一对e和d,一是有利于攻击者分解模数,一是有利于攻击者计算出其它
成对的e’和d’,而无需分解模数。解决办法只有一个,那就是不要共享
模数n。

RSA的小指数攻击。 有一种提高
RSA速度的建议是使公钥e取较小的值,这样会使加密变得易于实现,速度
有所提高。但这样作是不安全的,对付办法就是e和d都取较大的值。

RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。
RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各
种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。
RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难
度与大数分解难度等价。即RSA的重大缺陷是无法从理论上把握它的保密性
能如何,而且密码学界多数人士倾向于因子分解不是NPC问题。

RSA的缺点主要有:
A)产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次
一密。B)分组长度太大,为保证安全性,n 至少也要 600 bits
以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级;
且随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化。
目前,SET(Secure Electronic Transaction)协议中要求CA采用2048比特长
的密钥,其他实体使用1024比特的密钥。

㈧ 计算机文件加密解密问题!!!!!!!!!!!!

NTFS是WinNT以上版本支持的一种提供安全性、可靠性的高级文件系统。在Windows2000和WindowsXP中,NTFS还可以提供诸如文件和文件夹权限、加密、磁盘配额和压缩这样的高级功能。

一、加密文件或文件夹

步骤一:打开Windows资源管理器。

步骤二:右键单击要加密的文件或文件夹,然后单击“属性”。

步骤三:在“常规”选项卡上,单击“高级”。选中“加密内容以便保护数据”复选框

在加密过程中还要注意以下五点:

1.要打开“Windows 资源管理器”,请单击“开始→程序→附件”,然后单击“Windows 资源管理器”。

2.只可以加密NTFS分区卷上的文件和文件夹,FAT分区卷上的文件和文件夹无效。

3.被压缩的文件或文件夹也可以加密。如果要加密一个压缩文件或文件夹,则该文件或文件夹将会被解压。

4.无法加密标记为“系统”属性的文件,并且位于systemroot目录结构中的文件也无法加密。

5.在加密文件夹时,系统将询问是否要同时加密它的子文件夹。如果选择是,那它的子文件夹也会被加密,以后所有添加进文件夹中的文件和子文件夹都将在添加时自动加密。

二、解密文件或文件夹

步骤一:打开Windows资源管理器。

步骤二:右键单击加密文件或文件夹,然后单击“属性”。

步骤三:在“常规”选项卡上,单击“高级”。

步骤四:清除“加密内容以便保护数据”复选框。

同样,我们在使用解密过程中要注意以下问题:

1.要打开“Windows资源管理器”,请单击“开始→程序→附件”,然后单击“Windows资源管理器”。

2.在对文件夹解密时,系统将询问是否要同时将文件夹内的所有文件和子文件夹解密。如果选择仅解密文件夹,则在要解密文件夹中的加密文件和子文件夹仍保持加密。但是,在已解密文件夹内创立的新文件和文件夹将不会被自动加密。

以上就是使用文件加、解密的方法!而在使用过程中我们也许会遇到以下一些问题,在此作以下说明:

1.高级按钮不能用

原因:加密文件系统(EFS)只能处理NTFS文件系统卷上的文件和文件夹。如果试图加密的文件或文件夹在FAT或FAT32卷上,则高级按钮不会出现在该文件或文件夹的属性中。

解决方案:

将卷转换成带转换实用程序的NTFS卷。

打开命令提示符。键入:

Convert [drive]/fs:ntfs

(drive 是目标驱动器的驱动器号)

2.当打开加密文件时,显示“拒绝访问”消息

原因:加密文件系统(EFS)使用公钥证书对文件加密,与该证书相关的私钥在本计算机上不可用。

解决方案:

查找合适的证书的私钥,并使用证书管理单元将私钥导入计算机并在本机上使用。

3.用户基于NTFS对文件加密,重装系统后加密文件无法被访问的问题的解决方案(注意:重装Win2000/XP前一定要备份加密用户的证书):

步骤一:以加密用户登录计算机。

步骤二:单击“开始→运行”,键入“mmc”,然后单击“确定”。

步骤三:在“控制台”菜单上,单击“添加/删除管理单元”,然后单击“添加”。

步骤四:在“单独管理单元”下,单击“证书”,然后单击“添加”。

步骤五:单击“我的用户账户”,然后单击“完成”(如图2,如果你加密用户不是管理员就不会出现这个窗口,直接到下一步) 。

步骤六:单击“关闭”,然后单击“确定”。

步骤七:双击“证书——当前用户”,双击“个人”,然后双击“证书”。

步骤八:单击“预期目的”栏中显示“加密文件”字样的证书。

步骤九:右键单击该证书,指向“所有任务”,然后单击“导出”。

步骤十:按照证书导出向导的指示将证书及相关的私钥以PFX文件格式导出(注意:推荐使用“导出私钥”方式导出,这样可以保证证书受密码保护,以防别人盗用。另外,证书只能保存到你有读写权限的目录下)。

4.保存好证书

注意将PFX文件保存好。以后重装系统之后无论在哪个用户下只要双击这个证书文件,导入这个私人证书就可以访问NTFS系统下由该证书的原用户加密的文件夹(注意:使用备份恢复功能备份的NTFS分区上的加密文件夹是不能恢复到非NTFS分区的)。

最后要提一下,这个证书还可以实现下述用途:

(1)给予不同用户访问加密文件夹的权限

将我的证书按“导出私钥”方式导出,将该证书发给需要访问这个文件夹的本机其他用户。然后由他登录,导入该证书,实现对这个文件夹的访问。

(2)在其也WinXP机器上对用“备份恢复”程序备份的以前的加密文件夹的恢复访问权限

将加密文件夹用“备份恢复”程序备份,然后把生成的Backup.bkf连同这个证书拷贝到另外一台WinXP机器上,用“备份恢复”程序将它恢复出来(注意:只能恢复到NTFS分区)。然后导入证书,即可访问恢复出来的文件了。

WindowsXP中的文件加密功能及其使用

作者:lvvl 来源:赛迪网安全社区

Windows XP文件加密功能强大并且简单易用,因而许多用户都使用它来保护自己的重要文件。但由于大部分用户对该功能了解不足,在使用过程中经常出现问题,在本刊“电脑医院”中我们也频繁地收到读者的求助信,为此,CHIP在这里将特意为您详细介绍有关该功能的使用技巧。

微软在Windows2000中内建了文件加密功能,该功能后来被移植到WinXP中。使用该功能,我们只需简单地单击几下鼠标就可以将指定的文件或者文件夹进行加密,而且在加密后我们依然可以和没加密前一样方便地访问和使用它们,非常方便。而且加密后即使黑客侵入系统,完全掌握了文件的存取权,依然无法读取这些文件与文件夹。

但简单强大的文件加密功能也给许多用户带来了困扰。由于使用简单,许多用户都乐于使用它来保护自己的重要文件,但大部分用户由于缺乏对该功能的真正了解,在使用时泄密、无法解密等问题频繁发生,恰恰被加密的文件往往是重要的文件,影响非常大。为此,笔者特意整理了有关该功能的一些相关知识和使用技巧与您分享。

加密和解密文件与文件夹

Windows2000系列和WinXP专业版及Windows2003的用户都可使用内建的文件加密功能,但前提是准备加密的文件与文件夹所在的磁盘必须采用NTFS文件系统。同时要注意,由于加密解密功能在启动时还不能够起作用,因此系统文件或在系统目录中的文件是不能被加密的,如果操作系统安装目录中的文件被加密了,系统就无法启动。另外,NTFS文件系统还提供一种压缩后用户可以和没压缩前一样方便访问文件与文件夹的文件压缩功能,但该功能不能与文件加密功能同时使用,使用ZIP、RAR等其他压缩软件压缩的文件不在此限。

加密时,只需使用鼠标右键单击要加密的文件或者文件夹,然后选择“属性”,在“属性”对话框的“常规”选项卡上单击“高级”按钮,在“高级属性”对话框上选中“加密内容以保护数据”复选框并确认即可对文件进行加密,如果加密的是文件夹,系统将进一步弹出“确认属性更改”对话框要求您确认是加密选中的文件夹,还是加密选中的文件夹、子文件夹以及其中的文件。而解密的步骤与加密相反,您只需在“高级属性”对话框中清除“加密内容以保护数据”复选框上的选中标记即可(如图1),而在解密文件夹时将同样弹出“确认属性更改”对话框要求您确认解密操作应用的范围。

图1

加密后,用户可以像使用普通文件一样直接打开和编辑,又或者执行复制、粘贴等操作,而且用户在加密文件夹内创建的新文件或从其他文件夹拷贝过来的文件都将自动被加密。被加密的文件和文件夹的名称将默认显示为淡绿色,如您的电脑上被加密的文件和文件夹的名称不是彩色显示,您可以单击“我的电脑|工具|文件夹选项”,然后在“文件夹选项”对话框中单击“查看”选项卡,选中“以彩色显示加密或压缩的NTFS文件”复选框即可。

赋予或撤销其他用户的权限

如果需要,您可赋予其他用户对加密文件的完全访问权限,但要明白,Windows所采用的是基于密钥的加密方案,并且是在用户第一次使用该功能时才为用户创建用于加密的密钥,因此您准备赋予权限的用户也必须曾经使用过系统的加密功能,否则将无法成功赋予对方权限。Windows内建的文件加密功能只允许赋予其他用户访问加密文件的完全权限,而不允许将加密文件夹的权限赋予给其他用户。
要赋予或撤销其他用户对加密文件的访问权限,可用鼠标右键单击已加密的文件,选择“属性”,在“属性”对话框的“常规”选项卡上单击“高级”按钮,在“高级属性”对话框中单击“详细信息”按钮,即可通过“添加”和“删除”按钮添加或删除其他可以访问该文件的用户。

备份密钥

有许多读者在系统发生故障或重新安装系统以后,无法再访问之前他们加密过的文件与文件夹而向本刊“电脑医院”求助。但此时为时已晚,Windows内建的加密功能与用户的账户关系非常密切,同时用于解密的用户密钥也存储在系统内,任何导致用户账户改变的操作和故障都有可能带来灾难,要避免这种情况的发生,您必须未雨绸缪,在使用加密功能后马上备份加密密钥。

备份密钥的操作并不复杂,您只需单击“开始|运行”,键入“certmgr.msc”打开证书管理器,在左边窗口中依次单击控制台,打开“证书-当前用户”下的“个人”中的“证书”,然后在右边窗口中用鼠标右键单击“预期目的”是“加密文件系统”的证书,指向“所有任务|导出”,系统将打开“证书导出向导”指引您进行操作,向导将询问您是否需要导出私钥,您应该选择“导出私钥”,并按照向导的要求输入密码保护导出的私钥,然后选择存储导出后文件的位置即可完成。

建议您将导出的证书存储在系统盘以外的其他磁盘上,以避免在使用磁盘镜像之类的软件恢复系统时将备份的证书覆盖掉。备份后,当加密文件的账户出现问题或重新安装了系统后需要访问或解密以前加密的文件时,您只需要使用鼠标右键单击备份的证书,选择“安装PFX”,系统将弹出“证书导入向导”指引您的操作,您只需要键入当初导出证书时输入用于保护备份证书的密码,然后选择让向导“根据证书类型,自动选择证书存储区”即可完成,完成后就可以访问以前的加密文件了。

指定恢复代理

如果您同时使用多个账户或者与其他用户共用一台电脑,担心更换账户或者其他账户加密的文件出问题,那么您可以考虑指定一个文件故障恢复代理,恢复代理可以解密系统内所有通过内建加密功能加密的文件,一般用于网络管理员在网络上处理文件故障,并能使管理员在职员离职后解密职员加密的工作资料。在Win2000中,默认Administrator为恢复代理,而在WinXP上,如果需要恢复代理则必须自行指定。但需要注意,恢复代理只能够解密指定恢复代理后被加密的文件,所以您应该在所有人开始使用加密功能前先指定恢复代理。

如果您所使用的电脑是企业网络中的,那么您需要联系管理员查询是否已经制定了故障恢复策略,而如果您只是在使用一台单独的电脑,那么您可以按照下面的步骤指定恢复代理。首先,您需要使用准备指定为恢复代理的用户账户登录,申请一份故障恢复证书,该用户必须是管理员或者拥有管理员权限的管理组成员。对于企业网络上的电脑,登录后可以通过上面介绍过的“证书管理器”,在“使用任务”中的“申请新证书”中向服务器申请。而在个人电脑上,您必须单击“开始|附件|命令提示符”,在命令行窗口中键入“cipher /r:c:\efs.txt”(efs.txt可以是任一文件),命令行窗口将提示您输入保护证书的密码并生成我们需要的证书。生成的证书一个是PFX文件,一个是CER文件,先使用鼠标右键单击PFX文件,选择“安装PFX”,通过弹出的“证书导入向导”选择“根据证书类型,自动选择证书存储区” 导入证书。

接下来再单击“开始|运行”,键入“gpedit.msc”打开组策略编辑器,在左边控制台上依次单击“本地计算机策略|计算机配置|Windows 设置|安全设置|公钥策略|加密文件系统”,然后在右边窗口中用鼠标右键单击选择“添加数据恢复代理”(如图2),然后在弹出的“添加数据恢复代理向导”中浏览并选择刚才生成的证书中的CER文件,在键入保护证书的密码后,向导将导入证书,完成指定恢复代理的工作。完成后,在以后需要的时候,只需使用被指定为恢复代理的账户登录,就可以解密系统内所有在指定恢复代理后被加密的文件。

图2

禁止加密功能

在多用户共用电脑的环境下,我们往往通过将其他用户指定为普通用户权限,限制他们使用某些功能,但由于普通用户账户默认允许使用加密功能,因此在一些多用户共用的电脑上经常会带来一些困扰。如果担心电脑上其他用户乱加密磁盘上的文件,您可以设置特定的文件夹禁止被加密,也可以完全禁止文件加密功能。

如果您希望将某个文件夹设置为禁止加密,可以编辑一个文本文件,内容包括“[Encryption]”和“Disable=1”两行,然后命名为“Desktop.ini”,将其放到不希望被加密的文件夹中即可。当其他用户试图加密该文件夹时,系统将提示用户该文件夹加密功能被禁止。但需要注意,您只能使用这种方法禁止其他用户加密该文件夹,文件夹中的子文件夹将不受保护。

如果需要,您也可以完全禁止文件加密功能,在Win2000中,只需使用Administrator登录并运行“secpol.msc”打开策略编辑器,用鼠标右键单击左边控制台上的“安全设置|公钥策略|加密文件系统”,选择“属性”,在属性对话框上清除“允许用户使用文件加密系统(EFS)来加密文件”复选框上的选中标记,然后重新启动电脑即可。而在WinXP上虽然也有相应的选项,但实际上并不能够起作用,您需要通过编辑注册表来禁止文件加密功能。首先单击“开始|运行”,键入“regedit.exe”打开注册表编辑器,依次单击 “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows NT\CurrentVersion\EFS”,再用鼠标右键单击建立一个“DWORD”值,双击新建的值并赋值为“1”,关闭注册表后重新启动电脑。这样,当其他用户试图使用文件加密功能时,系统将提示加密功能已被禁止(如图3)。

图3

防止泄密

由于对文件加密功能缺乏了解,许多读者对该功能是否能够真正发挥作用抱有怀疑态度,而另外一些用户却又因为过分地放心而导致泄密事件频繁发生。首先,对于该功能的加密效果您大可放心,不必因为在您使用加密文件时不需要输入密码而怀疑加密效果,在加密后能够透明地使用恰恰正是该功能的优点。虽然有一些第三方软件曾经成功地破解使用该功能加密的文件,但这种软件暂时对于Windows XP是无效的,而且即使在其他版本的Windows 操作系统上,也是可以避免的。

但您需要小心由于自己的失误引起加密失效,也需要了解该功能的特点。Windows XP内建的文件加密功能与用户的账户是联系在一起的,换言之,如果您的Windows账户没有保护好,密码被其他人获得,那么对方也就可以像您一样登录系统访问加密的文件。另外,当已加密的文件被拷贝或者移动到非NTFS文件系统磁盘上时,文件将被解密。在文件通过网络传输时,也是以明文方式进行传输的。这些您都需要清楚,避免错误操作引起泄密。而最主要的是加密后的文件并不是绝对安全的,虽然可以确保不被读取,但却无法避免被删除。

此外,在加密文件的过程中,系统将把原来的文件存储到缓冲区,然后在加密后将原文件删除。这些被删除掉的文件在系统上并不是不可能恢复的,通过磁盘文件恢复工具很有可能被恢复过来而造成泄密,此时您需要考虑通过其他磁盘安全工具,或者使用系统内建的“cipher”命令对磁盘上的已删除文件进行清除,具体的步骤是,单击“开始|附件|命令提示符”,在命令行窗口中键入“cipher /w C:\foldername”即可清除C盘foldername文件夹中已删除文件残留的碎片,如果不输入文件夹名称则将对整个磁盘进行清理。

疑难排解

当您的Windows登录账户变更而无法访问已加密的文件时,由于用户的账户名称或者密码变更时将无法与原来的加密证书联系上,因而您需要考虑是否在使用其他账户时更改了当前账户的名称或者密码?又或者是管理员进行了这样的操作?如果的确如此,您可以尝试将自己的账户名称和密码更改成原来的,问题应该能够解决。但需要注意,根据微软的说法,改回账户名称与密码的方法在管理员账户上可能无效,而且如果您的账户并不是改变而是被删除后重建,也就是说是一个全新的账户,那么您只能够求助于恢复代理或者导入备份的证书。

如果您已经重新格式化了硬盘、重新安装了系统又或者使用尚未加密文件时的系统盘镜像恢复了系统而导致无法访问加密文件,那么您只能够通过导入自己的证书或者恢复代理的方法来解决问题,这时基本上已经没有其他方法可以帮助您取回文件。另外,Windows XP SP1版后使用了新的加密算法,如果您加密时使用的是Windows XP SP1版本,那么当您尝试挽救数据时也应该使用该版本,或者未来的更新版本,否则在其他版本上乱试,加密文件可能会损毁。

系统安全 深入理解加密文件系统EFS

微软在NTFS4.0及后续版本的文件系统中,捆绑了两个功能强大的工具:压缩文件系统和加密文件系统。这个选项在文件夹的属性-高级里面。是一个单选框。压缩文件系统在这里就不多提了,不过有一点,可能有心的朋友注意得到,就是这两个选项不可以同时选。这个原因很简单,因为不论是加密文件还是压缩文件,我们都是在改变文件,我们通过改变他们的读码框架来加密或者压缩文件。这里可能有人要问,WinRAR为什么可以及加密文件又压缩文件。其实WinRAR加密的方法是在基于WinRAR这个文件压缩系统,而不是基于文件本身。我们还是言归正传。

这里面要提到的一点叫做加密方式。相信有些朋友对Alice和Bob这两个名字非常熟悉,这两个名字最早用于IBM出版的一本图书中,用来解释对称加密和非对称加密。对称加密,简单一点说就是加密所使用的密码和解密所使用的密码是同一个密码。非对称呢,加密使用的和解密是不同的密码。这个不同的密码,一个被称为私钥,另一个就是公钥。从名字上面可以看出来,私钥,是无论如何不会公开的,公钥,则是发布出去的。

详细解释一下,熟悉非对称加密的朋友可以跳过这一段。e.g.Alice要发送一份敏感数据给BOB,显然需要加密。非对称加密,使用两个不同的密码加密和解密。就是说,如果alice的公钥和私钥为一组密码,分别是alice的公钥和alice的私钥。那么,用alice公钥加密的东西只有使用alice的私钥可以解密,对应的,如果使用alice公钥加密的东西,只有alice的私钥可以解开。那么对于bob也是一样。如果我们采用对称加密的方法,也就是加密和解密的过程使用的是一个密码,那么这个密码是无论如何不能被第三方截获的。互联网络,可以截获;电话,可以监听;甚至当面交换,都可以被窃听。所以这是对称加密的一个重大缺陷。如果采用非对称加密,alice和bob都不公开自己的私钥,然后他们在交换信息前,互相交换公钥。这样,alice使用bob的公钥加密alice要给bob的文件,这个使用bob公钥加密过的文件,仅有bob的私钥可以解开。而bob从来没有公开过他的私钥,所以,我们看到,这样的加密,是安全的。这个信息加密解密,交换公钥的过程,就是非对称加密。

解释过非对称加密,我们也可以简单的比较出两者在安全性上的优越性。不过非对称加密一个重要的缺陷,就是运算时间很长,对称加密在工作效率上可能是非对称加密的100-1000倍。所以微软也是在看到这一点后,在EFS中集成了两者的优点。EFS使用了对称加密和非对称加密结合的工作方式,即先生成一个字符串作为密钥采用对称加密方法加密文件,然后,再使用非对称加密加密这个密钥。这个密钥具体位数我记不得了,大约在70位。这里出现一个问题,实际在操作系统中,公钥和私钥是怎么获得的?为什么管理员可以解开所有用户的加密文件?

依照微软的白皮书中解释,加密文件系统中的用户证书的获得,有两种途径,一个是从CA(CertificationAuthority)获得,另一种是在企业级CA失效的时候由本机为自己颁发一个数字证书。这里需要解释的是证书和密钥的关系,证书是密钥的载体,在证书中包含了密钥。这里可能又有人要问,用户的私钥是存放在什么地方?用户的私钥是通过另外一种验证机制实现的,这个在系统层面,日后我会写文章加以阐释。除了这两个密钥,还有一个用于直接加密文件的密钥,这个根据用户自己的SID计算出来的,微软没有公开这方面的信息,还请有心人共同尝试理解其中的工作原理。管理员之所以可以管理所有用户的加密文件,是为了保证系统的稳定,如果每一个用户的文件都只有创建者可以修改,那么计算机可能因此陷入混乱的状态。

近日听闻有些软件可以破解微软的EFS,我本为之兴奋,结果下载后研究了一下,这种软件的工作原理是备份出管理员的帐户信息,通过ERA(紧急恢复代理)实现加密文件的恢复。事实上,如果用户不慎在重新安装系统的时候忘记备份出相应的密钥,那么这个加密过的文件可能永远打不开。这一点不难理解,因为每一次安装操作系统,操作系统会随即生成一个SID号,当然,如果用户的人品足够好,还是可能生成一样的SID号的(开个玩笑)。关于备份管理员账号和密码,可以通过Windows2000及后续版本中内建的忘记密码向导来帮助备份密码。希望可以给大家一些帮助

㈨ 计算方法是什么

计算方法又称“数值分析”。是为各种数学问题的数值解答研究提供最有效的算法。主要内容为函数逼近论,数值微分,数值积分,误差分析等。常用方法有迭代法、差分法、插值法、有限元素法等。现代的计算方法还要求适应电子计算机的特点。数值分析即“计算方法”

㈩ 涉密计算机如何解密

计算机不存在解密的说法。

你说的应该是退出使用的时候用什么做信息消除。如此,应该采用对国家保密局资质的信息消除工具做信息消除。


阅读全文

与计算机解密计算法是什么相关的资料

热点内容
minecraft服务器怎么布置 浏览:306
怎么把安卓的东西转到已激活苹果 浏览:852
停止服务doss命令 浏览:877
u盘占内存但该文件夹为空 浏览:611
服务器怎么更换重生点 浏览:34
收费api调用平台源码 浏览:646
安卓怎么自检病毒 浏览:560
布卡云服务器 浏览:770
程序员是怎么做系统的 浏览:742
燕窝溯源码最大加工厂 浏览:936
黑马程序员第28集 浏览:485
lcd单片机驱动 浏览:647
通达信主力拉升出货指标公式源码 浏览:639
廉洁pdf 浏览:18
批量用修改多个文件夹及子目录 浏览:321
王者每个服务器爆满怎么办 浏览:951
安卓手机如何清除所有的数据 浏览:983
激光打标机加密狗驱动无法启动 浏览:912
硅谷程序员题库 浏览:564
安卓系统怎么开车模式 浏览:944