XXTEA Decrypt

Category: Ciphers

Status: Registered and callable in the CyberChef 11.3.0 compatibility inventory.

Input / output: ArrayBuffer → ArrayBuffer

Background: https://wikipedia.org/wiki/XXTEA

What it does

Corrected Block TEA (often referred to as XXTEA) is a block cipher designed to correct weaknesses in the original Block TEA. XXTEA operates on variable-length blocks that are some arbitrary multiple of 32 bits in size (minimum 64 bits). The number of full cycles depends on the block size, but there are at least six (rising to 32 for small block sizes). The original Block TEA applies the XTEA round function to each word in the block and combines it additively with its leftmost neighbour. Slow diffusion rate of the decryption process was immediately exploited to break the cipher. Corrected Block TEA uses a more involved round function which makes use of both immediate neighbours in processing each word in the block.

Note

Status here means the operation name is implemented and callable. It does not by itself promise byte-for-byte parity for every upstream option. See Compatibility and current status for the verified scope and known boundaries.

Arguments and options

Arguments are positional. Keep their order when using bake() or Pipeline.then().

Index

Name

UI type

PyChef default

Accepted values / format

0

Key

toggleString

{'string': '', 'option': 'Hex'}

''

Recipe template

Important

This is a call template built from the documented defaults. Replace placeholder values such as empty keys, paths, patterns, or lookup data before running it.

from pychef import bake

input_value = b"example"
args = [{'string': '', 'option': 'Hex'}]
result = bake(input_value, [{"op": 'XXTEA Decrypt', "args": args}])
print(result)

Pipeline example

from pychef import Pipeline

args = [{'string': '', 'option': 'Hex'}]
transform = Pipeline().then('XXTEA Decrypt', *args)
result = transform(b"example")

Dedicated operation module

The registered entry point lives in pychef.operations.by_operation.xxtea_decrypt. Direct calls receive the input value and a positional argument tuple:

from pychef.operations.by_operation.xxtea_decrypt import run

result = run(b"example", tuple([{'string': '', 'option': 'Hex'}]))
pychef.operations.by_operation.xxtea_decrypt.run(value, args)

Run this operation using its shared internal implementation.

Parameters:
  • value (str | bytes)

  • args (Sequence[Any])

Return type:

str | bytes