Level 5 - State Introduction (Puzzle 2)
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: a0a5aaafb4b9bec3c8cdd2d7dce1e6eb50555a5f64696e73787d82878c91969ba0a5aaafb4b9bec3c8cdd2d7dce1e6ebf0f5faff04090e13181d22272c31363b OUTPUT #02: 9f9a95908b86817c77726d68635e5954afaaa5a09b96918c87827d78736e69645f5a55504b46413c37322d28231e19140f0a0500fbf6f1ece7e2ddd8d3cec9c4 OUTPUT #03: a1a5aaafb4b9bec3c8cdd2d7dce1e6eb50555a5f64696e73787d82878c91969ba0a5aaafb4b9bec3c8cdd2d7dce1e6ebf0f5faff04090e13181d22272c31363b OUTPUT #04: a2a5aaafb4b9bec3c8cdd2d7dce1e6eb50555a5f64696e73787d82878c91969ba0a5aaafb4b9bec3c8cdd2d7dce1e6ebf0f5faff04090e13181d22272c31363b OUTPUT #05: 20a5aaafb4b9bec3c8cdd2d7dce1e6eb50555a5f64696e73787d82878c91969ba0a5aaafb4b9bec3c8cdd2d7dce1e6ebf0f5faff04090e13181d22272c31363b OUTPUT #06: 4aa5aaafb4b9bec3c8cdd2d7dce1e6eb50555a5f64696e73787d82878c91969ba0a5aaafb4b9bec3c8cdd2d7dce1e6ebf0f5faff04090e13181d22272c31363b OUTPUT #07: a09a95908b86817c77726d68635e5954afaaa5a09b96918c87827d78736e69645f5a55504b46413c37322d28231e19140f0a0500fbf6f1ece7e2ddd8d3cec9c4 OUTPUT #08: 909a95908b86817c77726d68635e5954afaaa5a09b96918c87827d78736e69645f5a55504b46413c37322d28231e19140f0a0500fbf6f1ece7e2ddd8d3cec9c4 OUTPUT #09: af9a95908b86817c77726d68635e5954afaaa5a09b96918c87827d78736e69645f5a55504b46413c37322d28231e19140f0a0500fbf6f1ece7e2ddd8d3cec9c4 OUTPUT #10: f59a95908b86817c77726d68635e5954afaaa5a09b96918c87827d78736e69645f5a55504b46413c37322d28231e19140f0a0500fbf6f1ece7e2ddd8d3cec9c4 OUTPUT #11: a0a4a8acb0bcb8c4c0c4d8dcd0ece8e44044484c707c78646064989c908c88848084888c909c98e4e0e4f8fcf0ccc8c4c0c4c8cc303c38242024181c100c0804 OUTPUT #12: 9f9b97938f83877b7f7b67636f53575bbfbbb7b38f83879b9f9b67636f73777b7f7b77736f63671b1f1b07030f33373b3f3b3733cfc3c7dbdfdbe7e3eff3f7fb OUTPUT #13: 4af040fa5eec54162218380236b48cbefa00f00ace3cc426d22828d226c43cce0af000fa1eec14966298788276b44cbe5aa050aaae5ca446b248887286649c6e OUTPUT #14: f54fff45e153eb291d27073d098bb38105ff0ff531c33bd92dd7d72dd93bc331f50fff05e113eb699d67877d894bb341a55faf5551a35bb94db7778d799b6391 OUTPUT #15: 90959a9f84898e73787d62676c51565ba0a5aaaf94999e83888d72777c61666b50555a5f44494e33383d22272c11161b00050a0ff4f9fee3e8edd2d7dcc1c6cb OUTPUT #16: afaaa5a0bbb6b1ccc7c2ddd8d3eee9e45f5a55506b66617c77728d88839e9994afaaa5a0bbb6b1ccc7c2ddd8d3eee9e4fffaf5f00b06011c17122d28233e3934 OUTPUT #17: a1a4abaeb5b8bfc2cacfd0d5dee3e4e954515e5b606d6a7770758a8f84999e93b0b5babfa4a9aed3e8edf2f7fcc1c6cbb0b5babf44494e53989da2a7acb1b6bb OUTPUT #18: a1a4abaeb6bbbcc1cacfd0d5dfe2e5e854515e5b616c6b7670758a8f85989f92a1a4abaeb6bbbcc1cacfd0d5dfe2e5e8f4f1fefb010c0b1610152a2f25383f32 OUTPUT #19: a1a7aea7a4d9fe43c9cfd6dfcc01a66b51575e5774492ef3797f868f9cb1d61b5e5851585b6601bc36302920333e59940e080108ebd6b16ce6e0d9d0c3ee8944 OUTPUT #20: e80006031bd5de14e7fffef3bd01aece3c393573443e01011419a3a7c4f4faf7cf898af8dbcbd2a7e9ed9ab2b08d89c7d0a2958d686d2f3350784e4b431d166c OUTPUT #21: ec0a180a19d917f3fbf8ffb7f8cecac42275293610490f1e1d09aea7effef8e8c5c6decac0cccce3a9a9bba7b59285829e92da9a68607a3f386e47430c55591b OUTPUT #22: a1a4a8acb1b1b3d6aaba0b4775d8c4306d4d0f32a6469f53694cc0f439b94b9e4242631fcd901c08a5f5770a5ebe07abd194781c6141a3e6ba8a1bf725e8d480 OUTPUT #23: 183ede6581f6d0a1c28046c9ed996bb366d33752e1e20d27e6e93cab2057e9c0de5725822dba2b5cab1e0a440006b49c6c71ecd613e581e2b7574605ff56d7b6 OUTPUT #24: 6572be2b8c7625773fe215471b1166a0ce677ff6955adbadd9157665098e91b46ca55605c81f9ea2b9b79a32f2c84511c76f6fc0ae619df036d8805cb86f5664 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