Как правило, доказательства безопасности для безопасных многосторонних вычислений основаны на идеальных функциональных возможностях. Например, см. Определение 4.1 этот учебник по симулятору.
Однако в обычной программе на объектно-ориентированном языке программирования имеют дело не только с функциями, но и с объектами. Объекты имеют функции, но также имеют некоторую постоянную память.
Возможна реализация объектов MPC. Например Эта бумага реализует забывчивые (т.е. MPC) массивы, словари и приоритетные очереди. В этой памяти сохраняется общий секрет, к которому обращаются для будущих запросов.
Однако кажется, что формализма для этих объектов не хватает. Интуитивно объект MPC не должен раскрывать больше информации, чем вызовы к некоторому идеальному объекту, который возвращает только (общие секреты) результаты на запросы (общие секреты) к объекту. Описание идеального объекта как последовательности обращений к идеальным функциональным возможностям не работает, потому что в промежутках стороны получают коррелированные доли структур данных, и поэтому функциональные возможности должны быть определены в отношении любой используемой структуры данных, а не просто с точки зрения желаемых свойств объекта.
Есть ли в литературе какой-либо формализм для доказательства безопасности объектов MPC?