QB64.org Forum

Active Forums => QB64 Discussion => Topic started by: NOVARSEG on May 02, 2021, 01:24:14 am

Title: Diffie Hellman with color
Post by: NOVARSEG on May 02, 2021, 01:24:14 am
from https://ldapwiki.com/wiki/Diffie-Hellman%20key-exchange
Bob and Alice choose yellow.

Alice mixes yellow with magenta (magenta is Alice's secret color)
255, 255, 0 +  255, 0, 255  =  255, 128, 128
and sends this to Bob

Bob mixes yellow with cyan (cyan is Bob's secret color)
255, 255, 0 +  0, 255, 255 = 128, 255, 128
and sends this to Alice

Alice mixes 128, 255, 128 with magenta
128, 255, 128  +  255, 0, 255 + 255 =  (255+128)/2, 128,  (255 +128)/2

Bob mixes 255, 128, 128 with cyan
255, 128, 128  +  0, 255, 255 =  128, (255+128)/2, (255 +128)/2

Which does not work.
Title: Re: Diffie Hellman with color
Post by: SMcNeill on May 02, 2021, 10:33:42 am
Take 3 tubes of pain: yellow, cyan, magenta.

Mix yellow, cyan, and magenta in equal parts...   You get dark gray.

Mix yellow, magenta, cyan in equal parts...  You get dark gray.

The color visualization is there as an example to help you conceptualize the process.  As the article goes on to explain (if you read it and don't just look at the pictures...)

Quote
Essentially, each party agrees:

on a public value g and a large prime number p .
one party chooses a secret value x
the other party chooses a secret value y
Both parties use their secret values to derive public values, g x mod p and g y mod p,
they exchange the public values.
Each uses the other party's public value to calculate the shared secret key that is used by both parties for confidential communications.
A third party cannot, in theory, derive the shared secret key because they do not know either of the secret values, x or y .
For Example:

Alice chooses secret value x and sends the public value g x mod p to Bob.
Bob chooses secret value y and sends the public value g y mod p to Alice.
Alice uses the value g xy mod p as her secret key for confidential communications with Bob.
Bob uses the value g yx mod p as his secret key.

Which is quite a bit different than the math you're attempting to do.

The color example is basically saying:  X + Y + Z = X + Z + Y  (yellow + cyan + magenta = yellow + magenta + cyan)


https://trycolors.com -- Try it yourself.
Title: Re: Diffie Hellman with color
Post by: bplus on May 02, 2021, 11:16:33 am
Just try a run with real numbers:
Code: QB64: [Select]
  1. DefLng A-Z
  2. Public = 37
  3. G = 100
  4. Alice = 32
  5. Bob = 16
  6.  
  7. 'Alice sends Bob
  8. ToBob = Alice * G Mod Public
  9. 'Bob sends Alice
  10. ToAlice = Bob * G Mod Public
  11.  
  12. ' Bob and Alice applies their numbers to what the other sent
  13. BobAlice = Bob * ToBob Mod Public
  14. AliceBob = Alice * ToAlice Mod Public
  15. Print "Bob, Alice keys: "; BobAlice, AliceBob
  16.  
  17.  
Title: Re: Diffie Hellman with color
Post by: NOVARSEG on May 02, 2021, 06:43:34 pm
I will recheck my math.   What if the color set were increased to say 100 colors?  Human can only see 3 but a computer does not care. 

What if Alice and Bob were to have more than one secret color?  Eve would see the sums but she would not know the composition.  Well that is the theory.