Класс KEM.Decapsulator
- Включающий класс:
KEM
public static final class KEM.Decapsulator extends Object
KEM.newDecapsulator(java.security.PrivateKey) на стороне получателя KEM. Этот класс представляет функцию декапсуляции ключа для KEM. Вызов метода decapsulate восстанавливает секретный ключ из сообщения об инкапсуляции ключа.
- С момента:
- 21
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
SecretKey |
decapsulate |
Функция декапсуляции ключа. |
SecretKey |
decapsulate |
Функция декапсуляции ключа. |
int |
encapsulationSize() |
Возвращает размер сообщения об инкапсуляции ключа. |
String |
providerName() |
Возвращает имя поставщика. |
int |
secretSize() |
Возвращает размер общего секрета. |
Подробное описание методов
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, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.base/javax/crypto/KEM.Decapsulator.html