{'fraction_non_alphanumeric': 0.04907133049071331, 'fraction_numerical': 0.0071065500710655, 'mean_word_length': 4.035419699175158, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 2, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 22, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Opacity Issues in Games with Imperfect Information

We study in depth the class of games with opacity condition, which are two-player games with imperfect information in which one of the players only has imperfect information, and where the winning condition relies on the information he has along the play. Those games are relevant for security aspects of computing systems: a play is opaque whenever the player who has imperfect information never"knows"for sure that the current position is one of the distinguished"secret"positions. We study the problems of deciding the existence of a winning strategy for each player, and we call them the opacity-violate problem and the opacity-guarantee problem. Focusing on the player with perfect information is new in the field of games with imperfect-information because when considering classical winning conditions it amounts to solving the underlying perfect-information game. We establish the EXPTIME-completeness of both above-mentioned problems, showing that our winning condition brings a gap of complexity for the player with perfect information, and we exhibit the relevant opacity-verify problem, which noticeably generalizes approaches considered in the literature for opacity analysis in discrete-event systems. In the case of blindfold games, this problem relates to the two initial ones, yielding the determinacy of blindfold games with opacity condition and the PSPACE-completeness of the three problems.


Introduction
We described in [14] a class of two-player games with imperfect information that we called games with opacity condition. In these games, the players are Robert (for "robber") and Gerald (for "guardian"). Robert has imperfect information as opposed to Gerald who has perfect information. This asymmetric setting is very relevant for the verification of open systems and all the more for security aspects as it captures the intuitive picture of an attacker having only a partial information against a system. The game model we consider relies on the classical imperfect-information arenas, as defined in e.g. [16,1], but it is equipped with a subset of positions that denote confidential information and that we call secrets. We focus on the opportunity for Robert to discover some secret, by introducing the property of opacity: a play is opaque if, at each step of the (infinite) play, the set of positions that are considered possible by Robert does not consist of secrets only. In games with opacity condition, the opacity property is the winning condition for Gerald. Informally, Robert tries to force the game to reach some point when he knows for sure that the current position is a secret, whereas Gerald tries to keep Robert under uncertainty. Note that this winning condition can be seen as a particular epistemic temporal logic statement [10] on an imperfect information arena seen as an epistemic temporal model : this ETL formula is G¬K Robert secret. However, to our knowledge the complexity of deciding the existence of winning strategies for such winning conditions has never been studied in depth.
Our claim that games with opacity condition are natural and adequate models for practical applications is all the more sustained by very recent contributions of the literature [17,8]. These results mainly arise from the analysis of discrete-event systems and their theory of control, and our games embed some problems studied in this domain, such as the verification of opacity. Our abstract setting provided by the game-theoretical paradigm enables us to focus on essential aspects of the topic, such as synthesizing strategies, and to circumvent the complexity of the problems.
Not surprisingly, games with opacity condition are not determined [14]. We therefore introduced two dual problems: the opacity-violate problem and the opacity-guarantee problem, that consist of deciding the existence of a winning strategy, respectively for Robert and for Gerald. The opacity-violate problem generalizes the strategy problem in reachability games with imperfect information [16], and so does the opacity-guarantee problem, but putting the emphasize on the player who has perfect information and has the complementary safety objective. The latter is, to our knowledge, never been done, for the following reason. In two-player games with imperfect information, when considering the existence of winning strategies for a player, one can equivalently consider that the opponent has perfect information (see [16]). Thus, when dealing with omega-regular winning conditions in arenas where the imperfect information is asymmetric, focusing on the player with perfect information would amount to solve the underlying perfect-information game. Our case is different : when considering Gerald's point of view, we could indeed equivalently consider that Robert plays with perfect information too, but we cannot give up the imperfect-information setting because the definition of the winning condition itself relies on Robert's information along the play.
Additionally to the two aforementioned problems, we consider the opacity-verify problem as an intermediate problem: the question here is to decide whether in a game with opacity condition, all strategies of Gerald are winning. The choice of considering this apparently weird problem is well motivated. Firstly, it is equivalent both to the opacity-guarantee problem and to the complementary of the opacity-violate problem for blindfold games; an immediate consequence is the determinacy of blindfold games with opacity condition. And secondly, it enables us to embed opacity issues in discrete-event systems with a strong language-theoretic feature, addressed earlier in the literature [17,8].
In this contribution, we consider the three problems of opacity-violate, opacity-guarantee and opacityverify, keeping in mind that our main attention turns to the opacity-guarantee problem. It is not hard to establish the EXPTIME-completeness of the opacity-violate problem, from a power-set construction inspired by [16] that amounts to solving a reachability perfect-information game, and from the fact that it generalizes imperfect-information games with reachability condition, known to be EXPTIME-complete [16]. Regarding the opacity-guarantee problem, we rely on an earlier power-set construction to reduce this problem to a perfect-information game [14], yielding EXPTIME membership. The EXPTIMEhardness result for this problem, where the main player (Gerald) has perfect information, was unknown until now and relies on a reduction from the empty input string acceptance problem for linearly-bounded alternating Turing machines. The key point is a pioneer encoding of configurations by information sets. Concerning the opacity-verify problem, we prove its PSPACE-completeness, which for the lower bound relies on a reduction similar to the one in [6] from the universality problem for nondeterministic automata [11]. Interestingly, the opacity-verify problem relates the two other problems for the particular case of blindfold games, in such a way that those games are determined. We also show that the blindfold setting embraces the language-theoretic approaches for opacity analysis in discrete-event systems [17,8].
The paper is organized as follows. In Section 2, we define games with opacity condition. In Section 3, we present the opacity-guarantee problem and the opacity-violate problem, and we establish their EXPTIME complexity. We first recall the power-set constructions from [14] yielding the upper bounds, then we show the matching lower bounds. In Section 4, we consider the opacity-verify problem for blindfold games. In this setting, we establish the determinacy and the PSPACE completeness of the three opacity problems. In Section 5, we relate the opacity-verify problem to the language opacity verification of [17,8]. In Section 6, we discuss complexity aspects of problems regarding Gerald's winning strategies. We conclude in Section 7 by giving some ideas on our current and future work.

Games with opacity condition
A game with opacity condition over the alphabet Σ and the set of observations Γ is an imperfect information game structure A = (V, ∆, obs, act, v 0 , S) where V is a finite set of positions, ∆ : V × Σ → 2 V \ / 0 is a transition function, obs : V → Γ is an observation function, and act : Γ → 2 Σ \ / 0 assigns to each observation a non-empty set of available actions, so that available actions are identical for observationally equivalent positions. Finally, v 0 is the initial position, and the additional element S ⊆ V in the structure A is a finite set of secret positions.
In a game A = (V, ∆, obs, act, v 0 , S), the players are Gerald and Robert. A play is an infinite sequence of rounds, and in each round i ≥ 1, Robert chooses an action a i ∈ act(obs(v i−1 )), Gerald chooses the new position v i ∈ ∆(v i−1 , a i ), and Robert observes obs(v i ). A play in A is an infinite sequence ρ = v 0 a 1 v 1 . . . ∈ v 0 (ΣV ) ω that results from an interaction of Robert and Gerald in this game.
We now extend obs to plays by letting obs The imperfect information setting leads Robert to partially observe a play ρ as obs(ρ). Note that since the initial position is a part of the description of the arena, it is known by Robert.
For every natural number k ∈ N and play ρ, we denote by ρ k ∈ v 0 (ΣV ) k the k-th prefix of ρ, defined by ρ k := v 0 a 1 v 1 . . . a k v k , with the convention that ρ 0 = v 0 . We denote by ρ + an arbitrary prefix of ρ.
Since the information revealed to Robert is based on observations, a strategy of Robert in A is a mapping of the form α : v 0 (ΣΓ) * → Σ such that for any play prefix ρ k ending in observation γ, α(obs(ρ k )) ∈ act(γ). On the contrary Gerald has perfect information on how the play progresses, so a strategy of Gerald in A is a mapping of the form β : v 0 (ΣV ) * Σ → V such that for any play prefix ρ k ending in position v, for all a in act(obs(v)), β (ρ k a) ∈ ∆(v, a).
Given strategies α and β of Robert and of Gerald respectively, we say that a play ρ = v 0 a 1 v 1 . . . is induced by α if ∀k ≥ 1, a k = α(obs(ρ k−1 )), and ρ is induced by β if ∀k ≥ 1, v k = β (ρ k−1 a k ). We also note α β the only play induced by α and by β .
In the following, an observation γ might be interpreted as the set of positions it denotes, namely obs −1 (γ).
Let us fix a play ρ = v 0 a 1 v 1 a 2 v 2 . . .. Note that every k-th prefix of ρ characterizes a unique information set I(ρ k ) ⊆ V consisting of the set of positions that Robert considers possible in the game after k rounds. Formally, information sets can be defined inductively as follows. Definition 1 For every play ρ = v 0 a 1 v 1 a 2 v 2 . . ., we let I(ρ 0 ) := {v 0 } and I(ρ k+1 ) := ∆(I(ρ k ), a k+1 ) ∩ obs(v k+1 ), for k ∈ N.
We now define the opacity property: Definition 2 For a given set of secret positions S ⊆ V , a play ρ satisfies the opacity property for S, or is S-opaque, if: Informally, the opacity condition means that Robert never knows with certainty that the current position is a secret, because there is always one of the positions he considers possible that is not a secret. In a game with opacity condition, the opacity property is the winning condition for Gerald, i.e S-opaque plays are winning for Gerald, and the other ones are winning for Robert.

Remark 1
The definition of the arena and of the opacity condition are slightly different from the ones in [14] : originally Robert's aim was to reach a singleton information set. We introduce here the set of secret positions and define the winning condition accordingly because it makes these games closer to the intuition behind opacity. Anyway the results established in [14] still hold in this setting, and adapting the proofs is straightforward.

Opacity-violate and opacity-guarantee problems
It is well known that perfect-information games are determined [13], and that imperfect-information games are not determined in general. We recall that a game is determined if each position is winning for one of the two players.
We proved the following result in [14]: Theorem 1 Games with opacity condition are not determined in general.
This result leads to introduce two dual problems. We remind that α (resp. β ) stands for a strategy of Robert (resp. Gerald). We first consider Robert's point of view.

Definition 3
Given a game with opacity condition A = (V, ∆, obs, act, v 0 , S), the opacity-violate problem is to decide whether the following property holds: We now consider Gerald's dual point of view.

Definition 4
Given a game with opacity condition A = (V, ∆, obs, act, v 0 , S), the opacity-guarantee problem is to decide whether the following property holds:

Remark 2 It is important to comment on Definition 4 regarding the universal quantification over Robert's strategies. As defined, this quantification ranges over observation based strategies only. The opacityguarantee problem would however be equivalent if this quantification ranged over the wider set of perfect information strategies, as already argumented by Reif in [16] : along a play, Robert's possible behaviors are not restricted by observation-based strategies.
In the rest of this section we prove the following result:

Theorem 2
The opacity-violate and opacity-guarantee problems are EXPTIME-complete.
In the following, we adopt the classic convention that the size of a game is the size of its arena, i.e. the number of positions.

Power-set constructions for upper bounds
We recall the power-set constructions of [14] that lead to equivalently solve perfect information games.
We first address the opacity-violate problem. Since we consider the point of view of the player with imperfect information, this problem is close to problems usually studied in games with imperfect information. This is why we can easily rely on previous work on the topic to study its complexity. We remind the construction from [14], which is strongly inspired from the one described by Reif in [16] : Let A = (V, ∆, obs, act, v 0 , S) be a game with opacity condition. We define a reachability perfectinformation game A, where the players are Roberta and SuperGeraldine 1 . A position of A is either I where I is a reachable information set in A -it is a position of Roberta -, or (I, a) where I is a reachable information set in A and a ∈ act(I) 2 -it is a position of SuperGeraldine.
The game is played as follows. It starts in the initial position I 0 := {v 0 } of Roberta. In a position I, Roberta chooses a ∈ act(I) and moves to position (I, a). Next, let O be the set of reachable observations from I by a. SuperGeraldine chooses a next information set ∆(I, a) ∩ γ, where γ ranges over O. In A, a play I 0 (I 0 , a 1 )I 1 (I 1 , a 2 ) . . . is winning for Roberta if it reaches a position of the form I with I ⊆ S, otherwise it is winning for SuperGeraldine.
Theorem 3 [14] Robert has a winning strategy in A, if and only if, Roberta has a winning strategy in the perfect-information game A.
Due to nondeterminacy (Theorem 1), the opacity-guarantee problem has to be studied on its own. We remind the power-set construction for the opacity-guarantee problem described in [14], that leads to a safety perfect-information game A. In this game, unlike in A, we maintain an extra information on how Gerald is playing in A. The players in A are SuperRoberta 3 and Geraldine. A position in A is either of the form (I, v) where I is a reachable information set in A, and v ∈ I -it is a position of SuperRoberta -, or of the form (I, v, a) where I is a reachable information set in A, v ∈ I, and a ∈ act(I) -it is a position of Geraldine. The initial position is ({v 0 }, v 0 ). In position (I, v), SuperRoberta chooses a ∈ act(I), and moves to (I, v, a). In position (I, v, a), Geraldine chooses v ′ ∈ ∆(v, a) and moves to (

Theorem 4 [14] Gerald has a winning strategy in A, if and only if, Geraldine has a winning strategy in the perfect-information game A.
It is well known that perfect-information reachability games and perfect-information safety games are solvable in PTIME. Since the constructions of A and A involve a single exponential blow-up, it follows from Theorems 3 and 4 that the opacity-violate and opacity-guarantee problems are in EXPTIME.

Matching lower bounds
We prove here that the opacity-violate and the opacity-guarantee problems are EXPTIME-hard.
First, EXPTIME-hardness of the opacity-violate problem is proved by a reduction from reachability imperfect-information games of [16]. Recall that a reachability imperfect-information game is a game of imperfect information A = (V, F, ∆, obs, act, v 0 ) over Σ and Γ with a distinguished set of target observations F ⊆ Γ that Robert aims at reaching. Theorem 5 [16] Solving reachability imperfect-information games is EXPTIME-complete.
The reduction is straightforward. Let A = (V, F, ∆, obs, act, v 0 ) be a reachability imperfect-information game over Σ and Γ. We define the game with opacity condition A ′ := (V, ∆, obs, act, v 0 , S) over Σ and Γ, where S = γ∈F γ. It is easy to see that solving the reachability imperfect-information game A is equivalent to solving the opacity-violate problem in the game A ′ : a winning strategy for Robert to reach F in A is also a winning strategy for Robert in A ′ , and vice versa (remember that the information set is always a subset of the current observation).
We now show that the opacity-guarantee problem is EXPTIME-hard by a polynomial-time reduction from the acceptance problem of the empty input string for linearly-bounded alternating Turing Machines (TM) with a binary branching degree, which is EXPTIME-complete [5]. The key idea is to encode TM configurations by the information sets.
In the rest of this section, we fix such a TM machine where B is the input alphabet, Q ∃ (resp. Q ∀ ) is the set of existential (resp. universal) states, q 0 ∈ Q is the initial state, q acc / ∈ Q ∀ ∪Q ∃ is the (terminal) accepting state, q re j / ∈ Q ∀ ∪Q ∃ is the (terminal) rejecting state, and δ : is the transition function. In each non-terminal step (i.e., the current state is in Q ∀ ∪ Q ∃ ), M overwrites the tape cell being scanned, and the tape head moves one position to the left (−1) or right (+1). Let n be the size of M and [n] = {1, . . . , n}. We assume that n > 1.
Since M is linearly bounded, we can assume that M uses exactly n tape cells when started on the empty input string ε. Hence, a configuration (of M over ε) is a word C = w 1 (q, b) w 2 ∈ B * · (Q × B) · B * of length exactly n denoting that the tape content is w 1 b w 2 , the current state is q, and the tape head is at position |w 1 | + 1. The initial configuration C init is given by (q 0 , ) n−1 , where is the blank symbol. Moreover, without loss of generality, we assume that when started on C init , no matter what are the universal and existential choices, M always halts by reaching a terminal configuration C, i.e. such that the associated state, written q(C), is in {q acc , q re j } (this assumption is standard, see [5]). For a non-terminal configuration C = w 1 (q, b) w 2 (i.e. such that q ∈ Q ∃ ∪ Q ∀ ), we denote by succ L (C) (resp. succ R (C)) the successor of C obtained by choosing the left (resp. the right) triple in δ (q, b). An accepting computation tree of M over ε is a finite tree T whose nodes are labeled by configurations and such that the root is labeled by C init , the leaves are labeled by accepting configurations C, i.e. q(C) = q acc , each internal node x is labeled by a non-terminal configuration C, and: (1) if C is existential (i.e., q(C) ∈ Q ∃ ), then x has exactly one child whose label is one of the two successors of C, and (2) if C is universal (i.e., q(C) ∈ Q ∀ ), then x has exactly two children corresponding to the two successors succ L (C) and succ R (C) of C. We construct a game with opacity condition A M such that Gerald has a winning strategy in A M if, and only if, there is an accepting computation tree of M over ε (Theorem 6). Hence, EXPTIMEhardness of the opacity-guarantee problem follows.
In the game A M , the tape content can be retrieved from the current information set (of size n), and the remaining information about the current configuration is available in each position of the information set. A step of the machine is simulated by two rounds of the game: in the first round, depending on whether the current state is universal or existential, Robert simulates the universal choice of the next configuration or Gerald simulates the existential choice, and the second round simulates the updating of the configuration of the machine. Here, we describe the construction of the game A M = (V, ∆, obs, act, v 0 , S).
We delay the formal definition of ∆ : V × Σ → 2 V \ / 0 after informally describing the running of the game. A configuration C is encoded by an information set I f (C) of the form where f ∈ {L, R, choice}, i is the position of the tape cell of C being scanned, and for each 1 ≤ j ≤ n, b j is the content of the j-th cell. For each f ∈ {L, R, choice}, I f (C) is called the f -code of C, and during a play, the current information set is of the form I f (C) for some reachable configuration C of the machine, unless Robert happened to have made some deviating move which does not simulate the dynamics of M . We capture this deviation by making Robert lose: technically, the play enters one of the safe positions sa f e L , sa f e R , or sa f e choice that do not belong to the set S of secrets; then, once a safe position is reached, only other safe positions can be reached, yielding Gerald to win, whatever Robert does in the future.
Note that for each f ∈ {L, R}, I f (C) does not violate the opacity condition for S, and I choice (C) violates the opacity condition for S if, and only if, C is rejecting (i.e. q(C) = q re j ). For all q ∈ Q ∃ ∪ Q ∀ and b ∈ B, we denote by δ L (q, b) (resp. δ R (q, b)) the left (resp. right) triple in δ (q, b). The behavior of A M is as follows: First round: From the initial position v 0 , whatever Robert and Gerald choose, the information set at the end of the first round is I choice (C init ), the choice-code of the initial configuration.
The current information set is I choice (C) for some terminal configuration C: If C is rejecting, then I choice (C) ⊆ S and Gerald loses. Otherwise, I choice (C) ⊆ S and independently of the move of Robert, the play reaches a safe position sa f e dir for some dir ∈ {L, R} and Gerald wins.
As we shall see, there remain only two cases, which in turn simulate a complete step of M .

The current information set is I choice (C) for some non-terminal configuration C:
Let Whatever the type of the configuration C was, by letting the observation classes split positions with different values of dir (see the definition of obs above), the information set after the move of Gerald becomes I dir (C), unless Robert's move was deviating.

The current information set is I dir (C) with dir ∈ {L, R}, for some non-terminal configuration C:
Let the current position be v = ((k, b k ), (i, q(C), b i ), dir) ∈ I dir (C), and let δ dir (q(C), b i ) = (q dir , b dir , θ dir ). The value j = i + θ dir represents the position of the cell being scanned in the next configuration succ dir (C); note that the value j is easily computable from the current position v. In order however to complete the step of the machine and to reach the information set I choice (succ dir (C)), the value of b j must be provided by the game. Therefore, we let b j be the only non-deviating move of Robert from position v ∈ I dir (C), among the possible moves in B.
From position v = ((k, b k ), (i, q(C), b i ), dir), the above behavior is implemented as follows. Let b be the action chosen by Robert. If k / ∈ {i, j}, tape cell k is unchanged by the step of the machine, hence the only possible move of Gerald leads to ((k, b k ), ( j, q dir , b), choice). If k = i, tape cell i is overwritten, hence the move of Gerald is unique and leads to ((i, b dir ), ( j, q dir , b), choice). Finally, if k = j, there are two cases. If b = b j , then Gerald can only move to (( j, b j ), ( j, q dir , b j ), choice) which updates the data for the next configuration succ dir (C), otherwise the move b ( = b j ) of Robert is deviating (and the play reaches a safe position).
We can now formally define the moves in A M , by letting ∆ : V × Σ → 2 V \ / 0 be: Case v = sa f e dir , where dir ∈ {L, R}: where dir ∈ {L, R}, q / ∈ {q re j , q acc }, and δ dir (q, b ′ ) = (q dir , b dir , θ dir ): where dir ∈ {L, R} and q ∈ {q re j , q acc }: This achieves the construction of the game A M which satisfies the following result:

Theorem 6 [2]
There is an accepting computation tree of M over ε if, and only if, there is a winning strategy of Gerald in the game A M .

Blindfold games with opacity condition
We recall that a game with imperfect information is blindfold if all positions have the same observation.
The proof is trivial, by applying the definition of the information set. In blindfold games Robert cannot base the choice of his actions on anything because he sees nothing of what Gerald does. So a strategy for Robert is just an infinite sequence of actions. More formally: Lemma 8 Let A = (V, ∆, obs, act, v 0 ) be a blindfold game with imperfect information over Σ and Γ = {γ}, let α be a strategy for Robert, then there exists a 1 a 2 a 3 . . . ∈ Σ ω such that for all strategies β and β ′ for Gerald, obs(α β ) = obs(α β ′ ) = v 0 a 1 γa 2 γ . . .
In the rest of this section we prove the following two theorems: Theorem 9 Blindfold games with opacity condition are determined.
Theorem 10 For blindfold games with opacity condition, the opacity-guarantee problem and the opacityviolate problem are PSPACE-complete.
Both theorems are proved by considering a third problem: the opacity-verify problem which addresses the strong ability for Gerald to win the game. We define this problem and establish its PSPACEcompleteness in the general setting of games with opacity condition and also in the particular case of blindfold games (Theorem 11). We finally compare it to the opacity-violate and opacity-guarantee problems for blindfold games (Theorem 14).

Definition 5
Given a game with opacity condition A = (V, ∆, obs, act, v 0 , S), the opacity-verify problem is to decide whether the following property holds: If Property (1) holds, any strategy β of Gerald is a winning-strategy. Otherwise, there exists a play in the game that is not S-opaque.

Theorem 11
The opacity-verify problem is PSPACE-complete, even for blindfold games.
For the PSPACE membership, we design an algorithm that decides whether there exists a losing play for Gerald, which is clearly equivalent to deciding whether there exists a strategy of Gerald that is not winning. The algorithm runs in NPSPACE, hence in PSPACE [18], by nondeterministically choosing the moves for Robert and Gerald, and by updating the current information set of Robert at each round. Since information sets are subsets of the set of positions, if there are n positions, we need O(n) space to run this algorithm. The PSPACE-hardness of the opacity-verify problem results from a reduction from the universality problem for a complete nondeterministic finite automaton (NFA), known to be PSPACEcomplete [19]. This reduction was initially inspired by [7] but is in fact a variant of the one in [6].
We recall that a NFA A = (Q, Σ, ∆, Q 0 , Q f ) is a nondeterministic finite automaton with states Q, alphabet Σ, transition relation ∆ : Q × Σ → 2 Q and sets of (respectively) initial and accepting states Q 0 and Q f . A NFA A is complete if for every state q and letter a, ∆(q, a) = / 0. The language L (A ) ⊆ Σ * of A is the set of words w ∈ Σ * such that ∆(Q 0 , w) ∩ Q f = / 0. The universality problem is to decide whether A accepts all possible finite words, i.e L (A ) = Σ * .
One may note that the aim of the initial position q 0 is to initialise Robert's information set to Q 0 at the end of the first round.

Proposition 13
The NFA A is universal if, and only if, in A A , every strategy of Gerald is winning.
Proof We start with the right-left implication. Assume that every strategy is winning for Gerald. Take one strategy β , and take a word w ∈ Σ * . Consider a play ρ in which Robert's first moves form the sequence of actions aw, for some a in Σ, and Gerald follows strategy β . This is possible because the underlying automaton is complete. Being ρ induced by the winning strategy β , it is S-opaque, hence in particular I(ρ 1+|w| ) S. By Corollary 12 we obtain : ∆(Q 0 , w) S, which implies that there exists a position q in ∆(Q 0 , w) that is in Q f , hence A accepts w. A is universal.
For the other implication, suppose that A is universal. Let β be a strategy of Gerald, and let ρ be a play induced by β . We prove that ρ is S-opaque. Let n ∈ N. If n = 0, I(ρ n ) = {q 0 } S. If n > 0, there exists w in Σ * such that I(ρ n ) = ∆(Q 0 , w) (Corollary 12). Since A is universal it accepts w, hence ∆(Q 0 , w) ∩ Q f = / 0. So I(ρ n ) S, and this finishes the proof.

Theorem 14
In the setting of blindfold games with opacity condition, the opacity-verify problem, the opacity-guarantee problem and the complementary of the opacity-violate problem are equivalent.
Proof Let A = (V, ∆, obs, act, v 0 , S) be a blindfold game with opacity condition. It is clear that in general, ∀β , ∀α, α β is S-opaque ⇒ ∃β , ∀α, α β is S-opaque We prove the converse in the case of blindfold games. Suppose that there exists a winning strategy β for Gerald. We prove that any strategy β ′ is also winning. Let α be a strategy for Robert. Since A is blindfold, by Lemma 8 we have that obs(α β ) = obs(α β ′ ), so for every n ∈ N, I(α β ′ n ) = I(α β n ) S.
So we have that the opacity-verify problem is equivalent to the opacity-guarantee problem in blindfold games. We now show that the opacity-verify problem is also equivalent to the complementary of the opacity-violate problem (decide whether ∀α, ∃β s.t. α β is S-opaque holds).
Once again one implication is trivial : Now the other way. Suppose that for any strategy α there is a strategy β for Gerald such that α loses. Now take any couple of strategies (α, β ′ ). We know that there exists a strategy β such that α β is S-opaque. But we also know (Lemma 8) that obs(α β ) = obs(α β ′ ) because the game is blindfold, so once again for every n ∈ N, I(α β ′n ) = I(α β n ) S.
The idea behind this theorem is that in blindfold games with opacity condition, the outcome of a play does not rely on Gerald's behaviour but only on what Robert plays. Indeed, since he observes nothing of what Gerald does, Robert's information set, and so the winning condition, are only determined by the series of actions he chooses. Thus, these games via a power-set construction can be seen as (reachability) one-player games: each position is a reachable information set I, at each step the unique player (Robert) chooses an action a ∈ act(I), where I is the current position, and moves to position ∆ (I, a). Therefore, in blindfold games with opacity condition, whether Robert has a winning strategy (i.e a winning sequence of actions), or Gerald wins whatever he does.
The determinacy of blindfold games with opacity condition (Theorem 9) is an immediate corollary of the above Theorem 14. Also Theorem 10 results from Theorems 14 and 11.

Related work
Opacity has mostly been studied in the framework of discrete-event systems and their theory of control ( [17,8]). It is both interesting and important to know to what extent the classical problems in this field can be embedded into our games. We first describe the discrete-event system setting, next we define the notion of opacity in this framework. We finally propose a translation from the verification of opacity in this setting to the opacity-verify problem in games with opacity condition.
First we recall that a a deterministic finite automaton (DFA) is a NFA A = (Q, Σ, δ , q 0 , Q f ) but with a unique initial state q 0 and in which the transition relation δ : Q × Σ → 2 Q satisfies |δ (q, a)| ≤ 1 for all states q and input symbols a.
The problem of opacity is defined in [8] with regards to a LTS G (labelled transition system, i.e a DFA without accepting states) and a confidential predicate φ over execution traces of G, representable by a regular language L φ ⊆ Σ * where Σ is the set of events of the transition system. For convenience, we equivalently state it on a DFA A φ G representing the transition system together with the secret predicate. The automaton A φ G is simply the synchronized product of G with some complete DFA accepting L φ . We denote by T (A ) ⊆ Σ * the set of execution traces of an automaton A , and by L (A ) the language accepted by A , so we have that From now on, for a DFA A , a state q and w ∈ T (A ), δ (q, w) shall denote the only state it contains.
We consider a subset of events Σ a ⊆ Σ which denotes the observation capabilities of a potential attacker of the system, and we let P Σ a be the projection function from Σ * to Σ * a . Two words w and w ′ are observationally equivalent if P Σ a (w) = P Σ a (w ′ ). We denote by [w] a = P −1 Σ a (P Σ a (w)) the set of words in Σ * that are observationally equivalent to the word w with regard to Σ a .
This means that L φ is opaque w.r.t. T (G) and Σ a if, and only if, whenever an execution trace of G verifies the confidential predicate φ there exists another possible execution trace observationally equivalent that does not verify φ .
We take an instance of the opacity verification problem, A φ G = (Q, Σ, δ , q G 0 , Q f ), and we describe the construction of the game with opacity condition A φ G such that the following holds.

Theorem 15
Verifying that L φ is opaque w.r.t T (G) and Σ a is equivalent to deciding the opacity-verify problem in A φ G .
The construction starts from A φ G where transitions labelled by events in Σ\Σ a are turned into εtransitions. Then we remove those ε-transitions as described in [11] by taking the ε-closure of the transition function, and we obtain the ε-free nondeterministic finite automaton A ε = (Q, Σ a , ∆ ε , Q ε 0 , Q f ). In this automaton, transitions are all labelled by observable events. One should think of the nondeterminism in this automaton as the uncertainty the attacker has concerning the behaviour of the system. More precisely, she does not know when an observable event is triggered whether the system takes "invisible" transitions or not, may it be before, after, or both before and after the observable one.
We need the following lemma, which is a mere consequence of the construction :

Remark 3
Without loss of generality we can assume that in every state q of A ε there exists an event y in Σ a such that ∆ ε (q, y) is not empty. So in every position (q, x) in V , ∆((q, x), √ ) is not empty, and the game can always continue.
In this game, Robert is passive. He only observes Gerald, who simulates the system G. If the game is in position (q, x), it represents that we are in state q in the system G, and that the last visible event was x (if x = ε, no observable event happened yet). Robert observes γ x , i.e the only information he gains during a play is the sequence of visible events. When Gerald plays, he chooses a visible event y and a state reachable from q through y in A ε , which can be seen as choosing as many invisible transitions in G as he wishes, plus one visible amongst them, y. We shall note α √ the only possible strategy for Robert, which is to always play √ . v init is the initial position, that can never be reached after the first move. It is used to initialize Robert's information set to Q ε 0 × {ε} (these are the only reachable positions from v init , and they have the same observation, γ ε ). This represents the set of states in G that are reachable before any observable transition is taken.
We start the proof of Theorem 15 by establishing this central lemma.
Proof The latter fact is obvious, from the definition of observations. Considering the former fact, we prove it by induction on n.
We move on to the proof of Theorem 15. Suppose that every strategy β is winning for Gerald. We prove that L φ is opaque w.r.t T (G) and Σ a . Take a word w in T (G). There exists a prefix of a play ρ n+1 = v init √ (q 0 , ε) √ (q 1 , x 1 ) . . . √ (q n , x n ) such that x 1 . . . x n = P Σ a (w). So there exists a strategy β such that α √ β n+1 = ρ n+1 . With lemma 17 and 16 we have that {q | (q, Now suppose that L φ is opaque w.r.t T (G) and take β a strategy for Gerald in A φ G , we prove that β is winning. Let ρ β = α √ β be the only possible play induced by β . Take a prefix ρ n+1 x 1 ) . . . √ (q n , x n ) of this play. By Lemma 17 and 16 again, Since an information set is never empty, there exists w in [x 1 . . . x n ] a ∩ T (G), and because L φ is opaque w.

Discussion on complexity
Solving safety games with perfect-information is in PTIME, and solving parity games with perfect information is known to be in NP∩ co-NP [12]. However we have seen that deciding whether Gerald, who has perfect-information, has a winning strategy in a game with opacity condition, is EXPTIME-complete, even if we let Robert play with perfect-information (in the sense that his strategies are based on actual prefixes of plays instead of their observation). So the gap between deciding the existence of a winning strategy for a player in perfect-information games and for Gerald in a game with opacity condition does not come from the fact that Robert has imperfect information, but rather from the nature of the winning condition itself, which is based on the notion of information set, and forces Gerald to keep track of what Robert's information set along the game is. Similarly, verifying that a finite-state strategy is winning in a safety perfect-information game can be done in PTIME, whereas we have shown in [2] that in games with opacity condition, deciding whether a finite-state (and even memoryless) strategy of Gerald is winning is PSPACE-complete in the size of the arena and the memory of the strategy (we define in a classic way the size of the memory of a strategy as the number of states of an I/O automaton realizing the strategy [9]). The idea is that one has to check that the strategy is winning not in all positions, but in all information sets. Concerning the size of the memory needed for Gerald's strategies, we know that an exponential memory is sufficient because if there is a winning strategy there is a memoryless one in the powerset construction. The lower bound for the needed memory is still an open problem.

Conclusion and perspectives
Following [14], we have extended the study of games with opacity condition. The opacity condition is an atypical winning condition in imperfect information arenas aiming at capturing security aspects of computer systems. Since games with opacity condition are not determined in general, two dual problems need being considered: the opacity-violate problem and the opacity-guarantee problem, focusing on the player who has imperfect information and on the player who has perfect information respectively. The latter problem is usually equivalent to solving the underlying perfect information game, which explains why it has never been considered; but the fact that our winning condition is based on information sets makes the problem relevant. For both problems, simple power-set constructions apply to convert such games into perfect information ones, that can be solved in polynomial time, hence their upper bound is EXPTIME. On the contrary, the matching EXPTIME lower bound for the opacity-guarantee problem, where the main player has perfect information, was unknown until now and relies on an elegant reduction from the empty input string acceptance problem for linearly-bounded alternating Turing machines. The key point is to encode configurations by information sets. The reduction and its correctness proof are very technical, but we could provide an intuitive informal description.
Finally, we focused on the particular case of blindfold games which offers specific results such as determinacy (Theorem 9) and PSPACE-complete complexities (Theorem 10). The main tool to obtain these results is the opacity-verify problem which addresses the question whether any strategy of Gerald is winning. The fact that blindfold games with opacity condition can be seen as one-player games makes this problem relevant and explains why it is equivalent to the opacity-guarantee problem and to the complement of the opacity-violate problem in the blindfold setting, as we established. We also proved that it is PSPACE-complete, by providing a PSPACE algorithm and a reduction from the nondeterministic finite automata universality problem. The opacity-verify problem is all the more interesting to consider that it naturally demonstrates how the paradigm of opacity condition embraces opacity issues investigated in the recent literature of Control Theory [17,8].
Games with opacity condition open a novel field in the theoretical aspects of games with imperfect information by putting the emphasis on the player who has perfect information. From this point of view, plethora of questions need being addressed, among which their connection with language-theoretic issues (the synchronizing/directing word problem [3,15,4], controller synthesis to enforce the opacity of a language [8]), their logical foundations, and their algorithmic aspects.