问题标签 [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.
encryption - 将 256 字节块更改为数字以进行加密
我正在研究 RSA 和 ElGamal 加密系统,但我被困住了。我已经编写了这些算法,我知道它是如何工作的。如何将 256 字节的文件块更改为 [1, 2^2048] 范围内的数字?因为我不能将 256 字节作为参数传递给生成的公钥进行加密。
c - 如何使用 OpenSSL 生成原始根模?
我需要为 ElGamal 密码系统生成原始根模 n,其中 n - 是大素数。如何使用 OpenSSL 生成它?
有没有像primitive_root(...)这样的特殊函数?我没有找到这样的东西。
python-3.x - 使用 PyCrypto 实现 El Gamal 加密-解密的 Python 实现溢出错误
我目前正在使用 PyCrypto 库为学术作业实施 ElGamal 加密,但出现以下错误:
溢出错误:无法将“int”放入索引大小的整数中
我不确定我是否错误地阅读了文档,但我基于此页面:
如果有人有任何正确实现的代码示例,我将不胜感激。
java - 在 Java 中使用椭圆曲线的 El Gamal
出于学术目的,我正在寻找用 Java 中的椭圆曲线(用于加密和解密)实现 ElGamal 的可能性。我想知道这是否可以通过仅使用 Java 标准库来实现,还是只能通过使用第三方库来实现?
对于这个问题,我发现的只是至少有 5 年历史的线程。我希望从那以后有些事情发生了变化。
java - 使用椭圆曲线 ElGamal 加密 AES 密钥
有爱丽丝和鲍勃。我想实现以下过程:
- Alice 使用 AES 加密文本并生成密钥
- Alice 使用带有 El Gamal 的 Elliptic Curves 使用 Bobs 公钥加密此密钥
- Alice 将加密文本和加密密钥发送给 Bob
- Bob 用他的私钥解密密钥
- Bob 用解密后的密钥解密文本
- 完毕
我正在使用 bouncycastle 的 ECElGamalEncryptor 类。我的问题是,据我了解,此类使用公钥加密椭圆曲线上的一个点,但我的 AES 密钥不是 ECPoint,而是十六进制。
假设我有这个用于 AES 加密的 128 位密钥:
这就是我到目前为止所拥有的:
所以我能够初始化 ECElGamalEncryptor 并用公钥加密 ECPoint Q。但实际上,我想加密 AES 密钥,我不知道我现在要做什么。
encryption - 为什么说 RSA 比 ElGamal 加密更快?
对于 RSA,每个明文块都需要用私钥取幂: p^e (mod n) 对于 ElGamal,每个明文块都乘以密钥 s*m (mod n)
所以我认为 ElGamal 在加密方面会比 RSA 更快。但是大多数在线文章都说 RSA 比 ElGamal 快,这是为什么呢?
java - 使用 Bouncy Castle 的 ElGamal 同态乘法
长话短说:我需要使用ElGamal
加密对编码数字执行乘法运算。
我目前正在使用Kotlin
并OpenJDK 1.8
找到了一个名为 Bouncy Castle 的 JCE 提供者。它提供ElGamal
标准内的加密JCE API
。但是,我根本不知道如何对从中得到的加密消息执行乘法运算。
python - ElGamal 签名:使用 Python 重新计算私钥
对于大学的一个项目,我进行了以下设置:
- 公钥(p、g、h)
- 两个密文文件:(c1, c2) & (c3, c4)
- 上述文件的签名文件:(r1, s1) & (r2, s2)
目标是恢复明文。
我从签名文件中认识到,给定的 r 值是相同的(r1 = r2 = r)。这导致重新计算使用的私钥的可能性见。
基本上我需要两种算法:
k ≡ (m1 - m2)(s1 - s2)^-1 mod (p-1)
k ≡ (m1 / (s1 - s2) - m2 / (s1 - s2)) mod (p-1)
接着
x ≡ (m1 − k*s1)r^−1 mod (p−1)
x ≡ (m1 / r - k * s1 / r) mod (p-1)
所以我认为编写一个实现链接中提到的算法的python程序应该不是那么难。但我被卡住了。由于某些原因,我没有从我的计算中得到正确的值。也许有人可以在这里轻推我一下?
c - Elgamal BN_exp() 操作卡住
我正在尝试实施Elgamal操作。常见的第一个是两个 BIGNUM 之间的乘法。第二个是两个 BIGNUM 的幂(例如h:=g^x, c_1:=g^y
)。当我这样做时BN_exp()
,C程序卡住了。为什么?此外,有什么解决问题的建议吗?
java - 明文(不是数字)的 El Gamal 加密不工作
下面是我用于加密明文(不是数字)的 JAVA 代码。代码包括加密和解密。
解密后的文本与明文不匹配,我在做什么?
如果我BigInteger m = new BigInteger(msg.getBytes());
用此代码替换我的代码有效BigInteger m = new BigInteger(msg);