Обсуждение на слешдоте
Объяснение на википедии
Эта штука позволит отдавать вычисления над секретными данными в "облако", не беспокоясь о возможности взлома самих данных.
И, похоже, эта возможность очень близка.
(моё понимание решения и проблемы)
Мы создаём специальную несимметричную систему шифрования, X=E(x) и x=D(X), при этом за счёт введения случайных чисел E(x)/=E(x) (два шифрования дают одинаковый результат с малой вероятностью). В ней для нескольких интересующих нас функций f, g и h мы создаём функции F, G и H: D(F(X,Y))=f(x,y), то же для H и h, G и g.
Например, если у нас биты, то создав функции для AND и NOT мы получаем возможность выразить сложение, умножение, деление, минимум, максимум и прочее.
Понакодировав данных Xi=E(xi), и задав алгоритм обработки с помощью наших функций, мы отправляем всё на вычисления в "облако", которое потенциально недружественно. Обратно к нам приходит Yj, которое мы раскодируем (на это-то у нас мощностей хватает) и используем в наших целях.
Товарищи из "облака" ни о чём догадаться не могут и даже толком уворовать информацию не в силах.