Spec-Zone.ru › OpenJDK 27

Класс KEM.Decapsulator

java.lang.Object
javax.crypto.KEM.Decapsulator
Внешний класс:
KEM
public static final class KEM.Decapsulator extends Object
Декапсулятор, созданный KEM.newDecapsulator(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()
Возвращает размер общего секрета.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, является ли другой объект «равным» этому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удален в будущей версии.
Финализация устарела и может быть удалена в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого объекта Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Переводит текущий поток в состояние ожидания до тех пор, пока он не будет разбужен, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до тех пор, пока он не будет разбужен, обычно посредством уведомления или прерывания, либо пока не истечет заданный интервал реального времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до тех пор, пока он не будет разбужен, обычно посредством уведомления или прерывания, либо пока не истечет заданный интервал реального времени.

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

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 не поддерживается декапсулятором
Внешние спецификации
  • Стандартные имена алгоритмов Java Security

secretSize

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

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

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

encapsulationSize

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

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

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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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