Гомоморфная криптография с открытым исходным кодом


Как быстро все движется от теории, экспериментов к реализации. Только недавно была изобретена полупрактическая схема гомоморфного шифрования, а у нас уже есть реализация с открытым исходным кодом на C++.

1218811 encrypt key lock password protect icon

Гомоморфное шифрование — очень желательная цель. Предположим, вы хотите сложить два числа, которые хранятся в зашифрованном файле. Традиционно единственным способом сделать это было расшифровать файл, сложить два числа, а затем снова зашифровать файл. Конечно, чтобы выполнить сложение, необходимо было иметь доступ ко всему содержимому файла. Это также означало, что другие люди могли получить доступ к файлу, пока он хранился в виде обычного текста.

Существует множество ситуаций, когда было бы хорошо, если бы данные можно было хранить в зашифрованном виде, скажем, в облаке, и при этом работать с ними без необходимости их расшифровки. Это и есть цель полностью гомоморфного шифрования.

Чтобы быть полностью гомоморфным, код должен быть таким, чтобы третья сторона могла складывать и умножать числа, которые он содержит, без необходимости его расшифровки. Это может показаться волшебством, но полностью гомоморфная схема была изобретена в 2009 году Крейгом Джентри (диссертация: A Fully homomorphic Encryption Scheme).

Это был шаг в правильном направлении, но проблема заключалась в том, что она очень неэффективна и требует больших вычислительных затрат. С тех пор был внесен ряд усовершенствований, которые сделали схему практичной в нужных ситуациях. В конце 2009 года Мартен ван Дийк, Крейг Джентри, Шай Халеви и Винод Вайкунтанатан представили упрощенную полностью гомоморфную систему: Fully Homomorphic Encryption over the Integers — система BGV.

Теперь Виктор Шоуп и Шай Халеви из Исследовательского центра IBM T J Watson Research Center выпустили библиотеку C++ с открытым исходным кодом (GPL) HElib в качестве проекта на Github. Как утверждается, в код включено множество оптимизаций, позволяющих ускорить процесс шифрования:

HElib — это программная библиотека, реализующая гомоморфное шифрование (HE). В настоящее время доступна реализация схемы Brakerski-Gentry-Vaikuntanathan (BGV), а также множество оптимизаций для более быстрого выполнения гомоморфной оценки, в основном сфокусированных на эффективном использовании методов упаковки шифротекста Smart-Vercauteren и оптимизаций Gentry-Halevi-Smart.

Посетите Github, чтобы загрузить код и внести свой вклад в проект. Там есть много документации, которая поможет вам начать работу.

Гомоморфное шифрование способно произвести революцию в области безопасности, позволяя выполнять операции с данными без необходимости их расшифровки.


Добавить комментарий