cascada.primitives.multi2 module

MULTI2 cipher.

Source: Cryptanalysis of the ISDB Scrambling Algorithm (MULTI2)

class cascada.primitives.multi2.MULTI2KeySchedule(*args, **options)[source]

Bases: cascada.bitvector.ssa.RoundBasedFunction

Key schedule function.

classmethod set_num_rounds(new_num_rounds)[source]

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

classmethod eval(d1, d2, *system_key)[source]

Evaluate the function (internal method).

class cascada.primitives.multi2.MULTI2Encryption(*args, **options)[source]

Bases: cascada.primitives.blockcipher.Encryption, cascada.bitvector.ssa.RoundBasedFunction

Encryption function.

classmethod set_num_rounds(new_num_rounds)[source]

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

classmethod eval(L, R)[source]

Evaluate the function (internal method).

class cascada.primitives.multi2.MULTI2Cipher(plaintext, masterkey, **options)[source]

Bases: cascada.primitives.blockcipher.Cipher

MULTI2 cipher.

key_schedule

alias of cascada.primitives.multi2.MULTI2KeySchedule

encryption

alias of cascada.primitives.multi2.MULTI2Encryption

classmethod set_num_rounds(new_num_rounds)[source]

Call RoundBasedFunction.set_num_rounds of key_schedule and encryption (if iterated).