Patent ID: 7353395

Claim:
A method of encoding a digital message communicated between a first entity and a second entity, wherein the first entity and the second entity both know a non-interactive shared secret, comprising, at the first entity: selecting a first random secret that is independent of the non-interactive shared secret, known to the first entity and unknown to the second entity; determining a first intermediate shared secret component using the first random secret and a system parameter that is independent of the non-interactive shared secret, such that the first intermediate shared secret component is independent of the non-interactive shared secret; communicating the first intermediate shared secret component to the second entity; receiving from the second entity a second intermediate shared secret component provided by: selecting a second random secret that is independent of the non-interactive shared secret, known to the second entity and unknown to the first entity; and determining the second intermediate shared secret component using the second random secret and the system parameter, such that the second intermediate shared secret component is independent of the non-interactive shared secret; determining an interactive shared secret using the first random secret and the second intermediate shared secret component; determining a symmetric key using the interactive shared secret and the non-interactive shared secret; and encoding the digital message using the symmetric key.