问题标签 [elgamal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3008 浏览

c++ - 如何将字符串转换为 ZZ 数字?

我正在使用NTL 库来实现 ElGamal 加密/解密算法。我已经知道它正在工作,但算法希望将消息转换为整数,以便对其进行加密。
因此,如果我输入一个像 1234 这样的数字,一切正常,但是我将如何能够将 C++ 字符串(std::string)转换为 ZZ 数字,然后从该 ZZ 数字转换回字符串?

ZZ 它是一个代表大量数字的类。
例如:18287348238476283658234881728316274273671623781254124517353

所以基本上我希望以“Hello World”为例,逐个字符地运行它并获取字符的ascii代码,所以我会得到一个数字:“72 101 108 108 111 32 87 111 114 108 100”
并且然后我需要将此数字转换回字符串“Hello World”

或者也许有更好的方法。

0 投票
4 回答
1946 浏览

java - 为什么我的 ElGamal 实现不适用于长文本字符串?

我正在使用 El Gamal 密码系统,我的目标是能够加密和破译长文本序列。

El Gamal 要求明文是整数。我已经使用 Strings 的 .getBytes() 方法将我的字符串变成了 byte[],然后从 byte[] 中创建了一个 BigInteger。加密/解密后,我使用 BigIntegers 的 .toByteArray() 方法将 BigInteger 转换为 byte[],然后从 byte[] 创建一个新的 String 对象。

我使用的是 1035 位密钥,当我使用最多 129 个字符的字符串进行加密/解密时,这非常有效。使用 130 个或更多字符时,我的解密方法产生的输出是乱码。

有人可以建议如何解决这个问题吗?

0 投票
2 回答
10992 浏览

java - 如何使用 ElGamal 加密/解密文本文件

我正在尝试使用 ElGamal 加密和解密文本文件以进行研究,但似乎无法使其正常工作。我有一组 1kb - 1mb 的文本文件,我使用 512bit 作为我的密钥大小。我已经知道,就像 RSA 一样,ELGamal 不能加密超过其模数的值,所以作为我的初始解决方案,我决定将每个文件分成块(小于其模数)以便我能够加密它幸运的是,这些解决方案适用于加密。我的问题是,当我尝试解密它时,生成的输出不是我期望看到的实际输出。我不知道我的问题的原因是什么,我真的需要在几天内找到解决方案。

为了清楚起见,我将向您展示我的一些代码片段。

我使用以下内容生成了我的密钥对

我通过调用加密

我通过调用解密

这是 encryptDecryptFile(..) 方法的定义

对于复制字节:

对于加密(...)

和解密(..)

Aviran Mondo 的原始代码

我认为这就是您所需要的,如果您想查看完整的源代码,请告诉我。谢谢,

0 投票
2 回答
4223 浏览

security - El-Gamal 的好的和安全的密钥长度是多少?

El-Gamal 的好的密钥长度是多少?

0 投票
2 回答
2317 浏览

security - El Gamal 比具有相同模数长度的 RSA 更快?

为什么 El Gamal 比具有相同模数长度的 RSA 快?

0 投票
1 回答
3012 浏览

open-source - 免费实施 Elgamal

我正在寻找 Elgamal 加密算法的免费实现。据我所知,尽管它是一种广为人知的算法,但似乎只有两种免费实现:

OpenSSL、beecrypt、Nettle 没有实现 Elgamal。

列表中是否缺少任何其他免费且经过良好测试的 Elgamal 实现?

0 投票
2 回答
245 浏览

smartcard - 智能卡上的 ElGamal

我想知道智能卡/Javacard 是否能够执行 ElGamal 加密?它是否在任何地方实现,即是否有可用于此类目的的 API?

干杯!

0 投票
0 回答
2845 浏览

c# - 充气城堡错误:无法将 RsaPrivateCrtKeyParameters 类型的对象转换为 ElGamalKeyParameters 类型

我在使用 Bouncy Castle 解密 GPG 文件时遇到困难。我有加密的文件,我有一个私钥和私钥的密码。我可以使用桌面软件 GPG4win Kleopatra 成功解密文件,因此我拥有正确的私钥并且 gpg 文件有效。

但是,当我们的应用程序到达尝试使用 Bouncy Castle 解密数据的代码行时,我收到此错误:

我正在使用与 Kleopatra 相同的私钥解密同一个文件,所以这必须是我可以通过将私钥文件更改为预期格式或在 Bouncy Castle 中设置一些选项来解决的问题。

私钥文件是一个以以下行开头的纯文本文件:

这是解密代码的扁平化版本。抱歉,如果我错过了什么:

异常发生在这一行:

我希望你能给我一些建议让我尝试。我可以提供我可能错过的任何进一步的细节。

谢谢!

0 投票
0 回答
1152 浏览

cryptography - 充气城堡中的 Elgamal 或 RSA 加密没有占用大量输入

可能重复:
RSA 加密问题 [有效负载数据的大小]

我需要一个系统,在这个系统中,我在充气城堡中使用 ECDSA 对一些数据生成数字签名。& 然后使用相同的签名文本并在充气城堡中使用 Elgamal 或 RSA 进一步加密相同的文本。主要问题是在使用 ECDSA 签署小数据(比如“Hello world”)后,我得到的输出非常大,即 54 字节数字。

现在在签名数据之后,我使用 Elgamal 或 RSA 进行数据加密......所以这里的 RSA 或 Elgamal 没有占用 54 个字节的整个输入字符串......它只需要 32 个字节并且进一步的文本被截断......

我参考过的链接:

ECDSA 签名:

http://mytenpennies.wordpress.com/2009/04/18/using-bouncycastle-net-library-for-elliptical-curve-cryptography/#comment-30

对于 RSA 或 Elgamal: http: //ox.no/posts/rsa-using-bouncycastle

示例代码:

你能给我一些建议吗?

也不是使用 RSA 或 ELgamal .. 我可以自己使用 ECDSA 进行加密?...但据我所知,ECDSA 仅用于数字签名而不是用于加密。此外,如果我们像您在上面所做的那样使用 ECDSA 进行加密......那么我们如何解密数据???

非常感谢..

0 投票
1 回答
715 浏览

c - 使用 libgcrypt 和 Elgamal 加密和解密时的数据丢失

我正在使用 Libgcrypt 和 Elgamal 来加密一个字节块,我遇到了 2 个问题:

  1. 当我不使用填充并且我的字节块以零字节开始时,我在解密期间丢失了第一个字节;

  2. 如果我使用填充,则加密效果很好,但是当我解密时,填充不会被删除。显然第一个零字节仍然存在。

使用 RSA 我遇到了同样的问题:(

我的测试代码在那里:www.tiago.eti.br/storage/post.c 它不使用填充。

要使用填充,您需要更改:

并更改加密算法更改:

要编译,您需要使用:

我能做些什么来解决它?