Class McEliecePointchevalCipherSpi
- java.lang.Object
-
- javax.crypto.CipherSpi
-
- org.bouncycastle.pqc.jcajce.provider.util.CipherSpiExt
-
- org.bouncycastle.pqc.jcajce.provider.util.AsymmetricHybridCipher
-
- org.bouncycastle.pqc.jcajce.provider.mceliece.McEliecePointchevalCipherSpi
-
- All Implemented Interfaces:
PKCSObjectIdentifiers
,X509ObjectIdentifiers
- Direct Known Subclasses:
McEliecePointchevalCipherSpi.McEliecePointcheval
,McEliecePointchevalCipherSpi.McEliecePointcheval224
,McEliecePointchevalCipherSpi.McEliecePointcheval256
,McEliecePointchevalCipherSpi.McEliecePointcheval384
,McEliecePointchevalCipherSpi.McEliecePointcheval512
public class McEliecePointchevalCipherSpi extends AsymmetricHybridCipher implements PKCSObjectIdentifiers, X509ObjectIdentifiers
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
McEliecePointchevalCipherSpi.McEliecePointcheval
static class
McEliecePointchevalCipherSpi.McEliecePointcheval224
static class
McEliecePointchevalCipherSpi.McEliecePointcheval256
static class
McEliecePointchevalCipherSpi.McEliecePointcheval384
static class
McEliecePointchevalCipherSpi.McEliecePointcheval512
-
Field Summary
-
Fields inherited from class org.bouncycastle.pqc.jcajce.provider.util.AsymmetricHybridCipher
paramSpec
-
Fields inherited from class org.bouncycastle.pqc.jcajce.provider.util.CipherSpiExt
DECRYPT_MODE, ENCRYPT_MODE, opMode
-
Fields inherited from interface org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers
bagtypes, canNotDecryptAny, certBag, certTypes, crlBag, crlTypes, data, des_EDE3_CBC, dhKeyAgreement, digestAlgorithm, digestedData, encryptedData, encryptionAlgorithm, envelopedData, id_aa, id_aa_asymmDecryptKeyID, id_aa_cmsAlgorithmProtect, id_aa_commitmentType, id_aa_communityIdentifiers, id_aa_contentHint, id_aa_contentIdentifier, id_aa_contentReference, id_aa_decryptKeyID, id_aa_encrypKeyPref, id_aa_ets_archiveTimestamp, id_aa_ets_certCRLTimestamp, id_aa_ets_certificateRefs, id_aa_ets_certValues, id_aa_ets_commitmentType, id_aa_ets_contentTimestamp, id_aa_ets_escTimeStamp, id_aa_ets_otherSigCert, id_aa_ets_revocationRefs, id_aa_ets_revocationValues, id_aa_ets_signerAttr, id_aa_ets_signerLocation, id_aa_ets_sigPolicyId, id_aa_implCompressAlgs, id_aa_implCryptoAlgs, id_aa_msgSigDigest, id_aa_otherSigCert, id_aa_receiptRequest, id_aa_signatureTimeStampToken, id_aa_signerLocation, id_aa_signingCertificate, id_aa_signingCertificateV2, id_aa_sigPolicyId, id_alg, id_alg_AEADChaCha20Poly1305, id_alg_CMS3DESwrap, id_alg_CMSRC2wrap, id_alg_ESDH, id_alg_hkdf_with_sha256, id_alg_hkdf_with_sha384, id_alg_hkdf_with_sha512, id_alg_hss_lms_hashsig, id_alg_PWRI_KEK, id_alg_SSDH, id_ct, id_ct_authData, id_ct_authEnvelopedData, id_ct_compressedData, id_ct_timestampedData, id_ct_TSTInfo, id_cti, id_cti_ets_proofOfApproval, id_cti_ets_proofOfCreation, id_cti_ets_proofOfDelivery, id_cti_ets_proofOfOrigin, id_cti_ets_proofOfReceipt, id_cti_ets_proofOfSender, id_hmacWithSHA1, id_hmacWithSHA224, id_hmacWithSHA256, id_hmacWithSHA384, id_hmacWithSHA512, id_mgf1, id_PBES2, id_PBKDF2, id_pSpecified, id_rsa_KEM, id_RSAES_OAEP, id_RSASSA_PSS, id_smime, id_spq, id_spq_ets_unotice, id_spq_ets_uri, keyBag, md2, md2WithRSAEncryption, md4, md4WithRSAEncryption, md5, md5WithRSAEncryption, pbeWithMD2AndDES_CBC, pbeWithMD2AndRC2_CBC, pbeWithMD5AndDES_CBC, pbeWithMD5AndRC2_CBC, pbeWithSHA1AndDES_CBC, pbeWithSHA1AndRC2_CBC, pbeWithSHAAnd128BitRC2_CBC, pbeWithSHAAnd128BitRC4, pbeWithSHAAnd2_KeyTripleDES_CBC, pbeWithSHAAnd3_KeyTripleDES_CBC, pbewithSHAAnd40BitRC2_CBC, pbeWithSHAAnd40BitRC2_CBC, pbeWithSHAAnd40BitRC4, pkcs_1, pkcs_12, pkcs_12PbeIds, pkcs_3, pkcs_5, pkcs_7, pkcs_9, pkcs_9_at_challengePassword, pkcs_9_at_contentType, pkcs_9_at_counterSignature, pkcs_9_at_emailAddress, pkcs_9_at_extendedCertificateAttributes, pkcs_9_at_extensionRequest, pkcs_9_at_friendlyName, pkcs_9_at_localKeyId, pkcs_9_at_messageDigest, pkcs_9_at_signingDescription, pkcs_9_at_signingTime, pkcs_9_at_smimeCapabilities, pkcs_9_at_unstructuredAddress, pkcs_9_at_unstructuredName, pkcs8ShroudedKeyBag, preferSignedData, RC2_CBC, rc4, rsaEncryption, safeContentsBag, sdsiCertificate, secretBag, sha1WithRSAEncryption, sha224WithRSAEncryption, sha256WithRSAEncryption, sha384WithRSAEncryption, sha512_224WithRSAEncryption, sha512_256WithRSAEncryption, sha512WithRSAEncryption, signedAndEnvelopedData, signedData, sMIMECapabilitiesVersions, srsaOAEPEncryptionSET, x509Certificate, x509certType, x509Crl
-
Fields inherited from interface org.bouncycastle.asn1.x509.X509ObjectIdentifiers
commonName, countryName, crlAccessMethod, id_ad, id_ad_caIssuers, id_ad_ocsp, id_at_name, id_at_organizationIdentifier, id_at_telephoneNumber, id_ce, id_ea_rsa, id_ecdsa_with_shake128, id_ecdsa_with_shake256, id_pe, id_pkix, id_rsassa_pss_shake128, id_rsassa_pss_shake256, id_SHA1, localityName, ocspAccessMethod, organization, organizationalUnitName, ripemd160, ripemd160WithRSAEncryption, stateOrProvinceName
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
McEliecePointchevalCipherSpi(Digest digest, McEliecePointchevalCipher cipher)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected int
decryptOutputSize(int inLen)
Compute the output size of an update() or doFinal() operation of a hybrid asymmetric cipher in decryption mode when given input of the specified length.byte[]
doFinal(byte[] input, int inOff, int inLen)
Encrypts or decrypts data in a single-part operation, or finishes a multiple-part operation.protected int
encryptOutputSize(int inLen)
Compute the output size of an update() or doFinal() operation of a hybrid asymmetric cipher in encryption mode when given input of the specified length.int
getKeySize(java.security.Key key)
Return the key size of the given key object in bits.java.lang.String
getName()
protected void
initCipherDecrypt(java.security.Key key, java.security.spec.AlgorithmParameterSpec params)
Initialize the AsymmetricHybridCipher with a certain key for data encryption.protected void
initCipherEncrypt(java.security.Key key, java.security.spec.AlgorithmParameterSpec params, java.security.SecureRandom sr)
Initialize the AsymmetricHybridCipher with a certain key for data encryption.byte[]
update(byte[] input, int inOff, int inLen)
Continue a multiple-part encryption or decryption operation.-
Methods inherited from class org.bouncycastle.pqc.jcajce.provider.util.AsymmetricHybridCipher
doFinal, getBlockSize, getIV, getOutputSize, getParameters, initDecrypt, initDecrypt, initEncrypt, initEncrypt, initEncrypt, initEncrypt, setMode, setPadding, update
-
Methods inherited from class org.bouncycastle.pqc.jcajce.provider.util.CipherSpiExt
doFinal, doFinal, engineDoFinal, engineDoFinal, engineGetBlockSize, engineGetIV, engineGetKeySize, engineGetOutputSize, engineGetParameters, engineInit, engineInit, engineInit, engineSetMode, engineSetPadding, engineUpdate, engineUpdate, update
-
-
-
-
Constructor Detail
-
McEliecePointchevalCipherSpi
protected McEliecePointchevalCipherSpi(Digest digest, McEliecePointchevalCipher cipher)
-
-
Method Detail
-
update
public byte[] update(byte[] input, int inOff, int inLen)
Continue a multiple-part encryption or decryption operation.- Specified by:
update
in classAsymmetricHybridCipher
- Parameters:
input
- byte array containing the next part of the inputinOff
- index in the array where the input startsinLen
- length of the input- Returns:
- the processed byte array.
-
doFinal
public byte[] doFinal(byte[] input, int inOff, int inLen) throws javax.crypto.BadPaddingException
Encrypts or decrypts data in a single-part operation, or finishes a multiple-part operation. The data is encrypted or decrypted, depending on how this cipher was initialized.- Specified by:
doFinal
in classAsymmetricHybridCipher
- Parameters:
input
- the input bufferinOff
- the offset in input where the input startsinLen
- the input length- Returns:
- the new buffer with the result
- Throws:
javax.crypto.BadPaddingException
- on deryption errors.
-
encryptOutputSize
protected int encryptOutputSize(int inLen)
Description copied from class:AsymmetricHybridCipher
Compute the output size of an update() or doFinal() operation of a hybrid asymmetric cipher in encryption mode when given input of the specified length.- Specified by:
encryptOutputSize
in classAsymmetricHybridCipher
- Parameters:
inLen
- the length of the input- Returns:
- the output size
-
decryptOutputSize
protected int decryptOutputSize(int inLen)
Description copied from class:AsymmetricHybridCipher
Compute the output size of an update() or doFinal() operation of a hybrid asymmetric cipher in decryption mode when given input of the specified length.- Specified by:
decryptOutputSize
in classAsymmetricHybridCipher
- Parameters:
inLen
- the length of the input- Returns:
- the output size
-
initCipherEncrypt
protected void initCipherEncrypt(java.security.Key key, java.security.spec.AlgorithmParameterSpec params, java.security.SecureRandom sr) throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
Description copied from class:AsymmetricHybridCipher
Initialize the AsymmetricHybridCipher with a certain key for data encryption.- Specified by:
initCipherEncrypt
in classAsymmetricHybridCipher
- Parameters:
key
- the key which has to be used to encrypt dataparams
- the algorithm parameterssr
- the source of randomness- Throws:
java.security.InvalidKeyException
- if the given key is inappropriate for initializing this cipher.java.security.InvalidAlgorithmParameterException
- if the given parameters are inappropriate for initializing this cipher.
-
initCipherDecrypt
protected void initCipherDecrypt(java.security.Key key, java.security.spec.AlgorithmParameterSpec params) throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
Description copied from class:AsymmetricHybridCipher
Initialize the AsymmetricHybridCipher with a certain key for data encryption.- Specified by:
initCipherDecrypt
in classAsymmetricHybridCipher
- Parameters:
key
- the key which has to be used to decrypt dataparams
- the algorithm parameters- Throws:
java.security.InvalidKeyException
- if the given key is inappropriate for initializing this cipherjava.security.InvalidAlgorithmParameterException
- if the given parameters are inappropriate for initializing this cipher.
-
getName
public java.lang.String getName()
- Specified by:
getName
in classCipherSpiExt
- Returns:
- the name of this cipher
-
getKeySize
public int getKeySize(java.security.Key key) throws java.security.InvalidKeyException
Description copied from class:CipherSpiExt
Return the key size of the given key object in bits.- Specified by:
getKeySize
in classCipherSpiExt
- Parameters:
key
- the key object- Returns:
- the key size in bits of the given key object
- Throws:
java.security.InvalidKeyException
- if key is invalid.
-
-