escale.encryption package¶
-
class
escale.encryption.Cipher(passphrase)¶ Bases:
objectPartially abstract class that encrypts and decrypts file.
A concrete Cipher class should implement
_encrypt()and_decrypt().-
passphrase¶ arbitrarily long passphrase.
Type: str-like
-
_temporary_files¶ list of paths to existing temporary files.
Type: list
-
finalize(cipher)¶ Example:
temp_file = cipher.encrypt(plain_file) # manipulate encrypted file `temp_file` cipher.finalize(temp_file) # `temp_file` is no longer available
-
prepare(plain)¶ Example:
# plain_file may refer to a non-existing file temp_file = cipher.prepare(plain_file) # get encrypted file as `temp_file`, # and then decrypt it into `target_file`: cipher.decrypt(temp_file, plain_file) # `temp_file` is no longer available
-
-
class
escale.encryption.Plain(*ignored)¶ Bases:
escale.encryption.encryption.CipherConcrete implementation of Cipher that actually does not cipher.
-
finalize(cipher)¶ Example:
temp_file = cipher.encrypt(plain_file) # manipulate encrypted file `temp_file` cipher.finalize(temp_file) # `temp_file` is no longer available
-
prepare(plain)¶ Example:
# plain_file may refer to a non-existing file temp_file = cipher.prepare(plain_file) # get encrypted file as `temp_file`, # and then decrypt it into `target_file`: cipher.decrypt(temp_file, plain_file) # `temp_file` is no longer available
-
-
class
escale.encryption.Blowfish(passphrase, mode='OFB')¶ Bases:
escale.encryption.encryption.CipherBlowfish encryption based on the cryptography library.
-
class
escale.encryption.Fernet(passphrase)¶ Bases:
escale.encryption.encryption.CipherSee also cryptography.io/en/latest/fernet.
escale.encryption.encryption module¶
-
class
escale.encryption.encryption.Cipher(passphrase)¶ Bases:
objectPartially abstract class that encrypts and decrypts file.
A concrete Cipher class should implement
_encrypt()and_decrypt().-
passphrase¶ arbitrarily long passphrase.
Type: str-like
-
_temporary_files¶ list of paths to existing temporary files.
Type: list
-
decrypt(cipher, plain=None, consume=True, makedirs=True)¶
-
encrypt(plain, cipher=None)¶
-
finalize(cipher)¶ Example:
temp_file = cipher.encrypt(plain_file) # manipulate encrypted file `temp_file` cipher.finalize(temp_file) # `temp_file` is no longer available
-
prepare(plain)¶ Example:
# plain_file may refer to a non-existing file temp_file = cipher.prepare(plain_file) # get encrypted file as `temp_file`, # and then decrypt it into `target_file`: cipher.decrypt(temp_file, plain_file) # `temp_file` is no longer available
-
-
class
escale.encryption.encryption.Plain(*ignored)¶ Bases:
escale.encryption.encryption.CipherConcrete implementation of Cipher that actually does not cipher.
-
decrypt(cipher, plain=None, consume=False)¶
-
encrypt(plain, cipher=None)¶
-
finalize(cipher)¶ Example:
temp_file = cipher.encrypt(plain_file) # manipulate encrypted file `temp_file` cipher.finalize(temp_file) # `temp_file` is no longer available
-
prepare(plain)¶ Example:
# plain_file may refer to a non-existing file temp_file = cipher.prepare(plain_file) # get encrypted file as `temp_file`, # and then decrypt it into `target_file`: cipher.decrypt(temp_file, plain_file) # `temp_file` is no longer available
-
escale.encryption.fernet module¶
The fernet module provides the recommended implementation for the Cipher class.
It is based on the cryptography library.
-
class
escale.encryption.fernet.Fernet(passphrase)¶ Bases:
escale.encryption.encryption.CipherSee also cryptography.io/en/latest/fernet.
escale.encryption.blowfish module¶
The blowfish module is actually a package that accomodates several implementations refered to as backends.
The cryptography backend prevails if the cryptography library is available (see here).
Otherwise, Blowfish is implemented with blowfish as a backend (blowfish library).
-
class
escale.encryption.blowfish.Blowfish(passphrase, mode='OFB')¶ Bases:
escale.encryption.encryption.CipherBlowfish encryption based on the cryptography library.
escale.encryption.blowfish.blowfish module¶
escale.encryption.blowfish.cryptography module¶
-
class
escale.encryption.blowfish.cryptography.Blowfish(passphrase, mode='OFB')¶ Bases:
escale.encryption.encryption.CipherBlowfish encryption based on the cryptography library.