# Complex-Diffie-Hellman

Diffie-Hellman key exchange using complex numbers and hypercomplex numbers

July 25, 2013

## Transcript

2. ### Complex-Diffie-Hellman Generalized: Diffie Hellman operates on Groups: given( p ,

g) Z p ⊂Z a∗b=a∗b mod p a+b=a+b mod p a−b=a−b mod p given( p) g∈Z p Alice a=random() A=ga Bob b=random() B=gb K=Ab Alice K=Ba
3. ### Comple-Diffie-Hellman • The Diffie-Hellman key exchange can be done with

various Groups • For example elliptic curves • Others?
4. ### Complex-Diffie-Hellman Complex Number Basics C (T )={(r ,i)∣r ,i∈T }

a∗b=(ar ,ai)∗(br ,bi)=((ar∗br)−(ai∗bi),(ar∗bi)+(ai∗br)) a+b=(ar ,ai)+(br ,bi)=(ar+br ,ai+bi) a−b=(ar ,ai)−(br ,bi)=(ar−br ,ai−bi) Now we can construct the following Template Group: C={(r ,i)∣r ,i∈R} a∗b=(ar ,ai)∗(br ,bi)=((ar∗br)−(ai∗bi),(ar∗bi)+(ai∗br)) a+b=(ar ,ai)+(br ,bi)=(ar+br ,ai+bi) a−b=(ar ,ai)−(br ,bi)=(ar−br ,ai−bi) Complex numbers are defined as:
5. ### Complex-Diffie-Hellman given( p) Z p ⊂Z a∗b=a∗b mod p a+b=a+b

mod p a−b=a−b mod p Constructing a new Group Assumed, we use the prime group as Basis: P=C(Z p ) g , A, B , K∈P a=random() A=ga b=random() B=gb K=Ba=Ab So We can use our previous work for doing Diffie-Hellman key exchange: In My Practical Experimets (coding the alg. In python) It worked!
6. ### Complex-Diffie-Hellman Extending the Algorithm Since the Complex Group can be

constructed by applying the Template to another Group, we can Cascade it. given( p) Z p ⊂Z a∗b=a∗b mod p a+b=a+b mod p a−b=a−b mod p Given: C0(Z p )=Z p C1(Z p )=C(Z p ) C2(Z p )=C (C (Z p )) C3(Z p )=C (C(C (Z p ))) C4(Z p )=C (C (C(C(Z p )))) C5(Z p )=C (C(C (C (C (Z p ))))) This shows Numbers, Complex numbers and Hypercomplex over various levels.
7. ### Complex-Diffie-Hellman • Advantages of Complex and Hypercomplex Numbers – They

dont need BigIntegers to offer security • Faster • More portable – They are Quantum-Computer-Hard (Propably) – They are Easier to Implement than Elliptic Curve Diffie-Hellman