Bouncy Castle Cryptography Library 1.79

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


Inner Class Summary
static class McElieceKobaraImaiCipherSpi.McElieceKobaraImai
           
static class McElieceKobaraImaiCipherSpi.McElieceKobaraImai224
           
static class McElieceKobaraImaiCipherSpi.McElieceKobaraImai256
           
static class McElieceKobaraImaiCipherSpi.McElieceKobaraImai384
           
static class McElieceKobaraImaiCipherSpi.McElieceKobaraImai512
           
 
Fields inherited from class org.bouncycastle.pqc.jcajce.provider.util.AsymmetricHybridCipher
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
  McElieceKobaraImaiCipherSpi()
           
protected McElieceKobaraImaiCipherSpi(Digest digest, McElieceKobaraImaiCipher cipher)
           
 
Method Summary
protected  int decryptOutputSize(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  int encryptOutputSize(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.
 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 AsymmetricHybridCipher 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 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, 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

McElieceKobaraImaiCipherSpi

public McElieceKobaraImaiCipherSpi()

McElieceKobaraImaiCipherSpi

protected McElieceKobaraImaiCipherSpi(Digest digest,
                                      McElieceKobaraImaiCipher cipher)
Method Detail

update

public byte[] update(byte[] input,
                     int inOff,
                     int inLen)
Continue a multiple-part encryption or decryption operation.
Overrides:
update in class AsymmetricHybridCipher
Parameters:
input - byte array containing the next part of the input
inOff - index in the array where the input starts
inLen - length of the input
Returns:
the processed byte array.

doFinal

public byte[] doFinal(byte[] input,
                      int inOff,
                      int inLen)
               throws javax.crypto.BadPaddingException
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.
Overrides:
doFinal in class AsymmetricHybridCipher
Parameters:
input - the input buffer
inOff - the offset in input where the input starts
inLen - the input length
Returns:
the new buffer with the result
Throws:
javax.crypto.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: AsymmetricHybridCipher
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.
Overrides:
encryptOutputSize in class AsymmetricHybridCipher
Following copied from class: org.bouncycastle.pqc.jcajce.provider.util.AsymmetricHybridCipher
Parameters:
inLen - the length of the input
Returns:
the output size

decryptOutputSize

protected int decryptOutputSize(int inLen)
Description copied from class: AsymmetricHybridCipher
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.
Overrides:
decryptOutputSize in class AsymmetricHybridCipher
Following copied from class: org.bouncycastle.pqc.jcajce.provider.util.AsymmetricHybridCipher
Parameters:
inLen - the length of the input
Returns:
the output size

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: AsymmetricHybridCipher
Initialize the AsymmetricHybridCipher with a certain key for data encryption.
Overrides:
initCipherEncrypt in class AsymmetricHybridCipher
Following copied from class: org.bouncycastle.pqc.jcajce.provider.util.AsymmetricHybridCipher
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: AsymmetricHybridCipher
Initialize the AsymmetricHybridCipher with a certain key for data encryption.
Overrides:
initCipherDecrypt in class AsymmetricHybridCipher
Following copied from class: org.bouncycastle.pqc.jcajce.provider.util.AsymmetricHybridCipher
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.

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