Bitwise AND operation backwards

  • Thread starter Thread starter Mc_Topaz
  • Start date Start date
AI Thread Summary
The discussion centers on the challenge of reversing a bitwise AND operation to retrieve the original value, V, given a constant C and the result S. The equation V & C = S is straightforward, but reversing it proves problematic due to the nature of the AND operation, which is not invertible. When bits in V are 1 and the corresponding bits in C are 0, the result S will be 0, making it impossible to deduce V accurately. The conversation highlights that only the XOR operation is invertible, and knowledge of V & ~C does not aid in recovering V. Ultimately, the inability to uniquely determine V from S and C is emphasized, as it reflects a many-to-one mapping characteristic of the AND operation.
Mc_Topaz
Messages
1
Reaction score
0

Homework Statement



At my company we calculate a product's serial number from a MAC address provided with the unit. One of the equations is done with a bitwise AND operation of two integers. I have tried to run that equation backwards but with no result.

Variables and data:

V = The source value to do the bitwise AND operation with
C = A known constant to use in the bitwise AND operation
S = Result of bitwise AND operation

Let say: V = 10, C = 6

Homework Equations



The equation forward is: V & C = S => 10 & 6 = 2

In binary:

1010 = 10
0110 = 6
-----
0010 = 2


Now I just want to reverse that process and calculate 10 from 6 and 2 in some way.

Don't try with: C + 2S (6 + (2*2)) works just in this case.

The Attempt at a Solution



I tried the opposite way by changing V for S:

2 & 6 = 2

In binary:

0010 = 2
0110 = 6
-----
0010 = 2


The problem occurs when one of the bits in the V is 1 and the equivalent bit in C is 0. The bit in S will then be 0 and V's bit can never return to 1.

Any suggestions?

/Mc_Topaz
 
Physics news on Phys.org
Unfortunately that's just not possible as it's a many to one mapping. Of the three main two input binary operators (AND OR XOR) only XOR is invertible like that.
 
It would be possible if you also knew V & ~C, though. Since A & B only has ones where both A and B have ones, and ~B has ones only where B has zeros, V & ~C has the 'missing ones' from the other calculation.
 
Strants said:
It would be possible if you also knew V & ~C, though. Since A & B only has ones where both A and B have ones, and ~B has ones only where B has zeros, V & ~C has the 'missing ones' from the other calculation.

Actually "V" is the thing he's trying to find (given S and C). Knowledge of ~C provides no new information and doesn't help with the original problem. Since he knows C then he already knows ~C anyway.
 
Last edited:

Similar threads

Replies
2
Views
2K
Replies
4
Views
3K
Replies
10
Views
2K
Replies
9
Views
2K
Replies
2
Views
2K
Replies
0
Views
146
Replies
2
Views
11K
Back
Top