
HElib is an open-source software library that implements homomorphic encryption. It supports the BGV scheme with bootstrapping and the Approximate Number CKKS scheme. HElib also includes optimizations for efficient homomorphic evaluation, focusing on effective use of ciphertext packing techniques and on the Gentry-Halevi-Smart optimizations.
HElib ist eine Open-Source-Softwarebibliothek (Apache License v2.0), die homomorphe Verschlüsselung (HE) implementiert. Derzeit verfügbare Schemata sind die Implementierungen des Brakerski-Gentry-Vaikuntanathan (BGV)-Schemas mit Bootstrapping sowie das Approximate-Number-Schema von Cheon-Kim-Kim-Song (CKKS), zusammen mit vielen Optimierungen, um die homomorphe Evaluierung schneller zu machen, wobei der Schwerpunkt hauptsächlich auf der effektiven Nutzung der Smart-Vercauteren-Chiffrat-Packtechniken und der Gentry-Halevi-Smart-Optimierungen liegt. Siehe diesen Bericht für eine Beschreibung einiger der in dieser Bibliothek verwendeten Algorithmen.
Bitte lesen Sie CKKS-security.md für die neueste Diskussion zur Sicherheit der CKKS-Schema-Implementierung in HElib.
Seit Mitte 2018 wird HElib umfassend umstrukturiert, mit dem Ziel der Zuverlässigkeit, Robustheit & Wartbarkeit, Leistung und vor allem der Benutzerfreundlichkeit für Forscher und Entwickler, die an HE und seinen Anwendungen arbeiten.
HElib unterstützt eine „Assemblersprache für HE“, die Low-Level-Routinen (set, add, multiply, shift, etc.), anspruchsvolles automatisches Rauschmanagement, verbessertes BGV-Bootstrapping, Multithreading und auch Unterstützung für Ptxt- (Klartext-) Objekte bereitstellt, die die Funktionalität von Ctxt- (Chiffrat-) Objekten nachbilden. Der Bericht Design und Implementierung von HElib enthält weitere Details. Weitere Informationen zu den HElib-Versionen finden Sie auch in CHANGES.md.
Vollständige Installationsanweisungen und eine Liste der erforderlichen Abhängigkeiten finden Sie in INSTALL.md.
Eine Anleitung für den Einstieg in die Programmierung mit HElib finden Sie in
den Beispielprogrammen und unseren CKKS-Tutorials im Verzeichnis examples.
Siehe examples/README.md.
Wenn Sie daran interessiert sind, zu HElib beizutragen, lesen Sie bitte unsere Beitragsrichtlinien.
HElib ist in C++17 geschrieben und verwendet die NTL-Mathematikbibliothek.
HElib wird unter den Bedingungen der Apache License v2.0 vertrieben.