public class NTRUSigner
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private Digest |
hashAlg |
private NTRUSigningParameters |
params |
private NTRUSigningPrivateKeyParameters |
signingKeyPair |
private NTRUSigningPublicKeyParameters |
verificationKey |
Constructor and Description |
---|
NTRUSigner(NTRUSigningParameters params)
Constructs a new instance with a set of signature parameters.
|
Modifier and Type | Method and Description |
---|---|
protected IntegerPolynomial |
createMsgRep(byte[] msgHash,
int r) |
byte[] |
generateSignature()
Adds data to sign and computes a signature over this data and any data previously added via
update(byte[], int, int) . |
void |
init(boolean forSigning,
CipherParameters params)
Resets the engine for signing a message.
|
private IntegerPolynomial |
sign(IntegerPolynomial i,
NTRUSigningPrivateKeyParameters kp) |
private byte[] |
signHash(byte[] msgHash,
NTRUSigningPrivateKeyParameters kp) |
void |
update(byte b)
Adds data to sign or verify.
|
void |
update(byte[] m,
int off,
int length)
Adds data to sign or verify.
|
private boolean |
verify(IntegerPolynomial i,
IntegerPolynomial s,
IntegerPolynomial h) |
private boolean |
verifyHash(byte[] msgHash,
byte[] sig,
NTRUSigningPublicKeyParameters pub) |
boolean |
verifySignature(byte[] sig)
Verifies a signature for any data previously added via
update(byte[], int, int) . |
private NTRUSigningParameters params
private Digest hashAlg
private NTRUSigningPrivateKeyParameters signingKeyPair
private NTRUSigningPublicKeyParameters verificationKey
public NTRUSigner(NTRUSigningParameters params)
params
- signature parameterspublic void init(boolean forSigning, CipherParameters params)
forSigning
- params
- public void update(byte b)
b
- datapublic void update(byte[] m, int off, int length)
m
- dataoff
- offsetlength
- number of bytespublic byte[] generateSignature()
update(byte[], int, int)
.java.lang.IllegalStateException
- if initSign
was not calledprivate byte[] signHash(byte[] msgHash, NTRUSigningPrivateKeyParameters kp)
private IntegerPolynomial sign(IntegerPolynomial i, NTRUSigningPrivateKeyParameters kp)
public boolean verifySignature(byte[] sig)
update(byte[], int, int)
.sig
- a signaturejava.lang.IllegalStateException
- if initVerify
was not calledprivate boolean verifyHash(byte[] msgHash, byte[] sig, NTRUSigningPublicKeyParameters pub)
private boolean verify(IntegerPolynomial i, IntegerPolynomial s, IntegerPolynomial h)
protected IntegerPolynomial createMsgRep(byte[] msgHash, int r)