Доверительные вычисления с использованием складывающей машины. II - Анисимов, А.В.; Новокшонов, А.К. (Кибернетика и системный анализ, 2018)
Предложено решение проблемы проверки целостности арифметических программ c ветвлениями и циклами, выполняемых на удаленном вычислительном ресурсе. Подход к решению состоит в замене арифметических операций, таких как умножение и деление, соответствующими процедурами складывающей машины (addition machine), введенной Р. Флойдом и Д. Кнутом. Вычисления и порядок следования команд подписываются динамической цифровой подписью, гомоморфной по сложению/вычитанию. Для цифровой подписи использована модифицированная схема Бенало. Верификация цифровых подписей результатов выполнения программы гарантирует обнаружение любых несанкционированных изменений в исходном тексте программы. Запропоновано розв’язання проблеми перевірки цілісності арифметичних програм з розгалуженнями і циклами, які виконуються на віддаленому обчислювальному ресурсі. Підхід до розв’язання полягає у заміні арифметичних операцій, таких як множення і ділення, відповідними процедурами додавальної машини (addition machine), введеної Р. Флойдом і Д. Кнутом. Обчислення і послідовність команд підписуються динамічним цифровим підписом, що є гомоморфним за додаванням/відніманням. Для цифрового підпису застосовано модифіковану схему Бенало. Верифікація цифрових підписів результатів виконання програми гарантує виявлення будь-яких несанкціонованих змін у вихідному тексті програми. A solution of the integrity verification problem for arithmetic programs with branching and looping statements running on a remote computing resource is proposed. The solution is to replace the arithmetic operations such as multiplication and division by corresponding procedures of the addition machine introduced by R. Floyd and D. Knuth. The order of instructions as well as current meanings of variables are signed by dynamic digital signatures, which are homomorphic with respect to addition and subtraction. A modification of the Benaloh scheme is used for digital signatures implementation. Verification of digital signatures of computation results ensures detection of any unauthoried changes to the source code of the program.