|
Bouncy Castle Cryptography Library 1.81 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.bouncycastle.crypto.signers.ECCSISigner
Implementation of Elliptic Curve-based Certificateless Signatures for Identity-Based Encryption (ECCSI) as defined in RFC 6507.
Constructor Summary | |
ECCSISigner(ECPoint kpak,
X9ECParameters params,
Digest digest,
byte[] id)
Constructs an ECCSI signer/verifier with KMS Public Authentication Key and user identity. |
Method Summary | |
byte[] |
generateSignature()
Generates an ECCSI signature according to RFC 6507 Section 5.2.1. |
void |
init(boolean forSigning,
CipherParameters param)
Initializes the signer for either signature generation or verification. |
void |
reset()
Resets the signer/verifier state and performs initial computations: - For signing: Validates KPAK consistency (RFC 6507 Section 5.1.2) - For verification: Computes Y = HS·PVT + KPAK Also computes HS = hash(G || KPAK || ID || PVT) as per RFC 6507 Section 5.1.1 |
void |
update(byte b)
update the internal digest with the byte b |
void |
update(byte[] in,
int off,
int len)
update the internal digest with the byte array in |
boolean |
verifySignature(byte[] signature)
Verifies an ECCSI signature according to RFC 6507 Section 5.2.2. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public ECCSISigner(ECPoint kpak, X9ECParameters params, Digest digest, byte[] id)
kpak
- KMS Public Authentication Key (KPAK) from RFC 6507 Section 2id
- User identity byte array formattedMethod Detail |
public void init(boolean forSigning, CipherParameters param)
init
in interface Signer
forSigning
- true for signing, false for verificationparam
- Key parameters:
- For signing: containing
- For verification:
java.lang.IllegalArgumentException
- if invalid parameters are providedpublic void update(byte b)
Signer
update
in interface Signer
public void update(byte[] in, int off, int len)
Signer
update
in interface Signer
public byte[] generateSignature() throws CryptoException, DataLengthException
generateSignature
in interface Signer
CryptoException
- if cryptographic operations fail
DataLengthException
- if input data is invalid
java.lang.IllegalArgumentException
- if invalid SSK or j parameter is detectedpublic boolean verifySignature(byte[] signature)
verifySignature
in interface Signer
signature
- Signature to verify (r || s || PVT)
java.lang.IllegalArgumentException
- if signature format is invalidpublic void reset()
reset
in interface Signer
|
Bouncy Castle Cryptography Library 1.81 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |