S. Robert James
Reputation
Top tag
Next privilege 250 Rep.
 Sep 18 comment Measuring entropy for a ciphertext only attack Great answer! Yes, the chi sqr won't catch compressed data. But it's still very useful to have a general purpose test, not only for brute forcing but for other types of analysis and reverse engineering. Sep 18 comment Measuring entropy for a ciphertext only attack When we say "the entropy of a given messsage" we mean: assuming the source is picks bytes independently, randomly, at the frequency found in the message, what would its entropy be. Sep 16 comment Brute forcing CRC-32 Got it. CRC32 specifies 32 bits, so if I know everything but 32 bits, I can determine the missing 32. The tables show the CRC of one byte and the rest zeroes. I would assume that I need a separate set of tables if the length of the input changes (eg tables for last 4 of 8 bytes, tables for last 4 of 12 bytes). Where can I read more about this? Sep 16 comment Brute forcing CRC-32 Fascinating, fgrieu. Can you give me more information? What do you mean "one can constructively rebuild any consecutive n bits of b from the rest of the bit string" - how much of b do you need to know? If you know the first 4 bytes, say, how do you build the rest of b? Remember, I'm looking for all candidates, not just one that happens to work. Sep 16 comment Brute forcing CRC-32 Exactly. This is especially so because in this implementation, the key is given as a string ("password"), and then internally hashed to 128 bits. But the space of expected strings is of course much smaller than $2^{128}$. Sep 15 comment Background for modular arithmetic function Indeed, looking at it closely, it prob. is. I had assumed it must be homemade, since it uses only XOR, +, *, and % - all linear operations. No permutations, s-boxes, or other look ups. But looking at IDEA and the code, there's too many similarilities for it to be anything else. How does IDEA reach security if it is purely linear ops? Sep 15 comment Background for modular arithmetic function Interesting! To give some more context, I encountered this while reverse engineering some crypto, apparently DIY. The code had special cases for when b or c is zero (return k + 1 - c [or b]), which clearly isn't multiplying. But if f was < 0, it returned k + 1 + f, which indeed fits with your hypothesis. So how do you explain the special case for zero?