diffie-hellman相关内容

Java Diffie-Hellman密钥交换

我正在尝试执行代码以执行Diffie-Hellman密钥交换。我从在线示例中获取了代码(现在忘记了)。 我必须导入bouncycastle.jar,我假设它会一直执行直到执行。 我的代码: package testproject; import java.math.BigInteger; import java.security.KeyPair; import ja ..
发布时间:2020-09-23 01:05:02 Java开发

ByteArray中的ECDiffieHellmanPublicKey(使用ECDiffieHellman NamedCurves)

我正在使用通讯nodejs-> c#服务器. 我需要确保它们之间的连接安全,因此我选择使用ECDiffieHellman作为密钥交换机制(nodejs支持它).我有一些问题...只是我的知识不足,所以我上了一节课,现在我可以生成和导出密钥,因为base64和nodejs接受c#密钥没有问题,但是另一方面c#...赢了甚至都不用自己的钥匙... error System.Security.Crypt ..
发布时间:2020-07-22 18:38:16 C#/.NET

如何在.netcore / Linux中实现Diffie Hellman

ECDiffieHellmanCng ->不支持平台 ECDiffieHellmanOpenSsl -> PublicKey.ToByteArray()->不支持平台 这里的问题基本上是相同的(未回答)别人,7个月前 如何在Linux上对ECDiffieHellmanOpenSsl的公钥进行序列化和反序列化? 如果可以的话,我想避免拉入第三方部门驯服提供的类。 解决方案 ..
发布时间:2020-05-31 20:16:04 C#/.NET

BouncyCastle Java API和OpenSSL生成的ECDH机密不同

我正在尝试使用椭圆曲线加密.我需要同一件事的两种实现,一种在Java中,一种在C中.我正在使用通过曲线 secp256k1 生成的两对密钥对它们进行测试.当我用Java生成派生秘密时,我总是得到与OpenSSL不同的数字. Java代码: /* privateKey and peerPublicKey are generated with the following parameter ..
发布时间:2020-05-21 02:48:34 Java开发

OpenSSL使用固定值生成Diffie Hellman密钥

根据该文档: https://wiki.openssl.org/index.php/Diffie_Hellman#Using_the_Low_Level_APIs 使用Diffie Hellman的低级API(需要执行组密钥协议). 为简单起见,我需要为Diffie Hellman p和g值提供固定值,现在我使用函数DH_generate_parameters_ex,但是使用这些选项的 ..
发布时间:2020-05-21 02:35:22 其他开发

如何拒绝OpenSSL客户端中的弱DH参数?

当前,只有当服务器选择的DH参数的密钥长度小于768位(在源中进行硬编码)时,客户端模式下的OpenSSL才会停止握手. 在我的客户端中,如果服务器选择的DH参数的密钥长度小于2048位,我想停止握手.首选方式是通过API进行设置,例如OpenSSL公开的选项设置. 是否可以使用公共API设置最小密钥长度? 解决方案 是否可以使用公共API设置最小密钥长度? 是的(或 ..
发布时间:2020-05-21 02:21:59 其他开发

有人可以告诉我如何使服务器选择ECDHE_ *上的ECDH_ *密码吗?

我正在使用RSA密码对证书进行签名,并使用 SSL_CTX_set_tmp_ecdh_callback ()api设置密钥交换的ECDH参数.服务器总是最终选择TLS_ECDHE_RSA_ *密码套件.如果我让客户端仅在clientHello中发送TLS_ECDH_ *密码套件,则服务器将断开连接,指出“无共享密码". 有人可以告诉我如何使服务器选择ECDHE_ *上的ECDH_ *密码吗? ..
发布时间:2020-05-21 02:19:01 其他开发

将python long/int转换为固定大小的字节数组

我正在尝试在python中实现RC4和DH密钥交换.问题是我不知道如何将python long/int从密钥交换转换为RC4实现所需的字节数组.有没有简单的方法可以将long转换为所需长度的字节数组? 更新:忘记了我要处理的数字是768位无符号整数. 解决方案 我没有进行任何基准测试,但是此食谱“对我有用". 简短版本:使用'%x' % val,然后使用unhexlify.但是 ..
发布时间:2020-05-04 03:44:56 Python

为什么本站点的ECC-DH对称密钥与OpenSSL不同

我正在使用(本网站) Javascript库和OpenSSL Ruby来计算Elliptic Curve Diffie Hellman的对称密钥。 但是,根据我的结果,OpenSSL Ruby只生成一个密钥,与具有X和Y对称密钥的网站不同。我感到困惑,因为我的OpenSSL对称密钥与网站上的那些x和y中的任何一个都不匹配。 我使用的对称(共享密钥)密钥 secp224r1 曲线: ..
发布时间:2019-05-24 20:45:17 前端开发

DHGEX在Java 8下使用2048位密钥失败,但成功使用1024位密钥

我正在使用JSCH 0.1.53连接到远程SSH服务器,该服务器使用1024位RSA密钥。当我们也使用1024位RSA密钥时,我们能够成功连接到远程服务器,但是当我们生成更强大的2048位密钥时,我们就无法连接了。我们收到一条错误消息,上面写着“素数大小必须是64的倍数,且只能在512到2048之间”,而且这个消息来自对DHGEX.java(Diffie-Hellman Group EXchang ..
发布时间:2019-01-08 12:01:40 Java开发

确定Diffie-Hellman“参数”。 Java中TLS握手的长度

我想与服务器建立HTTPS连接,如果我使用 非临时DH密钥交换,我想知道 对于该连接的参数是什么。实际上,我真的不在乎它是不是短暂的 。 我正在寻找的是能够建立连接然后警告 如果连接使用“弱”DH参数。这是我 可以在连接时检查的东西吗?或者是由密码套件本身 定义的DH参数集(或者更多 具体地,这些参数的长度)? 例如,Qualys社区线程有一个SSLLabs认为“弱”的 ..
发布时间:2019-01-08 11:59:49 Java开发

TLS 1.2 ECDHE_RSA签名

我目前正在开发Java TLS服务器。我正在尝试让以下CipherSuite工作:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA 当我使用openssl s_client测试它时,在ServerKeyExchange消息之后出现以下错误: 140735242416208:错误:1414D172:SSL 例程:tls12_check_peer_sigalg:错误的 ..
发布时间:2018-12-27 18:50:45 Java开发

如何在java 8中将DH密钥大小扩展到2048

我读了很多帖子说在java 8中可以将DH密钥大小扩展到2048.他们说可以通过更改以下值来从系统属性: jdk.tls.ephemeralDHKeySize 到2048.我试图弄清楚在哪里以及如何做到这一点并找不到。我在哪里可以找到这个变量或属性?哪个文件?路径?我正在使用Windows。 解决方案 这是系统属性,因此您可以通过 -Djdk进行设置.tls.ephemeralDHKey ..
发布时间:2018-12-04 12:25:13 Java开发

使用Diffie-Hellman算法的String到PublicKey

我有一个公钥字符串(128字节到十六进制处理)由我的客户端给出。我需要使用私钥和公钥由客户端生成共享密钥。将字符串转换为公用密钥时,我得到下面的异常。我尝试解码/编码字节,没有改进。我有以下代码。 //这是一个示例键。 私有静态最后字符串PUB_KEY = “0DC1B7102DE3F6785A284ABFCA1822A6B59C947B5F2FAAE” + “672D8EE29C3D ..
发布时间:2017-08-18 04:51:32 Java开发

SSL密钥交换加密技术

解决方案 从思科的文档: 修正Diffie-Hellman: 这是一个Diffie-Hellman密钥交换,其中 服务器的证书包含 Diffie- Hellman公共参数 由证书颁发机构 (CA)签名。也就是说,公钥 证书包含 Diffie-Hellman公钥参数。 客户端在 证书中提供其Diffie-Hellman 公钥参数,如果需要客户端验证 ,或者在密钥交换 ..
发布时间:2017-08-17 22:34:42 开发方法