Easiest math question ever!! Can you solve it?

I've seen my share of people asking math questions here so I decided to share one that has been bugging my mind for the past few... months. It's pretty easy though let's see if someone else can get it. You just have to bear with my train of thought for a minute.

Imagine 4 friends. Let's call the Alice, Bob, Charles, and Dawson. They are all online and they love talking to one another, but they are paranoid about the NSA so they want to do it securely.

Every one of them has a random number generator g, which basically gives them a random number when they ask it to.

Alice wants to talk to Bob securely. She takes her random number generator g, and produces a random number, a. Then she posts this number, a, to her facebook page, that only Bob can see.
Bob, simultaneously, takes g, and makes his own random number, b, that he posts on his facebook page, that only Alice can see.

Right now, both Alice and Bob have the generator g, and the numbers a and b. Both of them can now do g ^ (a * b), and use the result to encrypt messages sent between them.

Question: can you set an identical procedure, but one in which this works for all the FOUR people, assuming each one never has access to more than 3 values (g, their own value, someone else's value) - so, for example, Dawson can only have g, his number, and Alpha's number; he can never have g, his number, Alpha's number, and Bob's number, for example?

Whoever gets this easy question right wins $20.000 or more in cash, instant fame, and possibly a Nobel. Yeay you!


Most Helpful Girl

  • how is that easy?


Most Helpful Guy

  • Um... your question refers to the letter g first as the name of a random number generator -- a thing, not a value -- and then later as some unstated value that is never explained. Which is it?

    But even if g is actually an encryption program or device that takes the randomly generated numbers as keys, the answer is no, they could never all communicate directly with all of the others given the limitations of data sharing and the fact that the keys are randomly generated. The best they could do is set up a ring where each person communicates with the next person down the line, i. e., A to B; B to C; C to D; and D to A.

    But if they can already share their randomly generated numbers securely, why don't they just use that method?

    • g is a program, I'm just bad at using the word "value" :p basically it outputs numbers in a random way

      The problem is exactly that. They can only communicate between 2 at a time. However, it has been proven that they can use the method for 3 people, but you have to do a lot of complex math using logarithms to tear the g ^ (a*b) apart. Nobody has yet shown that it is possible for 4 or + though.

Have an opinion?

What Girls Said 0

The only opinion from girls was selected the Most Helpful Opinion, but you can still contribute by sharing an opinion!

What Guys Said 2

  • what's stopping from all the four people from having a global variable? or instead a mathmatical algorithm?
    Instead of having their own values, just let all friends know that all they need to do is taking the original message 'a' and dividing by four g = a/4. Or just encrypt the original message by raising it to a global variable 'z' where g = a^z.

    Either way all friends would get the original message without having to access to more than 3 values.

  • This isn't easy at all. I don't think the math question is complete. All you said is you want a procedure to make 3 numbers. But you don't say what they are, what "this" refers to, or any other value than 3 names that you want to have different numbers under some undefined circumstance.

    An easy math question would be something like what's 20% of 20? Clearly it's the square root of 16.