201210021200 10tkzs
explained decrypted filler
3DES(name+title) ECB, 19 GUIDs, seed 24
From the post to its content
As posted (encrypted)
8377A6BA789AEF1A 79150EE78A2E48EF 55C330E153427549 5E34142849BB5E21 D2290F4E119D9FA0 C3612A55C275AD17 3589F43D850FAA2B DD8CBF40E9BF2EC7 FBA7AE5AAE3FD0A5 4749976510F67371 01639DDA512C6D78 2404005253296C23 48A969D8CFB18FBA 89D951D2CAC39BE7 E2F12FD3F943D832 501EE6979FFBA18E DDD63ECC86B97B66 B5C0533292A3B97E D8F569D696AA0983 20EC4CB5DC2D83A0 909D0D7D16FA0601 93DFB3A7DADC3013 2DE4B2D2F17D5ECC 46F4F7D199C50189 15F42A450548F52D 2618995DE33C8D9C 85B574824C92C3B3 F657C5C620CD0E22 394B910175CB1CD7 2801CBA56BF8C877 0E0D35F47C2FEBB9 1A699B29D979716B B6C69D5EDABDC7AC 3D5B7BC69D0C8B2D 9768656306A2C5BC 5F17E0E6C4972869 5DAAB67755CEBA21 7C7AA75A60216AEF A35B7BB179104418 9B44686F86D826CF 75CABC32106B536F 04A4029BE716181F AB29876D79EAFA93 36F6A5554B8DD801 54D230643594A375 5CFDE98C57A4E635 2D011819646C5C0C EDA8884CE224E531 378120B49732C2ED E84C7BB22797BF14 7C615D659C58792E 9D8F91791C3ED27D 9D54E53EE7C13A1C 8EDD0F7EF19564BB 83CF1381BCDD0408 6EA732E95C64EB5C 4E0C2246A7C9BA6E 840C3B16D43CDCEC BC1CD65A0404F7A5 49570C1CFFDE67DA 07FAEBD18361D97C C133F97F9BA408A8 56029BDF13D1ED42 1D41F362E6611CBF 73251246F87CB140 6E34EC7D94B31352 416A9800DCBA4225 D9E2C2B0A1EBC214 A08B00ACDA2CD7A2 B674425235FA4DEC D424E93C9BFB2964 65ABE9FD63C25FD1 6B0EE48DABB719DC 83DDB4E30141AB79 82334C4907509C4F CCCEF6A7302AF8D0 12AACE5070D24FAB
- Read the ciphertext. Strip whitespace: 1,232 hex characters = 616 bytes = 77 8-byte 3DES blocks.
- Derive the key. Password =
A858DE45F56D9BC9201210021200(name+title). Key = MD5(password) =0e93cf44ecfb2e920ecc8ac88d260973, used as a two-key 3DES key. - Decrypt. 3DES-EDE2 in ECB mode, then strip the PKCS7 padding. The plaintext is 19 GUIDs as hex (shown below).
Decrypted: GUID list
1 0f2639ca-cbeb-21ca-b306-7f65b2d89978 2 f0da7fc4-dd9e-798b-9f2f-711379aad21a 3 b27dc6ad-b39a-4f24-bca7-9308e0a44151 4 b7775b83-888e-6b1c-a03a-ac47e4e928cf 5 a5ecc376-0f49-0479-bfa0-0c44b34905a0 6 9336f7b1-303f-4077-a5ae-2b67ba263324 7 9c26e84b-2afc-5a30-bd87-ba6fc6ccc22e 8 99b2ce7c-570d-4ab8-a053-0494d425cbf3 9 6bff5475-c704-8abd-bd74-940ca9d7bf2a 10 7b575f96-bea1-17b3-a367-8f002106409b 11 15729e0e-2780-8ad9-9005-a2d2117d9296 12 ea033f8a-78bd-10cc-bfaa-8e430976ad59 13 a3174785-2462-1035-ab89-e696be199ac4 14 06209b6e-e61e-8225-a613-2c24eb8bbbb4 15 3bd2c9b4-7280-7d2d-bd7b-33db99bc0c78 16 400a6628-b61b-035c-aee6-3652f4c153b3 17 deea0d28-aba4-8080-b9bf-677d88a2955b 18 1eb0b3ee-87bb-757e-b12b-995e7deccb2f 19 8f4295cb-89cd-2bc8-8157-9ba086cfc5f6
Explanation
- Explain the mask digits. The version nibble (13th hex digit) of each GUID, read in order, gives
2746045481811870872. Exactly this sequence comes out ofnew Random(24).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 24 of Run 35 (seed 854,622,578):
new Random(854622578), Next(8,64) per post. The RNG predicts N = 19; the post has N = 19 ✓. 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.