クラスKEM.Encapsulator

java.lang.Object
javax.crypto.KEM.Encapsulator
含まれているクラス:
KEM

public static final class KEM.Encapsulator extends Object
KEM送信側の KEM.newEncapsulator(PublicKey)によって生成されるカプセル化装置。

このクラスは、KEMのキー・カプセル化関数を表します。 encapsulateメソッドを起動するたびに、KEM.Encapsulatedオブジェクトで返される新しい秘密キーおよびキー・カプセル化メッセージが生成されます。

導入されたバージョン:
21
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    キー・カプセル化機能。
    encapsulate(int from, int to, String algorithm)
    キー・カプセル化機能。
    int
    キー・カプセル化メッセージのサイズを返します。
    プロバイダの名前を返します。
    int
    共有シークレットのサイズを返します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • メソッドの詳細

    • 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オブジェクトで返される新しい秘密キーおよびキーのカプセル化メッセージが生成されます。

      実装では、fromtoおよびalgorithmの任意の組合せをサポートしないことを選択できます。

      パラメータ:
      from - 返される共有シークレット・バイト配列の初期インデックス(両端を含む)
      to - 返される共有シークレット・バイト配列の最終インデックス、排他的
      algorithm - 返される秘密キーのアルゴリズム名。 標準秘密キー・アルゴリズム名の詳細は、Javaセキュリティ標準アルゴリズム名仕様のSecretKeyアルゴリズムに関する項を参照してください。 出力をキー導出関数(KDF)の入力キーイング・マテリアルとして使用する場合は、「汎用」を指定します。
      戻り値:
      共有シークレットの一部、キー・カプセル化メッセージおよびオプション・パラメータを含むKEM.Encapsulatedオブジェクト。 共有シークレットの一部は、fromからtoまでのシークレットのバイトを含むSecretKey、排他的、および指定されたアルゴリズム名です。 たとえば、encapsulate(0, 16, "AES")は、共有シークレットの最初の16バイトを128ビットのAESキーとして使用します。
      スロー:
      IndexOutOfBoundsException - from < 0from > toまたはto > secretSize()の場合
      NullPointerException - algorithmnullである場合
      UnsupportedOperationException - fromto、およびalgorithmの組み合わせがエンカプセレータによってサポートされない場合
      外部仕様
    • secretSize

      public int secretSize()
      共有シークレットのサイズを返します。

      このメソッドをコールして、encapsulateがコールされる前に共有シークレットの長さを調べるか、取得したSecretKeyが抽出可能でないかを確認できます。

      戻り値:
      共有シークレットのサイズ
    • encapsulationSize

      public int encapsulationSize()
      キー・カプセル化メッセージのサイズを返します。

      このメソッドをコールして、encapsulateがコールされる前にカプセル化メッセージの長さを確認できます。

      戻り値:
      キー・カプセル化メッセージのサイズ