问题标签 [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.
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”
或者也许有更好的方法。
java - 为什么我的 ElGamal 实现不适用于长文本字符串?
我正在使用 El Gamal 密码系统,我的目标是能够加密和破译长文本序列。
El Gamal 要求明文是整数。我已经使用 Strings 的 .getBytes() 方法将我的字符串变成了 byte[],然后从 byte[] 中创建了一个 BigInteger。加密/解密后,我使用 BigIntegers 的 .toByteArray() 方法将 BigInteger 转换为 byte[],然后从 byte[] 创建一个新的 String 对象。
我使用的是 1035 位密钥,当我使用最多 129 个字符的字符串进行加密/解密时,这非常有效。使用 130 个或更多字符时,我的解密方法产生的输出是乱码。
有人可以建议如何解决这个问题吗?
java - 如何使用 ElGamal 加密/解密文本文件
我正在尝试使用 ElGamal 加密和解密文本文件以进行研究,但似乎无法使其正常工作。我有一组 1kb - 1mb 的文本文件,我使用 512bit 作为我的密钥大小。我已经知道,就像 RSA 一样,ELGamal 不能加密超过其模数的值,所以作为我的初始解决方案,我决定将每个文件分成块(小于其模数)以便我能够加密它幸运的是,这些解决方案适用于加密。我的问题是,当我尝试解密它时,生成的输出不是我期望看到的实际输出。我不知道我的问题的原因是什么,我真的需要在几天内找到解决方案。
为了清楚起见,我将向您展示我的一些代码片段。
我使用以下内容生成了我的密钥对
我通过调用加密
我通过调用解密
这是 encryptDecryptFile(..) 方法的定义
对于复制字节:
对于加密(...)
和解密(..)
Aviran Mondo 的原始代码
我认为这就是您所需要的,如果您想查看完整的源代码,请告诉我。谢谢,
security - El-Gamal 的好的和安全的密钥长度是多少?
El-Gamal 的好的密钥长度是多少?
security - El Gamal 比具有相同模数长度的 RSA 更快?
为什么 El Gamal 比具有相同模数长度的 RSA 快?
smartcard - 智能卡上的 ElGamal
我想知道智能卡/Javacard 是否能够执行 ElGamal 加密?它是否在任何地方实现,即是否有可用于此类目的的 API?
干杯!
c# - 充气城堡错误:无法将 RsaPrivateCrtKeyParameters 类型的对象转换为 ElGamalKeyParameters 类型
我在使用 Bouncy Castle 解密 GPG 文件时遇到困难。我有加密的文件,我有一个私钥和私钥的密码。我可以使用桌面软件 GPG4win Kleopatra 成功解密文件,因此我拥有正确的私钥并且 gpg 文件有效。
但是,当我们的应用程序到达尝试使用 Bouncy Castle 解密数据的代码行时,我收到此错误:
我正在使用与 Kleopatra 相同的私钥解密同一个文件,所以这必须是我可以通过将私钥文件更改为预期格式或在 Bouncy Castle 中设置一些选项来解决的问题。
私钥文件是一个以以下行开头的纯文本文件:
这是解密代码的扁平化版本。抱歉,如果我错过了什么:
异常发生在这一行:
我希望你能给我一些建议让我尝试。我可以提供我可能错过的任何进一步的细节。
谢谢!
cryptography - 充气城堡中的 Elgamal 或 RSA 加密没有占用大量输入
可能重复:
RSA 加密问题 [有效负载数据的大小]
我需要一个系统,在这个系统中,我在充气城堡中使用 ECDSA 对一些数据生成数字签名。& 然后使用相同的签名文本并在充气城堡中使用 Elgamal 或 RSA 进一步加密相同的文本。主要问题是在使用 ECDSA 签署小数据(比如“Hello world”)后,我得到的输出非常大,即 54 字节数字。
现在在签名数据之后,我使用 Elgamal 或 RSA 进行数据加密......所以这里的 RSA 或 Elgamal 没有占用 54 个字节的整个输入字符串......它只需要 32 个字节并且进一步的文本被截断......
我参考过的链接:
ECDSA 签名:
对于 RSA 或 Elgamal: http: //ox.no/posts/rsa-using-bouncycastle
示例代码:
你能给我一些建议吗?
也不是使用 RSA 或 ELgamal .. 我可以自己使用 ECDSA 进行加密?...但据我所知,ECDSA 仅用于数字签名而不是用于加密。此外,如果我们像您在上面所做的那样使用 ECDSA 进行加密......那么我们如何解密数据???
非常感谢..
c - 使用 libgcrypt 和 Elgamal 加密和解密时的数据丢失
我正在使用 Libgcrypt 和 Elgamal 来加密一个字节块,我遇到了 2 个问题:
当我不使用填充并且我的字节块以零字节开始时,我在解密期间丢失了第一个字节;
如果我使用填充,则加密效果很好,但是当我解密时,填充不会被删除。显然第一个零字节仍然存在。
使用 RSA 我遇到了同样的问题:(
我的测试代码在那里:www.tiago.eti.br/storage/post.c 它不使用填充。
要使用填充,您需要更改:
到
并更改加密算法更改:
到
要编译,您需要使用:
我能做些什么来解决它?