问题标签 [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.
java - 椭圆曲线 ElGamal Java 实现
是否有具有密钥生成、加密和解密功能的 ElGamal 椭圆曲线密码系统的简单实现(使用 Java BigInteger);一个可以用来在讲座中向大学生解释的东西?
例如,Paillier 加密函数可以在不失一般性的情况下编码为:
其中包含优化 g=(1+n),使得密文 c = (1 + mn) r^n mod n^2。
请不要建议 Java 7 原生实现或 BouncyCastle 实现,因为我不需要真实世界的符合 JCA 的复杂实现。
谢谢。
java - 不使用证书的加密 RMI 通信
我需要在同一台主机上创建两个 java 进程以安全通信。我不需要对流程进行身份验证,因此我不想使用证书。
我想在服务器和客户端生成一个随机密钥,使用 Elgamal 在进程之间交换密钥;跨进程建立公共对称密钥;然后安全地通信。
据我所知,这可以通过实现 RMIServerSocketFactory 和 RMIClientSocketFactory 接口来建立如上所述的对称密钥来完成。
是否已经有一个实现来做到这一点?
或者有没有办法配置 SslRMIServerSocketFactory 和 SslRMIClientSocketFactory 开始使用 ElGamal 作为密钥交换协议
ElGamal 是 RSA 的首选,因为 ElGamal 将为每次握手生成随机对称密钥,而 RSA 每次都会生成静态密钥。
openssl - 有没有人使用 OpenSSL 甚至在内部实现了 ElGamal?
我发现OpenSSL没有实现ElGamal。但是,目前我需要使用OpenSSL来实现ElGamal。我只是想知道是否有人以前做过。这可能有助于我减轻工作量。如果没有,在OpenSSL中实现ElGamal是否可行?我曾尝试修改 DSA 的源代码以实现ElGamal,这会产生一些可能无法轻易发现的麻烦吗?
java - 当我想用 elgamal 解密时,如何使用字符串而不是文件?
我想使用 ElGamal 加密。我可以用 a 做到这一点File
,但我不知道如何用 a 做到这一点String
。
像这样:
}
我不想使用sPrFile
. 我想使用String
变量。我的钥匙是这样的:
java - 生成带有充气城堡的 dsa/elgamal 密钥对,在 GPG 中导入时不会出错
我创建了一个小程序来使用 Bouncy Castle 1.47 API 生成 DSA / El Gamal PGP 密钥环。密钥生成非常顺利,没有错误。我使用装甲输出将私钥和公钥导出到文件中,当我尝试使用 GPG(确切地说是 KGpg)导入生成的私钥时,出现以下错误:
单击“确定”后,它告诉我只处理了 1 个密钥。看起来它只使用了 DSA 密钥,因为在屏幕上它显示为 1024/0。
**编辑** 我刚刚尝试在 Windows 上打开 PGP 10.1.0 中的密钥,它也给了我一个错误“密钥环包含一个坏的(损坏的)PGP 数据包。”
我正在使用的代码如下所示,第一个是 Utility 类,第二个是调用它来创建 Key 的程序。
生成的输出是 2 个文件“secret.asc”和“public.asc”如果我尝试在 GPG 中导入“secret.asc”,我会收到错误,并且不会导入 El Gamal 子密钥。
有谁知道这有什么问题?
c# - ElGamal C# 实现
我想实现 ElGamal 加密。我的学校工作需要这个,但是当我想要解密时,最后一步总是 0,因为(b/Math.Pow(a,x))%primenumber总是小于 1。
这是密钥生成:
这是加密功能:
这是我的解密功能:
java - 让 GPG 解密在 Java 中工作(Bouncy Castle)
首先让我说我对这一切都非常陌生。我想要做的是在 Java 中使用 gpg 来解密加密文件。
我成功完成的事情:
让一位同事使用我的公钥和他的私钥加密文件并成功解密。
走了另一条路
让另一位同事尝试解密不适合他的文件:失败(如预期)
我的密钥是这样生成的......
(gpg --version 告诉我我使用的是 1.4.5,我使用的是 Bouncy Castle 1.47)
gpg --gen-ley
选择选项“DSA 和 Elgamal(默认)”
填写其他字段并生成密钥。
该文件是使用我的公钥和另一个人的密钥加密的。我想解密它。我编写了以下 Java 代码来完成此操作。我正在使用几种已弃用的方法,但我不知道如何正确实现使用非弃用版本所需的工厂方法,所以如果有人对我应该使用的那些方法的实现有想法,那将是不错的奖金。
因此,当我运行此代码时,我了解到我的密钥的算法和格式如下:
算法:DSA 格式:PKCS#8
然后它在最后一行中断:
原因:java.security.InvalidKeyException:在 org.bouncycastle.jcajce.provider.asymmetric.elgamal.CipherSpi.engineInit(Unknown Source) 在 org.bouncycastle.jcajce.provider.asymmetric.elgamal.CipherSpi 处传递给 ElGamal 的未知密钥类型。 engineInit(Unknown Source) at javax.crypto.Cipher.init(DashoA13*..) at javax.crypto.Cipher.init(DashoA13*..) ... 还有 8 个
我在这里接受很多建议,从“不要使用 gpg,改用 x”到“不要使用充气城堡,改用 x”到介于两者之间的任何建议。谢谢!
encryption - Elgamal 加密和解密
如果游戏通过 Elgamal 发送加密数据并且您拥有 (pgy) 而游戏应该发送 a=g^k mod p 和 b=(msg)*y^k mod p,那么您将收到 (a,b) 和收到的 msg 是十六进制形式,例如 w/e ...................... 这只是示例(不是真正的十六进制)
...我怎么知道a在哪里,b在哪里?反正有认识他们吗?所以我可以解密它们。注意:我有(pgy)哪个游戏使用
python - 如何将 ElGamal 密钥导出到文本文件?
我一直致力于加密字符串并将其显示为 QR 码(在对字符串进行 base64 编码之后)。
我想使用 PyCrypto 中的 ElGamal 私钥-公钥加密模块进行加密,但问题是它没有将密钥保存到文本文件的导出功能。我错过了什么吗?如果没有,是否有一种聪明的方法可以导出它,或者我应该看看其他东西?
PS。使用 ElGamal 而不是 RSA 的原因是我可以使密钥小于 1024 字节,这使得二维码更小、更简单。
python - 如何在 ezPyCrypto 中使用 ElGamal 加密
我遇到了一个不错的加密模块ezPyCrypto,用于 python 的 PyCrypto 模块。在描述中,它说用户可以在 RSA 和 ElGamal 加密之间指定,但我不知道我应该在代码中指定的位置(此处为 API)。
有没有其他人管理过这个或对 ezPyCytpo 有任何经验?任何帮助将不胜感激。
这是我正在谈论的描述:
特征:
- ezPyCrypto 让您:
- 生成、导出和导入公钥和私钥
- 轻松加密和解密字符串
- 可选择将加密数据创建为电子邮件友好文本
- 签署和验证字符串(包括文件)
- 使用密码保护您的私钥
- 创建“流”,用于通过安全套接字发送数据
- 选择您喜欢的任何公钥大小(推荐 2048 位)
- 在 RSA 和 ElGamal 之间选择公钥,在IDEA、DES3、Blowfish、ARC4、IDEA 之间选择会话密钥
- 使用 256 位会话密钥和针对常见 RSA 和 ElGamal 攻击的防御措施,让任何试图侵犯您隐私的人感到非常沮丧,让您在安全的舒适中休息。