HEU (Homomorphic Encryption processing Unit) — это библиотека с низким порогом входа и высокой производительностью для гомоморфного шифрования, которая поддерживает разнообразные типы и расширяемую экосистему аппаратного ускорения.
Документация: https://www.secretflow.org.cn/docs/heu/
Состояние разработки:
Гомоморфное шифрование в основном делится на две категории: частично гомоморфное (PHE) и полностью гомоморфное (FHE). В настоящее время HEU поддерживает большинство алгоритмов PHE, а FHE всё ещё требует времени для разработки.
Поддерживаемые алгоритмы:
Каждый класс алгоритмов включает в себя множество различных реализаций, некоторые из которых поддерживают аппаратные ускорители. Подробности см. в документации.
.
├── .circleci # CI/CD конфигурация CircleCI
├── .github # Конфигурация GitHub
├── docs # Документация HEU, формат Sphinx
├── heu # Весь код реализации HEU
│ ├── algorithms # Реализация всех алгоритмов, включая PHE и FHE
│ ├── experimental # Некоторые независимые экспериментальные коды
│ ├── library # HE Library, реализация функций прикладного уровня
│ │ ├── algorithms # Не перенесённые в SPI реализации алгоритмов, будут удалены после переноса
│ │ ├── benchmark # Код для базовых тестов
│ │ ├── numpy # Реализация интерфейса, подобного Numpy
│ │ └── phe # PHE Dispatcher (скоро будет заменён на SPI)
│ ├── pylib # Python binding
│ └── spi # Определение интерфейса подключения к HEU для программного и аппаратного обеспечения (SPI), включая:
│ ├── he # HE SPI и связанные наброски
│ └── poly # Определение полиномиального интерфейса и связанных набросков
└── third_party # Ссылки на сторонние библиотеки, необходимые для компиляции, которые автоматически загружаются при компиляции
В настоящее время HEU переходит от старой архитектуры Dispatcher к архитектуре на основе SPI. Основные модули двух архитектур и их сопоставление путей кода следующие:
Архитектура на основе Dispatcher:
Python APIs (Python binding)
PATH: heu/pylib
│
├───────────────────┐
│ ▼
│ Tensor Lib with Numpy-like API
│ PATH: heu/library/numpy
│ │
│ ┌─────────────┘
│ │
▼ ▼
PHE Dispatcher & PHE C++ API
PATH: heu/library/phe
│
│
▼
Various PHE algorithm implementations
PATH: heu/library/algorithms
Архитектура на основе SPI:
Python APIs (Python binding)
PATH: heu/pylib
│
├───────────────────┐
│ ▼
│ Tensor Lib with Numpy-like API
│ PATH: heu/numpy
│ │
│ ┌─────────────────┘
│ │
▼ ▼
HE SPI (C++ APIs)
PATH: heu/spi/he
│
│
▼
Various HE algorithm implementations
PATH: heu/algorithms
Для более подробного ознакомления с SPI см. heu/spi/README.md.
Вехи перехода на архитектуру SPI:
Вехи FHE:
pip install sf-heu
Следующая команда автоматически скомпилирует и установит HEU в среду Python по умолчанию:
git clone git@github.com:secretflow/heu.git
cd heu
sh build_wheel_entrypoint.sh
# только компиляция, без запуска UT (необязательно)
bazel build heu/...
# компиляция и запуск всех UT
bazel test heu/...
Секретный поток — это очень инклюзивное и открытое сообщество. Мы приветствуем любой вклад, и если вы хотите улучшить HEU, обратитесь к руководству по внесению вклада.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )