是否可以使用椭圆曲线加密来加密数据?

问题描述:

到目前为止,我只看到它用于数字签名和密钥协议协议。它可以像RSA一样用于实际加密数据吗?有没有这方面的图书馆?是否可以使用椭圆曲线加密来加密数据?

编辑:

我需要类似RSA的东西。用接收者公钥对数据进行加密,以便随后用他的私钥对其进行解密。

我知道ECDH可以用来发送一个秘密值给某人,但是你不会决定发送什么数据。与使用ECDH的“常规”DH不同,由此产生的秘密值总是相同,因为它仅取决于密钥对。我想我可以使用这个值作为对称密码的一个密钥,并加密另一个由我选择的密钥,并用该密钥加密数据(如果我想支持多个接收者)。这是一个好方法吗?

+0

这是一个有趣的查询。您使用ECC进行密钥传输的最后方法是什么? – Raj 2011-07-20 12:28:31

它可以与ElGamal风格的构造一起使用来加密位。一个更现代的例子是IES方案,在你的情况ECIES。 Bouncycastle支持这个与IESEngine类。特别是first constructor做你似乎试图做。

+0

这看起来不错。谢谢。 – stribika 2010-06-23 01:27:32

与RSA一样,ECC也用于加密数据。实际上,这种模式用于密钥协议。

与RSA相似,ECC相对较慢,因此使用ECC协商会话密钥并在选择一个之后切换到对称密码更为常见。

+1

如何像RSA一样使用?我知道使用ECC的所有密钥协议都是密钥协议,而RSA通常用于密钥传输。 – 2010-06-23 00:47:26

+1

你的意思是ECDH?我不这实际上加密数据。你实际上并不决定你发送的秘密数据是什么。它依赖于两个关键对。我需要像RSA加密电子邮件那样的选择随机对称密钥的方法,并使用一个或多个公钥将其加密。我将编辑这个问题以使其更清楚。 – stribika 2010-06-23 00:55:53

椭圆曲线Elgamal加密方案将用于此目的。它使用公钥加密和相应的私钥来解密密文。