Repolode
zama-ai

zama-ai/tfhe-rs

Реализация схемы TFHE на чистом Rust для выполнения логических операций и арифметики над целыми числами непосредственно на зашифрованных данных.

Звёзды
1,675
Форки
338
Открытые issues
54
Последний коммит
вчера

Что это?

TFHE-rs — библиотека на чистом Rust, реализующая TFHE — схему полностью гомоморфного шифрования. Она позволяет программе выполнять вычисления над шифротекстами, так что после расшифровки владельцем данных результат совпадает с результатом тех же операций над открытым текстом. Разработчики могут использовать её для логических схем и арифметики над зашифрованными значениями целых чисел распространённых разрядностей, например FheUint8 и FheUint32.

В библиотеке есть высокоуровневый API для Rust, C API и клиентский JavaScript API, скомпилированный в WASM. Кроме того, она включает низкоуровневый криптографический слой с программируемым бутстрэппингом, boolean API, совместимый с исходной библиотекой TFHE, и API для коротких целых чисел с точной арифметикой без ограничений до 8 бит пространства сообщений. Сжатие шифротекстов и серверных ключей помогает уменьшить объём передаваемых данных.

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

Ключевые возможности

  • 01Логические операции и арифметика над зашифрованными данными с использованием TFHE.
  • 02Высокоуровневый API для Rust с типами зашифрованных целых чисел, например FheUint32.
  • 03C bindings и клиентский JavaScript API, скомпилированный в WASM.
  • 04Программируемый бутстрэппинг в низкоуровневом криптографическом слое.
  • 05Сжатие шифротекстов и серверных ключей для уменьшения объёма передаваемых данных.

Сценарии использования

  • Создание сервисов с сохранением конфиденциальности, которые вычисляют данные, недоступные серверу для чтения.
  • Прототипирование зашифрованных логических схем и схем для арифметики над целыми числами в исследованиях.
  • Шифрование данных на стороне клиента в браузере через WASM API.

Быстрый старт

  1. 1

    Убедитесь, что версия Rust — 1.91.1 или новее

    rustc --version
  2. 2

    Добавьте TFHE-rs в зависимости в Cargo.toml

    tfhe = { version = "*", features = ["boolean", "shortint", "integer"] }
  3. 3

    Запустите пример в режиме release

    cargo run --release

Что важно знать

  • Распространяется по лицензии BSD-3-Clause-Clear, которая разрешает использование только для разработки, исследований, прототипирования и экспериментов. Для коммерческого использования требуется отдельная патентная лицензия от Zama.
  • Меры защиты от атак по сторонним каналам пока не реализованы.
  • Требуется Rust версии 1.91.1 или новее.
  • Машины AArch64 не поддерживаются в Windows.

В подборках

Темы

Частые вопросы

Что такое tfhe-rs?
Реализация схемы TFHE на чистом Rust для выполнения логических операций и арифметики над целыми числами непосредственно на зашифрованных данных. TFHE-rs — библиотека на чистом Rust, реализующая TFHE — схему полностью гомоморфного шифрования. Она позволяет программе выполнять вычисления над шифротекстами, так что после расшифровки владельцем данных результат совпадает с результатом тех же операций над открытым текстом. Разработчики могут использовать её для логических схем и арифметики над зашифрованными значениями целых чисел распространённых разрядностей, например FheUint8 и FheUint32.
tfhe-rs можно использовать бесплатно? Какая у него лицензия?
tfhe-rs распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
tfhe-rs всё ещё поддерживается?
Активно поддерживается. Последний коммит в tfhe-rs — 23 окт. 2026 г..
Для чего можно использовать tfhe-rs?
Создание сервисов с сохранением конфиденциальности, которые вычисляют данные, недоступные серверу для чтения. Прототипирование зашифрованных логических схем и схем для арифметики над целыми числами в исследованиях. Шифрование данных на стороне клиента в браузере через WASM API.
Как установить tfhe-rs?
Убедитесь, что версия Rust — 1.91.1 или новее: rustc --version Добавьте TFHE-rs в зависимости в Cargo.toml: tfhe = { version = "*", features = ["boolean", "shortint", "integer"] } Запустите пример в режиме release: cargo run --release
Где скачать tfhe-rs?
Исходный код и инструкции по установке — на GitHub: https://github.com/zama-ai/tfhe-rs

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Настольный клиент для Windows, macOS и Linux, который обеспечивает прозрачное шифрование файлов на устройстве в Dropbox, Google Drive, OneDrive и других синхронизируемых облачных папках.

16,3 тыс.+5 за неделю1,5 тыс.JavaGPL-3.0Обновлён позавчера

Самостоятельно размещаемый dead man's switch с упором на email: он отправит близким сквозным образом зашифрованные сообщения, если вы перестанете подтверждать, что с вами всё в порядке.

759+1 за неделю29RubyMITОбновлён позавчера