[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Better key negotiations



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I have a good idea for key negotiations (NOTE:UNPUBLISHED). Here it is:
Let the server have a public key y=h^x mod p, p=2q+1, h=g^2, and private
key x^-1 mod q, or z. (g is a generator).

A client will send y^a and remember a.
A server will send back h^b and remember b.
The client will compute (h^b)^a.
The server will compute (y^a)^(bz).
We note that:
(y^a)^(bz)=h^(ax*bz)=h^(abxz)=h^(ab)=(h^b)^a, as z and x are
multiplicative inverses mod q.
We further note that this is just Diffie-Hellman if we replace y with
h^z,  a with a*x, and z with 1, b with b. So this is secure if DDH holds.

I am not a cryptographer, so will someone please check this method. I
have not found it anywhere.
Thanks,
Watson Ladd
- --
They who would give up an essential liberty for temporary security,
 deserve neither liberty or security
- --Benjamin Franklin
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFE+NQiGV+aWVfIlEMRAgx6AKCiYSQYxxHiHNQGE5bhPjLzDEyFOQCfX9yo
TFzDjqiMHX3DFZ+luWI7dpU=
=Y0dm
-----END PGP SIGNATURE-----