首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >非对称加密和解密

非对称加密和解密
EN

Stack Overflow用户
提问于 2013-04-28 17:11:42
回答 1查看 9.4K关注 0票数 4

假设我在这个站点上使用算法来加密和解密具有公钥-私钥的数据:

CodeProject上的Public Key RSA Encryption in C# .NET

现在,假设某人使用我的公钥使用另一种算法加密了他的数据,并将其发送给我。使用不同的算法(就像网站上的算法),我能用我的私钥解密信息吗?或者这是不可能的,因为算法是不同的?

我的观点是,假设使用的密钥是正确的,如果使用不同的加密算法,最终结果是否总是相同的?

有没有一些标准的方法来加密信息,使其可以在不同的机器上解密,也许是不同的编程语言?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-28 17:54:33

有一些讨论正在进行,但这里是我回答这些问题的谦虚尝试:

使用不同的算法(就像网站上的算法),我能用我的私钥解密信息吗?或者这是不可能的,因为算法是不同的?

你肯定不会能够解密数据的。通常,您需要算法和密钥的完全匹配。然而,可以不同的是:用于加密/解密的平台、操作系统、硬件、语言或程序。这是因为算法充当具有定义良好的规范的公共契约,并且只要所有公共API呈现相同的结果,实现就可以不同。

我的观点是,假设使用的密钥是正确的,如果使用不同的加密算法,最终结果是否总是相同的?

几乎每次都会得到不同的结果(几乎是说,我只是不知道有任何这样的算法)。您需要完全匹配算法和必需的密钥。

有没有一些标准的方法来加密信息,使其可以在不同的机器上解密,也许是不同的编程语言?

是的,例如RSA,保护你的私钥的安全,并分享你的公钥。这是HTTPS首先要做的。每个拥有公钥的人都可以解密用私钥加密的数据。

或者,您可以使用AES,这是一种使用单个密钥进行加密/解密的对称算法。这是HTTPS要做的第二件事。如果您只在受信任的各方之间共享密钥,则两者都可以加密和解密(但其他人都不能,因为他们没有密钥)。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16261342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档