Diffie-Hellman 暗号クラス
DH.generate(size, generator=2)Diffie-Hellman 鍵交換の最初のステップである秘密鍵と公開鍵の生成を行ないDH オブジェクトを返す。size は安全な素数のサイズ。単位はビット。generator は1より大きい小さな数で、大抵は2か5。
DH.new(size, generator=2)DH.generate(size, generator) と同じ。
DH.new(str)
DH.new(io)
DH.new()DH オブジェクトを生成する。
compute_key(num)
compute_key(str)
compute_key(bn)Diffie-Hellman 鍵交換の第2ステップ。共有暗号鍵を自分の秘密鍵と相手の公開鍵(num, str, bn)から計算して文字列として返す。これで鍵交換は完了する。
public?公開鍵を持っているかどうか判定する。
private?秘密鍵を持っているかどうか判定する。
to_text人間が読める形式に変換する。
export()
to_pem()
to_s()鍵ペアを PEM 形式で出力する。
to_derDER 形式に変換する。
public_key公開鍵を複製して DH オブジェクトとして返す。
params_ok?パラメータ p と g が安全かどうかを判定する。
generate_key!新たに公開鍵と秘密鍵を生成しなおす。
paramsパラメータの入った Hash オブジェクトを返す。
sign(digest, data)
verify(digest, sign, data)OpenSSL::PKey::PKey で定義された sign と verify を呼び出すことができるが、 Diffie-Hellman 暗号の性質から、呼び出しても全て PKeyError になる。
p
g
pub_key
pub_key=
priv_key
priv_key=