当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby DH类用法及代码示例


本文简要介绍ruby语言中 OpenSSL::PKey::DH类 的用法。

Diffie-Hellman key 交换协议的实现基于有限域中的离散对数,与 DSA 的构建基础相同。

Diffie-Hellman 参数的访问器方法

Kernel.p

Diffie-Hellman 参数的素数( OpenSSL::BN )。

DH#g

Diffie-Hellman 参数的生成器( OpenSSL::BN )g。

DH#pub_key

与私钥匹配的每会话公钥( OpenSSL::BN )。这需要传递给 DH#compute_key

DH#priv_key

每个会话的私钥, OpenSSL::BN

key 交换示例

# you may send the parameters (der) and own public key (pub1) publicly
# to the participating party
dh1 = OpenSSL::PKey::DH.new(2048)
der = dh1.to_der
pub1 = dh1.pub_key

# the other party generates its per-session key pair
dhparams = OpenSSL::PKey::DH.new(der)
dh2 = OpenSSL::PKey.generate_key(dhparams)
pub2 = dh2.pub_key

symm_key1 = dh1.compute_key(pub2)
symm_key2 = dh2.compute_key(pub1)
puts symm_key1 == symm_key2 # => true

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 DH类。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。