A method of generating a cryptographic key between two users. First, the users select an elliptic curve. Next, the users select a point P on the curve. Next, the first user selects integers r.sub.a and w.sub.a and the second user selects integers r.sub.b and w.sub.b. Next, the first user generates points R.sub.a=r.sub.aP and W.sub.a=w.sub.aP and the second user generates points R.sub.b=r.sub.bP and W.sub.b=w.sub.bP. Next, the first user transmits R.sub.a and W.sub.a to the second user and the second user transmits R.sub.b and W.sub.b to the first user. Next, the first user generates c.sub.a from what it possesses while the second user generates c.sub.b from what it possesses in equivalent fashion. Next, the first user generates g.sub.a as a function of w.sub.a, r.sub.a, W.sub.b, and R.sub.b and the second user generates g.sub.b as a function of w.sub.b, r.sub.b, W.sub.a, and R.sub.a, in equivalent fashion. Next, the first user binarily expands on c.sub.a and g.sub.a in joint sparse form and the second user does the same on c.sub.b and g.sub.b. Next, the first user generates a point K by computing c.sub.aW.sub.b+g.sub.aR.sub.b via twin multiplication, double-add-subtract method, and the binary expansions in joint sparse form and the second user generates the point K by computing c.sub.bW.sub.a+g.sub.bR.sub.a in similar fashion. The last step is for each user to derive the cryptographic key from K in the same manner.Method of generating cryptographic key using elliptic curve and expansion in joint sparse form and using same750558517/03/200925/06/200220092,457Solinas; Jerome A.US Patent and Trademark OfficeGoogle Patent Searchpatentimages.storage.googleapis.com/US7505585B2/US07505585-20090317-D00000.pngUniquesecond userfirst userjoint sparse formpointw.sub.bw.sub.acryptographic keyr.sub.ar.sub.buser