СКРЫТИЕ ИСПОЛНЕНИЯ ПРОГРАММЫ

1. Система для скрытия изменения во множестве переменных  программы, содержащая:
средство (902) представления значения для представления значения  переменной  из переменных , причем w является элементом множества W, посредством представления , причем  и  является элементом множества представлений , причем  является переменной состояния, которая является элементом множества  и которая обеспечивает избыточность представлению  для , и  является взаимно-однозначным криптографическим отображением из  в предварительно определенное множество; и
средство (903) представления действия для представления действия над значениями переменных в подмножестве V' множества переменных V посредством действия над V' и действия над V\V', чтобы получить обновленные представления , для , причем  является взаимно-однозначным криптографическим отображением из  в предварительно определенное множество, и причем
упомянутое действие над V' сконфигурировано для изменения представления  каждой переменной  во множестве переменных V' согласно измененному значению  переменной , и
упомянутое действие над V\V' сконфигурировано для изменения представления  каждой переменной  в V\V' согласно измененному значению  переменной состояния .
1
2
1
2
1
2
2. Система по п.1, в которой упомянутое действие над значениями переменных в подмножестве V' содержит условный (if) оператор, который определяет действие над множеством переменных V, если условие выполняется, и действие над множеством переменных V, если условие не выполняется, причем множество переменных V является подмножеством множества переменных V, и множество переменных V также является подмножеством множества переменных V, и средство (903) представления действия сконфигурировано использовать множество переменных V в качестве множества переменных V', если условие выполняется, и использовать множество переменных V в качестве множества переменных V', если условие не выполняется.
1
2
3
1
2
3
m
m
3
3. Система по п.2, в которой множество переменных V и множество переменных V имеют пересечение V переменных, которые подвергаются обоим из действия над множеством переменных V и действия над множеством переменных V, такое что , причем упомянутое действие изменяет каждую переменную  множества V согласно функции f, если условие выполняется, и согласно функции g, если условие не выполняется, причем средство представления действия сконфигурировано определять представление  каждой переменной  множества V, такое что на основе того, выполняется ли условие, либо
и , либо
и ,
m
причем h является отображением из  в W.
4. Система по п.1, в которой средство (903) представления действия сконфигурировано вызывать поиск представлений , соответствующих вводу в отношении условия и представлений , с использованием по меньшей мере одной таблицы соответствия, которая отображает кортеж ввода в отношении условия и представлений  в соответствующие представления .
5. Система по п.1, в которой  и в которой средство (903) представления действия сконфигурировано идентифицировать одну или несколько входных переменных, которые определяют условие b, при этом средство (103) представления действия содержит первый блок (305) перестановки для выполнения скрытой операции перестановки на основе по меньшей мере одного представления r, где , переменной  во множестве V и одной или нескольких входных переменных, так что для  и q при
при этом  является взаимно-однозначным криптографическим отображением из  в предварительно определенное множество, причем  отличается от , при этом  является представлением,
и/или второй блок (306) перестановки для выполнения скрытой операции перестановки на основе представления  и одной или нескольких переменных, так что для  и q при
при этом  является взаимно-однозначным криптографическим отображением из  в предварительно определенное множество, причем  отличается от , и  является обновленным представлением .
6. Система по п.5, в которой средство (103) представления действия содержит блок (307) оценки функции для вычисления функции, чтобы получить представление  на основе представления , такое что для  и q при
причем f является отображением, определенным над W, и g является отображением, определенным над W.
7. Система по п.5 или 6, в которой  и .
8. Система по п.3, в которой  для всех значений w и  и по меньшей мере одного значения m в .
9. Система по п.1, в которой упомянутое действие над V' сконфигурировано для изменения представления  каждой переменной  во множестве переменных V', так что  и , и
причем упомянутое действие над V\V' сконфигурировано для изменения представления  каждой переменной  в V\V', так что  и ;
при этом , для , является функцией, определенной над W, и , для каждой переменной  в V\V', является функцией, отображающей элементы  в W.
10. Система по п.2 или 3, дополнительно содержащая блок (601) преобразования для представления вложенной условной операции, задействующей первый набор вложенных условий, посредством функционально эквивалентной последовательности невложенных условных операций, задействующих второй набор условий.
11. Система по п.10, в которой блок (601) преобразования сконфигурирован:
комбинировать (701) соответственные выражения соответственных условных ветвей вложенной условной операции в термины вспомогательного выражения, каковые соответственные выражения ассоциированы с альтернативными значениями, которые должны быть присвоены конкретной переменной;
повторять (702) этап комбинирования соответственных выражений соответственных условных ветвей в термины вспомогательного выражения, с тем чтобы сгенерировался набор вспомогательных выражений, в котором термины скомбинированы различными способами,
генерировать код (703), чтобы оценить вспомогательные выражения и сохранить их результаты; и
генерировать код (704), чтобы комбинировать результаты вспомогательных выражений в зависимости от комбинированного условия, причем комбинированное условие является комбинацией набора условий, так что термины, соответствующие ветвям, которые неактуальны ввиду условия, взаимно уничтожаются.
12. Система по п.10, в которой средство (903) представления действия сконфигурировано идентифицировать по меньшей мере одну условную операцию из последовательности невложенных условных операций и соответствующее условие из второго набора условий, причем средство (903) представления действия сконфигурировано использовать идентифицированную условную операцию в качестве действия и идентифицированное соответствующее условие в качестве условия условного оператора.
13. Способ скрытия изменения во множестве переменных  программы, содержащий этапы, на которых:
представляют (1001) значение  переменной  из переменных , причем w является элементом множества W, посредством представления , причем , и  является элементом множества представлений , при этом  является переменной состояния, которая является элементом множества  и которая обеспечивает избыточность представлению  для , и  является взаимно-однозначным криптографическим отображением из  в предварительно определенное множество; и
представляют (1002) действие над значениями подмножества V' множества переменных V посредством действия над V' и действия над V\V', чтобы получить обновленные представления , для , причем  является взаимно-однозначным криптографическим отображением из  в предварительно определенное множество, при этом
упомянутое действие над V' сконфигурировано для изменения представления  каждой переменной  во множестве переменных V' согласно измененному значению  переменной , и
упомянутое действие над V\V' сконфигурировано для изменения представления  каждой переменной  в V\V' согласно измененному значению  для .
14. Компьютерный программный продукт, содержащий инструкции для предписания процессору выполнять способ по п.10 или 13.