Patent ID: 7809946

Claim:
A first device adapted to verify a hash value, the first device having a certificate (C a ) comprising a public key (g a ) and an identity corresponding to itself (ID a ), and knowledge of the identity corresponding to itself (ID a ), a private key (a), and the public key (g a ), the first device comprising a processor for: choosing an ephemeral private key (x); calculating a first ephemeral public key (g x ); sending its certificate (C a ) and the first ephemeral public key (g x ) to a second device; receiving a certificate of the second device (C b ), a second ephemeral public key (g y ) and a first hash value (H(g y , K eph , K perm , ID b )) from the second device, the certificate (C b ) comprising a public key (g b ) and an identity of the second device (ID b ), and the first hash value (H(g y , K eph , K perm , ID b )) being calculated from the second ephemeral public key (g y ), an ephemeral shared key (K eph ), a permanent key (K perm ), and the identity corresponding to the second device (ID b ); verifying the certificate of the second device (C b ); calculating the ephemeral shared key (K eph ) from the second ephemeral public key (g y ) and the ephemeral private key (x); calculating the permanent key (K perm ) from the public key of the second device (g b ) and its own private key (a); and verifying the first hash value (H(g y , K eph , K perm , ID b )).