Криптография
Гомоморфное шифрование
Что если банк мог бы вычислить кредитный скор клиента без доступа к его финансовым данным? FHE делает это возможным - вычисления над зашифрованными данными.
- Cloudflare 2021: конфиденциальные DNS lookup через PIR - провайдер не видит какие сайты посещаются
- Zama.ai: конфиденциальные смарт-контракты через TFHE - программируемость блокчейна с приватностью
- Microsoft SEAL + Azure: ML inference на зашифрованных медицинских данных - врач получает диагноз без передачи данных облаку
- IBM: anti-money laundering через совместные вычисления банков на объединённых зашифрованных данных
Частично гомоморфное шифрование (PHE)
Гомоморфное шифрование позволяет вычислять над зашифрованными данными без расшифровки. Формально: Enc(a) op Enc(b) = Enc(a + b) или Enc(a) op Enc(b) = Enc(a * b). Частично гомоморфные (PHE) схемы поддерживают только одну операцию - либо сложение, либо умножение. RSA мультипликативно гомоморфен: Enc(m1) * Enc(m2) = (m1^e) * (m2^e) = (m1*m2)^e = Enc(m1*m2) mod n. Paillier аддитивно гомоморфен - используется в e-voting.
ElGamal мультипликативно гомоморфен. SWHE (Somewhat HE) поддерживает ограниченное число обоих операций. Применения PHE: e-voting (Helios, STAR-Vote), конфиденциальные транзакции (Monero использует Pedersen commitment), Privacy-Preserving Machine Learning (частичное). PHE работает в продакшне сегодня в отличие от FHE.
Почему аддитивная гомоморфность достаточна для подсчёта голосов в e-voting?
Полное гомоморфное шифрование (FHE)
FHE (Fully Homomorphic Encryption) поддерживает произвольные вычисления над зашифрованными данными - и сложение, и умножение без ограничений. Крейг Джентри построил первую FHE схему в 2009 году через bootstrapping. Идея: каждое умножение добавляет 'шум' в ciphertext; когда шум критически накапливается, выполняется bootstrapping - гомоморфное расшифрование собственного ciphertext, которое 'обнуляет' шум.
Четыре поколения FHE: 1) Gentry 2009 (теоретическая, крайне медленная), 2) BGV/BGV 2011 (батчинг, 1000x ускорение), 3) GSW/TFHE 2013-2016 (gate bootstrapping, low-latency), 4) CKKS 2017 (приближённая арифметика для ML). Современный FHE через CKKS умножает зашифрованные числа за миллисекунды. IBM, Google, Microsoft, Intel активно разрабатывают FHE ускорители - специализированные чипы для гомоморфных операций.
Зачем в FHE нужен bootstrapping?
Схемы BFV и CKKS
BFV (Brakerski/Fan-Vercauteren) - FHE для точных целочисленных вычислений. Основан на Ring-LWE: операции над многочленами степени N (2048-16384) в кольце Z_q[x]/(x^N+1). Батчинг (SIMD): один ciphertext кодирует N/2 значений одновременно - амортизированная стоимость операции делится на N/2. Применение: конфиденциальные базы данных, PIR (Private Information Retrieval).
CKKS идеален для Machine Learning: нейронные сети допускают малые ошибки округления. Логистическая регрессия на зашифрованных данных работает через полиномиальную аппроксимацию функций активации (sigmoid ≈ полином). Производительность CKKS (2024): одно зашифрованное умножение - ~1 мс без GPU, ~0.01 мс на GPU. Inference ResNet-20 на зашифрованных изображениях CIFAR-10: ~18 секунд (Microsoft Research 2023).
Почему CKKS подходит для ML inference, но не для финансовых расчётов?
Практические применения FHE
Private Information Retrieval (PIR): клиент запрашивает элемент базы данных не раскрывая какой именно. Сервер отправляет гомоморфно вычисленный результат. Применение: конфиденциальный поиск в медицинских базах, безопасные DNS запросы. Cloudflare реализовал PIR для конфиденциальных DNS lookup (2021). Google использует PIR для Private Join and Compute в рекламе.
TFHE (FHEW) - Fast Fully HE: bootstrapping за 10 мс позволяет выполнять произвольные схемы вентилей с гарантированной свежестью шума. Каждый логический вентиль над зашифрованными битами - отдельный bootstrapping. Подходит для малых схем: AES шифрование зашифрованного ключа, сортировка зашифрованного массива. Тренд: специализированные FHE чипы (MIT, Intel) обещают 100-1000x ускорение к 2026-2027.
Что такое Private Information Retrieval и какую задачу конфиденциальности оно решает?
Вычисления без раскрытия
- PHE (Paillier, ElGamal): одна операция, продакшн-готовность - e-voting, конфиденциальные транзакции
- FHE: произвольные вычисления через bootstrapping - теоретически идеально, практически медленно (10,000x)
- CKKS: приближённая арифметика для ML inference - нейросети на зашифрованных данных
- TFHE/PIR: конкретные применения с малой задержкой - конфиденциальный поиск, смарт-контракты
Связанные темы
FHE - экстремальный случай privacy-preserving computation, дополняющий MPC и ZKP
- Многосторонние вычисления (MPC) — MPC - альтернатива FHE для вычислений на распределённых секретах без trusted party
- ZK-SNARK'и — ZKP доказывают корректность вычислений без раскрытия входных данных - дополняет FHE
- Post-quantum криптография — FHE основан на Ring-LWE - той же решёточной задаче что Kyber и Dilithium
Вопросы для размышления
- Если FHE позволяет вычислять над зашифрованными данными без их раскрытия, почему это не заменяет все другие privacy-preserving техники (MPC, ZKP, differential privacy)? В каких сценариях FHE неприменимо?