RSA算法(加密和解密)如何在现实生活中发挥作用?

时间:2016-05-30 17:55:13

标签: security encryption rsa

我理解RSA算法如何使用公式,我们如何生成变量。我只想知道如何在现实生活中解释RSA。例如,如果我们有2个人想要使用RSA算法进行通信。

您可以向Alice和Bob解释。

2 个答案:

答案 0 :(得分:1)

公钥加密允许通信而不共享密钥。

Alice可以创建密钥对并使公钥可用,而无需保密。 Bob可以使用公钥加密消息并将其发送给Alice。只有Alice可以解密该消息。请注意,Alice无法使用密钥对向Bob发送消息。

使用这种方法的一种方法是让Bob向Alice的公钥加密的Alice发送对称密钥,例如AES密钥,然后他们可以用对称密钥和对称密钥加密等方式向对方发送消息。作为AES。

一个问题是鲍勃怎么知道他可以信任爱丽丝的公钥,也许是因为爱丽丝伪装成爱丽丝而被发送给他的? PKI(公钥基础结构)可用于提供公钥作为由受信任的第三方签署的证书的一部分,CA(证书颁发机构)和大多数操作系统都包含可信CA的列表。

请注意,使用公钥加密会产生成本。建议的密钥大小通常为1024到2048位,消息必须填充到密钥大小,消息大小限制为密钥大小,加密/解密比对称加密慢几个数量级。这意味着公钥加密通常仅在需要公钥/私钥对时使用。

非对称密钥加密(例如:RSA)并不比对称密钥加密更安全(例如:AES)。

答案 1 :(得分:0)

RSA是一个用于公钥加密的系统。它主要用于保护敏感数据,这些数据通常可以通过Internet等不安全的网络发送。

以其三位创作者Ron Rivest,Adi Shamir和Leonard Adleman命名,于1977年在Massachussetts Institute of Technology开发。

Asymmetric Cryptography使用两个不同的数学链接键

  • 公钥 - 可与任何人共享
  • 私钥 - 必须保密

其中一个密钥用于加密消息,而另一个用于解密消息。这有助于确保电子通信和数据存储的机密性。

它与素数有关系。它的安全性取决于对两个独立的大数字的乘积的极大数量进行分析的难度。

在RSA中,在Rabin-Miller Primality Test的帮助下生成了两个素数。在将这两个数相乘后,得到第三个数,它是两个数的模数。这个新号码提供了公钥和私钥之间的链接。

以位为单位的此数字的长度称为key number。公钥由模数和极大的主指数(通常为65537)组成。另一方面,私钥由模数和秘密指数组成,使用Extended Euclidean Algorithm计算。

实施例

  

Alice通过选择两个素数来生成RSA密钥: p = 11 q = 13 。模量n = p×q = 143。 nφ(n)=(p-1)x(q-1)= 120的总数。她选择7作为她的RSA公钥e并使用扩展欧几里德算法计算她的RSA私钥,结果为103.

这是一个有趣的视频,可能能够更好地解释它

https://www.youtube.com/watch?v=wXB-V_Keiu8

参考

https://en.wikipedia.org/wiki/RSA_(cryptosystem)