Level 6 - Complex Multi-Pass (Puzzle 3)
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: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 OUTPUT #02: fffffdfbf7f1e7d7bd934fe12f0f3d4b87d157277da31fc1df9f7d1b97b147f73d336fa10fafbd6b2791b747fd433f81bf3ffd3b3771a717bdd38f61ef4f3d8b OUTPUT #03: 01000101020305080d1522375990e97962db3d18556dc22ff12011314273b528dd05e2e7c9b07929a2cb6d38a5dd825fe140216182e36548adf5a29739d009d9 OUTPUT #04: 0200020204060a101a2a446eb220d2f2c4b67a30aada845ee240226284e66a50ba0ac4ce9260f2524496da704aba04bec28042c204c6ca905aea442e72a012b2 OUTPUT #05: 80008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080 OUTPUT #06: aa00aaaa54fe5250a2f294861aa0ba5a146e82f07262d4360a404a8ad45e3290c25214667ae05a3a94ce623092c254166a80ea6a54be12d0e2b29446da20fa1a OUTPUT #07: 00fffefcf9f4ecdfcaa87118889f26c4e9ac943fd210e1f0d0bf8e4cd924fc1f1a385188d85f3694c95c247fa220c1e0a07f1e9cb9540c5f6ac831f8281f4664 OUTPUT #08: f0ffeeecd9c49c5ffa5851a8f89f9634c9fcc4bf8240c100c0bf7e3cb9f4ac9f4ae83118485fa604a9ac54ff5250a1f0907f0e8c9924bcdf9a781188981fb6d4 OUTPUT #09: 0fff0d0b172137578de36f51bf0fcddba78127a7cd733fb1ef9f8d2bb7e197770d838f119faf4dfb474187c74d135f71cf3f0d4b57a1f7978d23afd17f4fcd1b OUTPUT #10: 55ff5351a3f395871ba1bb5b156f83f17363d5370b414b8bd55f3391c35315677be15b3b95cf633193c355176b81eb6b55bf13d1e3b39547db21fb1b152f4371 OUTPUT #11: 000103070e1a2e4f85dd6c54cc2d07435aae1adb09f9182858990bbfe6c2c6a78d55047ca4450f7bb25632b311f13050b0311377be6a5eff95cd9ca47c5d17b3 OUTPUT #12: fffefaf4e9d7b98838b6e38d63e236082d233d4c74aa07998706725cb1ef8150b0de6b256b6aaef0753b8594ec520f310f0eeac4790749182806f3bd73f226d8 OUTPUT #13: aa55a953a64e9e41891f52c6c2dd497b6e3e56e9e927ba369a2569e3f62ece51c96fe2a6322d098b3e1e067929f7ca168af52973460efe6109bf7286a27dc99b OUTPUT #14: 55aa54a851a349963474fd1b6d32f4d01993013e947c658b457a1438a18379a674c48dfbdd82b4e0e973b1ced44c756b354ad4c8f163a9b6b4141ddb4dd274f0 OUTPUT #15: f0f0d0b070107070d030f010f0f0d0b070107070d030f010f0f0d0b070107070d030f010f0f0d0b070107070d030f010f0f0d0b070107070d030f010f0f0d0b0 OUTPUT #16: 0f0f2d4b87e17767ed635fd13f1f6d9b17c1e7b7ad732fb1efafad6b27a1d7876d037f911fbfedbbb78147d72d134f71cf4f2d8bc76137a7eda39f51ff5f6ddb OUTPUT #17: 01010305090f1929446fb526dd05e4ebd3c2995ffc5f5fc229f3241f4b72c53f146387fa919b3ce7434aad17e41b1f5ab9534cdf6b8a35ffb433671a019b1c37 OUTPUT #18: 010103050a111d304f81d2552a82af34e71f0a2d3c6eaf22d903e4efdcd4b99650e738205a7cd8563088ba4401484c97e7826df3655dc729f829295a8cef847c OUTPUT #19: 010207112859c19a5cf85858c03838f0291b486bc34e511f719207a1b879716ad940144b4e78857cff7872e14202038485068683f85a11eaf9e0d4ab6ef8259c OUTPUT #20: 486519ea72881af982eddb2c2874e4bd0d36b214e651a6697b48e44c78290da21eec2a6d06e557a018d8387519fa82a84a4902bd2b4c9804e44d9d5662e466a1 OUTPUT #21: 4c6f2d019bbcc0ec1f800cac1c37bf65961b24a84008a91e2cbe16f46dd0abeefe4fc175aa94b064753d1bc84c873626ca5741fdaa102e6ab895b2ab7d8c7824 OUTPUT #22: 0101040811213f75d682b1c35d9958cc6145fbad6a46a107b9f1ec50f16937a5be4ad1cb1509c094c18df35dd28e410f71e1d498d1b12fd5a612f1d3cd79285c OUTPUT #23: 789b47ace8e3f9fe01cc614b1d20ca42420ab9d00e69da970f3a076d2053f2a010a24110eafd7c18f7e2b126b3c0c5fc5ddd5056bdff4b3b35ba532f55eb2199 OUTPUT #24: c5d7b00bb38ddb5ceeb9ee376cd3bfdd3a49a89a3300e8c64f7dc01f64a20ddeb79548874b78e3bc10469ec99587bf403610db2aaf4183a758c4befd4faa5962 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