Difference between revisions of "ESC 2015 Challenge"
Leo.perrin (talk | contribs) |
|||
Line 7: | Line 7: | ||
* <tt>S_d</tt> is a 6-rounds Feistel Network where the output of the Feistel function is combined using a modular addition instead of a XOR and where the rounds are not independent (i.e. some Feistel functions are identical). | * <tt>S_d</tt> is a 6-rounds Feistel Network where the output of the Feistel function is combined using a modular addition instead of a XOR and where the rounds are not independent (i.e. some Feistel functions are identical). | ||
* <tt>S_e</tt> is a 6-rounds Feistel Network where the output of the Feistel function is combined using a modular addition instead of a XOR. | * <tt>S_e</tt> is a 6-rounds Feistel Network where the output of the Feistel function is combined using a modular addition instead of a XOR. | ||
+ | |||
If you manage to decompose the most number of those, i.e. identify the smaller S-Boxes used to generate them, you win a bottle of wine Vin de Glace Luxembourgeoise 2004. | If you manage to decompose the most number of those, i.e. identify the smaller S-Boxes used to generate them, you win a bottle of wine Vin de Glace Luxembourgeoise 2004. | ||
Good luck! | Good luck! | ||
+ | |||
+ | |||
+ | '''Update''' This challenge is over, it was won by [[Gaetan Leurent]] on 16.01.2015 who found the structure of S_a and S_b in under 1 second on a PC. But you can still try it as an exercise. We plan to announce more sophisticated challenges soon. | ||
<pre> | <pre> |
Revision as of 13:15, 17 January 2015
See the talk were this was first mentionned here.
Below are two S-Boxes.
- S_a is a 4-rounds Feistel Network where the output of the Feistel function is combined using a modular addition instead of a XOR.
- S_b is a 5-rounds Feistel Network where the output of the Feistel function is combined using a modular addition instead of a XOR.
- S_c has a SASASAS structure where all linear layers are identical.
- S_d is a 6-rounds Feistel Network where the output of the Feistel function is combined using a modular addition instead of a XOR and where the rounds are not independent (i.e. some Feistel functions are identical).
- S_e is a 6-rounds Feistel Network where the output of the Feistel function is combined using a modular addition instead of a XOR.
If you manage to decompose the most number of those, i.e. identify the smaller S-Boxes used to generate them, you win a bottle of wine Vin de Glace Luxembourgeoise 2004.
Good luck!
Update This challenge is over, it was won by Gaetan Leurent on 16.01.2015 who found the structure of S_a and S_b in under 1 second on a PC. But you can still try it as an exercise. We plan to announce more sophisticated challenges soon.
unsigned char S_a[256] = { 0x8f,0x01,0xfc,0xef,0xc4,0x5e,0x74,0x2c,0x3c,0x6b,0x24,0xa9,0x7e,0xd1,0x0a,0xd6, 0xa5,0xe8,0x37,0x32,0x91,0xe0,0x9b,0xe7,0x33,0x61,0xd3,0x48,0x59,0xb9,0x9f,0xce, 0x3d,0x93,0xe5,0xba,0x80,0x66,0x36,0xc2,0x00,0x6d,0xbe,0x7b,0x50,0x88,0xbb,0x86, 0x1d,0xd2,0xb2,0xd5,0x06,0x38,0xf5,0x92,0x4d,0x0c,0xeb,0x4c,0xe9,0x87,0xe4,0x52, 0x46,0x0f,0x7d,0x3b,0x4f,0x29,0xee,0x89,0xde,0xb1,0x1e,0x62,0xd9,0xc9,0x11,0xc0, 0xa8,0x40,0x5c,0xac,0x03,0x71,0x94,0xc1,0x02,0x73,0x6a,0x56,0x2d,0x81,0x9d,0xcc, 0x8e,0x9a,0x79,0xaa,0xbd,0xfa,0xb8,0x4e,0x34,0x51,0x69,0x45,0x82,0x25,0x20,0x2f, 0x2e,0xc3,0xe1,0x4b,0x85,0x22,0xa7,0x6c,0xf4,0x19,0x67,0xf6,0x16,0x8d,0x55,0x10, 0xf8,0xad,0x57,0x08,0xb7,0x7a,0x60,0x8c,0xea,0x3f,0xf1,0x7f,0x72,0xf0,0xa1,0xcd, 0xd0,0xdd,0xd7,0xa3,0x35,0x1a,0xff,0xca,0x90,0x5a,0x13,0x44,0xf2,0x76,0xfb,0x99, 0x78,0x07,0x8b,0x0e,0x3e,0xbf,0xcf,0x65,0xe6,0x30,0xd4,0x7c,0xab,0x5f,0x42,0x31, 0x1c,0x3a,0x09,0xec,0x2b,0x17,0x83,0x43,0x77,0xed,0x96,0xf9,0x05,0xdc,0x21,0xc6, 0xb6,0x5d,0x28,0x70,0xb5,0x68,0x54,0xda,0xb3,0xaf,0x12,0x39,0xa0,0x53,0xbc,0x15, 0x04,0x84,0x8a,0xdb,0x1b,0x47,0xcb,0x23,0x27,0xe3,0x18,0x64,0x5b,0xd8,0x0b,0xc7, 0xa2,0xf3,0x75,0xae,0xc8,0x14,0x9c,0x63,0x58,0x6f,0x4a,0x49,0xa6,0x26,0xfe,0xc5, 0x97,0xdf,0x95,0x6e,0x1f,0xb4,0xf7,0xa4,0x98,0xfd,0x9e,0xb0,0x0d,0xe2,0x41,0x2a }; unsigned char S_b[256] = { 0x58,0x50,0xa2,0x2c,0x84,0x87,0xc3,0x26,0xd1,0xd4,0xa6,0xef,0x0e,0x52,0xf9,0x8f, 0x8a,0x94,0x49,0x63,0x40,0xdd,0xba,0x4a,0x5f,0x67,0x3b,0xbc,0x1e,0x92,0x27,0xd5, 0x31,0x3a,0x24,0x68,0xe4,0xac,0xdf,0x21,0xf5,0xc9,0x18,0x8b,0x23,0xf6,0x5d,0x62, 0xe2,0x1c,0x48,0xcb,0x7b,0x4e,0x1b,0x59,0x61,0x6a,0xbb,0x98,0x20,0x70,0xe8,0x9e, 0xee,0x1f,0x25,0x33,0x5a,0x0a,0x37,0x55,0xff,0xda,0xfc,0x7d,0x07,0x73,0xb5,0x7f, 0xc7,0xaa,0x0d,0x38,0xbd,0xe5,0x5e,0xe0,0xe3,0x79,0x4f,0x35,0xdc,0x99,0x88,0x03, 0xcf,0x65,0x7e,0x51,0x64,0x46,0xaf,0xab,0x6b,0xfe,0x05,0x90,0x9b,0x60,0xdb,0xeb, 0x11,0xc6,0xf7,0xca,0x04,0x0b,0xc0,0x13,0xb1,0x86,0xcd,0x74,0xf3,0xb7,0x06,0x4d, 0x1a,0xd6,0x4b,0xb9,0xbf,0xfb,0x97,0xf2,0x28,0x17,0xe6,0xd7,0x91,0xd8,0xae,0x01, 0xa4,0x2a,0x6f,0xed,0x08,0x6d,0x9c,0xc1,0x72,0x8d,0xa0,0x3f,0x14,0xa7,0x32,0x45, 0xc2,0x39,0xd2,0x77,0x93,0xe7,0xf4,0x2f,0x2b,0x80,0xc8,0x22,0x2e,0x6e,0x75,0x8e, 0x00,0x4c,0x9f,0xa8,0x76,0x69,0x43,0xea,0x85,0x96,0x3e,0x8c,0x66,0xa1,0x53,0x54, 0xb6,0x57,0x09,0x83,0x19,0x9a,0x82,0x5b,0x0f,0x44,0xde,0x16,0xb4,0xec,0xf8,0x15, 0xce,0xb3,0xa5,0xad,0xd9,0x9d,0xa9,0xfd,0x42,0x89,0x02,0x7c,0x81,0xb0,0x34,0x95, 0x12,0x0c,0xfa,0x41,0xf1,0xbe,0x1d,0xd3,0x2d,0xb2,0x3c,0x7a,0x29,0x71,0x5c,0xf0, 0x3d,0xc4,0x30,0xb8,0x6c,0xe9,0xc5,0x47,0xe1,0x10,0x56,0xa3,0x78,0xcc,0xd0,0x36 }; unsigned char S_c[256] = { 0xb7,0x15,0xca,0x45,0xbd,0x88,0xb1,0x7a,0x61,0x06,0xb3,0x2e,0x16,0xe8,0x93,0x84, 0x2b,0x25,0x2d,0xe5,0x9d,0xff,0x20,0xe1,0xd0,0x23,0xfe,0x21,0x26,0xb5,0x96,0x8a, 0x17,0xb4,0x64,0x4b,0x46,0x43,0x29,0xb2,0xc2,0x08,0x7b,0xe6,0x57,0xc8,0x28,0x33, 0xc7,0x89,0x66,0xab,0x71,0x7e,0x40,0x80,0xe2,0xd8,0x3b,0xa6,0x07,0x98,0x4f,0x02, 0xcd,0xf0,0xe4,0xcc,0xd2,0x79,0xaf,0x34,0x62,0x18,0x0c,0x36,0x0d,0x19,0x3f,0xa3, 0xfa,0x47,0x1b,0x9e,0xcb,0x78,0xd1,0xc0,0x39,0x85,0x65,0x49,0xfb,0xfc,0x2f,0x5f, 0x1d,0x22,0xb6,0x97,0x81,0x44,0x1e,0x50,0xa4,0xf7,0xd7,0x92,0x5d,0x27,0x1c,0x12, 0x91,0xa7,0x4e,0xf6,0xa8,0xa9,0x83,0x74,0x82,0xb8,0xdf,0xef,0xdb,0x01,0x3a,0x3e, 0x37,0x5e,0xc4,0x38,0x03,0xd5,0x6f,0xda,0x6c,0x09,0x53,0x32,0xce,0x4c,0x72,0x1a, 0x9b,0x95,0x11,0x9f,0x9a,0x90,0xaa,0xf2,0x76,0xc6,0xd6,0xec,0xf1,0xb9,0x63,0x69, 0x77,0x13,0x24,0x0b,0xf9,0xf5,0x48,0xdd,0x2a,0xf8,0x99,0xc3,0x5c,0x5b,0x0e,0xfd, 0x5a,0x4d,0xac,0x8c,0xbb,0x7c,0xde,0x8f,0x00,0x68,0x75,0x10,0x87,0x56,0xba,0x73, 0x3d,0x59,0xd4,0x6b,0x70,0x05,0xbf,0x6d,0xbc,0xf4,0xa0,0xa2,0xc9,0x0f,0x30,0xdc, 0xc1,0xad,0xcf,0xee,0xeb,0xae,0x6e,0xe0,0x60,0x6a,0x35,0xb0,0x67,0xf3,0x4a,0x52, 0xe7,0xc5,0x9c,0xa5,0xed,0xe9,0x41,0xa1,0x31,0xd3,0x8e,0xbe,0x51,0xea,0xe3,0x86, 0x7d,0x14,0x04,0x8b,0x42,0x55,0x1f,0x8d,0x2c,0x54,0x7f,0x94,0x58,0x3c,0xd9,0x0a }; unsigned char S_d[256] = { 0x97,0x94,0x3a,0x91,0x9a,0xdc,0x8a,0xe4,0x80,0x25,0xac,0x0b,0xb7,0xee,0xd3,0xda, 0x6b,0x23,0x1c,0xf0,0xcf,0xe6,0x3c,0x0f,0xc4,0x48,0xcb,0x99,0x7e,0x63,0x2c,0x73, 0xb4,0x47,0x05,0x06,0xc3,0x08,0xa6,0x66,0x1a,0x36,0x79,0x61,0x3e,0xc7,0x2a,0x78, 0xcc,0x26,0xfa,0x7d,0xc5,0x49,0xb8,0xa8,0x01,0xca,0x65,0x7b,0x52,0xb5,0x5c,0xa9, 0xd0,0xdb,0x62,0x31,0x72,0x0d,0x70,0xf9,0x4a,0x1e,0x8e,0x84,0x88,0x41,0x58,0x75, 0xb9,0xd5,0xa7,0xfb,0xe1,0x55,0x3d,0xf8,0x21,0xc1,0x19,0x3b,0x50,0x95,0xf1,0x9d, 0xf4,0xa1,0xb3,0x7a,0x04,0x17,0xa2,0x46,0x22,0x32,0x03,0x8c,0x5a,0xe2,0xb2,0x59, 0x2d,0xf7,0x98,0xc6,0x51,0x9f,0x16,0x5f,0xaa,0xbf,0x60,0x76,0x77,0xab,0x96,0xaf, 0xf2,0x4f,0x42,0x67,0xc9,0x64,0xdf,0xb6,0xfd,0x43,0xb0,0x10,0x7c,0x07,0x4d,0xe9, 0xe8,0xbc,0x24,0x82,0x28,0x12,0x44,0x68,0x30,0x9b,0xfe,0x6e,0xd6,0x35,0x87,0x8f, 0x2b,0x5e,0x18,0x85,0x1d,0xcd,0x5b,0xff,0x6a,0xbb,0xce,0x29,0xc0,0xc2,0x8b,0x57, 0x34,0xba,0xde,0x45,0xbe,0x89,0x02,0x39,0xec,0x0e,0x93,0x56,0xd9,0x14,0x40,0xd7, 0x1b,0x6c,0xae,0x2e,0x0c,0x7f,0x8d,0xad,0x00,0x4e,0xe3,0x1f,0xb1,0xed,0x15,0x86, 0x38,0x37,0xf5,0x13,0xf3,0x81,0x4c,0xea,0xd8,0x3f,0x20,0xa5,0xdd,0x6d,0x9e,0xd4, 0xc8,0x74,0xfc,0x6f,0xbd,0x5d,0xa0,0x69,0xe0,0x53,0x2f,0x33,0x4b,0xd1,0xf6,0xeb, 0xe7,0x92,0x0a,0xa4,0xe5,0xa3,0x83,0x9c,0x71,0x11,0xef,0xd2,0x09,0x27,0x54,0x90, }; unsigned char S_e[256] = { 0x17,0xdd,0x46,0xc2,0xe6,0x69,0x87,0x86,0xf0,0x33,0x07,0x28,0xc3,0xb2,0xaf,0x1b, 0x8d,0xf6,0xd6,0xb3,0x99,0x3a,0x20,0x35,0x02,0x9d,0xbc,0x6a,0x55,0x25,0xe5,0x6e, 0x13,0x3d,0x1f,0x7c,0x98,0x06,0xbf,0xe1,0xec,0xa5,0x41,0x90,0x5f,0x58,0x85,0xc0, 0x4a,0xb8,0xc5,0x2a,0xd9,0xc7,0xf8,0x8a,0xa3,0x4b,0x7a,0xd5,0xe3,0x16,0xea,0x2d, 0x45,0x27,0xc4,0x79,0x03,0xdc,0xaa,0xcf,0x62,0x5d,0x0b,0x6b,0x09,0x7d,0x44,0xac, 0x83,0x7f,0xa2,0x21,0xbe,0xa0,0x53,0x18,0xa9,0xb0,0xcb,0xeb,0x61,0x37,0x0a,0x67, 0x31,0x74,0x4c,0xde,0x89,0xee,0x95,0x6c,0x24,0xb7,0x01,0xd7,0x5b,0xe0,0xcc,0x47, 0xae,0xfb,0xf2,0x59,0x54,0xa8,0x11,0xf3,0xa1,0x94,0xd3,0xb1,0x52,0x04,0x1a,0x72, 0x40,0x6f,0x38,0x7e,0x9e,0x9b,0x05,0x70,0x50,0x22,0xfa,0x0e,0xba,0xc8,0x9c,0xe8, 0xd8,0x75,0xf5,0x78,0x29,0x2c,0x36,0x84,0x08,0xd4,0x92,0x4e,0x8c,0x64,0x93,0x57, 0xb5,0x9f,0x12,0x3e,0xb9,0x1d,0x76,0x8f,0x34,0x66,0xd1,0xe4,0x60,0x8e,0xa7,0x39, 0xbd,0x48,0x23,0x10,0x5e,0xab,0xfd,0xef,0x7b,0xed,0xf4,0xb4,0x2e,0xca,0xe9,0xd2, 0x3f,0x6d,0x15,0x1c,0x9a,0xad,0xf9,0x0d,0xe2,0x2b,0x2f,0xcd,0x32,0x65,0x42,0x88, 0x68,0x51,0xc1,0xf1,0x96,0x0f,0xa4,0x91,0x3b,0x5a,0xdb,0xda,0x4d,0x73,0xc6,0x49, 0x0c,0x00,0x8b,0x71,0xff,0x80,0x56,0x77,0xce,0x30,0x14,0xe7,0xbb,0x63,0x19,0xc9, 0xa6,0xd0,0xdf,0x3c,0x4f,0xf7,0xfc,0x82,0x1e,0x5c,0xfe,0xb6,0x97,0x43,0x81,0x26, };