01.12.2021

Google открыл инструментарий для полного гомоморфного шифрования

Компания Google опубликовала открытый набор библиотек и утилит с реализацией системы полного гомоморфного шифрования, позволяющей обрабатывать данные в шифрованном виде, которые не фигурируют в открытой форме ни на одном из этапов вычислений. Инструментарий даёт возможность создавать программы для конфиденциальных вычислений, способные работать с данными без расшифровки, в том числе выполнять математические и простые строковые операции над зашифрованными данными. Код проекта написан на языке C++ и распространяется под лицензией Apache 2.0.

В отличие от сквозного шифрования, гомоморфное шифрование помимо защиты передачи данных, предоставляет возможность обработки данных без их расшифровки. Под полной гомоморфностью понимается возможность выполнять операции сложения и умножения зашифрованных данных, отталкиваясь от которых можно реализовать любые произвольные вычисления. На выходе выдаётся зашифрованный результат, который был бы аналогичен шифрованию результата аналогичных операций над исходными данными.

Работа с данными при гомоморфном шифровании сводится к тому, что пользователь шифрует данные и без раскрытия ключей передаёт для обработки в сторонний сервис. Данный сервис выполняет заявленные вычисления и формирует зашифрованный результат, не имея возможности определить с какими именно данными он работает. Пользователь при помощи своих ключей расшифровывает выданные данные и получает результат в открытом виде.

Из областей применения гомоморфного шифрования отмечается создание облачных сервисов для конфиденциальных вычислений, реализация систем электронного голосования, создание анонимизированных протоколов маршрутизации, обработка запросов над зашифрованными данными в СУБД, конфиденциальная тренировка систем машинного обучения.

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

Отличительной чертой опубликованного инструментария является возможность создавать программы для обработки зашифрованных данных, используя типовые приёмы разработки на языке С++. При помощи предоставляемого транспайлера программа на С++ преобразуется в специальный диалект FHE-C++, способный работать с зашифрованными данными.

Источник.