Класс KEM.Encapsulator
- Внешний класс:
KEM
public static final class KEM.Encapsulator extends Object
KEM.newEncapsulator(PublicKey) на стороне отправителя KEM. Этот класс представляет функцию инкапсуляции ключа KEM. Каждый вызов метода encapsulate создает новый секретный ключ и сообщение инкапсуляции ключа, которые возвращаются в объекте KEM.Encapsulated.
- Начиная с версии:
- 21
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
KEM.Encapsulated |
encapsulate() |
Функция инкапсуляции ключа. |
KEM.Encapsulated |
encapsulate |
Функция инкапсуляции ключа. |
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() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание методов
providerName
public String providerName()
- Возвращает:
- имя поставщика
encapsulate
public KEM.Encapsulated encapsulate()
Этот метод эквивалентен encapsulate(0, secretSize(), "Generic"). Эта комбинация аргументов должна поддерживаться каждой реализацией.
Созданный секретный ключ обычно передается функции выработки ключа (KDF) в качестве исходного материала для ключа.
- Возвращает:
- объект
KEM.Encapsulated, содержащий общий секрет, сообщение инкапсуляции ключа и необязательные параметры. Общий секрет — этоSecretKey, содержащий все байты секрета, с именем алгоритма "Generic".
encapsulate
public KEM.Encapsulated encapsulate(int from, int to, String algorithm)
Каждый вызов этого метода создает новый секретный ключ и сообщение инкапсуляции ключа, которые возвращаются в объекте KEM.Encapsulated.
Реализация может не поддерживать произвольные комбинации from, to и algorithm.
- Параметры:
-
from— начальный индекс возвращаемого массива байтов общего секрета включительно -
to— конечный индекс возвращаемого массива байтов общего секрета исключительно -
algorithm— имя алгоритма возвращаемого секретного ключа. Сведения о стандартных именах алгоритмов секретных ключей см. в разделе «Алгоритмы SecretKey» спецификации стандартных имен алгоритмов Java Security. Укажите "Generic", если результат будет использоваться в качестве исходного материала для ключа функции выработки ключа (KDF). - Возвращает:
- объект
KEM.Encapsulated, содержащий часть общего секрета, сообщение инкапсуляции ключа и необязательные параметры. Часть общего секрета — этоSecretKey, содержащий байты секрета отfromдоtoисключительно, с указанным именем алгоритма. Например,encapsulate(0, 16, "AES")использует первые 16 байт общего секрета в качестве 128-битного ключа AES. - Выбрасывает:
-
IndexOutOfBoundsException— еслиfrom < 0,from > toилиto > secretSize() -
NullPointerException— еслиalgorithmявляетсяnull -
UnsupportedOperationException— если инкапсулятор не поддерживает комбинациюfrom,toиalgorithm - Внешние спецификации
secretSize
public int secretSize()
Этот метод можно вызвать, чтобы узнать длину общего секрета до вызова encapsulate или если полученный SecretKey не поддается извлечению.
- Возвращает:
- размер общего секрета
encapsulationSize
public int encapsulationSize()
Этот метод можно вызвать, чтобы узнать длину сообщения инкапсуляции до вызова encapsulate.
- Возвращает:
- размер сообщения инкапсуляции ключа
© 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.