Класс KEM.Decapsulator
- Внешний класс:
KEM
public static final class KEM.Decapsulator extends Object
KEM.newDecapsulator(PrivateKey) на стороне получателя KEM. Этот класс представляет функцию декапсуляции ключа KEM. Вызов метода decapsulate восстанавливает секретный ключ из сообщения инкапсуляции ключа.
- Начиная с:
- 21
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
SecretKey |
decapsulate |
Функция декапсуляции ключа. |
SecretKey |
decapsulate |
Функция декапсуляции ключа. |
int |
encapsulationSize() |
Возвращает размер сообщения инкапсуляции ключа. |
String |
providerName() |
Возвращает имя поставщика. |
int |
secretSize() |
Возвращает размер общего секрета. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Показывает, является ли другой объект «равным» этому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удален в будущей версии. Финализация устарела и может быть удалена в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого объекта Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Переводит текущий поток в состояние ожидания до тех пор, пока он не будет разбужен, обычно посредством уведомления или прерывания. |
final void |
wait |
Переводит текущий поток в состояние ожидания до тех пор, пока он не будет разбужен, обычно посредством уведомления или прерывания, либо пока не истечет заданный интервал реального времени. |
final void |
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— имя алгоритма возвращаемого секретного ключа. Сведения о стандартных именах алгоритмов секретных ключей см. в разделе Secret Key Algorithms спецификации Java Security Standard Algorithm Names. Укажите "Generic", если результат будет использоваться в качестве исходного материала для ключа функции выработки ключа (KDF). - Возвращает:
- часть общего секрета в виде
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.