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, McEliecePKCSCipherSpi.McEliecePKCS224, McEliecePKCSCipherSpi.McEliecePKCS256, McEliecePKCSCipherSpi.McEliecePKCS384, McEliecePKCSCipherSpi.McEliecePKCS512
public class McEliecePKCSCipherSpi
- extends AsymmetricBlockCipher
- implements PKCSObjectIdentifiers, X509ObjectIdentifiers
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_commitmentType, id_aa_contentHint, id_aa_contentIdentifier, id_aa_contentReference, 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_msgSigDigest, id_aa_otherSigCert, id_aa_receiptRequest, id_aa_signatureTimeStampToken, id_aa_signerLocation, id_aa_signingCertificate, id_aa_signingCertificateV2, id_aa_sigPolicyId, id_alg_CMS3DESwrap, id_alg_CMSRC2wrap, id_alg_PWRI_KEK, 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_RSAES_OAEP, id_RSASSA_PSS, 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, sha512WithRSAEncryption, signedAndEnvelopedData, signedData, sMIMECapabilitiesVersions, srsaOAEPEncryptionSET, x509Certificate, x509certType, x509Crl |
Fields inherited from interface org.bouncycastle.asn1.x509.X509ObjectIdentifiers |
commonName, countryName, crlAccessMethod, id, id_ad, id_ad_caIssuers, id_ad_ocsp, id_at_name, id_at_telephoneNumber, id_ce, id_ea_rsa, id_pe, id_pkix, id_SHA1, localityName, ocspAccessMethod, organization, organizationalUnitName, ripemd160, ripemd160WithRSAEncryption, stateOrProvinceName |
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 |
engineDoFinal, engineUnwrap, engineUpdate, engineWrap |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
McEliecePKCSCipherSpi
public McEliecePKCSCipherSpi(Digest digest,
McEliecePKCSCipher cipher)
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.
- Specified by:
initCipherEncrypt
in class AsymmetricBlockCipher
- 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:
AsymmetricBlockCipher
- Initialize the AsymmetricBlockCipher with a certain key for data
encryption.
- Specified by:
initCipherDecrypt
in class AsymmetricBlockCipher
- 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
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.
- Specified by:
messageEncrypt
in class 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.
- Specified by:
messageDecrypt
in class 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()
- Specified by:
getName
in class 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.
- Specified by:
getKeySize
in class 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.