问题标签 [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 投票
1 回答
221 浏览

cryptography - 模算术和半 elgamal 加密

我正在实现已在 PVSS 中使用的半 ELGamal 密码系统(来自研究论文)功能。不幸的是,我无法解密,因为它已在算法中描述。

这是初始化阶段:

选择一个安全素数 p 使得 p-1=2q 其中 q 也是素数,然后创建一个循环群 G 并让 g 成为该群的随机生成器。在组中选择一个随机 x(私钥)并让 y = g^x(公钥)。我只是将算法初始化如下:

现在让 s(秘密)为 23,我们计算我们的 es(加密的秘密):

为了解密 es,我将 es 提高到 x(私钥)的倒数,我应该返回 g ^ s,假设 ds 是解密的值:

问题就在这里, ds 不等于 g ^ s 但理论上应该是因为:

回想一下,我们将 s 加密为:

我们知道

所以,

鉴于,

因此,我希望得到与 g^s (131 ^ 23 mod 233) 相同的结果,它必须是 182,而我得到的 ds 结果是 116。

我在做什么有什么问题吗?

0 投票
0 回答
382 浏览

matlab - 如何在matlab中使用消息哈希计算签名?

我在维基百科页面的帮助下实现了 Elgamal 数字签名算法。http://en.wikipedia.org/wiki/ElGamal_signature_scheme

但是现在我对如何使用消息的哈希进行计算感到困惑?

该算法适用于 m(消息),但我们必须使用
H(m) 来计算 s = (H(m)-xr)k^-1 (mod p-1)

m = 7
哈希(m) 512 = F05210C5B4263F0EC4C3995BDAB458D81D3953F354A9109520F159DB1E8800BCD45B97C56DCE90A1FC27AB03E0B8A9AF8673747023C406269374116DF6

0 投票
1 回答
1006 浏览

java - 转换明文以执行 elgamal 加密

嗨,我正在用 java 编写一个程序来测试 elgamal 加密的变体,但是我的问题不是encryption/decryption链本身,而是如何对给定的输入执行操作:文本文件。我有一个包含一些单词的文本文件(例如内容可以是:)"Hello world, this is a test",我需要对它们执行数字运算,如下所示:

密文=(消息* y)mod p

哪里yp是两个biginteger。我尝试了这个转换链:(一次读取一个字符串):

字符串->十六进制->十进制

然后执行加密操作,然后反之:

十进制->十六进制->字符串

但这并不总是有效(我目前正在调查这个问题)。固定的。

我的问题是,有更好的方法来做到这一点吗?我正在阅读有关byte array's 的信息,但我不确定如何使用它们。

[如果需要,我可以发布加密/解密链的示例]

0 投票
2 回答
252 浏览

security - Java Card:这个操作可以实现吗?

我是智能卡和 Java 卡的新手。我计划实现 ElGamal 密钥生成算法的变体。找资料不容易,能不能在Java Card上计算出这一步呢?

  1. 找到大于数字 x 的最小素数(约 2048 位)
  2. 确定数字 g 是否是原始根 mod p
  3. 模幂,大数算术(约 2048 位)

我知道可以在智能卡上生成 RSA 密钥,但是生成的各个步骤(例如查找素数)是否也可以?如果没有,是否有其他类型的安全令牌可以做到这一点?我打算使用 NXP J3D081 卡。

0 投票
2 回答
669 浏览

cryptography - JavaCard中的BigInteger减法

我正在尝试在非常有限的技术条件下进行概念验证。我的问题是:如何有效地减去 Java Card 中的大整数(表示为字节数组)?.

现在,细节使这项任务变得棘手。我可以使用一张智能卡。机型为飞天JavaCOS A22,运行Java Card 2.2。对于完整的细节,Java Card 允许使用非常受限的 Java API 子集(即,没有int、没有char,当然也没有BigInteger),但它确实支持一系列可以在此列表中详述的加密原语.

特别是,我的任务是在卡片上实现经典的 ElGamal。到目前为止,我找到了两个相关的回复。在第一个中,Maarten 指出 ElGamal 不符合标准,因此需要实现该功能。在这个答案中,thotheolh基于相同的原则共享了指向Java Card 2.2 中 DiffieHellman 实现的链接:由于它不受本机支持,因此它利用了 RSA 的功能。

逻辑是无缝的:RSA、ElGamal 和 DiffieHellman 依赖于相同的基本操作 $a^b mod c$。基于 thotheolh 的代码,我已经成功实现了密钥生成。加密发生在卡外,所以这不是我关心的问题。但解密需要特定的变体。对于解密 $b=p-1-x$,其中 $p$ 和 $x$ 都是 BigIntegers。这就是我卡住的地方:如何有效地计算 $p-1-x$?

0 投票
1 回答
803 浏览

java - (BouncyCastle 错误:min 可能不大于 max)使用 java 实现 El-Gamal 算法

我正在尝试在系统中实现 El-Gamal 加密算法。我刚刚了解了该算法,并在互联网上查找了代码以获得实现它的想法。我在互联网上找到了以下代码并给了我这个奇怪的错误:

这是代码段:

我对密码学很陌生,这可能很愚蠢。如果这个问题太愚蠢,我很抱歉。并提前感谢。

0 投票
0 回答
1936 浏览

python - python 2.7中elgamal算法的基本示例

我正在尝试在 python 2.7 中实现 El Gamal 的基本示例。解密中有一些我无法解决的错误。

它的解密步骤应该是:e^-d * c mod p

任何帮助表示赞赏。


请参阅解决方案的副本或简而言之此处(另请参阅关于计算效率的评论)

0 投票
1 回答
954 浏览

c++ - 使用 ElGamal 加密/解密图像文件

我正在尝试使用 C++ 中的 ElGamal 加密和解密图像文件。它必须使用 ElGamal 加密。我想同时保存加密文件和恢复文件。我将 Crypto++ 库用于加密/解密部分。这是我到目前为止所拥有的。

我被困在加密和解密部分。任何帮助将不胜感激!

0 投票
1 回答
609 浏览

cryptography - 使用 elgamal 密码系统加密的文件大小是多少?

使用椭圆曲线加密一个 1mb 的普通文本文件后,elgamal 加密文件的大小是多少?

我得到一个 250mb 的加密文件大小?与正常标准相差多少?

0 投票
1 回答
285 浏览

c# - Bouncy Castle El Gamal 字节 [] C# 的键

由于解密速度更快,我将我的代码从 RSA 更改为 ElGamal。

所以我现在第一次使用 BouncyCastle,但我不知道如何转换我的密钥

每个到一个字节[](字符串也可以)

我找到了一个类的解决方案都继承了“AsymmetricKeyParameter”:

但这仅适用于 PrivateKey。我找不到类似的方法是使用 public_key

我需要一个 String 或 byte[] 来压缩、加密、保存和发送密钥。

-

提前谢谢你的帮助。