モジュール java.base
パッケージ java.security.spec

クラスECFieldF2m

  • すべての実装されたインタフェース:
    ECField

    public class ECFieldF2m
    extends Object
    implements ECField
    この不変なクラスは、楕円曲線(EC)の標数2の有限体を定義します。
    導入されたバージョン:
    1.5
    関連項目:
    ECField
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      ECFieldF2m​(int m)
      楕円曲線の標数2の有限体(要素数2^m)を、標準基底(normal basis)で作成します。
      ECFieldF2m​(int m, int[] ks)
      楕円曲線の標数2の有限体(要素数2^m)を、多項式基底(polynomial basis)で作成します。
      ECFieldF2m​(int m, BigInteger rp)
      楕円曲線の標数2の有限体(要素数2^m)を、多項式基底(polynomial basis)で作成します。
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      boolean equals​(Object obj)
      この有限体と指定されたオブジェクトとを比較し、両者が等しいかどうかを判定します。
      int getFieldSize()
      体のサイズ(ビット)を返します。この標数2の有限体の場合、その値はmになります。
      int getM()
      この標数2の有限体の値mを返します。
      int[] getMidTermsOfReductionPolynomial()
      多項式基底の場合は既約多項式の中間項の次数を含む整数配列を返し、標準基底の場合はnullを返します。
      BigInteger getReductionPolynomial()
      多項式基底の場合はi番目のビットが既約多項式のi番目の係数に対応するようなBigIntegerを返し、標準基底の場合はnullを返します。
      int hashCode()
      この標数2の有限体に対するハッシュ・コード値を返します。
    • コンストラクタの詳細

      • ECFieldF2m

        public ECFieldF2m​(int m)
        楕円曲線の標数2の有限体(要素数2^m)を、標準基底(normal basis)で作成します。
        パラメータ:
        m - 要素数2^m
        例外:
        IllegalArgumentException - mが正でない場合。
      • ECFieldF2m

        public ECFieldF2m​(int m,
                          BigInteger rp)
        楕円曲線の標数2の有限体(要素数2^m)を、多項式基底(polynomial basis)で作成します。 この体の既約多項式はrpに基づいており、そのi番目のビットが既約多項式のi番目の係数に対応します。

        注: 有効な既約多項式は、3項多項式(X^m+X^k+1、ただしm> k>= 1)または5項多項式(X^m+X^k3+X^k2+X^k1+1、ただしm> k3> k2> k1>= 1)。

        パラメータ:
        m - 要素数2^m
        rp - BigInteger。この値のi番目のビットが既約多項式のi番目の係数に対応する。
        例外:
        NullPointerException - rpがnullである場合。
        IllegalArgumentException - mが正でない場合、あるいはrpが有効な既約多項式を表していない場合。
      • ECFieldF2m

        public ECFieldF2m​(int m,
                          int[] ks)
        楕円曲線の標数2の有限体(要素数2^m)を、多項式基底(polynomial basis)で作成します。 この体の既約多項式はksに基づいており、これには既約多項式の中間項の次数が含まれます。 注: 有効な既約多項式は、3項多項式(X^m+X^k+1、ただしm> k>= 1)または5項多項式(X^m+X^k3+X^k2+X^k1+1、ただしm> k3> k2> k1>= 1)なので、ksは1または3の長さを持つ必要があります。
        パラメータ:
        m - 要素数2^m
        ks - 既約多項式の中間項の次数。 この配列の内容は、後続の変更に影響されないようにコピーされる。
        例外:
        NullPointerException - ksがnullである場合。
        IllegalArgumentException - mが正でない場合、ksの長さが1、3のどちらでもない場合、またはksの各値がm-1 - 1 (両端含む)に収まっていないかそれらの値が降順に並んでいない場合。
    • メソッドの詳細

      • getFieldSize

        public int getFieldSize()
        体のサイズ(ビット)を返します。この標数2の有限体の場合、その値はmになります。
        定義:
        getFieldSize、インタフェース: ECField
        戻り値:
        体のサイズ(ビット)。
      • getM

        public int getM()
        この標数2の有限体の値mを返します。
        戻り値:
        要素数が2^mm
      • getReductionPolynomial

        public BigInteger getReductionPolynomial()
        多項式基底の場合はi番目のビットが既約多項式のi番目の係数に対応するようなBigIntegerを返し、標準基底の場合はnullを返します。
        戻り値:
        多項式基底の場合はi番目のビットが既約多項式のi番目の係数に対応するようなBigInteger、標準基底の場合はnull。
      • getMidTermsOfReductionPolynomial

        public int[] getMidTermsOfReductionPolynomial()
        多項式基底の場合は既約多項式の中間項の次数を含む整数配列を返し、標準基底の場合はnullを返します。
        戻り値:
        多項式基底の場合は既約多項式の中間項の次数を含む整数配列、標準基底の場合はnull。 このメソッドが呼び出されるたびに新しい配列が返される。
      • equals

        public boolean equals​(Object obj)
        この有限体と指定されたオブジェクトとを比較し、両者が等しいかどうかを判定します。
        オーバーライド:
        equals 、クラス:  Object
        パラメータ:
        obj - 比較対象のオブジェクト。
        戻り値:
        objがECFieldF2mのインスタンスであり、かつ両者のmと既約多項式が一致する場合はtrue、そうでない場合はfalse。
        関連項目:
        Object.hashCode()HashMap