Полностью гомоморфное шифрование (FHE) — это не отдельный алгоритм, а целое семейство криптографических конструкций, обеспечивающих вычисления с зашифрованными данными. Каждая схема основана на сложных математических задачах, прежде всего на решеточных предположениях, таких как Learning With Errors (LWE) и Ring-LWE, которые считаются защищёнными даже против квантовых атак. Схемы различаются по производительности, поддерживаемым видам вычислений и способам управления накапливающимся в ходе операций шумом. Знание основных схем необходимо для того, чтобы понимать интеграцию FHE в среду смарт-контрактов и причины выбора определённых архитектур под конкретные задачи.
Наиболее широко обсуждаются четыре схемы: BFV, BGV, CKKS и TFHE/FHEW. Каждая из них рассчитана на определённые вычислительные задачи и построена на своей математической базе. При выборе схемы для блокчейн-приложения во внимание принимают, реализуются ли задачи с точной обработкой целых чисел, приближённой арифметикой для машинного обучения, либо быстрыми побитовыми операциями для логики смарт-контрактов.
Схемы BFV (Brakerski–Fan–Vercauteren) и BGV (Brakerski–Gentry–Vaikuntanathan) стали одними из первых практических реализаций FHE, получив признание в отрасли. Обе построены на решеточной криптографии и предназначены для операций с целыми числами или модульной арифметикой. Они реализуют точное сложение и умножение, благодаря чему подходят для финансовых вычислений, электронного голосования и других сфер, требующих абсолютной точности.
BFV оптимизирована под эффективную работу с модульными арифметическими операциями над целыми числами, что важно там, где необходимы детерминированные результаты без ошибок округления. BGV, при схожих принципах, вводит дополнительные оптимизации для обработки упакованных шифротекстов, позволяя обрабатывать множество значений параллельно (batching). Эта функция существенно ускоряет обработку в блокчейне, где пропускная способность и издержки тесно связаны с вычислительной эффективностью.
Обе схемы, BFV и BGV, используют ступенчатое гомоморфное шифрование: т.е. позволяют провести фиксированное количество операций до того, как шум в шифротексте достигнет критического порога. Процедура bootstrapping — "освежение" шифротекста путём гомоморфного повторного шифрования — делает эти схемы полностью гомоморфными. Если раньше bootstrapping был крайне медленным и затратным, современные реализации минимизировали издержки, что обеспечило реальную возможность непрерывных вычислений с зашифрованными данными.
Схема CKKS (Cheon–Kim–Kim–Song) реализует иной подход к гомоморфному шифрованию, поддерживая приближённую арифметику вместо точных целых операций. Такой подход максимально соответствует задачам машинного обучения и искусственного интеллекта, где абсолютная точность не требуется, а допустимы операции с числами с плавающей запятой. CKKS кодирует действительные или комплексные числа во входные шифротексты и поддерживает векторные операции, ускоряя шифрованный инференс моделей и защищённую аналитику данных.
Особенность CKKS — компромисс между производительностью и приближением: из‑за масштабирования и округления при шифровании и вычислениях возможно появление незначительных ошибок. В большинстве AI- и data science-задач это не критично, поскольку модели изначально рассчитаны на небольшие числовые отклонения. В блокчейн-контексте CKKS подходит для конфиденциальных AI-агентов на блокчейне, которые способны выполнять прогнозы или оценки рисков без раскрытия моделей или пользовательских данных.
При всех преимуществах CKKS менее применима для финансовых смарт-контрактов и систем электронного голосования, где необходима безупречная точность. В таких случаях более предпочтительны целочисленные схемы BFV или TFHE. Однако, благодаря высокоэффективной работе с векторами, CKKS становится перспективной основой для будущих децентрализованных AI-маркетплейсов и приватных федеративных вычислений в блокчейне.
TFHE (Fast Fully Homomorphic Encryption over the Torus) и её предшественник FHEW оптимизированы для битовых операций. В отличие от BFV, BGV и CKKS, которые работают с векторами или многочленами, TFHE шифрует отдельные биты и эффективно выполняет булевы операции. Такой подход особенно полезен, когда требуются логические элементы, а не арифметика — например, для сравнений, условных переходов или выполнения изменений состояния смарт-контрактов в зашифрованном виде.
Ключевое преимущество TFHE — крайне быстрое выполнение bootstrapping. В ранних FHE-схемах этот процесс был главным узким местом, занимая секунды на операцию. В TFHE время обновления шифротекста сокращено до миллисекунд благодаря принципиально новому способу его выполнения, что делает возможной постоянную зашифрованную обработку в интерактивных сценариях. Именно поэтому TFHE является одним из главных кандидатов для блокчейн-платформ, например, fhEVM от Zama, где смарт-контракты должны быстро и эффективно обрабатывать произвольную зашифрованную логику.
Главный компромисс TFHE — ориентация на бинарные операции, поэтому задачи с интенсивной арифметикой менее эффективны по сравнению с CKKS или BFV. Однако используются гибридные подходы: TFHE — для управляющей логики, CKKS — для приближённой арифметики, что объединяет преимущества обеих парадигм в приватных децентрализованных приложениях.
Шум — базовый элемент решеточных FHE-схем. Каждая вычислительная операция с зашифрованными данными увеличивает уровень шума, и при достижении порогового значения шифротекст становится недоступен для корректной расшифровки. Bootstrapping — это процесс гомоморфной дешифровки и повторного шифрования, позволяющий сбросить шум и, тем самым, выполнять неограниченное количество вычислений.
Ранние алгоритмы bootstrapping были медленными и требовали значительных ресурсов, что ограничивало внедрение полностью гомоморфного шифрования за пределами академических прототипов. Однако за последнее десятилетие удалось сократить время bootstrapping с минут до миллисекунд. TFHE и FHEW открыли возможности быстрого bootstrapping для задач реального времени, а в CKKS и BFV появились оптимизированные алгоритмы и аппаратное ускорение.
Управление шумом не ограничивается только bootstrapping. Среди вспомогательных методов — смена модуля (modulus switching), смена ключа (key switching) и упаковка шифротекстов (ciphertext packing), что позволяет контролировать рост шума и повышать общую производительность. Modulus switching сокращает размер шифротекста на этапе вычислений, key switching обеспечивает перевод данных между разными ключами без расшифровки, а packing позволяет обрабатывать несколько значений параллельно в одном шифротексте. В совокупности эти методы составляют ядро современных практических реализаций FHE.
Несмотря на достижения алгоритмической оптимизации, FHE остаётся существенно более ресурсоёмким по сравнению с традиционной криптографией. Поэтому аппаратное ускорение является одним из ключевых направлений развития. Первой целью ускорения стали графические процессоры (GPU) благодаря их возможностям параллельных вычислений, что особенно эффективно для полиномиальной арифметики и векторных операций в FHE-схемах. В последнее время активно исследуются также программируемые логические интегральные схемы (FPGA) и специализированные ASIC для дальнейшего увеличения эффективности.
Прототипирование Homomorphic Processing Unit (HPU), представленное компанией Zama, демонстрирует стремление отрасли разрабатывать специализированное оборудование для вычислений над зашифрованными данными. Такие устройства сконструированы специально под FHE-нагрузки и значительно сокращают задержки и энергопотребление. Для блокчейн-приложений, где критичны низкие транзакционные издержки и высокая пропускная способность, аппаратное ускорение становится основой коммерческого внедрения смарт-контрактов на FHE.
Для разработчиков FHE существует несколько открытых библиотек, ставших отраслевым стандартом. Microsoft SEAL — одна из наиболее популярных, поддерживающая BFV и CKKS, оптимизирована под простоту использования и кроссплатформенность. OpenFHE (бывшая PALISADE) предоставляет расширенную функциональность, поддерживая различные схемы и продвинутые оптимизации. HElib от IBM ориентирована на исследовательские задачи и реализует схему BGV, остаётся значимой для академического сообщества.
Для применения TFHE стандартом стала библиотека TFHE-rs от Zama, отличающаяся эффективным bootstrapping и интеграцией с fhEVM от Zama. Concrete от Zama — это набор удобных инструментов для разработки FHE‑приложений на Rust с высокой производительностью и простым внедрением. Fhenix, специализирующаяся на конфиденциальных смарт-контрактах для Ethereum, выпустила SDK для Solidity, абстрагирующий криптографическую сложность и позволяющий разработчикам создавать зашифрованные контракты на привычном для блокчейн-индустрии языке.
Развитие указанных библиотек значительно упростило процесс входа для разработчиков. То, что раньше требовало уникальных криптографических навыков, теперь доступно специалистам по смарт-контрактам, работающим на стандартных языках, таких как Solidity и Rust. Благодаря этой демократизации FHE-разработки растёт число экспериментов и внедрений в децентрализованных финансах, здравоохранении и AI‑решениях на блокчейне.