201309141159 1mdpso
explained decrypted filler
seed 573
From the post to its content
As posted (encrypted)
B3C392715E5E6FCD B97EEE68235726F1 64231734F40C5D7C FA7CA7A65BA07C4A 1BBDA68ADCDA9367 0DA0DBD35A175AF6 A6B75E4CF380C3A6 368FAA57DEA73E56 94565A144C23896C D74178286D78CDC4 EDE128DC75B953EB 4F1DE6E1F5A7E298 C815ACA5915634EA F073B7CA3A66F3DD C3FE126BA04D5843 744383A4C00FDC68 30D1B30A9E848CCC 2276DD22A1E53677 EBAE7A87F18B2130 2824E8558226FDCB 69B8E7D6CA7A9352 676EE70A15B7C19C E77488A9644EE43A 64D1DFE36970A555 5AAAB513E8CA88B4 6824274D645122D8 6DCA34E4CD1FFCE5 1FD03D60D1744B72 CF7DC715528DADF3 0DC5704CE1D9F0C6 ABCCDF87DBD17D48 8DD928B297D39204 BFA7DC0E3A97D571 895495D40AF15E31 3D3B0E9344FA9010 F98BA0358E94CADA 7EE267188B204743 02DB7C17FB99CE87 22593B2AE1D2BC02 61E566EDE4073EFF F342C83D50A0F5DB B87BDFC815AF551F 4B13364FF65FE3CE F1CC48F5FEC30793 35FBA6FDDC8BAD49 9504165E22BC48B8 3B31D2EAA079F5E6 4F148230F61E3AEE B02F7C9CBE56BAC5 653E4BA404E4DBA3 58AC14FF43B41EA8 D3ECA9445A645252 051381D16285E5AD D4C6F0EC7D29577A F9BFDB40A3F46905 6736873F77760BCA 9C3942DB0C04D3DF DA4BB5AE131C0FD9 206C6F634A1B0CE4 77B16A86E4594B67 12BF7D5B187A861E E62C88D5B07F5190 C5E2B8C80C59ADC0 CFF9895E7499C0F6 0F716C92D4900FDC E7EF44F9DDDF096E 7F61445BDB72062A 72B7363878CC516F 23F2E44436BF0EF2 D02C465CEB9B2AD8 65981712EBFDB220 ACBED45EEEFE9959 36A106D0C87514C6 C26A84C4A0EE722F 35E366D9DA3F1C3F 30391DB5EB2BC5A4 61D01B89C7BC7BDB 97807085BA1224DC 01549536A78ADEC2 FAFDA449FD4A8EB5 F002347BC766DE52
- Read the ciphertext. Strip whitespace: 1,296 hex characters = 648 bytes = 81 8-byte 3DES blocks.
- Derive the key. Password =
A858DE45F56D9BC9201309141159(name+title). Key = MD5(password) =71cdfb25767faadcc496e4b8f7d1035f, 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 3a8b016c-3f98-05b7-be97-892eb2cfcc24 2 c4a56dc8-8e52-8672-b78e-486b17735064 3 31455c6a-45e5-2347-af54-8896752ea337 4 70d25e98-5086-75dc-8a12-4c1965dad8c4 5 9c8e7dee-2aa7-814f-bc33-7260736b1e32 6 436f95ef-ae31-2769-8cce-d0da16e9ec67 7 1e36b4b6-574b-526d-b595-b5fbebc4f3bd 8 cd5773df-086f-8753-bd10-7da296c5422c 9 f3c0b378-3d08-775d-86e6-2d43ea19c2fd 10 5819c44c-6c42-5701-ae0c-58bc156d53c8 11 2a3d2f88-2606-3ef4-97e6-37062997edcb 12 81f71558-f067-700d-bf66-5c93c96bba22 13 b607ecd2-19a2-4e52-b8eb-bba0f81d53c3 14 6d7b1fed-4a41-5a85-bb24-eadaff2710dd 15 312b110f-97c0-0d14-85a7-aee4958c4ae1 16 175dc473-dbc3-7cdf-8a94-84ee9dfebc10 17 02e8fbc8-038a-6086-9cb1-df0c672c037d 18 35d3bc8d-95ca-20af-b82c-79b1d0c694e2 19 6d2d0125-33d0-15ec-b86e-6f1d29a6515b 20 c90e6023-4084-1ad9-9b71-620197b2d111
Explanation
- Explain the mask digits. The version nibble (13th hex digit) of each GUID, read in order, gives
08278258753745076211. Exactly this sequence comes out ofnew Random(573).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 47 of Run 53 (seed 26,950,390):
new Random(26950390), 4·Next(1,12) 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 2013-09-12 09:30–10:30). - Conclusion. Filler. The content is fully explained by the two RNGs.