|
Bouncy Castle Cryptography Library 1.87 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.bouncycastle.pqc.crypto.ntruplus.NTRUPlusKEMExtractor
NTRU+ decapsulation.
Not thread safe. The NTRUPlusEngine built here keeps one SHAKE instance in a field, so two threads sharing an extractor interleave its absorb and squeeze phases: the secrets they recover do not match the sender's, and an IllegalStateException from the digest is also possible. Give each thread its own extractor - construction is cheap, roughly a thousandth of a decapsulation. The KEM.Decapsulator that javax.crypto.KEM builds does exactly that, since that API requires decapsulate to be safe for concurrent use.
| Constructor Summary | |
NTRUPlusKEMExtractor(NTRUPlusPrivateKeyParameters privateKey)
|
|
| Method Summary | |
byte[] |
extractSecret(byte[] encapsulation)
Extract the shared secret from an NTRU+ encapsulation. |
int |
getEncapsulationLength()
Return the length in bytes of the encapsulation. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public NTRUPlusKEMExtractor(NTRUPlusPrivateKeyParameters privateKey)
| Method Detail |
public byte[] extractSecret(byte[] encapsulation)
NTRU+ rejects an invalid encapsulation explicitly rather than implicitly: there is no pseudorandom rejection secret, so an encapsulation that fails the re-encryption check, or is not a canonical encoding, is refused with an exception instead of yielding a secret.
extractSecret in interface EncapsulatedSecretExtractorencapsulation - the encapsulated secret.
java.lang.IllegalArgumentException - if the encapsulation is the wrong length or is rejected.public int getEncapsulationLength()
EncapsulatedSecretExtractor
getEncapsulationLength in interface EncapsulatedSecretExtractor
|
Bouncy Castle Cryptography Library 1.87 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||