201210050623 10zj3k
explained decrypted filler
seed 328
From the post to its content
As posted (encrypted)
77DB6B9DF0B1F653 8A9870D23DBE2FB7 981CEB2A35A6723B D606B1640EE09EA2 CB9E83C9524D3DC6 F14EBFEFE81E201C 2AE449A895D243EA 0974E029E808074F C2DCF26328F29A1C B12E10274CD88CAB 8968A44CE9ECDC60 5FF3D9CE12C76BBA 1C9A54AE1B1EF111 560AC4CAECE8A66A C7DECC690703FFD4 E5C6E650AB862C5F 64C7FAAE74A33C2E 2DFED0B368B2602D EEEF448414CFDABD 3F4F7A6BE08D8D86 858398CB156FA8F7 7D1078475B6347AF 94AAB59B60F56672 D66F88E17C197E94 7FF412CD9A39EDEA 3E94B3487391ADC1 BF8F19BC59D8A8F6 30AB55B8228FF7E5 8193352C1379B9C7 CCBBC0D387549818 A49BB828B347AA7F 02DB9629BB031570 567042A2BA1F9027 70AC865D90BB1A9A 437B52DDE73CD379 FC0D2AF8DECD4932 9E1EEA8D15700445 208D90A4D0AC0D52 D3E42196D8E6ABA9 9939DF6B059F57F9 2EF27ECC160DA818 21026FF8139AB90E CE0D16B3C6025EC2 8F6EEFE96F7C90C1 84EDC8DDFFB24B97 ADF40C620AB15388 13F8067C1DF0EB8D 6BFC74FA8659E6E7 926D92B6171771E9 E17E6A78B9638D8E 7FB89AA92E7FF0B6 C08589DC4D391ED9 1914072DB15B2666 E0B63265B79B4E12 FCE09C2C395E5AFD C5FB45C75827220B 2C18219BE75EDAB6 7021BDEBBF22FF8F 68EA29319166306D 2A9DC1A1D37F4A1A 6BD6E78DAF051DBB 8C4C137885630D99 5670782D37FA43F7 FD7ECA9BD776BC86 CCF72CED3C588ABD 981F021AAA76569A EC2420CAC8838FCF 834E7585AC644433 48F2A99F08097D37 5D8B1C4C25AA2158 65C54DE6C0897B17 B717F4BFFD9F0516 8AD997518549BBEC DD2CDC5BF06A77B9 649226AF576F7FDD F6AB013121C49111 20EBC838268481C8 86C63DFB3D91EA8E 51956B8497C4A76A 1EDD3293CFC212B2 5A0028780E899DBA
- Read the ciphertext. Strip whitespace: 1,296 hex characters = 648 bytes = 81 8-byte 3DES blocks.
- Derive the key. Password =
A858DE45F56D9BC9201210050623(name+title). Key = MD5(password) =921e282ad0baccd76f59a78f22f753db, 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 c94c9cfc-67ea-03e4-9c8c-1638f28869b1 2 18c4a2bc-caa5-08bd-8abe-0d8ad31a9f93 3 6a0c7adc-fb3b-0d03-b265-3b2037b2f0ea 4 9d56a9b7-23b8-5ee1-b169-f3c3c4284301 5 9c37fdd6-3a42-2f59-8948-150283650bfc 6 868325ff-8d44-18e3-bfe9-101cd2cda33f 7 4aad6ce8-18ec-783c-91a4-a62a888bceae 8 b1498224-13e8-87aa-9636-4f4f7c0d68a6 9 d237e93c-e5e1-54aa-ad6c-1602644ccdd0 10 dddedeb9-76ee-2ccd-98a5-5587d8a28475 11 4835ff7d-d6fe-863b-8ecc-4f637b2b28d2 12 3e19643c-6f31-4ed3-b7ce-ccb17282d889 13 37d2037d-4997-161d-9dd5-fa4ec2288e4b 14 9374a384-6855-13f4-b15c-d14e0953c2ee 15 22add756-6d94-5095-a030-a80d36365d87 16 a748f774-dbbc-7e86-a5c1-ef6282353235 17 9f4492e0-4fac-627e-a70d-257c4f214ade 18 71b3bc85-7a75-32f3-a40b-4cc3d2256b7f 19 1e3877fa-5fbb-5d9b-ae1b-96bcdd4793aa 20 4908c248-9d2b-241d-a0fe-fae3e3012d2e
Explanation
- Explain the mask digits. The version nibble (13th hex digit) of each GUID, read in order, gives
00052178528411576352. Exactly this sequence comes out ofnew Random(328).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 223 of Run 35 (seed 854,622,578):
new Random(854622578), 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-09-22 10:16–10:36). - Conclusion. Filler. The content is fully explained by the two RNGs.