ras加密算法属于,RAS算法的基本思想?

用户投稿 216 0

关于“ras加密_php”的问题,小编就整理了【3】个相关介绍“ras加密_php”的解答:

RAS算法的基本思想?

RSA算法是一种非对称加密算法,于1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。

RSA算法在公开密钥加密和电子商业中被广泛使用,该算法涉及三个参数,n、e1、e2。

RSA公开密钥密码体制。所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。

在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然秘密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。

正是基于这种理论,1978年出现了著名的RSA算法,它通常是先生成一对RSA 密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。这就使加密的计算量很大。为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的DES或IDEA对话密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要。

什么是RAS算法?

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 )

ras密码如何计算?

RAS(Rivest-Shamir-Adleman)密码是一种非对称加密算法,它使用公钥和私钥来加密和解密数据。下面是RAS密码的计算过程:

选择两个大质数p和q,计算它们的乘积n=p*q,n就是公钥。

计算欧拉函数φ(n)=(p-1)*(q-1)。

选择一个整数e,1<e<φ(n),且e与φ(n)互质,e就是公钥中的加密指数。

计算d,使得d*e mod φ(n)=1,d就是私钥中的解密指数。

将公钥(n,e)公开,私钥(n,d)保密。

加密数据时,将明文m转换为整数M,计算密文C=M^e mod n。

解密数据时,将密文C计算出明文m,m=C^d mod n。

需要注意的是,RAS密码的安全性取决于质数p和q的大小和随机性。一般情况下,p和q都应该是至少几百位的大质数,以保证密码的安全性。

到此,以上就是小编对于“ras加密_php”的问题就介绍到这了,希望介绍关于“ras加密_php”的【3】点解答对大家有用。

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