Level 7 - Advanced Combinations (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: cccbd9e68aa55f0830f74d02eeb11384b82fad32be51eb8c34e399561ae5b7907057453a363943546c8bb1de124d8fd8287fdd42ae219b1ca433c9660ab56720 OUTPUT #02: 333b241e795daaf83777b8ea1db9de6437bf40ba2d99fe5cb3034c8ec9fd2a506f8798a2a5a196846b4b24f6c18542f8a74ff08a1da92eac2393fc5eb90d5aa0 OUTPUT #03: cdc4dae78ba6580931f04e03efb22c85b930ae33bf52ec8d35e49a571be6b8917158463b373a44556d8cb2df134e90d92980de43af229c1da534ca670bb66821 OUTPUT #04: cec5dbe084a7590a32f14f1ce8b32d86ba31af34c053ed8e36e59b581ce7b9927259473c383b45566e8db3e0144f91da2a81df44b0239d1ea635cb680cb76922 OUTPUT #05: 4c4b59660a25df88b077cd826e31930438af2db23ed16b0cb46319d69a653710f0d7c5bab6b9c3d4ec0b315e92cd0f58a8ff5dc22ea11b9c24b349e68a35e7a0 OUTPUT #06: 667d73183cdff1a26a29e7b400eb453e62d957dc68fb9536de8d4300c48f613a1a01efe4e0e3edfe16355b88bcf73982d22987ec58cb45c64edd7310b45f11ca OUTPUT #07: cc34251f7a5eabf93070b9eb1ebadf6538c041bb2e9aff5db4044d8fcafe2b51708899a3a6a297856c4c25f7c28643f9a850f18b1eaa2fad2494fd5fba0e5ba1 OUTPUT #08: 3c24150f6a4e9be92060a9db0eaacf5528b031ab1e8aef4da4f43d7fbaee1b4160788993969287755c3c15e7b27633e99840e17b0e9a1f9d1484ed4faafe4b91 OUTPUT #09: c3cb342e096dba88c70748fa2d49ee7447cf50ca3da90e6cc3135c9ed90d3a607f97a8b2b5b1a6947b5b3406d1955208b75f009a2db93ebc33a30c6ec91d6ab0 OUTPUT #10: 9981f2e4c72b70469ddd06b0eb07a4328d15961083ef54b20959a2e41f5380a6c5ddeef8fbf7ecdac1a17a4c17db984efda546e073ff840279e952b40f63b0f6 OUTPUT #11: cccadee48caa5e0434e2b60cd4a2168ca0067208a026b26818ce7a20f8ce9a6020e6b2886086b2e8184e5a60788efa60c02692e84086d28838ee9a40d86efa80 OUTPUT #12: 333427187758abfc3304b7f81748db7c4fe87be44bc43780cf186bc4eb144780bff82b547b5427f0bf887b745b44d7700fa83be48b44f7408fd82b84eb54c740 OUTPUT #13: 66306c2c5ac0403c4e20143c223008ccdafcd0a0c68cbcb0b2acc8b01ebc34c00abc00a0f64cec30e22cb830ce3c24403a3c3060264c1cf012ec28f0fefc1400 OUTPUT #14: 99ce91d0a922a1c4b9c6d1c8c93ae13c15f21d4c255e2d38353a1d34c526ad20d522dd3ce58eeda8f5aa1da40596ad9095929d6ca57eadd8b5da9dd4c5c6adc0 OUTPUT #15: 3c2b29067a45afe82077bde21eb1c36428af3db22e91fb4ca4034996ca0527506077959aa69993745c4b21fec28d3ff8983fed821ea12b9c1493f966ba1557a0 OUTPUT #16: c3dbd4fe89bd5a18c7f7480aedb92e84c73fb03abd59ee9c43e39c4e19ddba907f674842354146647b8bb4d6114592d8378fe04aad299e2cb333cc5e09ad6a20 OUTPUT #17: cdcbdae68ba5580832f7b302e8b11184bc2fa92ab249e78c2cd3914612d5af807067654a364963649cdbe1ee021d7fe8f80f2d527eb1ebacb4c3d9f61a4577b0 OUTPUT #18: cdcbdae684a55d0832f7b302e9b11284bc2fa92ab349e88c2cd3914613d5b0806147362a282931445e7b9fce053d7ec81c6fc92a9309880c8c13b146f3955000 OUTPUT #19: cdcadce1f5f06a9b5c01c39854dff9d28f047e0ba75a3455feab5d12e6d163bcdaf4090b1efaaf1d03e5c29c775b588e3ce68b1da04c110f85f764ce198d9a60 OUTPUT #20: 8466c04934cbddbb02d789a22f924458b0cbdc8531f5eabd814ce3800cba782dbc8755f78afb61d60f4ebc045cb3e045b5b5e6fdfd146f10d0bab4a570f78977 OUTPUT #21: 8078fc6cddd89b542fe1940939e5fbf13f96a38f873a3501cea943e0872be791169a34c44cc23a6be45fae0b68b0d1f12f5fddddddf705b25a564942c695720b OUTPUT #22: cdcbdfe58ea158741e16351a5f7979abb4234e368440ab2ce5837745b699a8848686adf277a1492398bf4232e84ceff8699f7b010a451c90bad281ce7bed3d3f OUTPUT #23: b4d882e1da4e4a550771432ecb2615c6504154dce5fdf6eb215c64f55d6a1799374cad85eaea8917925e5c1a02deee2cf8cb135fda796ede05cabc7bf2be1145 OUTPUT #24: 0959638ce8dc0d4ad9a9aa8f9a0d6f09b3f8537ffc9ccb4a531a5cbbfcd0a59bc7aec01f9f446ede47ac1ae2fc0eefa209d6a1fbc1dcc527cd174b316156280e 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