A method and system are provided for determining a shared secret between
two entities in a cryptosystem. A first random secret is selected that is
known to the first entity and unknown to the second entity. A first
intermediate shared secret component is determined using the first random
secret and a system parameter. The first intermediate shared secret
component is communicated to the second entity. A second random secret is
selected that is known to the second entity, but unknown to the first
entity. A second intermediate shared secret component is determined using
the second random secret and the system parameter. The second
intermediate shared secret component is communicated to the first entity.
It is confirmed that both the first entity and the second entity know a
non-interactive shared secret. An interactive shared secret is determined
using the first random secret, the second random secret, and the system
parameter.