24小时接单的黑客网站

破解教程,破解软件,破解补丁,破解密码,破解软件下

rsa2048破解(rsa2048破解要几年)

本文导读目录:

RSA加密解密过程

为了这道题把好几年前学的东西重新看了一遍,累觉不爱。。。

不清楚你了不了解RSA过程,先跟说一下吧

随机产生两个大素数p和q作为密钥对。此题:p=13,q=17,n =p*q=221

随机产生一个加密密钥e,使e 和(p-1)*(q-1)互素。此题:e=83

公钥就是(n,e)。此题:(221,83)

通过e*d mod (p-1)*(q-1)=1生成解密密钥d, ,n与d也要互素。此题:(d*83)≡1mod192

私钥就是(n,d)。此题:(221,155)

之后发送者用公钥加密明文M,得到密文C=M^e mod n

接受者利用私钥解密M=C^d mod n

求解d呢,就是求逆元,de = 1 mod n这种形式就称de于模数n说互逆元,可以看成de-ny=1,此题83e-192y=1.

用扩展的欧几里得算法。其实就是辗转相除

此题:

192=2*83+26

83=3*26+5

26=5*5+1

求到余数为1了,就往回写

1=26-5*5

=26-5*(83-3*26)

=(192-2*83)-5*(83-3*(192-2*83))

=16*192-37*83

则d=-37,取正后就是155.

记住,往回写的时候数不该换的一定不要换,比如第二步中的26,一定不能换成(83-5)/3,那样就求不出来了,最终一定要是192和83相关联的表达式。还有,最好保持好的书写格式,比如第一步2*83+26时第二步最好写成3*26+5而不是26*3+5,要不步骤比较多的话容易乱

RSA2048密钥的vTrus SSL证书怎么样?

目前公钥普遍都是加密位数:2048、哈希签名算法:SHA256,互联网颁发的可信SSL证书都是如此,目前没有低于2048位的。如果是1位,那肯定被破解也还是非常容易的事情,但签发机构不会签发,因为只能选择2048位或者ECC算法,并且机构证书中级根也不会小于并且更为严谨。

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比特的密钥。

rsa算法的攻击方法有哪些

1 密码破译者知道的信息

密文:可以通过窃听来获取。

数E和N:公钥是公开的信息,因此密码破译者知道E和N。 

2 密码破译者不知道的信息

明文:需要破译的内容。

数D:私钥至少D是不知道的信息。

其他:密码破译者不知道生成密钥对时所使用的p、q和L

二 通过密文来求明文

RSA的加密过程如下。

密文=明文的E次方 mod N

由于密码破译者知道密文、E和N,那么有没有一种方法能够用E次方 mod N之后的密文求出原来的明文呢?如果没有 mod

N的话,即:

密文=明文的E次方

通过密文求明文的难度不大,因为这可以被看作是一个求对数的问题。

但是,加上 mod N之后,求明文就变成了求离散对数的问题,这是非常困难的,因为人类还没有发现求离散对数的高效算法。

三 通过暴力破解来找出D

只要知道数D,就能够对密文进行解密。因此,可以逐一尝试有可能作为D的数字来破译RSA,也就是暴力破解法。暴力破解的难度会随着D的长度增加而变大,当D足够长时,就不可能在现实的时间内通过暴力破解找出数D。

现在,RSA中所使用的p和q的长度都在1024比特以上,N的长度为2048比特以上。由于E和D的长度可以和N差不多,因此要找出D,就需要进行2048比特以上的暴力破解。要在这样的长度下用暴力破解找出D是极其困难的。

勒索病毒是由rsa和什么加密

WannaCryp 勒索病毒,采用 AES 算法加密文件,并使用非对称加密算法 RSA 2048 加密 AES 的密钥,每个文件使用一个随机密钥。

RSA 公钥算法的安全性,建立在一个数学难题之上:大整数的因子分解。目前公开的已做到 RSA Number 的分解规模是 768 bits。

分解1024 bit 以上的RSA Number, 目前属于一个巨大的工程学难题,要有大规模的计算能力才能够进行下去。

小规模的 team, 限于财力也就只能分解 768 bits 这个量级的,分解 RSA-768,采用了数百个 CPU Cores,运行约 2 年时间。

分解 RSA-512,对个人用户相对简单。用 GNFS, 这里面主要的筛法时间按 3000 cpu-hours 计算,30 个 CPU Cores,在一个星期之内可以完成。

根据 Wiki 公开的论文,已完成的几个标志性 RSA Number 分解如下:

从历史看来,如果计算能力每1年能够翻1倍;差不多每10年,传统计算机的计算能力扩大一千倍(2^10 = 1024),能推进约256 bit(80 digits )。 可以估计,用目前的gnfs 算法,加上足够的人力财力支撑,最乐观的估计,分解RSA 2048,也就是40-50年内的事情。

但是,科学技术上爆发性的突破,往往能超越常规。这里还有一个变数,就是实用型的量子计算机什么时候有突破进展。

1994年,Peter Shor 提出量子计算机的因子分解算法,被称为 Shor 算法。当时人们对于制造出实际可用的量子计算机的预期并不乐观。

目前,实验室里的量子计算机,只能分解很简单的两位整数的因子,比如 21 = 3*7。

实用量子计算机,按最乐观的估计,至少在十年以后才可能出现。所以,RSA-2048 当前是不可破解的。

不同长度的RSA算法,其时间有什么关系。

我设计过RSA256,RSA512,RSA1024,RSA2048这四种,RSA后面代表你的N的位数(多少bit),位数越大,加密强度越大,需要破解需要的时间也就越长。用到的蒙哥马利模幂和这么大位的数需要很大的计算量。

我有切身体会,我当时的代码是C语言的。256位的可能5分钟就可以加密一组数据,但是2048位的得半个小时。这还是在我知道N,E,D,M的前提下。如果不知道这些参数去解密,需要很长时间的!

  • 评论列表:
  •  蓝殇亡鸦
     发布于 2022-05-28 13:35:24  回复该评论
  • A 可用于数字签名,方案是用 ( a ) 式签名, ( b ) 式验证。具体操作时考虑到安全性和 m信息量较大等因素,一般是先 作 HASH 运算。 RSA 的安全性。 RSA的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理 论上的证明,因为没有证明破解R
  •  寻妄愚季
     发布于 2022-05-28 05:57:30  回复该评论
  • 数字来破译RSA,也就是暴力破解法。暴力破解的难度会随着D的长度增加而变大,当D足够长时,就不可能在现实的时间内通过暴力破解找出数D。现在,RSA中所使用的p和q
  •  颜于铃予
     发布于 2022-05-28 04:02:07  回复该评论
  • 到恢复。设P为信息明文,两个加密密钥 为e1和e2,公共模数是n,则: C1 = P^e1 mod n C2 = P^e2 mod n 密码分析者知道n、e1、e2、C1和C2,就能

发表评论:

Powered By

Copyright Your WebSite.Some Rights Reserved.