php rsa算法,php中RSA加密,明文超长,需要分段加密该怎么做?

用户投稿 109 0

关于“php_rsa算法”的问题,小编就整理了【4】个相关介绍“php_rsa算法”的解答:

php中RSA加密,明文超长,需要分段加密该怎么做?

这方面的话我不是很了解,一般来说,加密分为两个部分,一个是非对称加密,一个是对称加密,使用对称加密加密正文信息,使用非对称加密加密对称加密的密钥,然后发送加密数据(消息摘要和数字签名就不讨论了),这是正规的数据加密策略,对称加密默认支持大数据分段加密策略,你只需要从接口中完成加密即可,而且对称加密速度比非对称加密快很多,如果你需要使用这个策略建议使用AES。

如果你不愿意使用对称加密,只愿意使用AES加密,那你就必须丧失速度了,而且自己处理分段加密,因为RSA加密通常是117个字节就要分段(这个长度可能和密钥长度有关,我是用的接口是117),你需要自己把数据变成N个117字节的数据段来完成加密,解密也需要自己完成字节拼装。详细还是建议你去后盾人平台去看看视频教学吧,那里面有的,讲的很清楚。

RSA体制密钥的生成及其加密、解密算法分别是什么?

 RSA体制密钥的生成:  1. 选择两个大素数,p 和q 。    2. 计算: n = p * q (p,q分别为两个互异的大素数,p,q 必须保密,一般要求p,q为安全素数,n的长度大于512bit ,这主要是因为RSA算法的安全性依赖于因子分解大数问题)。有欧拉函数 (n)=(p-1)(q-1)。    3. 然后随机选择加密密钥e,要求 e 和 ( p - 1 ) * ( q - 1 ) 互质。    4. 最后,利用Euclid 算法计算解密密钥d, 满足de≡1(mod φ(n))。其中n和d也要互质。数e和n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任何人知道。 加密、解密算法: 1. 加密信息 m(二进制表示)时,首先把m分成等长数据块 m1 ,m2,..., mi ,块长s,其中 2^s <= n, s 尽可能的大。    2. 对应的密文是:ci ≡mi^e ( mod n ) ( a )    3. 解密时作如下计算:mi ≡ci^d ( mod n ) ( b ) RSA 可用于数字签名,方案是用 ( a ) 式签名, ( b )式验证。

rsa算法的安全性基于什么?

rsa算法的安全性基于大整数因子分解问题。1994年,Shor算法的提出威胁到了RSA算法的安全。RSA算法是1977年由罗纳德·里维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。 目前,RSA的一些变种算法已被证明等价于大数分解。不管怎样,分解n是最显然的攻击方法。现在,人们已能分解140多个十进制位的大素数。因此,模数n必须选大些,视具体适用情况而定 。

举例说明rsa算法的安全性是由什么决定的?

RSA加密算法是非对称加密算法意味着其加密秘钥和解密秘钥是不相同的,加密秘钥称为公钥,解密秘钥称为私钥。我们一般用(n,e)来表示公钥,用(n,d)来表示私钥,其中n是两个大素数p、q的乘积,即n=pq。若n的比特位数为2048位,我们便称此RSA算法是2048位的。由于RSA算法的安全性取决于n分解的困难性,所以n的位数越大,算法越安全,当前RSA2048及以上被认为是安全的

到此,以上就是小编对于“php_rsa算法”的问题就介绍到这了,希望介绍关于“php_rsa算法”的【4】点解答对大家有用。

抱歉,评论功能暂时关闭!