我从供应商那里收到 TripleDes 或 RSA 格式的加密数据。
当我去解密这些数据时,我需要我的供应商提供什么信息才能做到这一点?
私钥和公钥都可以吗?
那么,仅用于加密的公钥有什么用?
我从供应商那里收到 TripleDes 或 RSA 格式的加密数据。
当我去解密这些数据时,我需要我的供应商提供什么信息才能做到这一点?
私钥和公钥都可以吗?
那么,仅用于加密的公钥有什么用?
使用 RSA,如果要加密,则需要该算法的公钥,它可能具有这种格式 (e,n) 或 (n,e),即 e 和 n 两个数字,由一些数学计算(包括扩展-欧几里得和模块化操作)供应商必须完成。如果你想解密,你需要一个自己创建的私钥和一个用你的公钥加密的消息。
假设 Alice 想要将 RSA 加密的数据传输给 Bob。Alice 需要 Bob 计算算法的私钥和公钥。Bob 将公钥发送给 Alice,她使用该公钥加密数据,并将 RSA 加密的数据发送给 Bob,Bob 使用私钥对其进行解密。如果他们都想传输数据,那么每个人都应该进行这些计算,导致 Alice 为她收到的消息创建一个公钥和一个私钥,而 Bob 为他收到的消息创建一个公钥和私钥。
使用 TDES,线路的两侧需要相同的密钥。Alice 定义了一个私钥 K,她通过安全方式将其发送给 Bob,以便每个人使用 C = TDES-encrypt(M,K) 和 M = TDES-decrypt(C,K) 对其消息 M 进行 TDES 加密和 TDES 解密)。
有时会发生,没有安全的方法来发送 TDES 私钥,因此您的供应商可能会使用 RSA 向您发送 TDES 密钥,使用 RSA 加密,这样如果您有 RSA 的公钥,您将有权解密消息并找到您将用于通信的 TDES 密钥。
如果您想了解有关这两种加密算法如何工作的更多详细信息,维基百科链接Vittorio Jimmy Cozzolino给您的似乎很合适。
RSA
如果您的供应商向您发送使用 RSA 加密的数据 - 那么在他们这样做之前 - 您需要向他们发送您的公钥(这是公开的 - 因此可以向世界公开)。他们将使用您的公钥加密数据并将其发送给您。由于只有你拥有公钥对应的私钥,所以只有你自己可以解密。所以基本上你需要一个你自己的 PubKey-PrivKey 对才能完成
3-DES
他们需要(单独)向您发送用于使用 3-DES 加密数据的密钥。如果其他人掌握了密钥,他们也可以解密数据。因此,他们需要在单独的安全通道中向您发送密钥。
关于 RSA,实际上你可以做不同的事情:
您可以在此处找到更多信息:http://en.wikipedia.org/wiki/RSA_(algorithm)。
三重DES只是DES算法在不同密钥下的连续应用。您可以在此处找到有关它的更多信息:
http://en.wikipedia.org/wiki/Triple_DES
与 RSA 的区别在于 DES 是对称密钥算法而不是公钥算法。
这只是对问题的概述,需要数小时来解释有关这些算法的所有内容及其工作原理。