org.bouncycastle.pqc.crypto.gmss.util
Class WinternitzOTSignature
java.lang.Object
org.bouncycastle.pqc.crypto.gmss.util.WinternitzOTSignature
public class WinternitzOTSignature
- extends java.lang.Object
This class implements key pair generation and signature generation of the
Winternitz one-time signature scheme (OTSS), described in C.Dods, N.P. Smart,
and M. Stam, "Hash Based Digital Signature Schemes", LNCS 3796, pages
96–115, 2005. The class is used by the GMSS classes.
|
Constructor Summary |
WinternitzOTSignature(byte[] seed0,
Digest digest,
int w)
The constructor generates an OTS key pair, using seed0 and
the PRNG
|
|
Method Summary |
int |
getLog(int intValue)
This method returns the least integer that is greater or equal to the
logarithm to the base 2 of an integer intValue. |
byte[][] |
getPrivateKey()
|
byte[] |
getPublicKey()
|
byte[] |
getSignature(byte[] message)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
WinternitzOTSignature
public WinternitzOTSignature(byte[] seed0,
Digest digest,
int w)
- The constructor generates an OTS key pair, using
seed0 and
the PRNG
- Parameters:
seed0 - the seed for the PRGNdigest - an array of strings, containing the name of the used hash
function, the name of the PRGN and the names of the
corresponding providersw - the Winternitz parameter
getPrivateKey
public byte[][] getPrivateKey()
- Returns:
- The private OTS key
getPublicKey
public byte[] getPublicKey()
- Returns:
- The public OTS key
getSignature
public byte[] getSignature(byte[] message)
- Returns:
- The one-time signature of the message, generated with the private
key
getLog
public int getLog(int intValue)
- This method returns the least integer that is greater or equal to the
logarithm to the base 2 of an integer
intValue.
- Parameters:
intValue - an integer
- Returns:
- The least integer greater or equal to the logarithm to the base 2
of
intValue