I just got back from the Workshop on Encryption for Secure Search and other Algorithms (ESSA) which was held in Bertinoro, Italy, and was organized by Sasha Boldyreva and Bogdan Warinschi. It was a great event and I'd like to thank the organizers for putting this together and doing such a great job. It was really nice to see all the excitement and enthusiasm behind this topic; both from the research community and from industry.

Since a few people have already asked me for details about the event I figured I would just write brief summaries of the talks. I think the slides will be posted soon so if you are interested you should be able to get more details on the workshop page ESSA.

The first talk was by Christopher Bosch who gave a survey of encrypted search. The talk was based on a paper Christopher published last year. This a really extensive and thorough survey and a great contribution to the field. The authors go over a large number of papers and try to organize and categorize them; drawing conclusions and research directions from the broad perspective they gained from writing the survey. It is a great reference for anyone interested in this field.

*Kaoru Kurosawa* gave a talk on two of his papers. In the first paper, the
authors describe a universally composable (UC) variant of adaptive semantic
security (i.e., CKA2-security) for SSE. The main difference with the standard
definition is that the UC variant requires correctness and the simulation is
strengthened by requiring it to be black-box (i.e., there exists a simulator
for all adversaries). Kaoru then described a construction that achieves this
strong notion of security. In the second part of the talk Kaoru discussed a
more recent paper of his that describes an SSE scheme that handles very
expressive queries but without revealing the expression (not just the keywords
in the query but the form/structure of the query). This is accomplished using a
new variant of garbled circuits which is very interesting in its own right.

*Emily Shen* talked about her work on substring matching on encrypted data. This
is done using an encrypted suffix tree, i.e., using a (interactive) structured
encryption scheme for suffix trees. In this work, however, she was concerned
with a stronger model of security where the server can be malicious. This last
constraint required her to strengthen the standard definition of security for
structured encryption. The construction was very nice but a bit too involved to
describe here so I recommend reading the paper for more details.

*Nathan Chenette* gave a nice overview of the state of the art of fuzzy
searching on encrypted data in the property-preserving model. After describing
the different approaches he gave stronger definitions for this primitive.
Unfortunately, to achieve this notion there is what seems to be an inherent
ciphertext expansion so he described a weaker notion that allows for more
space-efficient constructions.

*Kevin Lewi* talked about his work on order revealing encryption (ORE). ORE is
similar to order-preserving encryption (OPE) in that it allows for comparisons
over ciphertexts. But there is one important distinction: unlike OPE, ORE does
not require the comparison operation over ciphertexts to be "less than". In
other words, to compare two OPE ciphertexts one can simply execute a
"greater/lesser than" operation whereas with ORE one might have to execute some
other arbitrary operation. This is an important relaxation and allows the
authors to overcome impossibility results for OPE which say that OPE schemes
have to leak more than just the order. The construction Kevin presented is
based on obfuscation techniques but does not require the full power of
obfuscation. In particular it avoids the use of Barrington's theorem (though it
makes use of multi-linear maps) which as Kevin said makes the scheme at least
"implementable" but not practical.

*Murat Kantarcioglu* described a few of his works including a paper that
initiated research on concrete inference attacks; that is, attacks on encrypted
search solutions that use statistical and optimization techniques to exploit
leakage. He described the attack he and his co-authors use to try to recover
the queries a user makes by exploiting the access pattern leakage of SSE. This
attack is known as the IKK attack and is currently the best inference attack we
have against access pattern leakage. The second part of the talk covered ways
to mitigate these kinds of attacks and Murat described a clever way of using
differential privacy for this.

*David Cash* also discussed inference attacks. In addition to standard inference
attacks, however, he also described attacks where the adversary exploits more
than leakage and, in particular, knows or chooses some of documents. The
findings were very interesting. One thing that came out of this study was that
the IKK attack-while very interesting in theory-is not really practical. There
are several technical reasons for this but I' ll leave you to read David's paper
when it appears if you are interested. This study also looked at a new class of
schemes (not SSE/structured schemes) that have appeared in the literature
recently and showed that they were vulnerable to adversaries who know and/or
can choose documents (though to be fair they were not designed with that
adversarial model in mind).

Unfortunately, *Hugo Krawczyk* couldn' t make it to the workshop at the last
second so *Stas Jarecki* gave his talk. This was a nice overview of the work on
SSE done by the IBM/Rutgers/UC Irvine team (from now on referred to as IRI) for
the IARPA SPAR project. It covered a series of papers including their paper
from CRYPTO' 13 that shows how to achieve conjunctive queries in sub-linear
time. The talk then continued with more recent papers that focused on schemes
with good I/O complexity and even more expressive queries. The talk had a nice
blend of theory and systems, in particular illustrating how systems constraints
like I/O complexity can sometime force you to find new and interesting
solutions.

*Vlad Kolesnikov* talked about the system that Columbia and Bell Labs designed
for the IARPA competition. This system-called Blind Seer-even had a cool logo
which we learned was designed by Vlad himself! At a high level, this system
makes use of garbled circuits and bloom filters and is designed to work in a
3/4-party model that includes a data owner, a policy server and an index
server. Vlad described several bottlenecks they encountered and all the clever
optimizations they had to design to make the system perform. There was some
discussion about how Blind Seer compared to the IRI system. In the end, it
seemed that the two were incomparable and achieved different tradeoffs between
leakage and efficiency.

*Adam O'Neill* presented his recent work on modular OPE (MOPE). MOPE is a variant
of OPE where a random shift and modular operation is applied to the plaintext
before an OPE encryption is done. Turns out this can improve the security of
OPE but not when OPE is used to do range queries. Adam described a few
techniques to address this that didn' t seem to affect the efficiency of the
schemes. He also showed experimental results to back this up.

*Radu Sion* talked about the new cloud security startup he' s doing. He couldn' t
say much about the technical aspects of what they are doing but he went over
some of the services they are providing and showed demoes, some of which
included searching on encrypted data. Since this was a "sensitive" talk and
Radu himself had to be careful not to reveal too much I' ll stop here at the
risk of revealing things he may not want made public on a larger scale.

*Paul Grubbs* gave a talk that went over what he' s been working on at SkyHigh
networks. He talked about ongoing projects SkyHigh was doing with OPE,
deterministic encryption and format-preserving encryption. In addition he
discussed future projects the company was planning on doing with SSE. This talk
was nice in that it provided a different perspective on crypto than what you
typically get in academic settings. In particular, Paul described how the
solutions they considered and worked on had to fit various business and
legal/regulatory constraints. This is something I' ve been exposed to at MSR and
I definitely think that seeing how technology gets (or doesn' t get) deployed in
the real world is very useful in developing and sharpening your intuition about
what research areas are more or less promising in terms of impact.

*Mayank Varia* gave a great talk on the testing framework Lincoln Labs built to
evaluate the encrypted search systems for the IARPA competition. I have to say
this was one of my favorite talks. The scale of what they built was truly
impressive. The system is composed of various frameworks. One part of the
system is just for generating realistic data and queries and they do this using
machine learning techniques on real data. The query generation is very
flexible however, and you can use it to generate data and queries with specific
characteristics for your tests. The second component is a measurement
framework. The third component was an automated system for generating graphs
and visualizations of the experimental results in LaTex! Overall what they
built sounded very impressive and I think that we should try to adopt it as a
standard way of testing/evaluating encrypted search solutions. I think the
encrypted search community is lucky to have such a framework so we should take
advantage of it. Mayank said that they are working on getting the code up on
GitHub so I' ll update this post as soon as it' s up.

*David Wu* talked about a new protocol for privacy-preserving location
services. Suppose you want to find out how to get from point A to point B but
don' t want to disclose your location to the server that stores the maps and the
server doesn' t want to reveal its own data. Without privacy, one can solve this
problem by representing the map as a graph and computing the shortest path so
the problem David was interested in was can you design a practical two-party
protocol for shortest paths. David showed how to do this by first proposing a
very nice way to compress the representation of the graph in a way that doesn' t
affect the shortest paths and then computing the shortest paths on the new
representation via oblivious transfer. David then presented benchmarks of their
protocol for the city of Los Angeles.

*Florian Bourse* presented new constructions of functional encryption schemes for
inner products. Unlike previous general-purpose FE schemes the goal of this
work was to provide simple and efficient constructions. Florian discussed two
constructions, one based on DDH and another based on LWE. Note that the
functionality considered by Florian is slightly different than "inner product
encryption" of Katz, Sahai, Waters and Shen, Shi and Waters. In the latter
works, the decryption returns one bit of information: whether the inner product
is equal to 0 or not. Here, the decryption returns the actual inner product.

*Tarik Moataz* talked about ORAM with constant bandwidth. What is meant in the
literature by constant-bandwidth ORAM is a bit technical but, roughly speaking,
one can think of it as the requirement that the metadata exchanged with the
server is smaller than the data blocks. Previous work on constant-bandwidth
ORAM had two limitations. The first is that they achieved only amortized
constant-bandwidth. The second is that they only work with very large blocks
and as such only make sense for limited kinds of applications (using standard
parameters, they would have 4MB blocks). Tarik showed to get around these two
limitations, giving a worst-case constant-bandwidth ORAM with much smaller
block size. In addition, the scheme also improves the computational cost at the
server.

*Stas Jarecki* talked about RAM-based MPC (i.e., MPC protocols that work in the
RAM model as opposed to over circuits). The standard way to do this is to use
two-party computation (2PC) to securely compute the client algorithm of an ORAM
scheme. Roughly speaking, this requires the ORAM client algorithm to be
MPC-friendly so that the resulting solution is efficient. While most schemes
consider only the two-party setting, Stas argued that it is interesting to look
at three parties as well since better efficiency could be achieved in that
setting. In fact, Stas described a protocol for this setting which was a lot
more efficient than protocols for the two-party setting.

*Leo Reyzin* gave a survey of entropy notions in cryptography. Leo went over
Shannon entropy, min-entropy and average conditional min-entropy in each case
giving a very nice and intuitive explanation of why and when these notions
should be applied. He also discussed computational variants of entropy
including HILL entropy and what is known and not known about it. Entropy
notions in crypto are a bit subtle and can be hard to work with and
unfortunately there isn't much material to learn from so Leo' s survey was
extremely useful.