Що таке повністю гомоморфне шифрування (FHE)?


Повністю гомоморфне шифрування (Fully Homomorphic Encryption, FHE) — це криптографічна технологія, що дозволяє виконувати обчислення з даними, які залишаються зашифрованими протягом усього процесу.
Стороння особа (наприклад, хмарний сервіс чи блокчейн-нода) може обробляти зашифровані дані й отримувати зашифрований результат, не розкриваючи зміст цих даних. Лише власник секретного ключа зможе розшифрувати кінцевий результат і отримати зрозумілу інформацію.
Як працює гомоморфне шифрування
У традиційних схемах шифрування дані для обробки потрібно спершу розшифрувати — це створює вразливість, адже під час обчислень інформація стає відкритою для того, хто їх виконує.
Гомоморфне шифрування усуває цю проблему, забезпечуючи безперервний захист даних: інформація залишається зашифрованою і «під замком» навіть під час обчислень.
Термін «гомоморфний» означає, що результат операцій над шифротекстом відповідає результату аналогічних операцій над відкритим текстом. При цьому сам шифротекст під час обчислень не розкривається і не змінює свого формату.
Уявімо, що компанія хоче проаналізувати клієнтські дані, але не може їх розкрити через політику конфіденційності. Використовуючи FHE, компанія отримує від клієнтів зашифровані дані та виконує над ними необхідні розрахунки. Результати теж виходять у зашифрованому вигляді, і тільки клієнти (володіючи секретним ключем) зможуть розшифрувати підсумкову інформацію.
У процесі аналізу компанія нічого не дізнається про самі дані, але все ж отримує корисні агреговані результати. Це відкриває можливості безпечної обробки чутливої інформації — від медичних записів до фінансових транзакцій — без порушення приватності користувачів.
Види гомоморфного шифрування
Гомоморфні шифрувальні системи поділяються на два основних класи: частково гомоморфні та повністю гомоморфні. Різниця полягає у наборі операцій, які підтримує схема:
- Частково гомоморфне шифрування (Partial Homomorphic Encryption, PHE): дозволяє виконувати лише один тип математичної операції над шифрованими даними — або додавання, або множення. Класичні приклади PHE — алгоритми RSA та Ель-Гамаля, що є гомоморфними відносно множення, і криптосистема Паїльє (Paillier), гомоморфна відносно додавання. Такі схеми придатні для обмежених задач (наприклад, тільки сумування або тільки множення даних), але не дозволяють виконувати довільні обчислення.
- Повністю гомоморфне шифрування (Fully Homomorphic Encryption, FHE): підтримує довільні послідовності операцій додавання і множення над шифротекстами, без обмеження їх кількості. Це означає, що за допомогою FHE можна обчислювати будь-які функції над зашифрованими даними, подібно до того, як це робиться з незашифрованими. Саме така універсальність відкриває шлях до широкого застосування FHE в різних сферах — від хмарних обчислень до смарт-контрактів.
Проміжною ланкою є так звані «дещо» гомоморфні схеми (Somewhat Homomorphic Encryption, SWHE), що дозволяють обмежену кількість різних операцій. Вони підтримують декілька додавань і множень, але лише до певної «глибини» обчислень — надто довга послідовність операцій призводить до накопичення шуму та спотворює результат.
Історія розвитку FHE
Ідея виконувати обчислення над шифрованими даними з’явилася кілька десятиліть тому. Вперше термін «гомоморфне шифрування» вживали ще в 1978 році — невдовзі після створення алгоритму RSA його автори (Рональд Рівест, Аді Шамір і Леонард Адлеман) припустили, що подібна схема могла б мати велике практичне значення. Однак у ті часи реалізувати це не вдалося: запропоновані підходи були надто обмеженими і неефективними.
Наступні прориви відбулися у 1980-х і 1990-х роках. 1982 року Шафі Гольдвассер і Сільвіо Мікалі (відомі криптографи, лауреати премії Тюрінга) описали систему шифрування, гомоморфну щодо множення, яка могла оперувати лише з одним бітом даних. 1999 року Паскаль Паїльє представив іншу гомоморфну криптосистему — цього разу адитивну, що дозволяла додавати зашифровані числа (схема Паїльє використовується до сьогодні як частково гомоморфна). Попри ці досягнення, для повноцінних обчислень цього було недостатньо.
Важливий крок до «повноти» стався 2005 року з появою схеми Boneh–Goh–Nissim (BGN), яка дозволила виконувати необмежену кількість операцій додавання та одну операцію множення над шифротекстами. Це все ще не було повним гомоморфним шифруванням, але показало, що комбінація операцій можлива.
2009 вважається роком народженням FHE: дослідник IBM та аспірант Стенфорду Крейг Джентрі у своїй дисертації вперше продемонстрував схему повністю гомоморфного шифрування. Розробка Джентрі базувалася на складних математичних конструкціях із теорії ґрат (lattice-based cryptography) і вводила поняття «шуму» в шифротексті. Шум збільшується з кожною виконаною операцією, і якщо виконувати занадто багато обчислень, дані спотворяться.
Джентрі розв’язав цю проблему за допомогою процесу бутстрапінгу — періодичного «очищення» шифротексту: часткового розшифрування та повторного шифрування даних під час обчислень. Це дозволило, принаймні теоретично, виконувати необмежено глибокі обчислення над зашифрованими даними, зберігаючи їх цілісність.
Хоча схема Джентрі довела принципову здійсненність FHE, на практиці вона виявилася надзвичайно повільною та ресурсоємною — обчислення займали мільйонні коефіцієнти часу порівняно зі звичайним шифруванням. У наступні роки дослідники активно працювали над оптимізацією.
2011 року були запропоновані спрощені FHE-схеми на базі задачі навчання з помилками (Learning With Errors, LWE) та її кільцевого варіанту (Ring-LWE). Відомий підхід Бракерські–Фан–Веркотерена (схема B/FV) дозволив ефективніше контролювати ріст шуму і збільшив число операцій, які можна виконати без чергового бутстрапінгу. Такі вдосконалення дещо підвищили продуктивність FHE у певних сценаріях.
За останнє десятиліття FHE суттєво просунулося. Як відзначав сам Крейг Джентрі, продуктивність гомоморфних обчислень з 2009 року зростала дуже стрімко — швидше, ніж передбачає закон Мура. З’явилися більш ефективні алгоритми та бібліотеки, про які поговоримо далі.
Однак навіть станом на середину 2020-х технологія залишається експериментальною: для практичного масового використання все ще бракує швидкості та зручності, а розробникам часто не вистачає інструментів та стандартів для інтеграції FHE у свої застосунки.
Переваги та можливості повністю гомоморфного шифрування
- Конфіденційна обробка даних. FHE усуває компроміс між корисністю даних та їхньою приватністю. Можна передавати і зберігати конфіденційну інформацію на зовнішніх серверах (у хмарі, у сторонніх компаній) та дозволяти обчислення над нею, не розкриваючи ці дані виконавцю обчислень. Наприклад, лікарня може дозволити науковцям проаналізувати зашифровану медичну базу, не порушуючи закону про захист персональних даних, або банк — виявляти підозрілі транзакції, не показуючи аналітикам деталей клієнтів. Адміністратори серверів при цьому не бачать змісту інформації, а тільки зашифровані цифри.
- Безпека під час використання. Сучасне шифрування добре захищає дані в стані спокою (на дисках) та при передачі по мережі, але коли дані використовуються (обробляються), вони зазвичай відкриваються і стають вразливими. FHE додає відсутній компонент безпеки, захищаючи дані в процесі їх використання. Таким чином, дані залишаються зашифрованими на всіх етапах: і при зберіганні, і при передачі, і під час обчислень. Це особливо важливо в епоху хмарних обчислень, коли дані часто передаються між різними середовищами.
- Сумісність з технологіями приватності. Гомоморфне шифрування добре комбінується з іншими підходами для забезпечення конфіденційності. Наприклад, його можна поєднувати з протоколами MPC (багатосторонніх обчислень) або з доказами з нульовим розголошенням (ZKP) для досягнення ще вищого рівня приватності у фінансових застосунках чи в Web3. На відміну від ZKP, які фокусуються на доведенні факту без розкриття даних, FHE саме дозволяє отримувати результат обчислень над прихованими даними Ці методи можуть доповнювати одне одного. FHE може забезпечити шифрування транзакцій, а ZKP — довести їх валідність без розкриття вмісту. У результаті можлива поява повністю конфіденційних децентралізованих застосунків, де і дані, і верифікація захищені.
- Постквантова стійкість. Більшість сучасних реалізацій FHE базуються на задачах теорії ґрат (наприклад, на проблемі Learning With Errors), які вважаються складними для квантових комп’ютерів. Тому FHE за своєю природою квантово-стійке — навіть зі зростанням потужності квантових обчислень такі схеми з високою імовірністю збережуть надійність. В час, коли квантова загроза для традиційних алгоритмів (на кшталт RSA або ECC) стає все реальнішою, гомоморфне шифрування є привабливим кандидатом на роль технології майбутнього, що збереже конфіденційність даних у довгостроковій перспективі.
Застосування FHE: від хмарних сервісів до блокчейну
- Хмарні обчислення та big data-аналітика. FHE дозволяє компаніям передавати чутливі дані до хмарних платформ для обробки без ризику витоку. Наприклад, підприємство може завантажити комерційну таємницю чи персональні дані клієнтів у зашифрованому вигляді на сервери AWS або Google Cloud і виконати там необхідні операції. Хмара поверне результат, який розшифровують лише уповноважені особи.
- Фінансові розрахунки та страхування. Банки та страхові компанії можуть обмінюватися даними для оцінки ризиків або виявлення шахрайства, не порушуючи банківську таємницю. За допомогою FHE декілька установ здатні виконати спільний розрахунок (наприклад, обчислити середній показник чи агрегований баланс клієнта) і дізнатися результат, не показуючи одна одній вихідні дані клієнтів. Так само аудитори можуть перевіряти зашифровані фінансові записи компанії на предмет аномалій, не маючи доступу до самих цифр у відкритому вигляді.
- Електронне голосування. Гомоморфне шифрування розглядають як інструмент для секретного та верифікованого е-голосування. Кожен голос шифрується відкритим ключем виборчої комісії і публікується у зашифрованому вигляді. Потім всі шифротексти перемножуються або додаються (залежно від реалізації), щоб отримати зашифровану суму голосів, яку комісія розшифровує. Завдяки гомоморфній властивості, результат дешифрування дорівнює правильному підрахунку голосів, але при цьому жоден окремий голос не розкривається. FHE забезпечує одночасно таємницю вибору і можливість незалежної перевірки підрахунку.
- Машинне навчання на зашифрованих даних. Наприклад, різні лікарні хочуть навчити спільну модель штучного інтелекту для діагностики захворювань, але не можуть об’єднати свої бази пацієнтів через законодавчі обмеження. FHE може стати рішенням: кожна лікарня шифрує свої дані, і модель навчається на сукупності зашифрованих даних, ніколи не бачачи реальних персональних відомостей. Подібні підходи вже досліджуються для тренування нейромереж у зашифрованому просторі, щоб зберегти конфіденційність учасників.
FHE та приватність у блокчейні
Блокчейн забезпечує децентралізацію та прозорість, але за замовчуванням усі транзакції відкриті. У публічних мережах на зразок Ethereum чи Bitcoin можна переглянути баланс будь-якої адреси і весь її транзакційний слід. Це несумісно з вимогами конфіденційності багатьох галузей (фінансів, охорони здоров’я тощо). Існуючі рішення на кшталт ZKP (zk-SNARK, zk-STARK) частково приховують інформацію, але зосереджуються радше на доведенні правильності транзакції, ніж на обробці даних.
FHE ж може забезпечити повну приватність транзакцій: всі поля (суми, адреси, умови контракту) зберігатимуться в зашифрованому вигляді, а майнери/валідатори зможуть виконувати над ними обчислення для оновлення стану мережі, не розкриваючи їх значення.
Завдяки FHE можливі конфіденційні платежі в блокчейнах — коли ні сума переказу, ні баланс користувача не видно стороннім, але мережа все одно коректно змінює стани рахунків. Інший випадок — селективне розкриття: користувач може довести регулятору або контрагенту певний факт про свої дані (наприклад, що його транзакція відповідає вимогам AML/KYC) шляхом контрольованого розкриття, зберігаючи решту деталей зашифрованими. Це допоможе дотримуватися регуляторних норм, не жертвуючи приватністю.
Обмеження та виклики FHE
- Високі обчислювальні витрати. Гомоморфне шифрування вимагає набагато більше ресурсів, ніж звичайні алгоритми. Процеси шифрування, обчислення над шифротекстом і розшифрування є повільними та затратними у плані CPU/пам’яті. Хоча за останні роки швидкість FHE помітно зросла, для реального часу її все ще недостатньо. Наразі FHE-застосунки працюють переважно офлайн або в режимі пакетної обробки. Інженери покладають надії на апаратне прискорення (спеціалізовані чіпи, FPGA) і оптимізацію алгоритмів, щоб подолати цей бар’єр.
- Складність розробки і відсутність стандартів. Технологія перебуває на ранніх стадіях, тому немає усталених стандартів FHE. Існує декілька конкуруючих схем і бібліотек (HElib від IBM, Microsoft SEAL, PALISADE/OpenFHE та ін.), які реалізують гомоморфне шифрування по-різному. Розробникам потрібні спеціальні знання в криптографії, щоб інтегрувати FHE в свої продукти.
- Об’єм шифрованих даних. Операції FHE додають значний «шифрувальний баласт» до даних. Шифротексти у FHE-схемах в десятки і сотні разів більші за оригінальні дані. Це створює проблеми зберігання та передачі. У контексті блокчейну велике роздуття даних може швидко заповнити блокчейн-блоки, сповільнити виконання транзакцій і підвищити комісії. Для реалістичного використання FHE-даних у розподілених реєстрах потрібні рішення на рівні протоколів (наприклад, стиснення, спеціальні L2-мережі для гомоморфних даних тощо).