Apple announced the creation of an open library in SWIFT, implementing homomorphic encryption methods. This library enables the development of applications that can process encrypted data without the need for decryption at any stage of the calculation process. The output provides an encrypted result similar to encrypting the result of the same calculations performed on unencrypted source data. The project code is available under the Apache 2.0 license and is based on the bfv scheme, which is built on the RLWE problem, resistant to quantum cryptanalysis. Low-level encryption primitives from the Swift Crypto library are used in the implementation.
The process of working with data using homomorphic encryption involves the encryption of data by the user and transferring keys to an external server without revealing them. The server then performs the required calculations and generates an encrypted result without knowing the nature of the data it is processing. The user can decrypt the output data and obtain the results in plain text using their keys. Homomorphic encryption finds applications in cloud services for secure computations, electronic voting systems, working with encrypted data in DBMS, and secure machine learning training.
Within Apple’s infrastructure, the system is utilized for confidential verification of “Caller ID.” Users transmit encrypted phone numbers to Apple’s servers, which can verify the presence of the number in blacklists for spam blocking without decryption. This approach, using homomorphic encryption, allows for minimal metadata transmission to the client’s side during checks, unlike traditional methods where the entire database is usually transferred. The server-side code for implementing such checks has been published under the Apache 2.0 license.