Die Google GmbH hat eine Sammlung von Bibliotheken und Utilities veröffentlicht, die ein System für vollständige homomorphe Verschlüsselung implementiert, welches die Verarbeitung von Daten in verschlüsselter Form ermöglicht, die zu keinem Zeitpunkt in offener Form während der Berechnungen erscheinen. Das Toolkit ermöglicht die Erstellung von Programmen für vertrauliche Berechnungen, die mit Daten arbeiten können, ohne sie zu entschlüsseln, einschließlich der Durchführung mathematischer und einfacher String-Operationen auf verschlüsselten Daten. Der Projektcode ist in C++ geschrieben und wird unter der Apache 2.0-Lizenz vertrieben.
Im Gegensatz zur End-to-End-Verschlüsselung bietet die homomorphe Verschlüsselung neben dem Schutz der Datenübertragung auch die Möglichkeit der Datenverarbeitung ohne deren Entschlüsselung. Unter vollständiger Homomorphie versteht man die Fähigkeit, Operationen wie Addition und Multiplikation an verschlüsselten Daten durchzuführen, auf deren Basis beliebige Berechnungen realisiert werden können. Das Ergebnis wird in verschlüsselter Form ausgegeben, das dem Ergebnis ähnlicher Operationen an den ursprünglichen Daten entsprechen würde.
Die Arbeit mit Daten bei homomorpher Verschlüsselung besteht darin, dass der Benutzer die Daten verschlüsselt und diese zur Verarbeitung an einen externen Dienst weitergibt, ohne die Schlüssel offenzulegen. Dieser Dienst führt die angegebenen Berechnungen durch und erstellt das verschlüsselte Ergebnis, ohne die Möglichkeit zu haben, zu erkennen, mit welchen Daten er tatsächlich arbeitet. Der Benutzer entschlüsselt die ausgegebenen Daten mit seinen Schlüsseln und erhält das Ergebnis in offenem Format.

Zu den Anwendungsbereichen der homomorphen Verschlüsselung gehören die Erstellung von Cloud-Diensten für vertrauliche Berechnungen, die Implementierung elektronischer Abstimmungssysteme, die Erstellung anonymisierter Routing-Protokolle sowie die Verarbeitung von Anfragen zu verschlüsselten Daten in Datenbanksystemen und das vertrauliche Training von Maschinenlernsystemen.
Beispielsweise wird homomorphe Verschlüsselung in medizinischen Anwendungen nützlich sein, die vertrauliche Informationen von Patienten in verschlüsselter Form erhalten und es medizinischem Personal ermöglichen, Analysen durchzuführen und Abweichungen zu erkennen, ohne die Daten zu entschlüsseln. Homomorphe Verschlüsselung kann auch bei Forschungsarbeiten helfen, die den Zusammenhang zwischen Krankheiten und bestimmten genetischen Mutationen untersuchen, bei denen die Analyse von Tausenden von genetischen Informationen notwendig ist.
Ein herausragendes Merkmal des veröffentlichten Tools ist die Möglichkeit, Programme zur Verarbeitung verschlüsselter Daten zu erstellen, indem gängige Entwicklungsansätze in C++ verwendet werden. Mit dem bereitgestellten Transpiler wird das C++-Programm in einen speziellen Dialekt FHE-C++ umgewandelt, der in der Lage ist, mit verschlüsselten Daten zu arbeiten.

Quelle: opennet.ru
