Ti_moe_more Apr 2026

: Observe that the LSB of the keystream is directly tied to the LSB of the initial state. Bit-Stepping : Assume the first bits of the state are known. Simulate the T-function for the next bit (

: Once the initial state is recovered, re-run the generator to produce the full keystream and XOR it with the provided ciphertext to reveal the flag [2, 6].

: Since there may be multiple candidates for a bit that satisfy the equation temporarily, use a recursive search or a queue-based approach to find the state that consistently produces the correct keystream for the entire length of the flag [3, 4]. ti_moe_more

The challenge provides a Python script that encrypts a flag using a custom-built keystream generator. The core of the generator relies on a , which is a type of mapping where the -th bit of the output only depends on the

-th bit of the state update does not depend on bits higher than : Observe that the LSB of the keystream

is a cryptographic challenge from the 2024 BuckeyeCTF , focusing on exploiting a flawed implementation of a Custom T-Function based stream cipher [1, 2]. Challenge Overview

The graph above illustrates the of T-functions: bit only depends on bits , allowing for the bit-by-bit recovery used in the exploit. : Since there may be multiple candidates for

The vulnerability in stems from the predictable bit-propagation within the T-function: Bit-by-Bit Leakage : Because the