Bouncy Castle Cryptography Library 1.79

org.bouncycastle.openpgp.operator.bc
Class BcPBEDataDecryptorFactory

java.lang.Object
  |
  +--org.bouncycastle.openpgp.operator.PBEDataDecryptorFactory
        |
        +--org.bouncycastle.openpgp.operator.bc.BcPBEDataDecryptorFactory
All Implemented Interfaces:
PGPDataDecryptorFactory

public class BcPBEDataDecryptorFactory
extends PBEDataDecryptorFactory

A PBEDataDecryptorFactory for handling PBE decryption operations using the Bouncy Castle lightweight API to implement cryptographic primitives.


Constructor Summary
BcPBEDataDecryptorFactory(char[] pass, BcPGPDigestCalculatorProvider calculatorProvider)
          Base constructor.
 
Method Summary
 PGPDataDecryptor createDataDecryptor(AEADEncDataPacket aeadEncDataPacket, PGPSessionKey sessionKey)
          Constructs a data decryptor for AEAD Encrypted Data packets.
 PGPDataDecryptor createDataDecryptor(boolean withIntegrityPacket, int encAlgorithm, byte[] key)
          Constructs a data decryptor for SED or v1 SEIPD packets.
 PGPDataDecryptor createDataDecryptor(SymmetricEncIntegrityPacket seipd, PGPSessionKey sessionKey)
          Constructs a data decryptor for v2 SEIPD packets.
 byte[] recoverAEADEncryptedSessionData(SymmetricKeyEncSessionPacket keyData, byte[] ikm)
          Recover the session data of a v5 SKESK or v6 SKESK packet.
 byte[] recoverSessionData(int keyAlgorithm, byte[] key, byte[] secKeyData)
          Recover the session key from a version 4 SKESK packet used in OpenPGP v4.
 
Methods inherited from class org.bouncycastle.openpgp.operator.PBEDataDecryptorFactory
makeKeyFromPassPhrase
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BcPBEDataDecryptorFactory

public BcPBEDataDecryptorFactory(char[] pass,
                                 BcPGPDigestCalculatorProvider calculatorProvider)
Base constructor.
Parameters:
pass - the passphrase to use as the primary source of key material.
calculatorProvider - a digest calculator provider to provide calculators to support the key generation calculation required.
Method Detail

recoverSessionData

public byte[] recoverSessionData(int keyAlgorithm,
                                 byte[] key,
                                 byte[] secKeyData)
                          throws PGPException
Recover the session key from a version 4 SKESK packet used in OpenPGP v4.
Overrides:
recoverSessionData in class PBEDataDecryptorFactory
Parameters:
keyAlgorithm - the encryption algorithm used to encrypt the session data.
key - the key bytes for the encryption algorithm.
secKeyData - the encrypted session data to decrypt.
Returns:
session key
Throws:
PGPException -  

recoverAEADEncryptedSessionData

public byte[] recoverAEADEncryptedSessionData(SymmetricKeyEncSessionPacket keyData,
                                              byte[] ikm)
                                       throws PGPException
Description copied from class: PBEDataDecryptorFactory
Recover the session data of a v5 SKESK or v6 SKESK packet. These are used in OpenPGP v5 and v6.
Overrides:
recoverAEADEncryptedSessionData in class PBEDataDecryptorFactory
Following copied from class: org.bouncycastle.openpgp.operator.PBEDataDecryptorFactory
Parameters:
keyData - v5 or v6 SKESK packet
ikm - initial keying material (e.g. S2K result)
Returns:
session key
Throws:
PGPException -  

createDataDecryptor

public PGPDataDecryptor createDataDecryptor(boolean withIntegrityPacket,
                                            int encAlgorithm,
                                            byte[] key)
                                     throws PGPException
Description copied from interface: PGPDataDecryptorFactory
Constructs a data decryptor for SED or v1 SEIPD packets.
Following copied from interface: org.bouncycastle.openpgp.operator.PGPDataDecryptorFactory
Parameters:
withIntegrityPacket - true if the packet to be decrypted has integrity checking enabled.
encAlgorithm - the identifier of the encryption algorithm to decrypt with.
key - the bytes of the key for the cipher.
Returns:
a data decryptor that can decrypt (and verify) streams of encrypted data.
Throws:
PGPException - if an error occurs initialising the decryption and integrity checking functions.

createDataDecryptor

public PGPDataDecryptor createDataDecryptor(AEADEncDataPacket aeadEncDataPacket,
                                            PGPSessionKey sessionKey)
                                     throws PGPException
Description copied from interface: PGPDataDecryptorFactory
Constructs a data decryptor for AEAD Encrypted Data packets. This method is used with OpenPGP v5 AEAD.
Following copied from interface: org.bouncycastle.openpgp.operator.PGPDataDecryptorFactory
Parameters:
aeadEncDataPacket - AEAD encrypted data packet
sessionKey - decrypted session key
Returns:
a data decryptor that can decrypt (and verify) streams of encrypted data.
Throws:
PGPException - if an error occurs initialising the decryption and integrity checking functions.

createDataDecryptor

public PGPDataDecryptor createDataDecryptor(SymmetricEncIntegrityPacket seipd,
                                            PGPSessionKey sessionKey)
                                     throws PGPException
Description copied from interface: PGPDataDecryptorFactory
Constructs a data decryptor for v2 SEIPD packets. This method is used with OpenPGP v6 AEAD.
Following copied from interface: org.bouncycastle.openpgp.operator.PGPDataDecryptorFactory
Parameters:
seipd - version 2 symmetrically encrypted integrity-protected data packet using AEAD.
sessionKey - decrypted session key
Returns:
a data decryptor that can decrypt (and verify) streams of encrypted data.
Throws:
PGPException - if an error occurs initialising the decryption and integrity checking functions.

Bouncy Castle Cryptography Library 1.79