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

时间:2019-07-11 09:53:59

标签: ios openssl cryptography diffie-hellman public-key-exchange

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

1 个答案:

答案 0 :(得分:0)

如果使用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