technique is usually less complex and more flexible
in terms of data encryption. Its drawbacks are the
decreased flexibility when updating the index, addi-
tional memory requirements for storing the index, and
the expensive (re-)building of the index.
The index-based search is divided into three sub-
categories: forward index, inverted index, and hybrid
index. In a forward index, each data item is associ-
ated with a list of keywords (cf. Table 3). Worst case
search complexity is quadratic (for n documents with
n keywords each). Yet updating the index (be it by
changing keywords or documents) is usually fast and
easy.
Table 3: Example of a Forward Index (Tang, 2012).
Data Item Index
Document 1 black, red, white, chrome, vienna
Document 2 blue, white, copper, gold, memphis
Document 3 yellow, orange, gold, rome, vienna
An inverted index is one single index represent-
ing all data (cf. Table 4). It is a further possibility
for minimizing search time since it is now linear in
the number of keywords. However updating this in-
dex is usually a more costly and complex operation.
Schemes that allow for efficient updates of the index
are called dynamic, while static schemes do not sup-
port insert, update and delete operations.
Table 4: Example of an Inverted Index (Tang, 2012).
Data Item Index
black Document 1
red Document 1
chrome Document 1
vienna Document 1, Document 3
blue Document 2
white Document 1, Document 2
copper Document 2
memphis Document 2
yellow Document 3
orange Document 3
gold Document 2, Document 3
rome Document 3
The 260 articles on SE schemes contain
• 19 full-domain search systems (12.3%; 12 asym-
metric, 7 symmetric) and
• 129 index-based search systems (87.7%; 49 asym-
metric, 80 symmetric; with 8 hybrid, 13 for-
ward index, 28 inverted index, and the remaining
schemes without an explicitly stated index struc-
ture).
Further we identified 26 schemes explicitly consid-
ered to be dynamic, 20 of them index based. The first
dynamic inverted-index approach has been proposed
in (Liesdonk et al., 2010).
The remainder of the schemes were not explicitly
associated with a certain type of search.
2.4 Search Criteria
Search criteria must not be neglected when evaluating
the usability of an SE scheme. Different applications
have different requirements in terms of query expres-
siveness. Early SE schemes offered search setting for
queries with a single keyword; today most systems
support at the very least multiple keywords.
This categorization also includes the results of a
query, e.g. ranked results. In our review, we identified
the search criteria given in Table 5.
We additionally encountered the following search
criteria in less than five schemes:
comparison, semantic search, subset queries, struc-
tured query (SQL), phrase search, and verifiable
search.
These low numbers may be caused by the fact that
these kinds of query where only introduced near the
end of our investigated body of work, e.g. structured
query was first published in 2016.
By default, SE search queries are equality queries,
thus equality search was not explicitly listed in Table
5.
Boolean queries support boolean operations such
as conjunction, disjunction, and negation on key-
words. Ranked search delivers the query results
ranked by a pre-defined order, for example by rel-
evance to the given keyword (query) (Wang et al.,
2010). In systems with range queries (incl. subset
queries) the search is performed in a certain range
within the data, e.g. the first 100 documents. Most
users nowadays are used to fuzzy keyword search
(e.g. Google), where even typos and incomplete sub-
mitted keywords produce the desired search results.
Therefore, fuzzy keyword search is seen as a further
step towards usability - like similarity search.
2.5 Types of Data
A further criterion for categorizing SE schemes is the
kind of data SE is performed on. By default all the SE
schemes are elaborated on simple file servers contain-
ing text documents, but in our investigated set there
are also
• 26 databases,
Search, Find and Resolve: Towards a Taxonomy for Searchable Encryption Schemes
417