public final class EciesParameters extends HybridParameters
This API follows loosely ECIES ISO 18033-2 standard (Elliptic Curve Integrated Encryption Scheme, see http://www.shoup.net/iso/std6.pdf), but with some differences:
| Modifier and Type | Class and Description |
|---|---|
static class |
EciesParameters.Builder
Builds a new
EciesParameters instance. |
static class |
EciesParameters.CurveType
The elliptic curve type used for the KEM.
|
static class |
EciesParameters.HashType
The Hash algorithm used for the KEM.
|
static class |
EciesParameters.PointFormat
The Elliptic Curve Point Format.
|
static class |
EciesParameters.Variant
Description of the output prefix prepended to the ciphertext.
|
| Modifier and Type | Method and Description |
|---|---|
static EciesParameters.Builder |
builder() |
boolean |
equals(Object o) |
EciesParameters.CurveType |
getCurveType() |
Parameters |
getDemParameters() |
EciesParameters.HashType |
getHashType() |
EciesParameters.PointFormat |
getNistCurvePointFormat() |
Bytes |
getSalt()
Gets the salt value, which defaults to null if not set.
|
EciesParameters.Variant |
getVariant() |
int |
hashCode() |
boolean |
hasIdRequirement()
Returns true if a key created with the parameters in this object has to have a certain ID when
it is in a keyset.
|
String |
toString() |
public static EciesParameters.Builder builder()
public EciesParameters.CurveType getCurveType()
public EciesParameters.HashType getHashType()
@Nullable public EciesParameters.PointFormat getNistCurvePointFormat()
public Parameters getDemParameters()
public EciesParameters.Variant getVariant()
@Nullable public Bytes getSalt()
This class does not store an RFC compliant default value and the converion must be done in the implementation (meaning that a null salt must be converted to a string of zeros that is of the length of the hash function output, as per RFC 5869).
public boolean hasIdRequirement()
ParametersIn Tink, certain keys change their behavior depending on the key id (for example, an Aead object can prefix the ciphertext with the big endian encoding of the key id). If this is
the case, such a key should require a unique id in Key.getIdRequirementOrNull() and
return true here.
hasIdRequirement in class Parameters