201207080023 w7jay
explained decrypted filler
seed 923
From the post to its content
As posted (encrypted)
DA89EC534E1444B0 9F57C8E4909FF81B 69565050E8519201 705B11F60096B5A1 2133395632ABDE33 C3DE2F64DB062468 96FB76BBC605AC66 AEBFD6D7E7929CAA 668572C3B3F7ACC5 CFB5558C866BD7EE 705B65FAC9ED653F 23EA61A045614A7D 44C68CF8207D11F6 3044ADE70068438E C06442183957F1A1 C10EDEBF99202209 AC1247D0A3DDDABE 62E93ED93B3903A3 C1EBDD2984A101F5 2D99D59E11963148 7CCBE192AEE7DE28 68BDB099719A3F53 9A880C1682B9F281 0E699BA9AE7E28F5 7599A20CC49F67D8 6E02F8DF7DE4F992 BBC80553851260D0 ACD85C9D7C8E9984 2D90CB1519D4F220 01F9F91FE6FE0F5E E4B958ACF9A67B26 6D9C2973D5551F26 0A8799382B066C90 CD2817F68A73D583 E27717C2490F8518 DA9221F107825D82 8096717073EC2A5B F53C55457FD151EE C17AAC0DFFAC14F4 2397CF6080477AD2 490C2C4CAEE76E22 DDA95DCFD1AA2735 4B87BB0B5518DAC6 1A9A9FE5A38AED61 07B271DFC4B258E6 E7F366E251389C75 79D9570599E90151 BE994672D637157F D9DE75C35B88B371 5B116861E3C70229 6F4828E5B3054B8B 4AA9349833225BCA 85BB3D6E4ADD0897 D4BD73B5E8B386AE 1C01465FED1A5A30 69E3E2896701E90D 4D8CBBEC863E9B47 27952267C12ED7D6 9A9B62EA5BE6D1F5 C209765AA5D9B02C D24890D28B88ADFC 5FD4CAD647EE659D 9026A9CC9C8D770D 63342127C3D90F6D 8E07D3ABA615D63C ECB603815DC5FFD2 0659327A7A2DF0D1 B409B75E745866AC C6979DFC08F6CDD5 724A4BEE933988C8 399E21BC846D5CD7 2D0A9E3302442ADC DAE21291FF59FD4F 554EF9226F6AA74E 660DF9D632FDEB39 257EE482464357EA ED2EFA72B8021019 AD2F759B5D9FBBC4 1FA6661B3C4B515D 20DA785BD1632340 12ECFFDF2899BD4C
- Read the ciphertext. Strip whitespace: 1,296 hex characters = 648 bytes = 81 8-byte 3DES blocks.
- Derive the key. Password =
A858DE45F56D9BC9A858DE45F56D9BC9(name+name). Key = MD5(password) =0dcc4bd9e114ebc42078977dc9125404, used as a two-key 3DES key. - Decrypt. 3DES-EDE2 in ECB mode, then strip the PKCS7 padding. The plaintext is 20 GUIDs as hex (shown below).
Decrypted: GUID list
1 0ac0de81-ea40-81dd-82c6-6f76ff73a189 2 76e4e2e2-fb13-503d-a95e-b4b04ff917e0 3 76e030b0-7696-8cfb-9487-10599004e745 4 034ace66-dccb-5af6-a903-b386b243d198 5 1948ceea-5d60-83d5-93d4-26d970629eb2 6 7774efb3-cf0e-1d69-ae97-67bdc2341501 7 0d3a4644-f45c-48b6-9968-7256b8185cea 8 6582b692-ab17-4e1a-8fce-698355403bd8 9 cf24aa60-d33b-1bf3-a966-76c2ee5f3d46 10 ede5f097-85a1-5bfb-b3f1-999648f2950a 11 b3429b18-333e-25d3-82e1-473247e119c5 12 496157f1-9726-0900-b8f3-bd0678293db5 13 f786a75b-7227-1080-a7cb-8ecdaf77fc69 14 2544638b-917a-5608-a8a6-7dce7e7e7dc5 15 6d87be84-4414-0863-9330-c9aa6595cd98 16 1c027bd7-1982-4f7b-ab41-840b0e05b4fe 17 61602a16-e2f8-7a6e-92eb-799a51ddfb75 18 f8a5fa9d-cf1d-2090-b49c-b62af26c505d 19 ad31a17f-3a72-55b0-b83d-748a0e9be106 20 f205fa9c-ddc9-6e52-a944-eb655a3bf3a4
Explanation
- Explain the mask digits. The version nibble (13th hex digit) of each GUID, read in order, gives
85858144152015047256. Exactly this sequence comes out ofnew Random(923).Next(9): the per-post millisecond seed of the mask generator. The other 30 hex digits of each GUID areGuid.NewGuid()output and carry no message. - Explain the count. This post is draw 3 of Run 14 (seed 205,976,312):
new Random(205976312), Next(8,64) per post. The RNG predicts N = 20; the post has N = 20 ✓. The seed is the machine's uptime in ms when the app started (boot 2012-07-05 08:28–12:28). - Conclusion. Filler. The content is fully explained by the two RNGs.