katnip.model.low_level.encoder module

Extensions to Kitty’s encoders.

This module contain encoders that were excluded from Kitty because they are too esoteric or because they require external dependencies that might be harder to install on some platforms.

External dependencies that are not installed by default: pycrypto

katnip.model.low_level.encoder.AesCbcDecryptEncoder(key=None, iv=None, key_size=16, key_provider=None)

AES CBC Decrypt encoder. See AesDecryptEncoder for parameter description.

katnip.model.low_level.encoder.AesCbcEncryptEncoder(key=None, iv=None, key_size=16, key_provider=None, padder=None)

AES CBC Encrypt encoder. See AesEncryptEncoder for parameter description.

class katnip.model.low_level.encoder.AesDecryptEncoder(key=None, iv=None, mode=None, key_size=None, key_provider=None, padder=None)

Bases: katnip.model.low_level.encoder.BlockDecryptEncoder

AES decryption encoder. See BlockCipherEncoder for parameters.

katnip.model.low_level.encoder.AesEcbDecryptEncoder(key=None, iv=None, key_size=16, key_provider=None)

AES ECB Decrypt encoder. See AesDecryptEncoder for parameter description.

katnip.model.low_level.encoder.AesEcbEncryptEncoder(key=None, iv=None, key_size=16, key_provider=None, padder=None)

AES ECB Encrypt encoder. See AesEncryptEncoder for parameter description.

class katnip.model.low_level.encoder.AesEncryptEncoder(key=None, iv=None, mode=None, key_size=None, key_provider=None, padder=None)

Bases: katnip.model.low_level.encoder.BlockEncryptEncoder

AES encryption encoder. See BlockCipherEncoder for parameters.

class katnip.model.low_level.encoder.BlockCipherEncoder(key=None, iv=None, mode=None, key_size=None, key_provider=None, padder=None)

Bases: kitty.model.low_level.encoder.StrEncoder

Generic block cipher encoder.

__init__(key=None, iv=None, mode=None, key_size=None, key_provider=None, padder=None)

All fields default to None. :type key: str :param key: encryption key, must be 8 bytes :param iv: iv, must be 8 bytes long, if None - use zeros :param mode: encrytion mode :param key_size: size of key, should be provided only when using key provider :type key_provider: function(key_size) -> str :param key_provider: function that returns key :type padder: function(str, block_size) -> str :param padder: function that pads the data, if None - will pad with zeros

class katnip.model.low_level.encoder.BlockDecryptEncoder(key=None, iv=None, mode=None, key_size=None, key_provider=None, padder=None)

Bases: katnip.model.low_level.encoder.BlockCipherEncoder

Generic block cipher decryption encoder. See BlockCipherEncoder for parameters.

encode(data)
class katnip.model.low_level.encoder.BlockEncryptEncoder(key=None, iv=None, mode=None, key_size=None, key_provider=None, padder=None)

Bases: katnip.model.low_level.encoder.BlockCipherEncoder

Generic block cipher encryption encoder.

encode(data)
class katnip.model.low_level.encoder.Des3DecryptEncoder(key=None, iv=None, mode=None, key_size=None, key_provider=None, padder=None)

Bases: katnip.model.low_level.encoder.BlockDecryptEncoder

3DES decryption encoder. See BlockCipherEncoder for parameters.

class katnip.model.low_level.encoder.Des3EncryptEncoder(key=None, iv=None, mode=None, key_size=None, key_provider=None, padder=None)

Bases: katnip.model.low_level.encoder.BlockEncryptEncoder

3DES encryption encoder. See BlockCipherEncoder for parameters.

class katnip.model.low_level.encoder.DesDecryptEncoder(key=None, iv=None, mode=None, key_size=None, key_provider=None, padder=None)

Bases: katnip.model.low_level.encoder.BlockDecryptEncoder

DES decryption encoder. See BlockCipherEncoder for parameters.

class katnip.model.low_level.encoder.DesEncryptEncoder(key=None, iv=None, mode=None, key_size=None, key_provider=None, padder=None)

Bases: katnip.model.low_level.encoder.BlockEncryptEncoder

DES encryption encoder. See BlockCipherEncoder for parameters.