Google hat ein öffentliches Set von Bibliotheken und Tools veröffentlicht, das ein System für vollständige homomorphe Verschlüsselung implementiert, das es ermöglicht, Daten in verschlüsselter Form zu verarbeiten, die zu keinem Zeitpunkt während der Berechnungen in offener Form vorliegen. Das Toolkit ermöglicht die Erstellung von Programmen für vertrauliche Berechnungen, die mit Daten arbeiten können, ohne diese zu entschlüsseln, einschließlich der Durchführung mathematischer und einfacher String-Operationen an verschlüsselten Daten. Der Code des Projekts ist in C++ geschrieben und wird unter der Apache 2.0-Lizenz veröffentlicht.
Im Gegensatz zur Ende-zu-Ende-Verschlüsselung bietet homomorphe Verschlüsselung neben dem Schutz der Datenübertragung die Möglichkeit der Datenverarbeitung ohne deren Entschlüsselung. Vollständige Homomorphie bedeutet, dass Operationen wie Addition und Multiplikation an verschlüsselten Daten durchgeführt werden können, von denen aus beliebige Rechnungen 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 Verarbeitung von Daten mit homomorphem Verschlüsselung besteht darin, dass der Nutzer Daten verschlüsselt und diese zur Bearbeitung an einen externen Dienst übermittelt, ohne die Schlüssel offenzulegen. Dieser Dienst führt die angegebenen Berechnungen durch und formt ein verschlüsseltes Ergebnis, ohne zu wissen, mit welchen Daten er arbeitet. Der Nutzer entschlüsselt die erhaltenen Daten mit seinen Schlüsseln und erhält das Ergebnis in unverschlüsselter Form.

Zu den Anwendungsbereichen der homomorphen Verschlüsselung zählen die Schaffung von Cloud-Services für vertrauliche Berechnungen, die Implementierung von Systemen für elektronische Abstimmungen, die Entwicklung anonymisierter Routing-Protokolle sowie die Verarbeitung von Abfragen über verschlüsselte Daten in Datenbanksystemen und das vertrauliche Trainieren von maschinellen Lernsystemen.
Homomorphe Verschlüsselung kann beispielsweise in medizinischen Anwendungen nützlich sein, die vertrauliche Informationen von Patienten in verschlüsselter Form empfangen und es medizinischem Personal ermöglichen, Analysen durchzuführen und Abweichungen festzustellen, ohne die Daten zu entschlüsseln. Diese Art der Verschlüsselung kann auch bei Forschungsstudien helfen, die den Zusammenhang zwischen Krankheiten und bestimmten genetischen Mutationen untersuchen, wobei die Analyse von Tausenden genetischer Informationen erforderlich ist.
Ein charakteristisches Merkmal des veröffentlichten Werkzeugs ist die Möglichkeit, Programme zur Verarbeitung von verschlüsselten Daten zu erstellen, wobei gängige Entwicklungsmethoden in C++ verwendet werden. Mit dem bereitgestellten Transpiler wird das C++-Programm in einen speziellen Dialekt von FHE-C++ umgewandelt, der mit verschlüsselten Daten arbeiten kann.

Quelle: opennet.ru
