java.lang.Object
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^
m
のm
。
-
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
-
hashCode
public int hashCode()この標数2の有限体に対するハッシュ・コード値を返します。- オーバーライド:
hashCode
、クラス:Object
- 戻り値:
- ハッシュ・コード値。
- 関連項目:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-