Bouncy Castle Cryptography Library 1.79

org.bouncycastle.pqc.jcajce.provider.mceliece
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


Inner Class Summary
static class McEliecePKCSCipherSpi.McEliecePKCS
           
 
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
McEliecePKCSCipherSpi(McElieceCipher cipher)
           
 
Method Summary
 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 AsymmetricBlockCipher 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 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
engineUnwrap, engineWrap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

McEliecePKCSCipherSpi

public McEliecePKCSCipherSpi(McElieceCipher cipher)
Method Detail

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: AsymmetricBlockCipher
Initialize the AsymmetricBlockCipher with a certain key for data encryption.
Overrides:
initCipherEncrypt in class AsymmetricBlockCipher
Following copied from class: org.bouncycastle.pqc.jcajce.provider.util.AsymmetricBlockCipher
Parameters:
key - the key which has to be used to encrypt data
params - the algorithm parameters
sr - 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: AsymmetricBlockCipher
Initialize the AsymmetricBlockCipher with a certain key for data encryption.
Overrides:
initCipherDecrypt in class AsymmetricBlockCipher
Following copied from class: org.bouncycastle.pqc.jcajce.provider.util.AsymmetricBlockCipher
Parameters:
key - the key which has to be used to decrypt data
params - the algorithm parameters
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.

messageEncrypt

protected byte[] messageEncrypt(byte[] input)
                         throws javax.crypto.IllegalBlockSizeException,
                                javax.crypto.BadPaddingException
Description copied from class: AsymmetricBlockCipher
Encrypt the message stored in input. The method should also perform an additional length check.
Overrides:
messageEncrypt in class AsymmetricBlockCipher
Following copied from class: org.bouncycastle.pqc.jcajce.provider.util.AsymmetricBlockCipher
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:
javax.crypto.IllegalBlockSizeException - if the input is inappropriate for this cipher.
javax.crypto.BadPaddingException - if the input format is invalid.

messageDecrypt

protected byte[] messageDecrypt(byte[] input)
                         throws javax.crypto.IllegalBlockSizeException,
                                javax.crypto.BadPaddingException
Description copied from class: AsymmetricBlockCipher
Decrypt the ciphertext stored in input. The method should also perform an additional length check.
Overrides:
messageDecrypt in class AsymmetricBlockCipher
Following copied from class: org.bouncycastle.pqc.jcajce.provider.util.AsymmetricBlockCipher
Parameters:
input - the ciphertext to be decrypted (the ciphertext length is less than or equal to maxCipherTextSize)
Returns:
the decrypted message
Throws:
javax.crypto.IllegalBlockSizeException - if the input is inappropriate for this cipher.
javax.crypto.BadPaddingException - if the input format is invalid.

getName

public java.lang.String getName()
Overrides:
getName in class CipherSpiExt
Following copied from class: org.bouncycastle.pqc.jcajce.provider.util.CipherSpiExt
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.
Overrides:
getKeySize in class CipherSpiExt
Following copied from class: org.bouncycastle.pqc.jcajce.provider.util.CipherSpiExt
Parameters:
key - the key object
Returns:
the key size in bits of the given key object
Throws:
java.security.InvalidKeyException - if key is invalid.

Bouncy Castle Cryptography Library 1.79