Google Answers Logo
View Question
 
Q: Regenerate obfuscation function given plaintext and obfuscatedtext ( No Answer,   3 Comments )
Question  
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?
Answer  
There is no answer at this time.

Comments  
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.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

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 Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy