java.lang.Object
javax.crypto.KEM.Encapsulator
- 含まれているクラス:
KEM
public static final class KEM.Encapsulator extends Object
エンカプセレータ。KEM送信側の
KEM.newEncapsulator(java.security.PublicKey)
によって生成されます。
このクラスは、KEMのキー・カプセル化機能を表します。 encapsulate
メソッドを起動するたびに、KEM.Encapsulated
オブジェクトで返される新しい秘密キーおよびキーのカプセル化メッセージが生成されます。
- 導入されたバージョン:
- 21
-
メソッドのサマリー
修飾子と型メソッド説明キー・カプセル化機能。encapsulate
(int from, int to, String algorithm) キー・カプセル化機能。int
キー・カプセル化メッセージのサイズを返します。プロバイダの名前を返します。int
共有シークレットのサイズを返します。
-
メソッドの詳細
-
providerName
public String providerName()プロバイダの名前を返します。- 戻り値:
- プロバイダの名前
-
encapsulate
public KEM.Encapsulated encapsulate()キー・カプセル化機能。このメソッドは
encapsulate(0, secretSize(), "Generic")
と同等です。 この引数の組合せは、すべての実装でサポートされる必要があります。生成された秘密キーは通常、キー導出関数(KDF)に入力キーイング・マテリアルとして渡されます。
- 戻り値:
- 共有シークレット、キー・カプセル化メッセージおよびオプション・パラメータを含む
KEM.Encapsulated
オブジェクト。 共有シークレットは、シークレットのすべてのバイトと"一般"のアルゴリズム名を含むSecretKey
です。
-
encapsulate
public KEM.Encapsulated encapsulate(int from, int to, String algorithm) キー・カプセル化機能。このメソッドを起動するたびに、
KEM.Encapsulated
オブジェクトで返される新しい秘密キーおよびキーのカプセル化メッセージが生成されます。実装では、
from
、to
およびalgorithm
の任意の組合せをサポートしないことを選択できます。- パラメータ:
from
- 返される共有シークレット・バイト配列の初期インデックス(両端を含む)to
- 返される共有シークレット・バイト配列の最終インデックス、排他的algorithm
- 返される秘密キーのアルゴリズム名- 戻り値:
- 共有シークレットの一部、キー・カプセル化メッセージおよびオプション・パラメータを含む
KEM.Encapsulated
オブジェクト。 共有シークレットの一部は、from
からto
までのシークレットのバイトを含むSecretKey
、排他的、および指定されたアルゴリズム名です。 たとえば、encapsulate(0, 16, "AES")
は、共有シークレットの最初の16バイトを128ビットのAESキーとして使用します。 - 例外:
IndexOutOfBoundsException
-from < 0
、from > to
またはto > secretSize()
の場合NullPointerException
-algorithm
がnull
である場合UnsupportedOperationException
-from
、to
、およびalgorithm
の組み合わせがエンカプセレータによってサポートされない場合
-
secretSize
public int secretSize()共有シークレットのサイズを返します。このメソッドをコールして、
encapsulate
がコールされる前に共有シークレットの長さを調べるか、取得したSecretKey
が抽出可能でないかを確認できます。- 戻り値:
- 共有シークレットのサイズ
-
encapsulationSize
public int encapsulationSize()キー・カプセル化メッセージのサイズを返します。このメソッドをコールして、
encapsulate
がコールされる前にカプセル化メッセージの長さを確認できます。- 戻り値:
- キー・カプセル化メッセージのサイズ
-