Patent Document ID: 10095719
Application ID: 14417587

Base Claim:
1. Method of retrieving encrypted documents stored in a computer memory by performing a boolean search over the encrypted documents, each document being characterized by a set of keywords, the method comprising: forming an index with the set of keywords characterizing the encrypted documents; translating the index in an orthonormal basis in which each keyword of the index corresponds to one and only one vector of the orthonormal basis; associating each document of the set of encrypted documents with a resultant vector in a span of the orthonormal basis, the resultant vector corresponding to each encrypted document stored in an encrypted search server comprising the computer memory; receiving a search query from a querier; transforming the search query into one query matrix; and determining a general result based on the result of the multiplication between the query matrix and each of the resultant vectors to retrieve encrypted documents from the computer that match the search query.

---

Claim 6:
6. The method of claim 1 , wherein the search query comprises search keywords, each keyword being associated with one negative or one positive operator, the step of transforming the search query in the query matrix comprising several rows comprises the following steps: expressing the search query in disjunctive normal form, as disjunction of conjunctive clauses, separating in each conjunctive clause the keywords associated with a positive operator from the keywords associated with a negative operator, transforming in each conjunctive clause: each search keyword associated with a positive operator in a vector, called positive vector, in the span of the orthonormal basis; each search keyword associated with a negative operator in a vector, called negative vector, in the span of the orthonormal basis; and determining the search query as a matrix where each row of the query matrix corresponds to one conjunctive clause and each row is a vector based on the positive and negative vectors, each row comprising a first sum in which the positive vectors are gathered and a second sum in which the negative vectors are gathered.