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
Nested Classes -
Field Summary
Fields inherited from class AsymmetricBlockCipher
buf, cipherTextSize, maxPlainTextSize, paramSpecFields inherited from class CipherSpiExt
DECRYPT_MODE, ENCRYPT_MODE, opModeFields inherited from interface 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, 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, sMIMECapabilitiesVersions, srsaOAEPEncryptionSET, x509Certificate, x509certType, x509CrlFields inherited from interface 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_PasswordBasedMac, id_pe, id_pkix, id_rsassa_pss_shake128, id_rsassa_pss_shake256, id_SHA1, localityName, ocspAccessMethod, organization, organizationalUnitName, ripemd160, ripemd160WithRSAEncryption, stateOrProvinceName -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintgetKeySize(Key key) Return the key size of the given key object in bits.getName()protected voidinitCipherDecrypt(Key key, AlgorithmParameterSpec params) Initialize the AsymmetricBlockCipher with a certain key for data encryption.protected voidinitCipherEncrypt(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 AsymmetricBlockCipher
checkLength, doFinal, doFinal, getBlockSize, getIV, getOutputSize, getParameters, initDecrypt, initDecrypt, initEncrypt, initEncrypt, initEncrypt, initEncrypt, setMode, setPadding, update, updateMethods inherited from class CipherSpiExt
doFinal, doFinal, engineDoFinal, engineDoFinal, engineGetBlockSize, engineGetIV, engineGetKeySize, engineGetOutputSize, engineGetParameters, engineInit, engineInit, engineInit, engineSetMode, engineSetPadding, engineUpdate, engineUpdate, updateMethods inherited from class 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:AsymmetricBlockCipherInitialize the AsymmetricBlockCipher with a certain key for data encryption.- Specified by:
initCipherEncryptin 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:AsymmetricBlockCipherInitialize the AsymmetricBlockCipher with a certain key for data encryption.- Specified by:
initCipherDecryptin 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:AsymmetricBlockCipherEncrypt the message stored in input. The method should also perform an additional length check.- Specified by:
messageEncryptin 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:AsymmetricBlockCipherDecrypt the ciphertext stored in input. The method should also perform an additional length check.- Specified by:
messageDecryptin 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:
getNamein classCipherSpiExt- Returns:
- the name of this cipher
-
getKeySize
Description copied from class:CipherSpiExtReturn the key size of the given key object in bits.- Specified by:
getKeySizein classCipherSpiExt- Parameters:
key- the key object- Returns:
- the key size in bits of the given key object
- Throws:
InvalidKeyException- if key is invalid.
-