c# - .NET 4.0 中大量的私钥加密

标签 c# .net encryption encryption-asymmetric elliptic-curve

在我的场景中,我想使用私钥加密一个非常大的数字 (10^27),然后使用公钥对其进行解密。我遇到的问题是我想使加密文本的大小尽可能小。

我知道 .NET 支持公钥加密 (RSACryptoServiceProvider),但加密文本变得如此庞大。

将私钥视为公钥是否可行?

椭圆曲线密码学会产生较小的输出吗?

最佳答案

首先,如果您想实现 secret 性,您应该始终使用公钥而不是私钥进行加密。 RSA 加密未定义为使用私钥加密,结果可能会有所不同(尤其是应用的填充类型)。

对于直接 RSA 加密,加密消息的大小与模数相同。现在模数应该至少是 2048 位,而你的消息只有 (27/3)*10=90 位。所以 RSA 会有很大的开销,与使用的 key 无关。因此,使用 ECIES 可能会带来显着的好处。

关于c# - .NET 4.0 中大量的私钥加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20903182/

相关文章:

c# - 在C#中不安全代码的上下文中什么是不受信任的程序集

c# - JSON.NET 默默地忽略循环引用并将链中的任意链接设置为 null 以解决它们

c# - 如何以编程方式在 Recurly 中创建和兑换优惠券?

c# - 加密 SQL 连接字符串 c#

java - 如何使用 JNCryptor 加密输入流

c# - 在 Mono .Net Threads 中,线程是粘在周围,还是?

c# - MediatR - 处理查询中的当前用户

c# - 从数组中选择特定数字的概率

.net - 使用 UI 自动化,Winforms 按钮多次调用

java - 有没有办法在php中使用交换加密?