首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TLS中的静态Diffie-Hellman

TLS中的静态Diffie-Hellman
EN

Cryptography用户
提问于 2019-06-25 08:01:11
回答 1查看 1.4K关注 0票数 4

静态Diffie-Hellman (密码套件中有DH的名字,但没有DHEDH_anon )要求服务器拥有一个包含DH公钥的证书。

当使用静态DH密钥交换时,服务器提供包含由证书颁发机构(CA)签名的固定Diffie-Hellman参数的证书(本例中不使用ServerKeyExchange消息)。

静态DH密码套件示例:

代码语言:javascript
复制
TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA     
TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA
TLS_DH_DSS_WITH_AES_128_CBC_SHA      
TLS_DH_RSA_WITH_AES_128_CBC_SHA  
TLS_DH_DSS_WITH_AES_256_CBC_SHA256   
TLS_DH_RSA_WITH_AES_256_CBC_SHA256

Diffie-Hellman密钥交换,Alice和Bob公开同意使用模数p = 23和基g=5(它是本原根模23),其中p是素数,g是本原根模p。我的问题是。

证书pg中是否提供了固定的Diffie-Hellman参数?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2019-06-25 09:00:38

这已在RFC 3279中(重新)定义:“Internet X.509公钥基础设施证书和证书吊销列表(CRL)配置文件的算法和标识符”。对于DH而言,第2.3.3节:“Diffie-Hellman密钥交换密钥”适用于:

下面是ASN.1模块(它是从X9.42复制的,所以这至少是一个副本的副本):

DomainParameters ::=序列{

代码语言:javascript
复制
        p       INTEGER, -- odd prime, p=jq +1
        g       INTEGER, -- generator, g
        q       INTEGER, -- factor of p-1
        j       INTEGER OPTIONAL, -- subgroup factor
        validationParms  ValidationParms OPTIONAL }

ValidationParms ::=序列{

代码语言:javascript
复制
        seed             BIT STRING,
        pgenCounter      INTEGER }

因此,它至少是pgq,但是协因子q通常设置为1。这个集合是为OID 1.2.840.10046.2.1 ("dhpublicnumber")定义的。

但是,当我使用openssl命令行尝试这一点时,我只得到了两个参数,pg。事实证明,openssl正在使用PKCS#3代替:

DHParameter ::=序列{

代码语言:javascript
复制
        prime    INTEGER, -- p
        base     INTEGER, -- g
        privateValueLength INTEGER OPTIONAL }

它已为OID 1.2.840.113549.1.3.1 ("dhKeyAgreement")定义。

所以是的,pg当然在里面,其中的参数集取决于OID,它定义了公钥的密钥类型,以及实现它的组织的选择。对于很少被使用的东西来说,这是很多选择。

票数 6
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/71557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档