cascada.primitives.shacal2 module

SHACAL-2 cipher (based on SHA-256).

cascada.primitives.shacal2.N = 4

number of key words (N=4 for 128-bit key).

class cascada.primitives.shacal2.SHACAL2KeySchedule(*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(*W)[source]

Evaluate the function (internal method).

class cascada.primitives.shacal2.SHACAL2Encryption(*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(A, B, C, D, E, F, G, H)[source]

Evaluate the function (internal method).

class cascada.primitives.shacal2.SHACAL2Cipher(plaintext, masterkey, **options)[source]

Bases: cascada.primitives.blockcipher.Cipher

SHACAL-2 cipher.

key_schedule

alias of cascada.primitives.shacal2.SHACAL2KeySchedule

encryption

alias of cascada.primitives.shacal2.SHACAL2Encryption

classmethod set_num_rounds(new_num_rounds)[source]

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