Class McEliecePKCSCipherSpi
java.lang.Object
javax.crypto.CipherSpi
org.bouncycastle.pqc.jcajce.provider.util.CipherSpiExt
org.bouncycastle.pqc.jcajce.provider.util.AsymmetricBlockCipher
org.bouncycastle.pqc.jcajce.provider.mceliece.McEliecePKCSCipherSpi
- All Implemented Interfaces:
PKCSObjectIdentifiers
,X509ObjectIdentifiers
- Direct Known Subclasses:
McEliecePKCSCipherSpi.McEliecePKCS
public class McEliecePKCSCipherSpi
extends AsymmetricBlockCipher
implements PKCSObjectIdentifiers, X509ObjectIdentifiers
-
Nested Class Summary
-
Field Summary
Fields inherited from class org.bouncycastle.pqc.jcajce.provider.util.AsymmetricBlockCipher
buf, cipherTextSize, maxPlainTextSize, 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_alg_zlibCompress, 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_hmacWithSHA512_224, id_hmacWithSHA512_256, id_mgf1, id_PBES2, id_PBKDF2, id_PBMAC1, id_pSpecified, id_rsa_KEM, id_RSAES_OAEP, id_RSASSA_PSS, id_smime, id_spq, id_spq_ets_unotice, id_spq_ets_uri, id_spq_oid, 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_binarySigningTime, 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, smime_alg, sMIMECapabilitiesVersions, srsaOAEPEncryptionSET, x509Certificate, x509certType, x509Crl
Fields inherited from interface org.bouncycastle.asn1.x509.X509ObjectIdentifiers
attributeType, 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_PasswordBasedMac, id_pda, id_pe, id_pkix, id_rsassa_pss_shake128, id_rsassa_pss_shake256, id_SHA1, localityName, ocspAccessMethod, organization, organizationalUnitName, pkix_algorithms, ripemd160, ripemd160WithRSAEncryption, stateOrProvinceName
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
getKeySize
(Key key) Return the key size of the given key object in bits.getName()
protected void
initCipherDecrypt
(Key key, AlgorithmParameterSpec params) Initialize the AsymmetricBlockCipher with a certain key for data encryption.protected void
initCipherEncrypt
(Key key, AlgorithmParameterSpec params, SecureRandom sr) Initialize the AsymmetricBlockCipher with a certain key for data encryption.protected byte[]
messageDecrypt
(byte[] input) Decrypt the ciphertext stored in input.protected byte[]
messageEncrypt
(byte[] input) Encrypt the message stored in input.Methods inherited from class org.bouncycastle.pqc.jcajce.provider.util.AsymmetricBlockCipher
checkLength, doFinal, doFinal, getBlockSize, getIV, getOutputSize, getParameters, initDecrypt, initDecrypt, initEncrypt, initEncrypt, initEncrypt, initEncrypt, setMode, setPadding, update, 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
Methods inherited from class javax.crypto.CipherSpi
engineDoFinal, engineUnwrap, engineUpdate, engineUpdateAAD, engineUpdateAAD, engineWrap
-
Constructor Details
-
McEliecePKCSCipherSpi
-
-
Method Details
-
initCipherEncrypt
protected void initCipherEncrypt(Key key, AlgorithmParameterSpec params, SecureRandom sr) throws InvalidKeyException, InvalidAlgorithmParameterException Description copied from class:AsymmetricBlockCipher
Initialize the AsymmetricBlockCipher with a certain key for data encryption.- Specified by:
initCipherEncrypt
in classAsymmetricBlockCipher
- Parameters:
key
- the key which has to be used to encrypt dataparams
- the algorithm parameterssr
- the source of randomness- Throws:
InvalidKeyException
- if the given key is inappropriate for initializing this cipher.InvalidAlgorithmParameterException
- if the given parameters are inappropriate for initializing this cipher.
-
initCipherDecrypt
protected void initCipherDecrypt(Key key, AlgorithmParameterSpec params) throws InvalidKeyException, InvalidAlgorithmParameterException Description copied from class:AsymmetricBlockCipher
Initialize the AsymmetricBlockCipher with a certain key for data encryption.- Specified by:
initCipherDecrypt
in classAsymmetricBlockCipher
- Parameters:
key
- the key which has to be used to decrypt dataparams
- the algorithm parameters- Throws:
InvalidKeyException
- if the given key is inappropriate for initializing this cipherInvalidAlgorithmParameterException
- if the given parameters are inappropriate for initializing this cipher.
-
messageEncrypt
Description copied from class:AsymmetricBlockCipher
Encrypt the message stored in input. The method should also perform an additional length check.- Specified by:
messageEncrypt
in classAsymmetricBlockCipher
- Parameters:
input
- the message to be encrypted (usually the message length is less than or equal to maxPlainTextSize)- Returns:
- the encrypted message (it has length equal to maxCipherTextSize_)
- Throws:
IllegalBlockSizeException
- if the input is inappropriate for this cipher.BadPaddingException
- if the input format is invalid.
-
messageDecrypt
Description copied from class:AsymmetricBlockCipher
Decrypt the ciphertext stored in input. The method should also perform an additional length check.- Specified by:
messageDecrypt
in classAsymmetricBlockCipher
- Parameters:
input
- the ciphertext to be decrypted (the ciphertext length is less than or equal to maxCipherTextSize)- Returns:
- the decrypted message
- Throws:
IllegalBlockSizeException
- if the input is inappropriate for this cipher.BadPaddingException
- if the input format is invalid.
-
getName
- Specified by:
getName
in classCipherSpiExt
- Returns:
- the name of this cipher
-
getKeySize
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:
InvalidKeyException
- if key is invalid.
-