Brand new here so be kind...
This is a decryption question that I have been trying to figure out for over a month now, but can't, so looking for help.
An encryption function returns the XOR sum of 1 to 40 binary constants. The constants are fixed and known and there are no repeats.
The function is passed a subset of these constants - anywhere from 1 to 40 of them- and returns the XOR sum.
Question: Given the XOR sum and the set of constants (but without knowing how many were combined), is it possible to tell which of the 40 constants are in the XOR sum?
I'm aware there are ways to brute force it by trying all 2^40 combinations (or 2^20 with a meet-in-the-middle attack) however, these take far more time and memory than the simple, low speed microcontroller (256 byte of RAM!), that can do it in less than a second. That's the part that's driving me crazy. If you look at the table of 40 numbers in binary format there are some patterns which makes me think the values were especially chosen to enable some magic "shortcut". If anyone thinks they can help I can post the table of binary numbers. Thanks.
This is a decryption question that I have been trying to figure out for over a month now, but can't, so looking for help.
An encryption function returns the XOR sum of 1 to 40 binary constants. The constants are fixed and known and there are no repeats.
The function is passed a subset of these constants - anywhere from 1 to 40 of them- and returns the XOR sum.
Question: Given the XOR sum and the set of constants (but without knowing how many were combined), is it possible to tell which of the 40 constants are in the XOR sum?
I'm aware there are ways to brute force it by trying all 2^40 combinations (or 2^20 with a meet-in-the-middle attack) however, these take far more time and memory than the simple, low speed microcontroller (256 byte of RAM!), that can do it in less than a second. That's the part that's driving me crazy. If you look at the table of 40 numbers in binary format there are some patterns which makes me think the values were especially chosen to enable some magic "shortcut". If anyone thinks they can help I can post the table of binary numbers. Thanks.




