5.1. Security Proof
The adversary is allowed to make following queries in this game.
Setup-Oracle: generates the private key and corresponding system parameters. Then it sends them to when revokes the query.
-Oracle: chooses a random point , and insert into its list . Then it returns d to when revokes the query.
-Oracle: chooses a random number , and insert into its list . Then it returns d to when revokes the query.
-Oracle: chooses a random point , and insert into . Then it returns d to when revokes the query.
Sign-Oracle: based on the sent by , computes a . Then returns to when revokes the query.
If adversary could forge a valid login request message, then we say that could violate the proposed secure communication scheme. Let denote the probability that violates the scheme.
Definition 2. Our scheme is secure if is negligible for any polynomial adversary .
By evaluating the security of our scheme in random oracle, we make following theorem.
Theorem 1. The proposed scheme is secure in the random oracle model.
Proof: Suppose that there exists an adversary that could forge a . We construct a challenger to perform our signature scheme. By performing following queries revoked by , challenger is able to solve the ECDLP problem with a non-negligible probability by running as a subroutine.
Setup Oracle: Firstly a key parameter k is taken as input. Then randomly selects a number s as its private key and computes and sends {} to .
H0 Oracle: keeps a list initialized to empty. When invokes this query with , checks if already exists in . If so, returns . Otherwise, it selects a random , inserts and returns to .
H1 Oracle: keeps a list initialized to empty. When invokes this query with , checks if already exists in . If so, returns . Otherwise, it selects a random , inserts and returns to .
H2 Oracle: keeps a list initialized to empty. When invokes this query with , checks if already exists in . If so, returns . Otherwise, it selects a random , inserts and returns to .
Sign Oracle: On receiving ’s query with message and pseudo identity , checks if and already exist in and respectively. gains from and from . Otherwise, selects three random numbers , where , . Then sends to . It’s feasible to verify that hold.
Based on Forking lemma, suppose that
has generated two valid signatures, we have
and
. To violate the
,
will perform following steps.
compute . As the result shows, solves the ECDLP problem in a polynomial time, which contradicts Definition 1. Hence, we come to the conclusion that communications in our scheme are secure against adaptive chosen message attack in the random oracle model.