Outsourcing IT services has become very common worldwide for multiple reasons ranging from costs reduction to improved services. Whatever the  actual reason is, the concrete consequence for the company that delegates  such services is that a third party ends up with its data in clear because  of the well-known limitations of standard encryption.
Ideally, this third party should only learn the minimal information  necessary for performing the requested processing, which has motivated  the design of countless encryption schemes compatible with specific  processing. Such schemes belong to the realm of functional encryption,  where the third party recovers a function f(x) from an encryption of x  without learning anything else about x, with minimal interaction. Of  course, the function f, and hence the encryption scheme, strongly depends  on the considered application, which explains the profusion of papers  related to this topic. We will focus on the possibility to allow a third  party to search the presence of chosen substrings of different lengths  (and more !) at any position in the encryption of a stream of data. After  an introduction to this problematic and to the associated security notion,  we will take a look at the proof of security of one specific construction.