Spec-Zone.ru › OpenJDK 21

Класс KEM.Decapsulator

java.lang.Object
javax.crypto.KEM.Decapsulator
Вложенный класс:
KEM
public static final class KEM.Decapsulator extends Object
Декапсулятор, сгенерированный методом KEM.newDecapsulator(java.security.PrivateKey) со стороны получателя KEM.

Этот класс представляет функцию декапсуляции ключа KEM. Вызов метода decapsulate восстанавливает секретный ключ из сообщения об инкапсуляции ключа.

С момента:
21

Краткое описание методов

Модификатор и тип Метод Описание
SecretKey decapsulate(byte[] encapsulation)
Функция декапсуляции ключа.
SecretKey decapsulate(byte[] encapsulation, int from, int to, String algorithm)
Функция декапсуляции ключа.
int encapsulationSize()
Возвращает размер сообщения об инкапсуляции ключа.
String providerName()
Возвращает имя провайдера.
int secretSize()
Возвращает размер общего секрета.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание методов

providerName

public String providerName()
Возвращает имя провайдера.
Возвращает:
имя провайдера

decapsulate

public SecretKey decapsulate(byte[] encapsulation) throws DecapsulateException
Функция декапсуляции ключа.

Этот метод эквивалентен decapsulate(encapsulation, 0, secretSize(), "Generic"). Эта комбинация аргументов должна поддерживаться каждой реализацией.

Сгенерированный секретный ключ обычно передаётся в функцию вывода ключей (KDF) в качестве входных данных.

Параметры:
encapsulation - сообщение об инкапсуляции ключа от отправителя. Размер должен быть равен значению, возвращаемому методом encapsulationSize(), в противном случае будет выброшено исключение DecapsulateException.
Возвращает:
общий секрет в виде SecretKey с именем алгоритма "Generic"
Исключения:
DecapsulateException - если при декапсуляции произошла ошибка
NullPointerException - если encapsulation является null

decapsulate

public SecretKey decapsulate(byte[] encapsulation, int from, int to, String algorithm) throws DecapsulateException
Функция декапсуляции ключа.

Вызов этого метода восстанавливает секретный ключ из сообщения об инкапсуляции ключа.

Реализация может выбрать не поддерживать произвольные комбинации from, to, и algorithm.

Параметры:
encapsulation - сообщение об инкапсуляции ключа от отправителя. Размер должен быть равен значению, возвращаемому методом encapsulationSize(), в противном случае будет выброшено исключение DecapsulateException.
from - начальный индекс возвращаемого массива байтов общего секрета, включая
to - конечный индекс возвращаемого массива байтов общего секрета, не включая
algorithm - имя алгоритма для возвращаемого секретного ключа
Возвращает:
часть общего секрета в виде SecretKey, содержащую байты секрета с from по to, не включая, и имя алгоритма, как указано. Например, decapsulate(encapsulation, secretSize() - 16, secretSize(), "AES") использует последние 16 байтов общего секрета в качестве 128-битного ключа AES.
Исключения:
DecapsulateException - если при декапсуляции произошла ошибка
IndexOutOfBoundsException - если from < 0, from > to, или to > secretSize()
NullPointerException - если encapsulation или algorithm является null
UnsupportedOperationException - если комбинация from, to, и algorithm не поддерживается декапсулятором

secretSize

public int secretSize()
Возвращает размер общего секрета.

Этот метод может быть вызван, чтобы узнать длину общего секрета до вызова decapsulate или если полученный SecretKey не извлекаем.

Возвращает:
размер общего секрета

encapsulationSize

public int encapsulationSize()
Возвращает размер сообщения об инкапсуляции ключа.

Этот метод может быть использован для извлечения сообщения об инкапсуляции из более длинного массива байтов, если информация о длине не предоставляется протоколом верхнего уровня.

Возвращает:
размер сообщения об инкапсуляции ключа

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/javax/crypto/KEM.Decapsulator.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API