FENTEC approach: Functional ENcryption as a whole

private image about functional encryption
Thursday, February 27, 2020

Author: Marco Lewandowsky and Clément Gentilucci (Flensburg University of Applied Science)

While in recent blog posts, the role of encryption, and Functional ENcryption (FE) in particular, has already been highlighted, this time we want to show how we as FENTEC, help to mature this young field by providing solutions, ready to be used within the industry. Our three industrial use cases, which depict real problems, make this intention very clear. They encompass motion detection on encrypted video streams (e.g. for video surveillance), privacy-preserving polling and digital currency applications. While the former would allow a fast and automated decision on the motion within the video, without decrypting it, the latter two focus on privacy, which is a growing concern in our society, as more and more of our life depends on, traceable, electronic data.

But besides these three use cases, Functional ENcryption is a versatile tool for a wide range of practical applications with different privacy and functional demands. For example, one of our use cases, in fact, the polling use case, is about the gathering and processing of statistical user data for web-services. While closely investigating this scenario, there is an obvious conflict of interest, as usually, poll organizers are also the main beneficiaries of the gathered data, which causes sceptical users to be worried about their data not being used only in the intended way. For the provider of the polling platform, it is now a hard task to convince them to trust the system. The solution to this problem comes from decentralizing the trust and shifting the data control from the organizer back to the users with the help of Functional ENcryption. In practice, each participant creates a piece of the secret information which will be used to encrypt the user data. The privacy of each individual user is preserved, as the platform provider is only able to decrypt an accumulated result, e.g. the sum or mean of all inputs. The kind of scheme we use to achieve such behaviour is called Decentralized Multi-Client Functional Encryption (DMCFE).

An application which, at first glance, looks very related to the previous example is electronic votings. Here, participants also contribute to their inputs, where at the end, a common result is calculated. But, the demands differ, as properties like immutability and public verifiability of the data are much more important in this case. The recent go-to solution to achieve those properties has been blockchain. We already addressed the topic of Functional ENcryption as an alternative of blockchains in an earlier blog post. This time, instead, we will cover the case of Functional ENcryption being more of a complement to blockchains, in order to bring new capabilities into electronic votings.

A combination of blockchains with Functional ENcryption seems very natural at this point. Let us imagine a group of people, that do not trust each other but are trying to achieve consent. A good real-life scenario would be shareholders in a company. Since those people have to cooperate and need to fairly distribute the trust, a solution like in the polling use case could be considered. Problem is, when the shareholders' vote for some decision, they need to keep a record of this decision, of course, the record must keep its integrity over time (immutability) and must be verifiable by an authority or some other entities e.g. in case of a conflict. Thus, FE alone is not sufficient to realize such a setting. The addition of a blockchain, however, gives us those additional properties. Modern blockchain frameworks are highly flexible and can be adapted to a wide range of use cases, thanks to the help of smart contracts. A smart contract is a piece of executable code embedded into a blockchain. This piece of code could, for example, be the decryption function of a functional encryption scheme. And now we get an idea of how to use the polling scheme for the distribution of trusts between shareholders.

The FENTEC cryptographic libraries provide different types of Functional ENcryption schemes which can be used to bring a solution to the three use case of the FENTEC project, but it can also serve as a basis for even more versatile applications, including, as we just saw, electronic voting schemes. We hope, that this little post will convince you that the interest of the FENTEC project is, of course, the three use cases; but also goes far beyond, by widening the field of opportunities offered by functional encryption as a whole. At FENTEC we improve Functional ENcryption on every front, theoretical, practical by exploring new avenues like the voting scheme, and industrial as a realistic solution to three modern problems.