One wayness of boolean functions

  • Thread starter cam875
  • Start date
  • Tags
    Functions
In summary, the conversation discusses the concept of boolean functions and the boolean satisfiability problem. The speaker proposes a problem where the domain and range of a boolean function are given and the goal is to find the function that creates the appropriate mapping between the two. This problem seems to be computationally hard and a one-way problem. The conversation also mentions the use of conjunctive normal form to construct a function from a given truth table. The speaker suggests using this concept in a hash function to protect passwords. However, there is confusion about the definition of "different boolean functions" in this context.
  • #1
cam875
228
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
  • #2
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
 
  • #3
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.
 
  • #4
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?
 
  • #5
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?
 

1. What is the concept of one wayness in boolean functions?

One wayness in boolean functions refers to the property of a function that makes it easy to compute the output, but difficult to determine the input when given the output. It is a crucial aspect in cryptography, as it ensures the security of encrypted data.

2. How is one wayness measured in boolean functions?

The one wayness of a boolean function is measured by its resistance to brute force attacks, which means that it should be computationally infeasible to determine the input by trying all possible combinations. In other words, the function should not have an efficient inverse function.

3. What is the difference between one wayness and one way permutations in boolean functions?

One wayness and one way permutations are two different properties of boolean functions. One wayness refers to the difficulty of determining the input from the output, while one way permutations refer to the difficulty of determining the original input from the output of a function and its inverse. One way permutations are considered a stronger property than one wayness.

4. Can a boolean function be both one way and invertible?

No, a boolean function cannot be both one way and invertible. If a function is invertible, it means that the output uniquely determines the input, which goes against the definition of one wayness. A one way function should not have an efficient inverse function.

5. How is one wayness used in cryptography?

One wayness is a fundamental concept in cryptography, particularly in the design of secure encryption algorithms. By using one way functions, data can be encrypted in a way that makes it practically impossible for an attacker to retrieve the original message without the key. This ensures the confidentiality and integrity of sensitive data.

Similar threads

Replies
4
Views
400
Replies
2
Views
678
Replies
6
Views
1K
  • General Math
Replies
1
Views
1K
  • General Math
Replies
6
Views
1K
  • General Math
Replies
4
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
12
Views
1K
Replies
7
Views
976
  • General Math
Replies
1
Views
728
Back
Top