クラスKEM.Decapsulator

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

public static final class KEM.Decapsulator extends Object
KEMレシーバ側で KEM.newDecapsulator(PrivateKey)によって生成されるデカプセル。

このクラスは、KEMの主要なデカプセル化関数を表します。 decapsulateメソッドを起動すると、キーのカプセル化メッセージから秘密キーがリカバリされます。

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

    修飾子と型
    メソッド
    説明
    decapsulate(byte[] encapsulation)
    キーのデカプセル化機能。
    decapsulate(byte[] encapsulation, 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()
      プロバイダの名前を返します。
      戻り値:
      プロバイダの名前
    • decapsulate

      public SecretKey decapsulate(byte[] encapsulation) throws DecapsulateException
      キーのデカプセル化機能。

      このメソッドはdecapsulate(encapsulation, 0, secretSize(), "Generic")と同等です。 この引数の組合せは、すべての実装でサポートされる必要があります。

      生成された秘密キーは通常、キー導出関数(KDF)に入力キーイング・マテリアルとして渡されます。

      パラメータ:
      encapsulation - センダーからのキー・カプセル化メッセージ。 サイズは、encapsulationSize()によって返される値と等しくする必要があり、そうでない場合、DecapsulateExceptionがスローされます。
      戻り値:
      アルゴリズム名"一般"を持つSecretKeyとしての共有シークレット
      スロー:
      DecapsulateException - デカプセル化プロセス中にエラーが発生した場合
      NullPointerException - encapsulationnullの場合
    • decapsulate

      public SecretKey decapsulate(byte[] encapsulation, int from, int to, String algorithm) throws DecapsulateException
      キーのデカプセル化機能。

      このメソッドを起動すると、キーのカプセル化メッセージから秘密キーがリカバリされます。

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

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

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

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

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

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

      このメソッドは、上位レベルのプロトコルによって長さ情報が提供されない場合に、長いバイト配列からカプセル化メッセージを抽出するために使用できます。

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