|
|
Subject:
Regenerate obfuscation function given plaintext and obfuscatedtext
Category: Computers > Algorithms Asked by: carbon-ga List Price: $5.00 |
Posted:
16 Sep 2003 10:27 PDT
Expires: 22 Sep 2003 15:30 PDT Question ID: 257337 |
Many people don't want sensitive data stored on their drive in plaintext. But they also don't want to remember a burdensome password. For this reason, many application designers decide to store sensitive data after applying some kind of reversible obfuscation function to it. Many of these functions are so simple that they can be figured out just by looking at them. If the obfuscatedtext is the same length as the plaintext, then maybe the function adds a fixed value to each byte, or maybe each byte of the data is xored with a fixed byte, or maybe the string is xored with a fixed key. Or perhaps the obfuscatedtext length is twice that of the plaintext, meaning that it was converted to pseudohex or otherwise split. But some of the functions are not so simple that they can be reverse engineered just by analyzing them. Maybe the obfuscatedtext's length is not linearly related to the length of the plaintext. The question is, is there a way to generate an equivalent obfuscation function given an unlimited amount of plaintext and matching obfuscatedtext, knowing that the function must be reversible? |
|
There is no answer at this time. |
|
Subject:
Re: Regenerate obfuscation function given plaintext and obfuscatedtext
From: manuka-ga on 18 Sep 2003 01:54 PDT |
No finite amount of data will be enough to be absolutely certain. To take a simple example, suppose you had a million bytes of data and they all were just xored with 0x55. You'd certainly be tempted to think that the algorithm was "xor all bytes with 0x55", but it could also be "xor the first million bytes with 0x55, the second million bytes with 0x77, ..." In essence, no matter how much data you look at, any pattern you find might not necessarily extend beyond the data you look at. There's a related issue in mathematics. Given any number of (x, y) pairs with all the x's different, you can find a polynomial f(x) that passes through every pair. In other words, you can always find a pattern that matches your data exactly. But there's no guarantee that the pattern you find will extend to anything other than your original data. Consider the first example again. Although every byte was the original byte xored with 0x55, it might also have been derived by adding a unique million-byte key to the original data. There's no way you can tell the difference (of course, one alternative might be rather more likely than the other). All this essentially boils down to the fact that for any given finite piece of input and output data, the number of possible ways of getting from one to the other is infinite. The Scarlet Manuka |
Subject:
Re: Regenerate obfuscation function given plaintext and obfuscatedtext
From: answerman2004-ga on 19 Sep 2003 22:06 PDT |
Perhaps the text can be padded with the following simple rule: ((1 - m2)(x2 + y2) + 2m2cx + a2 - m2c2)2 = 4a2(x2 + y2) r = [(25 - 24tan2())/(1 - tan2())] Hope this helps! |
Subject:
Re: Regenerate obfuscation function given plaintext and obfuscatedtext
From: carbon-ga on 19 Sep 2003 22:32 PDT |
manuka: thanks very much. That makes sense. Maybe it's a problem for a neural network or something. answerman-2004: if you'd let me know what the variables represent, it'd be easier to tell if your answer is a joke or not. Thank you. |
If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you. |
Search Google Answers for |
Google Home - Answers FAQ - Terms of Service - Privacy Policy |