
 
 
consume time at most (
). 
When ’s oracle is 
, it is clear that  outputs 
a valid pair with probability of 2
, because this 
uniformly distributed strings provide no useful 
information. When ’s oracle is 
,
,  outputs  a 
valid pair with probability of 
. We let  output  1 
when  A outputs a valid pair, else return 0. Then 
|
Pr
[
,
(
1
)
=1
]
−Pr
[
(
1
)
=1
]|
≥
−
2
. From Lemma 2, we thus we get 
≤2
+
, 
and conclude the proof. 
Lemma 4. Let LPN
(∙) be a (,
)-secure LPN 
problem. Then the probability of obtaining a 
collision between function LPN
(
,
,∙)  and 
LPN
(
,
,∙) is upper-bounded by 
+2
 within 
time at most +(
), such that 
Pr
[
LPN
(
,
,∙)=LPN
(
,
,∙)
]
≤
+2
.(8) 
Proof. We claim that if there is an algorithm  able 
to produce a valid collision utilizing the above 
information with advantage at least 
 in time at 
most , then we can use  to construct an algorithm 
 to  distinguish  
,
 and  
 with advantage at 
least 
+2
 with time at most +(
). 
After algorithm  is given access to an oracle 
returning  (+)-bit string ,  constructs  a  
,
 
instance 
 to form the input (,
) to . Let 
()
 
be ’s first -bit binary digit, and 
()
 be ’s last l-
bit binary digit. The collision implies that 
()
=
()
. When ’s oracle is 
, then Pr
()
=
()
≤2
.  When   ’s oracle is 
,
, then 
Pr
()
=
()
≥
. When   finds  a  collision,   
outputs ‘1’, otherwise, ‘0’ is returned.  uses ’s 
output as its output.
|
Pr
[
,
(
1
)
=1
]
−
Pr
[
(
1
)
=1
]
|
≥
−2
. So we get 
<
2
+
, and conclude the proof. We note that this 
is a very loose upper-bound for the collision 
probability. 
3 RFID SECURITY DEFINITONS 
In this paper, an adversary  is assumed to be a 
probabilistic polynomial algorithm that is allowed to 
perform oracle queries during attacks. Five oracles 
are defined as follows.  
: It invokes the reader ℛ to start a new 
authentication and returns the challenge message . 
: It invokes tag   to responds with the 
response message  to challenge message .  
: It returns intercepted and modified challenge, 
, and response messages, .   
: It returns the final authentication result. 
: It returns the current key and internal state 
information of a tag , and also updates the key and 
state information of tag  if necessary. 
Definition 3.1 (,)-adversary. An adversary 
with his running time upper-bounded by  and  the 
ability to disturb at most  authentication exchanges 
in this interval is called a (,)-adversary.  
Definition 3.2 Security. The authentication 
protocol is said to be 
(
,,
)
-secure if there exists 
no  (,) -adversary who can impersonate an 
uncorrupted with the probability more than . 
Definition 3.3 Correctness. The authentication 
protocol is said to be (,,)-correct if there is no 
(,)-adversary who can make an uncorrupted tag 
being rejected in an undisturbed authentication with 
the probability more than .  
The forward privacy experiment is a two phase 
experiment. During the 1
st
 phase, adversary  
disturbs  ∈
[0,]  authentications  with  oracle 
(
)
, and outputs two uncorrupted challenge 
tags { 
,  
}. On entering the 2
nd
 phase, the 
experiment chooses a random bit  , and   is 
concealed from . Then  continues to disturbs with 
oracle (
)
. Aftern  is given access to the 
 
oracle query to obtain the internal states of  
 and 
,  is no longer able to access any oracle related 
to 
 and 
, but can access any other oracles. 
Eventually,  is asked to guess the random bit  by 
outputting a bit ′. 
Definition 3.4. The advantage of a 
(
,
)
-
adversary  in the above experiment is defined as: 
    Adv
=
|
Pr
[
outputs1
]
−1/2
|
.     (9) 
Definition 3.5 Forward Privacy. An authen-
tication protocol is said to be (,,)-forward-
private if there exists no 
(
,
)
-adversary who can 
make the Adv
 more than . 
4 PROPOSED PROTOCOL 
The proposed PLFP protocol is depicted in Figure 1. 
On each tag , there is a (,
)-secure PRNG 
:{0,1}
→{0,1}
 with  computation  time  
 as 
defined in Berbain et al. (2009), an LPN problem 
LPN
(∙), and a void function GenSec(∙), which is 
used to derive a secret matrix  of the LPN problem 
from the secret state  of the PRNG. During the 
initialization stage, the tag   shares its initial 
internal state, a randomly -bit secret 
, with the 
reader. The PLFP protocol runs as follows: 
1.  The reader ℛ sends a challenge ∈{0,1}
 to 
the tag . 
A FORWARD PRIVATE PROTOCOL BASED ON PRNG AND LPN FOR LOW-COST RFID
289