One wayness of boolean functions

  • Context: Graduate 
  • Thread starter Thread starter cam875
  • Start date Start date
  • Tags Tags
    Functions
Click For Summary

Discussion Overview

The discussion centers around the concept of one-wayness in boolean functions, particularly in relation to constructing boolean functions from given mappings of inputs to outputs. Participants explore the implications of this idea in contexts such as cryptography and the boolean satisfiability problem.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant proposes a problem where the goal is to determine a boolean function from a given set of input-output pairs, suggesting that this may represent a one-way problem due to the computational difficulty of reconstructing the function.
  • Another participant suggests using conjunctive normal form to construct a boolean function from a truth table, noting that incomplete truth tables can lead to multiple valid functions.
  • A different perspective is introduced by comparing the problem to a hash function, where only the outputs are stored, and the function itself is unknown, raising questions about the one-way nature of this mapping.
  • One participant questions the definition of "different boolean functions," noting that functions yielding the same truth table might be considered equivalent, while also highlighting the challenge of guessing the exact representation of the function.
  • A further example is provided where a specific boolean function is proposed as a password, emphasizing that guessing the function incorrectly would lead to different output tables, thus complicating the mapping process.

Areas of Agreement / Disagreement

Participants express differing views on the nature of boolean functions and their mappings, with no consensus reached on whether the problem is definitively one-way or if it has been previously established in literature.

Contextual Notes

Some limitations include the potential for multiple valid functions from incomplete truth tables and the ambiguity in defining "different" boolean functions based on their outputs.

Who May Find This Useful

This discussion may be of interest to those studying cryptography, boolean algebra, or computational complexity, particularly in the context of function reconstruction and one-way mappings.

cam875
Messages
227
Reaction score
0
I was learning about boolean functions and the boolean satisfiability problem when I thought about what if we constructed a problem where you had two things: the domain and the range of a particular boolean function b. And the problem was that you had to solve for the boolean function which creates the appropriate mapping from the domain to the range.

So unlike the boolean satisfiability problem where you have to find appropriate values of either 1 or 0 to substitute into the function to make the function true you have the values but not the function. An example would be:

{0,0,0} -> 1
{0,1,0} -> 1
{0,1,1} -> 0

From this set of data you can conclude that b(0,00) = 1, b(0,1,0) = 1, and b(0,1,1) = 0
obviously this is a short example but the point would be to construct the function which creates this mapping. It seems that the only way to do so would be to perform an exhaustive search. As you can see this seems to be a one way type problem due to the fact that given a boolean function it is simple to compute all outputs for every possible input(2^n where n is the number of variables to the function) but take away the function and it seems to be become a computationally hard problem to solve for the function, hence the one wayness.

I am not sure though if it actually is one way and if this problem already exists.
I am working on this for my cs project so any help is greatly appreciated. Thanks in advance.
 
Mathematics news on Phys.org
You can use conjunctive normal form to, given any truth table, construct a function that has that truth table as its output. If your truth table isn't complete then you have more than one choice as to your function

http://en.wikipedia.org/wiki/Conjunctive_normal_form

The basic idea is to notice that: You want b(a,b,c) to be true when (a,b,c) fulfills any of the rows in which you want it to be true.

So B(a,b,c) = (-a^-b^-c)V(-a^b^-c)

where -a means not a and ^ means and. So B(a,b,c) is true only if one of the two expressions in the or is true, but the first expression is true only for the values (0,0,0) and the second only for the values (0,1,0). Since you specified b(0,1,1)=0 I can't include that as an or term but for everything not specified I can choose whether or not to include it
 
I am thinking about it from a hash function perspective. So its like if you typed your password in, it would be converted to a boolean function and then all possible inputs would be sent in and the results would be the only thing recorded and therefore if the results from the boolean function entered match the results stored then access is granted otherwise it is considered an invalid password. Therefore a hacker only has access to the domain and range and the mapping but does not know the function which models the mapping exactly. That is the part which appears to me to be one way and I am trying to figure out whether or not it is.
 
So your password is a boolean function. The computer stores only the results from all possible inputs. I could then enter any boolean function that has the same set of outputs and be successful at breaking this right? I'm a bit confused here as to what your definition of 'different boolean functions' is, if two give the same truth table most mathematicians would call them the same, but if you want the exact same symbols then obviously it's impossible to guess which symbols were used precisely (but then again those symbols are not recorded anywhere). Can you elaborate?
 
If I were to use B(x,y,z,q) = ((x and y) xor z)nand q as the password
and I generated all 16 possible inputs to the function and there outputs then in order for someone to match the data they would have to know the equation i just typed but if they guessed it wrong they would end up with different data tables, would they not?
 

Similar threads

  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 1 ·
Replies
1
Views
862
  • · Replies 6 ·
Replies
6
Views
4K
  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
1K
Replies
1
Views
2K