Level 6 - Complex Multi-Pass (Puzzle 5)
Below is a puzzle involving 24 input buffers and their transformed outputs. Each buffer is exactly 64 bytes, shown in hex. Your task: Figure out the logic of the transformation used to go from the INPUT to the OUTPUT. Then, provide a Python function that, given any new 64-byte buffer, will produce the correct transformed output. Here are the 24 input (SRC) buffers in hex (one line per buffer): INPUT #01: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 INPUT #02: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff INPUT #03: 01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 INPUT #04: 02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 INPUT #05: 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 INPUT #06: aa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 INPUT #07: 00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff INPUT #08: f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff INPUT #09: 0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff INPUT #10: 55ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff INPUT #11: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f INPUT #12: fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0efeeedecebeae9e8e7e6e5e4e3e2e1e0dfdedddcdbdad9d8d7d6d5d4d3d2d1d0cfcecdcccbcac9c8c7c6c5c4c3c2c1c0 INPUT #13: aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55 INPUT #14: 55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa55aa INPUT #15: f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0 INPUT #16: 0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f INPUT #17: 01010101010101010202020202020202040404040404040408080808080808081010101010101010202020202020202040404040404040408080808080808080 INPUT #18: 01010101020202020202020203030303040404040505050508080808090909090101010102020202020202020303030304040404050505050808080809090909 INPUT #19: 0102040810204080010204081020408001020408102040800102040810204080fefdfbf7efdfbf7ffefdfbf7efdfbf7ffefdfbf7efdfbf7ffefdfbf7efdfbf7f INPUT #20: 48656c6c6f2c20576f726c64212048656c6c6f2c20576f726c64212048656c6c6f2c20576f726c64212048656c6c6f2c20576f726c64212048656c6c6f2c2057 INPUT #21: 4c6f72656d20697073756d20646f6c6f722073697420616d65742c20636f6e73656374657475722061646970697363696e6720656c69742c2073656420646f20 INPUT #22: 0101020305080d1522375990e97962db3d18556dc22ff12011314273b528dd05e2e7c9b07929a2cb6d38a5dd825fe140216182e36548adf5a29739d009d9e2bb INPUT #23: 789b34caf54f2e220acd941e71b88d5836866d0d858b63549e94be2cacc67f5b7ef28f2d9903959f63d3d893dce752779c84162917ec8ff1af4a6422d367e18d INPUT #24: c5d71484f8cf9bf4b76f47904730804b9e3225a9f133b5dea168f4e2851f072fcc00fcaa7ca62061717a48e52e29a3fa379a953faa6893e32ec5a27b945e605f And here are the corresponding transformed outputs (DST) in hex: OUTPUT #01: 00800181028203838000810182028303018100800383028281018000830382020282038300800181820283038000810103830282018100808303820281018000 OUTPUT #02: ff7ffe7efd7dfc7c0080018102820383800081018202830301810080038302828101800083038202028203830080018182028303800081010383028201810080 OUTPUT #03: 80800181028203838000810182028303018100800383028281018000830382020282038300800181820283038000810103830282018100808303820281018000 OUTPUT #04: 01800181028203838000810182028303018100800383028281018000830382020282038300800181820283038000810103830282018100808303820281018000 OUTPUT #05: 40800181028203838000810182028303018100800383028281018000830382020282038300800181820283038000810103830282018100808303820281018000 OUTPUT #06: 55800181028203838000810182028303018100800383028281018000830382020282038300800181820283038000810103830282018100808303820281018000 OUTPUT #07: 007ffe7efd7dfc7c0080018102820383800081018202830301810080038302828101800083038202028203830080018182028303800081010383028201810080 OUTPUT #08: 787ffe7efd7dfc7c0080018102820383800081018202830301810080038302828101800083038202028203830080018182028303800081010383028201810080 OUTPUT #09: 877ffe7efd7dfc7c0080018102820383800081018202830301810080038302828101800083038202028203830080018182028303800081010383028201810080 OUTPUT #10: aa7ffe7efd7dfc7c0080018102820383800081018202830301810080038302828101800083038202028203830080018182028303800081010383028201810080 OUTPUT #11: 0000000000000000848584878485848b09090b0b09090f0f8d8e8f8e8d9293921212121216161616969796999a9b9a991b1b1d1d1f1f1d1d9fa0a1a0a3a0a1a0 OUTPUT #12: ffffffffffffffff7c7b7a7b787b7a7bf8f8f6f6f4f4f6f67574757271707172f1f1f1f1edededed6e6d6c6d6e696869eaeae8e8eaeae4e46766676467666760 OUTPUT #13: 552a542b57285629d5abd4aad7a9d6a8562b572a54295528d6acd7add4aed5af572c562d552e542fd7add6acd5afd4ae582d592c5a2f5b2ed8aed9afdaacdbad OUTPUT #14: aad5abd4a8d7a9d62b552a5429572856abd6aad7a9d4a8d52c562d572e542f55acd7add6aed5afd42d572c562f552e54add8acd9afdaaedb2e582f592c5a2d5b OUTPUT #15: 78f879f97afa7bfbf878f979fa7afb7b79f978f87bfb7afaf979f878fb7bfa7a7afa7bfb78f879f9fa7afb7bf878f9797bfb7afa79f978f8fb7bfa7af979f878 OUTPUT #16: 8707860685058404088809890a8a0b8b880889098a0a8b0b098908880b8b0a8a890988088b0b8a0a0a8a0b8b088809898a0a8b0b880889090b8b0a8a09890888 OUTPUT #17: 80008101820283038101800083038202038302820181008085058404870786060a8a0b8b08880989921293139010911123a322a221a120a0c343c242c141c040 OUTPUT #18: 8000810103830282810180000080018103830282810180008505840404840585820283030181008083038202068607870585048487078606870786060a8a0b8b OUTPUT #19: 808103850a9223c3010183058a12a343818202840b9322c2020282048b13a2420100fe7cfb73e242818101ff78f061c10201817ff870e141828200fe79f160c0 OUTPUT #20: 243237b7b59413283839b7331312a7b037b7b996132ebbb9b7331310a7b6b434b998132cbbb93bb71312a7b4ba3a391b132ebbbd3bb79090a7b6b838391b90ac OUTPUT #21: 26373833b492b7bb3abb3611b0bab5bb3a91bb343993b234343b961031bbbbb8b4333d353e3e38913334363b35be37b43a3612343b353e9a93bd373491373810 OUTPUT #22: 8000000080868509919c2c4977bfb2ed9f8daa36601afa920a9aa3ba5e1773877375e7dbbc145064391e54f0c1b0702193334575b7a5da7ed4cf216a0af2f7e2 OUTPUT #23: 3c4d1be4f825149285e7cb0e3b5e442f1cc4b606c144b1a8d04be116d56642ac41fbc819cc01cf5234ecefcdf2f4a8bd51c50f168cfbc9785b28b4156fb577c9 OUTPUT #24: e26b0bc37e65cef95cb82549261ac3a5509a9254fb18d8f35235fa734693069a688201d642d711313b3fa7f49b95577c9ed0cc235ab5cf779ae6d5c0cf30b0b0 Instructions: - Return just your best possible approximation as a small python function that takes a 64 byte array as input, and returns the 64 byte array as output. - Remember, the transformation is the same for all 24 buffers. - The function will be scored by the number of buffers that are correctly transformed (as shown in the 24 outputs). - And it also will be tested on another set of 24 hidden input buffers not shown in the prompt. - Do not include anything else in your response, no introduction text or explanations. Example Output: def transform(data: bytes) -> bytes: # Transform logic return bytes
Copy Puzzle Prompt
Submit your solution:
def transform(data: bytes) -> bytes: # Your solution here return data
Submit
Leaderboard