Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > opensslライブラリ > OpenSSL::PKey::EC::Groupクラス

class OpenSSL::PKey::EC::Group

クラスの継承リスト: OpenSSL::PKey::EC::Group < Object < Kernel < BasicObject

要約

楕円曲線から定義される群を表すクラスです。

楕円曲線暗号のパラメータとしての役割をはたします。

目次

特異メソッド
new
インスタンスメソッド
== eql? asn1_flag asn1_flag= cofactor curve_name degree generator order point_conversion_form point_conversion_form= seed seed= set_generator to_der to_pem to_text

特異メソッド

new(obj) -> OpenSSL::PKey::EC::Group[permalink][rdoc]
new(sym, p, a, b) -> OpenSSL::PKey::EC::Group

楕円曲線から定義される群を表すオブジェクトを生成します。

引数の種類と個数によって挙動が異なります。

引数が1つの場合は、シンボル、OpenSSL::PKey::EC::Group オブジェクト、 文字列のいずれかを渡すことができます。

引数にシンボルを渡した場合は対応する群を返します。以下の4つを 指定できます。

この方法で生成された Group オブジェクトは不完全です。

OpenSSL::PKey::EC::Group オブジェクト を渡した場合はそれを複製したオブジェクトを返します。

文字列を渡した場合は、PEM もしくは DER 形式のデータとみなして データを読み込み、オブジェクトを生成します。

曲線名文字列を渡した場合は、その曲線で定義される 群を表すオブジェクトを返します。

引数が4つの場合は sym で :GFp_simple もしくは :GF2m_simple を指定し、 それと p, a, b という 3 つの整数で定義される 楕円曲線から定義される群を返します。

[PARAM] obj:
Groupオブジェクト生成のためのデータ(シンボル、Group, 文字列のいずれか)
[PARAM] sym:
Group を定義するためのシンボル
[PARAM] p:
整数(OpenSSL::BN)
[PARAM] a:
整数(OpenSSL::BN)
[PARAM] b:
整数(OpenSSL::BN)
[EXCEPTION] OpenSSL::PKey::EC::Group::Error:
オブジェクトの生成に失敗した場合に発生します。 曲線名が不正である場合などに発生します。

インスタンスメソッド

self == other -> bool[permalink][rdoc]
eql?(other) -> bool

自身が other と等しいときは true を返します。

[PARAM] other:
比較対象の OpenSSL::PKey::EC::Group オブジェクト
asn1_flag -> Integer[permalink][rdoc]

自身に設定された ASN1 フラグを返します。

[SEE_ALSO] OpenSSL::PKey::EC::Group#asn1_flag=

asn1_flag=(flags)[permalink][rdoc]

自身に ASN1 フラグを設定します。

現在利用可能なフラグは以下の通りです。

[SEE_ALSO] OpenSSL::PKey::EC::Group#asn1_flag

cofactor -> OpenSSL::BN[permalink][rdoc]

余因子を返します。

[EXCEPTION] OpenSSL::PKey::EC::Group::Error:
余因子の取得に失敗した場合に発生します
curve_name -> String | nil[permalink][rdoc]

曲線の名前を文字列で返します。

名前がない場合は nil を返します。

degree -> Integer[permalink][rdoc]

群の定義の元となっている体の要素を 表現するのに必要なビット数を返します。

generator -> OpenSSL::PKey::EC::Point[permalink][rdoc]

群の生成元を返します。

order -> OpenSSL::BN[permalink][rdoc]

生成元の位数を返します。

[EXCEPTION] OpenSSL::PKey::EC::Group::Error:
位数の取得に失敗した場合に発生します
point_conversion_form -> Symbol[permalink][rdoc]

点のエンコーディング方式を返します。

以下のいずれかを返します。

詳しくは X9.62 (ECDSA) などを参照してください。

[EXCEPTION] OpenSSL::PKey::EC::Group::Error:
得られたエンコーディングが未知の値であった 場合に発生します。

[SEE_ALSO] OpenSSL::PKey::EC::Group#point_conversion_form=

point_conversion_form=(sym)[permalink][rdoc]

点のエンコーディング方式を設定します。

以下のいずれかを設定します。

詳しくは X9.62 (ECDSA) などを参照してください。

[PARAM] sym:
設定する方式(Symbol)

[SEE_ALSO] OpenSSL::PKey::EC::Group#point_conversion_form

seed -> String | nil[permalink][rdoc]

seed を返します。

seed が設定されていない場合は nil を返します。

[SEE_ALSO] OpenSSL::PKey::EC::Group#seed

seed=(s)[permalink][rdoc]

seed を設定します。

[PARAM] s:
seed(文字列)
[EXCEPTION] OpenSSL::PKey::EC::Group::Error:
seedの設定に失敗した場合に発生します。

[SEE_ALSO] OpenSSL::PKey::EC::Group#seed

set_generator(generator, order, cofactor) -> self[permalink][rdoc]

群のパラメータを設定します。

[PARAM] generator:
生成元(OpenSSL::PKey::EC::Point オブジェクト)
[PARAM] order:
生成元の位数(OpenSSL::BN オブジェクト)
[PARAM] cofactor:
余因子OpenSSL::BN オブジェクト
[EXCEPTION] OpenSSL::PKey::EC::Group::Error:
設定に失敗した場合に発生します
to_der -> String[permalink][rdoc]

自身を DER 形式の文字列に変換します。

[EXCEPTION] OpenSSL::PKey::EC::Group::Error:
変換に失敗した場合に発生します。
to_pem -> String[permalink][rdoc]

自身を PEM 形式の文字列に変換します。

[EXCEPTION] OpenSSL::PKey::EC::Group::Error:
変換に失敗した場合に発生します。
to_text -> String[permalink][rdoc]

自身を人間に可読な形式の文字列に変換します。

[EXCEPTION] OpenSSL::PKey::EC::Group::Error:
変換に失敗した場合に発生します。