← All Duels

grok-4_vs_gpt-5-mini-2025-08-07_20260124_131410.jsonl — 10 puzzles

grok-4
-2
vs
gpt-5-mini-2025-08-07
-2
#1 Solved
def mystery(x):
    if not isinstance(x, str): return False
    k = ord('*')
    e = (chr(2**6 + 2**3) +
         chr(3**4 - 6) +
         chr(4**3 + 4) +
         chr(5**2 * 3) +
         chr(2**2 * 17) +
         chr(150 // 2))
    if len(x) != len(e): return False
    for i in range(len(e)):
        if ord(x[i]) != ord(e[i]) ^ k:
            return False
    return True
"banana"
"banana"
Proposer: grok-4 Solver: gpt-5-mini-2025-08-07
0 vs 0
#2 Sample Solution Wrong
def mystery(x):
    # Accept only strings
    if not isinstance(x, str):
        return False

    # First 19 primes
    primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29,
              31, 37, 41, 43, 47, 53, 59, 61, 67]

    # Fibonacci helper (we need fib(n) for n up to 23)
    def fib(n):
        a, b = 0, 1
        for _ in range(n):
            a, b = b, a + b
        return a

    # Build the expected string using a convoluted sequence of ops
    expected_chars = []
    for i in range(len(primes)):
        p = primes[i]
        f = fib(i + 5)             # fib(5) ... fib(23)
        # combine components and keep only low 8 bits
        v = ( (p * 13) ^ (f * 7) ^ ((i << 4) + 0xA5) ) & 0xFF

        # three-way nonlinear transform
        if i % 3 == 0:
            # rotate left 1 on 8 bits
            v = ((v << 1) | (v >> 7)) & 0xFF
        elif i % 3 == 1:
            v = (~v) & 0xFF
        else:
            v = v ^ 0x55

        # add a quadratic offset, keep low 8 bits
        v = (v + (i * i + 17)) & 0xFF

        # finally fold into the printable ASCII range 32..126
        ch = chr((v % 95) + 32)
        expected_chars.append(ch)

    expected = ''.join(expected_chars)

    # Quick length check then exact match
    if len(x) != len(expected):
        return False
    return x == expected
"n(`t]s_OuY^gx)Vr^D!"
Proposer: gpt-5-mini-2025-08-07 Solver: grok-4
0 vs -1
#3 Solved
def mystery(x):
    if not isinstance(x, str): return False
    # First 7 primes
    primes = [2,3,5,7,11,13,17]
    # Fib helper
    def fib(n):
        a, b = 0, 1
        for _ in range(n):
            a, b = b, a + b
        return a
    # Build expected
    expected_chars = []
    for i in range(len(primes)):
        p = primes[i]
        f = fib(i + 4)  # fib(4) to fib(10)
        # Combine
        v = (p * 5) + (f * 2)
        v = v ^ (i + 10)
        v = v & 0xFF
        # Transform based on i % 4
        if i % 4 == 0:
            v = ((v << 3) | (v >> 5)) & 0xFF
        elif i % 4 == 1:
            v = v ^ 0xAA
        elif i % 4 == 2:
            v = (~v) & 0xFF
        elif i % 4 == 3:
            v = (v * 3) & 0xFF
        # Add linear offset
        v = (v + (i * 7 + 1)) & 0xFF
        # To printable 33-126 (94 chars)
        ch = chr((v % 94) + 33)
        expected_chars.append(ch)
    expected = ''.join(expected_chars)
    if len(x) != len(expected): return False
    return x == expected
"6%Ni[ex"
"6%Ni[ex"
Proposer: grok-4 Solver: gpt-5-mini-2025-08-07
0 vs -1
#4 Solved
def mystery(x):
    # Accept only strings
    if not isinstance(x, str):
        return False

    # Obfuscated byte sequence (see explanation)
    data = [141, 27, 107, 169, 192, 130, 85, 210, 187, 112, 152, 251]
    key = [0x5A, 0xC3, 0x9F]  # rotates every 3 bytes

    if len(x) != len(data):
        return False

    for i, d in enumerate(data):
        # reverse the obfuscation:
        # 1) subtract 0x7D (125) modulo 256
        # 2) XOR with rotating key
        # 3) subtract (i*13 + 7) modulo 256 -> original ordinal
        t2 = (d - 0x7D) & 0xFF
        temp = t2 ^ key[i % len(key)]
        orig = (temp - (i * 13 + 7)) & 0xFF
        if ord(x[i]) != orig:
            return False

    return True
"CIPHER-42-OK"
"CIPHER-42-OK"
Proposer: gpt-5-mini-2025-08-07 Solver: grok-4
0 vs -1
#5 Sample Solution Wrong
def mystery(x):
    if not isinstance(x, str): return False
    primes = [2,3,5,7,11,13,17,19,23,29,31,37]
    def fib(n):
        a, b = 0, 1
        for _ in range(n):
            a, b = b, a + b
        return a
    expected_chars = []
    for i in range(len(primes)):
        p = primes[i]
        f = fib(i + 3)
        temp = p**2 + f * 3
        xor_val = i * 5 + 1
        v = temp ^ xor_val
        v = v & 0xFF
        if i % 3 == 0:
            v = ((v << 2) | (v >> 6)) & 0xFF
        elif i % 3 == 1:
            v = v ^ 0x3C
        else:
            v = (v * 2 + 17) & 0xFF
        v = (v + i**2) & 0xFF
        ch = chr((v % 90) + 33)
        expected_chars.append(ch)
    expected = ''.join(expected_chars)
    if len(x) != len(expected): return False
    return x == expected
"MJ\"5`/Mw$/D)"
Proposer: grok-4 Solver: gpt-5-mini-2025-08-07
-1 vs -1
#6 Sample Solution Wrong
def mystery(x):
    # Accept only strings
    if not isinstance(x, str):
        return False

    # First 10 primes
    primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]

    # Fibonacci helper
    def fib(n):
        a, b = 0, 1
        for _ in range(n):
            a, b = b, a + b
        return a

    expected_chars = []
    for i, p in enumerate(primes):
        f = fib(i + 3)  # fib(3) .. fib(12)

        # mix arithmetic and bitwise ops (parenthesized to avoid ambiguity)
        v = ((p * 7) ^ (f * 5)) + (i * 31 + 13)
        v = v & 0xFF

        # three-way nonlinear transform
        if i % 3 == 0:
            # rotate left 3 on 8 bits
            v = ((v << 3) | (v >> 5)) & 0xFF
        elif i % 3 == 1:
            v = v ^ 0x5A
        else:
            v = (~v) & 0xFF

        # fold into printable ASCII range 33..126
        ch = chr((v % 94) + 33)
        expected_chars.append(ch)

    expected = ''.join(expected_chars)

    if len(x) != len(expected):
        return False
    return x == expected
'K===4FFGa]'
Proposer: gpt-5-mini-2025-08-07 Solver: grok-4
-1 vs -2
#7 Sample Solution Wrong
def mystery(x):
    if not isinstance(x, str): return False
    primes = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47]
    def fib(n):
        a, b = 0, 1
        for _ in range(n):
            a, b = b, a + b
        return a
    expected_chars = []
    for i in range(len(primes)):
        p = primes[i]
        f = fib(i + 4)
        v = (p * 11) ^ (f << 2)
        v = v + (i * 17 + 5)
        v = v & 0xFF
        if i % 4 == 0:
            v = ((v << 4) | (v >> 4)) & 0xFF
        elif i % 4 == 1:
            v = v ^ 0xA5
        elif i % 4 == 2:
            v = (~v) & 0xFF
        elif i % 4 == 3:
            v = (v * 5) & 0xFF
        v = (v + (i**2 * 3)) & 0xFF
        ch = chr((v % 95) + 32)
        expected_chars.append(ch)
    expected = ''.join(expected_chars)
    if len(x) != len(expected): return False
    return x == expected
"SS/QX/ZI%P%(yyU"
Proposer: grok-4 Solver: gpt-5-mini-2025-08-07
-2 vs -2
#8 Solved
def mystery(x):
    # Accept only strings
    if not isinstance(x, str):
        return False

    # Obfuscated bytes (see explanation)
    data = [135, 6, 151, 206, 23, 234, 180, 140,
            19, 168, 179, 2, 212, 218, 97, 16]

    key = [0x5A, 0xC3, 0x9F, 0x17, 0xB2, 0x6D, 0xE4]
    mul = [3, 5, 7, 11, 13]
    add = [0x1F, 0xA7, 0x4C, 0x9D, 0x33]  # 31,167,76,157,51

    def ror(v, n):
        return ((v >> n) | ((v << (8 - n)) & 0xFF)) & 0xFF

    if len(x) != len(data):
        return False

    for i, d in enumerate(data):
        # reverse final XOR
        t = d ^ 0x7E

        # reverse linear add: temp = (orig_rotated * mul + add) & 0xFF
        a = add[i % len(add)]
        m = mul[i % len(mul)]
        # subtract add modulo 256
        t2 = (t - a) & 0xFF

        # multiply-inverse modulo 256 (mul are odd so inverse exists)
        inv = pow(m, -1, 256)
        t3 = (t2 * inv) & 0xFF

        # reverse XOR with rotating key
        k = key[i % len(key)]
        t4 = t3 ^ k

        # reverse rotate-left by (i%5)+1  -> rotate-right by same
        rot = (i % 5) + 1
        orig_byte = ror(t4, rot)

        # reverse initial additive offset (i*31 + 17)
        expected = (orig_byte - (i * 31 + 17)) & 0xFF

        if ord(x[i]) != expected:
            return False

    return True
"QwErTy-42_Obfus!"
"QwErTy-42_Obfus!"
Proposer: gpt-5-mini-2025-08-07 Solver: grok-4
-2 vs -2
#9 Solved
def mystery(x):
    if not isinstance(x, str): return False
    primes = [2,3,5,7,11,13,17,19,23,29,31,37]
    def tri(n):
        return n * (n + 1) // 2
    expected_chars = []
    for i in range(len(primes)):
        p = primes[i]
        t = tri(i + 1)
        v = (p ** 2) * t
        v = v ^ (i * 7 + 3)
        v = v & 0xFF
        if i % 5 == 0:
            v = ((v << 1) | (v >> 7)) & 0xFF
        elif i % 5 == 1:
            v = v ^ 0xF0
        elif i % 5 == 2:
            v = (~v) & 0xFF
        elif i % 5 == 3:
            v = (v * 4) & 0xFF
        elif i % 5 == 4:
            v = ((v >> 2) | (v << 6)) & 0xFF
        v = (v + (i * 11 + 19)) & 0xFF
        ch = chr((v % 95) + 32)
        expected_chars.append(ch)
    expected = ''.join(expected_chars)
    if len(x) != len(expected): return False
    return x == expected
"Aab^aaW0DSYj"
"Aab^aaW0DSYj"
Proposer: grok-4 Solver: gpt-5-mini-2025-08-07
-2 vs -2
#10 Solved
def mystery(x):
    # Accept only strings
    if not isinstance(x, str):
        return False

    # Obfuscated bytes (constructed from the target by a layered transform)
    data = [49, 181, 7, 124, 36, 208, 25, 124,
            109, 228, 54, 195, 92, 80, 18, 144]

    key = [0x5A, 0xC3, 0x9F, 0x17]  # repeating XOR key
    if len(x) != len(data):
        return False

    for i, d in enumerate(data):
        # reverse the obfuscation that produced d from the original byte:
        # 1) original_byte was XORed with key[i%len(key)]
        # 2) then added (i*7 + 3) modulo 256
        t = (d - (i * 7 + 3)) & 0xFF
        orig = t ^ key[i % len(key)]
        if ord(x[i]) != orig:
            return False

    return True
"this_is_hard_123"
'this_is_hard_123'
Proposer: gpt-5-mini-2025-08-07 Solver: grok-4
-2 vs -2