我想在 openssl 中更改 diffiehellman 的 P 和 G 值

I want to change the values of P and G for diffiehellman in openssl

由于参数生成可能是一个昂贵的过程,因此通常会提前完成一次,然后在多次密钥交换中使用同一组参数。有什么办法可以修改p和g之前设置吗?

如果你使用openssl命令,你可以试试asn1...

# cat dh.conf
asn1=SEQUENCE:dh_key

[dh_key]
p=INTEGER:0x97
g=INTEGER:5

# openssl dh -in newkey.der -inform der -text -check
    DH Parameters: (7 bit)
    prime: 97 (0x61)
    generator: 5 (0x5)
p value is not a safe prime
-----BEGIN DH PARAMETERS-----
MAYCAWECAQU=
-----END DH PARAMETERS-----

以上实现了简单的 dh 数学运算,即

> Alice Bob wants to change key...
> Let p =97 and g=5
> and XA=36 and XB=58
> so YA=g^XA mod p = 50
>    YB=g^XB mod p = 44
> thus Alice:K=(YB) ^XA mod p=75 
>      Bob:  K=(YA) ^XB mod p=75