Google Posted Outdoor set of libraries and utilities with the implementation of the system Complete homomorphic encryption , allowing data in encrypted form, which are not figured in an open form on any of the stages of computing. The toolkit makes it possible to create programs for confidential computing capable of working with data without deciphering, including performing mathematical and simple string operations on encrypted data. The project code is written in C ++ and extends under the Apache 2.0 license.
Unlike through encryption, homomorphic encryption in addition to data protection, provides the ability to process data without deciphering them. Under full homomorphy is the ability to perform additions and multiply encrypted data, pushing out from which any arbitrary calculations can be implemented. The output is the encrypted result, which would be similar to the encryption of the result of similar operations over deciphered data.
From the areas of homomorphic encryption applications, the creation of cloud services for confidential computing, the implementation of electronic voting systems, the creation of anonymized routing protocols, processing requests for encrypted data in DBMS and confidential training of machine learning systems.
For example, homomorphic encryption will be useful in medical applications that can receive confidential information from patients in encrypted form and provide medical workers with the opportunity without decryption to carry out analytics and detect deviations. Homorphic encryption can also help in conducting research that studies the connection between diseases and certain genetic mutations in which the analysis of thousands of genetic information samples is needed.
A distinctive feature of the published toolkit is the ability to create programs for processing encrypted data using typical development techniques in C ++. Using a special Transpailer C ++ program is converted to a special FHE-C ++ dialect capable of working with encrypted data.