【发布时间】:2014-01-21 02:17:16
【问题描述】:
在我的场景中,我想使用私钥加密一个非常大的数字 (10^27),然后再使用公钥对其进行解密。我遇到的问题是我希望加密文本的大小尽可能小。
我知道 .NET 支持公钥加密 (RSACryptoServiceProvider),但加密文本变得如此庞大。
将私钥视为公钥是否可行?
椭圆曲线密码学会产生更小的输出吗?
【问题讨论】:
-
密文是非常大的数字,还是别的什么? RSA加密的结果 - 或者在你的情况下解密?您是否混淆了公共和私人,或者这是一个签名? - 将是一个介于 0 和模数之间的数字,并且可能没有明显的冗余,因此不可压缩。我认为 ECC 或 DSA 不会产生任何影响:情况相同。任何好的对称加密数据都无法与随机数据区分开来,因此也无法压缩:您必须在加密之前进行压缩。
-
@Rup,“大数字”是我要加密的!
-
@Rup 评论的第一部分是有道理的。 ECC 使用小得多的密钥大小,因此差异会相当大。也没有人谈论压缩。
-
@Artem,使用@
确保 Rup 收到有关评论的通知...请说明您是否只想对给定代码保密,或者您是否想实现身份验证等等。
标签: c# .net encryption encryption-asymmetric elliptic-curve