cascada.primitives.skinny64 module

SKINNY-64-64.

TK1 version, where the tweakey size is equal to the block size.

This implementation is based on skinny128, but a WDTModel is used to model the XOR and linear models of the S-box.

class cascada.primitives.skinny64.SKINNYTweakeySchedule(*args, **options)[source]

Bases: cascada.primitives.skinny128.SKINNYTweakeySchedule

Key schedule of SKINNY-64-64.

classmethod set_num_rounds(new_num_rounds)[source]

Set RoundBasedFunction.num_rounds and update input_widths and output_widths if necessary.

class cascada.primitives.skinny64.SboxLut(**kwargs)[source]

Bases: cascada.bitvector.secondaryop.LutOperation

The 4-bit S-box of SKINNY-64-64.

linear_model

alias of cascada.linear.opmodel.get_wdt_model.<locals>.MyWDTModel

xor_model

alias of cascada.differential.opmodel.get_wdt_model.<locals>.MyWDTModel

class cascada.primitives.skinny64.SKINNYEncryption(*args, **options)[source]

Bases: cascada.primitives.skinny128.SKINNYEncryption

Encryption function of SKINNY-64-64.

sbox

alias of cascada.primitives.skinny64.SboxLut

class cascada.primitives.skinny64.SKINNYCipher(plaintext, masterkey, **options)[source]

Bases: cascada.primitives.skinny128.SKINNYCipher

The block cipher SKINNY-64-64.

key_schedule

alias of cascada.primitives.skinny64.SKINNYTweakeySchedule

encryption

alias of cascada.primitives.skinny64.SKINNYEncryption