Полностью гомоморфное шифрование (FHE): Святой Грааль криптографии
Когда вы отправляете данные в облако на обработку (например, просите нейросеть проанализировать ваши медицинские анализы или поручаете серверу посчитать налоги), вы вынуждены довериться серверу, ведь чтобы сложить числа, сервер должен сначала расшифровать их. Возможна ли такая криптография, которая позволяет производить математические вычисления прямо над зашифрованными данными, не расшифровывая их? Полвека это считалось фантастикой, пока дискретная математика не сотворила чудо.
Свойство, при котором алгебраические операции над шифротекстом автоматически отражаются на открытом тексте, называется гомоморфизмом. Классический алгоритм RSA обладает мультипликативным гомоморфизмом. Если взять шифротекст числа A и умножить его на шифротекст числа B, а затем расшифровать результат, мы получим число (A * B). Но RSA не умеет складывать зашифрованные числа.
Криптографам требовалась схема, поддерживающая и сложение, и умножение (так как через сложение и умножение можно выразить любой логический вентиль, а значит, и любую компьютерную программу). Создание Полностью гомоморфного шифрования (Fully Homomorphic Encryption, FHE) состоялось лишь в 2009 году в гениальной диссертации Крейга Джентри (Craig Gentry).
Джентри использовал криптографию на идеальных решетках (Lattice-based cryptography). В его схеме шифротекст — это многомерный вектор с добавлением небольшого математического "шума" для безопасности. При сложении или умножении шифротекстов этот шум растет. Как только шум превышает определенный порог, расшифровка становится невозможной. Это ограничивало вычисления небольшой глубиной (Somewhat Homomorphic Encryption).
Прорыв Джентри заключался в процессе Bootstrapping (Самозагрузка). Он доказал, что схема гомоморфного шифрования может сама вычислить свой собственный алгоритм расшифровки! Если шум в шифротексте становится критическим, система зашифровывает этот грязный шифротекст вторым слоем (получая двойной шифр), и применяет операцию гомоморфной расшифровки поверх этого двойного шифра. В результате старый шум обнуляется, данные остаются защищенными новым чистым шифром, и можно продолжать вычисления бесконечно!
Технология FHE навсегда изменит ИТ. Больницы смогут обучать ИИ-диагностов на зашифрованных медкартах миллионов пациентов, не нарушая врачебную тайну (потому что ИИ не видит лиц, он видит лишь криптографический шум, но веса нейросети при этом обновляются правильно). Единственное препятствие сейчас — вычислительная избыточность: сложение зашифрованных чисел пока занимает в тысячи раз больше тактов процессора, чем обычная арифметика.