Class McElieceKobaraImaiCipherSpi
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.McElieceKobaraImaiCipherSpi
- All Implemented Interfaces:
PKCSObjectIdentifiers,X509ObjectIdentifiers
- Direct Known Subclasses:
McElieceKobaraImaiCipherSpi.McElieceKobaraImai,McElieceKobaraImaiCipherSpi.McElieceKobaraImai224,McElieceKobaraImaiCipherSpi.McElieceKobaraImai256,McElieceKobaraImaiCipherSpi.McElieceKobaraImai384,McElieceKobaraImaiCipherSpi.McElieceKobaraImai512
public class McElieceKobaraImaiCipherSpi
extends AsymmetricHybridCipher
implements PKCSObjectIdentifiers, X509ObjectIdentifiers
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic classstatic classstatic class -
Field Summary
Fields inherited from class org.bouncycastle.pqc.jcajce.provider.util.AsymmetricHybridCipher
paramSpecFields inherited from class org.bouncycastle.pqc.jcajce.provider.util.CipherSpiExt
DECRYPT_MODE, ENCRYPT_MODE, opModeFields 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_mod_CMS_AEADChaCha20Poly1305, id_mod_cms_seed, id_mod_mts_hashsig_2013, 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, x509CrlFields inherited from interface org.bouncycastle.asn1.x509.X509ObjectIdentifiers
attributeType, commonName, countryName, crlAccessMethod, id_ad, id_ad_caIssuers, id_ad_ocsp, id_alg_noSignature, 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
ConstructorsModifierConstructorDescriptionprotectedMcElieceKobaraImaiCipherSpi(Digest digest, McElieceKobaraImaiCipher cipher) -
Method Summary
Modifier and TypeMethodDescriptionprotected intdecryptOutputSize(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 intencryptOutputSize(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.intgetKeySize(Key key) Return the key size of the given key object in bits.getName()protected voidinitCipherDecrypt(Key key, AlgorithmParameterSpec params) Initialize the AsymmetricHybridCipher with a certain key for data encryption.protected voidinitCipherEncrypt(Key key, AlgorithmParameterSpec params, 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, updateMethods 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, updateMethods inherited from class javax.crypto.CipherSpi
engineDoFinal, engineUnwrap, engineUpdate, engineUpdateAAD, engineUpdateAAD, engineWrap
-
Constructor Details
-
McElieceKobaraImaiCipherSpi
public McElieceKobaraImaiCipherSpi() -
McElieceKobaraImaiCipherSpi
-
-
Method Details
-
update
public byte[] update(byte[] input, int inOff, int inLen) Continue a multiple-part encryption or decryption operation.- Specified by:
updatein 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
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:
doFinalin 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:
BadPaddingException- if this cipher is in decryption mode, and (un)padding has been requested, but the decrypted data is not bounded by the appropriate padding bytes
-
encryptOutputSize
protected int encryptOutputSize(int inLen) Description copied from class:AsymmetricHybridCipherCompute 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:
encryptOutputSizein classAsymmetricHybridCipher- Parameters:
inLen- the length of the input- Returns:
- the output size
-
decryptOutputSize
protected int decryptOutputSize(int inLen) Description copied from class:AsymmetricHybridCipherCompute 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:
decryptOutputSizein classAsymmetricHybridCipher- Parameters:
inLen- the length of the input- Returns:
- the output size
-
initCipherEncrypt
protected void initCipherEncrypt(Key key, AlgorithmParameterSpec params, SecureRandom sr) throws InvalidKeyException, InvalidAlgorithmParameterException Description copied from class:AsymmetricHybridCipherInitialize the AsymmetricHybridCipher with a certain key for data encryption.- Specified by:
initCipherEncryptin classAsymmetricHybridCipher- 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:AsymmetricHybridCipherInitialize the AsymmetricHybridCipher with a certain key for data encryption.- Specified by:
initCipherDecryptin classAsymmetricHybridCipher- 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.
-
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.
-