example of simple chaos machine Chaos Machine K, t, m K  0.33, 0.44, 0.55, 0.44, 0.33 t  3 m  5 Buffer Space with Parameters Space bufferspace: listfloat   paramsspace: listfloat   Machine Time machinetime  0 def pushseed: global bufferspace, paramsspace, machinetime, K, m, t Choosing Dynamical Systems All for key, value in enumeratebufferspace: Evolution Parameter e  floatseed  value Control Theory: Orbit Change value  bufferspacekey  1  m  e  1 Control Theory: Trajectory Change r  paramsspacekey  e  1  3 Modification Transition Function  Jumps bufferspacekey  roundfloatr  value  1  value, 10 paramsspacekey  r   Saving to Parameters Space Logistic Map assert maxbufferspace  1 assert maxparamsspace  4 Machine Time machinetime  1 def pull: global bufferspace, paramsspace, machinetime, K, m, t PRNG Xorshift by George Marsaglia def xorshiftx, y: x  y  13 y  x  17 x  y  5 return x Choosing Dynamical Systems Increment key  machinetime  m Evolution Time Length for  in ranget: Variables Position  Parameters r  paramsspacekey value  bufferspacekey Modification Transition Function  Flow bufferspacekey  roundfloatr  value  1  value, 10 paramsspacekey  machinetime  0.01  r  1.01  1  3 Choosing Chaotic Data x  intbufferspacekey  2  m  1010 y  intbufferspacekey  2  m  1010 Machine Time machinetime  1 return xorshiftx, y  0xFFFFFFFF def reset: global bufferspace, paramsspace, machinetime, K, m, t bufferspace  K paramsspace  0  m machinetime  0 if name  main: Initialization reset Pushing Data Input import random message  random.samplerange0xFFFFFFFF, 100 for chunk in message: pushchunk for controlling inp   Pulling Data Output while inp in e, E: printfformatpull, '04x' printbufferspace printparamsspace inp  inputeexit? .strip
# Chaos Machine (K, t, m)
K = [0.33, 0.44, 0.55, 0.44, 0.33]
t = 3
m = 5

# Buffer Space (with Parameters Space)
buffer_space: list[float] = []
params_space: list[float] = []

# Machine Time
machine_time = 0


def push(seed):
    global buffer_space, params_space, machine_time, K, m, t

    # Choosing Dynamical Systems (All)
    for key, value in enumerate(buffer_space):
        # Evolution Parameter
        e = float(seed / value)

        # Control Theory: Orbit Change
        value = (buffer_space[(key + 1) % m] + e) % 1

        # Control Theory: Trajectory Change
        r = (params_space[key] + e) % 1 + 3

        # Modification (Transition Function) - Jumps
        buffer_space[key] = round(float(r * value * (1 - value)), 10)
        params_space[key] = r  # Saving to Parameters Space

    # Logistic Map
    assert max(buffer_space) < 1
    assert max(params_space) < 4

    # Machine Time
    machine_time += 1


def pull():
    global buffer_space, params_space, machine_time, K, m, t

    # PRNG (Xorshift by George Marsaglia)
    def xorshift(x, y):
        x ^= y >> 13
        y ^= x << 17
        x ^= y >> 5
        return x

    # Choosing Dynamical Systems (Increment)
    key = machine_time % m

    # Evolution (Time Length)
    for _ in range(t):
        # Variables (Position + Parameters)
        r = params_space[key]
        value = buffer_space[key]

        # Modification (Transition Function) - Flow
        buffer_space[key] = round(float(r * value * (1 - value)), 10)
        params_space[key] = (machine_time * 0.01 + r * 1.01) % 1 + 3

    # Choosing Chaotic Data
    x = int(buffer_space[(key + 2) % m] * (10**10))
    y = int(buffer_space[(key - 2) % m] * (10**10))

    # Machine Time
    machine_time += 1

    return xorshift(x, y) % 0xFFFFFFFF


def reset():
    global buffer_space, params_space, machine_time, K, m, t

    buffer_space = K
    params_space = [0] * m
    machine_time = 0


if __name__ == "__main__":
    # Initialization
    reset()

    # Pushing Data (Input)
    import random

    message = random.sample(range(0xFFFFFFFF), 100)
    for chunk in message:
        push(chunk)

    # for controlling
    inp = ""

    # Pulling Data (Output)
    while inp in ("e", "E"):
        print(f"{format(pull(), '#04x')}")
        print(buffer_space)
        print(params_space)
        inp = input("(e)exit? ").strip()
