Wednesday, 18 September 2013

Ran across this homebrew encryption challenge

Ran across this homebrew encryption challenge

While reading other articles on his site, I came across a post [
http://blog.ram.rachum.com/post/56061414423/the-interactive-homebrew-encryption-challenge
] which provides a cypertext, based on the bad practice of writing your
own encryption algorithm.
His challenge is to attempt to break it.
Since I wonder how much visibility his post had before, I open up the
floor to you, the SO crowd.
In addition to his cypertext (copied below), he also provides a page to
generate cypertext from your own inputs: http://homebrew.herokuapp.com/
Here is his cypertext (plus some basic line numbering that I added:
Char Num
0 1 2 3 4 5
12345678901234567890123456789012345678901234567890
==================================================
1 - 50 7F1CA699D902CD5EB179E3674958DB0836A7EFC7031075F559
51- 100 385F61C1C70EBF9F1E3A1EDD784541423D5C1F06B6A7CB4AD7
101- 150 B6E52567F26095511EEEBE6AB241BE683B0F7A4D000EE7AF51
151- 200 914B73028EBFA20CA64F539B399456FD71B71456F62A7D5D5C
201- 250 D4FB2D41F0C8B800B028330CDA79EB3A1136D267C97EA55278
251- 300 63AA057E72D10F5BD374B1D280C741A1E5A0C58847FAE73F11
E64A0530322B095803ABEAA9395E7334B78F828A5804A48B50
351- 400 73F726C038B338CAAE09FF3843A65110204F9F2848E1860567
2CB001A07A8DEC74FF8C4F12C5675FC5F6A9A6A253E996DF40
451- 500 DF23E7936B0508DB9570F45FD9ECB4F7E288BFBCCFD56453E0
8B3F78C190CF9DCC91431031B21CA6F04B3E594244D8B375AF
551- 600 F4C6E6A98689CE42EC3CAA92092A8509653E842B2BA68C4775
9FD01B85004568F41E1D3B68DBBD94DF0EE2CFF0DD35D527FB
651- 700 E6BE2C14064CAD72EEADF41769E84A64C39A915E4156EA9F20
B213D6C85BD713F48614000E484FB3410BBC8BECD509F0F51D
751- 800 E5E644D4B1A61C8AA851228046EDF0ABD9A68B593E5555FF2D
348C5B54977B8293F2C9EA40D351D69F862496A664B589E6EC
851- 900 995733248C4EEDFE94B34521F5D20D5C8A083209128B3CD015
82EDAC1FC7CF3FC5A5BA5FF03EBD94A754AD71255F06E84302
951-1000 06E10BB32EF7DF17DCDA1AA58D315797AC25F6B1E666D6198F
15A257A3094565860448D2E2657F360F3AECBA2AC93EE74762
1051-1100 6A8391FBA928C23261B83AB46043551F4C45CE4B334D79E7F7
AC8CC6C71A0496D425282BDBDC4BE188A89ADC72B610553741
1151-1200 2E458894C661D5BE88749A56E2796B585B8B1C50249A1862FA
4F823B56597BDB1B7325A6B3FD753AB5075656F1E6F34C51BF
1251-1300 16AEF334BFF1C92707114111D72273CE745337D64C5A9D37BD
48E3A4F1360CD023E0665B5B727F42EED30929F51DA5E56883
1351-1400 EDCB6B9F753D7694A0DC232AFF917A3F558E4A06A4303A5A78
599AA6F797800E1BD6C83A0C46F611B21F3DA97914F07A0013
1451-1500 993225AE350B61EF0321EBD141DC25D56C46F7628D92411A89
33AA4E650FBA3011FACA44C20CF9B8D2C3C4D2308B97B928C8
1551-1600 53E9A5398663D8DB12980BC15D536F00BFE8EA53920F8467AE
8962D1D52271F300D3C4E87EFFECBFAAE0CAC64D1B7FEDCF80
1651-1700 9DFF89E85FB0E326442B3BB2332C8A91C300E07A188A83DE1A
1B4B077B6787FBED987B8D0C12A1A2F868A8C84D6570CAE519
1751-1800 F60429E2AD6BEC6ADF39B8C390804B7D5B4CACE48851E694C3
F798FE34286A9E7DD5BF65EBCE3CC28287770A96FA356C37F7
1851-1900 02FCEFE617E7AB088B7E9A27445EAAC77C32D1E8C684DACCDA
386AD6C3CFFE148C98320910433C98BAFD3218A0F74CF0537B
1951-2000 AE6D9A36E434116B8B087930F2B42A11575C587163D2944D1C
BE4C61DD3691417D8A07C3CB51EC2126AABB1B97F78AFCA96B
2051-2100 3C76
As commented in his site, the encryption algorithm:
character count is 40 + ( 2 * length(plaintext) )
does not handle unicode correctly
I have also run the following (plaintext) inputs, looking for anything
really obvious
0 1 2 3 4 5
12345678901234567890123456789012345678901234567890
==================================================
0 4D3012792C0AAD11E0F8AD4617234E67EF6F6FC4FE
1 F429EA4A052E3E242944439E580C2BE8F6383B3287
2 9C281A9F36109B340B2ED2DECC03F052AD64ED4BD2
22 DAB2C9428FC83961964C1408D060BEA79D70265D0C2F
a E9214FF1D4A659935FDEAD7BDD050234EDC630EBC9
aa 8A1D0D3541A023492FD902C94B371FB71745B3474329
aaa B370B85964FE648090E980A9C9650AC096F0D8256D0B42
aaaaaa 8310858F81A6579A31466B6437BAF19B5665FA1BBBBDC5D3AFE1

No comments:

Post a Comment