public class PrivacySalt extends OpaqueBytes
A privacy salt is required to compute nonces per transaction component in order to ensure that an adversary cannot
use brute force techniques and reveal the content of a Merkle-leaf hashed value.
Because this salt serves the role of the seed to compute nonces, its size and entropy should be equal to the
underlying hash function used for Merkle tree generation, currently class SecureHash.SHA256
, which has an output of 32 bytes.
There are two constructors, one that generates a new 32-bytes random salt, and another that takes a ByteArray input.
The latter is required in cases where the salt value needs to be pre-generated (agreed between transacting parties),
but it is highlighted that one should always ensure it has sufficient entropy.
class SecureHash.SHA256
,
ByteArrayModifier and Type | Class and Description |
---|---|
static class |
PrivacySalt.Companion |
Modifier and Type | Field and Description |
---|---|
static PrivacySalt.Companion |
Companion |
Constructor and Description |
---|
PrivacySalt(byte[] bytes)
A privacy salt is required to compute nonces per transaction component in order to ensure that an adversary cannot
use brute force techniques and reveal the content of a Merkle-leaf hashed value.
Because this salt serves the role of the seed to compute nonces, its size and entropy should be equal to the
underlying hash function used for Merkle tree generation, currently
class SecureHash.SHA256 , which has an output of 32 bytes.
There are two constructors, one that generates a new 32-bytes random salt, and another that takes a ByteArray input.
The latter is required in cases where the salt value needs to be pre-generated (agreed between transacting parties),
but it is highlighted that one should always ensure it has sufficient entropy. |
PrivacySalt(int saltLength)
Constructs a salt with a randomly-generated saltLength byte value.
|
PrivacySalt()
Constructs a salt with a randomly-generated 32 byte value.
|
public static PrivacySalt.Companion Companion
public PrivacySalt(byte[] bytes)
A privacy salt is required to compute nonces per transaction component in order to ensure that an adversary cannot
use brute force techniques and reveal the content of a Merkle-leaf hashed value.
Because this salt serves the role of the seed to compute nonces, its size and entropy should be equal to the
underlying hash function used for Merkle tree generation, currently class SecureHash.SHA256
, which has an output of 32 bytes.
There are two constructors, one that generates a new 32-bytes random salt, and another that takes a ByteArray input.
The latter is required in cases where the salt value needs to be pre-generated (agreed between transacting parties),
but it is highlighted that one should always ensure it has sufficient entropy.
class SecureHash.SHA256
,
ByteArraypublic PrivacySalt(int saltLength)
Constructs a salt with a randomly-generated saltLength byte value.
public PrivacySalt()
Constructs a salt with a randomly-generated 32 byte value.